mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 07:18:17 +02:00
vc4: Add some comments about state management.
This commit is contained in:
parent
135287db17
commit
000976ed99
2 changed files with 11 additions and 0 deletions
|
|
@ -319,6 +319,12 @@ vc4_flush(struct pipe_context *pctx)
|
|||
|
||||
vc4->needs_flush = false;
|
||||
vc4->draw_call_queued = false;
|
||||
|
||||
/* We have no hardware context saved between our draw calls, so we
|
||||
* need to flag the next draw as needing all state emitted. Emitting
|
||||
* all state at the start of our draws is also what ensures that we
|
||||
* return to the state we need after a previous tile has finished.
|
||||
*/
|
||||
vc4->dirty = ~0;
|
||||
vc4->resolve = 0;
|
||||
vc4->cleared = 0;
|
||||
|
|
|
|||
|
|
@ -78,6 +78,11 @@ vc4_start_draw(struct vc4_context *vc4)
|
|||
VC4_BIN_CONFIG_ALLOC_BLOCK_SIZE_32 |
|
||||
VC4_BIN_CONFIG_ALLOC_INIT_BLOCK_SIZE_32);
|
||||
|
||||
/* START_TILE_BINNING resets the statechange counters in the hardware,
|
||||
* which are what is used when a primitive is binned to a tile to
|
||||
* figure out what new state packets need to be written to that tile's
|
||||
* command list.
|
||||
*/
|
||||
cl_u8(&vc4->bcl, VC4_PACKET_START_TILE_BINNING);
|
||||
|
||||
vc4->needs_flush = true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue