[Mesa-dev] Depthbuffer gl_FragDepth / glReadPixels on VMWare

stefanb at starnberg-mail.de stefanb at starnberg-mail.de
Tue Jan 25 06:04:48 PST 2011


Hi Jose,

thanks for the quick reply: I'm using Win7 for both, guest (32bit)
and host (64bit).

I do the depth buffer reads only for debugging / regression testing.
Would a copy depth-to-texture and shader blit to the color channels
work ? Reading the color back buffer via glReadPixels is ok.

Regards,

Stefan


Zitat von José Fonseca <jfonseca at vmware.com>:

> 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