Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::gpu::ImmediateQueue Class Reference

#include <immediate_queue.h>

Public Member Functions

ID3D12GraphicsCommandList10 * Begin ()
bool ExecuteAndWait ()
ID3D12CommandQueue * Native () const

Static Public Member Functions

static std::expected< ImmediateQueue, std::string > Create (ID3D12Device5 *device, D3D12_COMMAND_LIST_TYPE type)

Private Member Functions

 ImmediateQueue ()=default

Private Attributes

ComPtr< ID3D12CommandQueue > m_queue
ComPtr< ID3D12CommandAllocator > m_allocator
ComPtr< ID3D12GraphicsCommandList10 > m_list
ComPtr< ID3D12Fence > m_fence
uint64_t m_fenceValue = 0

Detailed Description

Definition at line 17 of file immediate_queue.h.

Constructor & Destructor Documentation

◆ ImmediateQueue()

bicameral::gpu::ImmediateQueue::ImmediateQueue ( )
privatedefault

Referenced by Create().

Here is the caller graph for this function:

Member Function Documentation

◆ Begin()

ID3D12GraphicsCommandList10 * bicameral::gpu::ImmediateQueue::Begin ( )
nodiscard

Definition at line 32 of file immediate_queue.cpp.

References BICAMERAL_CHECK_HR, bicameral::Gpu, m_allocator, and m_list.

◆ Create()

std::expected< ImmediateQueue, std::string > bicameral::gpu::ImmediateQueue::Create ( ID3D12Device5 * device,
D3D12_COMMAND_LIST_TYPE type )
staticnodiscard

Definition at line 12 of file immediate_queue.cpp.

References BICAMERAL_CHECK_HR, bicameral::Gpu, ImmediateQueue(), m_allocator, m_fence, m_list, and m_queue.

Referenced by bicameral::sim::LabSession::Create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExecuteAndWait()

bool bicameral::gpu::ImmediateQueue::ExecuteAndWait ( )
nodiscard

Definition at line 42 of file immediate_queue.cpp.

References BICAMERAL_CHECK_HR, bicameral::Gpu, bicameral::gpu::LogDeviceRemoved(), m_fence, m_fenceValue, m_list, and m_queue.

Here is the call graph for this function:

◆ Native()

ID3D12CommandQueue * bicameral::gpu::ImmediateQueue::Native ( ) const
inlinenodiscard

Definition at line 29 of file immediate_queue.h.

References m_queue.

Member Data Documentation

◆ m_allocator

ComPtr<ID3D12CommandAllocator> bicameral::gpu::ImmediateQueue::m_allocator
private

Definition at line 35 of file immediate_queue.h.

Referenced by Begin(), and Create().

◆ m_fence

ComPtr<ID3D12Fence> bicameral::gpu::ImmediateQueue::m_fence
private

Definition at line 37 of file immediate_queue.h.

Referenced by Create(), and ExecuteAndWait().

◆ m_fenceValue

uint64_t bicameral::gpu::ImmediateQueue::m_fenceValue = 0
private

Definition at line 38 of file immediate_queue.h.

Referenced by ExecuteAndWait().

◆ m_list

ComPtr<ID3D12GraphicsCommandList10> bicameral::gpu::ImmediateQueue::m_list
private

Definition at line 36 of file immediate_queue.h.

Referenced by Begin(), Create(), and ExecuteAndWait().

◆ m_queue

ComPtr<ID3D12CommandQueue> bicameral::gpu::ImmediateQueue::m_queue
private

Definition at line 34 of file immediate_queue.h.

Referenced by Create(), ExecuteAndWait(), and Native().


The documentation for this class was generated from the following files: