[Mesa-dev] [PATCH] st/glsl_to_tgsi: fix getting the image type for array of structs (again)
Timothy Arceri
tarceri at itsqueeze.com
Tue Aug 22 10:54:03 UTC 2017
On 22/08/17 20:34, Samuel Pitoiset wrote:
> We want the type of the field, not of the struct.
>
> This fixes a regression in the following piglit test:
> arb_bindless_texture/compiler/images/arrays-of-struct.frag
>
> This is the second time this test is broken, please run piglit
> with assertions enabled next time.
Well we should probably be catching this with a test rather then relying
on an assert. Anyway thanks for catching and fixing it :)
Please remove the above sentence before committing. In case your not
aware you can use --annotate when sending and put this sort of thing
under the --- below rather than the commit message.
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
>
> Fixes: 49d9286a3f ("glsl: stop copying struct and interface member names")
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> index 9688400ed4..2f84d2c046 100644
> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> @@ -3796,12 +3796,10 @@ get_image_qualifiers(ir_dereference *ir, const glsl_type **type,
> switch (ir->ir_type) {
> case ir_type_dereference_record: {
> ir_dereference_record *deref_record = ir->as_dereference_record();
> -
> - *type = deref_record->type;
> -
> - const glsl_type *struct_type =
> - deref_record->record->type->without_array();
> + const glsl_type *struct_type = deref_record->record->type;
> int fild_idx = deref_record->field_idx;
> +
> + *type = struct_type->fields.structure[fild_idx].type->without_array();
> *memory_coherent =
> struct_type->fields.structure[fild_idx].memory_coherent;
> *memory_volatile =
>
More information about the mesa-dev
mailing list