@@ -1028,10 +1028,9 @@ VkResult recExecWrap_vkCreateImage(VkDevice device,
10281028 pAllocator, pImage);
10291029}
10301030
1031- VkResult recExecWrap_vkCreateBuffer (VkDevice device,
1032- const VkBufferCreateInfo* pCreateInfo,
1033- const VkAllocationCallbacks* pAllocator,
1034- VkBuffer* pBuffer) {
1031+ namespace {
1032+
1033+ VkBufferCreateInfo OverwriteBufferCreateInfo (const VkBufferCreateInfo* pCreateInfo) {
10351034 // Global changes - propagate to recorded streams
10361035 if (!CGitsPluginVulkan::RecorderWrapper ().IsPaused ()) {
10371036 VkBufferCreateInfo* originalCreateInfo = const_cast <VkBufferCreateInfo*>(pCreateInfo);
@@ -1062,11 +1061,22 @@ VkResult recExecWrap_vkCreateBuffer(VkDevice device,
10621061 .vulkan .recorder .crossPlatformStateRestoration .buffers )) {
10631062 localCreateInfo.usage |= VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
10641063 }
1065- return CGitsPluginVulkan::RecorderWrapper (). Drivers (). vkCreateBuffer (device, &localCreateInfo,
1066- pAllocator, pBuffer) ;
1064+
1065+ return localCreateInfo ;
10671066 }
10681067}
10691068
1069+ } // namespace
1070+
1071+ VkResult recExecWrap_vkCreateBuffer (VkDevice device,
1072+ const VkBufferCreateInfo* pCreateInfo,
1073+ const VkAllocationCallbacks* pAllocator,
1074+ VkBuffer* pBuffer) {
1075+ auto localCreateInfo = OverwriteBufferCreateInfo (pCreateInfo);
1076+ return CGitsPluginVulkan::RecorderWrapper ().Drivers ().vkCreateBuffer (device, &localCreateInfo,
1077+ pAllocator, pBuffer);
1078+ }
1079+
10701080VkResult recExecWrap_vkCreateSwapchainKHR (VkDevice device,
10711081 const VkSwapchainCreateInfoKHR* pCreateInfo,
10721082 const VkAllocationCallbacks* pAllocator,
@@ -1287,6 +1297,31 @@ void recExecWrap_vkGetBufferMemoryRequirements2KHR(VkDevice device,
12871297 ProcessBufferMemoryRequirements (&pMemoryRequirements->memoryRequirements );
12881298}
12891299
1300+ void recExecWrap_vkGetDeviceBufferMemoryRequirements (VkDevice device,
1301+ const VkDeviceBufferMemoryRequirements* pInfo,
1302+ VkMemoryRequirements2* pMemoryRequirements) {
1303+ auto memoryReqsInfo = *pInfo;
1304+ auto createInfo = OverwriteBufferCreateInfo (memoryReqsInfo.pCreateInfo );
1305+ memoryReqsInfo.pCreateInfo = &createInfo;
1306+
1307+ CGitsPluginVulkan::RecorderWrapper ().Drivers ().vkGetDeviceBufferMemoryRequirements (
1308+ device, &memoryReqsInfo, pMemoryRequirements);
1309+ ProcessBufferMemoryRequirements (&pMemoryRequirements->memoryRequirements );
1310+ }
1311+
1312+ void recExecWrap_vkGetDeviceBufferMemoryRequirementsKHR (
1313+ VkDevice device,
1314+ const VkDeviceBufferMemoryRequirements* pInfo,
1315+ VkMemoryRequirements2* pMemoryRequirements) {
1316+ auto memoryReqsInfo = *pInfo;
1317+ auto createInfo = OverwriteBufferCreateInfo (memoryReqsInfo.pCreateInfo );
1318+ memoryReqsInfo.pCreateInfo = &createInfo;
1319+
1320+ CGitsPluginVulkan::RecorderWrapper ().Drivers ().vkGetDeviceBufferMemoryRequirementsKHR (
1321+ device, &memoryReqsInfo, pMemoryRequirements);
1322+ ProcessBufferMemoryRequirements (&pMemoryRequirements->memoryRequirements );
1323+ }
1324+
12901325void recExecWrap_vkGetAccelerationStructureBuildSizesKHR (
12911326 VkDevice device,
12921327 VkAccelerationStructureBuildTypeKHR buildType,
0 commit comments