diff options
author | Eric Anholt <[email protected]> | 2014-12-28 08:14:19 -1000 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-12-30 14:33:52 -0800 |
commit | 3ba57bae47666ada1145259755fc326b1b9f9463 (patch) | |
tree | 46f2e5952485f97aa47918d50c5051f028917c7f /src/gallium/drivers/vc4/vc4_context.h | |
parent | 0404e7fe0ac2a6234a11290b4b1596e8bc127a4b (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.h | 10 |
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; |