summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-21 20:46:40 -0300
committerGravatar ameerj2021-07-22 21:51:33 -0400
commitc31521512fd49603ea42c93e2a6eac5d7985cd78 (patch)
treefdbf1009f76f543f11e3fd41df18f3a5b752637a /src/shader_recompiler/backend
parentgl_shader_cache: Improve GLASM error print logic (diff)
downloadyuzu-c31521512fd49603ea42c93e2a6eac5d7985cd78.tar.gz
yuzu-c31521512fd49603ea42c93e2a6eac5d7985cd78.tar.xz
yuzu-c31521512fd49603ea42c93e2a6eac5d7985cd78.zip
gl_shader_cache,glasm: Conditionally use typeless image reads extension
Diffstat (limited to 'src/shader_recompiler/backend')
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm.cpp b/src/shader_recompiler/backend/glasm/emit_glasm.cpp
index 0c2bbf284..8718cc7ec 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm.cpp
@@ -271,8 +271,7 @@ void SetupOptions(const IR::Program& program, const Profile& profile,
271 "OPTION NV_shader_storage_buffer;" 271 "OPTION NV_shader_storage_buffer;"
272 "OPTION NV_gpu_program_fp64;" 272 "OPTION NV_gpu_program_fp64;"
273 "OPTION NV_bindless_texture;" 273 "OPTION NV_bindless_texture;"
274 "OPTION ARB_derivative_control;" 274 "OPTION ARB_derivative_control;";
275 "OPTION EXT_shader_image_load_formatted;";
276 if (info.uses_int64_bit_atomics) { 275 if (info.uses_int64_bit_atomics) {
277 header += "OPTION NV_shader_atomic_int64;"; 276 header += "OPTION NV_shader_atomic_int64;";
278 } 277 }
@@ -297,6 +296,9 @@ void SetupOptions(const IR::Program& program, const Profile& profile,
297 header += "OPTION NV_viewport_array2;"; 296 header += "OPTION NV_viewport_array2;";
298 } 297 }
299 } 298 }
299 if (info.uses_typeless_image_reads && profile.support_typeless_image_loads) {
300 header += "OPTION EXT_shader_image_load_formatted;";
301 }
300 if (stage == Stage::Fragment && runtime_info.force_early_z != 0) { 302 if (stage == Stage::Fragment && runtime_info.force_early_z != 0) {
301 header += "OPTION NV_early_fragment_tests;"; 303 header += "OPTION NV_early_fragment_tests;";
302 } 304 }