From ad658f07caaecb1d5a2de84868c07067959b36e6 Mon Sep 17 00:00:00 2001 From: assiduous Date: Mon, 14 Sep 2020 14:24:57 -0700 Subject: Refactoring shader compilation - part III --- Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp index 733f5b74..033f711a 100644 --- a/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp @@ -67,8 +67,18 @@ ShaderVkImpl::ShaderVkImpl(IReferenceCounters* pRefCounters, switch (CreationAttribs.ShaderCompiler) { case SHADER_COMPILER_DXC: - m_SPIRV = DXILtoSPIRV(pRenderDeviceVk->GetDxCompiler(), CreationAttribs, VulkanDefine, CreationAttribs.ppCompilerOutput); - break; + { + auto* pDXComiler = pRenderDeviceVk->GetDxCompiler(); + if (pDXComiler != nullptr && pDXComiler->IsLoaded()) + { + pDXComiler->Compile(CreationAttribs, VulkanDefine, nullptr, &m_SPIRV, CreationAttribs.ppCompilerOutput); + } + else + { + LOG_ERROR_AND_THROW("DX Compiler is not loaded"); + } + } + break; case SHADER_COMPILER_DEFAULT: case SHADER_COMPILER_GLSLANG: -- cgit v1.2.3