EXT_debug_printf - make escape sequences better match C/C++

This commit is contained in:
Jeff Bolz
2020-03-10 10:23:07 -05:00
parent dbb56a1d48
commit ad3f10bbd0
6 changed files with 72 additions and 37 deletions

View File

@@ -1,7 +1,7 @@
spv.debugPrintf.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 13
// Id's are bound by 17
Capability Shader
Extension "SPV_KHR_non_semantic_info"
@@ -11,6 +11,8 @@ spv.debugPrintf.frag
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
6: String "ASDF \ ? \ %d %d %d"
13: String "ABAZ"
15: String "B#$B1Z"
Source GLSL 450
SourceExtension "GL_EXT_debug_printf"
Name 4 "main"
@@ -23,5 +25,7 @@ spv.debugPrintf.frag
4(main): 2 Function None 3
5: Label
12: 2 ExtInst 11(NonSemantic.DebugPrintf) 1(DebugPrintf) 6 8 9 10
14: 2 ExtInst 11(NonSemantic.DebugPrintf) 1(DebugPrintf) 13
16: 2 ExtInst 11(NonSemantic.DebugPrintf) 1(DebugPrintf) 15
Return
FunctionEnd

View File

@@ -0,0 +1,7 @@
spv.debugPrintf_Error.frag
ERROR: 0:7: 'string' : Expected hex value in escape sequence
ERROR: 0:10: 'string' : Invalid escape sequence
ERROR: 2 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View File

@@ -4,4 +4,10 @@
void main()
{
debugPrintfEXT("ASDF \\ \? \x5C %d %d %d", 1, 2, 3);
// ABA{backspace}Z
debugPrintfEXT("\x41\x000042\x41\x8Z");
// B#${bell, aka \a}B1Z
debugPrintfEXT("\102\043\44\7\1021Z");
}

View File

@@ -0,0 +1,11 @@
#version 450
#extension GL_EXT_debug_printf : enable
void main()
{
// invalid hex sequence
debugPrintfEXT("\xZ");
// not an octal sequence
debugPrintfEXT("\8");
}