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