mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
agx: set discard_is_demote
this is simpler/more correct. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29861>
This commit is contained in:
parent
7dd73290fb
commit
27e3495902
2 changed files with 3 additions and 5 deletions
|
|
@ -301,4 +301,5 @@ static const nir_shader_compiler_options agx_nir_options = {
|
|||
.lower_doubles_options = (nir_lower_doubles_options)(~0),
|
||||
.lower_fquantize2f16 = true,
|
||||
.compact_arrays = true,
|
||||
.discard_is_demote = true,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -83,9 +83,7 @@ lower_zs_emit(nir_block *block, bool force_early_z)
|
|||
static bool
|
||||
lower_discard(nir_builder *b, nir_intrinsic_instr *intr, UNUSED void *data)
|
||||
{
|
||||
if (intr->intrinsic != nir_intrinsic_terminate &&
|
||||
intr->intrinsic != nir_intrinsic_terminate_if &&
|
||||
intr->intrinsic != nir_intrinsic_demote &&
|
||||
if (intr->intrinsic != nir_intrinsic_demote &&
|
||||
intr->intrinsic != nir_intrinsic_demote_if)
|
||||
return false;
|
||||
|
||||
|
|
@ -95,8 +93,7 @@ lower_discard(nir_builder *b, nir_intrinsic_instr *intr, UNUSED void *data)
|
|||
nir_def *no_samples = nir_imm_intN_t(b, 0, 16);
|
||||
nir_def *killed_samples = all_samples;
|
||||
|
||||
if (intr->intrinsic == nir_intrinsic_terminate_if ||
|
||||
intr->intrinsic == nir_intrinsic_demote_if)
|
||||
if (intr->intrinsic == nir_intrinsic_demote_if)
|
||||
killed_samples = nir_bcsel(b, intr->src[0].ssa, all_samples, no_samples);
|
||||
|
||||
/* This will get lowered later as needed */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue