summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-02-22 13:09:25 -0500
committerRob Clark <[email protected]>2019-02-22 14:05:32 -0500
commitfd360c82f0b7c4e5bf84f301280a2ba2e6955543 (patch)
tree326a3724946a520bf67b4339aa3ff37885f3c7d9
parentf90c3b448508cbed26f697c9f36fd1ee6264a32b (diff)
freedreno/a6xx: cube image fix
Note that emit_intrinsic_load_image() already swaps a .3d flag with an .a flag. I tried doing things the other way around (going back to .3d) but that didn't work. And treating cube images as 2d array is also what blob does, so let's just go with that. Fixes dEQP-GLES31.functional.image_load_store.cube.load_store.* Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_image.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_image.c b/src/gallium/drivers/freedreno/a6xx/fd6_image.c
index d41a8887a53..5683612c51c 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_image.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_image.c
@@ -70,6 +70,10 @@ static void translate_image(struct fd6_image *img, const struct pipe_image_view
img->cpp = rsc->cpp;
img->bo = rsc->bo;
+ /* Treat cube textures as 2d-array: */
+ if (img->type == A6XX_TEX_CUBE)
+ img->type = A6XX_TEX_2D;
+
if (prsc->target == PIPE_BUFFER) {
img->buffer = true;
img->offset = pimg->u.buf.offset;