[Mesa-dev] [PATCH 18/25] ac/gpu: add driver/device UUID query helpers

2017-07-06 Thread Andres Rodriguez
We need vulkan and gl to produce the same UUIDs. Therefore we should keep the mechanism to compute these in a common location to guarantee they are updated in lockstep. Signed-off-by: Andres Rodriguez --- src/amd/common/ac_gpu_info.c | 27 +++ src/amd/common

[Mesa-dev] [PATCH 19/25] radeonsi: hook up device/driver UUID queries

2017-07-06 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeon/r600_pipe_common.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index fd67d9a..c14d4eb 100644 --- a/src/gallium

[Mesa-dev] [PATCH 20/25] mesa: hook up queries for NUM_TILING_TYPES and TILING_TYPES

2017-07-06 Thread Andres Rodriguez
These are just basic implementations. Signed-off-by: Andres Rodriguez --- src/mesa/main/formatquery.c | 17 + src/mesa/main/mtypes.h | 3 +++ src/mesa/main/texparam.c| 27 +++ 3 files changed, 47 insertions(+) diff --git a/src/mesa/main

[Mesa-dev] [PATCH 22/25] radv: rename physical_device->uuid[] to cache_uuid[]

2017-07-06 Thread Andres Rodriguez
We have a few UUIDs, so lets be more specific. Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 4 ++-- src/amd/vulkan/radv_pipeline_cache.c | 4 ++-- src/amd/vulkan/radv_private.h| 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/amd

[Mesa-dev] [PATCH 23/25] radv: generate same device UUID as radeonsi v2

2017-07-06 Thread Andres Rodriguez
This is required for interop use cases. The same device must report identical UUIDs through the GL and Vulkan APIs so that users can identify when it is safe to perform a memory object import. v2: use ac helpers to calculate the uuid Signed-off-by: Andres Rodriguez --- src/amd/vulkan

[Mesa-dev] [PATCH 16/25] gallium: introduce device/driver UUID queries

2017-07-06 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/gallium/drivers/ddebug/dd_screen.c | 17 + src/gallium/include/pipe/p_defines.h | 1 + src/gallium/include/pipe/p_screen.h| 13 + 3 files changed, 31 insertions(+) diff --git a/src/gallium/drivers/ddebug/dd_screen.c b

[Mesa-dev] [PATCH 25/25] radeonsi: enable support for EXT_memory_object

2017-07-06 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/gallium/drivers/r600/r600_pipe.c | 2 +- src/gallium/drivers/radeonsi/si_pipe.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index e3abc10..078f12b

[Mesa-dev] [PATCH 24/25] radv: generate the same driver UUID as radeonsi

2017-07-06 Thread Andres Rodriguez
These need to match for interop compatibility queries. Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 9 - src/amd/vulkan/radv_private.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c

[Mesa-dev] [PATCH] radeonsi: enable support for EXT_memory_object v2

2017-07-06 Thread Andres Rodriguez
v2: fix an indentation error Signed-off-by: Andres Rodriguez --- src/gallium/drivers/r600/r600_pipe.c | 2 +- src/gallium/drivers/radeonsi/si_pipe.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600

Re: [Mesa-dev] [PATCH 13/25] gallium: introduce PIPE_CAP_MEMOBJ

2017-07-07 Thread Andres Rodriguez
Thanks Ilia, I'll get that fixed up. Regards, Andres On 2017-07-07 09:53 AM, Ilia Mirkin wrote: This is missing the docs addition for what this cap does (gallium/docs/source/screen.rst). On Fri, Jul 7, 2017 at 12:24 AM, Andres Rodriguez wrote: This can be used to guard suppor

[Mesa-dev] [PATCH] gallium: introduce PIPE_CAP_MEMOBJ v2

2017-07-07 Thread Andres Rodriguez
This can be used to guard support for EXT_memory_object and related extensions. v2: update gallium docs Signed-off-by: Andres Rodriguez --- src/gallium/docs/source/screen.rst | 1 + src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + src/gallium/drivers/freedreno

Re: [Mesa-dev] [PATCH 08/19] mesa/st: implement memory objects as a backend for texture storage

2017-07-11 Thread Andres Rodriguez
On 2017-07-11 02:31 PM, Marek Olšák wrote: On Sat, Jul 1, 2017 at 1:03 AM, Andres Rodriguez wrote: From: Dave Airlie Instead of allocating memory to back a texture, use the provided memory object. Signed-off-by: Andres Rodriguez --- src/mesa/main/mtypes.h | 2 + src

[Mesa-dev] [PATCH 00/27] Initial support for EXT_external_objects v3

2017-07-12 Thread Andres Rodriguez
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

[Mesa-dev] [PATCH 02/27] mesa: add support for memory object creation/import/delete

2017-07-12 Thread Andres Rodriguez
Used by EXT_external_objects and EXT_external_objects_fd Signed-off-by: Andres Rodriguez --- src/mesa/drivers/common/driverfuncs.c | 4 + src/mesa/main/dd.h| 36 + src/mesa/main/externalobjects.c | 145 +- src/mesa/main

[Mesa-dev] [PATCH 04/27] gallium: introduce memory object v2

2017-07-12 Thread Andres Rodriguez
From: Dave Airlie v2: fix comment regarding fd ownership, define pipe_memory_object --- src/gallium/drivers/ddebug/dd_screen.c | 40 ++ src/gallium/include/pipe/p_screen.h| 36 ++ src/gallium/include/pipe/p_state.h | 8 +++

[Mesa-dev] [PATCH 01/27] mapi: add EXT_external_objects and EXT_external_objects_fd

2017-07-12 Thread Andres Rodriguez
Includes implementation stubs. Signed-off-by: Andres Rodriguez --- 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

[Mesa-dev] [PATCH 03/27] mesa: add support for memory object parameters

2017-07-12 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/mesa/main/externalobjects.c | 54 - src/mesa/main/mtypes.h | 5 +++- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/externalobjects.c b/src/mesa/main/externalobjects.c index

[Mesa-dev] [PATCH 06/27] mesa: hook up memoryobject tex(ture)storage api

2017-07-12 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/mesa/main/dd.h | 9 src/mesa/main/externalobjects.c | 93 - src/mesa/main/texstorage.c | 76 - src/mesa/main/texstorage.h | 13 +- 4 files changed, 160

[Mesa-dev] [PATCH 05/27] mesa/st: start adding memory object support v2

2017-07-12 Thread Andres Rodriguez
From: Dave Airlie v2: pass dedicated flag Signed-off-by: Andres Rodriguez --- src/mesa/Makefile.sources| 2 + src/mesa/state_tracker/st_cb_memoryobjects.c | 66 src/mesa/state_tracker/st_cb_memoryobjects.h | 25 +++ src/mesa

[Mesa-dev] [PATCH 10/27] radeonsi: factor out metadata import

2017-07-12 Thread Andres Rodriguez
Plumbing for importing memobj backed textures. Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeon/r600_texture.c | 63 ++- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers

[Mesa-dev] [PATCH 09/27] mesa/st: implement memory objects as a backend for texture storage v3

2017-07-12 Thread Andres Rodriguez
From: Dave Airlie Instead of allocating memory to back a texture, use the provided memory object. v2: split off extension exposure logic v3: de-duplicate code with st_AllocTextureStorage Signed-off-by: Andres Rodriguez --- src/mesa/state_tracker/st_cb_texture.c | 116

[Mesa-dev] [PATCH 11/27] radeonsi: add basic memory object support v2

2017-07-12 Thread Andres Rodriguez
From: Dave Airlie v2: also consider gfx9 metadata Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeon/r600_pipe_common.h | 7 ++ src/gallium/drivers/radeon/r600_texture.c | 102 ++ 2 files changed, 109 insertions(+) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH 12/27] mesa: fix inconsistent indentation of st_cb_bufferobjects.c

2017-07-12 Thread Andres Rodriguez
No changes, just re-indent. Signed-off-by: Andres Rodriguez --- src/mesa/state_tracker/st_cb_bufferobjects.c | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker

[Mesa-dev] [PATCH 07/27] mesa: hook up memory object multisamples tex(ture)storage api

2017-07-12 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/mesa/main/externalobjects.c | 53 src/mesa/main/teximage.c| 76 + src/mesa/main/teximage.h| 10 ++ 3 files changed, 110 insertions(+), 29 deletions(-) diff --git a

[Mesa-dev] [PATCH 13/27] mesa: implement memory objects as a backend for buffer objects

2017-07-12 Thread Andres Rodriguez
Use a memory object instead of user memory. Signed-off-by: Andres Rodriguez --- src/mesa/main/dd.h | 12 + src/mesa/state_tracker/st_cb_bufferobjects.c | 66 +--- 2 files changed, 61 insertions(+), 17 deletions(-) diff --git a/src/mesa/main

[Mesa-dev] [PATCH 15/27] gallium: introduce PIPE_CAP_MEMOBJ v2

2017-07-12 Thread Andres Rodriguez
This can be used to guard support for EXT_memory_object and related extensions. v2: update gallium docs Signed-off-by: Andres Rodriguez --- src/gallium/docs/source/screen.rst | 1 + src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + src/gallium/drivers/freedreno

[Mesa-dev] [PATCH 08/27] mesa/st: factor out st_AllocTextureStorage into a helper

2017-07-12 Thread Andres Rodriguez
Plumbing for using memory objects as texture storage. Signed-off-by: Andres Rodriguez --- src/mesa/state_tracker/st_cb_texture.c | 27 ++- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker

[Mesa-dev] [PATCH 14/27] mesa: hook up (Named)BufferStorageMem api

2017-07-12 Thread Andres Rodriguez
Include no_error variants as well. Signed-off-by: Andres Rodriguez --- src/mapi/glapi/gen/EXT_external_objects.xml | 4 +- src/mesa/main/bufferobj.c | 80 +++-- src/mesa/main/bufferobj.h | 16 +- src/mesa/main/externalobjects.c

[Mesa-dev] [PATCH 19/27] mesa: hook up UUID queries for driver and device v3

2017-07-12 Thread Andres Rodriguez
v2: respective changes for new gallium interface v3: fix UUID size asserts Signed-off-by: Andres Rodriguez --- src/mesa/main/dd.h | 15 +++ src/mesa/main/get.c | 17 + src/mesa/main/version.c | 13 + src/mesa

[Mesa-dev] [PATCH 20/27] ac/gpu: add driver/device UUID query helpers

2017-07-12 Thread Andres Rodriguez
We need vulkan and gl to produce the same UUIDs. Therefore we should keep the mechanism to compute these in a common location to guarantee they are updated in lockstep. Signed-off-by: Andres Rodriguez --- src/amd/common/ac_gpu_info.c | 27 +++ src/amd/common

[Mesa-dev] [PATCH 16/27] mesa: expose EXT_memory_object and EXT_memory_object_fd v2

2017-07-12 Thread Andres Rodriguez
v2: use PIPE_CAP_MEMOBJ to guard the extension Signed-off-by: Andres Rodriguez --- src/mesa/main/extensions_table.h | 2 ++ src/mesa/main/mtypes.h | 2 ++ src/mesa/state_tracker/st_extensions.c | 5 + 3 files changed, 9 insertions(+) diff --git a/src/mesa/main

[Mesa-dev] [PATCH 18/27] gallium: introduce device/driver UUID queries v2

2017-07-12 Thread Andres Rodriguez
v2: remove unnecessary returns Signed-off-by: Andres Rodriguez --- src/gallium/drivers/ddebug/dd_screen.c | 17 + src/gallium/include/pipe/p_defines.h | 1 + src/gallium/include/pipe/p_screen.h| 13 + 3 files changed, 31 insertions(+) diff --git a/src/gallium

[Mesa-dev] [PATCH 17/27] mesa: Implement glGetUnsignedByte{v|i_v}

2017-07-12 Thread Andres Rodriguez
These are used by EXT_external_objects to present UUIDs for the device and the driver. Signed-off-by: Andres Rodriguez --- src/mesa/main/get.c | 177 1 file changed, 177 insertions(+) diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c

[Mesa-dev] [PATCH 23/27] mesa: fix error handling for memory objects

2017-07-12 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/mesa/main/externalobjects.c | 63 + 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/src/mesa/main/externalobjects.c b/src/mesa/main/externalobjects.c index 919a81c..73c9d4b 100644 --- a/src/mesa/main

[Mesa-dev] [PATCH 21/27] radeonsi: hook up device/driver UUID queries

2017-07-12 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeon/r600_pipe_common.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index fd67d9a..c14d4eb 100644 --- a/src/gallium

[Mesa-dev] [PATCH 24/27] radv: rename physical_device->uuid[] to cache_uuid[]

2017-07-12 Thread Andres Rodriguez
We have a few UUIDs, so lets be more specific. Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 4 ++-- src/amd/vulkan/radv_pipeline_cache.c | 4 ++-- src/amd/vulkan/radv_private.h| 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/amd

[Mesa-dev] [PATCH 22/27] mesa: hook up queries for NUM_TILING_TYPES and TILING_TYPES

2017-07-12 Thread Andres Rodriguez
These are just basic implementations. Signed-off-by: Andres Rodriguez --- src/mesa/main/formatquery.c | 17 + src/mesa/main/mtypes.h | 3 +++ src/mesa/main/texparam.c| 27 +++ 3 files changed, 47 insertions(+) diff --git a/src/mesa/main

[Mesa-dev] [PATCH 25/27] radv: generate same device UUID as radeonsi v2

2017-07-12 Thread Andres Rodriguez
This is required for interop use cases. The same device must report identical UUIDs through the GL and Vulkan APIs so that users can identify when it is safe to perform a memory object import. v2: use ac helpers to calculate the uuid Signed-off-by: Andres Rodriguez --- src/amd/vulkan

[Mesa-dev] [PATCH 26/27] radv: generate the same driver UUID as radeonsi

2017-07-12 Thread Andres Rodriguez
These need to match for interop compatibility queries. Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 9 - src/amd/vulkan/radv_private.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c

[Mesa-dev] [PATCH 27/27] radeonsi: enable support for EXT_memory_object v3

2017-07-12 Thread Andres Rodriguez
v2: fix an indentation error v3: don't enable for r600 Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeonsi/si_pipe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index bc

[Mesa-dev] [PATCH] radeonsi: hook up device/driver UUID queries v2

2017-07-12 Thread Andres Rodriguez
v2: move from r600_common to radeonsi Signed-off-by: Andres Rodriguez --- This fixes a build error reported by haagch on #radeon. I've updated the series on my repo to wip-mem-obj-v4 src/gallium/drivers/radeonsi/si_pipe.c | 14 ++ 1 file changed, 14 insertions(+) diff --

[Mesa-dev] [PATCH 00/22] Add support for GL_EXT_semaphore v2

2017-12-21 Thread Andres Rodriguez
- Moved the flush from gallium into the radeonsi pipe - Added tests (on piglit mailing list) - Some fixups for bugs found with the tests are at the end of the series Thanks for taking the time to review. Kind Regards, Andres Andres Rodriguez (22): gallium: add type parameter to

[Mesa-dev] [PATCH 03/22] gallium: documentation updates for fence->semaphore rename

2017-12-21 Thread Andres Rodriguez
Kept separate from the symbol renames for review purposes. Signed-off-by: Andres Rodriguez --- src/gallium/docs/source/context.rst| 34 +++--- src/gallium/include/pipe/p_context.h | 33 +++-- src/gallium/include/pipe/p_screen.h

[Mesa-dev] [PATCH 04/22] gallium: introduce PIPE_CAP_SEMAPHORE_SIGNAL

2017-12-21 Thread Andres Rodriguez
Protects semaphore signaling functionality required by GL_EXT_semaphore. Signed-off-by: Andres Rodriguez --- src/gallium/docs/source/screen.rst | 2 ++ src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + src/gallium/drivers/freedreno/freedreno_screen.c | 1 + src/gallium

[Mesa-dev] [PATCH 07/22] u_threaded_context: add support for semaphore_server_signal

2017-12-21 Thread Andres Rodriguez
Signed-off-by: Andres Rodriguez --- src/gallium/auxiliary/util/u_threaded_context.c | 20 .../auxiliary/util/u_threaded_context_calls.h| 1 + 2 files changed, 21 insertions(+) diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium

[Mesa-dev] [PATCH 09/22] mesa: add support for semaphore object creation/import/delete v2

2017-12-21 Thread Andres Rodriguez
Used by EXT_semmaphore and EXT_semaphore_fd v2: Removed unnecessary dummy callback initialization Signed-off-by: Andres Rodriguez --- src/mesa/main/dd.h | 34 ++ src/mesa/main/externalobjects.c | 133 +++- src/mesa/main

[Mesa-dev] [PATCH 10/22] mesa/st: add support for semaphore object create/import/delete

2017-12-21 Thread Andres Rodriguez
Add basic semaphore object operations. Signed-off-by: Andres Rodriguez --- src/mesa/Makefile.sources | 2 + src/mesa/meson.build| 2 + src/mesa/state_tracker/st_cb_semaphoreobjects.c | 55 + src/mesa/state_tracker

[Mesa-dev] [PATCH 06/22] gallium: add semaphore_server_signal()

2017-12-21 Thread Andres Rodriguez
Calling this function will emit a semaphore signal operation into the GPU's command stream. Signed-off-by: Andres Rodriguez --- src/gallium/docs/source/context.rst | 31 +++ src/gallium/include/pipe/p_context.h | 6 ++ 2 files changed, 37 insertions(+)

[Mesa-dev] [PATCH 01/22] gallium: add type parameter to create_fence_fd

2017-12-21 Thread Andres Rodriguez
An fd can potentially have different types of objects backing it. Specifying the type helps us make sure we treat the FD correctly. This is in preparation to allow importing syncobj fence FDs in addition to native sync FDs. Signed-off-by: Andres Rodriguez --- src/gallium/auxiliary/util

[Mesa-dev] [PATCH 11/22] mesa: add semaphore parameter stub v2

2017-12-21 Thread Andres Rodriguez
EXT_semaphore and EXT_semaphore_fd define no pnames. Therefore there isn't much to do besides determining the correct error code. v2: removed useless return Signed-off-by: Andres Rodriguez --- src/mesa/main/externalobjects.c | 22 ++ 1 file changed, 22 insertions(+)

[Mesa-dev] [PATCH 18/22] radeonsi: fix semaphore_server_sync() holding up extra work

2017-12-21 Thread Andres Rodriguez
the fence dependency. Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeonsi/si_fence.c | 49 + 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_fence.c b/src/gallium/drivers/radeonsi/si_fence.c index

[Mesa-dev] [PATCH 17/22] radeonsi: implement semaphore_server_signal

2017-12-21 Thread Andres Rodriguez
Syncobj based waits or signals only happen at submission boundaries. In order to guarantee that the requested signal event will occur when the state tracker requested it, we must issue a flush. Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeonsi/si_fence.c | 37

[Mesa-dev] [PATCH 15/22] winsys/amdgpu: add support for syncobj signaling v2

2017-12-21 Thread Andres Rodriguez
Add the ability to signal a syncobj when a cs completes execution. v2: corresponding changes for gallium fence->semaphore rename Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeon/radeon_winsys.h | 12 + src/gallium/winsys/amdgpu/drm/amdgpu_cs.c |

[Mesa-dev] [PATCH 12/22] mesa: add support for semaphore object signal/wait v2

2017-12-21 Thread Andres Rodriguez
Memory synchronization is left for a future patch. v2: flush vertices/bitmaps moved to mesa/main Signed-off-by: Andres Rodriguez --- src/mesa/main/dd.h | 14 ++ src/mesa/main/externalobjects.c | 38 ++ 2 files changed, 52 insertions

[Mesa-dev] [PATCH 21/22] mesa: fix glGet for ext_external_objects parameters

2017-12-21 Thread Andres Rodriguez
This allows the client to actually query the enums specified in the ext_external_objects spec. Signed-off-by: Andres Rodriguez --- src/mesa/main/get.c | 3 +++ src/mesa/main/get_hash_params.py | 5 + 2 files changed, 8 insertions(+) diff --git a/src/mesa/main/get.c b/src/mesa

[Mesa-dev] [PATCH 20/22] mesa: fix error codes for importing memory/semaphore FDs

2017-12-21 Thread Andres Rodriguez
This fixes the following piglit tests: spec/ext_semaphore_fd/api-errors/import-semaphore-fd-bad-enum spec/ext_memory_object_fd/api-errors/import-memory-fd-bad-enum Signed-off-by: Andres Rodriguez --- src/mesa/main/externalobjects.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff

[Mesa-dev] [PATCH 05/22] gallium: introduce PIPE_FD_TYPE_SYNCOBJ

2017-12-21 Thread Andres Rodriguez
Denotes that a fd is backed by a synobj. For example, radv shared semaphores. Signed-off-by: Andres Rodriguez --- src/gallium/include/pipe/p_defines.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index e2e07ac

[Mesa-dev] [PATCH 19/22] radeonsi: advertise support for GL_EXT_semaphore

2017-12-21 Thread Andres Rodriguez
Expose the feature only when we have syncobj support available Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeonsi/si_get.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index

[Mesa-dev] [PATCH 14/22] mesa: implement buffer/texture barriers for semaphore signal/wait v2

2017-12-21 Thread Andres Rodriguez
Make sure memory is accessible to the external client, for the specified memory object, before the signal/after the wait. v2: fixed flush order with respect to wait/signal emission Signed-off-by: Andres Rodriguez --- src/mesa/main/dd.h | 14 ++- src/mesa/main

[Mesa-dev] [PATCH 13/22] mesa/st: add support for semaphore object signal/wait v2

2017-12-21 Thread Andres Rodriguez
Bits to implement ServerWaitSemaphoreObject/ServerSignalSemaphoreObject v2: - corresponding changes for gallium fence->semaphore rename - flushing moved to mesa/main Signed-off-by: Andres Rodriguez --- src/mesa/state_tracker/st_cb_semaphoreobjects.c | 27 + 1 f

[Mesa-dev] [PATCH 08/22] mesa/st: introduce EXT_semaphore and EXT_semaphore_fd v2

2017-12-21 Thread Andres Rodriguez
Guarded by PIPE_CAP_SEMAPHORE_SIGNAL v2: corresponding changes for PIPE_CAP_SEMAPHORE_SIGNAL rename Signed-off-by: Andres Rodriguez --- src/mesa/main/extensions_table.h | 2 ++ src/mesa/main/mtypes.h | 2 ++ src/mesa/state_tracker/st_extensions.c | 2 ++ 3 files changed

[Mesa-dev] [PATCH 22/22] mesa: check for invalid index on UUID glGet queries

2017-12-21 Thread Andres Rodriguez
This fixes the piglit test: spec/ext_semaphore/api-errors/usigned-byte-i-v-bad-value Signed-off-by: Andres Rodriguez --- src/mesa/main/get.c | 4 1 file changed, 4 insertions(+) diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 34970b8..302cece 100644 --- a/src/mesa/main/get.c

[Mesa-dev] [PATCH 16/22] radeonsi: add support for importing PIPE_FD_TYPE_SYNCOBJ semaphores

2017-12-21 Thread Andres Rodriguez
Hook up importing semaphores of type PIPE_FD_TYPE_SYNCOBJ Signed-off-by: Andres Rodriguez --- src/gallium/drivers/radeonsi/si_fence.c | 26 -- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_fence.c b/src/gallium/drivers

Re: [Mesa-dev] [PATCH 00/22] Add support for GL_EXT_semaphore v2

2017-12-21 Thread Andres Rodriguez
roval. The reason it is being held: Message body is too big: 271096 bytes with a limit of 128 KB [snip] On 2017-12-21 07:41 PM, Andres Rodriguez wrote: Sorry for the long time to get this v2 out, past month has been a bit hectic. This incorporates the feedback I received from mareko and nha o

Re: [Mesa-dev] [PATCH 06/22] gallium: add semaphore_server_signal()

2017-12-22 Thread Andres Rodriguez
On 2017-12-22 10:56 AM, Roland Scheidegger wrote: Am 22.12.2017 um 01:41 schrieb Andres Rodriguez: Calling this function will emit a semaphore signal operation into the GPU's command stream. Signed-off-by: Andres Rodriguez --- src/gallium/docs/source/context.rst

Re: [Mesa-dev] [PATCH 02/22] gallium: rename pipe fences to semaphores

2018-01-04 Thread Andres Rodriguez
x27;m fine with either approach. Marek On Fri, Dec 22, 2017 at 1:41 AM, Andres Rodriguez wrote: Rename fences -> semaphores in preparation for upgrading fence functionality. This series renames the following symbols: - pipe_fence_handle -> pipe_semaphore_handle

Re: [Mesa-dev] [PATCH 02/22] gallium: rename pipe fences to semaphores

2018-01-18 Thread Andres Rodriguez
On 2018-01-17 08:01 AM, Nicolai Hähnle wrote: On 04.01.2018 18:37, Andres Rodriguez wrote: On 2018-01-04 12:33 PM, Marek Olšák wrote: Is the renaming necessary? It looks like everything would be fine if we used the "fence" name for semaphores. The rename was requested by nha

Re: [Mesa-dev] [PATCH 02/22] gallium: rename pipe fences to semaphores

2018-01-18 Thread Andres Rodriguez
On 2018-01-17 06:35 PM, Marek Olšák wrote: On Wed, Jan 17, 2018 at 8:22 PM, Andres Rodriguez wrote: On 2018-01-17 08:01 AM, Nicolai Hähnle wrote: On 04.01.2018 18:37, Andres Rodriguez wrote: On 2018-01-04 12:33 PM, Marek Olšák wrote: Is the renaming necessary? It looks like

Re: [Mesa-dev] XDC 2017 feedback

2017-09-26 Thread Andres Rodriguez
Hi, A small piece of feedback from those of us watching remotely. It would be nice to have a simple to access index for the long livestream videos. I think the XDC 2017 wiki page would be a good place for this information. A brief example: Presentation Title | Presenter Name | Link with tim

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Andres Rodriguez
This should be good for radeonsi to implement the feature as well. FWIW: Reviewed-by: Andres Rodriguez Little bikeshed comment. I'm a little iffy about using a mask instead of an enum for priority values. It limits the flexibility on the number of levels drastically. Since you can

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-09 Thread Andres Rodriguez
On 2017-10-05 11:29 AM, Nicolai Hähnle wrote: On 04.10.2017 23:02, Rob Clark wrote: On Wed, Oct 4, 2017 at 3:33 PM, Roland Scheidegger wrote: Am 04.10.2017 um 17:44 schrieb Rob Clark: Signed-off-by: Rob Clark ---   src/gallium/drivers/etnaviv/etnaviv_screen.c    |  1 +   src/gallium/dr

[Mesa-dev] [PATCH 1/2] radv: use a winsys context per-queue, instead of per device

2017-01-03 Thread Andres Rodriguez
Queues are independent execution streams. The vulkan spec provides no ordering guarantees for different queues. By using a single context for all queues, we are forcing all commands into an unecessary FIFO ordering. This change is a preparation step to allow our-of-ordering scheduling of certain

[Mesa-dev] radv: Initial implementation of VK_EXT_queue_global_priority

2017-01-03 Thread Andres Rodriguez
This patch series implements VK_EXT_queue_global_priority, a vulkan extension that focuses on providing scheduling guarantees. For further information on the use case refer to: https://lists.freedesktop.org/archives/amd-gfx/2016-December/004068.html For some perf data on this initial implementati

[Mesa-dev] [PATCH 2/2] radv: define and implement VK_EXT_queue_global_priority

2017-01-03 Thread Andres Rodriguez
on [1]. + +Contributors + +Andres Rodriguez, Valve Software +Pierre-Loup Griffais, Valve Software + +Contact + +Andres Rodriguez, Valve Software + +Overview + +In Vulkan 1.0.32 users can specify device-scope queue priorities. In + some cases it may be useful to extend this concept to a s

Re: [Mesa-dev] radv: Initial implementation of VK_EXT_queue_global_priority

2017-01-03 Thread Andres Rodriguez
mesa3d.org/devinfo.html Although some of them seen to not apply anymore (radv code was tabs instead of 3 spaces). Thanks for taking the time to review :) Regards, Andres From: mesa-dev [mesa-dev-boun...@lists.freedesktop.org] on behalf of Andres Rodrig

Re: [Mesa-dev] [PATCH 2/2] radv: define and implement VK_EXT_queue_global_priority

2017-01-04 Thread Andres Rodriguez
r thing is that you'll need to increase the amdgpu driver DRM version in the kernel, and then check against it in radv, to see if we can support the feature. On Wed, Jan 4, 2017 at 3:27 AM, Andres Rodriguez wrote: Add a new extension VK_EXT_queue_global_priority, which allows the caller

[Mesa-dev] gputool: a tool for debugging AMD GPUs

2017-01-11 Thread Andres Rodriguez
Hey Everyone, I started a small project called gputool to help me debug issues on AMD platforms. I think it may be useful to other driver devs, so I've made it available on github: https://github.com/lostgoat/gputool Mainly I wanted something that could read and decode registers, so that is

[Mesa-dev] [PATCH 2/3] radv: rename global extension properties structs

2017-01-13 Thread Andres Rodriguez
All extension arrays are global, but only one of them refers to instance extensions. The device extension array refers to extensions that are common across all physical devices. This disctinction will be more imporant once we have dynamic extension support for devices. Signed-off-by: Andres

[Mesa-dev] [PATCH 1/3] radv: use a winsys context per-queue, instead of per device

2017-01-13 Thread Andres Rodriguez
work tasks. As a side effect, vkQueueWaitIdle will be marginally faster. Previously due to the shared context, vkQueueWaitIdle was equivalent to vkDeviceWaitIdle. Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 34 -- src/amd/vulkan

[Mesa-dev] [PATCH 3/3] radv: make device extension setup dynamic

2017-01-13 Thread Andres Rodriguez
Each physical may have different extensions than one another. Furthermore, depending on the software stack, some extensions may not be accessible. If an extension is conditional, it can be registered only when necessary. Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 196

[Mesa-dev] Subset of patches from wip-high-priority that can be useful

2017-01-13 Thread Andres Rodriguez
Following are a subset of patches from my wip-high-priority branch that may be useful outside that context. The HW priority debugging may take a little while, so I wanted to make some of the more generic bits to be available on master as other work could benefit from it. _

Re: [Mesa-dev] [PATCH 3/3] radv: make device extension setup dynamic

2017-01-13 Thread Andres Rodriguez
On 2017-01-13 06:04 PM, Bas Nieuwenhuizen wrote: On Fri, Jan 13, 2017 at 11:06 PM, Andres Rodriguez wrote: Each physical may have different extensions than one another. Furthermore, depending on the software stack, some extensions may not be accessible. If an extension is conditional, it

Re: [Mesa-dev] [PATCH 3/3] radv: make device extension setup dynamic

2017-01-13 Thread Andres Rodriguez
On 2017-01-13 06:30 PM, Bas Nieuwenhuizen wrote: On Sat, Jan 14, 2017 at 12:20 AM, Andres Rodriguez wrote: On 2017-01-13 06:04 PM, Bas Nieuwenhuizen wrote: On Fri, Jan 13, 2017 at 11:06 PM, Andres Rodriguez wrote: Each physical may have different extensions than one another. Furthermore

[Mesa-dev] [PATCH 1/3] radv: use a winsys context per-queue, instead of per device v2

2017-01-13 Thread Andres Rodriguez
work tasks. v2: Fix a rebase error with radv_QueueSubmit() and trace_bo Signed-off-by: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 39 --- src/amd/vulkan/radv_private.h | 2 +- src/amd/vulkan/radv_wsi.c | 2 +- 3 files changed, 22 insertions

[Mesa-dev] [PATCH 2/3] radv: rename global extension properties structs

2017-01-13 Thread Andres Rodriguez
All extension arrays are global, but only one of them refers to instance extensions. The device extension array refers to extensions that are common across all physical devices. This disctinction will be more imporant once we have dynamic extension support for devices. Signed-off-by: Andres

[Mesa-dev] Subset of patches from wip-high-priority that can be useful v2

2017-01-13 Thread Andres Rodriguez
Following are a subset of patches from my wip-high-priority branch that may be useful outside that context. The HW priority debugging may take a little while, so I wanted to make some of the more generic bits to be available on master as other work could benefit from it. v2: Fixed a rebasing mist

[Mesa-dev] [PATCH 3/3] radv: make device extension setup dynamic

2017-01-13 Thread Andres Rodriguez
: Andres Rodriguez --- src/amd/vulkan/radv_device.c | 189 +++--- src/amd/vulkan/radv_private.h | 6 ++ 2 files changed, 130 insertions(+), 65 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index e0991d4..08a1bf3 100644

Re: [Mesa-dev] [PATCH 2/3] radv: rename global extension properties structs

2017-01-13 Thread Andres Rodriguez
On Fri, Jan 13, 2017 at 8:13 PM, Emil Velikov wrote: > On 13 January 2017 at 23:44, Andres Rodriguez wrote: > > All extension arrays are global, but only one of them refers to instance > > extensions. > > > > The device extension array refers to extensions tha

Re: [Mesa-dev] [PATCH] radv: Support multiple devices.

2017-01-16 Thread Andres Rodriguez
Small comments inline for a bit of extra error handling. Still digesting radv and vulkan, so the feedback might be a bit incorrect. On 2017-01-16 02:59 PM, Bas Nieuwenhuizen wrote: Pretty straightforward. Also deleted the big comment block as it is a pretty standard pattern for filling in arra

Re: [Mesa-dev] [PATCH] radv: Support multiple devices.

2017-01-16 Thread Andres Rodriguez
On 2017-01-16 03:34 PM, Bas Nieuwenhuizen wrote: On Mon, Jan 16, 2017 at 9:30 PM, Andres Rodriguez wrote: Small comments inline for a bit of extra error handling. Still digesting radv and vulkan, so the feedback might be a bit incorrect. On 2017-01-16 02:59 PM, Bas Nieuwenhuizen wrote

[Mesa-dev] [PATCH] radv: fix include order for installed headers

2017-01-18 Thread Andres Rodriguez
In situations where libdrm_amdgpu and mesa are installed to the same location, the mesa installed headers will take precedence over the git source headers. This is due to the AMDGPU_CFLAGS containing the install directory. This situation can cause build errors if the git version of a header is ne

[Mesa-dev] [PATCH] radv: fix include order for installed headers v2

2017-01-18 Thread Andres Rodriguez
-by: Andres Rodriguez --- src/amd/vulkan/Makefile.am | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am index 4414881..b47109b 100644 --- a/src/amd/vulkan/Makefile.am +++ b/src/amd/vulkan/Makefile.am @@ -32,9 +32,6

[Mesa-dev] [PATCH] vulkan/wsi: clarify the severity of lack of DRI3

2017-01-18 Thread Andres Rodriguez
The current message sounds like a small warning, clarify that it can result in lack of presentation support and application crashes. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98263 Signed-off-by: Andres Rodriguez --- src/vulkan/wsi/wsi_common_x11.c | 6 -- 1 file changed, 4

[Mesa-dev] [PATCH] vulkan/wsi: clarify the severity of lack of DRI3 v2

2017-01-18 Thread Andres Rodriguez
The current message sounds like a small warning, clarify that it can result in lack of presentation support and application crashes. v2: add "if they do" (Bas) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98263 Signed-off-by: Andres Rodriguez --- src/vulkan/wsi/wsi_common

Re: [Mesa-dev] [PATCH] vulkan/wsi: clarify the severity of lack of DRI3 v2

2017-01-19 Thread Andres Rodriguez
On 1/19/2017 10:47 AM, Emil Velikov wrote: On 18 January 2017 at 23:07, Andres Rodriguez wrote: The current message sounds like a small warning, clarify that it can result in lack of presentation support and application crashes. v2: add "if they do" (Bas) Bugzi

[Mesa-dev] [PATCH 2/7] radv: vkAllocateCommandBuffers should NULL all output handles

2017-01-26 Thread Andres Rodriguez
This is part of the spec and fixes CTS tests: dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_* --- src/amd/vulkan/radv_cmd_buffer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 0b090b7..a

[Mesa-dev] radv: Implement VK_KHR_maintenance1

2017-01-26 Thread Andres Rodriguez
This series implements the VK_KHR_maintenance1 extension. It is loosely based on jekstrand's series for anv. This series soft depends on one of Bas's patches that are not yet in master. I'm not certain of protocol for this kind of situation. I've left them included in this series, but if I should

[Mesa-dev] [PATCH 6/7] radv: Fix vkCmdCopyImage for 2d slices into 3d Images

2017-01-26 Thread Andres Rodriguez
Previously the z offset of the destination image was being ignored. It should be taken into account when copying into a 3d target. Also, img_extent_el.depth was being incorrectly clamped to 1 due to the source image being VK_IMAGE_TYPE_2D. This would result in the blit failing to iterate over all

[Mesa-dev] [PATCH 4/7] radv: Don't allow any operations on non-supported depth/stencil formats.

2017-01-26 Thread Andres Rodriguez
From: Bas Nieuwenhuizen We really use the depth block for the blits. Signed-off-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_formats.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c index e276432..f56f

[Mesa-dev] [PATCH 7/7] radv: Expose VK_KHR_maintenance1

2017-01-26 Thread Andres Rodriguez
--- src/amd/vulkan/radv_device.c | 4 1 file changed, 4 insertions(+) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 4aa6af2..7f68cdc 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -104,6 +104,10 @@ static const VkExtensionProp

<    1   2   3   >