如何取回传递给 ID3D12Object::SetName() 的名称?
How to get back the name passed to ID3D12Object::SetName()?
有 setter,但没有 getter。 The doc 除了这个名称将用于调试诊断和工具之外,没有提供任何信息。
这个有效:
wchar_t name[128] = {};
UINT size = sizeof(name);
object->GetPrivateData(WKPDID_D3DDebugObjectNameW, &size, name);
在 DX11 中 SetName
API 不存在,但 SetPrivateData(WKPDID_D3DDebugObjectName, ...)
用于相同的目的。 GetPrivateData
可用于检索字符串。
DX12 实际上使用相同的系统,只是具有不同的 GUID,因为名称是 unicode(注意 WKPDID_D3DDebugObjectNameW
末尾的 W
),而 SetName
只是它的捷径。
有 setter,但没有 getter。 The doc 除了这个名称将用于调试诊断和工具之外,没有提供任何信息。
这个有效:
wchar_t name[128] = {};
UINT size = sizeof(name);
object->GetPrivateData(WKPDID_D3DDebugObjectNameW, &size, name);
在 DX11 中 SetName
API 不存在,但 SetPrivateData(WKPDID_D3DDebugObjectName, ...)
用于相同的目的。 GetPrivateData
可用于检索字符串。
DX12 实际上使用相同的系统,只是具有不同的 GUID,因为名称是 unicode(注意 WKPDID_D3DDebugObjectNameW
末尾的 W
),而 SetName
只是它的捷径。