From a95fe92dafbd2a2e718bb4aac090a7156a46e79b Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 20 Sep 2022 15:44:16 -0700 Subject: Use `printf` in tests. (#2406) Co-authored-by: Yong He --- source/slang/core.meta.slang | 3 +++ source/slang/hlsl.meta.slang | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) (limited to 'source') 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 getBuffer(); property int length { [__unsafeForceInlineEarly] get{return getLength();} } + + __intrinsic_op($(kIROp_getNativeStr)) + __init(String value); }; extension Ptr 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 pow(matrix x, matrix 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(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(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(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(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(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(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(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(NativeString format, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); + // Tessellation factor fixup routines void Process2DQuadTessFactorsAvg( -- cgit v1.2.3