mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
rsx: Force position invariance on GPUs where it matters
This commit is contained in:
parent
1a9e38a1dd
commit
2c41eecdb1
|
|
@ -129,7 +129,7 @@ void GLVertexDecompilerThread::insertMainStart(std::stringstream & OS)
|
|||
properties2.emulate_zclip_transform = true;
|
||||
properties2.emulate_depth_clip_only = dev_caps.NV_depth_buffer_float_supported;
|
||||
properties2.low_precision_tests = dev_caps.vendor_NVIDIA;
|
||||
properties2.require_explicit_invariance = dev_caps.vendor_MESA;
|
||||
properties2.require_explicit_invariance = dev_caps.vendor_MESA || (dev_caps.vendor_NVIDIA && g_cfg.video.shader_precision != gpu_preset_level::low);
|
||||
|
||||
insert_glsl_legacy_function(OS, properties2);
|
||||
glsl::insert_vertex_input_fetch(OS, glsl::glsl_rules_opengl4, dev_caps.vendor_INTEL == false);
|
||||
|
|
|
|||
|
|
@ -208,6 +208,7 @@ void VKVertexDecompilerThread::insertMainStart(std::stringstream & OS)
|
|||
properties2.emulate_zclip_transform = true;
|
||||
properties2.emulate_depth_clip_only = vk::g_render_device->get_shader_types_support().allow_float64;
|
||||
properties2.low_precision_tests = vk::get_driver_vendor() == vk::driver_vendor::NVIDIA;
|
||||
properties2.require_explicit_invariance = (vk::get_driver_vendor() == vk::driver_vendor::NVIDIA && g_cfg.video.shader_precision != gpu_preset_level::low);
|
||||
|
||||
glsl::insert_glsl_legacy_function(OS, properties2);
|
||||
glsl::insert_vertex_input_fetch(OS, glsl::glsl_rules_spirv);
|
||||
|
|
|
|||
Loading…
Reference in a new issue