17 #include <vsg/vk/Swapchain.h>
32 WindowTraits(int32_t in_x, int32_t in_y, uint32_t in_width, uint32_t in_height,
const std::string& title =
"vsg window");
33 WindowTraits(uint32_t in_width, uint32_t in_height,
const std::string& title =
"vsg window");
45 uint32_t width = 1280;
46 uint32_t height = 1024;
48 bool fullscreen =
false;
53 std::string windowClass =
"vsg::Window";
54 std::string windowTitle =
"vsg window";
56 bool decoration =
true;
60 bool overrideRedirect =
false;
62 uint32_t vulkanVersion = VK_API_VERSION_1_0;
65 VkFormat depthFormat = VK_FORMAT_D32_SFLOAT;
66 VkImageUsageFlags depthImageUsage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
68 VkQueueFlags queueFlags = VK_QUEUE_GRAPHICS_BIT;
69 VkPipelineStageFlagBits imageAvailableSemaphoreWaitFlag = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
71 bool debugLayer =
false;
72 bool synchronizationLayer =
false;
73 bool apiDumpLayer =
false;
76 vsg::Names instanceExtensionNames;
77 vsg::Names requestedLayers;
78 vsg::Names deviceExtensionNames;
79 vsg::PhysicalDeviceTypes deviceTypePreferences;
86 VkSampleCountFlags samples = VK_SAMPLE_COUNT_1_BIT;
88 Window* shareWindow =
nullptr;
90 std::any nativeWindow;
91 std::any systemConnection;
WindowTraits specifies the settings required when creating windows/vulkan instance/device.
Definition: WindowTraits.h:27
void defaults()
set default values, called by all constructors except copy constructor
void validate()
validate the instanceExtensionNames and requestedLayers, assigning additional layers required by debu...
Swapchain preferences passed via WindowTraits::swapchainPreferences to guide swapchain creation assoc...
Definition: Swapchain.h:36