diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index e1f42b064..1217da99e 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -4172,14 +4172,6 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi createInfo.enabledLayerCount = 0; createInfo.ppEnabledLayerNames = NULL; - rdcarray extArray; - extArray.resize(Extensions.size()); - for(size_t i = 0; i < Extensions.size(); i++) - extArray[i] = Extensions[i].c_str(); - - createInfo.enabledExtensionCount = (uint32_t)extArray.size(); - createInfo.ppEnabledExtensionNames = extArray.data(); - byte *tempMem = GetTempMemory(GetNextPatchSize(createInfo.pNext)); UnwrapNextChain(m_State, "VkDeviceCreateInfo", tempMem, (VkBaseInStructure *)&createInfo); @@ -4198,6 +4190,14 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi NVAftermath_Init(); NVAftermath_EnableVK(supportedExtensions, Extensions, &createInfo.pNext); + rdcarray extArray; + extArray.resize(Extensions.size()); + for(size_t i = 0; i < Extensions.size(); i++) + extArray[i] = Extensions[i].c_str(); + + createInfo.enabledExtensionCount = (uint32_t)extArray.size(); + createInfo.ppEnabledExtensionNames = extArray.data(); + vkr = GetDeviceDispatchTable(NULL)->CreateDevice(Unwrap(physicalDevice), &createInfo, NULL, &device);