1
0
Fork 0
forked from suyu/suyu

vk_device: setup shaderStorageImageReadWithoutFormat

This commit is contained in:
Nguyen Dac Nam 2020-02-19 12:56:36 +07:00 committed by GitHub
parent 47106ab152
commit e61c7e9310
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -106,6 +106,8 @@ bool VKDevice::Create(const vk::DispatchLoaderDynamic& dldi, vk::Instance instan
features.tessellationShader = true; features.tessellationShader = true;
features.fragmentStoresAndAtomics = true; features.fragmentStoresAndAtomics = true;
features.shaderImageGatherExtended = true; features.shaderImageGatherExtended = true;
features.shaderStorageImageReadWithoutFormat =
is_shader_storage_img_read_without_format_supported;
features.shaderStorageImageWriteWithoutFormat = true; features.shaderStorageImageWriteWithoutFormat = true;
features.textureCompressionASTC_LDR = is_optimal_astc_supported; 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) { void VKDevice::SetupFeatures(const vk::DispatchLoaderDynamic& dldi) {
const auto supported_features{physical.getFeatures(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); 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::eBc6HUfloatBlock,
vk::Format::eBc6HSfloatBlock, vk::Format::eBc6HSfloatBlock,
vk::Format::eBc1RgbaSrgbBlock, vk::Format::eBc1RgbaSrgbBlock,
vk::Format::eBc2SrgbBlock,
vk::Format::eBc3SrgbBlock, vk::Format::eBc3SrgbBlock,
vk::Format::eBc7SrgbBlock, vk::Format::eBc7SrgbBlock,
vk::Format::eAstc4x4SrgbBlock, vk::Format::eAstc4x4SrgbBlock,