mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 11:00:19 +02:00
Thunks: Annotate pointer parameters throughout all thunked libraries
This commit is contained in:
1 parent
0f3d14e7c0
commit
7149da387a
29 files changed
+470
-6
No files matched your search
@@ -4,6 +4,8 @@ tags: thunklibs|Vulkan
|
||||
$end_info$
|
||||
*/
|
||||
|
||||
#define VK_USE_64_BIT_PTR_DEFINES 0
|
||||
|
||||
#define VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||
#define VK_USE_PLATFORM_XLIB_KHR
|
||||
#define VK_USE_PLATFORM_XCB_KHR
|
||||
@@ -91,8 +93,8 @@ static void FEXFN_IMPL(vkFreeMemory)(VkDevice a_0, VkDeviceMemory a_1, const VkA
|
||||
LDR_PTR(vkFreeMemory)(a_0, a_1, nullptr);
|
||||
}
|
||||
|
||||
static VkResult FEXFN_IMPL(vkCreateDebugReportCallbackEXT)(VkInstance a_0, const VkDebugReportCallbackCreateInfoEXT* a_1, const VkAllocationCallbacks* a_2, VkDebugReportCallbackEXT* a_3) {
|
||||
VkDebugReportCallbackCreateInfoEXT overridden_callback = *a_1;
|
||||
static VkResult FEXFN_IMPL(vkCreateDebugReportCallbackEXT)(VkInstance a_0, guest_layout<const VkDebugReportCallbackCreateInfoEXT*> a_1, const VkAllocationCallbacks* a_2, VkDebugReportCallbackEXT* a_3) {
|
||||
VkDebugReportCallbackCreateInfoEXT overridden_callback = *a_1.data;
|
||||
overridden_callback.pfnCallback = DummyVkDebugReportCallback;
|
||||
(void*&)LDR_PTR(vkCreateDebugReportCallbackEXT) = (void*)LDR_PTR(vkGetInstanceProcAddr)(a_0, "vkCreateDebugReportCallbackEXT");
|
||||
return LDR_PTR(vkCreateDebugReportCallbackEXT)(a_0, &overridden_callback, nullptr, a_3);
|
||||
@@ -103,6 +105,21 @@ static void FEXFN_IMPL(vkDestroyDebugReportCallbackEXT)(VkInstance a_0, VkDebugR
|
||||
LDR_PTR(vkDestroyDebugReportCallbackEXT)(a_0, a_1, nullptr);
|
||||
}
|
||||
|
||||
extern "C" VkBool32 DummyVkDebugUtilsMessengerCallback(
|
||||
VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT,
|
||||
const VkDebugUtilsMessengerCallbackDataEXT*, void*) {
|
||||
return VK_FALSE;
|
||||
}
|
||||
|
||||
static VkResult FEXFN_IMPL(vkCreateDebugUtilsMessengerEXT)(
|
||||
VkInstance_T* a_0, guest_layout<const VkDebugUtilsMessengerCreateInfoEXT*> a_1,
|
||||
const VkAllocationCallbacks* a_2, VkDebugUtilsMessengerEXT* a_3) {
|
||||
VkDebugUtilsMessengerCreateInfoEXT overridden_callback = *a_1.data;
|
||||
overridden_callback.pfnUserCallback = DummyVkDebugUtilsMessengerCallback;
|
||||
(void*&)LDR_PTR(vkCreateDebugUtilsMessengerEXT) = (void*)LDR_PTR(vkGetInstanceProcAddr)(a_0, "vkCreateDebugUtilsMessengerEXT");
|
||||
return LDR_PTR(vkCreateDebugUtilsMessengerEXT)(a_0, &overridden_callback, nullptr, a_3);
|
||||
}
|
||||
|
||||
static PFN_vkVoidFunction FEXFN_IMPL(vkGetDeviceProcAddr)(VkDevice a_0, const char* a_1) {
|
||||
// Just return the host facing function pointer
|
||||
// The guest will handle mapping if this exists
|
||||
|
||||
Reference in new issue
Block a user