MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / vk_EnumerateInstanceExtensionProperties

Function vk_EnumerateInstanceExtensionProperties

source/vulkan/vulkancommon.cpp:322–350  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

320}
321
322void vk_EnumerateInstanceExtensionProperties(CPU* cpu) {
323 initVulkan();
324 U32 len = 0;
325 char* pLayerName = nullptr;
326 if (ARG1) {
327 len = cpu->memory->strlen(ARG1);
328 pLayerName = new char[len];
329 cpu->memory->memcpy(pLayerName, ARG1, (U32)len * sizeof(char));
330 }
331 uint32_t tmp_pPropertyCount = (uint32_t)cpu->memory->readd(ARG2);
332 uint32_t* pPropertyCount = &tmp_pPropertyCount;
333 VkExtensionProperties* pProperties = nullptr;
334 if (ARG3) {
335 pProperties = new VkExtensionProperties[*pPropertyCount];
336 cpu->memory->memcpy(pProperties, ARG3, (U32)*pPropertyCount * sizeof(VkExtensionProperties));
337 }
338 EAX = pvkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount, pProperties);
339 delete[] pLayerName;
340 cpu->memory->writed(ARG2, (U32)tmp_pPropertyCount);
341 if (pProperties) {
342 for (U32 i = 0; i < tmp_pPropertyCount; i++) {
343 if (!strcmp(pProperties[i].extensionName, "VK_MVK_macos_surface") || !strcmp(pProperties[i].extensionName, "VK_EXT_metal_surface") || !strcmp(pProperties[i].extensionName, "VK_KHR_win32_surface")) {
344 strcpy(pProperties[i].extensionName, "VK_KHR_xlib_surface");
345 }
346 }
347 cpu->memory->memcpy(ARG3, pProperties, (U32)*pPropertyCount * sizeof(VkExtensionProperties));
348 }
349 delete[] pProperties;
350}
351
352VkBool32 VKAPI_PTR boxed_vkDebugReportCallbackEXT(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData) {
353 if (pMessage) {

Callers

nothing calls this directly

Calls 5

strlenMethod · 0.80
memcpyMethod · 0.80
initVulkanFunction · 0.70
readdMethod · 0.45
writedMethod · 0.45

Tested by

no test coverage detected