mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +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> (cherry picked from commit53587b7105)
This commit is contained in:
parent
3734a7de6c
commit
538975fdf8
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