internal CommandQueue(Context context, Device device, bool enableProfiling, bool enableOutOfOrderExecutionMode, ICommandQueueApi commandQueueApi) { Context = context ?? throw new ArgumentNullException(nameof(context)); Device = device ?? throw new ArgumentNullException(nameof(device)); _commandQueueApi = commandQueueApi ?? throw new ArgumentNullException(nameof(commandQueueApi)); CommandQueueProperties props = 0b0; if (enableProfiling) { props |= CommandQueueProperties.ProfilingEnable; } if (enableOutOfOrderExecutionMode) { props |= CommandQueueProperties.OutOfOrderExecModeEnable; } var id = _commandQueueApi.clCreateCommandQueue(context.Id, device.Id, props, out var error); error.ThrowOnError(); Id = id; }
internal SuspiciousCommandQueue(Context context, Device device, bool enableProfiling, bool enableOutOfOrderExecutionMode, ICommandQueueApi commandQueueApi) : base(context, device, enableProfiling, enableOutOfOrderExecutionMode, commandQueueApi) { }