vl/compositor: set the scissor before clearing the render target
authorChristian König <christian.koenig@amd.com>
Wed, 13 Aug 2014 19:01:33 +0000 (21:01 +0200)
committerChristian König <christian.koenig@amd.com>
Tue, 26 Aug 2014 15:56:57 +0000 (17:56 +0200)
Otherwise we clear areas that shouldn't be cleared.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
src/gallium/auxiliary/vl/vl_compositor.c

index 839fd27ae9cd7908658a8abf85f3948e3394ab93..6bd1a886ed45213bc96e69489293e903aae396ec 100644 (file)
@@ -1060,6 +1060,7 @@ vl_compositor_render(struct vl_compositor_state *s,
       s->scissor.maxx = dst_surface->width;
       s->scissor.maxy = dst_surface->height;
    }
+   c->pipe->set_scissor_states(c->pipe, 0, 1, &s->scissor);
 
    gen_vertex_data(c, s, dirty_area);
 
@@ -1072,7 +1073,6 @@ vl_compositor_render(struct vl_compositor_state *s,
       dirty_area->x1 = dirty_area->y1 = MIN_DIRTY;
    }
 
-   c->pipe->set_scissor_states(c->pipe, 0, 1, &s->scissor);
    c->pipe->set_framebuffer_state(c->pipe, &c->fb_state);
    c->pipe->bind_vs_state(c->pipe, c->vs);
    c->pipe->set_vertex_buffers(c->pipe, 0, 1, &c->vertex_buf);