summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-30 03:40:19 -0300
committerGravatar ameerj2021-07-22 21:51:34 -0400
commit916ca7432474e891864524dcbc6c879d5cdbfb72 (patch)
tree07ff6cc3f9737b20b4e65786f94cabe1dd3b254f /src/video_core
parentbuffer_cache: Mark uniform buffers as dirty if any enable bit changes (diff)
downloadyuzu-916ca7432474e891864524dcbc6c879d5cdbfb72.tar.gz
yuzu-916ca7432474e891864524dcbc6c879d5cdbfb72.tar.xz
yuzu-916ca7432474e891864524dcbc6c879d5cdbfb72.zip
opengl: Declare fragment outputs even if they are not used
Fixes Ori and the Blind Forest's menu on GLASM. For some reason (probably high level optimizations) it is not sanitized on SPIR-V for OpenGL. Vulkan is unaffected by this change.
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp2
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp7
2 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp
index 7d2ec4efa..6ea7c0ee8 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -276,7 +276,9 @@ ShaderCache::ShaderCache(RasterizerOpenGL& rasterizer_, Core::Frontend::EmuWindo
276 .support_int64_atomics = false, 276 .support_int64_atomics = false,
277 277
278 .warp_size_potentially_larger_than_guest = true, 278 .warp_size_potentially_larger_than_guest = true,
279
279 .lower_left_origin_mode = true, 280 .lower_left_origin_mode = true,
281 .need_declared_frag_colors = true,
280 282
281 .has_broken_spirv_clamp = true, 283 .has_broken_spirv_clamp = true,
282 .has_broken_unsigned_image_offsets = true, 284 .has_broken_unsigned_image_offsets = true,
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index b6998e37c..cec51cc77 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -274,9 +274,16 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw
274 .support_typeless_image_loads = device.IsFormatlessImageLoadSupported(), 274 .support_typeless_image_loads = device.IsFormatlessImageLoadSupported(),
275 .support_demote_to_helper_invocation = true, 275 .support_demote_to_helper_invocation = true,
276 .support_int64_atomics = device.IsExtShaderAtomicInt64Supported(), 276 .support_int64_atomics = device.IsExtShaderAtomicInt64Supported(),
277
277 .warp_size_potentially_larger_than_guest = device.IsWarpSizePotentiallyBiggerThanGuest(), 278 .warp_size_potentially_larger_than_guest = device.IsWarpSizePotentiallyBiggerThanGuest(),
279
280 .lower_left_origin_mode = false,
281 .need_declared_frag_colors = false,
282
278 .has_broken_spirv_clamp = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR, 283 .has_broken_spirv_clamp = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR,
279 .has_broken_unsigned_image_offsets = false, 284 .has_broken_unsigned_image_offsets = false,
285 .has_broken_signed_operations = false,
286 .ignore_nan_fp_comparisons = false,
280 }; 287 };
281} 288}
282 289