summaryrefslogtreecommitdiff
path: root/src/radeon.h
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-07-08 08:51:10 +0200
committerMichel Dänzer <daenzer@vmware.com>2009-07-08 08:51:10 +0200
commit42e76d0b24b76fbcc6b08a4ea5003dbec368645c (patch)
tree4c7c41a7f01824a81f8e0fc008a7613268f929ce /src/radeon.h
parent94fe049c35187ddc3ec0472e9309c3a22879f415 (diff)
Don't always flush CS when switching from 2D to 3D.
This works fine here and doubles x11perf -aa10text scores, but may cause problems on other setups according to Dave. Let's see...
Diffstat (limited to 'src/radeon.h')
-rw-r--r--src/radeon.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/radeon.h b/src/radeon.h
index 5d5d5e1b..d4e89d47 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -1543,8 +1543,10 @@ do { \
uint32_t flush = 0; \
switch (info->accel_state->engineMode) { \
case EXA_ENGINEMODE_UNKNOWN: \
- case EXA_ENGINEMODE_2D: \
flush = 1; \
+ break; \
+ case EXA_ENGINEMODE_2D: \
+ flush = !info->cs || info->cs->cdw > 15 * 1024; \
case EXA_ENGINEMODE_3D: \
break; \
} \