341 {
342 std::array<const char *, 1> vLayers {
343 "VK_LAYER_KHRONOS_validation",
344 };
345
346
347 const vk::ApplicationInfo vkInfo {
348 .pApplicationName = "Hello Triangle",
349 .applicationVersion = VK_MAKE_VERSION( 1, 0, 0 ),
350 .pEngineName = "No Engine",
351 .engineVersion = VK_MAKE_VERSION( 1, 0, 0 ),
352 .apiVersion = vk::ApiVersion13
353 };
354
356 .width = 800,
357 .height = 600,
358 .title = "TestApplication"
359 };
360
361 vk::StructureChain<vk::PhysicalDeviceFeatures2,
362 vk::PhysicalDeviceVulkan13Features,
363 vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
364 {},
365 {.dynamicRendering = true },
366 {.extendedDynamicState = true },
367 };
368
370 .debugEnabled = true,
371 .validationLayers = vLayers,
372 };
373
375 vk::PhysicalDeviceVulkan13Features,
376 vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> vkCtxInfo {
377 .vkInfo = vkInfo,
378 .featureChain = featureChain,
379 .debugInfo = debugInfo
380 };
381
384 if (app) {
385 std::cout << "Success" << std::endl;
386 } else {
387 std::cout << app.error() << std::endl;
388 return EXIT_FAILURE;
389 }
390 while (app->isRunning()) {
391 app->pollEvents();
392 }
393
394
395
396
397
398
399
400 return EXIT_SUCCESS;
401}
static auto createApp(const DodoContext &ctx, const AppInfo &appInfo) -> std::expected< App, std::string >
Definition App.cpp:9
static auto createDodoContext(const VulkanContext::VulkanContextInfo< Features... > &ctxInfo) -> std::expected< DodoContext, std::string >
Definition DodoContext.hpp:39
Definition VulkanContext.hpp:38
Definition VulkanContext.hpp:31