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"
28namespace renoir {
struct float2; }
43 enum class GPUPerfTimingResult :
int {
53 ::ll::UntypedStorage<8, 8> mUnk3037f7;
54 ::ll::UntypedStorage<8, 8> mUnk62b09e;
55 ::ll::UntypedStorage<4, 4> mUnk92117d;
56 ::ll::UntypedStorage<4, 4> mUnk53c4d5;
61 BackendCommandsBuffer& operator=(BackendCommandsBuffer
const&);
62 BackendCommandsBuffer(BackendCommandsBuffer
const&);
63 BackendCommandsBuffer();
70 ::ll::UntypedStorage<8, 8> mUnkc0f4ee;
71 ::ll::UntypedStorage<8, 8> mUnkb1b5c9;
72 ::ll::UntypedStorage<4, 4> mUnk8bc8dc;
77 BackendResourceCommandsBuffer& operator=(BackendResourceCommandsBuffer
const&);
78 BackendResourceCommandsBuffer(BackendResourceCommandsBuffer
const&);
79 BackendResourceCommandsBuffer();
86 ::ll::UntypedStorage<4, 4> mUnkd277ca;
87 ::ll::UntypedStorage<8, 8> mUnka765fd;
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& outCaps) = 0;
105 virtual void BeginCommands() = 0;
107 virtual void WrapUserRenderTarget(
109 ::renoir::Texture2D
const& description,
110 ::renoir::Texture2DObject
object,
112 ::renoir::DepthStencilTexture
const& dsDescription,
113 ::renoir::DepthStencilTextureObject dsObject
117 WrapUserTexture(
void* userObject, ::renoir::Texture2D
const& description, ::renoir::Texture2DObject
object) = 0;
119 virtual bool CreatePipelineState(::renoir::PipelineState
const& state, ::renoir::PipelineStateObject
object) = 0;
121 virtual void DestroyPipelineState(::renoir::PipelineStateObject
object) = 0;
123 virtual bool CreateVertexBuffer(::renoir::VertexType, uint, ::renoir::VertexBufferObject,
bool) = 0;
125 virtual void DestroyVertexBuffer(::renoir::VertexBufferObject
object) = 0;
127 virtual void* MapVertexBuffer(::renoir::VertexBufferObject
object) = 0;
129 virtual void UnmapVertexBuffer(::renoir::VertexBufferObject
object, uint count) = 0;
131 virtual bool CreateIndexBuffer(::renoir::IndexBufferType, uint, ::renoir::IndexBufferObject,
bool) = 0;
133 virtual void DestroyIndexBuffer(::renoir::IndexBufferObject
object) = 0;
135 virtual void* MapIndexBuffer(::renoir::IndexBufferObject
object) = 0;
137 virtual void UnmapIndexBuffer(::renoir::IndexBufferObject
object, uint elemCount) = 0;
139 virtual bool CreateConstantBuffer(::renoir::CBType type, ::renoir::ConstantBufferObject
object, uint size) = 0;
141 virtual void DestroyConstantBuffer(::renoir::ConstantBufferObject
object) = 0;
143 virtual bool CreateTexture(
144 ::renoir::Texture2DObject
object,
145 ::renoir::Texture2D
const& description,
150 virtual void DestroyTexture(::renoir::Texture2DObject
object) = 0;
152 virtual void UpdateTexture(
153 ::renoir::Texture2DObject,
154 ::renoir::Texture2D
const&,
155 ::renoir::UpdateBox*,
161 virtual bool CreateDepthStencilTexture(
162 ::renoir::DepthStencilTextureObject
object,
163 ::renoir::DepthStencilTexture
const& description
166 virtual void DestroyDepthStencilTexture(::renoir::DepthStencilTextureObject
object) = 0;
168 virtual void CopyTextureToTexture(
169 ::renoir::Texture2DObject,
170 ::renoir::Texture2DObject,
175 virtual bool CreateSampler2D(::renoir::Sampler2DObject
object, ::renoir::Sampler2D
const& description) = 0;
177 virtual void DestroySampler2D(::renoir::Sampler2DObject
object) = 0;
179 virtual void ExecuteRendering(
180 ::renoir::RendererBackend::BackendCommandsBuffer
const* buffers,
182 ::renoir::RendererBackend::ConstantBufferUpdateData
const* cboUpdates,
186 virtual void ExecuteResourceCommands(
187 ::renoir::RendererBackend::BackendResourceCommandsBuffer
const*,
189 ::renoir::ResourcesCommandsStage
192 virtual void EndCommands() = 0;
194 virtual ::renoir::DynamicRendererBackend* GetDynamicInterface();
196 virtual void SetDebugName(::renoir::Texture2DObject,
char const*);
198 virtual void SetDebugName(::renoir::DepthStencilTextureObject,
char const*);
200 virtual void SetDebugName(::renoir::VertexBufferObject,
char const*);
202 virtual void SetDebugName(::renoir::IndexBufferObject,
char const*);
204 virtual void SetDebugName(::renoir::PipelineStateObject,
char const*);
206 virtual void SetDebugName(::renoir::ConstantBufferObject,
char const*);
208 virtual void SetDebugName(::renoir::Sampler2DObject,
char const*);
210 virtual void BeginGPUPerformanceTiming(uint);
212 virtual void EndGPUPerformanceTiming(uint);
214 virtual bool ReadTexture(::renoir::TextureObject, ::renoir::UpdateBox
const&,
void*);
216 virtual bool ReadVertexBuffer(::renoir::VertexBufferObject,
void*);
218 virtual bool ReadIndexBuffer(::renoir::IndexBufferObject,
void*);
220 virtual bool GetNativeTexture(::renoir::Texture2DObject,
void*);
222 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