mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 14:40:10 +01:00
glsl: get correct member type when processing xfb ifc arrays
This fixes a crash in:
KHR-GL45.enhanced_layouts.xfb_block_stride
Fixes: 0822517936 "glsl: add helper to process xfb qualifiers during linking"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
6c268ea79a
commit
9d53ccccb2
1 changed files with 4 additions and 2 deletions
|
|
@ -165,10 +165,12 @@ process_xfb_layout_qualifiers(void *mem_ctx, const gl_linked_shader *sh,
|
|||
|
||||
if (var->data.from_named_ifc_block) {
|
||||
type = var->get_interface_type();
|
||||
|
||||
/* Find the member type before it was altered by lowering */
|
||||
const glsl_type *type_wa = type->without_array();
|
||||
member_type =
|
||||
type->fields.structure[type->field_index(var->name)].type;
|
||||
name = ralloc_strdup(NULL, type->without_array()->name);
|
||||
type_wa->fields.structure[type_wa->field_index(var->name)].type;
|
||||
name = ralloc_strdup(NULL, type_wa->name);
|
||||
} else {
|
||||
type = var->type;
|
||||
member_type = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue