mesa/src/compiler/spirv
Friedrich Vock f1817ab7e0 radv,vtn,driconf: Add and use radv_rt_ssbo_non_uniform workaround for Crysis 2/3 Remastered
Crysis 2 and 3 Remastered's RT shaders non-uniformly index into SSBO
descriptor arrays without specifying the NonUniformEXT qualifier on the
relevant access chains/load ops. This leads to artifacts around objects.

To add insult to injury, the game fails to provide a meaningful
applicationName/engineName in the Vulkan part of the DX11-Vulkan interop
solution used for RT. Both of these fields are set to "nvpro-sample"
(perhaps the code has been copied from NVIDIA's sample applications).
Therefore, fall back to executable name matching.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9883
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26391>
2023-12-12 21:16:39 +00:00
..
tests nir: Rename scoped_barrier -> barrier 2023-08-01 23:18:29 +00:00
gl_spirv.c mesa/spirv: Provide more specific error message for glSpecializeShader() 2023-05-22 15:26:40 +00:00
GLSL.ext.AMD.h spirv: Update headers and grammer JSON 2023-08-18 16:57:22 +00:00
GLSL.std.450.h
meson.build spirv: add missing build dependency 2023-12-11 21:47:37 +00:00
nir_spirv.h radv,vtn,driconf: Add and use radv_rt_ssbo_non_uniform workaround for Crysis 2/3 Remastered 2023-12-12 21:16:39 +00:00
OpenCL.std.h spirv: Update the OpenCL.std.h header 2019-06-04 12:12:51 -07:00
spir-v.xml spirv: Update headers and metadata to SPIR-V 1.6, revision 1 2021-12-17 16:37:14 -08:00
spirv.core.grammar.json spirv: Update headers and grammer JSON 2023-08-18 16:57:22 +00:00
spirv.h spirv: Update headers and grammer JSON 2023-08-18 16:57:22 +00:00
spirv2nir.c spirv: Let spirv2nir find out the shader to use 2023-10-23 22:42:45 +00:00
spirv_info.h spirv: vtn_fail with a nice message on unsupported rounding modes 2020-09-25 01:43:28 +00:00
spirv_info_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
spirv_to_nir.c HACK: spirv: Add a MESA_SPIRV_DUMP_PATH environment variable 2023-11-14 00:48:09 +00:00
vtn_alu.c spirv: Implement SPV_KHR_cooperative_matrix 2023-09-28 07:35:02 +00:00
vtn_amd.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
vtn_cfg.c nir,vtn: Add exported bool to nir_function 2023-11-02 11:37:46 +00:00
vtn_cmat.c spirv: Track when a shader has a cooperative matrix 2023-09-28 07:35:02 +00:00
vtn_gather_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
vtn_generator_ids_h.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
vtn_glsl450.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
vtn_opencl.c nir/serialize: untangle printf serialization from a particular stage 2023-12-12 11:11:10 +00:00
vtn_private.h spirv: Expose stage enum conversion in vtn_private.h 2023-10-23 22:42:45 +00:00
vtn_structured_cfg.c nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
vtn_subgroup.c nir: add info.fs.require_full_quads 2023-11-22 11:31:52 +01:00
vtn_variables.c radv,vtn,driconf: Add and use radv_rt_ssbo_non_uniform workaround for Crysis 2/3 Remastered 2023-12-12 21:16:39 +00:00