mesa/src/microsoft/compiler
Daniel Schürmann f3d8bd18dd nir: introduce discard_is_demote compiler option
This new option indicates that the driver emits the same
code for nir_intrinsic_discard and nir_intrinsic_demote.
Otherwise, it is assumed that discard is implemented as
terminate.

spirv_to_nir uses this option in order to directly emit
nir_demote in case of OpKill.

RADV GFX11:
Totals from 3965 (4.99% of 79439) affected shaders:
MaxWaves: 119418 -> 119424 (+0.01%); split: +0.03%, -0.03%
Instrs: 1608753 -> 1620830 (+0.75%); split: -0.18%, +0.93%
CodeSize: 8759152 -> 8785152 (+0.30%); split: -0.18%, +0.48%
VGPRs: 152292 -> 149232 (-2.01%); split: -2.37%, +0.36%
Latency: 9162314 -> 10033923 (+9.51%); split: -0.46%, +9.97%
InvThroughput: 1491656 -> 1493408 (+0.12%); split: -0.10%, +0.22%
VClause: 21424 -> 21452 (+0.13%); split: -0.31%, +0.44%
SClause: 53598 -> 55871 (+4.24%); split: -2.15%, +6.39%
Copies: 90553 -> 90462 (-0.10%); split: -2.91%, +2.81%
Branches: 16283 -> 16311 (+0.17%)
PreSGPRs: 113993 -> 113254 (-0.65%); split: -1.84%, +1.19%
PreVGPRs: 110951 -> 108914 (-1.84%); split: -2.08%, +0.24%
VALU: 963192 -> 963167 (-0.00%); split: -0.01%, +0.01%
SALU: 87926 -> 90795 (+3.26%); split: -2.92%, +6.18%
VMEM: 25937 -> 25936 (-0.00%)
SMEM: 110012 -> 109799 (-0.19%); split: -0.20%, +0.01%

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27617>
2024-06-17 19:37:15 +00:00
..
dxcapi.h dxil: Fixes compiling dxcapi.h with mingw. 2022-06-15 11:38:24 +00:00
dxil_buffer.c
dxil_buffer.h
dxil_buffer_test.c
dxil_container.c microsoft/compiler: Disable GS streams workaround for validator 1.8 2024-03-25 19:11:35 +00:00
dxil_container.h microsoft/compiler: Support DXIL validator 1.7 2022-07-23 14:48:17 +00:00
dxil_dump.c microsoft/compiler: Fix printf formatting string issues 2023-09-22 10:47:33 -07:00
dxil_dump.h
dxil_dump_decls.h
dxil_enums.c microsoft/compiler: Simplify I/O component type enum handling 2024-04-04 20:29:10 +00:00
dxil_enums.h microsoft/compiler: Simplify I/O component type enum handling 2024-04-04 20:29:10 +00:00
dxil_function.c microsoft/compiler: Handle base vertex/instance sysvals as DXIL intrinsics 2024-04-05 00:25:41 +00:00
dxil_function.h microsoft/compiler: Implement more wave/quad ops 2023-01-24 11:00:05 -08:00
dxil_internal.h microsoft/compiler: Support vec/struct const vals 2023-06-13 00:43:36 +00:00
dxil_module.c d3d12: Fix leak dxil_module::serialized_dependency_table 2024-04-03 14:50:28 +00:00
dxil_module.h microsoft/compiler: Add feature flags for new comparison sampling ops 2024-01-24 21:38:49 +00:00
dxil_nir.c microsoft/compiler: Add a fractional var mask for variable sorting 2024-04-04 20:29:11 +00:00
dxil_nir.h microsoft/compiler: Add a fractional var mask for variable sorting 2024-04-04 20:29:11 +00:00
dxil_nir_algebraic.py microsoft: Stop claiming dot_4x8_sat support 2023-12-06 23:15:33 +00:00
dxil_nir_lower_int_cubemaps.c nir: replace use of nir_src_copy() 2023-09-08 03:01:39 +00:00
dxil_nir_lower_int_cubemaps.h microsoft/compiler: make sampler-lowering optional 2022-06-10 22:14:14 +00:00
dxil_nir_lower_int_samplers.c micosoft: define enum dxil_tex_wrap to avoid the usage of enum pipe_tex_wrap 2023-11-04 00:02:59 +00:00
dxil_nir_lower_int_samplers.h micosoft: define enum dxil_tex_wrap to avoid the usage of enum pipe_tex_wrap 2023-11-04 00:02:59 +00:00
dxil_nir_lower_vs_vertex_conversion.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
dxil_nir_tess.c microsoft/compiler: Relax assert for SPIR-V barriers 2024-02-13 17:53:42 +00:00
dxil_signature.c microsoft/compiler: Expect front-facing var as an input 2024-04-04 20:29:10 +00:00
dxil_signature.h microsoft/compiler: Bump signature limits for 32 rows of 4 components 2023-11-14 00:18:52 +00:00
dxil_validator.cpp microsoft/compiler: Declare shader model 6.8 / validator 1.8 2024-01-20 00:07:15 +00:00
dxil_validator.h microsoft/spirv2dxil: Refactor to make SM and validator versions public 2022-10-24 16:15:31 +00:00
dxil_versions.h microsoft/compiler: Declare shader model 6.8 / validator 1.8 2024-01-20 00:07:15 +00:00
meson.build micosoft: decouple microsoft vulkan driver and compiler from gallium 2023-11-04 00:02:59 +00:00
nir_to_dxil.c nir: introduce discard_is_demote compiler option 2024-06-17 19:37:15 +00:00
nir_to_dxil.h d3d12: Lower uniforms to UBO by nir options 2024-04-04 20:29:11 +00:00