From: Luca B. <lu...@lu...> - 2010-03-23 16:14:34
|
Commit bd1ce874728c06d08a1f9881f51edbdd2f1c9db0 "st/dri: Switch from st_public.h to st_api.h" broke etracer on Gallium nvfx. The root cause appears to be that etracer calls glClear with the stencil bit set, but does not ask for a stencil buffer. Enabling "stencil_buffer" in the etracer config works around the issue. This results in strb being null, and the check for strb->surface in st_clear segfaulting. I'm not sure why that commit would cause this: I guess it unintentionally indirectly changes the way st/dri handles stencil buffers. Changing if(strb->surface) to if(strb && strb->surface) everywhere inside st_clear fixes the issue, but I'm not at all sure it is the right fix. Should st_clear check strb for null or is it supposed to be always non-null? (and the bug is thus somewhere else?) Did that commit just expose a bug, or is it buggy itself? |