[Mesa-dev] [PATCH 2/3] mesa: add check for NV_texture_barrier in _mesa_TextureBarrierNV()

Brian Paul brianp at vmware.com
Thu Apr 16 14:52:37 PDT 2015


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



More information about the mesa-dev mailing list