diff options
author | Eric Anholt <[email protected]> | 2014-07-23 11:21:04 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-08-11 14:45:30 -0700 |
commit | 165ca6b5ad4fbd20798b6bd8120504761865436c (patch) | |
tree | 4473f9391c5de44fea28835d624f34ce24704ec7 /src/gallium/drivers/vc4/vc4_context.h | |
parent | 9c631f30c9703b7c49acca5a2b3c75eb538015a1 (diff) |
vc4: Track clears veresus uncleared draws, and the clear color.
This is a step toward queueing more than one draw per frame.
Fixes piglit attribute0 test, since we get a working clear color now.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_context.h')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_context.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h index 010727ff4de..55746ea3b71 100644 --- a/src/gallium/drivers/vc4/vc4_context.h +++ b/src/gallium/drivers/vc4/vc4_context.h @@ -136,6 +136,15 @@ struct vc4_context { /** bitfield of VC4_DIRTY_* */ uint32_t dirty; + /* Bitmask of PIPE_CLEAR_* of buffers that were cleared before the + * first rendering. + */ + uint32_t cleared; + /* Bitmask of PIPE_CLEAR_* of buffers that have been rendered to + * (either clears or draws). + */ + uint32_t resolve; + uint32_t clear_color[2]; /** * Set if some drawing (triangles, blits, or just a glClear()) has @@ -144,6 +153,12 @@ struct vc4_context { */ bool needs_flush; + /** + * Set when needs_flush, and the queued rendering is not just composed + * of full-buffer clears. + */ + bool draw_call_queued; + struct primconvert_context *primconvert; struct util_hash_table *fs_cache, *vs_cache; |