mesa/src/gallium/drivers
Daniel Schürmann 9b1a748b5e nir: remove nir_intrinsic_discard
The semantics of discard differ between GLSL and HLSL and
their various implementations. Subsequently, numerous application
bugs occurred and SPV_EXT_demote_to_helper_invocation was written
in order to clarify the behavior. In NIR, we now have 3 different
intrinsics for 2 things, and while demote and terminate have clear
semantics, discard still doesn't and can mean either of the two.

This patch entirely removes nir_intrinsic_discard and
nir_intrinsic_discard_if and replaces all occurences either with
nir_intrinsic_terminate{_if} or nir_intrinsic_demote{_if} in the
case that the NIR option 'discard_is_demote' is being set.

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:16 +00:00
..
asahi asahi: implement rba2 semantics for vbo 2024-06-16 12:15:22 -04:00
crocus gallium/u_blitter: add option to override fragment shader for util_blitter_blit 2024-06-08 05:48:10 +00:00
d3d12 gallium: properly type pipe_resource.usage with the enum 2024-06-14 13:56:34 +00:00
etnaviv nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
freedreno nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
i915 gallium/u_blitter: add option to override fragment shader for util_blitter_blit 2024-06-08 05:48:10 +00:00
iris mi-builder: add read/write memory fencing support on Gfx20+ 2024-06-13 11:04:31 +00:00
lima nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
llvmpipe draw/texture: handle mip_offset[0] being != 0 for layered textures. 2024-06-12 16:13:59 +10:00
nouveau nouveau/nvc0: increase overallocation on shader bo to 2K 2024-06-15 01:12:39 +00:00
panfrost nir,panfrost,agx: Fix driver PIXEL_COORD_INTEGER setting and drop workaround. 2024-06-10 16:59:38 +00:00
r300 nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
r600 nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
radeonsi nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
softpipe gallium/u_blitter: add option to override fragment shader for util_blitter_blit 2024-06-08 05:48:10 +00:00
svga gallium/u_blitter: add option to override fragment shader for util_blitter_blit 2024-06-08 05:48:10 +00:00
tegra gallium: add a nboxes param to flush_frontbuffer 2024-02-29 01:15:22 +00:00
v3d gallium/u_blitter: add option to override fragment shader for util_blitter_blit 2024-06-08 05:48:10 +00:00
vc4 nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00
virgl nir: add merge loop terminators optimisation 2024-06-11 01:42:23 +00:00
zink nir: remove nir_intrinsic_discard 2024-06-17 19:37:16 +00:00