Lucas Stach
2012-Jan-24 08:46 UTC
[PATCH] nvfx: fix nv3x fallout from state validation changes
Apparently nv3x needs some curde hacks to work properly. This is clearly not the right fix, but it's the behaviour of the old code and fixes regressions seen by users. --- src/gallium/drivers/nvfx/nvfx_state_emit.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/nvfx/nvfx_state_emit.c b/src/gallium/drivers/nvfx/nvfx_state_emit.c index a959015..60ed2d0 100644 --- a/src/gallium/drivers/nvfx/nvfx_state_emit.c +++ b/src/gallium/drivers/nvfx/nvfx_state_emit.c @@ -244,6 +244,9 @@ nvfx_state_validate_common(struct nvfx_context *nvfx) } if(dirty & NVFX_NEW_SAMPLER) { + /* XXX: we take the big hammer here, I have no idea why this is needed + to make this work properly */ + nvfx->dirty &= ~NVFX_NEW_SAMPLER; nvfx_fragtex_validate(nvfx); // TODO: only set this if really necessary @@ -303,7 +306,8 @@ nvfx_state_validate_common(struct nvfx_context *nvfx) if(dirty & NVFX_NEW_SR) nvfx_state_sr_validate(nvfx); - if(dirty & NVFX_NEW_VIEWPORT) + /* XXX: nv3x needs viewport revalidation after RAST or ZSA change */ + if(dirty & (NVFX_NEW_VIEWPORT | NVFX_NEW_RAST | NVFX_NEW_ZSA)) { nvfx_state_viewport_validate(nvfx); } -- 1.7.7.6
Apparently Analagous Threads
- [PATCH 0/4] nvfx: rework render temps code and fixes
- Regression in nvfx-next since yesterday
- [PATCH][8.0] nvfx: handle some unknown PIPE_CAPs
- nvfx
- [Bug 56757] New: [regression][bisected][screenshots] nvfx -> nv30 driver rework causes regression in UrbanTerror4.2 (beta5)