diff options
| author | azhirnov <zh1dron@gmail.com> | 2020-09-08 19:24:03 +0000 |
|---|---|---|
| committer | azhirnov <zh1dron@gmail.com> | 2020-09-08 19:54:42 +0000 |
| commit | cb92debd446581a094941e923d3a973d5450018f (patch) | |
| tree | 45e07a592e72d3525d31f2eb18a3d58cf77a1d03 /Graphics/GraphicsEngineD3DBase | |
| parent | added DXC license (diff) | |
| download | DiligentCore-cb92debd446581a094941e923d3a973d5450018f.tar.gz DiligentCore-cb92debd446581a094941e923d3a973d5450018f.zip | |
removed m_isDXIL flag, detect DXIL by bytecode
Diffstat (limited to 'Graphics/GraphicsEngineD3DBase')
| -rw-r--r-- | Graphics/GraphicsEngineD3DBase/include/ShaderD3DBase.hpp | 1 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp | 21 |
2 files changed, 11 insertions, 11 deletions
diff --git a/Graphics/GraphicsEngineD3DBase/include/ShaderD3DBase.hpp b/Graphics/GraphicsEngineD3DBase/include/ShaderD3DBase.hpp index 2667b639..3de8b38e 100644 --- a/Graphics/GraphicsEngineD3DBase/include/ShaderD3DBase.hpp +++ b/Graphics/GraphicsEngineD3DBase/include/ShaderD3DBase.hpp @@ -44,7 +44,6 @@ public: protected: CComPtr<ID3DBlob> m_pShaderByteCode; - bool m_isDXIL; }; } // namespace Diligent diff --git a/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp b/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp index a93bb5ec..8df5330a 100644 --- a/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp +++ b/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp @@ -311,27 +311,28 @@ static HRESULT CompileShader(const char* Source, } // namespace -ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion ShaderModel, bool IsD3D12) : - m_isDXIL{false} +ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion ShaderModel, bool IsD3D12) { if (ShaderCI.Source || ShaderCI.FilePath) { DEV_CHECK_ERR(ShaderCI.ByteCode == nullptr, "'ByteCode' must be null when shader is created from the source code or a file"); DEV_CHECK_ERR(ShaderCI.ByteCodeSize == 0, "'ByteCodeSize' must be 0 when shader is created from the source code or a file"); + bool IsDXIL = false; + // validate compiler type switch (ShaderCI.ShaderCompiler) { // clang-format off - case SHADER_COMPILER_DEFAULT: m_isDXIL = false; break; - case SHADER_COMPILER_DXC: m_isDXIL = true; break; - case SHADER_COMPILER_FXC: m_isDXIL = false; break; + case SHADER_COMPILER_DEFAULT: IsDXIL = false; break; + case SHADER_COMPILER_DXC: IsDXIL = true; break; + case SHADER_COMPILER_FXC: IsDXIL = false; break; // clang-format on - default: UNEXPECTED("Unsupported shader compiler"); m_isDXIL = false; + default: UNEXPECTED("Unsupported shader compiler"); } // validate shader model - if (m_isDXIL) + if (IsDXIL) { ShaderModel = (ShaderModel.Major >= 6 ? ShaderModel : ShaderVersion{6, 0}); @@ -346,10 +347,10 @@ ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion Sha ShaderModel = MaxSM; } else - m_isDXIL = false; + IsDXIL = false; } - if (!m_isDXIL) + if (!IsDXIL) { ShaderModel = (ShaderModel.Major < 6 ? ShaderModel : (IsD3D12 ? ShaderVersion{5, 1} : ShaderVersion{5, 0})); } @@ -401,7 +402,7 @@ ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion Sha CComPtr<ID3DBlob> errors; HRESULT hr; - if (m_isDXIL) + if (IsDXIL) hr = CompileDxilShader(ShaderSource.c_str(), ShaderSource.length(), ShaderCI, strShaderProfile.c_str(), &m_pShaderByteCode, &errors); else hr = CompileShader(ShaderSource.c_str(), ShaderSource.length(), ShaderCI, strShaderProfile.c_str(), &m_pShaderByteCode, &errors); |
