[Nouveau] [Mesa-dev] [PATCH 4/4] nvfx: random cleanups of the state validation code

Lucas Stach dev at lynxeye.de
Wed Jan 18 16:34:42 PST 2012


Am Mittwoch, den 18.01.2012, 21:54 +0100 schrieb Patrice Mandin:
> Le Tue, 17 Jan 2012 18:22:59 +0100
> Patrice Mandin <mandin.patrice at orange.fr> a écrit:
> 
> > Le Tue, 10 Jan 2012 12:41:04 +0100
> > Lucas Stach <dev at lynxeye.de> a écrit:
> > 
> > > Signed-off-by: Lucas Stach <dev at lynxeye.de>
> > > ---
> > >  src/gallium/drivers/nvfx/nvfx_state_emit.c |   49 ++++++++++++---------------
> > >  1 files changed, 22 insertions(+), 27 deletions(-)
> > > 
> > > diff --git a/src/gallium/drivers/nvfx/nvfx_state_emit.c b/src/gallium/drivers/nvfx/nvfx_state_emit.c
> > > index e2cfb76..a959015 100644
> > [snip]
> @@ -212,14 +211,6 @@ nvfx_state_validate_common(struct nvfx_context *nvfx)
>  		nvfx->relocs_needed = NVFX_RELOCATE_ALL;
>  	}
>  
> -	if(nvfx->dirty & NVFX_NEW_SAMPLER) {
> -		nvfx->dirty &=~ NVFX_NEW_SAMPLER;
> -		nvfx_fragtex_validate(nvfx);
> -
> -		// TODO: only set this if really necessary
> -		flush_tex_cache = TRUE;
> -	}
> -
>  	dirty = nvfx->dirty;
>  
>  	if(nvfx->render_mode == HW)
> @@ -252,6 +243,13 @@ nvfx_state_validate_common(struct nvfx_context *nvfx)
>  		}
>  	}
>  
> +	if(dirty & NVFX_NEW_SAMPLER) {
> +		nvfx_fragtex_validate(nvfx);
> +
> +		// TODO: only set this if really necessary
> +		flush_tex_cache = TRUE;
> +	}
> +
>  	if(dirty & NVFX_NEW_RAST)
>  		sb_emit(chan, nvfx->rasterizer->sb, nvfx->rasterizer->sb_len);
>  
> > I noticed another small regression with it, the splashscreen bitmap is
> > also not displayed anymore, so I'll investigate a bit further. Maybe no
> > need to revert the whole series.
> 
> And the above part triggers it, the missing nvfx->dirty &=~ NVFX_NEW_SAMPLER;
> in the change causes this regression.
> 

So the supposedly low risk cleanups broke all of those things. Thanks to
take the time to track this down to this level. Will fix it up soon.

Thanks,
Lucas




More information about the Nouveau mailing list