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@amd.com>
This commit is contained in:
Timothy Arceri 2018-02-13 09:42:48 +11:00
parent 6acab18828
commit 3ad52501dc

View file

@ -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,