Introduce raii-compliant handle wrapper classes.
This commit is contained in:
@@ -36,13 +36,14 @@ int main( int /*argc*/, char ** /*argv*/ )
|
||||
{
|
||||
try
|
||||
{
|
||||
vk::UniqueInstance instance = vk::su::createInstance( AppName, EngineName, {}, {}, VK_API_VERSION_1_1 );
|
||||
vk::Instance instance = vk::su::createInstance( AppName, EngineName, {}, {}, VK_API_VERSION_1_1 );
|
||||
#if !defined( NDEBUG )
|
||||
vk::UniqueDebugUtilsMessengerEXT debugUtilsMessenger = vk::su::createDebugUtilsMessenger( instance );
|
||||
vk::DebugUtilsMessengerEXT debugUtilsMessenger =
|
||||
instance.createDebugUtilsMessengerEXT( vk::su::makeDebugUtilsMessengerCreateInfoEXT() );
|
||||
#endif
|
||||
|
||||
// enumerate the physicalDevices
|
||||
std::vector<vk::PhysicalDevice> physicalDevices = instance->enumeratePhysicalDevices();
|
||||
std::vector<vk::PhysicalDevice> physicalDevices = instance.enumeratePhysicalDevices();
|
||||
|
||||
/* VULKAN_KEY_START */
|
||||
|
||||
@@ -53,7 +54,7 @@ int main( int /*argc*/, char ** /*argv*/ )
|
||||
std::vector<vk::ExtensionProperties> extensionProperties =
|
||||
physicalDevices[i].enumerateDeviceExtensionProperties();
|
||||
|
||||
std::cout << "PhysicalDevice " << i << "\n";
|
||||
std::cout << "PhysicalDevice " << i << " :\n";
|
||||
auto features2 = physicalDevices[i]
|
||||
.getFeatures2<vk::PhysicalDeviceFeatures2,
|
||||
vk::PhysicalDevice16BitStorageFeatures,
|
||||
@@ -808,6 +809,9 @@ int main( int /*argc*/, char ** /*argv*/ )
|
||||
}
|
||||
|
||||
/* VULKAN_KEY_END */
|
||||
|
||||
instance.destroyDebugUtilsMessengerEXT( debugUtilsMessenger );
|
||||
instance.destroy();
|
||||
}
|
||||
catch ( vk::SystemError & err )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user