diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-09 10:03:08 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-09 10:03:29 +0100 |
commit | 8c1a8d22978f143044cc3cd0ff2ade5736ee9d48 (patch) | |
tree | da63b3fd81cd3fd00fcb758afa3f16feff4f54b1 /src/i830_driver.c | |
parent | 994aa1ef571ac2ab05f6588f9068d33b536c7a37 (diff) |
Revert "xp:trapezoids"
This reverts commit f429fb9d872950705e11171d0e7407fb7673c786.
An experimental patch I forgot was on my main branch as I was bugfixing.
ARGH!
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r-- | src/i830_driver.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c index b7717c79..eed755c4 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -824,6 +824,31 @@ enum pipe { PIPE_B, }; +/** + * Intialiazes the hardware for the 3D pipeline use in the 2D driver. + * + * Some state caching is performed to avoid redundant state emits. This + * function is also responsible for marking the state as clobbered for DRI + * clients. + */ +void IntelEmitInvarientState(ScrnInfoPtr scrn) +{ + intel_screen_private *intel = intel_get_screen_private(scrn); + + /* If we've emitted our state since the last clobber by another client, + * skip it. + */ + if (intel->last_3d != LAST_3D_OTHER) + return; + + if (!IS_I965G(intel)) { + if (IS_I9XX(intel)) + I915EmitInvarientState(scrn); + else + I830EmitInvarientState(scrn); + } +} + static void I830BlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask) { |