Mesa (nvfx-next-7d): nv30: band-aid viewport issues
Luca Barbieri
lb at kemper.freedesktop.org
Mon Aug 16 20:58:48 UTC 2010
Module: Mesa
Branch: nvfx-next-7d
Commit: cbe7e6dde84f5b1fd039febc61719dc0504c9f84
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbe7e6dde84f5b1fd039febc61719dc0504c9f84
Author: Luca Barbieri <luca at luca-barbieri.com>
Date: Mon Aug 16 16:55:00 2010 +0200
nv30: band-aid viewport issues
For some reason nv30 seems to like to reset the viewport, even though
attempts to isolate where exactly it does that have currently been
inconclusive.
---
src/gallium/drivers/nvfx/nvfx_state_emit.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/nvfx/nvfx_state_emit.c b/src/gallium/drivers/nvfx/nvfx_state_emit.c
index f86a71e..ae789a5 100644
--- a/src/gallium/drivers/nvfx/nvfx_state_emit.c
+++ b/src/gallium/drivers/nvfx/nvfx_state_emit.c
@@ -109,12 +109,14 @@ nvfx_state_validate_common(struct nvfx_context *nvfx)
if(dirty & NVFX_NEW_SR)
nvfx_state_sr_validate(nvfx);
-/* Having this depend on FB looks wrong, but it seems
- necessary to make this work on nv3x
+/* All these dependencies are wrong, but otherwise
+ etracer, neverball, foobillard, glest totally misrender
TODO: find the right fix
*/
- if(dirty & (NVFX_NEW_VIEWPORT | NVFX_NEW_FB))
+ if(dirty & (NVFX_NEW_VIEWPORT | NVFX_NEW_RAST | NVFX_NEW_ZSA) || (all_swizzled > 0))
+ {
nvfx_state_viewport_validate(nvfx);
+ }
if(flush_tex_cache)
{
More information about the mesa-commit
mailing list