diff options
Diffstat (limited to 'source/slang/slang-ir-lower-buffer-element-type.cpp')
| -rw-r--r-- | source/slang/slang-ir-lower-buffer-element-type.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/slang/slang-ir-lower-buffer-element-type.cpp b/source/slang/slang-ir-lower-buffer-element-type.cpp index cc24a0e81..a480ae673 100644 --- a/source/slang/slang-ir-lower-buffer-element-type.cpp +++ b/source/slang/slang-ir-lower-buffer-element-type.cpp @@ -899,6 +899,16 @@ namespace Slang if (target->getOptionSet().shouldUseScalarLayout()) return IRTypeLayoutRules::getNatural(); + if (target->getOptionSet().shouldUseDXLayout()) + { + if (as<IRUniformParameterGroupType>(bufferType)) + { + return IRTypeLayoutRules::getConstantBuffer(); + } + else + return IRTypeLayoutRules::getNatural(); + } + // The default behavior is to use std140 for constant buffers and std430 for other buffers. switch (bufferType->getOp()) { |
