mesa: Add helper function _mesa_is_alpha_test_enabled()
authorAnuj Phogat <anuj.phogat@gmail.com>
Tue, 25 Oct 2016 18:55:44 +0000 (11:55 -0700)
committerAnuj Phogat <anuj.phogat@gmail.com>
Tue, 8 Nov 2016 00:13:02 +0000 (16:13 -0800)
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
src/mesa/main/framebuffer.c
src/mesa/main/framebuffer.h

index e1505fa97098ee9e70e330002d52112cc62da9c4..361ed668587aa9d774c359fce720212796ce30b5 100644 (file)
@@ -1005,3 +1005,14 @@ _mesa_is_multisample_enabled(const struct gl_context *ctx)
           ctx->DrawBuffer &&
           _mesa_geometric_nonvalidated_samples(ctx->DrawBuffer) > 1;
 }
+
+/**
+ * Is alpha testing enabled and applicable to the currently bound
+ * framebuffer?
+ */
+bool
+_mesa_is_alpha_test_enabled(const struct gl_context *ctx)
+{
+   bool buffer0_is_integer = ctx->DrawBuffer->_IntegerBuffers & 0x1;
+   return (ctx->Color.AlphaEnabled && !buffer0_is_integer);
+}
index 384f74987765431581897765eb2592bab68c31cb..a6adb1c96615b2a4af0ddae53723093c29af5c33 100644 (file)
@@ -149,4 +149,7 @@ _mesa_is_front_buffer_drawing(const struct gl_framebuffer *fb);
 extern bool
 _mesa_is_multisample_enabled(const struct gl_context *ctx);
 
+extern bool
+_mesa_is_alpha_test_enabled(const struct gl_context *ctx);
+
 #endif /* FRAMEBUFFER_H */