Skip to content

Commit dcc8363

Browse files
fix the last validation error on startup
1 parent 41dd80c commit dcc8363

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

src/nbl/video/CVulkanPhysicalDevice.h

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,6 +1415,33 @@ class CVulkanPhysicalDevice final : public IPhysicalDevice
14151415
for(uint32_t i = 0; i < asset::EF_COUNT; ++i)
14161416
{
14171417
const asset::E_FORMAT format = static_cast<asset::E_FORMAT>(i);
1418+
bool skip = false;
1419+
switch (format)
1420+
{
1421+
case asset::EF_B4G4R4A4_UNORM_PACK16:
1422+
case asset::EF_R4G4B4A4_UNORM_PACK16:
1423+
if (instanceApiVersion<VK_MAKE_API_VERSION(0,1,3,0) && !isExtensionSupported(VK_EXT_4444_FORMATS_EXTENSION_NAME))
1424+
skip = true;
1425+
break;
1426+
// TODO: ASTC HDR stuff
1427+
//case asset::EF_ASTC__SFLOAT
1428+
//if (instanceApiVersion<VK_MAKE_API_VERSION(0,1,3,0) && !isExtensionSupported(VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME))
1429+
// skip = true;
1430+
//break;
1431+
case asset::EF_PVRTC1_2BPP_UNORM_BLOCK_IMG:
1432+
case asset::EF_PVRTC1_4BPP_UNORM_BLOCK_IMG:
1433+
case asset::EF_PVRTC2_2BPP_UNORM_BLOCK_IMG:
1434+
case asset::EF_PVRTC2_4BPP_UNORM_BLOCK_IMG:
1435+
case asset::EF_PVRTC1_2BPP_SRGB_BLOCK_IMG:
1436+
case asset::EF_PVRTC1_4BPP_SRGB_BLOCK_IMG:
1437+
case asset::EF_PVRTC2_2BPP_SRGB_BLOCK_IMG:
1438+
case asset::EF_PVRTC2_4BPP_SRGB_BLOCK_IMG:
1439+
if (!isExtensionSupported(VK_IMG_FORMAT_PVRTC_EXTENSION_NAME))
1440+
skip = true;
1441+
break;
1442+
}
1443+
if (skip)
1444+
continue;
14181445

14191446
VkFormatProperties vk_formatProps;
14201447
vkGetPhysicalDeviceFormatProperties(m_vkPhysicalDevice, getVkFormatFromFormat(format), &vk_formatProps);
@@ -1433,7 +1460,7 @@ class CVulkanPhysicalDevice final : public IPhysicalDevice
14331460
m_linearTilingUsages[format].blitDst = (linearTilingFeatures & VK_FORMAT_FEATURE_BLIT_DST_BIT) ? 1 : 0;
14341461
m_linearTilingUsages[format].transferSrc = (linearTilingFeatures & VK_FORMAT_FEATURE_TRANSFER_SRC_BIT) ? 1 : 0;
14351462
m_linearTilingUsages[format].transferDst = (linearTilingFeatures & VK_FORMAT_FEATURE_TRANSFER_DST_BIT) ? 1 : 0;
1436-
// m_linearTilingUsages[format].log2MaxSmples = ; // Todo(achal)
1463+
// m_linearTilingUsages[format].log2MaxSmples = ; // Todo(Erfan)
14371464

14381465
m_optimalTilingUsages[format] = {};
14391466
m_optimalTilingUsages[format].sampledImage = optimalTilingFeatures & (VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT) ? 1 : 0;
@@ -1445,7 +1472,7 @@ class CVulkanPhysicalDevice final : public IPhysicalDevice
14451472
m_optimalTilingUsages[format].blitDst = optimalTilingFeatures & VK_FORMAT_FEATURE_BLIT_DST_BIT ? 1 : 0;
14461473
m_optimalTilingUsages[format].transferSrc = optimalTilingFeatures & VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ? 1 : 0;
14471474
m_optimalTilingUsages[format].transferDst = optimalTilingFeatures & VK_FORMAT_FEATURE_TRANSFER_DST_BIT ? 1 : 0;
1448-
// m_optimalTilingUsages[format].log2MaxSmples = ; // Todo(achal)
1475+
// m_optimalTilingUsages[format].log2MaxSmples = ; // Todo(Erfan)
14491476

14501477
m_bufferUsages[format] = {};
14511478
m_bufferUsages[format].vertexAttribute = (bufferFeatures & VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT) ? 1 : 0;

0 commit comments

Comments
 (0)