diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-07-08 08:51:10 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-07-08 08:51:10 +0200 |
commit | 42e76d0b24b76fbcc6b08a4ea5003dbec368645c (patch) | |
tree | 4c7c41a7f01824a81f8e0fc008a7613268f929ce /src/radeon.h | |
parent | 94fe049c35187ddc3ec0472e9309c3a22879f415 (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.h | 4 |
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; \ } \ |