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 std::vector<float> queuePiorities{1.0, 0.0};
70 VkPipelineStageFlagBits imageAvailableSemaphoreWaitFlag = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
73 bool debugLayer =
false;
74 bool synchronizationLayer =
false;
75 bool apiDumpLayer =
false;
76 bool debugUtils =
false;
82 vsg::Names instanceExtensionNames;
83 vsg::Names requestedLayers;
84 vsg::Names deviceExtensionNames;
85 vsg::PhysicalDeviceTypes deviceTypePreferences;
92 VkSampleCountFlags samples = VK_SAMPLE_COUNT_1_BIT;
94 std::any nativeWindow;
95 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