summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2021-02-26 06:34:36 +0000
committerassiduous <assiduous@diligentgraphics.com>2021-03-19 00:38:11 +0000
commitf6afada5ec4ece09b2056b540dac70ee5be5a332 (patch)
tree17aff3486e51a07e1020d681f7d38d355e2d65be /Graphics/GraphicsEngine
parentReworked PSO intialization to allow shader resources be combined when defined... (diff)
downloadDiligentCore-f6afada5ec4ece09b2056b540dac70ee5be5a332.tar.gz
DiligentCore-f6afada5ec4ece09b2056b540dac70ee5be5a332.zip
Added PSO creation failure tests
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/src/PipelineStateBase.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngine/src/PipelineStateBase.cpp b/Graphics/GraphicsEngine/src/PipelineStateBase.cpp
index 85b7da0a..57fc1ae3 100644
--- a/Graphics/GraphicsEngine/src/PipelineStateBase.cpp
+++ b/Graphics/GraphicsEngine/src/PipelineStateBase.cpp
@@ -268,7 +268,8 @@ void ValidatePipelineResourceLayoutDesc(const PipelineStateDesc& PSODesc) noexce
if ((it->second & Var.ShaderStages) != 0)
{
LOG_PSO_ERROR_AND_THROW("Shader variable '", Var.Name, "' is defined in overlapping shader stages (", GetShaderStagesString(Var.ShaderStages),
- " and ", GetShaderStagesString(it->second), "), which is not allowed.");
+ " and ", GetShaderStagesString(it->second),
+ "). Multiple variables with the same name are allowed, but shader stages they use must not overlap.");
}
}
UniqueVariables.emplace(Var.Name, Var.ShaderStages);
@@ -286,7 +287,8 @@ void ValidatePipelineResourceLayoutDesc(const PipelineStateDesc& PSODesc) noexce
if ((it->second & Sam.ShaderStages) != 0)
{
LOG_PSO_ERROR_AND_THROW("Immutable sampler '", Sam.SamplerOrTextureName, "' is defined in overlapping shader stages (", GetShaderStagesString(Sam.ShaderStages),
- " and ", GetShaderStagesString(it->second), "), which is not allowed.");
+ " and ", GetShaderStagesString(it->second),
+ "). Multiple immutable samplers with the same name are allowed, but shader stages they use must not overlap.");
}
}
UniqueSamplers.emplace(Sam.SamplerOrTextureName, Sam.ShaderStages);