BRE12
BlurCmdListRecorder.h
1 #pragma once
2 
3 #include <CommandManager\CommandListPerFrame.h>
4 
5 struct D3D12_CPU_DESCRIPTOR_HANDLE;
6 struct D3D12_GPU_DESCRIPTOR_HANDLE;
7 struct ID3D12Resource;
8 
9 namespace BRE {
11 public:
12  BlurCmdListRecorder() = default;
13  ~BlurCmdListRecorder() = default;
15  const BlurCmdListRecorder& operator=(const BlurCmdListRecorder&) = delete;
17  BlurCmdListRecorder& operator=(BlurCmdListRecorder&&) = default;
18 
19  static void InitSharedPSOAndRootSignature() noexcept;
20 
21  // Preconditions:
22  // - InitSharedPSOAndRootSignature() must be called first
23  void Init(ID3D12Resource& inputColorBuffer,
24  const D3D12_CPU_DESCRIPTOR_HANDLE& renderTargetView) noexcept;
25 
26  // Preconditions:
27  // - Init() must be called first
28  void RecordAndPushCommandLists() noexcept;
29 
30  bool ValidateData() const noexcept;
31 
32 private:
33  void InitShaderResourceViews(ID3D12Resource& inputColorBuffer) noexcept;
34 
35  CommandListPerFrame mCommandListPerFrame;
36 
37  D3D12_GPU_DESCRIPTOR_HANDLE mStartPixelShaderResourceView{ 0UL };
38  D3D12_CPU_DESCRIPTOR_HANDLE mRenderTargetView{ 0UL };
39 };
40 }
41 
Definition: Camera.cpp:8
Definition: BlurCmdListRecorder.h:10
Definition: CommandListPerFrame.h:16