summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-lower-buffer-element-type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir-lower-buffer-element-type.cpp')
-rw-r--r--source/slang/slang-ir-lower-buffer-element-type.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/source/slang/slang-ir-lower-buffer-element-type.cpp b/source/slang/slang-ir-lower-buffer-element-type.cpp
index a480ae673..d0ad7483a 100644
--- a/source/slang/slang-ir-lower-buffer-element-type.cpp
+++ b/source/slang/slang-ir-lower-buffer-element-type.cpp
@@ -888,16 +888,19 @@ namespace Slang
IRTypeLayoutRules* getTypeLayoutRuleForBuffer(TargetProgram* target, IRType* bufferType)
{
- if (!isKhronosTarget(target->getTargetReq()))
- return IRTypeLayoutRules::getNatural();
+ if (target->getTargetReq()->getTarget() != CodeGenTarget::WGSL)
+ {
+ if (!isKhronosTarget(target->getTargetReq()))
+ return IRTypeLayoutRules::getNatural();
- // If we are just emitting GLSL, we can just use the general layout rule.
- if (!target->shouldEmitSPIRVDirectly())
- return IRTypeLayoutRules::getNatural();
+ // If we are just emitting GLSL, we can just use the general layout rule.
+ if (!target->shouldEmitSPIRVDirectly())
+ return IRTypeLayoutRules::getNatural();
- // If the user specified a scalar buffer layout, then just use that.
- if (target->getOptionSet().shouldUseScalarLayout())
- return IRTypeLayoutRules::getNatural();
+ // If the user specified a scalar buffer layout, then just use that.
+ if (target->getOptionSet().shouldUseScalarLayout())
+ return IRTypeLayoutRules::getNatural();
+ }
if (target->getOptionSet().shouldUseDXLayout())
{