summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
diff options
context:
space:
mode:
authorMichal Krol <michal@vmware.com>2010-03-01 17:07:03 +0100
committerMichal Krol <michal@vmware.com>2010-03-01 17:07:03 +0100
commitb42455c4f48076eec34e383d5b9cc4670f2d048f (patch)
treee0d8fabc9dedc13345498f6600b948dcd56f0358 /src/gallium/drivers/r300/r300_state.c
parent932e6f8d527d2147ecc4e75ce9ae2f71e23e61af (diff)
r300: Save viewport and clip states before invoking blitter.
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r--src/gallium/drivers/r300/r300_state.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index 3550c69c46..ebb859138f 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -376,6 +376,8 @@ static void r300_set_clip_state(struct pipe_context* pipe,
{
struct r300_context* r300 = r300_context(pipe);
+ r300->clip = *state;
+
if (r300_screen(pipe->screen)->caps->has_tcl) {
memcpy(r300->clip_state.state, state, sizeof(struct pipe_clip_state));
r300->clip_state.size = 29;
@@ -986,6 +988,8 @@ static void r300_set_viewport_state(struct pipe_context* pipe,
struct r300_viewport_state* viewport =
(struct r300_viewport_state*)r300->viewport_state.state;
+ r300->viewport = *state;
+
/* Do the transform in HW. */
viewport->vte_control = R300_VTX_W0_FMT;