On 01/30/2014 09:51 AM, Rogovin, Kevin wrote:
>> @@ -487,6 +486,7 @@ setup_shader_for_sampler(struct gl_context *ctx, struct 
>> glsl_sampler
>> *sampler)
>>                                   "void main()\n"
>>                                  "{\n"
>>                                  "   gl_FragColor = %s(texSampler, %s);\n"
>> +                                  "   gl_FragDepth = gl_FragColor.x;\n"
> 
> *IF* I understood what this is to do, is to provide FBO blit API
> implementation from upstairs mesa. Should not a different shader be used
> base on the 8 possibilities(really 7 since all 0 means no-op) of the
> bits being up and down: COLOR_BUFFER_BIT, DEPTH_BUFFER_BIT and
> STENCIL_BUFFER_BIT ? The above looks like to me to handle either
> COLOR_BUFFER_BIT or DEPTH_BUFFER_BIT up, but not both. With that in mind
> then there would be up to 3 separate samplers (one for color, one for
> stencil and one for depth).

We can't do stencil blits with GLSL because no driver that uses meta can
do the GL_ARB_shader_stencil_export extension.  For depth and color
blits, we can always write the values from the shader, and disable
writes to the buffers using glColorMask and glDepthMask.  So... we just
need one shader.

> Or am I missing something?
> 
> -Kevin
> 
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to