【发布时间】:2015-07-15 07:44:26
【问题描述】:
MSDN HLSL 参考对 printf 进行了说明:
“向信息队列提交自定义着色器消息。”
https://msdn.microsoft.com/en-us/library/windows/desktop/ff728755%28v=vs.85%29.aspx
什么是信息队列,如何查看着色器消息?是不是说在pixel shader中使用时会输出width*height(屏幕像素)信息?
谢谢!
【问题讨论】:
MSDN HLSL 参考对 printf 进行了说明:
“向信息队列提交自定义着色器消息。”
https://msdn.microsoft.com/en-us/library/windows/desktop/ff728755%28v=vs.85%29.aspx
什么是信息队列,如何查看着色器消息?是不是说在pixel shader中使用时会输出width*height(屏幕像素)信息?
谢谢!
【问题讨论】:
它基本上可以用于着色器跟踪。 D3D11_TRACE_STEP 结构可以帮助您从 HLSL 中获取 printf 传递的消息,示例如下,乍一看似乎还可以(虽然是用 D 写的):
https://github.com/evilrat666/directx-d/blob/master/src/directx/d3d11shadertracing.d
可以和这个接口一起使用来访问追踪信息:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh446840(v=vs.85).aspx
免责声明:这只是我在研究该主题时发现的,因此我无法提供实际的代码示例。对于调试着色器,我宁愿建议使用 Renderdoc 或 VS 图形调试器
【讨论】: