Skip to content

Commit de1d047

Browse files
committed
better flags check in ValidatePipelineResourceSignatureDesc
1 parent 0899af0 commit de1d047

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Graphics/GraphicsEngine/src/PipelineResourceSignatureBase.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,21 @@ void ValidatePipelineResourceSignatureDesc(const PipelineResourceSignatureDesc&
111111
": ", GetPipelineResourceFlagsString(AllowedResourceFlags, false, ", "), ".");
112112
}
113113

114+
if ((Res.Flags & PIPELINE_RESOURCE_FLAG_VULKAN_PUSH_CONSTANT) != 0)
115+
{
116+
if (Res.Flags != (PIPELINE_RESOURCE_FLAG_INLINE_CONSTANTS | PIPELINE_RESOURCE_FLAG_VULKAN_PUSH_CONSTANT))
117+
{
118+
LOG_PRS_ERROR_AND_THROW("Incorrect Desc.Resources[", i, "].Flags (", GetPipelineResourceFlagsString(Res.Flags),
119+
"). VULKAN_PUSH_CONSTANT flags must be combined with INLINE_CONSTANTS.");
120+
}
121+
}
122+
114123
if ((Res.Flags & PIPELINE_RESOURCE_FLAG_INLINE_CONSTANTS) != 0)
115124
{
116-
if ((Res.Flags & (PIPELINE_RESOURCE_FLAG_INLINE_CONSTANTS | PIPELINE_RESOURCE_FLAG_VULKAN_PUSH_CONSTANT)) != Res.Flags)
125+
if (Res.Flags != PIPELINE_RESOURCE_FLAG_INLINE_CONSTANTS && Res.Flags != (PIPELINE_RESOURCE_FLAG_INLINE_CONSTANTS | PIPELINE_RESOURCE_FLAG_VULKAN_PUSH_CONSTANT))
117126
{
118127
LOG_PRS_ERROR_AND_THROW("Incorrect Desc.Resources[", i, "].Flags (", GetPipelineResourceFlagsString(Res.Flags),
119-
"). INLINE_CONSTANTS and VULKAN_PUSH_CONSTANT flags cannot be combined with other flags.");
128+
"). INLINE_CONSTANTS flag cannot be combined with flags other than VULKAN_PUSH_CONSTANT.");
120129
}
121130

122131
if (Res.ArraySize > 64)

0 commit comments

Comments
 (0)