mirror of https://git.suyu.dev/suyu/suyu
vulkan_device: Use designated initializers for features
This commit is contained in:
parent
79afdeaf08
commit
1a987054c5
|
@ -191,78 +191,77 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
const vk::InstanceDispatch& dld_)
|
const vk::InstanceDispatch& dld_)
|
||||||
: instance{instance_}, dld{dld_}, physical{physical_}, properties{physical.GetProperties()},
|
: instance{instance_}, dld{dld_}, physical{physical_}, properties{physical.GetProperties()},
|
||||||
format_properties{GetFormatProperties(physical)} {
|
format_properties{GetFormatProperties(physical)} {
|
||||||
CheckSuitability();
|
CheckSuitability(surface != nullptr);
|
||||||
SetupFamilies(surface);
|
SetupFamilies(surface);
|
||||||
SetupFeatures();
|
SetupFeatures();
|
||||||
|
|
||||||
const auto queue_cis = GetDeviceQueueCreateInfos();
|
const auto queue_cis = GetDeviceQueueCreateInfos();
|
||||||
const std::vector extensions = LoadExtensions();
|
const std::vector extensions = LoadExtensions(surface != nullptr);
|
||||||
|
|
||||||
VkPhysicalDeviceFeatures2 features2{
|
VkPhysicalDeviceFeatures2 features2{
|
||||||
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
|
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
|
||||||
.pNext = nullptr,
|
.pNext = nullptr,
|
||||||
.features{},
|
.features{
|
||||||
|
.robustBufferAccess = false,
|
||||||
|
.fullDrawIndexUint32 = false,
|
||||||
|
.imageCubeArray = true,
|
||||||
|
.independentBlend = true,
|
||||||
|
.geometryShader = true,
|
||||||
|
.tessellationShader = true,
|
||||||
|
.sampleRateShading = false,
|
||||||
|
.dualSrcBlend = false,
|
||||||
|
.logicOp = false,
|
||||||
|
.multiDrawIndirect = false,
|
||||||
|
.drawIndirectFirstInstance = false,
|
||||||
|
.depthClamp = true,
|
||||||
|
.depthBiasClamp = true,
|
||||||
|
.fillModeNonSolid = false,
|
||||||
|
.depthBounds = false,
|
||||||
|
.wideLines = false,
|
||||||
|
.largePoints = true,
|
||||||
|
.alphaToOne = false,
|
||||||
|
.multiViewport = true,
|
||||||
|
.samplerAnisotropy = true,
|
||||||
|
.textureCompressionETC2 = false,
|
||||||
|
.textureCompressionASTC_LDR = is_optimal_astc_supported,
|
||||||
|
.textureCompressionBC = false,
|
||||||
|
.occlusionQueryPrecise = true,
|
||||||
|
.pipelineStatisticsQuery = false,
|
||||||
|
.vertexPipelineStoresAndAtomics = true,
|
||||||
|
.fragmentStoresAndAtomics = true,
|
||||||
|
.shaderTessellationAndGeometryPointSize = false,
|
||||||
|
.shaderImageGatherExtended = true,
|
||||||
|
.shaderStorageImageExtendedFormats = false,
|
||||||
|
.shaderStorageImageMultisample = is_shader_storage_image_multisample,
|
||||||
|
.shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported,
|
||||||
|
.shaderStorageImageWriteWithoutFormat = true,
|
||||||
|
.shaderUniformBufferArrayDynamicIndexing = false,
|
||||||
|
.shaderSampledImageArrayDynamicIndexing = false,
|
||||||
|
.shaderStorageBufferArrayDynamicIndexing = false,
|
||||||
|
.shaderStorageImageArrayDynamicIndexing = false,
|
||||||
|
.shaderClipDistance = false,
|
||||||
|
.shaderCullDistance = false,
|
||||||
|
.shaderFloat64 = false,
|
||||||
|
.shaderInt64 = false,
|
||||||
|
.shaderInt16 = false,
|
||||||
|
.shaderResourceResidency = false,
|
||||||
|
.shaderResourceMinLod = false,
|
||||||
|
.sparseBinding = false,
|
||||||
|
.sparseResidencyBuffer = false,
|
||||||
|
.sparseResidencyImage2D = false,
|
||||||
|
.sparseResidencyImage3D = false,
|
||||||
|
.sparseResidency2Samples = false,
|
||||||
|
.sparseResidency4Samples = false,
|
||||||
|
.sparseResidency8Samples = false,
|
||||||
|
.sparseResidency16Samples = false,
|
||||||
|
.sparseResidencyAliased = false,
|
||||||
|
.variableMultisampleRate = false,
|
||||||
|
.inheritedQueries = false,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
const void* first_next = &features2;
|
const void* first_next = &features2;
|
||||||
void** next = &features2.pNext;
|
void** next = &features2.pNext;
|
||||||
|
|
||||||
features2.features = {
|
|
||||||
.robustBufferAccess = false,
|
|
||||||
.fullDrawIndexUint32 = false,
|
|
||||||
.imageCubeArray = true,
|
|
||||||
.independentBlend = true,
|
|
||||||
.geometryShader = true,
|
|
||||||
.tessellationShader = true,
|
|
||||||
.sampleRateShading = false,
|
|
||||||
.dualSrcBlend = false,
|
|
||||||
.logicOp = false,
|
|
||||||
.multiDrawIndirect = false,
|
|
||||||
.drawIndirectFirstInstance = false,
|
|
||||||
.depthClamp = true,
|
|
||||||
.depthBiasClamp = true,
|
|
||||||
.fillModeNonSolid = false,
|
|
||||||
.depthBounds = false,
|
|
||||||
.wideLines = false,
|
|
||||||
.largePoints = true,
|
|
||||||
.alphaToOne = false,
|
|
||||||
.multiViewport = true,
|
|
||||||
.samplerAnisotropy = true,
|
|
||||||
.textureCompressionETC2 = false,
|
|
||||||
.textureCompressionASTC_LDR = is_optimal_astc_supported,
|
|
||||||
.textureCompressionBC = false,
|
|
||||||
.occlusionQueryPrecise = true,
|
|
||||||
.pipelineStatisticsQuery = false,
|
|
||||||
.vertexPipelineStoresAndAtomics = true,
|
|
||||||
.fragmentStoresAndAtomics = true,
|
|
||||||
.shaderTessellationAndGeometryPointSize = false,
|
|
||||||
.shaderImageGatherExtended = true,
|
|
||||||
.shaderStorageImageExtendedFormats = false,
|
|
||||||
.shaderStorageImageMultisample = is_shader_storage_image_multisample,
|
|
||||||
.shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported,
|
|
||||||
.shaderStorageImageWriteWithoutFormat = true,
|
|
||||||
.shaderUniformBufferArrayDynamicIndexing = false,
|
|
||||||
.shaderSampledImageArrayDynamicIndexing = false,
|
|
||||||
.shaderStorageBufferArrayDynamicIndexing = false,
|
|
||||||
.shaderStorageImageArrayDynamicIndexing = false,
|
|
||||||
.shaderClipDistance = false,
|
|
||||||
.shaderCullDistance = false,
|
|
||||||
.shaderFloat64 = false,
|
|
||||||
.shaderInt64 = false,
|
|
||||||
.shaderInt16 = false,
|
|
||||||
.shaderResourceResidency = false,
|
|
||||||
.shaderResourceMinLod = false,
|
|
||||||
.sparseBinding = false,
|
|
||||||
.sparseResidencyBuffer = false,
|
|
||||||
.sparseResidencyImage2D = false,
|
|
||||||
.sparseResidencyImage3D = false,
|
|
||||||
.sparseResidency2Samples = false,
|
|
||||||
.sparseResidency4Samples = false,
|
|
||||||
.sparseResidency8Samples = false,
|
|
||||||
.sparseResidency16Samples = false,
|
|
||||||
.sparseResidencyAliased = false,
|
|
||||||
.variableMultisampleRate = false,
|
|
||||||
.inheritedQueries = false,
|
|
||||||
};
|
|
||||||
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR timeline_semaphore{
|
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR timeline_semaphore{
|
||||||
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
|
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR,
|
||||||
.pNext = nullptr,
|
.pNext = nullptr,
|
||||||
|
|
Loading…
Reference in New Issue