radv: Check for GFX9 for 1D arrays in image_size intrinsic.
Only on GFX9 we implement them as 2D images.
This fixes:
dEQP-VK.image.image_size.1d_array.readonly_12x34
dEQP-VK.image.image_size.1d_array.readonly_1x1
dEQP-VK.image.image_size.1d_array.readonly_32x32
dEQP-VK.image.image_size.1d_array.readonly_7x1
dEQP-VK.image.image_size.1d_array.readonly_writeonly_12x34
dEQP-VK.image.image_size.1d_array.readonly_writeonly_1x1
dEQP-VK.image.image_size.1d_array.readonly_writeonly_32x32
dEQP-VK.image.image_size.1d_array.readonly_writeonly_7x1
dEQP-VK.image.image_size.1d_array.writeonly_12x34
dEQP-VK.image.image_size.1d_array.writeonly_1x1
dEQP-VK.image.image_size.1d_array.writeonly_32x32
dEQP-VK.image.image_size.1d_array.writeonly_7x1
Fixes: 1bcb953e16
"radv: handle GFX9 1D textures"
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
915dc6db45
commit
979978ee06
|
@ -3579,7 +3579,8 @@ static LLVMValueRef visit_image_size(struct ac_nir_context *ctx,
|
|||
z = LLVMBuildSDiv(ctx->ac.builder, z, six, "");
|
||||
res = LLVMBuildInsertElement(ctx->ac.builder, res, z, two, "");
|
||||
}
|
||||
if (glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_1D &&
|
||||
if (ctx->abi->chip_class >= GFX9 &&
|
||||
glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_1D &&
|
||||
glsl_sampler_type_is_array(type)) {
|
||||
LLVMValueRef layers = LLVMBuildExtractElement(ctx->ac.builder, res, two, "");
|
||||
res = LLVMBuildInsertElement(ctx->ac.builder, res, layers,
|
||||
|
|
Loading…
Reference in New Issue