about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-03-06 16:54:17 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-03-06 16:54:17 +0100
commita996f4c091c6ff1bff47f758e086a5fe925d0885 (patch)
tree7289e44e64e6e3f31078c6869b7f927ce24dec1d /src
parente517e5877659a5669113401ab12df2936c11c3f1 (diff)
downloadbox64-a996f4c091c6ff1bff47f758e086a5fe925d0885.tar.gz
box64-a996f4c091c6ff1bff47f758e086a5fe925d0885.zip
Added some vulkan extentions
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt7
-rw-r--r--src/wrapped/generated/wrappedvulkantypes.h4
-rw-r--r--src/wrapped/generated/wrapper.c9
-rw-r--r--src/wrapped/generated/wrapper.h3
-rwxr-xr-xsrc/wrapped/wrappedvulkan.c17
-rwxr-xr-xsrc/wrapped/wrappedvulkan_private.h55
6 files changed, 95 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index d9d8a697..10080772 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -1012,6 +1012,7 @@
 #() vFpuuuu
 #() vFpuuup
 #() vFpuupp
+#() vFpuUUu
 #() vFpuddd
 #() vFpupup
 #() vFpUuiu
@@ -1303,6 +1304,7 @@
 #() vFpiiipp
 #() vFpiiuuu
 #() vFpiippp
+#() vFpiUuup
 #() vFpipipV
 #() vFpipppi
 #() vFpuiiii
@@ -1387,6 +1389,7 @@
 #() iFpuiCpp
 #() iFpuippp
 #() iFpupuui
+#() iFpUuupp
 #() iFpUUUip
 #() iFpUUUUp
 #() iFpLLppp
@@ -3713,6 +3716,7 @@ wrappedvulkan:
   - vkDestroyShaderModule
   - vkDestroySurfaceKHR
   - vkDestroySwapchainKHR
+  - vkDestroyValidationCacheEXT
 - vFppp:
   - vkDestroyDebugUtilsMessengerEXT
 - iFpUp:
@@ -3754,15 +3758,18 @@ wrappedvulkan:
   - vkCreateSemaphore
   - vkCreateShaderModule
   - vkCreateSwapchainKHR
+  - vkCreateValidationCacheEXT
   - vkCreateWaylandSurfaceKHR
   - vkCreateXcbSurfaceKHR
   - vkCreateXlibSurfaceKHR
+  - vkRegisterDeviceEventEXT
 - vFpupup:
   - vkUpdateDescriptorSets
 - iFpuppp:
   - vkCreateSharedSwapchainsKHR
 - iFpUppp:
   - vkCreateDisplayModeKHR
+  - vkRegisterDisplayEventEXT
 - iFpUuppp:
   - vkCreateComputePipelines
   - vkCreateGraphicsPipelines
diff --git a/src/wrapped/generated/wrappedvulkantypes.h b/src/wrapped/generated/wrappedvulkantypes.h
index a7b1e897..a5973d09 100644
--- a/src/wrapped/generated/wrappedvulkantypes.h
+++ b/src/wrapped/generated/wrappedvulkantypes.h
@@ -56,6 +56,7 @@ typedef void (*vFpiiiupupup_t)(void*, int64_t, int64_t, int64_t, uint64_t, void*
 	GO(vkDestroyShaderModule, vFpUp_t) \
 	GO(vkDestroySurfaceKHR, vFpUp_t) \
 	GO(vkDestroySwapchainKHR, vFpUp_t) \
+	GO(vkDestroyValidationCacheEXT, vFpUp_t) \
 	GO(vkDestroyDebugUtilsMessengerEXT, vFppp_t) \
 	GO(vkFreeMemory, iFpUp_t) \
 	GO(vkCreateInstance, iFppp_t) \
@@ -92,12 +93,15 @@ typedef void (*vFpiiiupupup_t)(void*, int64_t, int64_t, int64_t, uint64_t, void*
 	GO(vkCreateSemaphore, iFpppp_t) \
 	GO(vkCreateShaderModule, iFpppp_t) \
 	GO(vkCreateSwapchainKHR, iFpppp_t) \
+	GO(vkCreateValidationCacheEXT, iFpppp_t) \
 	GO(vkCreateWaylandSurfaceKHR, iFpppp_t) \
 	GO(vkCreateXcbSurfaceKHR, iFpppp_t) \
 	GO(vkCreateXlibSurfaceKHR, iFpppp_t) \
+	GO(vkRegisterDeviceEventEXT, iFpppp_t) \
 	GO(vkUpdateDescriptorSets, vFpupup_t) \
 	GO(vkCreateSharedSwapchainsKHR, iFpuppp_t) \
 	GO(vkCreateDisplayModeKHR, iFpUppp_t) \
+	GO(vkRegisterDisplayEventEXT, iFpUppp_t) \
 	GO(vkCreateComputePipelines, iFpUuppp_t) \
 	GO(vkCreateGraphicsPipelines, iFpUuppp_t) \
 	GO(vkGetPhysicalDeviceSparseImageFormatProperties, vFpiiiiipp_t) \
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 5ac6e503..432b0b82 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1046,6 +1046,7 @@ typedef void (*vFpuipp_t)(void*, uint64_t, int64_t, void*, void*);
 typedef void (*vFpuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*);
 typedef void (*vFpuupp_t)(void*, uint64_t, uint64_t, void*, void*);
+typedef void (*vFpuUUu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFpuddd_t)(void*, uint64_t, double, double, double);
 typedef void (*vFpupup_t)(void*, uint64_t, void*, uint64_t, void*);
 typedef void (*vFpUuiu_t)(void*, uint64_t, uint64_t, int64_t, uint64_t);
@@ -1337,6 +1338,7 @@ typedef void (*vFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFpiiipp_t)(void*, int64_t, int64_t, int64_t, void*, void*);
 typedef void (*vFpiiuuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*);
+typedef void (*vFpiUuup_t)(void*, int64_t, uint64_t, uint64_t, uint64_t, void*);
 typedef void (*vFpipipV_t)(void*, int64_t, void*, int64_t, void*, void*);
 typedef void (*vFpipppi_t)(void*, int64_t, void*, void*, void*, int64_t);
 typedef void (*vFpuiiii_t)(void*, uint64_t, int64_t, int64_t, int64_t, int64_t);
@@ -1421,6 +1423,7 @@ typedef int64_t (*iFpWpppp_t)(void*, uint16_t, void*, void*, void*, void*);
 typedef int64_t (*iFpuiCpp_t)(void*, uint64_t, int64_t, uint8_t, void*, void*);
 typedef int64_t (*iFpuippp_t)(void*, uint64_t, int64_t, void*, void*, void*);
 typedef int64_t (*iFpupuui_t)(void*, uint64_t, void*, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFpUuupp_t)(void*, uint64_t, uint64_t, uint64_t, void*, void*);
 typedef int64_t (*iFpUUUip_t)(void*, uint64_t, uint64_t, uint64_t, int64_t, void*);
 typedef int64_t (*iFpUUUUp_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, void*);
 typedef int64_t (*iFpLLppp_t)(void*, uintptr_t, uintptr_t, void*, void*, void*);
@@ -3103,6 +3106,7 @@ void vFpuipp(x64emu_t *emu, uintptr_t fcn) { vFpuipp_t fn = (vFpuipp_t)fcn; fn((
 void vFpuuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuuu_t fn = (vFpuuuu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void vFpuuup(x64emu_t *emu, uintptr_t fcn) { vFpuuup_t fn = (vFpuuup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void vFpuupp(x64emu_t *emu, uintptr_t fcn) { vFpuupp_t fn = (vFpuupp_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFpuUUu(x64emu_t *emu, uintptr_t fcn) { vFpuUUu_t fn = (vFpuUUu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void vFpuddd(x64emu_t *emu, uintptr_t fcn) { vFpuddd_t fn = (vFpuddd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); }
 void vFpupup(x64emu_t *emu, uintptr_t fcn) { vFpupup_t fn = (vFpupup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void vFpUuiu(x64emu_t *emu, uintptr_t fcn) { vFpUuiu_t fn = (vFpUuiu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
@@ -3394,6 +3398,7 @@ void vFpiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiii_t fn = (vFpiiiii_t)fcn; f
 void vFpiiipp(x64emu_t *emu, uintptr_t fcn) { vFpiiipp_t fn = (vFpiiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpiiuuu(x64emu_t *emu, uintptr_t fcn) { vFpiiuuu_t fn = (vFpiiuuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
 void vFpiippp(x64emu_t *emu, uintptr_t fcn) { vFpiippp_t fn = (vFpiippp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void vFpiUuup(x64emu_t *emu, uintptr_t fcn) { vFpiUuup_t fn = (vFpiUuup_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
 void vFpipipV(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); }
 void vFpipppi(x64emu_t *emu, uintptr_t fcn) { vFpipppi_t fn = (vFpipppi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void vFpuiiii(x64emu_t *emu, uintptr_t fcn) { vFpuiiii_t fn = (vFpuiiii_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
@@ -3478,6 +3483,7 @@ void iFpWpppp(x64emu_t *emu, uintptr_t fcn) { iFpWpppp_t fn = (iFpWpppp_t)fcn; R
 void iFpuiCpp(x64emu_t *emu, uintptr_t fcn) { iFpuiCpp_t fn = (iFpuiCpp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (uint8_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuippp(x64emu_t *emu, uintptr_t fcn) { iFpuippp_t fn = (iFpuippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9); }
+void iFpUuupp(x64emu_t *emu, uintptr_t fcn) { iFpUuupp_t fn = (iFpUuupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpUUUip(x64emu_t *emu, uintptr_t fcn) { iFpUUUip_t fn = (iFpUUUip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void iFpUUUUp(x64emu_t *emu, uintptr_t fcn) { iFpUUUUp_t fn = (iFpUUUUp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
 void iFpLLppp(x64emu_t *emu, uintptr_t fcn) { iFpLLppp_t fn = (iFpLLppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
@@ -5023,6 +5029,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpuuuu) return 1;
 	if (fun == &vFpuuup) return 1;
 	if (fun == &vFpuupp) return 1;
+	if (fun == &vFpuUUu) return 1;
 	if (fun == &vFpuddd) return 4;
 	if (fun == &vFpupup) return 1;
 	if (fun == &vFpUuiu) return 1;
@@ -5266,6 +5273,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpiiipp) return 1;
 	if (fun == &vFpiiuuu) return 1;
 	if (fun == &vFpiippp) return 1;
+	if (fun == &vFpiUuup) return 1;
 	if (fun == &vFpipppi) return 1;
 	if (fun == &vFpuiiii) return 1;
 	if (fun == &vFpuiiiu) return 1;
@@ -5338,6 +5346,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuiCpp) return 1;
 	if (fun == &iFpuippp) return 1;
 	if (fun == &iFpupuui) return 1;
+	if (fun == &iFpUuupp) return 1;
 	if (fun == &iFpUUUip) return 1;
 	if (fun == &iFpUUUUp) return 1;
 	if (fun == &iFpLLppp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 5ec7c7ac..7e947327 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1045,6 +1045,7 @@ void vFpuipp(x64emu_t *emu, uintptr_t fnc);
 void vFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuup(x64emu_t *emu, uintptr_t fnc);
 void vFpuupp(x64emu_t *emu, uintptr_t fnc);
+void vFpuUUu(x64emu_t *emu, uintptr_t fnc);
 void vFpuddd(x64emu_t *emu, uintptr_t fnc);
 void vFpupup(x64emu_t *emu, uintptr_t fnc);
 void vFpUuiu(x64emu_t *emu, uintptr_t fnc);
@@ -1336,6 +1337,7 @@ void vFpiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpiiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpiippp(x64emu_t *emu, uintptr_t fnc);
+void vFpiUuup(x64emu_t *emu, uintptr_t fnc);
 void vFpipipV(x64emu_t *emu, uintptr_t fnc);
 void vFpipppi(x64emu_t *emu, uintptr_t fnc);
 void vFpuiiii(x64emu_t *emu, uintptr_t fnc);
@@ -1420,6 +1422,7 @@ void iFpWpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuiCpp(x64emu_t *emu, uintptr_t fnc);
 void iFpuippp(x64emu_t *emu, uintptr_t fnc);
 void iFpupuui(x64emu_t *emu, uintptr_t fnc);
+void iFpUuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpUUUip(x64emu_t *emu, uintptr_t fnc);
 void iFpUUUUp(x64emu_t *emu, uintptr_t fnc);
 void iFpLLppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedvulkan.c b/src/wrapped/wrappedvulkan.c
index e9528f05..75b14bfb 100755
--- a/src/wrapped/wrappedvulkan.c
+++ b/src/wrapped/wrappedvulkan.c
@@ -476,6 +476,21 @@ CREATE(vkCreateXlibSurfaceKHR)
 CREATE(vkCreateRenderPass2)
 CREATE(vkCreateRenderPass2KHR)
 
+EXPORT int my_vkRegisterDeviceEventEXT(x64emu_t* emu, void* device, void* info, my_VkAllocationCallbacks_t* pAllocator, void* pFence)
+{
+    vulkan_my_t* my = (vulkan_my_t*)my_lib->priv.w.p2;
+    my_VkAllocationCallbacks_t my_alloc;
+    return my->vkRegisterDeviceEventEXT(device, info, find_VkAllocationCallbacks(&my_alloc, pAllocator), pFence);
+}
+EXPORT int my_vkRegisterDisplayEventEXT(x64emu_t* emu, void* device, uint64_t disp, void* info, my_VkAllocationCallbacks_t* pAllocator, void* pFence)
+{
+    vulkan_my_t* my = (vulkan_my_t*)my_lib->priv.w.p2;
+    my_VkAllocationCallbacks_t my_alloc;
+    return my->vkRegisterDisplayEventEXT(device, disp, info, find_VkAllocationCallbacks(&my_alloc, pAllocator), pFence);
+}
+
+CREATE(vkCreateValidationCacheEXT)
+
 DESTROY64(vkDestroyBuffer)
 DESTROY64(vkDestroyBufferView)
 DESTROY64(vkDestroyCommandPool)
@@ -524,6 +539,8 @@ DESTROY64(vkDestroySurfaceKHR)
 
 DESTROY64(vkDestroySamplerYcbcrConversionKHR)
 
+DESTROY64(vkDestroyValidationCacheEXT)
+
 EXPORT void my_vkGetPhysicalDeviceProperties(x64emu_t* emu, void* device, void* pProps)
 {
     vulkan_my_t* my = (vulkan_my_t*)my_lib->priv.w.p2;
diff --git a/src/wrapped/wrappedvulkan_private.h b/src/wrapped/wrappedvulkan_private.h
index 1489ea76..cb383246 100755
--- a/src/wrapped/wrappedvulkan_private.h
+++ b/src/wrapped/wrappedvulkan_private.h
@@ -409,3 +409,58 @@ GO(vkCmdDrawIndirectCountKHR, vFpUUUUuu)
 // VK_AMD_draw_indirect_count
 GO(vkCmdDrawIndexedIndirectCountAMD, vFpUUUUuu)
 GO(vkCmdDrawIndirectCountAMD, vFpUUUUuu)
+
+// VK_AMD_buffer_marker
+GO(vkCmdWriteBufferMarkerAMD, vFpuUUu)
+
+// VK_AMD_shader_info
+GO(vkGetShaderInfoAMD, iFpUuupp)
+
+// VK_EXT_debug_marker
+GO(vkCmdDebugMarkerBeginEXT, vFpp)
+GO(vkCmdDebugMarkerEndEXT, vFp)
+GO(vkCmdDebugMarkerInsertEXT, vFpp)
+GO(vkDebugMarkerSetObjectNameEXT, iFpp)
+GO(vkDebugMarkerSetObjectTagEXT, iFpp)
+
+// VK_EXT_discard_rectangles
+GO(vkCmdSetDiscardRectangleEXT, vFpuup)
+
+// VK_EXT_display_control
+GO(vkDisplayPowerControlEXT, iFpUp)
+GO(vkGetSwapchainCounterEXT, iFpUup)
+GOM(vkRegisterDeviceEventEXT, iFEpppp)
+GOM(vkRegisterDisplayEventEXT, iFEpUppp)
+
+// VK_EXT_external_memory_host
+GO(vkGetMemoryHostPointerPropertiesEXT, iFpupp)
+
+// VK_EXT_hdr_metadata
+GO(vkSetHdrMetadataEXT, vFpupp)
+
+// VK_EXT_validation_cache
+GOM(vkCreateValidationCacheEXT, iFEpppp)
+GOM(vkDestroyValidationCacheEXT, vFEpUp)
+GO(vkGetValidationCacheDataEXT, iFpUpp)
+GO(vkMergeValidationCachesEXT, iFpUup)
+
+// VK_GOOGLE_display_timing
+GO(vkGetPastPresentationTimingGOOGLE, iFpUpp)
+GO(vkGetRefreshCycleDurationGOOGLE, iFpUp)
+
+// VK_KHR_external_fence_fd
+GO(vkGetFenceFdKHR, iFppp)
+GO(vkImportFenceFdKHR, iFpp)
+
+// VK_KHR_external_semaphore_fd
+GO(vkGetSemaphoreFdKHR, iFppp)
+GO(vkImportSemaphoreFdKHR, iFpp)
+
+// VK_KHR_push_descriptor
+GO(vkCmdPushDescriptorSetKHR, vFpiUuup)
+
+// VK_KHR_shared_presentable_image
+GO(vkGetSwapchainStatusKHR, iFpU)
+
+// VK_NV_clip_space_w_scaling
+GO(vkCmdSetViewportWScalingNV, vFpuup)
\ No newline at end of file