Roland Scheidegger wrote:
This is a new version of the hyperz patch. It should have a better chance of running on all cards.

I get the feeling that hyperz was designed with a private z-buffer in mind. It would be interesting to see if the X server can dynamically un-hyperz the backbuffer when it detects a second context being created - have a look at the TransitionTo/From functions in radeon_dri.c - currently they are mainly concerned with page flipping.


Also, Stephane has corrected the clearing problems if other windows were moved on top of a rendering window. However, for now clearing will clear all tiles up to the end of the window completely, so better don't try multiple apps or mixed hyperz/non-hyperz apps - you have been warned.
I have found no way unfortunately how to clear only the z or only the stencil buffer - the respective registers such as STENCILREFMASK and ZSTENCILCNTL do not seem to affect the hyperz clear call in any way, shape or form (and thus they are gone from the drm patch), I suspect they are only used when using the rasterizer for writing to the z/stencil buffer. This can obviously lead to rendering errors (try stencil_wrap with the attached patch to see what I mean - of course that's only useful if it ran correctly before...).

Typically this is resolved by clearing by drawing two big triangles to cover the area, enabling only depth or stencil drawing as required.


Keith


------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to