about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-05-07 22:01:44 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-05-07 22:01:44 +0200
commit057de8f9bee4a89fe8b5823a0310322076108de7 (patch)
tree1965cb4def4d2065e1100110cc54995533658ccd /src
parent404bfdc78271bf15db14e6b5539d22026f2bc964 (diff)
downloadbox64-057de8f9bee4a89fe8b5823a0310322076108de7.tar.gz
box64-057de8f9bee4a89fe8b5823a0310322076108de7.zip
Added 1 extension to wrapped vulkan, and change a bit 1 of the procaddress (in sync with the others)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/wrapped/wrappedvulkan.c7
-rwxr-xr-xsrc/wrapped/wrappedvulkan_private.h6
2 files changed, 8 insertions, 5 deletions
diff --git a/src/wrapped/wrappedvulkan.c b/src/wrapped/wrappedvulkan.c
index b138ad9b..a8f694bb 100755
--- a/src/wrapped/wrappedvulkan.c
+++ b/src/wrapped/wrappedvulkan.c
@@ -84,8 +84,8 @@ EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name)
         fillVulkanProcWrapper(emu->context);
     k = kh_get(symbolmap, emu->context->vkmymap, rname);
     int is_my = (k==kh_end(emu->context->vkmymap))?0:1;
-    void* symbol;
-    if(is_my) {
+    void* symbol = my->vkGetDeviceProcAddr(device, name);
+    if(symbol && is_my) {   // only wrap if symbol exist
         // try again, by using custom "my_" now...
         char tmp[200];
         strcpy(tmp, "my_");
@@ -95,8 +95,7 @@ EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name)
         #define GO(A, W) if(!strcmp(rname, #A)) my->A = (W)my->vkGetDeviceProcAddr(device, name);
         SUPER()
         #undef GO
-    } else
-        symbol = my->vkGetDeviceProcAddr(device, name);
+    } 
     if(!symbol) {
         printf_dlsym(LOG_DEBUG, "%p\n", NULL);
         return NULL;    // easy
diff --git a/src/wrapped/wrappedvulkan_private.h b/src/wrapped/wrappedvulkan_private.h
index 873f8572..4e8c295e 100755
--- a/src/wrapped/wrappedvulkan_private.h
+++ b/src/wrapped/wrappedvulkan_private.h
@@ -804,4 +804,8 @@ GO(vkCmdSetSampleMaskEXT, vFpip)
 GO(vkCmdSetShadingRateImageEnableNV, vFpi)
 GO(vkCmdSetTessellationDomainOriginEXT, vFpi)
 GO(vkCmdSetViewportSwizzleNV, vFpuup)
-GO(vkCmdSetViewportWScalingEnableNV, vFpi)
\ No newline at end of file
+GO(vkCmdSetViewportWScalingEnableNV, vFpi)
+
+// VK_KHR_external_memory_win32
+GO(vkGetMemoryWin32HandleKHR, iFppp)
+GO(vkGetMemoryWin32HandlePropertiesKHR, iFpipp)