diff options
author | Marek Olšák <[email protected]> | 2012-12-21 17:03:22 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-01-04 13:18:33 +0100 |
commit | 598cc1f74d7ae924e84dee801b456ab7b0b22f84 (patch) | |
tree | 5dcbab29d7ed274768892a9890fd1dec5f964a6d /src/gallium/state_trackers/vdpau | |
parent | 4ad5ebaefa3c5918001a40ed6099521aa0142c95 (diff) |
gallium: extend pipe_context::flush for it to accept an END_OF_FRAME flag
Usage with pipe_context:
pipe->flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME);
Usage with st_context_iface:
st->flush(st, ST_FLUSH_END_OF_FRAME, NULL);
The flag is only a hint for drivers. Radeon will use it for buffer eviction
heuristics in the kernel (e.g. for queries like how many frames have passed
since a buffer was used).
The flag is currently only generated by st/dri on SwapBuffers.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Stéphane Marchesin <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/vdpau')
-rw-r--r-- | src/gallium/state_trackers/vdpau/presentation.c | 2 | ||||
-rw-r--r-- | src/gallium/state_trackers/vdpau/surface.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/vdpau/presentation.c b/src/gallium/state_trackers/vdpau/presentation.c index 349654d0625..3dd7f05375e 100644 --- a/src/gallium/state_trackers/vdpau/presentation.c +++ b/src/gallium/state_trackers/vdpau/presentation.c @@ -275,7 +275,7 @@ vlVdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue, ); pipe->screen->fence_reference(pipe->screen, &surf->fence, NULL); - pipe->flush(pipe, &surf->fence); + pipe->flush(pipe, &surf->fence, 0); if (dump_window == -1) { dump_window = debug_get_num_option("VDPAU_DUMP", 0); diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c index c987979f1f4..5c06f8511aa 100644 --- a/src/gallium/state_trackers/vdpau/surface.c +++ b/src/gallium/state_trackers/vdpau/surface.c @@ -359,5 +359,5 @@ vlVdpVideoSurfaceClear(vlVdpSurface *vlsurf) pipe->clear_render_target(pipe, surfaces[i], &c, 0, 0, surfaces[i]->width, surfaces[i]->height); } - pipe->flush(pipe, NULL); + pipe->flush(pipe, NULL, 0); } |