[Mesa-dev] [PATCH 00/27] Initial support for EXT_external_objects v3
Andres Rodriguez
andresx7 at gmail.com
Wed Jul 12 22:45:05 UTC 2017
This update fixes a crash observed during initialization of a steamvr
opengl client.
Other updates from review comments:
* Fixed gfx9 metadata import
* Remove r600 exposing support for PIPE_CAP_MEMOBJ
* Added missing PIPE_CAP_MEMOBJ docs
* Cleanups suggested by mareko
New patches in this revision:
mesa/st: factor out st_AllocTextureStorage into a helper
radeonsi: factor out metadata import
Series available at:
https://github.com/lostgoat/mesa.git (wip-mem-obj-v3)
Andres Rodriguez (23):
mapi: add EXT_external_objects and EXT_external_objects_fd
mesa: add support for memory object creation/import/delete
mesa: add support for memory object parameters
mesa: hook up memoryobject tex(ture)storage api
mesa: hook up memory object multisamples tex(ture)storage api
mesa/st: factor out st_AllocTextureStorage into a helper
radeonsi: factor out metadata import
mesa: fix inconsistent indentation of st_cb_bufferobjects.c
mesa: implement memory objects as a backend for buffer objects
mesa: hook up (Named)BufferStorageMem api
gallium: introduce PIPE_CAP_MEMOBJ v2
mesa: expose EXT_memory_object and EXT_memory_object_fd v2
mesa: Implement glGetUnsignedByte{v|i_v}
gallium: introduce device/driver UUID queries v2
mesa: hook up UUID queries for driver and device v3
ac/gpu: add driver/device UUID query helpers
radeonsi: hook up device/driver UUID queries
mesa: hook up queries for NUM_TILING_TYPES and TILING_TYPES
mesa: fix error handling for memory objects
radv: rename physical_device->uuid[] to cache_uuid[]
radv: generate same device UUID as radeonsi v2
radv: generate the same driver UUID as radeonsi
radeonsi: enable support for EXT_memory_object v3
Dave Airlie (4):
gallium: introduce memory object v2
mesa/st: start adding memory object support v2
mesa/st: implement memory objects as a backend for texture storage v3
radeonsi: add basic memory object support v2
src/amd/common/ac_gpu_info.c | 27 +
src/amd/common/ac_gpu_info.h | 5 +
src/amd/vulkan/radv_device.c | 24 +-
src/amd/vulkan/radv_pipeline_cache.c | 4 +-
src/amd/vulkan/radv_private.h | 3 +-
src/gallium/docs/source/screen.rst | 1 +
src/gallium/drivers/ddebug/dd_screen.c | 57 +++
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/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 | 14 +
src/gallium/drivers/radeon/r600_pipe_common.h | 7 +
src/gallium/drivers/radeon/r600_texture.c | 165 ++++++-
src/gallium/drivers/radeonsi/si_pipe.c | 1 +
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/vc4/vc4_screen.c | 1 +
src/gallium/drivers/virgl/virgl_screen.c | 1 +
src/gallium/include/pipe/p_defines.h | 2 +
src/gallium/include/pipe/p_screen.h | 49 ++
src/gallium/include/pipe/p_state.h | 8 +
src/mapi/glapi/gen/EXT_external_objects.xml | 234 +++++++++
src/mapi/glapi/gen/EXT_external_objects_fd.xml | 28 ++
src/mapi/glapi/gen/Makefile.am | 2 +
src/mapi/glapi/gen/gl_API.xml | 3 +
src/mapi/glapi/gen/gl_genexec.py | 1 +
src/mesa/Makefile.sources | 4 +
src/mesa/drivers/common/driverfuncs.c | 4 +
src/mesa/main/bufferobj.c | 80 ++-
src/mesa/main/bufferobj.h | 16 +-
src/mesa/main/dd.h | 72 +++
src/mesa/main/extensions_table.h | 2 +
src/mesa/main/externalobjects.c | 599 +++++++++++++++++++++++
src/mesa/main/externalobjects.h | 228 +++++++++
src/mesa/main/formatquery.c | 17 +
src/mesa/main/get.c | 206 ++++++++
src/mesa/main/get.h | 6 +
src/mesa/main/mtypes.h | 17 +
src/mesa/main/shared.c | 15 +
src/mesa/main/tests/dispatch_sanity.cpp | 32 ++
src/mesa/main/teximage.c | 76 ++-
src/mesa/main/teximage.h | 10 +
src/mesa/main/texparam.c | 27 +
src/mesa/main/texstorage.c | 76 ++-
src/mesa/main/texstorage.h | 13 +-
src/mesa/main/version.c | 13 +
src/mesa/main/version.h | 6 +
src/mesa/state_tracker/st_cb_bufferobjects.c | 92 ++--
src/mesa/state_tracker/st_cb_memoryobjects.c | 66 +++
src/mesa/state_tracker/st_cb_memoryobjects.h | 25 +
src/mesa/state_tracker/st_cb_texture.c | 135 ++++-
src/mesa/state_tracker/st_context.c | 24 +
src/mesa/state_tracker/st_extensions.c | 5 +
59 files changed, 2368 insertions(+), 146 deletions(-)
create mode 100644 src/mapi/glapi/gen/EXT_external_objects.xml
create mode 100644 src/mapi/glapi/gen/EXT_external_objects_fd.xml
create mode 100644 src/mesa/main/externalobjects.c
create mode 100644 src/mesa/main/externalobjects.h
create mode 100644 src/mesa/state_tracker/st_cb_memoryobjects.c
create mode 100644 src/mesa/state_tracker/st_cb_memoryobjects.h
--
2.9.3
More information about the mesa-dev
mailing list