Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
resources.h File Reference
#include <cstddef>
#include <cstdint>
#include <expected>
#include <span>
#include <string>
#include <string_view>
#include <vector>
#include "gpu/com_ptr.h"
Include dependency graph for resources.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bicameral::gpu::RootSignatureLayout

Namespaces

namespace  bicameral
namespace  bicameral::gpu

Enumerations

enum class  bicameral::gpu::BufferKind : uint8_t { bicameral::gpu::UnorderedAccess , bicameral::gpu::Readback , bicameral::gpu::Upload }

Functions

ComPtr< ID3D12Resource > bicameral::gpu::CreateBuffer (ID3D12Device *device, uint64_t sizeBytes, BufferKind kind)
ComPtr< ID3D12RootSignature > bicameral::gpu::CreateRootSignature (ID3D12Device *device, const RootSignatureLayout &layout)
ComPtr< ID3D12PipelineState > bicameral::gpu::CreateComputePipeline (ID3D12Device *device, ID3D12RootSignature *rootSignature, std::span< const std::byte > bytecode)
std::expected< std::vector< std::byte >, std::string > bicameral::gpu::LoadShader (std::string_view relativePath)
bool bicameral::gpu::ReadBuffer (ID3D12Resource *readback, std::span< std::byte > destination)
D3D12_RESOURCE_BARRIER bicameral::gpu::Transition (ID3D12Resource *resource, D3D12_RESOURCE_STATES before, D3D12_RESOURCE_STATES after)
D3D12_RESOURCE_BARRIER bicameral::gpu::UavBarrier (ID3D12Resource *resource)
void bicameral::gpu::RecordCopyToReadback (ID3D12GraphicsCommandList *list, ID3D12Resource *source, ID3D12Resource *readback)