pco: drop global path for null descriptor checking

Global I/O intrinsics don't have an index offset, and can't directly be
mapped to descriptors.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41545>
This commit is contained in:
Simon Perretta 2026-05-14 09:29:51 +01:00 committed by Marge Bot
parent 124b30f7ba
commit eda401cd9a
2 changed files with 3 additions and 18 deletions

View file

@ -1827,11 +1827,10 @@ bool pco_shrink_vecs(pco_shader *shader);
typedef enum {
pco_nir_lower_null_descriptor_ubo = (1 << 0),
pco_nir_lower_null_descriptor_ssbo = (1 << 1),
pco_nir_lower_null_descriptor_global = (1 << 2),
pco_nir_lower_null_descriptor_texture = (1 << 3),
pco_nir_lower_null_descriptor_image = (1 << 4),
pco_nir_lower_null_descriptor_texture = (1 << 2),
pco_nir_lower_null_descriptor_image = (1 << 3),
pco_nir_lower_null_descriptor_all = BITFIELD_MASK(5),
pco_nir_lower_null_descriptor_all = BITFIELD_MASK(4),
} pco_nir_lower_null_descriptor_options;
bool pco_nir_lower_null_descriptors(

View file

@ -34,20 +34,6 @@ static nir_def *get_is_null(nir_builder *b,
is_deref = true;
break;
case nir_intrinsic_load_global:
case nir_intrinsic_load_global_2x32:
case nir_intrinsic_load_global_constant:
case nir_intrinsic_global_atomic:
case nir_intrinsic_global_atomic_2x32:
case nir_intrinsic_global_atomic_swap:
case nir_intrinsic_global_atomic_swap_2x32:
case nir_intrinsic_store_global:
case nir_intrinsic_store_global_2x32:
if (!(options & pco_nir_lower_null_descriptor_global))
return NULL;
break;
case nir_intrinsic_get_ubo_size:
case nir_intrinsic_load_ubo:
if (!(options & pco_nir_lower_null_descriptor_ubo))