@@ -65,9 +65,13 @@ will be a variable arguments function.
65
65
66
66
## Detailed design
67
67
68
- 1 . The printf dxil op will be non-semantic, it does not affect final hlsl code/algorithm.
69
- Non-semantic dxil op code can be counted down from 0xffff, or 0xffffffff, it will give a hint to the client api
70
- to remove the non semantic dxil safely
68
+ 1 . The printf dxil op will be purely for debug purpose, it does not affect final hlsl
69
+ code/algorithm in any way.
70
+ To separate this kind of debug-purpose dxil ops to the normal non-debug dxil il ops,
71
+ the debug printf dxil op code can be counted down from 0xffff, or 0xffffffff,
72
+ e.g. op code is 0xfffe.
73
+ So it will give a hint to the d3d debug layer to pick up debug printf dxil easily,
74
+ or a underlying d3d driver to remove these dxil op codes safely.
71
75
2 . Add a option to enable printf dxil op generation to dxc, try to separate hlsl code for debugging
72
76
and for production, if printf option is disabled, the printf in hlsl will be report a error
73
77
3 . We should not support dynamic string variable, a string variable content.
@@ -79,4 +83,4 @@ expression, we need to retrieve global variable from the constant expression.
79
83
of printf variable arguments, there is no definite function type can be validated.
80
84
6 . dxc does not valiate format specifier to the c/c++ format speicifer standard, or the matching relation between
81
85
format specifier and argument. If the number and type don't match, they will produce undefined result from
82
- client api, e.g. driver.
86
+ a underlying d3d driver or a debug driver
0 commit comments