[Mesa-dev] r600g: various fixes to get r600_clear and depthtesting working

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Tue May 25 06:43:56 PDT 2010


On Tue, 2010-05-25 at 09:51 +0200, Jerome Glisse wrote:
> On Tue, May 25, 2010 at 12:35:45AM +0200, Bas Nieuwenhuizen wrote:
> > Hello,
> > 
> > I wrote two patches that fix various things to get r600g running on my
> > computer and to get r600_clear and depthtesting working.
> > 
> > I wrote them starting from Marek's r600g branch.
> > 
> > Feel free to criticize as this is my first contribution to a large
> > project. 
> > 
> > - Bas Nieuwenhuizen
> > 
> > patches:
> > http://www.basnieuwenhuizen.nl/0001-r600g-various-fixes.patch
> 
> I don't think change to r600_texture_destroy is right, why did you
> remove the unreference there ?

r600_texture_destroy was called from pipe_resource_reference because the
reference count was 0. And then r600_texture_destroy calls
pipe_resource_reference again with a reference count of 0 which triggers
an assert in pipe_reference.

> > http://www.basnieuwenhuizen.nl/0002-r600g-fixed-some-corruption-added-code-for-depthtest.patch
> 
> Is the wait idle needed on your hw ? If so can you tell me which gpu you
> are using.

It is needed on my hw, which is a rv730, HD4670.

The corruption that it fixed was that some blocks of the background were
drawn in the color of the other primitives that are drawn and some
flicker. Some very short flat shaded programs don't trigger it.

I got the idea from the classic driver where r700TryDrawPrims calls
r700WaitForIdleClean after the draw.

- Bas Nieuwenhuizen




More information about the mesa-dev mailing list