mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00:00
rsx/ui: Make a few settings configurable via the GUI
This commit is contained in:
parent
b2e906f4cc
commit
798f90dac2
8 changed files with 26 additions and 3 deletions
|
@ -944,7 +944,9 @@ void GLGSRender::flip(int buffer)
|
|||
}
|
||||
|
||||
m_rtts.invalidated_resources.clear();
|
||||
m_rtts.invalidate_surface_cache_data(nullptr);
|
||||
|
||||
if (g_cfg.video.invalidate_surface_cache_every_frame)
|
||||
m_rtts.invalidate_surface_cache_data(nullptr);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1137,6 +1137,7 @@ namespace gl
|
|||
uint_10_10_10_2 = GL_UNSIGNED_INT_10_10_10_2,
|
||||
uint_2_10_10_10_rev = GL_UNSIGNED_INT_2_10_10_10_REV,
|
||||
uint_24_8 = GL_UNSIGNED_INT_24_8,
|
||||
float32z_s8int = GL_DEPTH32F_STENCIL8,
|
||||
|
||||
sbyte = GL_BYTE,
|
||||
sshort = GL_SHORT,
|
||||
|
@ -1189,6 +1190,7 @@ namespace gl
|
|||
depth16 = GL_DEPTH_COMPONENT16,
|
||||
depth_stencil = GL_DEPTH_STENCIL,
|
||||
depth24_stencil8 = GL_DEPTH24_STENCIL8,
|
||||
depth32f_stencil8 = GL_DEPTH32F_STENCIL8,
|
||||
|
||||
compressed_rgb_s3tc_dxt1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
|
||||
compressed_rgba_s3tc_dxt1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
||||
|
|
|
@ -57,7 +57,10 @@ depth_format rsx::internals::surface_depth_format_to_gl(rsx::surface_depth_forma
|
|||
default:
|
||||
LOG_ERROR(RSX, "Surface depth buffer: Unsupported surface depth format (0x%x)", (u32)depth_format);
|
||||
case rsx::surface_depth_format::z24s8:
|
||||
return{ ::gl::texture::type::uint_24_8, ::gl::texture::format::depth_stencil, ::gl::texture::internal_format::depth24_stencil8 };
|
||||
if (g_cfg.video.force_high_precision_z_buffer)
|
||||
return{ ::gl::texture::type::float32z_s8int, ::gl::texture::format::depth_stencil, ::gl::texture::internal_format::depth32f_stencil8 };
|
||||
else
|
||||
return{ ::gl::texture::type::uint_24_8, ::gl::texture::format::depth_stencil, ::gl::texture::internal_format::depth24_stencil8 };
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,10 @@ gpu_formats_support get_optimal_tiling_supported_formats(VkPhysicalDevice physic
|
|||
&& !!(props.optimalTilingFeatures & VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT)
|
||||
&& !!(props.optimalTilingFeatures & VK_FORMAT_FEATURE_BLIT_SRC_BIT);
|
||||
|
||||
//Hide d24_s8 if force high precision z buffer is enabled
|
||||
if (g_cfg.video.force_high_precision_z_buffer && result.d32_sfloat_s8)
|
||||
result.d24_unorm_s8 = false;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -1273,9 +1273,11 @@ void VKGSRender::process_swap_request()
|
|||
//m_texture_cache.merge_dirty_textures(m_rtts.invalidated_resources);
|
||||
|
||||
m_rtts.invalidated_resources.clear();
|
||||
m_rtts.invalidate_surface_cache_data(&*m_current_command_buffer);
|
||||
m_texture_cache.flush();
|
||||
|
||||
if (g_cfg.video.invalidate_surface_cache_every_frame)
|
||||
m_rtts.invalidate_surface_cache_data(&*m_current_command_buffer);
|
||||
|
||||
m_buffer_view_to_clean.clear();
|
||||
m_sampler_to_clean.clear();
|
||||
m_framebuffer_to_clean.clear();
|
||||
|
|
|
@ -309,6 +309,8 @@ struct cfg_root : cfg::node
|
|||
cfg::_bool overlay{this, "Debug overlay"};
|
||||
cfg::_bool gl_legacy_buffers{this, "Use Legacy OpenGL Buffers (Debug)"};
|
||||
cfg::_bool use_gpu_texture_scaling{this, "Use GPU texture scaling", true};
|
||||
cfg::_bool force_high_precision_z_buffer{this, "Force High Precision Z buffer"};
|
||||
cfg::_bool invalidate_surface_cache_every_frame{this, "Invalidate Cache Every Frame", true};
|
||||
|
||||
struct node_d3d12 : cfg::node
|
||||
{
|
||||
|
|
|
@ -63,6 +63,8 @@ public:
|
|||
GPUTextureScaling,
|
||||
D3D12Adapter,
|
||||
VulkanAdapter,
|
||||
ForceHighpZ,
|
||||
AutoInvalidateCache,
|
||||
|
||||
// Audio
|
||||
AudioRenderer,
|
||||
|
@ -150,6 +152,8 @@ private:
|
|||
{ DebugOverlay, { "Video", "Debug overlay"}},
|
||||
{ LegacyBuffers, { "Video", "Use Legacy OpenGL Buffers (Debug)"}},
|
||||
{ GPUTextureScaling,{ "Video", "Use GPU texture scaling"}},
|
||||
{ ForceHighpZ, { "Video", "Force High Precision Z buffer"}},
|
||||
{ AutoInvalidateCache, {"Video", "Invalidate Cache Every Frame"}},
|
||||
{ D3D12Adapter, { "Video", "D3D12", "Adapter"}},
|
||||
{ VulkanAdapter, { "Video", "Vulkan", "Adapter"}},
|
||||
|
||||
|
|
|
@ -235,6 +235,8 @@ graphics_tab::graphics_tab(std::shared_ptr<emu_settings> xSettings, Render_Creat
|
|||
QCheckBox *logProg = xemu_settings->CreateEnhancedCheckBox(emu_settings::LogShaderPrograms, this);
|
||||
QCheckBox *vsync = xemu_settings->CreateEnhancedCheckBox(emu_settings::VSync, this);
|
||||
QCheckBox *gpuTextureScaling = xemu_settings->CreateEnhancedCheckBox(emu_settings::GPUTextureScaling, this);
|
||||
QCheckBox *forceHighpZ = xemu_settings->CreateEnhancedCheckBox(emu_settings::ForceHighpZ, this);
|
||||
QCheckBox *autoInvalidateCache = xemu_settings->CreateEnhancedCheckBox(emu_settings::AutoInvalidateCache, this);
|
||||
|
||||
// Combobox Part
|
||||
QHBoxLayout *hbox1 = new QHBoxLayout();
|
||||
|
@ -262,12 +264,14 @@ graphics_tab::graphics_tab(std::shared_ptr<emu_settings> xSettings, Render_Creat
|
|||
vbox21->addWidget(dumpDepth);
|
||||
vbox21->addWidget(readDepth);
|
||||
vbox21->addWidget(glLegacyBuffers);
|
||||
vbox21->addWidget(autoInvalidateCache);
|
||||
QVBoxLayout *vbox22 = new QVBoxLayout();
|
||||
vbox22->addWidget(debugOutput);
|
||||
vbox22->addWidget(debugOverlay);
|
||||
vbox22->addWidget(logProg);
|
||||
vbox22->addWidget(vsync);
|
||||
vbox22->addWidget(gpuTextureScaling);
|
||||
vbox22->addWidget(forceHighpZ);
|
||||
hbox2->addLayout(vbox21);
|
||||
hbox2->addLayout(vbox22);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue