Mesa (master): ac/nir_to_llvm: fix image size for arrays of arrays
Timothy Arceri
tarceri at kemper.freedesktop.org
Wed Feb 14 22:05:54 UTC 2018
Module: Mesa
Branch: master
Commit: 3ad52501dc28a4286c97ed386419f7b617e093af
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ad52501dc28a4286c97ed386419f7b617e093af
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date: Tue Feb 13 09:42:48 2018 +1100
ac/nir_to_llvm: fix image size for arrays of arrays
Fixes cts test:
KHR-GL44.shader_image_size.advanced-changeSize
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
---
src/amd/common/ac_nir_to_llvm.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index b5575d5753..dc551172d9 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -3786,12 +3786,10 @@ static LLVMValueRef visit_image_size(struct ac_nir_context *ctx,
{
LLVMValueRef res;
const nir_variable *var = instr->variables[0]->var;
- const struct glsl_type *type = instr->variables[0]->var->type;
- bool da = glsl_sampler_type_is_array(var->type) ||
- glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_CUBE ||
- glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_3D;
- if(instr->variables[0]->deref.child)
- type = instr->variables[0]->deref.child->type;
+ const struct glsl_type *type = glsl_without_array(var->type);
+ bool da = glsl_sampler_type_is_array(type) ||
+ glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_CUBE ||
+ glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_3D;
if (glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_BUF)
return get_buffer_size(ctx,
More information about the mesa-commit
mailing list