Mesa (17.2): radv: Check for GFX9 for 1D arrays in image_size intrinsic.
Juan Antonio Suárez Romero
jasuarez at kemper.freedesktop.org
Mon Oct 2 15:28:37 UTC 2017
Module: Mesa
Branch: 17.2
Commit: 1535e8a5d49312595505450ae3e0e2921750102d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1535e8a5d49312595505450ae3e0e2921750102d
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Sun Oct 1 10:07:29 2017 +0200
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: 1bcb953e166 "radv: handle GFX9 1D textures"
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 979978ee06867a531b8d56cee252f5c83920a339)
---
src/amd/common/ac_nir_to_llvm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 94e457d8ff..95cc8e5609 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -3609,7 +3609,8 @@ static LLVMValueRef visit_image_size(struct nir_to_llvm_context *ctx,
z = LLVMBuildSDiv(ctx->builder, z, six, "");
res = LLVMBuildInsertElement(ctx->builder, res, z, two, "");
}
- if (glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_1D &&
+ if (ctx->options->chip_class >= GFX9 &&
+ glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_1D &&
glsl_sampler_type_is_array(type)) {
LLVMValueRef layers = LLVMBuildExtractElement(ctx->builder, res, two, "");
res = LLVMBuildInsertElement(ctx->builder, res, layers,
More information about the mesa-commit
mailing list