[Mesa-dev] Depthbuffer gl_FragDepth / glReadPixels on VMWare

José Fonseca jfonseca at vmware.com
Tue Jan 25 05:55:30 PST 2011


On Tue, 2011-01-25 at 01:13 -0800, stefanb at starnberg-mail.de wrote:
> Hi,
> 
> i'm trying to get one of our testsuites running in VMWare
> (VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE; OGL 2.1 Mesa  
> 7.7.1-DEVEL).
> With the GDI backend everything works fine (tested in 7.7,7.8,7.10).
> 
> I have a glsl shader that writes depth like
> 
> void main()
> {
>    vec4 v = texure2D(tex,gl_TexCoord[0].st);
> 
>    gl_FragColor = vec4(0,0,0,0);
>    gl_FragDepth = v.x;
> }
> 
> which doesn't work when running in VMWare's Mesa.
> 
> Even a simple clear and readback of the depth buffer doesn't work, like:
>   glClearDepth(0.6f);
>   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
>   glReadPixels(0,0,m_Dim[0], m_Dim[1], GL_DEPTH_STENCIL_EXT,  
> GL_UNSIGNED_INT_24_8_EXT, tmpBufferInt);
>    or
>   glReadPixels(0,0,m_Dim[0], m_Dim[1], GL_DEPTH_COMPONENT, GL_FLOAT,  
> tmpBuffer);
> 
> Both reads return all zeros.
> 
> I don't know if VMWare's Mesa is a different branch and if this is the right
> place to report those bugs (if it is a bug)
> 
> Stefan

Stefan,

What guest OS and host OS are you using?

We can only comment here on the open sourced Linux OpenGL guest drivers.

The typical procedure is to file a SR through
http://www.vmware.com/support/contacts/ , which ensures the issue will
be included in our internal bug database, and then triage and addressed
in an eventual release.

That said, I can advance that reading the depth-stencil buffer currently
doesn't work on Windows hosts due to limitations that D3D9 API imposes
on locking depth-stencil buffers. But it should work on Linux/MacOSX
hosts. 

Jose



More information about the mesa-dev mailing list