internal static unsafe DeviceGeneratedCommandsLimits MarshalFrom(Interop.DeviceGeneratedCommandsLimits *value) { DeviceGeneratedCommandsLimits result = new DeviceGeneratedCommandsLimits(); result.MaxIndirectCommandsLayoutTokenCount = value->MaxIndirectCommandsLayoutTokenCount; result.MaxObjectEntryCounts = value->MaxObjectEntryCounts; result.MinSequenceCountBufferOffsetAlignment = value->MinSequenceCountBufferOffsetAlignment; result.MinSequenceIndexBufferOffsetAlignment = value->MinSequenceIndexBufferOffsetAlignment; result.MinCommandsTokenBufferOffsetAlignment = value->MinCommandsTokenBufferOffsetAlignment; return(result); }
/// <summary> /// Returns device-generated commands related properties of a physical /// device. /// </summary> public DeviceGeneratedCommandsLimits GetGeneratedCommandsProperties(DeviceGeneratedCommandsFeatures features) { unsafe { try { var commandDelegate = this.commandCache.GetCommandDelegate <Interop.vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX>("vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX", "device"); DeviceGeneratedCommandsLimits result = default(DeviceGeneratedCommandsLimits); Interop.DeviceGeneratedCommandsFeatures marshalledFeatures; features.MarshalTo(&marshalledFeatures); Interop.DeviceGeneratedCommandsLimits marshalledLimits; commandDelegate(this.handle, &marshalledFeatures, &marshalledLimits); result = DeviceGeneratedCommandsLimits.MarshalFrom(&marshalledLimits); return(result); } finally { Interop.HeapUtil.FreeLog(); } } }