gallium: extend pipe_context::flush for it to accept an END_OF_FRAME flag
authorMarek Olšák <maraeo@gmail.com>
Fri, 21 Dec 2012 16:03:22 +0000 (17:03 +0100)
committerMarek Olšák <maraeo@gmail.com>
Fri, 4 Jan 2013 12:18:33 +0000 (13:18 +0100)
commit598cc1f74d7ae924e84dee801b456ab7b0b22f84
tree5dcbab29d7ed274768892a9890fd1dec5f964a6d
parent4ad5ebaefa3c5918001a40ed6099521aa0142c95
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 <brianp@vmware.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
63 files changed:
src/gallium/drivers/galahad/glhd_context.c
src/gallium/drivers/i915/i915_flush.c
src/gallium/drivers/i915/i915_resource_texture.c
src/gallium/drivers/identity/id_context.c
src/gallium/drivers/llvmpipe/lp_context.c
src/gallium/drivers/noop/noop_pipe.c
src/gallium/drivers/nv30/nv30_context.c
src/gallium/drivers/nv50/nv50_context.c
src/gallium/drivers/nvc0/nvc0_context.c
src/gallium/drivers/r300/r300_flush.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/radeonsi/radeonsi_pipe.c
src/gallium/drivers/rbug/rbug_context.c
src/gallium/drivers/rbug/rbug_core.c
src/gallium/drivers/softpipe/sp_flush.c
src/gallium/drivers/softpipe/sp_flush.h
src/gallium/drivers/svga/svga_pipe_flush.c
src/gallium/drivers/trace/tr_context.c
src/gallium/include/pipe/p_context.h
src/gallium/include/pipe/p_defines.h
src/gallium/include/state_tracker/st_api.h
src/gallium/state_trackers/clover/core/queue.cpp
src/gallium/state_trackers/d3d1x/dxgi/src/dxgi_native.cpp
src/gallium/state_trackers/dri/common/dri_drawable.c
src/gallium/state_trackers/dri/drm/dri2.c
src/gallium/state_trackers/egl/android/native_android.cpp
src/gallium/state_trackers/egl/common/native_helper.c
src/gallium/state_trackers/vdpau/presentation.c
src/gallium/state_trackers/vdpau/surface.c
src/gallium/state_trackers/vega/api_context.c
src/gallium/state_trackers/vega/vg_manager.c
src/gallium/state_trackers/xa/xa_composite.c
src/gallium/state_trackers/xa/xa_context.c
src/gallium/state_trackers/xa/xa_tracker.c
src/gallium/state_trackers/xa/xa_yuv.c
src/gallium/state_trackers/xorg/xorg_crtc.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/state_trackers/xorg/xorg_exa.c
src/gallium/state_trackers/xvmc/surface.c
src/gallium/tests/graw/clear.c
src/gallium/tests/graw/fs-fragcoord.c
src/gallium/tests/graw/fs-frontface.c
src/gallium/tests/graw/fs-test.c
src/gallium/tests/graw/fs-write-z.c
src/gallium/tests/graw/gs-test.c
src/gallium/tests/graw/occlusion-query.c
src/gallium/tests/graw/quad-sample.c
src/gallium/tests/graw/quad-tex.c
src/gallium/tests/graw/shader-leak.c
src/gallium/tests/graw/tex-srgb.c
src/gallium/tests/graw/tex-swizzle.c
src/gallium/tests/graw/tri-gs.c
src/gallium/tests/graw/tri-instanced.c
src/gallium/tests/graw/tri.c
src/gallium/tests/graw/vs-test.c
src/gallium/tests/trivial/quad-tex.c
src/gallium/tests/trivial/tri.c
src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c
src/mesa/state_tracker/st_cb_flush.c
src/mesa/state_tracker/st_cb_flush.h
src/mesa/state_tracker/st_cb_syncobj.c
src/mesa/state_tracker/st_manager.c