diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-07-17 21:47:09 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-07-17 21:47:09 +0000 |
| commit | 3bb266bfc21f635b46fec4effdecbd305c87e7b1 (patch) | |
| tree | 286426221e4e4c3597a7665299df3e41ae985af5 /Graphics/GraphicsEngineVulkan | |
| parent | VK backend: fixed mipmap generation when glslang is disabled (diff) | |
| download | DiligentCore-3bb266bfc21f635b46fec4effdecbd305c87e7b1.tar.gz DiligentCore-3bb266bfc21f635b46fec4effdecbd305c87e7b1.zip | |
Vk backend: disabled warning about missing SPV_GOOGLE_hlsl_functionality1 extension when SPIRV is not compiled from HLSL plus few improvements to handling SPIRV created from HLSL
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp index 523a5108..8b3cf728 100644 --- a/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/ShaderVkImpl.cpp @@ -102,13 +102,22 @@ ShaderVkImpl::ShaderVkImpl(IReferenceCounters* pRefCounters, // pipeline state is created // Load shader resources - auto& Allocator = GetRawAllocator(); - auto* pRawMem = ALLOCATE(Allocator, "Allocator for ShaderResources", SPIRVShaderResources, 1); - bool IsHLSLVertexShader = CreationAttribs.SourceLanguage == SHADER_SOURCE_LANGUAGE_HLSL && m_Desc.ShaderType == SHADER_TYPE_VERTEX; - auto* pResources = new (pRawMem) SPIRVShaderResources(Allocator, pRenderDeviceVk, m_SPIRV, m_Desc, CreationAttribs.UseCombinedTextureSamplers ? CreationAttribs.CombinedSamplerSuffix : nullptr, IsHLSLVertexShader, m_EntryPoint); + auto& Allocator = GetRawAllocator(); + auto* pRawMem = ALLOCATE(Allocator, "Allocator for ShaderResources", SPIRVShaderResources, 1); + auto LoadShaderInputs = m_Desc.ShaderType == SHADER_TYPE_VERTEX; + auto* pResources = new (pRawMem) SPIRVShaderResources // + { + Allocator, + pRenderDeviceVk, + m_SPIRV, + m_Desc, + CreationAttribs.UseCombinedTextureSamplers ? CreationAttribs.CombinedSamplerSuffix : nullptr, + LoadShaderInputs, + m_EntryPoint // + }; m_pShaderResources.reset(pResources, STDDeleterRawMem<SPIRVShaderResources>(Allocator)); - if (IsHLSLVertexShader) + if (LoadShaderInputs && m_pShaderResources->IsHLSLSource()) { MapHLSLVertexShaderInputs(); } |
