mesa: add check for NV_texture_barrier in _mesa_TextureBarrierNV()

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.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
Brian Paul 2015-04-16 15:27:41 -06:00
parent b260d9d91f
commit bd4dbdfa51

View file

@ -49,5 +49,11 @@ _mesa_TextureBarrierNV(void)
{
GET_CURRENT_CONTEXT(ctx);
if (!ctx->Extensions.NV_texture_barrier) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTextureBarrier(not supported)");
return;
}
ctx->Driver.TextureBarrier(ctx);
}