summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/vl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/vl')
-rw-r--r--src/gallium/auxiliary/vl/vl_compositor.c7
-rw-r--r--src/gallium/auxiliary/vl/vl_compositor.h3
2 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c
index 0df2b570d00..1c393a99de6 100644
--- a/src/gallium/auxiliary/vl/vl_compositor.c
+++ b/src/gallium/auxiliary/vl/vl_compositor.c
@@ -986,7 +986,8 @@ void
vl_compositor_render(struct vl_compositor_state *s,
struct vl_compositor *c,
struct pipe_surface *dst_surface,
- struct u_rect *dirty_area)
+ struct u_rect *dirty_area,
+ bool clear_dirty)
{
assert(c);
assert(dst_surface);
@@ -1004,8 +1005,8 @@ vl_compositor_render(struct vl_compositor_state *s,
gen_vertex_data(c, s, dirty_area);
- if (dirty_area && (dirty_area->x0 < dirty_area->x1 ||
- dirty_area->y0 < dirty_area->y1)) {
+ if (clear_dirty && dirty_area &&
+ (dirty_area->x0 < dirty_area->x1 || dirty_area->y0 < dirty_area->y1)) {
c->pipe->clear_render_target(c->pipe, dst_surface, &s->clear_color,
0, 0, dst_surface->width, dst_surface->height);
diff --git a/src/gallium/auxiliary/vl/vl_compositor.h b/src/gallium/auxiliary/vl/vl_compositor.h
index 6de6ca06521..2a1f66cfb16 100644
--- a/src/gallium/auxiliary/vl/vl_compositor.h
+++ b/src/gallium/auxiliary/vl/vl_compositor.h
@@ -224,7 +224,8 @@ void
vl_compositor_render(struct vl_compositor_state *state,
struct vl_compositor *compositor,
struct pipe_surface *dst_surface,
- struct u_rect *dirty_area);
+ struct u_rect *dirty_area,
+ bool clear_dirty);
/**
* destroy this compositor