Mesa (master): nv50: mark scissors/viewports dirty on context switch

Maarten Lankhorst mlankhorst at kemper.freedesktop.org
Thu Feb 13 09:07:56 UTC 2014


Module: Mesa
Branch: master
Commit: 72554f90813b4a3ef5a646aa4346925a3e52bab9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72554f90813b4a3ef5a646aa4346925a3e52bab9

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Thu Feb 13 02:33:37 2014 -0500

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 <imirkin at alum.mit.edu>

---

 src/gallium/drivers/nouveau/nv50/nv50_state_validate.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c b/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
index dfce193..f953422 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);




More information about the mesa-commit mailing list