Blowbox 2017
A 3D Game Engine by Riko Ophorst using DirectX 12
compute_context.h
1 //#pragma once
2 //
3 //#include "command_context.h"
4 //
5 //namespace engine
6 //{
7 // class ComputeContext : public CommandContext
8 // {
9 // public:
10 // static ComputeContext& Begin(const eastl::wstring& name = L"");
11 //
12 // void ClearUAV(GpuBuffer& Target);
13 // void ClearUAV(ColorBuffer& Target);
14 //
15 // void SetRootSignature(const RootSignature& RootSig);
16 //
17 // void SetPipelineState(const ComputePSO& PSO);
18 // void SetConstants(UINT RootIndex, UINT NumConstants, const void* pConstants);
19 // void SetConstants(UINT RootIndex, Param32Bit X);
20 // void SetConstants(UINT RootIndex, Param32Bit X, Param32Bit Y);
21 // void SetConstants(UINT RootIndex, Param32Bit X, Param32Bit Y, Param32Bit Z);
22 // void SetConstants(UINT RootIndex, Param32Bit X, Param32Bit Y, Param32Bit Z, Param32Bit W);
23 // void SetConstantBuffer(UINT RootIndex, D3D12_GPU_VIRTUAL_ADDRESS CBV);
24 // void SetDynamicConstantBufferView(UINT RootIndex, size_t BufferSize, const void* BufferData);
25 // void SetDynamicSRV(UINT RootIndex, size_t BufferSize, const void* BufferData);
26 // void SetBufferSRV(UINT RootIndex, const GpuBuffer& SRV, UINT64 Offset = 0);
27 // void SetBufferUAV(UINT RootIndex, const GpuBuffer& UAV, UINT64 Offset = 0);
28 // void SetDescriptorTable(UINT RootIndex, D3D12_GPU_DESCRIPTOR_HANDLE FirstHandle);
29 //
30 // void SetDynamicDescriptor(UINT RootIndex, UINT Offset, D3D12_CPU_DESCRIPTOR_HANDLE Handle);
31 // void SetDynamicDescriptors(UINT RootIndex, UINT Offset, UINT Count, const D3D12_CPU_DESCRIPTOR_HANDLE Handles[]);
32 //
33 // void Dispatch(size_t GroupCountX = 1, size_t GroupCountY = 1, size_t GroupCountZ = 1);
34 // void Dispatch1D(size_t ThreadCountX, size_t GroupSizeX = 64);
35 // void Dispatch2D(size_t ThreadCountX, size_t ThreadCountY, size_t GroupSizeX = 8, size_t GroupSizeY = 8);
36 // void Dispatch3D(size_t ThreadCountX, size_t ThreadCountY, size_t ThreadCountZ, size_t GroupSizeX, size_t GroupSizeY, size_t GroupSizeZ);
37 // void DispatchIndirect(GpuBuffer& ArgumentBuffer, size_t ArgumentBufferOffset = 0);
38 // }
39 //}