From 2586d407886bb3ee178c69a9a62f58c9a123b4c0 Mon Sep 17 00:00:00 2001 From: Zhirnov Andrey <2104977+azhirnov@users.noreply.github.com> Date: Wed, 30 Dec 2020 01:36:30 +0300 Subject: Improvements for mesh shader & ray tracing (#180) * remove GLSL from mesh shader tests * small improvements for ray tracing --- Graphics/GraphicsEngineVulkan/src/TopLevelASVkImpl.cpp | 3 ++- .../GraphicsEngineVulkan/src/VulkanUtilities/VulkanDebug.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/src/TopLevelASVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/TopLevelASVkImpl.cpp index 03724a8a..42404f21 100644 --- a/Graphics/GraphicsEngineVulkan/src/TopLevelASVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/TopLevelASVkImpl.cpp @@ -61,7 +61,8 @@ TopLevelASVkImpl::TopLevelASVkImpl(IReferenceCounters* pRefCounters, vkBuildInfo.pGeometries = &vkGeometry; vkBuildInfo.geometryCount = 1; - VERIFY_EXPR(MaxPrimitiveCount <= Limits.maxInstanceCount); + DEV_CHECK_ERR(m_Desc.MaxInstanceCount <= Limits.maxInstanceCount, + "Max instance count (", m_Desc.MaxInstanceCount, ") exceeds device limit (", Limits.maxInstanceCount, ")."); LogicalDevice.GetAccelerationStructureBuildSizes(vkBuildInfo, &MaxPrimitiveCount, vkSizeInfo); diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanDebug.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanDebug.cpp index 04937ca1..e1583401 100644 --- a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanDebug.cpp +++ b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanDebug.cpp @@ -67,6 +67,18 @@ VKAPI_ATTR VkBool32 VKAPI_CALL DebugMessengerCallback(VkDebugUtilsMessageSeverit if (msg.find("dstAccessMask (0x20) is not supported by dstStageMask (0x2000000)") != std::string::npos) return VK_FALSE; } + if (std::string{"VUID-VkShaderModuleCreateInfo-pCode-01091"} == callbackData->pMessageIdName) + { + std::string msg{callbackData->pMessage}; + if (msg.find("The SPIR-V Capability (RayTracingNV) was declared, but none of the requirements were met to use it.") != std::string::npos) + return VK_FALSE; + } + if (std::string{"VUID-VkShaderModuleCreateInfo-pCode-04147"} == callbackData->pMessageIdName) + { + std::string msg{callbackData->pMessage}; + if (msg.find("The SPIR-V Extension (SPV_NV_ray_tracing) was declared, but none of the requirements were met to use it.") != std::string::npos) + return VK_FALSE; + } #endif Diligent::DEBUG_MESSAGE_SEVERITY MsgSeverity = Diligent::DEBUG_MESSAGE_SEVERITY_INFO; -- cgit v1.2.3