From: Luca Barbieri Date: Mon, 16 Aug 2010 14:55:00 +0000 (+0200) Subject: nv30: band-aid viewport issues X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=07b6fde4102bfa5097b3c16cf23a6d60357e5463;p=mesa.git 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. --- diff --git a/src/gallium/drivers/nvfx/nvfx_state_emit.c b/src/gallium/drivers/nvfx/nvfx_state_emit.c index 2e0e366ca3d..7a706ea6d77 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) {