| 16 | #endif |
| 17 | |
| 18 | int main() |
| 19 | { |
| 20 | try |
| 21 | { |
| 22 | vk::Instance instance = vk::su::createInstance( AppName, EngineName ); |
| 23 | #if !defined( NDEBUG ) |
| 24 | vk::DebugUtilsMessengerEXT debugUtilsMessenger = instance.createDebugUtilsMessengerEXT( vk::su::makeDebugUtilsMessengerCreateInfoEXT() ); |
| 25 | #endif |
| 26 | |
| 27 | std::vector<vk::PhysicalDevice> physicalDevices = instance.enumeratePhysicalDevices(); |
| 28 | assert( !physicalDevices.empty() ); |
| 29 | |
| 30 | uint32_t graphicsQueueFamilyIndex = vk::su::findGraphicsQueueFamilyIndex( physicalDevices[0].getQueueFamilyProperties() ); |
| 31 | vk::Device device = vk::su::createDevice( physicalDevices[0], graphicsQueueFamilyIndex ); |
| 32 | |
| 33 | // create an image |
| 34 | vk::ImageCreateInfo imageCreateInfo( {}, |
| 35 | vk::ImageType::e2D, |
| 36 | vk::Format::eB8G8R8A8Unorm, |
| 37 | vk::Extent3D( 640, 640, 1 ), |
| 38 | 1, |
| 39 | 1, |
| 40 | vk::SampleCountFlagBits::e1, |
| 41 | vk::ImageTiling::eLinear, |
| 42 | vk::ImageUsageFlagBits::eTransferSrc ); |
| 43 | vk::Image image = device.createImage( imageCreateInfo ); |
| 44 | |
| 45 | /* VULKAN_KEY_START */ |
| 46 | |
| 47 | device.setDebugUtilsObjectNameEXT( image, "Image name" ); |
| 48 | |
| 49 | /* VULKAN_KEY_END */ |
| 50 | |
| 51 | device.destroyImage( image ); |
| 52 | device.destroy(); |
| 53 | #if !defined( NDEBUG ) |
| 54 | instance.destroyDebugUtilsMessengerEXT( debugUtilsMessenger ); |
| 55 | #endif |
| 56 | instance.destroy(); |
| 57 | } |
| 58 | catch ( vk::SystemError & err ) |
| 59 | { |
| 60 | std::cout << "vk::SystemError: " << err.what() << std::endl; |
| 61 | exit( -1 ); |
| 62 | } |
| 63 | catch ( std::exception & err ) |
| 64 | { |
| 65 | std::cout << "std::exception: " << err.what() << std::endl; |
| 66 | exit( -1 ); |
| 67 | } |
| 68 | catch ( ... ) |
| 69 | { |
| 70 | std::cout << "unknown error\n"; |
| 71 | exit( -1 ); |
| 72 | } |
| 73 | return 0; |
| 74 | } |
nothing calls this directly
no test coverage detected