winevulkan: Handle bitmask pointers for spec generation.

Fixes a bug where pointer types for the following functions would be marked as long:
    vkGetDeviceGroupPeerMemoryFeatures
    vkGetDeviceGroupSurfacePresentModesKHR
    vkGetPhysicalDeviceSurfacePresentModesKHR

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: James Jones <jajones@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Liam Middlebrook 2020-02-05 22:36:34 -08:00 committed by Alexandre Julliard
parent 9f27848d90
commit 936d28e2c5
3 changed files with 8 additions and 8 deletions

View file

@ -158,9 +158,9 @@
@ stdcall vkGetBufferMemoryRequirements(ptr int64 ptr) winevulkan.wine_vkGetBufferMemoryRequirements
@ stdcall vkGetBufferMemoryRequirements2(ptr ptr ptr) winevulkan.wine_vkGetBufferMemoryRequirements2
@ stdcall vkGetDescriptorSetLayoutSupport(ptr ptr ptr) winevulkan.wine_vkGetDescriptorSetLayoutSupport
@ stdcall vkGetDeviceGroupPeerMemoryFeatures(ptr long long long long) winevulkan.wine_vkGetDeviceGroupPeerMemoryFeatures
@ stdcall vkGetDeviceGroupPeerMemoryFeatures(ptr long long long ptr) winevulkan.wine_vkGetDeviceGroupPeerMemoryFeatures
@ stdcall vkGetDeviceGroupPresentCapabilitiesKHR(ptr ptr) winevulkan.wine_vkGetDeviceGroupPresentCapabilitiesKHR
@ stdcall vkGetDeviceGroupSurfacePresentModesKHR(ptr int64 long) winevulkan.wine_vkGetDeviceGroupSurfacePresentModesKHR
@ stdcall vkGetDeviceGroupSurfacePresentModesKHR(ptr int64 ptr) winevulkan.wine_vkGetDeviceGroupSurfacePresentModesKHR
@ stdcall vkGetDeviceMemoryCommitment(ptr int64 ptr) winevulkan.wine_vkGetDeviceMemoryCommitment
@ stdcall vkGetDeviceProcAddr(ptr str) winevulkan.wine_vkGetDeviceProcAddr
@ stdcall vkGetDeviceQueue(ptr long long ptr) winevulkan.wine_vkGetDeviceQueue
@ -198,7 +198,7 @@
@ stdcall vkGetPhysicalDeviceSparseImageFormatProperties2(ptr ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceSparseImageFormatProperties2
@ stdcall vkGetPhysicalDeviceSurfaceCapabilitiesKHR(ptr int64 ptr) winevulkan.wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
@ stdcall vkGetPhysicalDeviceSurfaceFormatsKHR(ptr int64 ptr ptr) winevulkan.wine_vkGetPhysicalDeviceSurfaceFormatsKHR
@ stdcall vkGetPhysicalDeviceSurfacePresentModesKHR(ptr int64 ptr long) winevulkan.wine_vkGetPhysicalDeviceSurfacePresentModesKHR
@ stdcall vkGetPhysicalDeviceSurfacePresentModesKHR(ptr int64 ptr ptr) winevulkan.wine_vkGetPhysicalDeviceSurfacePresentModesKHR
@ stdcall vkGetPhysicalDeviceSurfaceSupportKHR(ptr long int64 ptr) winevulkan.wine_vkGetPhysicalDeviceSurfaceSupportKHR
@ stdcall vkGetPhysicalDeviceWin32PresentationSupportKHR(ptr long) winevulkan.wine_vkGetPhysicalDeviceWin32PresentationSupportKHR
@ stdcall vkGetPipelineCacheData(ptr int64 ptr ptr) winevulkan.wine_vkGetPipelineCacheData

View file

@ -1491,12 +1491,12 @@ class VkParam(object):
def spec(self):
""" Generate spec file entry for this parameter. """
if self.type_info["category"] in ["bitmask", "enum"]:
return "long"
if self.is_pointer() and self.type == "char":
return "str"
if self.is_dispatchable() or self.is_pointer() or self.is_static_array():
return "ptr"
if self.type_info["category"] in ["bitmask", "enum"]:
return "long"
if self.is_handle() and not self.is_dispatchable():
return "int64"
if self.type == "float":

View file

@ -161,9 +161,9 @@
@ stdcall -private wine_vkGetBufferMemoryRequirements(ptr int64 ptr)
@ stdcall -private wine_vkGetBufferMemoryRequirements2(ptr ptr ptr)
@ stdcall -private wine_vkGetDescriptorSetLayoutSupport(ptr ptr ptr)
@ stdcall -private wine_vkGetDeviceGroupPeerMemoryFeatures(ptr long long long long)
@ stdcall -private wine_vkGetDeviceGroupPeerMemoryFeatures(ptr long long long ptr)
@ stdcall -private wine_vkGetDeviceGroupPresentCapabilitiesKHR(ptr ptr)
@ stdcall -private wine_vkGetDeviceGroupSurfacePresentModesKHR(ptr int64 long)
@ stdcall -private wine_vkGetDeviceGroupSurfacePresentModesKHR(ptr int64 ptr)
@ stdcall -private wine_vkGetDeviceMemoryCommitment(ptr int64 ptr)
@ stdcall -private wine_vkGetDeviceProcAddr(ptr str)
@ stdcall -private wine_vkGetDeviceQueue(ptr long long ptr)
@ -201,7 +201,7 @@
@ stdcall -private wine_vkGetPhysicalDeviceSparseImageFormatProperties2(ptr ptr ptr ptr)
@ stdcall -private wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(ptr int64 ptr)
@ stdcall -private wine_vkGetPhysicalDeviceSurfaceFormatsKHR(ptr int64 ptr ptr)
@ stdcall -private wine_vkGetPhysicalDeviceSurfacePresentModesKHR(ptr int64 ptr long)
@ stdcall -private wine_vkGetPhysicalDeviceSurfacePresentModesKHR(ptr int64 ptr ptr)
@ stdcall -private wine_vkGetPhysicalDeviceSurfaceSupportKHR(ptr long int64 ptr)
@ stdcall -private wine_vkGetPhysicalDeviceWin32PresentationSupportKHR(ptr long)
@ stdcall -private wine_vkGetPipelineCacheData(ptr int64 ptr ptr)