intel/compiler: ignore per-primitive attrs when calculating flat input mask
If we say that per-primitive attributes are flat (which is communicated by
3DSTATE_SBE.ConstantInterpolationEnable), GPU freaks out and applies it
to other (non-flat) attributes.
Fixes: be89ea3231
("intel/compiler: Handle per-primitive inputs in FS")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15169>
This commit is contained in:
parent
216da26b3f
commit
e2cb562dd1
|
@ -9452,6 +9452,9 @@ brw_compute_flat_inputs(struct brw_wm_prog_data *prog_data,
|
||||||
prog_data->flat_inputs = 0;
|
prog_data->flat_inputs = 0;
|
||||||
|
|
||||||
nir_foreach_shader_in_variable(var, shader) {
|
nir_foreach_shader_in_variable(var, shader) {
|
||||||
|
if (var->data.per_primitive)
|
||||||
|
continue;
|
||||||
|
|
||||||
unsigned slots = glsl_count_attribute_slots(var->type, false);
|
unsigned slots = glsl_count_attribute_slots(var->type, false);
|
||||||
for (unsigned s = 0; s < slots; s++) {
|
for (unsigned s = 0; s < slots; s++) {
|
||||||
int input_index = prog_data->urb_setup[var->data.location + s];
|
int input_index = prog_data->urb_setup[var->data.location + s];
|
||||||
|
|
Loading…
Reference in New Issue