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"); }
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); } }
public CommandQueueD3D11(DeviceD3D11 device, CommandQueueType queueType) : base(device, queueType) { _context = device.D3D11Device.CreateDeferredContext(); }
/// <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; }