mesa/src/broadcom
Iago Toral Quiroga 57a254c48d v3dv: implement events
This reverts a previous half-attempt at an implementation of events
using a BO to hold the event state, and provides a full
implementation.  V3D doesn't have any built-in GPU functionality to
wait on any kind of events, so we need to implement this in the driver
an therefore we no longer need to use a BO for the event state.

Instead, we implement GPU waits by using a CPU job for the wait
operation that spawns a wait thread if the wait operation doesn't have
all its events signaled by the time it is processed. To implement the
semantics of the wait correctly, any jobs in the same command buffer
that come after the wait will not be emitted until the wait thread
completes.

If a submit spawns any wait threads for a command buffer we can't
signal any semaphores for it until all the wait threads complete and
we know that all the jobs for those command buffers have been
submitted. The same applies to the submit fence, if present.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
2020-10-13 21:21:30 +00:00
..
cle v3d: fix Tile Rendering Mode Cfg (Color) packet description 2020-10-13 21:21:30 +00:00
clif v3dv: clif format dumping support 2020-10-13 21:21:26 +00:00
common v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation 2020-10-13 21:21:26 +00:00
compiler v3d/compiler: implement nir_intrinsic_load_base_instance 2020-10-13 21:21:29 +00:00
drm-shim v3d: moving v3d simulator to src/broadcom 2020-06-27 00:06:58 +00:00
qpu broadcom/qpu_instr: wait is not a read or write vpm instruction 2020-08-31 15:02:42 +02:00
simulator broadcom/simulator: update to a newer simulator 2020-10-05 22:08:43 +02:00
vulkan v3dv: implement events 2020-10-13 21:21:30 +00:00
.editorconfig broadcom: add editorconfig 2017-07-25 14:44:52 -07:00
Android.cle.mk android: broadcom/cle: export the broadcom top level path headers 2018-09-15 09:14:46 +02:00
Android.genxml.mk android: broadcom/genxml: fix collision with intel/genxml header-gen macro 2018-09-15 09:14:33 +02:00
Android.mk broadcom/genxml: Introduce a V3D packet/struct decoder. 2017-07-25 14:44:52 -07:00
Makefile.sources v3d: Add a lowering pass for line smoothing 2020-07-06 21:59:16 +00:00
meson.build v3dv: add v3d vulkan driver skeleton 2020-10-13 21:21:24 +00:00