On 02/11/17 15:12, Andres Rodriguez wrote:
It was tested against steamvr using an opengl vr client (hellovr_opengl
for simplicity).
Hi Andres,
Full tests would be great but at the very least we should start with
some piglit tests that exercise the error paths.
Tim
Regards,
Andres
On 2017-11-02 12:07 AM, Jason Ekstrand wrote:
Out of curiosity, how has this series been tested beyond regression
testing?
On November 1, 2017 20:57:57 Andres Rodriguez <andre...@gmail.com> wrote:
This series adds radeonsi support for GL_EXT_semaphore.
GL_EXT_semaphore is used by steam's vrclient to synchronize access to
shared
surfaces (vulkan <-> gl interop). It allows our gl vrclients to
enqueue their
framebuffer surface without waiting for a glFinish().
If anyone has any suggestions on improvements for the implicit flush
added in
patch 9 please let me know. Either a way to remove it, or a way to
move it to
a codepath that is a bit more specific to radeonsi.
Test results for this series (pretty alpha quality auto testing):
https://lostgoat.me/gpuci/jenkins/blue/organizations/jenkins/amdgpu-reviews/detail/amdgpu-reviews/184/pipeline
Test results for each individual patch can also be found here (see
'Related
Changes' section):
https://gerrit.lostgoat.me/#/c/454/
And here is a baseline for test results for comparison:
https://lostgoat.me/gpuci/jenkins/blue/organizations/jenkins/amdgpu-master/detail/amdgpu-master/1269/tests
Tests include Vulkan CTS and piglit on Kaveri and Polaris 10.
I just kicked off the tests, so they might still show in a queued/in
progress
state for a few hours. Hopefully my ryzen server and my test slaves
survive the
unsupervised effort (*fingers crossed it doesn't catch fire while I
sleep*).
Patches 1-12 add support for semaphore wait/signal/import
Patch 13 implements buffer/texture barriers
Patches 14-16 implement layout transitions
Patch 17 exposes the extension
Andres Rodriguez (17):
gallium: introduce PIPE_CAP_SEMAPHORE
mesa/st: expose EXT_semaphore and EXT_semaphore_fd
mesa: add support for semaphore object creation/import/delete
mesa: add semaphore parameter stub
gallium: introduce semaphore object
u_threaded_context: add support for semaphore wait/signal
mesa/st: add support for semaphore object create/import/delete
mesa: add support for semaphore object signal/wait
mesa/st: add support for waiting for semaphore objects
mesa: minor tidy up for memory object error strings
winsys/amdgpu: add support for syncobj signaling
radeonsi: implement semaphore operations
mesa: implement buffer/texture barriers for semaphore wait/signal
gallium: add transition_resource call
mesa/st: hook up resource transitions for semaphore calls
radeonsi: implement pipe transition_resource callback
radeonsi: advertise support for GL_EXT_semaphore
src/gallium/auxiliary/util/u_threaded_context.c | 52 ++++
.../auxiliary/util/u_threaded_context_calls.h | 1 +
src/gallium/docs/source/screen.rst | 1 +
src/gallium/drivers/ddebug/dd_context.c | 23 ++
src/gallium/drivers/ddebug/dd_screen.c | 25 ++
src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 +
src/gallium/drivers/freedreno/freedreno_screen.c | 1 +
src/gallium/drivers/i915/i915_screen.c | 1 +
src/gallium/drivers/llvmpipe/lp_screen.c | 1 +
src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 +
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 +
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 +
src/gallium/drivers/r300/r300_screen.c | 1 +
src/gallium/drivers/r600/r600_pipe.c | 1 +
src/gallium/drivers/radeon/r600_pipe_common.c | 52 ++++
src/gallium/drivers/radeon/r600_pipe_common.h | 5 +
src/gallium/drivers/radeon/radeon_winsys.h | 12 +
src/gallium/drivers/radeonsi/si_blit.c | 11 +
src/gallium/drivers/radeonsi/si_pipe.c | 3 +
src/gallium/drivers/softpipe/sp_screen.c | 1 +
src/gallium/drivers/svga/svga_screen.c | 1 +
src/gallium/drivers/swr/swr_screen.cpp | 1 +
src/gallium/drivers/trace/tr_context.c | 36 +++
src/gallium/drivers/trace/tr_screen.c | 39 +++
src/gallium/drivers/vc4/vc4_screen.c | 1 +
src/gallium/drivers/virgl/virgl_screen.c | 1 +
src/gallium/include/pipe/p_context.h | 36 +++
src/gallium/include/pipe/p_defines.h | 12 +
src/gallium/include/pipe/p_screen.h | 22 ++
src/gallium/include/pipe/p_state.h | 8 +
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 81 +++++-
src/gallium/winsys/amdgpu/drm/amdgpu_cs.h | 4 +
src/mesa/Makefile.sources | 2 +
src/mesa/drivers/common/driverfuncs.c | 3 +
src/mesa/main/dd.h | 58 +++++
src/mesa/main/extensions_table.h | 2 +
src/mesa/main/externalobjects.c | 274
+++++++++++++++++++--
src/mesa/main/externalobjects.h | 34 ++-
src/mesa/main/mtypes.h | 9 +
src/mesa/main/shared.c | 17 ++
src/mesa/meson.build | 2 +
src/mesa/state_tracker/st_cb_semaphoreobjects.c | 164 ++++++++++++
src/mesa/state_tracker/st_cb_semaphoreobjects.h | 25 ++
src/mesa/state_tracker/st_context.c | 2 +
src/mesa/state_tracker/st_extensions.c | 2 +
45 files changed, 1012 insertions(+), 19 deletions(-)
create mode 100644 src/mesa/state_tracker/st_cb_semaphoreobjects.c
create mode 100644 src/mesa/state_tracker/st_cb_semaphoreobjects.h
--
2.9.3
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev