aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian H. Kristensen <[email protected]>2019-11-01 15:16:44 -0700
committerKristian H. Kristensen <[email protected]>2019-11-07 16:36:33 -0800
commit50124afe3408108dc742c81dca3c071194ed678d (patch)
tree7a86225c66cc45c5f7d918559558460ba37b8e02
parent0276d0766d4b62d28097d74a049808b1e10c1f9b (diff)
freedreno/a6xx: Fix layered texture type enum
2D array textures and 3D textures are different enum values after all. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
-rw-r--r--src/freedreno/registers/a6xx.xml7
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_gmem.c8
2 files changed, 8 insertions, 7 deletions
diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml
index 4763c47b7d1..3f78cd58cf7 100644
--- a/src/freedreno/registers/a6xx.xml
+++ b/src/freedreno/registers/a6xx.xml
@@ -1859,9 +1859,10 @@ to upconvert to 32b float internally?
<reg32 offset="0x8003" name="GRAS_UNKNOWN_8003"/>
<enum name="a6xx_layer_type">
- <value value="0x0" name="MULTISAMPLE_ARRAY"/>
- <value value="0x1" name="ARRAY"/> <!-- 2d array and 3d -->
- <value value="0x2" name="CUBEMAP"/>
+ <value value="0x0" name="LAYER_MULTISAMPLE_ARRAY"/>
+ <value value="0x1" name="LAYER_3D"/>
+ <value value="0x2" name="LAYER_CUBEMAP"/>
+ <value value="0x3" name="LAYER_2D_ARRAY"/>
</enum>
<reg32 offset="0x8004" name="GRAS_LAYER_CNTL">
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c
index 5799e6b0d3f..708347931ac 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.c
@@ -109,13 +109,13 @@ emit_mrt(struct fd_ringbuffer *ring, struct pipe_framebuffer_state *pfb,
if (psurf->u.tex.first_layer < psurf->u.tex.last_layer) {
layered = true;
if (psurf->texture->target == PIPE_TEXTURE_2D_ARRAY && psurf->texture->nr_samples > 0)
- type = MULTISAMPLE_ARRAY;
+ type = LAYER_MULTISAMPLE_ARRAY;
else if (psurf->texture->target == PIPE_TEXTURE_2D_ARRAY)
- type = ARRAY;
+ type = LAYER_2D_ARRAY;
else if (psurf->texture->target == PIPE_TEXTURE_CUBE)
- type = CUBEMAP;
+ type = LAYER_CUBEMAP;
else if (psurf->texture->target == PIPE_TEXTURE_3D)
- type = ARRAY;
+ type = LAYER_3D;
stride /= pfb->samples;
}