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 <hoegsberg@google.com>
Acked-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Kristian H. Kristensen 2019-11-01 15:16:44 -07:00
parent 0276d0766d
commit 50124afe34
2 changed files with 8 additions and 7 deletions

View File

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

View File

@ -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;
}