summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/common
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2012-09-13 10:20:07 -0700
committerPaul Berry <[email protected]>2012-09-14 14:50:41 -0700
commita29a4566354af53e3bdc4a925eddc0d7af2bf384 (patch)
tree56c28978d6fd4215f6ac839ad4d609637778154f /src/mesa/drivers/common
parent15bf3103b48a5928321fe56fbb3ed28a0f314418 (diff)
meta: Refactor handling of GL_MULTISAMPLE.
In commit 055093e (meta: remove call to _meta_in_progress(), fix multisample enable/disable), we created a meta_set_enable() function that could be used by meta ops to enable and disable GL_MULTISAMPLE even when the GLES API was in use (the GLES API doesn't support GL_MULTISAMPLE; it behaves as if it is always enabled). This created some unfortunate code duplication between meta_set_enable() and the existing _mesa_set_enable() function. This patch eliminates the duplication by creating a _mesa_set_multisample() function, which is used by both meta ops and _mesa_set_enable() to enable/disable GL_MULTISAMPLE. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/common')
-rw-r--r--src/mesa/drivers/common/meta.c33
1 files changed, 2 insertions, 31 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 3d8e13838bf..677548e94eb 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -448,35 +448,6 @@ _mesa_meta_free(struct gl_context *ctx)
/**
- * This is an alternative to _mesa_set_enable() to handle some special cases.
- * See comments inside.
- */
-static void
-meta_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
-{
- switch (cap) {
- case GL_MULTISAMPLE:
- /* We need to enable/disable multisample when using GLES but this enum
- * is not supported there.
- */
- if (ctx->Multisample.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
- ctx->Multisample.Enabled = state;
- break;
- default:
- _mesa_problem(ctx, "Unexpected cap in _meta_set_enable()");
- return;
- }
-
- if (ctx->Driver.Enable) {
- ctx->Driver.Enable(ctx, cap, state);
- }
-}
-
-
-
-/**
* Enter meta state. This is like a light-weight version of glPushAttrib
* but it also resets most GL state back to default values.
*
@@ -796,7 +767,7 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
if (state & MESA_META_MULTISAMPLE) {
save->MultisampleEnabled = ctx->Multisample.Enabled;
if (ctx->Multisample.Enabled)
- meta_set_enable(ctx, GL_MULTISAMPLE, GL_FALSE);
+ _mesa_set_multisample(ctx, GL_FALSE);
}
/* misc */
@@ -1100,7 +1071,7 @@ _mesa_meta_end(struct gl_context *ctx)
if (state & MESA_META_MULTISAMPLE) {
if (ctx->Multisample.Enabled != save->MultisampleEnabled)
- meta_set_enable(ctx, GL_MULTISAMPLE, save->MultisampleEnabled);
+ _mesa_set_multisample(ctx, save->MultisampleEnabled);
}
/* misc */