summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3DBase
diff options
context:
space:
mode:
authorazhirnov <zh1dron@gmail.com>2020-08-25 01:58:29 +0000
committerazhirnov <zh1dron@gmail.com>2020-08-27 12:22:35 +0000
commitb915c15b2e0b9b1ef2757aa959f5fd34c30a5773 (patch)
tree88bb3b2c6f5a6bc5f9206c433760ee002d53e64a /Graphics/GraphicsEngineD3DBase
parentdisable vulkan extensions if disabled volk (diff)
downloadDiligentCore-b915c15b2e0b9b1ef2757aa959f5fd34c30a5773.tar.gz
DiligentCore-b915c15b2e0b9b1ef2757aa959f5fd34c30a5773.zip
update documentation for DrawMesh, log new shader version if it has been changed
Diffstat (limited to 'Graphics/GraphicsEngineD3DBase')
-rw-r--r--Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp b/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp
index 25ea3406..6ef46499 100644
--- a/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp
+++ b/Graphics/GraphicsEngineD3DBase/src/ShaderD3DBase.cpp
@@ -310,7 +310,7 @@ static HRESULT CompileShader(const char* Source,
} // namespace
-ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion ShaderModel, bool IsD3D12) :
+ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, const ShaderVersion RequiredVersion, bool IsD3D12) :
m_isDXIL{false}
{
if (ShaderCI.Source || ShaderCI.FilePath)
@@ -330,6 +330,7 @@ ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion Sha
}
// validate shader model
+ ShaderVersion ShaderModel = RequiredVersion;
if (m_isDXIL)
{
ShaderModel = (ShaderModel.Major >= 6 ? ShaderModel : ShaderVersion{6, 0});
@@ -350,6 +351,9 @@ ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion Sha
ShaderModel = (ShaderModel.Major < 6 ? ShaderModel : (IsD3D12 ? ShaderVersion{5, 1} : ShaderVersion{5, 0}));
}
+ if (RequiredVersion.Major != 0 && (ShaderModel.Major != RequiredVersion.Major || ShaderModel.Minor != RequiredVersion.Minor))
+ LOG_INFO_MESSAGE("Shader '", (ShaderCI.Desc.Name != nullptr ? ShaderCI.Desc.Name : ""), "': version changed to ", ShaderModel.Major, ".", ShaderModel.Minor);
+
std::string strShaderProfile;
switch (ShaderCI.Desc.ShaderType)
{
@@ -363,7 +367,6 @@ ShaderD3DBase::ShaderD3DBase(const ShaderCreateInfo& ShaderCI, ShaderVersion Sha
case SHADER_TYPE_AMPLIFICATION: strShaderProfile="as"; break;
case SHADER_TYPE_MESH: strShaderProfile="ms"; break;
// clang-format on
-
default: UNEXPECTED("Unknown shader type");
}