mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
glsl/lower_distance: only set max_array_access for 1D clip dist arrays
The max_array_access field applies to the first dimension, which means
we only want to set it for the 1D clip dist arrays.
This fixes an ir_validate assert seen with
KHR-GL44.cull_distance.functional
on nouveau and radeon with debug builds.
Fixes: a08c4ebbe (glsl: rewrite clip/cull distance lowering pass)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Tested-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
1c5d4c9d74
commit
53587b7105
1 changed files with 1 additions and 1 deletions
|
|
@ -167,7 +167,6 @@ lower_distance_visitor::visit(ir_variable *ir)
|
|||
/* Clone the old var so that we inherit all of its properties */
|
||||
*new_var = ir->clone(ralloc_parent(ir), NULL);
|
||||
(*new_var)->name = ralloc_strdup(*new_var, GLSL_CLIP_VAR_NAME);
|
||||
(*new_var)->data.max_array_access = new_size - 1;
|
||||
(*new_var)->data.location = VARYING_SLOT_CLIP_DIST0;
|
||||
|
||||
if (!ir->type->fields.array->is_array()) {
|
||||
|
|
@ -182,6 +181,7 @@ lower_distance_visitor::visit(ir_variable *ir)
|
|||
this->shader_stage == MESA_SHADER_GEOMETRY)));
|
||||
|
||||
assert (ir->type->fields.array == glsl_type::float_type);
|
||||
(*new_var)->data.max_array_access = new_size - 1;
|
||||
|
||||
/* And change the properties that we need to change */
|
||||
(*new_var)->type = glsl_type::get_array_instance(glsl_type::vec4_type,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue