Re: [Nouveau] [PATCH] nvfx: fix nv3x fallout from state validation changes
Am Donnerstag, den 26.01.2012, 20:59 +0100 schrieb Patrice Mandin: > Le Tue, 24 Jan 2012 09:54:31 +0100 > Lucas Stach a écrit: > > > From c998f732d42da5e962fe5da294493132c3e8dc5f Mon Sep 17 00:00:00 2001 > > From: Lucas Stach > > Date: Tue, 24 Jan 2012 09:46:32 +0100 > > Subject: [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. > > Hello, > > Sorry Lucas, but I finally found a test case I have forgotten, that > would maybe need reverting your patches. > > In mesa-demos/src/demos you'll find fbo_firecube test program that have > the scene misrenderered (the scene part that is rendered and used as > texture on the cube). > > As far as I remember now, render temp stuff was used to handle fbo > combinations supported on nv40 but not on nv30, or something like that. > Thanks for the hint. Now that I finally own a nv35 myself, I can reproduce the issue and I'm investigating. I'm not yet sure why it misrenders, normally we should just hit an assert in case of invalid formats. I will try to debug this, but I can't promise to get results before next week, because FOSDEM wants my attention. Thanks, Lucas ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] [PATCH] nvfx: fix nv3x fallout from state validation changes
Le Tue, 24 Jan 2012 09:54:31 +0100 Lucas Stach a écrit: > From c998f732d42da5e962fe5da294493132c3e8dc5f Mon Sep 17 00:00:00 2001 > From: Lucas Stach > Date: Tue, 24 Jan 2012 09:46:32 +0100 > Subject: [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. Hello, Sorry Lucas, but I finally found a test case I have forgotten, that would maybe need reverting your patches. In mesa-demos/src/demos you'll find fbo_firecube test program that have the scene misrenderered (the scene part that is rendered and used as texture on the cube). As far as I remember now, render temp stuff was used to handle fbo combinations supported on nv40 but not on nv30, or something like that. -- Patrice Mandin WWW: http://pmandin.atari.org/ Programmeur Linux, Atari Spécialité: Développement, jeux "who writes the code, decides" ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH] nvfx: fix nv3x fallout from state validation changes
>From c998f732d42da5e962fe5da294493132c3e8dc5f Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Tue, 24 Jan 2012 09:46:32 +0100 Subject: [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 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau