mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 03:40:22 +01:00
nir/print: Do not access invalid indices of load_uniform
load_uniform does not have io_semantics and component. Fixes:a83fd26("nir/print: stop trying to match i/o vars using base/driver_location") Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28962> (cherry picked from commitea863c0c1c)
This commit is contained in:
parent
d994133c8b
commit
3e37814956
2 changed files with 12 additions and 8 deletions
|
|
@ -224,7 +224,7 @@
|
|||
"description": "nir/print: Do not access invalid indices of load_uniform",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "a83fd26d0effc8e65ff601c2ad3314058b98f107",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -1639,13 +1639,17 @@ print_intrinsic_instr(nir_intrinsic_instr *instr, print_state *state)
|
|||
nir_foreach_variable_with_modes(var, state->shader, var_mode) {
|
||||
if (!var->name)
|
||||
continue;
|
||||
if (((instr->intrinsic == nir_intrinsic_load_uniform &&
|
||||
var->data.driver_location == nir_intrinsic_base(instr)) ||
|
||||
(instr->intrinsic != nir_intrinsic_load_uniform &&
|
||||
var->data.location == nir_intrinsic_io_semantics(instr).location)) &&
|
||||
((nir_intrinsic_component(instr) >= var->data.location_frac &&
|
||||
nir_intrinsic_component(instr) <
|
||||
(var->data.location_frac + glsl_get_components(var->type))))) {
|
||||
|
||||
bool match;
|
||||
if (instr->intrinsic == nir_intrinsic_load_uniform) {
|
||||
match = var->data.driver_location == nir_intrinsic_base(instr);
|
||||
} else {
|
||||
match = nir_intrinsic_component(instr) >= var->data.location_frac &&
|
||||
nir_intrinsic_component(instr) <
|
||||
(var->data.location_frac + glsl_get_components(var->type));
|
||||
}
|
||||
|
||||
if (match) {
|
||||
fprintf(fp, " // %s", var->name);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue