Esempio n. 1
0
        public CommandQueueD3D12(D3D12GraphicsDevice device, CommandQueueType queueType)
            : base(device, queueType)
        {
            switch (queueType)
            {
            case CommandQueueType.Graphics:
                CommandListType = CommandListType.Direct;
                break;

            case CommandQueueType.Compute:
                CommandListType = CommandListType.Compute;
                break;

            case CommandQueueType.Copy:
                CommandListType = CommandListType.Copy;
                break;

            default:
                CommandListType = CommandListType.Bundle;
                break;
            }

            D3D12CommandQueue = device.D3D12Device.CreateCommandQueue(CommandListType);
            D3D12CommandQueue.SetName($"{CommandListType} Command Queue");
        }
Esempio n. 2
0
        public CommandQueue GetCommandQueue(CommandQueueType type = CommandQueueType.Graphics)
        {
            switch (type)
            {
            case CommandQueueType.Graphics:
                return(_graphicsCommandQueue);

            case CommandQueueType.Compute:
                return(_computeCommandQueue);

            case CommandQueueType.Copy:
                return(_copyCommandQueue);

            default:
                Debug.Fail("Invalid command queue type.");
                return(null);
            }
        }
Esempio n. 3
0
 public CommandQueueD3D11(DeviceD3D11 device, CommandQueueType queueType)
     : base(device, queueType)
 {
     _context = device.D3D11Device.CreateDeferredContext();
 }
Esempio n. 4
0
 /// <summary>
 /// Create a new instance of <see cref="CommandBuffer"/> class.
 /// </summary>
 /// <param name="device">The creation device</param>
 /// <param name="queueType">The type of queue.</param>
 protected CommandQueue(GraphicsDevice device, CommandQueueType queueType)
 {
     Device    = device;
     QueueType = queueType;
 }