summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_tiling.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-01-05 15:23:32 -0800
committerEric Anholt <[email protected]>2017-01-05 17:19:54 -0800
commit3a3a0d2d6cf37ff9d6e7f8ec9a6a78b24a353e08 (patch)
treee30ac8fb9f89768d373ee388762e94c6e27eef6d /src/gallium/drivers/vc4/vc4_tiling.h
parent6cf9ff8a6ce1a74260238d7f1fc6ab86c7eaea58 (diff)
vc4: Move the utile_width/height functions to header inlines.
I want these inlined in the callers, particularly with the tiling changes coming up, but we're not building with lto so some caller would suffer.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_tiling.h')
-rw-r--r--src/gallium/drivers/vc4/vc4_tiling.h38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/gallium/drivers/vc4/vc4_tiling.h b/src/gallium/drivers/vc4/vc4_tiling.h
index 7c98c02a4b5..1da6ca63258 100644
--- a/src/gallium/drivers/vc4/vc4_tiling.h
+++ b/src/gallium/drivers/vc4/vc4_tiling.h
@@ -24,8 +24,42 @@
#ifndef VC4_TILING_H
#define VC4_TILING_H
-uint32_t vc4_utile_width(int cpp) ATTRIBUTE_CONST;
-uint32_t vc4_utile_height(int cpp) ATTRIBUTE_CONST;
+
+/** Return the width in pixels of a 64-byte microtile. */
+static inline uint32_t
+vc4_utile_width(int cpp)
+{
+ switch (cpp) {
+ case 1:
+ case 2:
+ return 8;
+ case 4:
+ return 4;
+ case 8:
+ return 2;
+ default:
+ fprintf(stderr, "unknown cpp: %d\n", cpp);
+ abort();
+ }
+}
+
+/** Return the height in pixels of a 64-byte microtile. */
+static inline uint32_t
+vc4_utile_height(int cpp)
+{
+ switch (cpp) {
+ case 1:
+ return 8;
+ case 2:
+ case 4:
+ case 8:
+ return 4;
+ default:
+ fprintf(stderr, "unknown cpp: %d\n", cpp);
+ abort();
+ }
+}
+
bool vc4_size_is_lt(uint32_t width, uint32_t height, int cpp) ATTRIBUTE_CONST;
void vc4_load_tiled_image(void *dst, uint32_t dst_stride,
void *src, uint32_t src_stride,