mesa/src/amd/vulkan
Samuel Pitoiset 5af1409c1b radv: fix lowering GS intrinsics if NGG is disabled per pipeline
If NGG is disabled per pipeline for extreme (or suboptimal) geometry
or with transform feedback, make sure to not lower GS intrinsics that
are only needed for NGG GS. This means we have to lower GS intrinsics
later in the compilation process to effectively know if the pipeline
uses NGG.

fossils-db (Navi21):
Totals from 8 (0.01% of 134913) affected shaders:
VGPRs: 512 -> 520 (+1.56%)
CodeSize: 58180 -> 65080 (+11.86%); split: -0.04%, +11.90%
MaxWaves: 128 -> 126 (-1.56%)
Instrs: 10525 -> 11779 (+11.91%); split: -0.05%, +11.96%
Latency: 62941 -> 49428 (-21.47%); split: -21.59%, +0.12%
InvThroughput: 16121 -> 12950 (-19.67%); split: -19.96%, +0.29%
VClause: 122 -> 123 (+0.82%); split: -0.82%, +1.64%
SClause: 130 -> 143 (+10.00%)
Copies: 566 -> 596 (+5.30%); split: -0.35%, +5.65%
Branches: 200 -> 208 (+4.00%)
PreSGPRs: 424 -> 422 (-0.47%)
PreVGPRs: 430 -> 424 (-1.40%); split: -1.63%, +0.23%

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15885>
2022-06-02 09:42:54 +02:00
..
layers radv: Use the common CmdBindVertexBuffers wrapper 2022-05-20 02:12:37 +00:00
radix_sort radv: fixes msvc compiling error 2022-05-16 18:57:06 +00:00
winsys amd: rename fishes to Navi21, Navi22, Navi23, Navi24, and Rembrandt 2022-05-19 11:55:50 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
00-radv-defaults.conf radv: disable DCC for Senra Kagura Shinovi Versus 2022-05-12 14:43:13 +00:00
meson.build radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments. 2022-05-10 17:16:03 +00:00
radv_acceleration_structure.c radv: Ignore transformOffset if transformData is 0 2022-05-30 00:00:53 +00:00
radv_acceleration_structure.h radv: Add and use radv_bvh_node_type 2022-05-24 06:44:27 +00:00
radv_aco_shader_info.h aco/radv: drop radv_nir_compiler_options from aco. 2022-05-17 06:15:25 +00:00
radv_android.c radv: Use vk_buffer 2022-05-30 17:43:58 +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: Use vk_buffer 2022-05-30 17:43:58 +00:00
radv_constants.h radv: Use I/O lowering for task and mesh shaders. 2022-05-12 00:29:51 +00:00
radv_cs.h amd: change chip_class naming to "enum amd_gfx_level gfx_level" 2022-05-13 14:56:22 -04:00
radv_debug.c radv: move active_stages to radv_graphics_pipeline 2022-05-25 11:39:20 +00:00
radv_debug.h radv: Enable ray queries by default 2022-05-24 08:32:43 +00:00
radv_descriptor_set.c radv: Use vk_buffer 2022-05-30 17:43:58 +00:00
radv_descriptor_set.h radv: add support for independent descriptor set layouts 2022-04-15 06:08:34 +00:00
radv_device.c radv: Enable VK_INTEL_shader_integer_functions2. 2022-06-01 17:09:25 +00:00
radv_formats.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_image.c radv: Use vk_buffer 2022-05-30 17:43:58 +00:00
radv_llvm_helper.cpp radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_llvm_helper.h radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_meta.c radv: rename radv_cmd_state::pipeline to graphics_pipeline 2022-05-25 11:39:20 +00:00
radv_meta.h radv: rename radv_cmd_state::pipeline to graphics_pipeline 2022-05-25 11:39:20 +00:00
radv_meta_blit.c radv: Use vk_image_view as the base for radv_image_view 2022-05-17 18:14:55 +00:00
radv_meta_blit2d.c radv: Use vk_image_view as the base for radv_image_view 2022-05-17 18:14:55 +00:00
radv_meta_buffer.c radv: Use vk_buffer 2022-05-30 17:43:58 +00:00
radv_meta_bufimage.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_clear.c radv: Disable predication for supass clear and image clears. 2022-05-25 12:59:37 +00:00
radv_meta_copy.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_copy_vrs_htile.c radv: Use vk_buffer 2022-05-30 17:43:58 +00:00
radv_meta_dcc_retile.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_decompress.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_etc_decode.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_fast_clear.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_fmask_copy.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_fmask_expand.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_meta_resolve.c radv: use the fragment resolve path by default on GFX11 2022-05-26 07:43:38 +00:00
radv_meta_resolve_cs.c radv: Use vk_image_view as the base for radv_image_view 2022-05-17 18:14:55 +00:00
radv_meta_resolve_fs.c radv: Use vk_image_view as the base for radv_image_view 2022-05-17 18:14:55 +00:00
radv_nir_apply_pipeline_layout.c radv: update buffer descriptor registers on GFX11 2022-05-17 10:08:17 +00:00
radv_nir_lower_abi.c radv: do not lower loading TESS/ESGS rings using the ABI for LLVM 2022-05-17 16:45:02 +00:00
radv_nir_lower_ray_queries.c radv: Replace nir_vector_extract with nir_channel 2022-05-24 06:44:27 +00:00
radv_nir_lower_ycbcr_textures.c radv: Don't hash ycbcr sampler base object. 2022-03-18 17:56:15 +00:00
radv_nir_to_llvm.c radv: export implicit primitive ID in NIR for legacy VS or TES 2022-05-20 14:55:05 +00:00
radv_pass.c radv: Fix redundant subpass barriers due to erroneous comparison 2022-05-27 09:43:04 +00:00
radv_perfcounter.c radv: apply a workaround for CB perf counters on GFX11 2022-05-17 10:08:17 +00:00
radv_pipeline.c radv: fix lowering GS intrinsics if NGG is disabled per pipeline 2022-06-02 09:42:54 +02:00
radv_pipeline_cache.c radv: Fix RTPSO hashing of pGroups. 2022-05-20 07:43:58 +02:00
radv_pipeline_rt.c radv: Remove trailing whitespace. 2022-05-25 12:29:30 +00:00
radv_private.h radv: reduce radv_discard_rectangle_info::count to 8-bit 2022-06-01 07:59:27 +00:00
radv_query.c radv: Allow radv_fill_buffer to work with VAs only 2022-05-17 13:10:07 +00:00
radv_radeon_winsys.h radv/amdgpu: Group queue submit info into a structure. 2022-05-10 18:20:24 +00:00
radv_rt_common.c radv: Enable ray queries by default 2022-05-24 08:32:43 +00:00
radv_rt_common.h radv: Replace magic constants with enum values 2022-04-03 12:43:00 +00:00
radv_sdma_copy_image.c radv: Use vk_image as the base for radv_image 2022-05-17 18:14:55 +00:00
radv_shader.c radv: fix lowering GS intrinsics if NGG is disabled per pipeline 2022-06-02 09:42:54 +02:00
radv_shader.h radv, ac/nir: Fix multiview layer export for mesh shaders. 2022-05-31 07:58:29 +00:00
radv_shader_args.c radv: do not declare the scratch offset on GFX11 2022-05-16 07:28:27 +00:00
radv_shader_args.h amd: change chip_class naming to "enum amd_gfx_level gfx_level" 2022-05-13 14:56:22 -04:00
radv_shader_info.c radv: Use nir_gather_xfb_info 2022-05-31 23:09:30 +00:00
radv_spm.c amd: change chip_class naming to "enum amd_gfx_level gfx_level" 2022-05-13 14:56:22 -04:00
radv_sqtt.c radv: Refactor queue state to separate structure. 2022-05-24 15:47:13 +00:00
radv_wsi.c amd: change chip_class naming to "enum amd_gfx_level gfx_level" 2022-05-13 14:56:22 -04:00
si_cmd_buffer.c radv: do not emit more non-existent registers on GFX11 2022-05-26 07:43:38 +00:00
vk_format.h vulkan: Move common format function to vulkan/util/vk_format.h 2022-03-31 17:18:22 +00:00
vulkan.sym radv: Add Android module info to linker script. 2021-01-12 20:17:52 +00:00