diff options
author | marha <marha@users.sourceforge.net> | 2013-03-04 08:18:40 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-03-04 08:18:40 +0100 |
commit | d4d629b77742e60caac3d120ff40e9f386380af2 (patch) | |
tree | ed3eacb0fdcf29da0a24e03c4330ce8e3bb66718 /mesalib/src/mesa/main/multisample.c | |
parent | c74ef795c7282681616decc36a9a81cd1b1b6ec7 (diff) | |
download | vcxsrv-d4d629b77742e60caac3d120ff40e9f386380af2.tar.gz vcxsrv-d4d629b77742e60caac3d120ff40e9f386380af2.tar.bz2 vcxsrv-d4d629b77742e60caac3d120ff40e9f386380af2.zip |
fontconfig libX11 mesalib pixman xserver xkeyboard-config git update 4 Mar 2013
xserver commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6
xkeyboard-config commit fa2f330df22511c3846cb1cb0760551c6e244a81
libX11 commit c23d61d1b84dca3740bf4786978c7908d0065fb9
pixman commit 5feda20fc39407879993ed4a6d861ef7f78d9432
fontconfig commit 612ee2a5c91b8929b2cc5abce4af84d8d7e66bd0
mesa commit e29124717eae4f8d329bb6a9707b802c0ff4bdd9
Diffstat (limited to 'mesalib/src/mesa/main/multisample.c')
-rw-r--r-- | mesalib/src/mesa/main/multisample.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/multisample.c b/mesalib/src/mesa/main/multisample.c index f792ad01e..248494615 100644 --- a/mesalib/src/mesa/main/multisample.c +++ b/mesalib/src/mesa/main/multisample.c @@ -28,6 +28,7 @@ #include "main/macros.h" #include "main/multisample.h" #include "main/mtypes.h" +#include "main/fbobject.h" /** @@ -59,4 +60,55 @@ _mesa_init_multisample(struct gl_context *ctx) ctx->Multisample.SampleCoverage = GL_FALSE; ctx->Multisample.SampleCoverageValue = 1.0; ctx->Multisample.SampleCoverageInvert = GL_FALSE; + + /* ARB_texture_multisample / GL3.2 additions */ + ctx->Multisample.SampleMask = GL_FALSE; + ctx->Multisample.SampleMaskValue = ~(GLbitfield)0; +} + + +void GLAPIENTRY +_mesa_GetMultisamplefv(GLenum pname, GLuint index, GLfloat * val) +{ + GET_CURRENT_CONTEXT(ctx); + + switch (pname) { + case GL_SAMPLE_POSITION: { + if (index >= ctx->DrawBuffer->Visual.samples) { + _mesa_error( ctx, GL_INVALID_VALUE, "glGetMultisamplefv(index)" ); + return; + } + + ctx->Driver.GetSamplePosition(ctx, ctx->DrawBuffer, index, val); + + /* winsys FBOs are upside down */ + if (_mesa_is_winsys_fbo(ctx->DrawBuffer)) + val[1] = 1 - val[1]; + + return; + } + + default: + _mesa_error( ctx, GL_INVALID_ENUM, "glGetMultisamplefv(pname)" ); + return; + } +} + +void GLAPIENTRY +_mesa_SampleMaski(GLuint index, GLbitfield mask) +{ + GET_CURRENT_CONTEXT(ctx); + + if (!ctx->Extensions.ARB_texture_multisample) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMaski"); + return; + } + + if (index != 0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glSampleMaski(index)"); + return; + } + + FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE); + ctx->Multisample.SampleMaskValue = mask; } |