From 0afd742232e598f77e9b97c9902898ee10b80d7e Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 19 Sep 2022 16:44:26 +0100 Subject: [PATCH] Check that S8 format is actually supported --- util/test/demos/vk/vk_discard_zoo.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/util/test/demos/vk/vk_discard_zoo.cpp b/util/test/demos/vk/vk_discard_zoo.cpp index 7003ce846..7ef1aa61e 100644 --- a/util/test/demos/vk/vk_discard_zoo.cpp +++ b/util/test/demos/vk/vk_discard_zoo.cpp @@ -236,6 +236,11 @@ void main() d32 = false; } + bool s8 = true; + vkGetPhysicalDeviceFormatProperties(phys, VK_FORMAT_S8_UINT, &props); + if((props.optimalTilingFeatures & VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT) == 0) + s8 = false; + bool KHR_separate_stencil = std::find(devExts.begin(), devExts.end(), VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME) != devExts.end(); @@ -538,6 +543,16 @@ void main() DiscardImage(cmd, tex); } + if(s8) + { + TEX_TEST("DiscardAll", MakeTex2D(VK_FORMAT_S8_UINT, 300, 300, 5)); + DiscardImage(cmd, tex); + TEX_TEST("DiscardAll", MakeTex2D(VK_FORMAT_S8_UINT, 300, 300, 1, 4)); + DiscardImage(cmd, tex); + TEX_TEST("DiscardAll", MakeTex2D(VK_FORMAT_S8_UINT, 300, 300, 5, 4)); + DiscardImage(cmd, tex); + } + TEX_TEST("DiscardAll", MakeTex2D(depthFormat, 300, 300, 5)); DiscardImage(cmd, tex); TEX_TEST("DiscardAll", MakeTex2D(depthFormat, 300, 300, 1, 4)); @@ -550,12 +565,6 @@ void main() DiscardImage(cmd, tex); TEX_TEST("DiscardAll", MakeTex2D(depthStencilFormat, 300, 300, 5, 4)); DiscardImage(cmd, tex); - TEX_TEST("DiscardAll", MakeTex2D(VK_FORMAT_S8_UINT, 300, 300, 5)); - DiscardImage(cmd, tex); - TEX_TEST("DiscardAll", MakeTex2D(VK_FORMAT_S8_UINT, 300, 300, 1, 4)); - DiscardImage(cmd, tex); - TEX_TEST("DiscardAll", MakeTex2D(VK_FORMAT_S8_UINT, 300, 300, 5, 4)); - DiscardImage(cmd, tex); TEX_TEST("DiscardAll", MakeTex2DMS(depthStencilFormat, 300, 300, 4)); DiscardImage(cmd, tex); TEX_TEST("DiscardAll", MakeTex2DMS(depthStencilFormat, 300, 300, 4, 5));