3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/renoir/CBType.h"
7#include "mc/deps/renoir/IndexBufferType.h"
8#include "mc/deps/renoir/ResourcesCommandsStage.h"
9#include "mc/deps/renoir/VertexType.h"
42 enum class GPUPerfTimingResult :
int {
52 ::ll::UntypedStorage<8, 8> mUnk3037f7;
53 ::ll::UntypedStorage<8, 8> mUnk62b09e;
54 ::ll::UntypedStorage<4, 4> mUnk92117d;
55 ::ll::UntypedStorage<4, 4> mUnk53c4d5;
60 BackendCommandsBuffer& operator=(BackendCommandsBuffer
const&);
61 BackendCommandsBuffer(BackendCommandsBuffer
const&);
62 BackendCommandsBuffer();
69 ::ll::UntypedStorage<8, 8> mUnkc0f4ee;
70 ::ll::UntypedStorage<8, 8> mUnkb1b5c9;
71 ::ll::UntypedStorage<4, 4> mUnk8bc8dc;
76 BackendResourceCommandsBuffer& operator=(BackendResourceCommandsBuffer
const&);
77 BackendResourceCommandsBuffer(BackendResourceCommandsBuffer
const&);
78 BackendResourceCommandsBuffer();
85 ::ll::UntypedStorage<4, 4> mUnkd277ca;
86 ::ll::UntypedStorage<8, 8> mUnka765fd;
87 ::ll::UntypedStorage<4, 4> mUnk675020;
88 ::ll::UntypedStorage<4, 4> mUnk27394e;
93 ConstantBufferUpdateData& operator=(ConstantBufferUpdateData
const&);
94 ConstantBufferUpdateData(ConstantBufferUpdateData
const&);
95 ConstantBufferUpdateData();
101 virtual ~RendererBackend() =
default;
103 virtual void FillCaps(::renoir::RendererCaps&) = 0;
105 virtual void BeginCommands() = 0;
107 virtual void WrapUserRenderTarget(
109 ::renoir::Texture2D
const&,
110 ::renoir::Texture2DObject,
112 ::renoir::DepthStencilTexture
const&,
113 ::renoir::DepthStencilTextureObject
116 virtual void WrapUserTexture(
void*, ::renoir::Texture2D
const&, ::renoir::Texture2DObject) = 0;
118 virtual bool CreatePipelineState(::renoir::PipelineState
const&, ::renoir::PipelineStateObject) = 0;
120 virtual void DestroyPipelineState(::renoir::PipelineStateObject) = 0;
122 virtual bool CreateVertexBuffer(::renoir::VertexType, uint, ::renoir::VertexBufferObject,
bool) = 0;
124 virtual void DestroyVertexBuffer(::renoir::VertexBufferObject) = 0;
126 virtual void* MapVertexBuffer(::renoir::VertexBufferObject) = 0;
128 virtual void UnmapVertexBuffer(::renoir::VertexBufferObject, uint) = 0;
130 virtual bool CreateIndexBuffer(::renoir::IndexBufferType, uint, ::renoir::IndexBufferObject,
bool) = 0;
132 virtual void DestroyIndexBuffer(::renoir::IndexBufferObject) = 0;
134 virtual void* MapIndexBuffer(::renoir::IndexBufferObject) = 0;
136 virtual void UnmapIndexBuffer(::renoir::IndexBufferObject, uint) = 0;
138 virtual bool CreateConstantBuffer(::renoir::CBType, ::renoir::ConstantBufferObject, uint) = 0;
140 virtual void DestroyConstantBuffer(::renoir::ConstantBufferObject) = 0;
142 virtual bool CreateTexture(::renoir::Texture2DObject, ::renoir::Texture2D
const&,
void const*, uint) = 0;
144 virtual void DestroyTexture(::renoir::Texture2DObject) = 0;
146 virtual void UpdateTexture(
147 ::renoir::Texture2DObject,
148 ::renoir::Texture2D
const&,
149 ::renoir::UpdateBox*,
156 CreateDepthStencilTexture(::renoir::DepthStencilTextureObject, ::renoir::DepthStencilTexture
const&) = 0;
158 virtual void DestroyDepthStencilTexture(::renoir::DepthStencilTextureObject) = 0;
160 virtual bool CreateSampler2D(::renoir::Sampler2DObject, ::renoir::Sampler2D
const&) = 0;
162 virtual void DestroySampler2D(::renoir::Sampler2DObject) = 0;
164 virtual void ExecuteRendering(
165 ::renoir::RendererBackend::BackendCommandsBuffer
const*,
167 ::renoir::RendererBackend::ConstantBufferUpdateData
const*,
171 virtual void ExecuteResourceCommands(
172 ::renoir::RendererBackend::BackendResourceCommandsBuffer
const*,
174 ::renoir::ResourcesCommandsStage
177 virtual void EndCommands() = 0;
179 virtual ::renoir::DynamicRendererBackend* GetDynamicInterface();
181 virtual void SetDebugName(::renoir::Texture2DObject,
char const*);
183 virtual void SetDebugName(::renoir::DepthStencilTextureObject,
char const*);
185 virtual void SetDebugName(::renoir::VertexBufferObject,
char const*);
187 virtual void SetDebugName(::renoir::IndexBufferObject,
char const*);
189 virtual void SetDebugName(::renoir::PipelineStateObject,
char const*);
191 virtual void SetDebugName(::renoir::ConstantBufferObject,
char const*);
193 virtual void SetDebugName(::renoir::Sampler2DObject,
char const*);
195 virtual void BeginGPUPerformanceTiming(uint);
197 virtual void EndGPUPerformanceTiming(uint);
199 virtual bool ReadTexture(::renoir::TextureObject, ::renoir::UpdateBox
const&,
void*);
201 virtual bool ReadVertexBuffer(::renoir::VertexBufferObject,
void*);
203 virtual bool ReadIndexBuffer(::renoir::IndexBufferObject,
void*);
205 virtual bool GetNativeTexture(::renoir::Texture2DObject,
void*);
207 virtual ::renoir::RendererBackend::GPUPerfTimingResult TryGetLatestGPUPerformanceTiming(uint,
float&);
Definition DynamicRendererBackend.h:7
Definition RendererBackend.h:7
static MCAPI void ** $vftable()
MCAPI void $EndGPUPerformanceTiming(uint)
MCAPI void $SetDebugName(::renoir::PipelineStateObject, char const *)
MCAPI void $SetDebugName(::renoir::Texture2DObject, char const *)
MCAPI void $SetDebugName(::renoir::ConstantBufferObject, char const *)
MCAPI void $SetDebugName(::renoir::DepthStencilTextureObject, char const *)
MCAPI void $SetDebugName(::renoir::VertexBufferObject, char const *)
MCAPI bool $ReadIndexBuffer(::renoir::IndexBufferObject, void *)
MCAPI bool $ReadTexture(::renoir::TextureObject, ::renoir::UpdateBox const &, void *)
MCAPI::renoir::DynamicRendererBackend * $GetDynamicInterface()
MCAPI::renoir::RendererBackend::GPUPerfTimingResult $TryGetLatestGPUPerformanceTiming(uint, float &)
MCAPI void $SetDebugName(::renoir::Sampler2DObject, char const *)
MCAPI bool $GetNativeTexture(::renoir::Texture2DObject, void *)
MCAPI bool $ReadVertexBuffer(::renoir::VertexBufferObject, void *)
MCAPI void $BeginGPUPerformanceTiming(uint)
MCAPI void $SetDebugName(::renoir::IndexBufferObject, char const *)
Definition ConstantBufferObject.h:7
Definition DepthStencilTextureObject.h:7
Definition DepthStencilTexture.h:7
Definition IndexBufferObject.h:7
Definition PipelineStateObject.h:7
Definition PipelineState.h:7
Definition RendererBackend.h:19
Definition RendererBackend.h:21
Definition RendererBackend.h:23
Definition RendererCaps.h:7
Definition Sampler2DObject.h:7
Definition Texture2DObject.h:7
Definition TextureObject.h:7
Definition VertexBufferObject.h:7