Mesa (gallium-0.2): intel: save/ restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform()

Alan Hourihane alanh at kemper.freedesktop.org
Thu Jan 29 01:00:04 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: 2fd9c2ebd6a7bd96af667ec7a97dae44ef51f7a3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fd9c2ebd6a7bd96af667ec7a97dae44ef51f7a3

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Jan 28 16:55:16 2009 -0700

intel: save/restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform()

(cherry picked from master, commit 723648f2ee2a8e529063c9da84e9dff9c8c6be99)

---

 src/mesa/drivers/dri/intel/intel_context.h |    1 +
 src/mesa/drivers/dri/intel/intel_pixel.c   |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h
index 048286c..348da34 100644
--- a/src/mesa/drivers/dri/intel/intel_context.h
+++ b/src/mesa/drivers/dri/intel/intel_context.h
@@ -168,6 +168,7 @@ struct intel_context
 
       GLint saved_vp_x, saved_vp_y;
       GLsizei saved_vp_width, saved_vp_height;
+      GLenum saved_matrix_mode;
    } meta;
 
    GLint refcount;
diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c
index cf2f32d..5e32288 100644
--- a/src/mesa/drivers/dri/intel/intel_pixel.c
+++ b/src/mesa/drivers/dri/intel/intel_pixel.c
@@ -181,6 +181,7 @@ intel_meta_set_passthrough_transform(struct intel_context *intel)
    intel->meta.saved_vp_y = ctx->Viewport.Y;
    intel->meta.saved_vp_width = ctx->Viewport.Width;
    intel->meta.saved_vp_height = ctx->Viewport.Height;
+   intel->meta.saved_matrix_mode = ctx->Transform.MatrixMode;
 
    _mesa_Viewport(0, 0, ctx->DrawBuffer->Width, ctx->DrawBuffer->Height);
 
@@ -202,6 +203,8 @@ intel_meta_restore_transform(struct intel_context *intel)
    _mesa_MatrixMode(GL_MODELVIEW);
    _mesa_PopMatrix();
 
+   _mesa_MatrixMode(intel->meta.saved_matrix_mode);
+
    _mesa_Viewport(intel->meta.saved_vp_x, intel->meta.saved_vp_y,
 		  intel->meta.saved_vp_width, intel->meta.saved_vp_height);
 }




More information about the mesa-commit mailing list