aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/drivers/common/meta.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-07-26 12:48:28 +0200
committermarha <marha@users.sourceforge.net>2011-07-26 12:48:28 +0200
commitdc23661fa1d58aa98d67fae47a919de452b8cd28 (patch)
tree0a8c7987f3756290e3ba9cfb8cdf23d6e9532037 /mesalib/src/mesa/drivers/common/meta.c
parent8680f93ff96770b0a022596d8d4092a29c586435 (diff)
parentece07bdeaa82ea59e74bcfc588bcabe5e47567c1 (diff)
downloadvcxsrv-dc23661fa1d58aa98d67fae47a919de452b8cd28.tar.gz
vcxsrv-dc23661fa1d58aa98d67fae47a919de452b8cd28.tar.bz2
vcxsrv-dc23661fa1d58aa98d67fae47a919de452b8cd28.zip
Merge remote-tracking branch 'origin/released'
Conflicts: libX11/specs/libX11/CH11.xml mesalib/src/glsl/main.cpp mesalib/src/mesa/main/compiler.h mesalib/src/mesa/main/get.c mesalib/src/mesa/main/texcompress.c mesalib/src/mesa/main/texparam.c mesalib/src/mesa/program/ir_to_mesa.cpp mesalib/src/mesa/program/prog_optimize.c pixman/pixman/pixman-fast-path.c pixman/pixman/pixman-fast-path.h xorg-server/hw/xquartz/GL/indirect.c xorg-server/hw/xquartz/X11Application.h xorg-server/hw/xquartz/X11Application.m xorg-server/hw/xquartz/bundle/Resources/French.lproj/locversion.plist xorg-server/hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib xorg-server/hw/xquartz/bundle/Resources/German.lproj/locversion.plist xorg-server/hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib xorg-server/hw/xquartz/darwinEvents.c xorg-server/hw/xquartz/darwinEvents.h xorg-server/hw/xquartz/man/Xquartz.man xorg-server/hw/xquartz/xpr/dri.c xorg-server/xkeyboard-config/symbols/ee
Diffstat (limited to 'mesalib/src/mesa/drivers/common/meta.c')
-rw-r--r--mesalib/src/mesa/drivers/common/meta.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c
index fa78674e4..26c895196 100644
--- a/mesalib/src/mesa/drivers/common/meta.c
+++ b/mesalib/src/mesa/drivers/common/meta.c
@@ -90,13 +90,14 @@
#define META_SCISSOR 0x100
#define META_SHADER 0x200
#define META_STENCIL_TEST 0x400
-#define META_TRANSFORM 0x800 /**< modelview, projection, clip planes */
+#define META_TRANSFORM 0x800 /**< modelview/projection matrix state */
#define META_TEXTURE 0x1000
#define META_VERTEX 0x2000
#define META_VIEWPORT 0x4000
#define META_CLAMP_FRAGMENT_COLOR 0x8000
#define META_CLAMP_VERTEX_COLOR 0x10000
#define META_CONDITIONAL_RENDER 0x20000
+#define META_CLIP 0x40000
/*@}*/
@@ -165,6 +166,8 @@ struct save_state
GLfloat ModelviewMatrix[16];
GLfloat ProjectionMatrix[16];
GLfloat TextureMatrix[16];
+
+ /** META_CLIP */
GLbitfield ClipPlanesEnabled;
/** META_TEXTURE */
@@ -547,6 +550,9 @@ _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);
+ }
+
+ if (state & META_CLIP) {
save->ClipPlanesEnabled = ctx->Transform.ClipPlanesEnabled;
if (ctx->Transform.ClipPlanesEnabled) {
GLuint i;
@@ -846,7 +852,9 @@ _mesa_meta_end(struct gl_context *ctx)
_mesa_LoadMatrixf(save->ProjectionMatrix);
_mesa_MatrixMode(save->MatrixMode);
+ }
+ if (state & META_CLIP) {
if (save->ClipPlanesEnabled) {
GLuint i;
for (i = 0; i < ctx->Const.MaxClipPlanes; i++) {
@@ -1669,6 +1677,7 @@ _mesa_meta_glsl_Clear(struct gl_context *ctx, GLbitfield buffers)
META_STENCIL_TEST |
META_VERTEX |
META_VIEWPORT |
+ META_CLIP |
META_CLAMP_FRAGMENT_COLOR);
if (!(buffers & BUFFER_BITS_COLOR)) {
@@ -1783,6 +1792,7 @@ _mesa_meta_CopyPixels(struct gl_context *ctx, GLint srcX, GLint srcY,
META_SHADER |
META_TEXTURE |
META_TRANSFORM |
+ META_CLIP |
META_VERTEX |
META_VIEWPORT));
@@ -2104,6 +2114,7 @@ _mesa_meta_DrawPixels(struct gl_context *ctx,
META_SHADER |
META_TEXTURE |
META_TRANSFORM |
+ META_CLIP |
META_VERTEX |
META_VIEWPORT |
META_CLAMP_FRAGMENT_COLOR |
@@ -2313,6 +2324,7 @@ _mesa_meta_Bitmap(struct gl_context *ctx,
META_SHADER |
META_TEXTURE |
META_TRANSFORM |
+ META_CLIP |
META_VERTEX |
META_VIEWPORT));