diff options
Diffstat (limited to 'src/gallium/state_trackers/vdpau/presentation.c')
-rw-r--r-- | src/gallium/state_trackers/vdpau/presentation.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/gallium/state_trackers/vdpau/presentation.c b/src/gallium/state_trackers/vdpau/presentation.c index b2c8aea45c9..d4793692f90 100644 --- a/src/gallium/state_trackers/vdpau/presentation.c +++ b/src/gallium/state_trackers/vdpau/presentation.c @@ -251,27 +251,15 @@ vlVdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue, dst_clip.x1 = clip_width ? clip_width : surf_draw->width; dst_clip.y1 = clip_height ? clip_height : surf_draw->height; - if (pq->device->delayed_rendering.surface == surface && - dst_clip.x1 == surf_draw->width && dst_clip.y1 == surf_draw->height) { - - // TODO: we correctly support the clipping here, but not the pq background color in the clipped area.... - cstate = pq->device->delayed_rendering.cstate; - vl_compositor_set_dst_clip(cstate, &dst_clip); - vlVdpResolveDelayedRendering(pq->device, surf_draw, dirty_area); - - } else { - vlVdpResolveDelayedRendering(pq->device, NULL, NULL); - - src_rect.x0 = 0; - src_rect.y0 = 0; - src_rect.x1 = surf_draw->width; - src_rect.y1 = surf_draw->height; - - vl_compositor_clear_layers(cstate); - vl_compositor_set_rgba_layer(cstate, compositor, 0, surf->sampler_view, &src_rect, NULL, NULL); - vl_compositor_set_dst_clip(cstate, &dst_clip); - vl_compositor_render(cstate, compositor, surf_draw, dirty_area, true); - } + src_rect.x0 = 0; + src_rect.y0 = 0; + src_rect.x1 = surf_draw->width; + src_rect.y1 = surf_draw->height; + + vl_compositor_clear_layers(cstate); + vl_compositor_set_rgba_layer(cstate, compositor, 0, surf->sampler_view, &src_rect, NULL, NULL); + vl_compositor_set_dst_clip(cstate, &dst_clip); + vl_compositor_render(cstate, compositor, surf_draw, dirty_area, true); } vscreen->set_next_timestamp(vscreen, earliest_presentation_time); |