Mesa (master): r300g: Two dirty state optimizations.
Corbin Simpson
csimpson at kemper.freedesktop.org
Wed Jan 13 09:46:23 UTC 2010
Module: Mesa
Branch: master
Commit: a930dc7ee9f834c46474d9f5cf3a80a4e0237ba4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a930dc7ee9f834c46474d9f5cf3a80a4e0237ba4
Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date: Wed Jan 13 01:07:49 2010 -0800
r300g: Two dirty state optimizations.
---
src/gallium/drivers/r300/r300_emit.c | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index f1acdfc..ba04bd0 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -1003,10 +1003,6 @@ void r300_emit_dirty_state(struct r300_context* r300)
r300->context.flush(&r300->context, 0, NULL);
}
- if (!(r300->dirty_state)) {
- return;
- }
-
/* Clean out BOs. */
r300->winsys->reset_bos(r300->winsys);
@@ -1043,10 +1039,12 @@ validate:
}
}
/* ...occlusion query buffer... */
- if (!r300->winsys->add_buffer(r300->winsys, r300->oqbo,
- 0, RADEON_GEM_DOMAIN_GTT)) {
- r300->context.flush(&r300->context, 0, NULL);
- goto validate;
+ if (r300->dirty_state & R300_NEW_QUERY) {
+ if (!r300->winsys->add_buffer(r300->winsys, r300->oqbo,
+ 0, RADEON_GEM_DOMAIN_GTT)) {
+ r300->context.flush(&r300->context, 0, NULL);
+ goto validate;
+ }
}
/* ...and vertex buffer. */
if (r300->vbo) {
More information about the mesa-commit
mailing list