Threaded Queue submit with events and fences
This cl does 3 main things:
- It pushes the queue submit operation to its own thread
- It implements events
- It implements fences
Some details:
- Because we can have N async draw operations and we need to signal
the fence only after all operations are completed, fences have a
add/done mechanism to allow signaling the fence only when all
draw operations are completed.
- Device::waitForFences() detects large timeouts to avoid integer
overflow if now+timeout is bigger than the remaining nanoseconds
available in a long long.
Bug b/117835459
Change-Id: I2f02c3b4bb9d9ac9037909b02b0601e1bae15d21
Tests: dEQP-VK.synchronization.*
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29769
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Reviewed-by:
Ben Clayton <bclayton@google.com>
Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by:
Alexis Hétu <sugoi@google.com>
Showing
Please
register
or
sign in
to comment