|
|
|
@ -303,9 +303,10 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica |
|
|
|
#if defined(ANDROID) && defined(ARCHITECTURE_arm64)
|
|
|
|
void OverrideBcnFormats(std::unordered_map<VkFormat, VkFormatProperties>& format_properties) { |
|
|
|
// These properties are extracted from Adreno driver 512.687.0
|
|
|
|
constexpr VkFormatFeatureFlags tiling_features{ |
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_BLIT_SRC_BIT | |
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT | |
|
|
|
constexpr VkFormatFeatureFlags tiling_features{VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | |
|
|
|
VK_FORMAT_FEATURE_BLIT_SRC_BIT | |
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT | |
|
|
|
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT | |
|
|
|
VK_FORMAT_FEATURE_TRANSFER_DST_BIT}; |
|
|
|
|
|
|
|
constexpr VkFormatFeatureFlags buffer_features{VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT}; |
|
|
|
@ -797,8 +798,8 @@ void Device::SaveShader(std::span<const u32> spirv) const { |
|
|
|
} |
|
|
|
|
|
|
|
bool Device::ComputeIsOptimalAstcSupported() const { |
|
|
|
// Disable for now to avoid converting ASTC twice.
|
|
|
|
static constexpr std::array astc_formats = { |
|
|
|
// Verify hardware supports all ASTC formats with optimal tiling to avoid software conversion
|
|
|
|
static constexpr std::array<VkFormat, 28> astc_formats = { |
|
|
|
VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_ASTC_4x4_SRGB_BLOCK, |
|
|
|
VK_FORMAT_ASTC_5x4_UNORM_BLOCK, VK_FORMAT_ASTC_5x4_SRGB_BLOCK, |
|
|
|
VK_FORMAT_ASTC_5x5_UNORM_BLOCK, VK_FORMAT_ASTC_5x5_SRGB_BLOCK, |
|
|
|
|