From bdf169abb3f4feea72e2033eeb193e61fc8fca4f Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 14 Jun 2019 16:23:32 -0700 Subject: [PATCH] panfrost: Decode array textures Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/include/panfrost-job.h | 3 +-- src/gallium/drivers/panfrost/pandecode/decode.c | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src/gallium/drivers/panfrost/include/panfrost-job.h index 17a5d8f..12200c3 100644 --- a/src/gallium/drivers/panfrost/include/panfrost-job.h +++ b/src/gallium/drivers/panfrost/include/panfrost-job.h @@ -1150,8 +1150,7 @@ struct mali_texture_descriptor { uint16_t width; uint16_t height; uint16_t depth; - - uint16_t unknown1; + uint16_t array_size; struct mali_texture_format format; diff --git a/src/gallium/drivers/panfrost/pandecode/decode.c b/src/gallium/drivers/panfrost/pandecode/decode.c index 90b2579..1f2564e 100644 --- a/src/gallium/drivers/panfrost/pandecode/decode.c +++ b/src/gallium/drivers/panfrost/pandecode/decode.c @@ -1508,8 +1508,7 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix pandecode_prop("width = MALI_POSITIVE(%" PRId16 ")", t->width + 1); pandecode_prop("height = MALI_POSITIVE(%" PRId16 ")", t->height + 1); pandecode_prop("depth = MALI_POSITIVE(%" PRId16 ")", t->depth + 1); - - pandecode_prop("unknown1 = %" PRId16, t->unknown1); + pandecode_prop("array_size = MALI_POSITIVE(%" PRId16 ")", t->array_size + 1); pandecode_prop("unknown3 = %" PRId16, t->unknown3); pandecode_prop("unknown3A = %" PRId8, t->unknown3A); pandecode_prop("nr_mipmap_levels = %" PRId8, t->nr_mipmap_levels); @@ -1559,6 +1558,9 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix if (!f.is_not_cubemap) bitmap_count *= 6; + /* Array of textures */ + bitmap_count *= MALI_NEGATIVE(t->array_size); + /* Stride for each element */ if (manual_stride) bitmap_count *= 2; -- 2.7.4