projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
90762bd
)
r300g: mark all states as dirty after flush
author
Marek Olšák
<maraeo@gmail.com>
Tue, 12 Jan 2010 20:50:10 +0000
(21:50 +0100)
committer
Corbin Simpson
<MostAwesomeDude@gmail.com>
Wed, 13 Jan 2010 02:08:57 +0000
(18:08 -0800)
It fixes almost all regressions introduced lately.
src/gallium/drivers/r300/r300_flush.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/r300/r300_flush.c
b/src/gallium/drivers/r300/r300_flush.c
index 14a08241fc460bb68416aa322c09d2ce1cec8fcc..c78a7673a3faf6f6bd844d7f104fee5128568b15 100644
(file)
--- a/
src/gallium/drivers/r300/r300_flush.c
+++ b/
src/gallium/drivers/r300/r300_flush.c
@@
-37,6
+37,7
@@
static void r300_flush(struct pipe_context* pipe,
{
struct r300_context *r300 = r300_context(pipe);
struct r300_query *query;
+ struct r300_atom *atom;
CS_LOCALS(r300);
/* We probably need to flush Draw, but we may have been called from
@@
-54,7
+55,15
@@
static void r300_flush(struct pipe_context* pipe,
r300_emit_invariant_state(r300);
r300->dirty_state = R300_NEW_KITCHEN_SINK;
r300->dirty_hw = 0;
+
+ /* New kitchen sink, baby. */
+ foreach(atom, &r300->atom_list) {
+ if (atom->state) {
+ atom->dirty = TRUE;
+ }
+ }
}
+
/* reset flushed query */
foreach(query, &r300->query_list) {
query->flushed = TRUE;