nv50: mark scissors/viewports dirty on context switch
authorIlia Mirkin <imirkin@alum.mit.edu>
Thu, 13 Feb 2014 07:33:37 +0000 (02:33 -0500)
committerMaarten Lankhorst <dev@mblankhorst.nl>
Thu, 13 Feb 2014 09:08:29 +0000 (10:08 +0100)
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 <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nv50/nv50_state_validate.c

index dfce193b02017f3df4f022d0f11b6558166252b6..f953422df3db41272698a6240311da3c58b2946c 100644 (file)
@@ -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);