Skip to content

Commit

Permalink
Don't allow disabling PGXP color perspective when using OpenGL
Browse files Browse the repository at this point in the history
  • Loading branch information
DarthMew committed Mar 10, 2023
1 parent c48ce29 commit e24f211
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/core/gpu_hw_opengl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ void GPU_HW_OpenGL::SetCapabilities()
m_supports_adaptive_downsampling = false;

// noperspective is not supported in GLSL ES.
m_supports_disable_color_perspective = !IsGLES();
m_supports_disable_color_perspective = false;
}

bool GPU_HW_OpenGL::CreateFramebuffer()
Expand Down
18 changes: 12 additions & 6 deletions src/libretro/libretro_host_interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,7 @@ bool LibretroHostInterface::UpdateCoreOptionsDisplay(bool controller)
static CPUFastmemMode cpu_fastmem_mode_prev;
static bool hardware_renderer_prev;
static bool pgxp_enable_prev;
static bool support_perspective_prev;
static MultitapMode multitap_mode_prev;
static bool vram_rewrite_replacements_prev;
static bool cdrom_preload_enable_prev;
Expand All @@ -858,6 +859,7 @@ bool LibretroHostInterface::UpdateCoreOptionsDisplay(bool controller)
.value_or(Settings::DEFAULT_GPU_RENDERER);
const bool hardware_renderer = (gpu_renderer != GPURenderer::Software);
const bool pgxp_enable = (hardware_renderer && si.GetBoolValue("GPU", "PGXPEnable", false));
const bool support_perspective = (pgxp_enable && gpu_renderer != GPURenderer::HardwareOpenGL);

const MultitapMode multitap_mode =
Settings::ParseMultitapModeName(si.GetStringValue("ControllerPorts", "MultitapMode", Settings::GetMultitapModeName(Settings::DEFAULT_MULTITAP_MODE)).c_str())
Expand All @@ -876,10 +878,11 @@ bool LibretroHostInterface::UpdateCoreOptionsDisplay(bool controller)

if (!controller)
{
if (cpu_execution_mode == cpu_execution_mode_prev && cpu_fastmem_mode == cpu_fastmem_mode_prev && pgxp_enable == pgxp_enable_prev &&
multitap_mode == multitap_mode_prev && vram_rewrite_replacements == vram_rewrite_replacements_prev &&
cdrom_preload_enable == cdrom_preload_enable_prev && aspect_ratio == aspect_ratio_prev &&
hardware_renderer == hardware_renderer_prev && pgxp_depth_buffer_enable == pgxp_depth_buffer_enable_prev)
if (cpu_execution_mode == cpu_execution_mode_prev && cpu_fastmem_mode == cpu_fastmem_mode_prev && hardware_renderer == hardware_renderer_prev &&
pgxp_enable == pgxp_enable_prev && support_perspective == support_perspective_prev && multitap_mode == multitap_mode_prev &&
vram_rewrite_replacements == vram_rewrite_replacements_prev && cdrom_preload_enable == cdrom_preload_enable_prev &&
aspect_ratio == aspect_ratio_prev && pgxp_depth_buffer_enable == pgxp_depth_buffer_enable_prev
)
{
return false;
}
Expand All @@ -889,6 +892,7 @@ bool LibretroHostInterface::UpdateCoreOptionsDisplay(bool controller)
cpu_fastmem_mode_prev = cpu_fastmem_mode;
hardware_renderer_prev = hardware_renderer;
pgxp_enable_prev = pgxp_enable;
support_perspective_prev = support_perspective;
multitap_mode_prev = multitap_mode;
vram_rewrite_replacements_prev = vram_rewrite_replacements;
cdrom_preload_enable_prev = cdrom_preload_enable;
Expand Down Expand Up @@ -940,8 +944,6 @@ bool LibretroHostInterface::UpdateCoreOptionsDisplay(bool controller)
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);
option_display.key = "swanstation_GPU_PGXPTextureCorrection";
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);
option_display.key = "swanstation_GPU_PGXPColorCorrection";
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);
option_display.key = "swanstation_GPU_PGXPDepthBuffer";
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);
option_display.key = "swanstation_GPU_PGXPVertexCache";
Expand All @@ -953,6 +955,10 @@ bool LibretroHostInterface::UpdateCoreOptionsDisplay(bool controller)
option_display.key = "swanstation_GPU_PGXPTolerance";
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);

option_display.visible = support_perspective;
option_display.key = "swanstation_GPU_PGXPColorCorrection";
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);

option_display.visible = vram_rewrite_replacements;
option_display.key = "swanstation_TextureReplacements_PreloadTextures";
g_retro_environment_callback(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display);
Expand Down

0 comments on commit e24f211

Please sign in to comment.