From: Mathias Fröhlich <mathias.froehl...@gmx.net> Restore clip control to the default state if MESA_META_VIEWPORT or MESA_META_DEPTH_TEST is requested.
v3: Handle clip control state with MESA_META_TRANSFORM. Signed-off-by: Mathias Froehlich <mathias.froehl...@web.de> --- src/mesa/drivers/common/meta.c | 6 ++++++ src/mesa/drivers/common/meta.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 7a8e627..ebb6f5c 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -680,6 +680,10 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) _mesa_Ortho(0.0, ctx->DrawBuffer->Width, 0.0, ctx->DrawBuffer->Height, -1.0, 1.0); + + save->ClipControlOrigin = ctx->Transform.Origin; + save->ClipControlDepth = ctx->Transform.Depth; + _mesa_ClipControl(GL_LOWER_LEFT, GL_NEGATIVE_ONE_TO_ONE); } if (state & MESA_META_CLIP) { @@ -1081,6 +1085,8 @@ _mesa_meta_end(struct gl_context *ctx) _mesa_LoadMatrixf(save->ProjectionMatrix); _mesa_MatrixMode(save->MatrixMode); + + _mesa_ClipControl(save->ClipControlOrigin, save->ClipControlDepth); } if (state & MESA_META_CLIP) { diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h index 2c9517b..596a0d9 100644 --- a/src/mesa/drivers/common/meta.h +++ b/src/mesa/drivers/common/meta.h @@ -136,6 +136,8 @@ struct save_state GLfloat ModelviewMatrix[16]; GLfloat ProjectionMatrix[16]; GLfloat TextureMatrix[16]; + GLenum ClipControlOrigin; + GLenum ClipControlDepth; /** MESA_META_CLIP */ GLbitfield ClipPlanesEnabled; -- 1.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev