mesa/src/amd/vulkan
Danylo Piliaiev 9584fbf7d3 radv: fix unused non-xfb shader outputs not being removed
It was not taken into account that without Offset decoration
the output is not written into XFB.

Aside from eliminating more outputs this change prevents gl_PerVertex
builtins generated by glslang from being kept alive in case when XFB
is enabled. Keeping such outputs alive may upset a driver.

VUID-StandaloneSpirv-Offset-04716:
    "Only variables or block members in the output interface decorated
    with Offset can be captured for transform feedback, and those
    variables or block members must also be decorated with XfbBuffer
    and XfbStride, or inherit XfbBuffer and XfbStride decorations from
    a block containing them"

Additional info about glslang behavior could be found at:
 https://github.com/KhronosGroup/glslang/issues/1526

Fixes: e95531e101
("radv: fix gathering XFB info if there is dead outputs")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24318>
(cherry picked from commit 81407797b9)
2023-08-31 23:30:45 -07:00
..
bvh radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
layers radv: Add option to allocate shaders in replayable VA range 2023-07-05 15:58:24 +00:00
meta radv/meta: disable disk cache for meta shaders 2023-07-11 07:36:53 +00:00
nir radv: Use nir_builder_at 2023-07-03 15:21:37 +00:00
radix_sort amd: fix typos 2023-04-13 23:08:22 +00:00
winsys radv/amdgpu: add support for executing DGC cmdbuf with RADV_DEBUG=noibs 2023-06-28 06:34:20 +00:00
.clang-format radv,aco: tweaks to get clang-format to print nicer code 2023-06-16 19:59:52 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: add a NIR pass that lower fragment shader barycentric intrinsics 2023-06-07 14:40:35 +00:00
radv_acceleration_structure.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_aco_shader_info.h amd: Move ac_hw_stage to its own file 2023-07-03 21:12:45 +00:00
radv_android.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_buffer.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_check_va.py radv: add a Python script to check if a VA was ever valid 2020-12-30 08:40:21 +01:00
radv_cmd_buffer.c radv: emit PA_SC_SCREEN_SCISSOR_BR with the actual fb extent 2023-06-30 06:38:53 +00:00
radv_constants.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_cp_reg_shadowing.c radv: fix formatting 2023-06-19 11:19:42 +01:00
radv_cs.h amd: improve the IB parser, parse more packets 2023-06-17 23:42:20 +00:00
radv_debug.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_debug.h Revert "Revert "radv: Enable ray tracing pipelines by default"" 2023-07-08 10:10:15 +00:00
radv_descriptor_set.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_descriptor_set.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_device.c radv: Add option to allocate shaders in replayable VA range 2023-07-05 15:58:24 +00:00
radv_device_generated_commands.c radv: adjust alignment of the preprocess buffer with DGC 2023-06-23 17:17:08 +00:00
radv_device_memory.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_event.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_formats.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_image.c radv: pre-init surface info 2023-06-22 13:36:13 +00:00
radv_instance.c radv: workaround WWZ exporting index=1 through location=1 2023-08-31 16:08:03 -07:00
radv_llvm_helper.cpp radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_llvm_helper.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_nir_to_llvm.c radv: Rename radv_nir_compiler_options::robust_buffer_access to robust_buffer_access_llvm 2023-07-04 21:04:21 +01:00
radv_perfcounter.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_physical_device.c radv: add conformant_trunc_coord to cache UUID 2023-07-28 10:46:33 -07:00
radv_pipeline.c radv: correctly skip MRT output NaN fixup for meta shaders 2023-08-31 16:08:05 -07:00
radv_pipeline_cache.c amd: move end-of-code marker padding to ACO. 2023-07-11 12:01:45 +00:00
radv_pipeline_compute.c radv: Break up radv_shader_nir_to_asm 2023-07-05 15:58:25 +00:00
radv_pipeline_graphics.c radv: Break up radv_shader_nir_to_asm 2023-07-05 15:58:25 +00:00
radv_pipeline_rt.c radv/rt: Rework radv_GetRayTracingCaptureReplayShaderGroupHandlesKHR 2023-07-05 15:58:25 +00:00
radv_private.h radv: workaround WWZ exporting index=1 through location=1 2023-08-31 16:08:03 -07:00
radv_query.c radv: do not rely on constant-folding 2023-07-10 16:06:40 +02:00
radv_queue.c radv: use cs_execute_ib() for GFX, MBCP and DGC IBs 2023-06-19 07:53:35 +00:00
radv_radeon_winsys.h radv: fix formatting 2023-06-19 11:19:42 +01:00
radv_rmv.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_rra.c radv/rra: Use common trace trigger 2023-06-27 06:25:56 +00:00
radv_rt_common.c radv/rt: Miss rays that hit the triangle's v edge 2023-07-10 18:31:30 +00:00
radv_rt_common.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_rt_shader.c radv: Use nir_builder_at 2023-07-03 15:21:37 +00:00
radv_sampler.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_sdma_copy_image.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_shader.c radv: fix unused non-xfb shader outputs not being removed 2023-08-31 23:30:45 -07:00
radv_shader.h radv: migrate radv_shader hash to BLAKE3 2023-07-11 09:02:43 +00:00
radv_shader_args.c radv: Declare POPS collision wave ID shader argument 2023-06-26 15:58:04 +00:00
radv_shader_args.h radv: Move the shader type to radv_shader_info 2023-06-21 09:13:04 +00:00
radv_shader_info.c radv: fix radv_get_ballot_bit_size with CS 2023-07-28 10:46:33 -07:00
radv_spm.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_sqtt.c radv/rgp: Use common trace trigger 2023-06-27 06:25:56 +00:00
radv_video.c radv/video: use app provided hevc scaling list order 2023-08-31 16:07:58 -07:00
radv_wsi.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
si_cmd_buffer.c radv: emit PA_SC_SCREEN_SCISSOR_BR with the actual fb extent 2023-06-30 06:38:53 +00:00
vk_format.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00