Ian Romanick wrote:
Ian Romanick wrote:

In any case, here is the patch as it currently stands. demos/occlude doesn't work right, but I'm working on it. I've also attached a patch to demos/shadowtex.c to change the way cycling compare mode works. It can now cycle with the SGIX version. I'll commit this later. I want to modify it further to select at run-time which extensions to use.


I've been trying to solve the HP_occlusion_test problem all morning. As near as I can tell, all of the right GLX protocol is happening, but the OCCLUSION_TEST_RESULT_HP is always false. The only thing I can think of is that the extension isn't enabled in Mesa. How does the Mesa that gets compiled in know which extensions to enable? Does it just use _mesa_enable_sw_extnesions?

Here's what I have done.


1. I put a printf in glGetBooleanv (lib/GL/glx/single2.c) to print a message when glGetBoolean is called with GL_OCCLUSION_TEST_RESULT_HP as the val.

2. I put a xf86printf in __glXDisp_GetBooleanv (programs/Xserver/GL/glx/g_single.c) and __glXDispSwap_GetBooleanv (programs/Xserver/GL/glx/g_singleswap.c) to log compsize when *pc is GL_OCCLUSION_TEST_RESULT_HP.

3. I put two _mesa_debug messages in _mesa_GetBooleanv in the GL_OCCLUSION_TEST_RESULT_HP case to log that it was called and the result.

The first message gets logged to the window that starts demos/occlude and the thrid message gets logged to the console that started XFree86. The second message never gets logged anywhere. The state of ctx->Depth.OcclusionTest printed in _mesa_GetBooleanv is always GL_TRUE (as it should be), but the value of ctx->OcclusionResult is always GL_FALSE (yes, I print the message *before* OcclusionResult is explicitly set to false).

Based on that I conclude that my GLX protocol is correct, but there is a bug in HP_occlusion_test in Mesa 5.0. However, using LD_PRELOAD & LD_LIBRARY_PATH to get the libGL from mesa_5_0_branch with demos/occlude gives the correct results.

I'm very, very confused. :(



-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to