1 Sep 2005 06:05
Finishing up renderbuffer changes in DRI drivers
Brian Paul <brian.paul <at> tungstengraphics.com>
2005-09-01 04:05:28 GMT
2005-09-01 04:05:28 GMT
I'm trying to tie up some loose ends from the GL_EXT_framebuffer_object work I did a while back. I previously updated the span functions so they'd take a gl_renderbuffer pointer and now I'm making the code actually use that parameter. The idea is to use the fields of the gl_renderbuffer parameter to determine where to read/write the pixels, instead of using per-context state which is set in the SetBuffer routine. I'm checking in the updated radeon and r200 drivers and I'll do the mach64 and r128 drivers next. I've tested the radeon changes, but not the r200. If someone could run the reflect demo on r200 and use the a/s/d/f/c keys to exercise the span routines, that would be good. The readpix and singlebuffer demos are good tests too. In the r200 code, I've left in the old code surrounded by #ifdef 000 / #endif to make it obvious what I changed. I'll remove the #ifdef 000 code later. It would be nice if other driver maintainers could take a look and carry over the changes. The basic idea is to: 1. Remove the SetBuffer() routine. 2. In the span routines, cast the gl_renderbuffer pointer into a driRenderbuffer pointer and use its offset/pitch/cpp fields instead of the per-context offset/pitch/cpp fields. 3. Clean-up other code related to offset/pitch/cpp elsewhere as needed. After this is done, I can remove a bunch of unneeded code from the swrast module.(Continue reading)
.
>
>> - Without pageflip, reflect partly works. a/d/f/c look good (though c
>> looks the same as f), but s is hosed beyond recognition. readpix
>> works, as does zreaddraw and singlebuffer.
>
>
> 's' should show a white quad for the 'table' surface representing the
> stencil buffer values. 'f' toggles front/back rendering - it'll look
> flickery and especially so when using a/s/d to show the alpha channel,
> stencil buffer or depth buffer.
Not sure why I didn't notice the flicker before
it's pretty obvious.
> Can you check if 's' worked before I changed the driver?
Yes, it works correctly (even with color tiling) with a checkout from
yesterday. Strange that depth works but stencil doesn't...
(btw the readbacks really suck. reflect gets down to 15fps when viewing
RSS Feed