|
|
|
@ -106,6 +106,8 @@ bool VKDevice::Create(const vk::DispatchLoaderDynamic& dldi, vk::Instance instan
|
|
|
|
|
features.tessellationShader = true;
|
|
|
|
|
features.fragmentStoresAndAtomics = true;
|
|
|
|
|
features.shaderImageGatherExtended = true;
|
|
|
|
|
features.shaderStorageImageReadWithoutFormat =
|
|
|
|
|
is_shader_storage_img_read_without_format_supported;
|
|
|
|
|
features.shaderStorageImageWriteWithoutFormat = true;
|
|
|
|
|
features.textureCompressionASTC_LDR = is_optimal_astc_supported;
|
|
|
|
|
|
|
|
|
@ -457,6 +459,8 @@ void VKDevice::SetupFamilies(const vk::DispatchLoaderDynamic& dldi, vk::SurfaceK
|
|
|
|
|
|
|
|
|
|
void VKDevice::SetupFeatures(const vk::DispatchLoaderDynamic& dldi) {
|
|
|
|
|
const auto supported_features{physical.getFeatures(dldi)};
|
|
|
|
|
is_shader_storage_img_read_without_format_supported =
|
|
|
|
|
supported_features.shaderStorageImageReadWithoutFormat;
|
|
|
|
|
is_optimal_astc_supported = IsOptimalAstcSupported(supported_features, dldi);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -530,6 +534,7 @@ std::unordered_map<vk::Format, vk::FormatProperties> VKDevice::GetFormatProperti
|
|
|
|
|
vk::Format::eBc6HUfloatBlock,
|
|
|
|
|
vk::Format::eBc6HSfloatBlock,
|
|
|
|
|
vk::Format::eBc1RgbaSrgbBlock,
|
|
|
|
|
vk::Format::eBc2SrgbBlock,
|
|
|
|
|
vk::Format::eBc3SrgbBlock,
|
|
|
|
|
vk::Format::eBc7SrgbBlock,
|
|
|
|
|
vk::Format::eAstc4x4SrgbBlock,
|
|
|
|
|