winevulkan: Implement vkGetDeviceProcAddr.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com> Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6eacdf38e2
commit
a2a53bb618
@ -94,7 +94,7 @@ FUNCTION_OVERRIDES = {
|
|||||||
"vkEnumeratePhysicalDevices" : {"dispatch" : True, "driver" : False, "thunk" : False},
|
"vkEnumeratePhysicalDevices" : {"dispatch" : True, "driver" : False, "thunk" : False},
|
||||||
|
|
||||||
# Device functions
|
# Device functions
|
||||||
"vkGetDeviceProcAddr" : {"dispatch" : True, "driver" : True, "thunk" : True},
|
"vkGetDeviceProcAddr" : {"dispatch" : True, "driver" : True, "thunk" : False},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -352,6 +352,28 @@ VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *d
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PFN_vkVoidFunction WINAPI wine_vkGetDeviceProcAddr(VkDevice device, const char *name)
|
||||||
|
{
|
||||||
|
void *func;
|
||||||
|
TRACE("%p, %s\n", device, debugstr_a(name));
|
||||||
|
|
||||||
|
/* The spec leaves return value undefined for a NULL device, let's just return NULL. */
|
||||||
|
if (!device || !name)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* Per the spec, we are only supposed to return device functions as in functions
|
||||||
|
* for which the first parameter is vkDevice or a child of vkDevice like a
|
||||||
|
* vkCommandBuffer or vkQueue.
|
||||||
|
* Loader takes are of filtering of extensions which are enabled or not.
|
||||||
|
*/
|
||||||
|
func = wine_vk_get_device_proc_addr(name);
|
||||||
|
if (func)
|
||||||
|
return func;
|
||||||
|
|
||||||
|
TRACE("Function %s not found\n", debugstr_a(name));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static PFN_vkVoidFunction WINAPI wine_vkGetInstanceProcAddr(VkInstance instance, const char *name)
|
static PFN_vkVoidFunction WINAPI wine_vkGetInstanceProcAddr(VkInstance instance, const char *name)
|
||||||
{
|
{
|
||||||
void *func;
|
void *func;
|
||||||
|
@ -690,12 +690,6 @@ static void WINAPI wine_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMem
|
|||||||
FIXME("stub: %p, 0x%s, %p\n", device, wine_dbgstr_longlong(memory), pCommittedMemoryInBytes);
|
FIXME("stub: %p, 0x%s, %p\n", device, wine_dbgstr_longlong(memory), pCommittedMemoryInBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PFN_vkVoidFunction WINAPI wine_vkGetDeviceProcAddr(VkDevice device, const char *pName)
|
|
||||||
{
|
|
||||||
FIXME("stub: %p, %p\n", device, pName);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void WINAPI wine_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue)
|
static void WINAPI wine_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue)
|
||||||
{
|
{
|
||||||
FIXME("stub: %p, %u, %u, %p\n", device, queueFamilyIndex, queueIndex, pQueue);
|
FIXME("stub: %p, %u, %u, %p\n", device, queueFamilyIndex, queueIndex, pQueue);
|
||||||
|
@ -17,6 +17,7 @@ VkResult WINAPI wine_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDev
|
|||||||
void WINAPI wine_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator) DECLSPEC_HIDDEN;
|
void WINAPI wine_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator) DECLSPEC_HIDDEN;
|
||||||
VkResult WINAPI wine_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) DECLSPEC_HIDDEN;
|
VkResult WINAPI wine_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) DECLSPEC_HIDDEN;
|
||||||
VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices) DECLSPEC_HIDDEN;
|
VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices) DECLSPEC_HIDDEN;
|
||||||
|
PFN_vkVoidFunction WINAPI wine_vkGetDeviceProcAddr(VkDevice device, const char *pName) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
typedef struct VkImageFormatProperties_host
|
typedef struct VkImageFormatProperties_host
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user