vc4: Only update vc4->msaa when the framebuffer changes.
authorEric Anholt <eric@anholt.net>
Mon, 14 Dec 2015 23:31:40 +0000 (15:31 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 15 Dec 2015 20:02:53 +0000 (12:02 -0800)
Any update here should have been the same as in
vc4_set_framebuffer_state(), except for the point where vc4_blit.c
temporarily sets different state for its different buffers.

src/gallium/drivers/vc4/vc4_context.c

index 0f6b97149292869639edd5e4eb4c62984889b211..312b006f96e1eb6a11851f80fda397e6bc032056 100644 (file)
@@ -67,7 +67,6 @@ vc4_flush(struct pipe_context *pctx)
         cl_u8(&bcl, VC4_PACKET_FLUSH);
         cl_end(&vc4->bcl, bcl);
 
-        vc4->msaa = false;
         if (cbuf && (vc4->resolve & PIPE_CLEAR_COLOR0)) {
                 pipe_surface_reference(&vc4->color_write,
                                        cbuf->texture->nr_samples > 1 ?
@@ -76,9 +75,6 @@ vc4_flush(struct pipe_context *pctx)
                                        cbuf->texture->nr_samples > 1 ?
                                        cbuf : NULL);
 
-                if (cbuf->texture->nr_samples > 1)
-                        vc4->msaa = true;
-
                 if (!(vc4->cleared & PIPE_CLEAR_COLOR0)) {
                         pipe_surface_reference(&vc4->color_read, cbuf);
                 } else {
@@ -100,9 +96,6 @@ vc4_flush(struct pipe_context *pctx)
                                        zsbuf->texture->nr_samples > 1 ?
                                        zsbuf : NULL);
 
-                if (zsbuf->texture->nr_samples > 1)
-                        vc4->msaa = true;
-
                 if (!(vc4->cleared & (PIPE_CLEAR_DEPTH | PIPE_CLEAR_STENCIL))) {
                         pipe_surface_reference(&vc4->zs_read, zsbuf);
                 } else {