diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/framebuffer.c | 11 | ||||
-rw-r--r-- | src/mesa/main/framebuffer.h | 3 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index e1505fa9709..361ed668587 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -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); +} diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h index 384f7498776..a6adb1c9661 100644 --- a/src/mesa/main/framebuffer.h +++ b/src/mesa/main/framebuffer.h @@ -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 */ |