Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 internal SuspiciousCommandQueue(Context context, Device device, bool enableProfiling, bool enableOutOfOrderExecutionMode, ICommandQueueApi commandQueueApi) : base(context, device, enableProfiling, enableOutOfOrderExecutionMode, commandQueueApi)
 {
 }