Re: [Nouveau] [PATCH] nvfx: fix nv3x fallout from state validation changes

2012-01-30 Thread Lucas Stach
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

2012-01-26 Thread 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.

-- 
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

2012-01-24 Thread Lucas Stach
>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