Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
bb94ec19
Commit
bb94ec19
authored
Jul 25, 2022
by
Jacek Caban
Committed by
Alexandre Julliard
Jul 27, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winevulkan: Use syscall interface for driver functions.
parent
1de20f86
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
23 deletions
+19
-23
loader_thunks.c
dlls/winevulkan/loader_thunks.c
+17
-17
make_vulkan
dlls/winevulkan/make_vulkan
+2
-6
No files found.
dlls/winevulkan/loader_thunks.c
View file @
bb94ec19
...
...
@@ -2083,7 +2083,7 @@ VkResult WINAPI vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCr
params
.
pCreateInfo
=
pCreateInfo
;
params
.
pAllocator
=
pAllocator
;
params
.
pDevice
=
pDevice
;
return
unix_funcs
->
p_vk
_call
(
unix_vkCreateDevice
,
&
params
);
return
vk_unix
_call
(
unix_vkCreateDevice
,
&
params
);
}
VkResult
WINAPI
vkCreateEvent
(
VkDevice
device
,
const
VkEventCreateInfo
*
pCreateInfo
,
const
VkAllocationCallbacks
*
pAllocator
,
VkEvent
*
pEvent
)
...
...
@@ -2320,7 +2320,7 @@ VkResult WINAPI vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInf
params
.
pCreateInfo
=
pCreateInfo
;
params
.
pAllocator
=
pAllocator
;
params
.
pSwapchain
=
pSwapchain
;
return
unix_funcs
->
p_vk
_call
(
unix_vkCreateSwapchainKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkCreateSwapchainKHR
,
&
params
);
}
VkResult
WINAPI
vkCreateValidationCacheEXT
(
VkDevice
device
,
const
VkValidationCacheCreateInfoEXT
*
pCreateInfo
,
const
VkAllocationCallbacks
*
pAllocator
,
VkValidationCacheEXT
*
pValidationCache
)
...
...
@@ -2340,7 +2340,7 @@ VkResult WINAPI vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32Surfac
params
.
pCreateInfo
=
pCreateInfo
;
params
.
pAllocator
=
pAllocator
;
params
.
pSurface
=
pSurface
;
return
unix_funcs
->
p_vk
_call
(
unix_vkCreateWin32SurfaceKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkCreateWin32SurfaceKHR
,
&
params
);
}
VkResult
WINAPI
vkDebugMarkerSetObjectNameEXT
(
VkDevice
device
,
const
VkDebugMarkerObjectNameInfoEXT
*
pNameInfo
)
...
...
@@ -2574,7 +2574,7 @@ void WINAPI vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *
struct
vkDestroyInstance_params
params
;
params
.
instance
=
instance
;
params
.
pAllocator
=
pAllocator
;
unix_funcs
->
p_vk
_call
(
unix_vkDestroyInstance
,
&
params
);
vk_unix
_call
(
unix_vkDestroyInstance
,
&
params
);
}
void
WINAPI
vkDestroyPipeline
(
VkDevice
device
,
VkPipeline
pipeline
,
const
VkAllocationCallbacks
*
pAllocator
)
...
...
@@ -2691,7 +2691,7 @@ void WINAPI vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const
params
.
instance
=
instance
;
params
.
surface
=
surface
;
params
.
pAllocator
=
pAllocator
;
unix_funcs
->
p_vk
_call
(
unix_vkDestroySurfaceKHR
,
&
params
);
vk_unix
_call
(
unix_vkDestroySurfaceKHR
,
&
params
);
}
void
WINAPI
vkDestroySwapchainKHR
(
VkDevice
device
,
VkSwapchainKHR
swapchain
,
const
VkAllocationCallbacks
*
pAllocator
)
...
...
@@ -2700,7 +2700,7 @@ void WINAPI vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, con
params
.
device
=
device
;
params
.
swapchain
=
swapchain
;
params
.
pAllocator
=
pAllocator
;
unix_funcs
->
p_vk
_call
(
unix_vkDestroySwapchainKHR
,
&
params
);
vk_unix
_call
(
unix_vkDestroySwapchainKHR
,
&
params
);
}
void
WINAPI
vkDestroyValidationCacheEXT
(
VkDevice
device
,
VkValidationCacheEXT
validationCache
,
const
VkAllocationCallbacks
*
pAllocator
)
...
...
@@ -3058,7 +3058,7 @@ VkResult WINAPI vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfac
params
.
device
=
device
;
params
.
surface
=
surface
;
params
.
pModes
=
pModes
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetDeviceGroupSurfacePresentModesKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetDeviceGroupSurfacePresentModesKHR
,
&
params
);
}
void
WINAPI
vkGetDeviceImageMemoryRequirements
(
VkDevice
device
,
const
VkDeviceImageMemoryRequirements
*
pInfo
,
VkMemoryRequirements2
*
pMemoryRequirements
)
...
...
@@ -3495,7 +3495,7 @@ VkResult WINAPI vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physica
params
.
surface
=
surface
;
params
.
pRectCount
=
pRectCount
;
params
.
pRects
=
pRects
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDevicePresentRectanglesKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDevicePresentRectanglesKHR
,
&
params
);
}
void
WINAPI
vkGetPhysicalDeviceProperties
(
VkPhysicalDevice
physicalDevice
,
VkPhysicalDeviceProperties
*
pProperties
)
...
...
@@ -3591,7 +3591,7 @@ VkResult WINAPI vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice phys
params
.
physicalDevice
=
physicalDevice
;
params
.
pSurfaceInfo
=
pSurfaceInfo
;
params
.
pSurfaceCapabilities
=
pSurfaceCapabilities
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
&
params
);
}
VkResult
WINAPI
vkGetPhysicalDeviceSurfaceCapabilitiesKHR
(
VkPhysicalDevice
physicalDevice
,
VkSurfaceKHR
surface
,
VkSurfaceCapabilitiesKHR
*
pSurfaceCapabilities
)
...
...
@@ -3600,7 +3600,7 @@ VkResult WINAPI vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physi
params
.
physicalDevice
=
physicalDevice
;
params
.
surface
=
surface
;
params
.
pSurfaceCapabilities
=
pSurfaceCapabilities
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
&
params
);
}
VkResult
WINAPI
vkGetPhysicalDeviceSurfaceFormats2KHR
(
VkPhysicalDevice
physicalDevice
,
const
VkPhysicalDeviceSurfaceInfo2KHR
*
pSurfaceInfo
,
uint32_t
*
pSurfaceFormatCount
,
VkSurfaceFormat2KHR
*
pSurfaceFormats
)
...
...
@@ -3610,7 +3610,7 @@ VkResult WINAPI vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalD
params
.
pSurfaceInfo
=
pSurfaceInfo
;
params
.
pSurfaceFormatCount
=
pSurfaceFormatCount
;
params
.
pSurfaceFormats
=
pSurfaceFormats
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceSurfaceFormats2KHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceSurfaceFormats2KHR
,
&
params
);
}
VkResult
WINAPI
vkGetPhysicalDeviceSurfaceFormatsKHR
(
VkPhysicalDevice
physicalDevice
,
VkSurfaceKHR
surface
,
uint32_t
*
pSurfaceFormatCount
,
VkSurfaceFormatKHR
*
pSurfaceFormats
)
...
...
@@ -3620,7 +3620,7 @@ VkResult WINAPI vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDe
params
.
surface
=
surface
;
params
.
pSurfaceFormatCount
=
pSurfaceFormatCount
;
params
.
pSurfaceFormats
=
pSurfaceFormats
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceSurfaceFormatsKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceSurfaceFormatsKHR
,
&
params
);
}
VkResult
WINAPI
vkGetPhysicalDeviceSurfacePresentModesKHR
(
VkPhysicalDevice
physicalDevice
,
VkSurfaceKHR
surface
,
uint32_t
*
pPresentModeCount
,
VkPresentModeKHR
*
pPresentModes
)
...
...
@@ -3630,7 +3630,7 @@ VkResult WINAPI vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physi
params
.
surface
=
surface
;
params
.
pPresentModeCount
=
pPresentModeCount
;
params
.
pPresentModes
=
pPresentModes
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceSurfacePresentModesKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceSurfacePresentModesKHR
,
&
params
);
}
VkResult
WINAPI
vkGetPhysicalDeviceSurfaceSupportKHR
(
VkPhysicalDevice
physicalDevice
,
uint32_t
queueFamilyIndex
,
VkSurfaceKHR
surface
,
VkBool32
*
pSupported
)
...
...
@@ -3640,7 +3640,7 @@ VkResult WINAPI vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDe
params
.
queueFamilyIndex
=
queueFamilyIndex
;
params
.
surface
=
surface
;
params
.
pSupported
=
pSupported
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceSurfaceSupportKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceSurfaceSupportKHR
,
&
params
);
}
VkResult
WINAPI
vkGetPhysicalDeviceToolProperties
(
VkPhysicalDevice
physicalDevice
,
uint32_t
*
pToolCount
,
VkPhysicalDeviceToolProperties
*
pToolProperties
)
...
...
@@ -3666,7 +3666,7 @@ VkBool32 WINAPI vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice
struct
vkGetPhysicalDeviceWin32PresentationSupportKHR_params
params
;
params
.
physicalDevice
=
physicalDevice
;
params
.
queueFamilyIndex
=
queueFamilyIndex
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
&
params
);
}
VkResult
WINAPI
vkGetPipelineCacheData
(
VkDevice
device
,
VkPipelineCache
pipelineCache
,
size_t
*
pDataSize
,
void
*
pData
)
...
...
@@ -3882,7 +3882,7 @@ VkResult WINAPI vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchai
params
.
swapchain
=
swapchain
;
params
.
pSwapchainImageCount
=
pSwapchainImageCount
;
params
.
pSwapchainImages
=
pSwapchainImages
;
return
unix_funcs
->
p_vk
_call
(
unix_vkGetSwapchainImagesKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkGetSwapchainImagesKHR
,
&
params
);
}
VkResult
WINAPI
vkGetValidationCacheDataEXT
(
VkDevice
device
,
VkValidationCacheEXT
validationCache
,
size_t
*
pDataSize
,
void
*
pData
)
...
...
@@ -3982,7 +3982,7 @@ VkResult WINAPI vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresen
struct
vkQueuePresentKHR_params
params
;
params
.
queue
=
queue
;
params
.
pPresentInfo
=
pPresentInfo
;
return
unix_funcs
->
p_vk
_call
(
unix_vkQueuePresentKHR
,
&
params
);
return
vk_unix
_call
(
unix_vkQueuePresentKHR
,
&
params
);
}
VkResult
WINAPI
vkQueueSetPerformanceConfigurationINTEL
(
VkQueue
queue
,
VkPerformanceConfigurationINTEL
configuration
)
...
...
dlls/winevulkan/make_vulkan
View file @
bb94ec19
...
...
@@ -147,12 +147,8 @@ ALLOWED_X_EXTENSIONS = [
"VK_NVX_image_view_handle"
,
]
# We can't use syscall interface for functions that may call display drivers
# until drivers are converted to pure Unix libraries. Also some frequently
# called functions use direct calls for performance reasons.
# Some frequently called functions use direct calls for performance reasons.
DIRECT_CALL_FUNCTIONS
=
[
"vkCreateDevice"
,
"vkEnumerateInstanceVersion"
,
"vkUpdateDescriptorSets"
,
"vkUpdateDescriptorSetWithTemplate"
,
]
...
...
@@ -691,7 +687,7 @@ class VkFunction(object):
# vkCmd* functions are frequently called, use direct calls for performance
if
self
.
name
.
startswith
(
"vkCmd"
):
return
True
return
self
.
is_driver_func
()
or
self
.
name
in
DIRECT_CALL_FUNCTIONS
return
self
.
name
in
DIRECT_CALL_FUNCTIONS
def
pfn
(
self
,
prefix
=
"p"
,
call_conv
=
None
,
conv
=
False
):
""" Create function pointer. """
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment