Added a "Nearest Filtering" option for testing.

This commit is contained in:
Admiral H. Curtiss 2013-06-21 06:52:10 +02:00
parent 56aeab6558
commit 505f8559c1
8 changed files with 16 additions and 0 deletions

View File

@ -96,6 +96,7 @@ void Config::Load(const char *iniFileName)
#endif
graphics->Get("BufferedRendering", &bBufferedRendering, true);
graphics->Get("HardwareTransform", &bHardwareTransform, true);
graphics->Get("NearestFiltering", &bNearestFiltering, false);
graphics->Get("LinearFiltering", &bLinearFiltering, false);
graphics->Get("SSAA", &SSAntiAliasing, 0);
graphics->Get("VBO", &bUseVBO, false);
@ -201,6 +202,7 @@ void Config::Save()
graphics->Set("ResolutionScale", iWindowZoom);
graphics->Set("BufferedRendering", bBufferedRendering);
graphics->Set("HardwareTransform", bHardwareTransform);
graphics->Set("NearestFiltering", bNearestFiltering);
graphics->Set("LinearFiltering", bLinearFiltering);
graphics->Set("SSAA", SSAntiAliasing);
graphics->Set("VBO", bUseVBO);

View File

@ -61,6 +61,7 @@ public:
bool bDisplayFramebuffer;
bool bHardwareTransform;
bool bBufferedRendering;
bool bNearestFiltering;
bool bLinearFiltering;
bool bUseVBO;
#ifdef BLACKBERRY10

View File

@ -511,6 +511,11 @@ void TextureCache::UpdateSamplingParams(TexCacheEntry &entry, bool force) {
minFilt |= 1;
}
if (g_Config.bNearestFiltering) {
magFilt &= 0xFFFFFFFE;
minFilt &= 0xFFFFFFFE;
}
if (!g_Config.bMipMap) {
magFilt &= 1;
minFilt &= 1;

View File

@ -56,6 +56,7 @@ void GameSettingsScreen::CreateViews() {
ViewGroup *graphicsSettings = new LinearLayout(ORIENT_VERTICAL);
graphicsSettingsScroll->Add(graphicsSettings);
tabHolder->AddTab("Graphics", graphicsSettingsScroll);
graphicsSettings->Add(new CheckBox(&g_Config.bNearestFiltering, gs->T("Nearest Filtering")));
graphicsSettings->Add(new CheckBox(&g_Config.bLinearFiltering, gs->T("Linear Filtering")));
graphicsSettings->Add(new CheckBox(&g_Config.bStretchToDisplay, gs->T("Stretch to Display")));
graphicsSettings->Add(new CheckBox(&g_Config.bBufferedRendering, gs->T("Buffered Rendering")));

View File

@ -831,6 +831,7 @@ void GraphicsScreenP2::render() {
int stride = 40;
int columnw = 400;
UICheckBox(GEN_ID, x, y += stride, gs->T("Nearest Filtering"), ALIGN_TOPLEFT, &g_Config.bNearestFiltering);
UICheckBox(GEN_ID, x, y += stride, gs->T("Linear Filtering"), ALIGN_TOPLEFT, &g_Config.bLinearFiltering);
bool AnisotropicFiltering = g_Config.iAnisotropyLevel != 0;

View File

@ -737,7 +737,12 @@ namespace MainWindow
case ID_OPTIONS_USEVBO:
g_Config.bUseVBO = !g_Config.bUseVBO;
break;
case ID_OPTIONS_NEARESTFILTERING:
g_Config.bNearestFiltering = !g_Config.bNearestFiltering;
g_Config.bLinearFiltering = false;
break;
case ID_OPTIONS_LINEARFILTERING:
g_Config.bNearestFiltering = false;
g_Config.bLinearFiltering = !g_Config.bLinearFiltering;
break;
case ID_OPTIONS_TOPMOST:
@ -892,6 +897,7 @@ namespace MainWindow
CHECKITEM(ID_OPTIONS_SHOWDEBUGSTATISTICS, g_Config.bShowDebugStats);
CHECKITEM(ID_OPTIONS_HARDWARETRANSFORM, g_Config.bHardwareTransform);
CHECKITEM(ID_OPTIONS_FASTMEMORY, g_Config.bFastMemory);
CHECKITEM(ID_OPTIONS_NEARESTFILTERING, g_Config.bNearestFiltering);
CHECKITEM(ID_OPTIONS_LINEARFILTERING, g_Config.bLinearFiltering);
CHECKITEM(ID_OPTIONS_SIMPLE2XSSAA, g_Config.SSAntiAliasing);
CHECKITEM(ID_OPTIONS_STRETCHDISPLAY, g_Config.bStretchToDisplay);

Binary file not shown.

Binary file not shown.