If an app called glTextureBarrierNV() without checking if the extension was available, we'd crash with some gallium drivers in st_TextureBarrier() because the pipe_context::texture_barrier() pointer was NULL.
Generate GL_INVALID_OPERATION instead. --- src/mesa/main/texturebarrier.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/main/texturebarrier.c b/src/mesa/main/texturebarrier.c index 08ff561..4b2dda5 100644 --- a/src/mesa/main/texturebarrier.c +++ b/src/mesa/main/texturebarrier.c @@ -49,5 +49,11 @@ _mesa_TextureBarrierNV(void) { GET_CURRENT_CONTEXT(ctx); + if (!ctx->Extensions.NV_texture_barrier) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTextureBarrierNV(not supported)"); + return; + } + ctx->Driver.TextureBarrier(ctx); } -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev