diff options
author | Grazvydas Ignotas <[email protected]> | 2015-08-10 00:42:35 +0300 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-08-11 14:46:54 +0200 |
commit | 50545882113b389decc3f05771764f6c62213af3 (patch) | |
tree | e7a5cd5ecc4354968e10ec2ad34cd9e8d3aaab3e /src/gallium/drivers/r600/eg_sq.h | |
parent | c58534c1384dc63bb1b13eb37c06bdb4652c13ff (diff) |
r600g: use a bitfield to track dirty atoms
r600 currently has 73 atoms and looping through their dirty flags has
become costly because checking each flag requires a pointer
dereference before the read. To avoid having to do that add additional
bitfield which can be checked really quickly thanks to tzcnt instruction.
id field was added to struct r600_atom but that doesn't affect memory
usage for both 32 and 64 bit CPUs because it was stuffed into padding.
The performance improvement is ~2% for benchmarks that can have FPS in
the thousands but is hardly measurable in "real" programs.
Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/eg_sq.h')
0 files changed, 0 insertions, 0 deletions