summaryrefslogtreecommitdiffstats
path: root/source/slang
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-09-20 15:44:16 -0700
committerGitHub <noreply@github.com>2022-09-20 15:44:16 -0700
commita95fe92dafbd2a2e718bb4aac090a7156a46e79b (patch)
treee6498b703fee843921e32da005fb00be85e23eec /source/slang
parente60a6fd40cbc0f0d8548f0160bb92437e3d79509 (diff)
Use `printf` in tests. (#2406)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang')
-rw-r--r--source/slang/core.meta.slang3
-rw-r--r--source/slang/hlsl.meta.slang35
2 files changed, 38 insertions, 0 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang
index 4f2597756..b54c70236 100644
--- a/source/slang/core.meta.slang
+++ b/source/slang/core.meta.slang
@@ -605,6 +605,9 @@ struct NativeString
Ptr<void> getBuffer();
property int length { [__unsafeForceInlineEarly] get{return getLength();} }
+
+ __intrinsic_op($(kIROp_getNativeStr))
+ __init(String value);
};
extension Ptr<void>
diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang
index 151105896..fe3d511d4 100644
--- a/source/slang/hlsl.meta.slang
+++ b/source/slang/hlsl.meta.slang
@@ -2736,36 +2736,71 @@ matrix<T,N,M> pow(matrix<T,N,M> x, matrix<T,N,M> y)
}
// Output message
+// TODO: add check to ensure format is const literal.
+
__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
__glsl_extension(GL_EXT_debug_printf)
__target_intrinsic(glsl, "debugPrintfEXT($0)")
void printf(NativeString format);
__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
__glsl_extension(GL_EXT_debug_printf)
__target_intrinsic(glsl, "debugPrintfEXT($0, $1)")
void printf<T0>(NativeString format, T0 arg0);
__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
__glsl_extension(GL_EXT_debug_printf)
__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2)")
void printf<T0, T1>(NativeString format, T0 arg0, T1 arg1);
__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
__glsl_extension(GL_EXT_debug_printf)
__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2, $3)")
void printf<T0, T1, T2>(NativeString format, T0 arg0, T1 arg1, T2 arg2);
__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
__glsl_extension(GL_EXT_debug_printf)
__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2, $3, $4)")
void printf<T0, T1, T2, T3>(NativeString format, T0 arg0, T1 arg1, T2 arg2, T3 arg3);
__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
__glsl_extension(GL_EXT_debug_printf)
__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2, $3, $4, $5)")
void printf<T0, T1, T2, T3, T4>(NativeString format, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4);
+__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
+__glsl_extension(GL_EXT_debug_printf)
+__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2, $3, $4, $5, $6)")
+void printf<T0, T1, T2, T3, T4, T5>(NativeString format, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
+
+__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
+__glsl_extension(GL_EXT_debug_printf)
+__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2, $3, $4, $5, $6, $7)")
+void printf<T0, T1, T2, T3, T4, T5, T6>(NativeString format, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
+
+__target_intrinsic(hlsl)
+__target_intrinsic(cpp)
+__target_intrinsic(cuda)
+__glsl_extension(GL_EXT_debug_printf)
+__target_intrinsic(glsl, "debugPrintfEXT($0, $1, $2, $3, $4, $5, $6, $7, $8)")
+void printf<T0, T1, T2, T3, T4, T5, T6, T7>(NativeString format, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
+
// Tessellation factor fixup routines
void Process2DQuadTessFactorsAvg(