diff options
author | Bas Nieuwenhuizen <[email protected]> | 2010-10-05 21:01:43 +0200 |
---|---|---|
committer | Jerome Glisse <[email protected]> | 2010-10-05 15:16:06 -0400 |
commit | ac8a1ebe55b08180945ffaebcff6b3bed336c9ec (patch) | |
tree | 0bb40da7557177e66100ceadcf8275cc9837a4f9 /src/gallium/drivers/r600 | |
parent | b2e52cdf83662e5d81de2a476a7d53dc82271eb4 (diff) |
r600g: use dirty list to track dirty blocks
Got a speed up by tracking the dirty blocks in a seperate list instead of looping through all blocks. This version should work with block that get their dirty state disabled again and I added a dirty check during the flush as some blocks were already dirty.
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r-- | src/gallium/drivers/r600/r600.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 59a255d2fae..acacec0c413 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -160,6 +160,7 @@ struct r600_block_reloc { }; struct r600_block { + struct list_head list; unsigned status; unsigned start_offset; unsigned pm4_ndwords; @@ -221,6 +222,7 @@ struct r600_context { struct r600_range range[256]; unsigned nblocks; struct r600_block **blocks; + struct list_head dirty; unsigned pm4_ndwords; unsigned pm4_cdwords; unsigned pm4_dirty_cdwords; |