public static void SetName(ID3D12Object *pObject, string name)
 {
     fixed(char *pName = name)
     {
         _ = pObject->SetName((ushort *)pName);
     }
 }
 public static void NameD3D12Object(ID3D12Object *pObject, string name)
 {
     fixed(char *pName = name)
     {
         pObject->SetName(pName);
     }
 }
        public static void SetNameIndexed(ID3D12Object *pObject, string name, uint index)
        {
            var fullName = $"{name}[{index}]";

            SetName(pObject, fullName);
        }
 public static int D3D_SET_OBJECT_NAME_W(ID3D12Object *pObject, ushort *pName)
 {
     return(D3D_SET_OBJECT_NAME_N_W(pObject, (uint)lstrlenW(pName), pName));
 }
        public static int D3D_SET_OBJECT_NAME_N_W(ID3D12Object *pObject, uint Chars, ushort *pName)
        {
            var guid = WKPDID_D3DDebugObjectNameW;

            return(pObject->SetPrivateData(&guid, Chars * 2, pName));
        }
 public static int D3D_SET_OBJECT_NAME_A(ID3D12Object *pObject, sbyte *pName)
 {
     return(D3D_SET_OBJECT_NAME_N_A(pObject, (uint)lstrlenA(pName), pName));
 }