From db6d5a0860ba3cd09f4b06807d014f4f9a63eb77 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sat, 24 Jul 2021 12:23:56 -0400 Subject: [PATCH] asahi: Set texture dimension field Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/asahi/agx_state.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index 0444bcff255..26011829805 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -419,6 +419,16 @@ agx_translate_layout(uint64_t modifier) } } +static enum agx_texture_dimension +agx_translate_texture_dimension(enum pipe_texture_target dim) +{ + switch (dim) { + case PIPE_TEXTURE_2D: return AGX_TEXTURE_DIMENSION_2D; + case PIPE_TEXTURE_CUBE: return AGX_TEXTURE_DIMENSION_CUBE; + default: unreachable("Unsupported texture dimension"); + } +} + static struct pipe_sampler_view * agx_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *texture, @@ -452,6 +462,7 @@ agx_create_sampler_view(struct pipe_context *pctx, /* Pack the descriptor into GPU memory */ agx_pack(so->desc->ptr.cpu, TEXTURE, cfg) { + cfg.dimension = agx_translate_texture_dimension(state->target); cfg.layout = agx_translate_layout(rsrc->modifier); cfg.format = agx_pixel_format[state->format].hw; cfg.swizzle_r = agx_channel_from_pipe(out_swizzle[0]);