swr: don't clear all dirty bits when changing so targets
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 26 Nov 2016 02:08:16 +0000 (21:08 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 29 Nov 2016 00:41:23 +0000 (19:41 -0500)
Among other things, blits would clear existing SO targets which would
cause a bunch of updates from u_blitter to be missed.

Fixes fbo-scissor-blit fbo, probably among many others.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/swr_state.cpp

index 41193795ce1c7251c3e712b8305f90ca01e3e073..a67cb6050d967f00f5200d8cf9469cd0c742d9b2 100644 (file)
@@ -1570,7 +1570,7 @@ swr_set_so_targets(struct pipe_context *pipe,
 
    swr->num_so_targets = num_targets;
 
-   swr->dirty = SWR_NEW_SO;
+   swr->dirty |= SWR_NEW_SO;
 }