summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2018-10-30 09:05:40 -0700
committerGitHub <noreply@github.com>2018-10-30 09:05:40 -0700
commit2a7644980035bfda0aab00f183154ab7e976ba63 (patch)
treecc8f1cfc6f11dc31f6b3ab947d478d0fa85e904d
parentd7c09701975eb1032c245f0c3a762680cbe7a255 (diff)
Fix declarations of InterlockedMin/Max (#700)
Fixed #699 These functions were declared with an `in out` parameter (copy in, copy out) where they should have used `__ref` (true by-reference parameter passing).
-rw-r--r--source/slang/hlsl.meta.slang8
-rw-r--r--source/slang/hlsl.meta.slang.h8
2 files changed, 8 insertions, 8 deletions
diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang
index b2b2c5fc5..fb03dfcfc 100644
--- a/source/slang/hlsl.meta.slang
+++ b/source/slang/hlsl.meta.slang
@@ -712,16 +712,16 @@ __target_intrinsic(glsl, "($2 = $atomicMax($A, $1))")
void InterlockedMax(__ref uint dest, uint value, out uint original_value);
__target_intrinsic(glsl, "$atomicMin($A, $1)")
-void InterlockedMin(in out int dest, int value);
+void InterlockedMin(__ref int dest, int value);
__target_intrinsic(glsl, "$atomicMin($A, $1)")
-void InterlockedMin(in out uint dest, uint value);
+void InterlockedMin(__ref uint dest, uint value);
__target_intrinsic(glsl, "($2 = $atomicMin($A, $1))")
-void InterlockedMin(in out int dest, int value, out int original_value);
+void InterlockedMin(__ref int dest, int value, out int original_value);
__target_intrinsic(glsl, "($2 = $atomicMin($A, $1))")
-void InterlockedMin(in out uint dest, uint value, out uint original_value);
+void InterlockedMin(__ref uint dest, uint value, out uint original_value);
__target_intrinsic(glsl, "$atomicOr($A, $1)")
void InterlockedOr(__ref int dest, int value);
diff --git a/source/slang/hlsl.meta.slang.h b/source/slang/hlsl.meta.slang.h
index 073302b0b..e1e080d25 100644
--- a/source/slang/hlsl.meta.slang.h
+++ b/source/slang/hlsl.meta.slang.h
@@ -757,16 +757,16 @@ SLANG_RAW("__target_intrinsic(glsl, \"($2 = $atomicMax($A, $1))\")\n")
SLANG_RAW("void InterlockedMax(__ref uint dest, uint value, out uint original_value);\n")
SLANG_RAW("\n")
SLANG_RAW("__target_intrinsic(glsl, \"$atomicMin($A, $1)\")\n")
-SLANG_RAW("void InterlockedMin(in out int dest, int value);\n")
+SLANG_RAW("void InterlockedMin(__ref int dest, int value);\n")
SLANG_RAW("\n")
SLANG_RAW("__target_intrinsic(glsl, \"$atomicMin($A, $1)\")\n")
-SLANG_RAW("void InterlockedMin(in out uint dest, uint value);\n")
+SLANG_RAW("void InterlockedMin(__ref uint dest, uint value);\n")
SLANG_RAW("\n")
SLANG_RAW("__target_intrinsic(glsl, \"($2 = $atomicMin($A, $1))\")\n")
-SLANG_RAW("void InterlockedMin(in out int dest, int value, out int original_value);\n")
+SLANG_RAW("void InterlockedMin(__ref int dest, int value, out int original_value);\n")
SLANG_RAW("\n")
SLANG_RAW("__target_intrinsic(glsl, \"($2 = $atomicMin($A, $1))\")\n")
-SLANG_RAW("void InterlockedMin(in out uint dest, uint value, out uint original_value);\n")
+SLANG_RAW("void InterlockedMin(__ref uint dest, uint value, out uint original_value);\n")
SLANG_RAW("\n")
SLANG_RAW("__target_intrinsic(glsl, \"$atomicOr($A, $1)\")\n")
SLANG_RAW("void InterlockedOr(__ref int dest, int value);\n")