diff --git a/libretro/libretro.cpp b/libretro/libretro.cpp index 4788a15964..0a19b55135 100644 --- a/libretro/libretro.cpp +++ b/libretro/libretro.cpp @@ -842,6 +842,15 @@ static void check_variables(CoreParameter &coreParam) g_Config.iTexFiltering = 4; } + var.key = "ppsspp_smart_2d_texture_filtering"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + if (!strcmp(var.value, "disabled")) + g_Config.bSmart2DTexFiltering = false; + else + g_Config.bSmart2DTexFiltering = true; + } + var.key = "ppsspp_texture_replacement"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { diff --git a/libretro/libretro_core_options.h b/libretro/libretro_core_options.h index e572242b5a..a39e03e4b6 100644 --- a/libretro/libretro_core_options.h +++ b/libretro/libretro_core_options.h @@ -584,6 +584,16 @@ struct retro_core_option_v2_definition option_defs_us[] = { }, "Auto" }, + { + "ppsspp_smart_2d_texture_filtering", + "Smart 2D Texture Filtering", + NULL, + "Gets rid of some visual artifacts caused by unnecessary texture filtering in some 2D games, by switching to nearest filtering.", + NULL, + "video", + BOOL_OPTIONS, + "disabled" + }, { "ppsspp_texture_replacement", "Texture Replacement",