/// <summary> /// /// </summary> /// <param name="pointer"> /// </param> internal static unsafe DeviceGeneratedCommandsFeatures MarshalFrom(SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsFeatures *pointer) { DeviceGeneratedCommandsFeatures result = default(DeviceGeneratedCommandsFeatures); result.ComputeBindingPointSupport = pointer->ComputeBindingPointSupport; return(result); }
/// <summary> /// Returns device-generated commands related properties of a physical /// device. /// </summary> /// <param name="extendedHandle"> /// The PhysicalDevice handle to extend. /// </param> /// <param name="features"> /// </param> public static unsafe SharpVk.NVidia.Experimental.DeviceGeneratedCommandsLimits GetGeneratedCommandsProperties(this SharpVk.PhysicalDevice extendedHandle, SharpVk.NVidia.Experimental.DeviceGeneratedCommandsFeatures features) { try { SharpVk.NVidia.Experimental.DeviceGeneratedCommandsLimits result = default(SharpVk.NVidia.Experimental.DeviceGeneratedCommandsLimits); CommandCache commandCache = default(CommandCache); SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsFeatures *marshalledFeatures = default(SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsFeatures *); SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsLimits marshalledLimits = default(SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsLimits); commandCache = extendedHandle.commandCache; marshalledFeatures = (SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsFeatures *)(Interop.HeapUtil.Allocate <SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsFeatures>()); features.MarshalTo(marshalledFeatures); SharpVk.Interop.NVidia.Experimental.VkPhysicalDeviceGetGeneratedCommandsPropertiesDelegate commandDelegate = commandCache.Cache.vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX; commandDelegate(extendedHandle.handle, marshalledFeatures, &marshalledLimits); result = SharpVk.NVidia.Experimental.DeviceGeneratedCommandsLimits.MarshalFrom(&marshalledLimits); return(result); } finally { Interop.HeapUtil.FreeAll(); } }
/// <summary> /// /// </summary> /// <param name="pointer"> /// </param> internal unsafe void MarshalTo(SharpVk.Interop.NVidia.Experimental.DeviceGeneratedCommandsFeatures *pointer) { pointer->SType = StructureType.DeviceGeneratedCommandsFeatures; pointer->Next = null; pointer->ComputeBindingPointSupport = this.ComputeBindingPointSupport; }