summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2014-02-13 02:33:37 -0500
committerMaarten Lankhorst <[email protected]>2014-02-13 10:08:29 +0100
commitef9a6ded10d17e42b36a1382d71fd6d547121ee7 (patch)
tree40e42c6511b7d5bca165624ae346dbb76b04582e
parent1ef7b9de068cc8c17b148538e569ec8d3d601fdf (diff)
nv50: mark scissors/viewports dirty on context switch
Commit 246ca4b001 ("nv50: implement multiple viewports/scissors, enable ARB_viewport_array") added dirty tracking to scissors/viewports. However it neglected to mark them all as dirty on a context switch. This fixes an apparent regression in webgl in chrome, but probably in any application that switches contexts. Signed-off-by: Ilia Mirkin <[email protected]>
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_state_validate.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c b/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
index dfce193b020..f953422df3d 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
@@ -366,6 +366,8 @@ nv50_switch_pipe_context(struct nv50_context *ctx_to)
ctx_to->state = ctx_from->state;
ctx_to->dirty = ~0;
+ ctx_to->viewports_dirty = ~0;
+ ctx_to->scissors_dirty = ~0;
if (!ctx_to->vertex)
ctx_to->dirty &= ~(NV50_NEW_VERTEX | NV50_NEW_ARRAYS);