Exemple #1
0
        public unsafe void SetDebugName(ulong handle, string name, ObjectType type)
        {
            if (_api.DebugLoggingEnabled == false)
            {
                return;
            }

            if (_api.ExtDebugUtils == null)
            {
                throw new Exception($"{nameof(DebugUtilsMessenger)}: Api extensions must be enabled before setting debug object names.");
            }

            var info = new DebugUtilsObjectNameInfoEXT();

            info.SType        = StructureType.DebugUtilsObjectNameInfoExt;
            info.PNext        = null;
            info.ObjectHandle = handle;
            info.ObjectType   = type;
            var namePtr = Marshal.StringToHGlobalAnsi(name);

            info.PObjectName = (byte *)namePtr.ToPointer();

            Util.Verify(_api.ExtDebugUtils.SetDebugUtilsObjectName(_api.Device.VkDevice, info), $"{nameof(DebugUtilsMessenger)}: Unable to set object debug name.");

            Marshal.FreeHGlobal(namePtr);
        }
Exemple #2
0
 public abstract Result SetDebugUtilsObjectName([Count(Count = 0)] Device device, [Count(Count = 0), Flow(FlowDirection.In)] ref DebugUtilsObjectNameInfoEXT pNameInfo);