diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/emit.cpp | 8 | ||||
| -rw-r--r-- | source/slang/hlsl.meta.slang | 2 | ||||
| -rw-r--r-- | source/slang/hlsl.meta.slang.h | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/source/slang/emit.cpp b/source/slang/emit.cpp index 8483caefc..7d7553bc5 100644 --- a/source/slang/emit.cpp +++ b/source/slang/emit.cpp @@ -2637,6 +2637,10 @@ struct EmitVisitor { Emit("[unroll]"); } + else if(getText(attr->getName()) == "allow_uav_condition") + { + Emit("[allow_uav_condition]"); + } } } @@ -2790,11 +2794,11 @@ struct EmitVisitor { EmitLoopAttributes(doWhileStmt); - Emit("do("); + Emit("do\n"); EmitBlockStmt(doWhileStmt->Statement); Emit(" while("); EmitExpr(doWhileStmt->Predicate); - Emit(")\n"); + Emit(");\n"); return; } else if (auto discardStmt = stmt.As<DiscardStmt>()) diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index 237ca89e4..442903e6f 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -194,7 +194,7 @@ struct RWStructuredBuffer out uint numStructs, out uint stride); - __intrinsic_op void IncrementCounter(); + __intrinsic_op uint IncrementCounter(); __intrinsic_op T Load(int location); __intrinsic_op T Load(int location, out uint status); diff --git a/source/slang/hlsl.meta.slang.h b/source/slang/hlsl.meta.slang.h index 96cdd4f11..84f5e89ed 100644 --- a/source/slang/hlsl.meta.slang.h +++ b/source/slang/hlsl.meta.slang.h @@ -196,7 +196,7 @@ sb << " __intrinsic_op void GetDimensions(\n"; sb << " out uint numStructs,\n"; sb << " out uint stride);\n"; sb << "\n"; -sb << " __intrinsic_op void IncrementCounter();\n"; +sb << " __intrinsic_op uint IncrementCounter();\n"; sb << "\n"; sb << " __intrinsic_op T Load(int location);\n"; sb << " __intrinsic_op T Load(int location, out uint status);\n"; |
