summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/enable.c
diff options
context:
space:
mode:
authorChris Forbes <chrisf@ijw.co.nz>2012-11-30 21:22:14 +1300
committerChris Forbes <chrisf@ijw.co.nz>2013-03-02 11:35:16 +1300
commit1822496f3a7baf1c1726fda008cb89fbbade5c8d (patch)
tree03eec65012883b8a943b24fdc8837bd3fa0b0f14 /src/mesa/main/enable.c
parent7c1017e292b2d27af6d7e15db874f50223d73e15 (diff)
downloadexternal_mesa3d-1822496f3a7baf1c1726fda008cb89fbbade5c8d.zip
external_mesa3d-1822496f3a7baf1c1726fda008cb89fbbade5c8d.tar.gz
external_mesa3d-1822496f3a7baf1c1726fda008cb89fbbade5c8d.tar.bz2
mesa: implement sample mask
V2: - fix multiline comment style - stop using ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH since that doesn't exist anymore. V3: - check for the extension being enabled - tidier flagging of _NEW_MULTISAMPLE - fix weird indentation in get.c V4: - move flush later in SampleMaski() Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/mesa/main/enable.c')
-rw-r--r--src/mesa/main/enable.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index 7e85fdf..b688f05 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -1013,6 +1013,17 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
}
break;
+ /* ARB_texture_multisample */
+ case GL_SAMPLE_MASK:
+ if (!_mesa_is_desktop_gl(ctx))
+ goto invalid_enum_error;
+ CHECK_EXTENSION(ARB_texture_multisample, cap);
+ if (ctx->Multisample.SampleMask == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+ ctx->Multisample.SampleMask = state;
+ break;
+
default:
goto invalid_enum_error;
}
@@ -1583,6 +1594,13 @@ _mesa_IsEnabled( GLenum cap )
CHECK_EXTENSION(OES_EGL_image_external);
return is_texture_enabled(ctx, TEXTURE_EXTERNAL_BIT);
+ /* ARB_texture_multisample */
+ case GL_SAMPLE_MASK:
+ if (!_mesa_is_desktop_gl(ctx))
+ goto invalid_enum_error;
+ CHECK_EXTENSION(ARB_texture_multisample);
+ return ctx->Multisample.SampleMask;
+
default:
goto invalid_enum_error;
}