summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_context.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-12-28 08:14:19 -1000
committerEric Anholt <[email protected]>2014-12-30 14:33:52 -0800
commit3ba57bae47666ada1145259755fc326b1b9f9463 (patch)
tree46f2e5952485f97aa47918d50c5051f028917c7f /src/gallium/drivers/vc4/vc4_context.h
parent0404e7fe0ac2a6234a11290b4b1596e8bc127a4b (diff)
vc4: Only render tiles where the scissor ever intersected them.
This gives a 2.7x improvement in x11perf -rect100, since we only end up load/storing the x11perf window, not the whole screen.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_context.h')
-rw-r--r--src/gallium/drivers/vc4/vc4_context.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h
index 962abbfa972..7e18a75e5b6 100644
--- a/src/gallium/drivers/vc4/vc4_context.h
+++ b/src/gallium/drivers/vc4/vc4_context.h
@@ -173,6 +173,16 @@ struct vc4_context {
struct vc4_cl bo_handles;
struct vc4_cl bo_pointers;
uint32_t shader_rec_count;
+ /** @{
+ * Bounding box of the scissor across all queued drawing.
+ *
+ * Note that the max values are exclusive.
+ */
+ uint32_t draw_min_x;
+ uint32_t draw_min_y;
+ uint32_t draw_max_x;
+ uint32_t draw_max_y;
+ /** @} */
struct vc4_bo *tile_alloc;
struct vc4_bo *tile_state;