MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Hpp / main

Function main

samples/DebugUtilsObjectName/DebugUtilsObjectName.cpp:18–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16#endif
17
18int 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}

Callers

nothing calls this directly

Calls 4

createInstanceFunction · 0.85
createDeviceFunction · 0.85

Tested by

no test coverage detected