On 12/01/14 22:52, Emil Velikov wrote:
> _ColorDrawBufferIndexes is defined as GLint* and using a GLuint*
> will result in the first part of the conditional to be evaluated to
> true always.
> 
> Unintentionally introduced by the following commit, this will result
> in a driver segfault if one is using an old version of the piglit test
> 
>     bin/clearbuffer-mixed-format -auto -fbo
> 
And by old, my piglit was at e696687133c02b1e16ae198101ac04cd5fd6eb41
when I ran into this problem.

Emil

> commit 03d848ea1003abefd8fe51a5b4a780527cd852af
> Author: Marek Olšák <[email protected]>
> Date:   Wed Dec 4 00:27:20 2013 +0100
> 
>     mesa: fix interpretation of glClearBuffer(drawbuffer)
> 
>     This corresponding piglit tests supported this incorrect behavior instead 
> of
>     pointing at it.
> 
> Cc: Marek Olšák <[email protected]>
> Cc: 10.0 9.2 9.1 <[email protected]>
> Signed-off-by: Emil Velikov <[email protected]>
> ---
>  src/mesa/main/clear.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c
> index f0b525f..d568ed8 100644
> --- a/src/mesa/main/clear.c
> +++ b/src/mesa/main/clear.c
> @@ -274,7 +274,7 @@ make_color_buffer_mask(struct gl_context *ctx, GLint 
> drawbuffer)
>        break;
>     default:
>        {
> -         GLuint buf = ctx->DrawBuffer->_ColorDrawBufferIndexes[drawbuffer];
> +         GLint buf = ctx->DrawBuffer->_ColorDrawBufferIndexes[drawbuffer];
>  
>           if (buf >= 0 && att[buf].Renderbuffer) {
>              mask |= 1 << buf;
> 

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to