[Mesa-dev] [PATCH 00/20] Add support for GL_EXT_semaphore v3

Andres Rodriguez andresx7 at gmail.com
Tue Jan 23 18:04:50 UTC 2018


Rebased on latest mesa and dropped the gallium fence->semaphore rename.

Andres Rodriguez (20):
  gallium: add type parameter to create_fence_fd
  gallium: introduce PIPE_CAP_SEMAPHORE_SIGNAL
  gallium: introduce PIPE_FD_TYPE_SYNCOBJ
  gallium: add fence_server_signal()
  u_threaded_context: add support for fence_server_signal v2
  mesa/st: introduce EXT_semaphore and EXT_semaphore_fd v2
  mesa: add support for semaphore object creation/import/delete v3
  mesa/st: add support for semaphore object create/import/delete v2
  mesa: add semaphore parameter stub v2
  mesa: add support for semaphore object signal/wait v2
  mesa/st: add support for semaphore object signal/wait v3
  mesa: implement buffer/texture barriers for semaphore signal/wait v2
  winsys/amdgpu: add support for syncobj signaling v3
  radeonsi: add support for importing PIPE_FD_TYPE_SYNCOBJ semaphores
  radeonsi: implement semaphore_server_signal v2
  radeonsi: fix fence_server_sync() holding up extra work v2
  radeonsi: advertise support for GL_EXT_semaphore
  mesa: fix error codes for importing memory/semaphore FDs
  mesa: fix glGet for ext_external_objects parameters
  mesa: check for invalid index on UUID glGet queries

 src/gallium/auxiliary/util/u_tests.c               |   7 +-
 src/gallium/auxiliary/util/u_threaded_context.c    |  25 ++-
 .../auxiliary/util/u_threaded_context_calls.h      |   1 +
 src/gallium/docs/source/context.rst                |  31 +++
 src/gallium/docs/source/screen.rst                 |   2 +
 src/gallium/drivers/etnaviv/etnaviv_fence.c        |   4 +-
 src/gallium/drivers/etnaviv/etnaviv_fence.h        |   3 +-
 src/gallium/drivers/etnaviv/etnaviv_screen.c       |   1 +
 src/gallium/drivers/freedreno/freedreno_fence.c    |   4 +-
 src/gallium/drivers/freedreno/freedreno_fence.h    |   3 +-
 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/radeon_winsys.h         |  12 ++
 src/gallium/drivers/radeonsi/si_fence.c            | 113 ++++++++---
 src/gallium/drivers/radeonsi/si_get.c              |   3 +
 src/gallium/drivers/radeonsi/si_pipe.c             |   1 -
 src/gallium/drivers/softpipe/sp_screen.c           |   1 +
 src/gallium/drivers/svga/svga_pipe_flush.c         |   4 +-
 src/gallium/drivers/svga/svga_screen.c             |   1 +
 src/gallium/drivers/swr/swr_screen.cpp             |   1 +
 src/gallium/drivers/vc4/vc4_screen.c               |   1 +
 src/gallium/drivers/virgl/virgl_screen.c           |   1 +
 src/gallium/include/pipe/p_context.h               |  14 +-
 src/gallium/include/pipe/p_defines.h               |   7 +
 src/gallium/state_trackers/dri/dri_helpers.c       |   2 +-
 src/gallium/winsys/amdgpu/drm/amdgpu_cs.c          |  83 +++++++-
 src/gallium/winsys/amdgpu/drm/amdgpu_cs.h          |   4 +
 src/mesa/Makefile.sources                          |   2 +
 src/mesa/main/dd.h                                 |  58 ++++++
 src/mesa/main/extensions_table.h                   |   2 +
 src/mesa/main/externalobjects.c                    | 224 ++++++++++++++++++++-
 src/mesa/main/externalobjects.h                    |  31 ++-
 src/mesa/main/get.c                                |   7 +
 src/mesa/main/get_hash_params.py                   |   5 +
 src/mesa/main/mtypes.h                             |  10 +
 src/mesa/main/shared.c                             |  17 ++
 src/mesa/meson.build                               |   2 +
 src/mesa/state_tracker/st_cb_semaphoreobjects.c    | 129 ++++++++++++
 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 +
 47 files changed, 805 insertions(+), 48 deletions(-)
 create mode 100644 src/mesa/state_tracker/st_cb_semaphoreobjects.c
 create mode 100644 src/mesa/state_tracker/st_cb_semaphoreobjects.h

-- 
2.14.1



More information about the mesa-dev mailing list