summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-06-14 16:23:32 -0700
committerAlyssa Rosenzweig <[email protected]>2019-06-17 08:36:14 -0700
commitbdf169abb3f4feea72e2033eeb193e61fc8fca4f (patch)
treeef6719b7126aba806ade3b751221223316af2009 /src/gallium
parent0ae6bbe8a9d10f1a0afdebd27fa4a0ce98315515 (diff)
panfrost: Decode array textures
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/panfrost/include/panfrost-job.h3
-rw-r--r--src/gallium/drivers/panfrost/pandecode/decode.c6
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 17a5d8f0e50..12200c373f1 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 90b2579a436..1f2564e45dc 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;