2016-08-26 83 views
2

即使Vulkan的創建失敗,我是否應該銷燬一個實例?即使Vulkan的創建失敗,我是否應該銷燬一個實例?

哪一個是正確的:

1:

VkResult Result = vkCreateInstance(info, NULL, instance); 
if(Result != VK_SUCCESS) 
{ 
    vkDestroyInstance(Instance, NULL); 
    glfwTerminate(); 

    exit(EXIT_FAILURE); 
} 

2:

VkResult Result = vkCreateInstance(info, NULL, instance); 
if(Result != VK_SUCCESS) 
{ 
    glfwTerminate(); 

    exit(EXIT_FAILURE); 
}  

回答

3

從規範:

如果一個命令返回一個運行時錯誤,它將不加修改任何結果指針,除非規範中明確定義了其他行爲。

由於VkCreateInstance需要一個VkInstance *,它將保持不變。

相關問題