gallium: add PIPE_FLUSH_DEFERRED
There are 2 uses: - Asynchronous flushing for multithreaded drivers. - Return a fence without flushing (mid-command-buffer fence). The driver can defer flushing until fence_finish is called. This is required to make Bioshock Infinite faster, which creates 1000 fences (flushes) per frame. Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
@@ -463,6 +463,16 @@ Flushing
|
||||
|
||||
``flush``
|
||||
|
||||
PIPE_FLUSH_END_OF_FRAME: Whether the flush marks the end of frame.
|
||||
|
||||
PIPE_FLUSH_DEFERRED: It is not required to flush right away, but it is required
|
||||
to return a valid fence. The behavior of fence_finish or any other call isn't
|
||||
changed. The only side effect can be that fence_finish will wait a little
|
||||
longer. No guidance is given as to how drivers should implement fence_finish
|
||||
with deferred flushes. If some drivers can't do deferred flushes safely, they
|
||||
should just ignore the flag.
|
||||
|
||||
|
||||
|
||||
``flush_resource``
|
||||
|
||||
|
Reference in New Issue
Block a user