[PATCH 0/4] Add support for Vulkan shared memory in wine.

Alexandre Julliard julliard at winehq.org
Mon Nov 4 11:50:40 CST 2019


Derek Lesho <dlesho at codeweavers.com> writes:

> On 11/4/19 9:39 AM, Alexandre Julliard wrote:
>
>> Derek Lesho <dlesho at codeweavers.com> writes:
>>
>>> This patchset adds support for Vulkan shared memory in wine, which can
>>> in turn be used by API layers like DXVK or D9VK to support D3D shared
>>> resources.  The final commit in the patchset adds a wine extension
>>> allowing layers to associate a custom struct describing a resource, so
>>> that they can recreate it with no outside information.  In the case of
>>> DXVK and D3D11 shared resources, this is a D3D11_COMMON_TEXTURE_DESC.
>>>
>>> While this is the simplest solution, it may be a better idea to define
>>> a standard structure/s, so that interop between i.e. DXVK and vkd3d
>>> would be possible.
>>>
>>> Keep in mind that this functionality may also be used for resources
>>> other than textures/surfaces, like synchronization primtives.
>> This looks like something that belongs in the D3D layers, not in the
>> server or ntdll.
>>
> I assume you're referring to the custom data associated with the
> resource?  I think you're right, since they could instead create a
> shared memory handle which they use to store a KMT handle and the
> resource desc.
>
> If you're referring to the whole patchset, I think we need to at-least
> export some of the file descriptor<->handle functions in ntdll so we
> can turn the FD provided by VK_EXTERNAL_MEMORY_fd into a handle for
> the win32 extension.

We already have fd<->handle conversion functions in ntdll, you should be
able to build something on top of that.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list