mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-24 11:49:05 +02:00
Refactored Texture Scaling, changed options & gui to separately select scaling level and method
This commit is contained in:
1 parent
90f8d48da1
commit
3e5023ea97
7 files changed
+184
-51
No files matched your search
+40
-16
@@ -34,6 +34,7 @@
|
||||
#include "GPU/GPUInterface.h"
|
||||
#include "GPU/GPUState.h"
|
||||
#include "native/image/png_load.h"
|
||||
#include "GPU/GLES/TextureScaler.h"
|
||||
|
||||
#ifdef THEMES
|
||||
#include "XPTheme.h"
|
||||
@@ -175,8 +176,12 @@ namespace MainWindow
|
||||
ResizeDisplay();
|
||||
}
|
||||
|
||||
void setXbrzTexScaling(int num) {
|
||||
g_Config.iXBRZTexScalingLevel = num;
|
||||
void setTexScalingLevel(int num) {
|
||||
g_Config.iTexScalingLevel = num;
|
||||
if(gpu) gpu->ClearCacheNextFrame();
|
||||
}
|
||||
void setTexScalingType(int num) {
|
||||
g_Config.iTexScalingType = num;
|
||||
if(gpu) gpu->ClearCacheNextFrame();
|
||||
}
|
||||
|
||||
@@ -501,19 +506,29 @@ namespace MainWindow
|
||||
break;
|
||||
|
||||
case ID_TEXTURESCALING_OFF:
|
||||
setXbrzTexScaling(1);
|
||||
setTexScalingLevel(1);
|
||||
break;
|
||||
case ID_TEXTURESCALING_2XBRZ:
|
||||
setXbrzTexScaling(2);
|
||||
case ID_TEXTURESCALING_2X:
|
||||
setTexScalingLevel(2);
|
||||
break;
|
||||
case ID_TEXTURESCALING_3XBRZ:
|
||||
setXbrzTexScaling(3);
|
||||
case ID_TEXTURESCALING_3X:
|
||||
setTexScalingLevel(3);
|
||||
break;
|
||||
case ID_TEXTURESCALING_4XBRZ:
|
||||
setXbrzTexScaling(4);
|
||||
case ID_TEXTURESCALING_4X:
|
||||
setTexScalingLevel(4);
|
||||
break;
|
||||
case ID_TEXTURESCALING_5XBRZ:
|
||||
setXbrzTexScaling(5);
|
||||
case ID_TEXTURESCALING_5X:
|
||||
setTexScalingLevel(5);
|
||||
break;
|
||||
|
||||
case ID_TEXTURESCALING_BILINEAR:
|
||||
setTexScalingType(TextureScaler::BILINEAR);
|
||||
break;
|
||||
case ID_TEXTURESCALING_XBRZ:
|
||||
setTexScalingType(TextureScaler::XBRZ);
|
||||
break;
|
||||
case ID_TEXTURESCALING_HYBRID:
|
||||
setTexScalingType(TextureScaler::HYBRID);
|
||||
break;
|
||||
|
||||
case ID_OPTIONS_BUFFEREDRENDERING:
|
||||
@@ -809,13 +824,22 @@ namespace MainWindow
|
||||
|
||||
static const int texscalingitems[] = {
|
||||
ID_TEXTURESCALING_OFF,
|
||||
ID_TEXTURESCALING_2XBRZ,
|
||||
ID_TEXTURESCALING_3XBRZ,
|
||||
ID_TEXTURESCALING_4XBRZ,
|
||||
ID_TEXTURESCALING_5XBRZ,
|
||||
ID_TEXTURESCALING_2X,
|
||||
ID_TEXTURESCALING_3X,
|
||||
ID_TEXTURESCALING_4X,
|
||||
ID_TEXTURESCALING_5X,
|
||||
};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
CheckMenuItem(menu, texscalingitems[i], MF_BYCOMMAND | ((i == g_Config.iXBRZTexScalingLevel-1) ? MF_CHECKED : MF_UNCHECKED));
|
||||
CheckMenuItem(menu, texscalingitems[i], MF_BYCOMMAND | ((i == g_Config.iTexScalingLevel-1) ? MF_CHECKED : MF_UNCHECKED));
|
||||
}
|
||||
|
||||
static const int texscalingtypeitems[] = {
|
||||
ID_TEXTURESCALING_BILINEAR,
|
||||
ID_TEXTURESCALING_XBRZ,
|
||||
ID_TEXTURESCALING_HYBRID,
|
||||
};
|
||||
for (int i = 0; i < 3; i++) {
|
||||
CheckMenuItem(menu, texscalingtypeitems[i], MF_BYCOMMAND | ((i == g_Config.iTexScalingType) ? MF_CHECKED : MF_UNCHECKED));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user