3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/gameface/renoir/CBType.h"
7#include "mc/external/gameface/renoir/IndexBufferType.h"
8#include "mc/external/gameface/renoir/ResourcesCommandsStage.h"
9#include "mc/external/gameface/renoir/VertexType.h"
27namespace renoir {
struct float2; }
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<1, 8> mUnkd277ca;
86 ::ll::UntypedStorage<8, 8> mUnka765fd;
87 ::ll::UntypedStorage<4, 4> mUnk27394e;
92 ConstantBufferUpdateData& operator=(ConstantBufferUpdateData
const&);
93 ConstantBufferUpdateData(ConstantBufferUpdateData
const&);
94 ConstantBufferUpdateData();
100 virtual ~RendererBackend() =
default;
102 virtual void FillCaps(::renoir::RendererCaps& outCaps) = 0;
104 virtual void BeginCommands() = 0;
106 virtual void WrapUserRenderTarget(
108 ::renoir::Texture2D
const& description,
109 ::renoir::Texture2DObject
object,
111 ::renoir::DepthStencilTexture
const& dsDescription,
112 ::renoir::DepthStencilTextureObject dsObject
116 WrapUserTexture(
void* userObject, ::renoir::Texture2D
const& description, ::renoir::Texture2DObject
object) = 0;
118 virtual bool CreatePipelineState(::renoir::PipelineState
const& state, ::renoir::PipelineStateObject
object) = 0;
120 virtual void DestroyPipelineState(::renoir::PipelineStateObject
object) = 0;
122 virtual bool CreateVertexBuffer(::renoir::VertexType, uint, ::renoir::VertexBufferObject,
bool) = 0;
124 virtual void DestroyVertexBuffer(::renoir::VertexBufferObject
object) = 0;
126 virtual void* MapVertexBuffer(::renoir::VertexBufferObject
object) = 0;
128 virtual void UnmapVertexBuffer(::renoir::VertexBufferObject
object, uint count) = 0;
130 virtual bool CreateIndexBuffer(::renoir::IndexBufferType, uint, ::renoir::IndexBufferObject,
bool) = 0;
132 virtual void DestroyIndexBuffer(::renoir::IndexBufferObject
object) = 0;
134 virtual void* MapIndexBuffer(::renoir::IndexBufferObject
object) = 0;
136 virtual void UnmapIndexBuffer(::renoir::IndexBufferObject
object, uint elemCount) = 0;
138 virtual bool CreateConstantBuffer(::renoir::CBType type, ::renoir::ConstantBufferObject
object, uint size) = 0;
140 virtual void DestroyConstantBuffer(::renoir::ConstantBufferObject
object) = 0;
142 virtual bool CreateTexture(
143 ::renoir::Texture2DObject
object,
144 ::renoir::Texture2D
const& description,
149 virtual void DestroyTexture(::renoir::Texture2DObject
object) = 0;
151 virtual void UpdateTexture(
152 ::renoir::Texture2DObject,
153 ::renoir::Texture2D
const&,
154 ::renoir::UpdateBox*,
160 virtual bool CreateDepthStencilTexture(
161 ::renoir::DepthStencilTextureObject
object,
162 ::renoir::DepthStencilTexture
const& description
165 virtual void DestroyDepthStencilTexture(::renoir::DepthStencilTextureObject
object) = 0;
167 virtual void CopyTextureToTexture(
168 ::renoir::Texture2DObject,
169 ::renoir::Texture2DObject,
174 virtual bool CreateSampler2D(::renoir::Sampler2DObject
object, ::renoir::Sampler2D
const& description) = 0;
176 virtual void DestroySampler2D(::renoir::Sampler2DObject
object) = 0;
178 virtual void ExecuteRendering(
179 ::renoir::RendererBackend::BackendCommandsBuffer
const* buffers,
181 ::renoir::RendererBackend::ConstantBufferUpdateData
const* cboUpdates,
185 virtual void ExecuteResourceCommands(
186 ::renoir::RendererBackend::BackendResourceCommandsBuffer
const*,
188 ::renoir::ResourcesCommandsStage
191 virtual void EndCommands() = 0;
193 virtual void SetDebugName(::renoir::Texture2DObject,
char const*);
195 virtual void SetDebugName(::renoir::DepthStencilTextureObject,
char const*);
197 virtual void SetDebugName(::renoir::VertexBufferObject,
char const*);
199 virtual void SetDebugName(::renoir::IndexBufferObject,
char const*);
201 virtual void SetDebugName(::renoir::PipelineStateObject,
char const*);
203 virtual void SetDebugName(::renoir::ConstantBufferObject,
char const*);
205 virtual void SetDebugName(::renoir::Sampler2DObject,
char const*);
207 virtual void BeginGPUPerformanceTiming(uint);
209 virtual void EndGPUPerformanceTiming(uint);
211 virtual bool ReadTexture(::renoir::TextureObject, ::renoir::UpdateBox
const&,
void*);
213 virtual bool ReadVertexBuffer(::renoir::VertexBufferObject,
void*);
215 virtual bool ReadIndexBuffer(::renoir::IndexBufferObject,
void*);
217 virtual bool GetNativeTexture(::renoir::Texture2DObject,
void*);
219 virtual ::renoir::RendererBackend::GPUPerfTimingResult TryGetLatestGPUPerformanceTiming(uint,
float&);
Definition RendererBackend.h:7
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::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