diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-12-23 04:53:07 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-12-23 04:53:07 +0000 |
| commit | 6d151d4cdd7448465d0fee093c2fd030cf9ed040 (patch) | |
| tree | 66e108982f2e2df04f150d359dad9564a18b63f6 /Graphics/GraphicsEngineVulkan | |
| parent | PipelineStateVkImpl: reworked ray tracing shader group initialization (diff) | |
| download | DiligentCore-6d151d4cdd7448465d0fee093c2fd030cf9ed040.tar.gz DiligentCore-6d151d4cdd7448465d0fee093c2fd030cf9ed040.zip | |
Fixed some issues with PSO create info validation
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp index 87f6ddc6..50f3bb9e 100644 --- a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp @@ -608,6 +608,8 @@ void PipelineStateVkImpl::InitResourceLayouts(const PipelineStateCreateInfo& Cre m_StaticVarsMgrs[s].Initialize(StaticResLayout, GetRawAllocator(), nullptr, 0); } + + // Initialize shader resource layouts and assign bindings and descriptor sets in shader SPIRVs ShaderResourceLayoutVk::Initialize(pDeviceVk, ShaderStages, m_ShaderResourceLayouts, GetRawAllocator(), m_Desc.ResourceLayout, m_PipelineLayout, (CreateInfo.Flags & PSO_CREATE_FLAG_IGNORE_MISSING_VARIABLES) == 0, @@ -766,8 +768,8 @@ PipelineStateVkImpl::PipelineStateVkImpl(IReferenceCounters* CreateRayTracingPipeline(pDeviceVk, vkShaderStages, ShaderGroups, m_PipelineLayout, m_Desc, GetRayTracingPipelineDesc(), m_Pipeline); - auto err = LogicalDevice.GetRayTracingShaderGroupHandles(m_Pipeline, 0, static_cast<uint32_t>(ShaderGroups.size()), m_pRayTracingPipelineData->ShaderDataSize, &m_pRayTracingPipelineData->ShaderHandles[0]); - VERIFY(err == VK_SUCCESS, "Failed to get shader group handles"); + auto err = LogicalDevice.GetRayTracingShaderGroupHandles(m_Pipeline, 0, static_cast<uint32_t>(ShaderGroups.size()), m_pRayTracingPipelineData->ShaderDataSize, m_pRayTracingPipelineData->ShaderHandles); + DEV_CHECK_ERR(err == VK_SUCCESS, "Failed to get shader group handles"); (void)err; } catch (...) |
