LeviLamina
Loading...
Searching...
No Matches
Context.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/bgfx/ClearQuad.h"
7#include "mc/external/bgfx/CommandBuffer.h"
8#include "mc/external/bgfx/DynamicIndexBuffer.h"
9#include "mc/external/bgfx/DynamicIndexBufferHandle.h"
10#include "mc/external/bgfx/DynamicVertexBuffer.h"
11#include "mc/external/bgfx/DynamicVertexBufferHandle.h"
12#include "mc/external/bgfx/Frame.h"
13#include "mc/external/bgfx/GuardedHandleAllocPagedT.h"
14#include "mc/external/bgfx/GuardedPagedHeapBackedArray.h"
15#include "mc/external/bgfx/IndexBuffer.h"
16#include "mc/external/bgfx/Init.h"
17#include "mc/external/bgfx/InitResult.h"
18#include "mc/external/bgfx/InitState.h"
19#include "mc/external/bgfx/NonLocalAllocator.h"
20#include "mc/external/bgfx/OcclusionQueryHandle.h"
21#include "mc/external/bgfx/ShaderHandle.h"
22#include "mc/external/bgfx/Stats.h"
23#include "mc/external/bgfx/TextVideoMemBlitter.h"
24#include "mc/external/bgfx/TextureHandle.h"
25#include "mc/external/bgfx/UpdateBatchT.h"
26#include "mc/external/bgfx/VertexBuffer.h"
27#include "mc/external/bgfx/VertexDeclRef.h"
28#include "mc/external/bgfx/View.h"
29#include "mc/external/bgfx/ViewStats.h"
30#include "mc/external/bgfx/acceleration_structure_build_flags/Enum.h"
31#include "mc/external/bgfx/backbuffer_ratio/Enum.h"
32#include "mc/external/bgfx/render_frame/Enum.h"
33#include "mc/external/bgfx/renderer_type/Enum.h"
34#include "mc/external/bgfx/texture_format/Enum.h"
35#include "mc/external/bgfx/uniform_type/Enum.h"
36#include "mc/external/bx/HandleAllocT.h"
37#include "mc/external/bx/HandleHashMapT.h"
38#include "mc/external/bx/Mutex.h"
39#include "mc/external/bx/Semaphore.h"
40#include "mc/external/bx/Thread.h"
41
42// auto generated forward declare list
43// clang-format off
44namespace bgfx { struct AccelerationStructureHandle; }
45namespace bgfx { struct AllocationContext; }
46namespace bgfx { struct Attachment; }
47namespace bgfx { struct CommandBuffer; }
48namespace bgfx { struct Encoder; }
49namespace bgfx { struct EncoderImpl; }
50namespace bgfx { struct EncoderStats; }
51namespace bgfx { struct FrameBufferHandle; }
52namespace bgfx { struct Handle; }
53namespace bgfx { struct IndexBufferHandle; }
54namespace bgfx { struct Memory; }
55namespace bgfx { struct ProgramHandle; }
56namespace bgfx { struct RendererContextI; }
57namespace bgfx { struct ShaderBufferHandle; }
58namespace bgfx { struct TextureInfo; }
59namespace bgfx { struct TopLevelInstanceDesc; }
60namespace bgfx { struct TransientIndexBuffer; }
61namespace bgfx { struct TransientVertexBuffer; }
62namespace bgfx { struct UniformHandle; }
63namespace bgfx { struct VertexBufferHandle; }
64namespace bgfx { struct VertexDecl; }
65namespace bgfx { struct VertexDeclHandle; }
66namespace bx { class StringT; }
67namespace bx { struct HandleAlloc; }
68namespace bx { struct StringView; }
69// clang-format on
70
71namespace bgfx {
72
73struct Context {
74public:
75 // Context inner types declare
76 // clang-format off
78 struct ShaderRef;
79 struct ProgramRef;
80 struct UniformRef;
81 struct TextureRef;
82 struct ShaderBufferRef;
83 struct FrameBufferRef;
84 // clang-format on
85
86 // Context inner types define
88 public:
89 // member variables
90 // NOLINTBEGIN
91 ::ll::TypedStorage<8, 8, uint64> m_ptr;
92 ::ll::TypedStorage<4, 4, uint> m_offset;
93 ::ll::TypedStorage<8, 8, uint64> m_totalSize;
94 // NOLINTEND
95 };
96
97 struct ShaderRef {
98 public:
99 // member variables
100 // NOLINTBEGIN
101 ::ll::TypedStorage<8, 8, ::bgfx::UniformHandle*> m_uniforms;
102 ::ll::UntypedStorage<8, 16> m_name;
103 ::ll::TypedStorage<4, 4, uint> m_hash;
104 ::ll::TypedStorage<2, 2, short> m_refCount;
105 ::ll::TypedStorage<2, 2, ushort> m_num;
106 // NOLINTEND
107
108 public:
109 // member functions
110 // NOLINTBEGIN
111 MCAPI ShaderRef();
112
113 MCAPI ~ShaderRef();
114 // NOLINTEND
115
116 public:
117 // constructor thunks
118 // NOLINTBEGIN
119 MCAPI void* $ctor();
120 // NOLINTEND
121
122 public:
123 // destructor thunk
124 // NOLINTBEGIN
125 MCAPI void $dtor();
126 // NOLINTEND
127 };
128
129 struct ProgramRef {
130 public:
131 // member variables
132 // NOLINTBEGIN
133 ::ll::TypedStorage<2, 2, ::bgfx::ShaderHandle> m_vsh;
134 ::ll::TypedStorage<2, 2, ::bgfx::ShaderHandle> m_fsh;
135 ::ll::TypedStorage<2, 2, short> m_refCount;
136 // NOLINTEND
137 };
138
139 struct UniformRef {
140 public:
141 // member variables
142 // NOLINTBEGIN
143 ::ll::UntypedStorage<8, 16> m_name;
144 ::ll::TypedStorage<4, 4, ::bgfx::UniformType::Enum> m_type;
145 ::ll::TypedStorage<2, 2, ushort> m_num;
146 ::ll::TypedStorage<2, 2, short> m_refCount;
147 // NOLINTEND
148
149 public:
150 // member functions
151 // NOLINTBEGIN
152 MCAPI UniformRef();
153
154 MCAPI ~UniformRef();
155 // NOLINTEND
156
157 public:
158 // constructor thunks
159 // NOLINTBEGIN
160 MCFOLD void* $ctor();
161 // NOLINTEND
162
163 public:
164 // destructor thunk
165 // NOLINTBEGIN
166 MCFOLD void $dtor();
167 // NOLINTEND
168 };
169
170 struct TextureRef {
171 public:
172 // member variables
173 // NOLINTBEGIN
174 ::ll::UntypedStorage<8, 16> m_name;
175 ::ll::TypedStorage<8, 8, void*> m_ptr;
176 ::ll::TypedStorage<4, 4, uint> m_storageSize;
177 ::ll::TypedStorage<2, 2, short> m_refCount;
178 ::ll::TypedStorage<1, 1, uchar> m_bbRatio;
179 ::ll::TypedStorage<1, 1, uchar> m_format;
180 ::ll::TypedStorage<1, 1, uchar> m_numMips;
181 ::ll::TypedStorage<2, 2, ushort> m_numLayers;
182 ::ll::TypedStorage<1, 1, bool> m_owned;
183 ::ll::TypedStorage<1, 1, bool> m_immutable;
184 ::ll::TypedStorage<1, 1, bool> m_rt;
185 // NOLINTEND
186 };
187
188 struct ShaderBufferRef {
189 public:
190 // member variables
191 // NOLINTBEGIN
192 ::ll::UntypedStorage<8, 16> m_name;
193 ::ll::TypedStorage<8, 8, void*> m_ptr;
194 ::ll::TypedStorage<4, 4, uint> m_stride;
195 ::ll::TypedStorage<4, 4, uint> m_count;
196 ::ll::TypedStorage<2, 2, short> m_refCount;
197 // NOLINTEND
198
199 public:
200 // member functions
201 // NOLINTBEGIN
202 MCAPI ShaderBufferRef();
203
204 MCAPI ~ShaderBufferRef();
205 // NOLINTEND
206
207 public:
208 // constructor thunks
209 // NOLINTBEGIN
210 MCFOLD void* $ctor();
211 // NOLINTEND
212
213 public:
214 // destructor thunk
215 // NOLINTBEGIN
216 MCFOLD void $dtor();
217 // NOLINTEND
218 };
219
220 struct FrameBufferRef {
221 public:
222 // FrameBufferRef inner types define
223 union un {
224 public:
225 // member variables
226 // NOLINTBEGIN
227 ::ll::TypedStorage<2, 16, ::bgfx::TextureHandle[8]> m_th;
228 ::ll::TypedStorage<8, 16, void*> m_nwh;
229 // NOLINTEND
230 };
231
232 public:
233 // member variables
234 // NOLINTBEGIN
235 ::ll::TypedStorage<8, 16, ::bgfx::Context::FrameBufferRef::un> un;
236 ::ll::TypedStorage<1, 1, bool> m_window;
237 // NOLINTEND
238 };
239
240 using UniformHashMap = ::bx::HandleHashMapT<1024, uint>;
241
242 using ShaderHashMap = ::bx::HandleHashMapT<8192, uint>;
243
244 using ProgramHashMap = ::bx::HandleHashMapT<4096, uint>;
245
246 using TextureUpdateBatch = ::bgfx::UpdateBatchT<256>;
247
248public:
249 // member variables
250 // NOLINTBEGIN
251 ::ll::TypedStorage<1, 128, ::bx::Semaphore> m_renderSem;
252 ::ll::TypedStorage<1, 128, ::bx::Semaphore> m_apiSem;
253 ::ll::TypedStorage<1, 128, ::bx::Semaphore> m_encoderEndSem;
254 ::ll::TypedStorage<1, 64, ::bx::Mutex> m_encoderApiLock;
255 ::ll::TypedStorage<1, 64, ::bx::Mutex> m_resourceApiLock;
256 ::ll::TypedStorage<8, 464, ::bx::Thread> m_thread;
257 ::ll::TypedStorage<1, 64, ::bx::Mutex> m_perfStatsApiLock;
258 ::ll::TypedStorage<8, 208, ::bgfx::Stats> m_lastPerfStats;
259 ::ll::TypedStorage<2, 2, ushort> m_lastNumViewStats;
260 ::ll::TypedStorage<8, 79872, ::bgfx::ViewStats[256]> m_lastViewStats;
261 ::ll::TypedStorage<2, 2, ushort> m_lastNumEncoderStats;
262 ::ll::TypedStorage<8, 8, ::bgfx::EncoderStats*> m_lastEncoderStats;
263 ::ll::TypedStorage<2, 2, ushort> m_numEncoderStats;
264 ::ll::TypedStorage<8, 8, ::bgfx::EncoderStats*> m_encoderStats;
265 ::ll::TypedStorage<8, 8, ::bgfx::Encoder*> m_encoder0;
266 ::ll::TypedStorage<8, 8, ::bgfx::EncoderImpl*> m_encoder;
267 ::ll::TypedStorage<8, 8, ::bx::HandleAlloc*> m_encoderHandle;
268 ::ll::TypedStorage<8, 206541568, ::bgfx::Frame[2]> m_frame;
269 ::ll::TypedStorage<8, 8, ::bgfx::Frame*> m_render;
270 ::ll::TypedStorage<8, 8, ::bgfx::Frame*> m_submit;
271 ::ll::TypedStorage<8, 524280, uint64[65535]> m_tempKeys;
272 ::ll::TypedStorage<2, 131070, ushort[65535]> m_tempValues;
273 ::ll::TypedStorage<4, 16384, ::bgfx::IndexBuffer[4096]> m_indexBuffers;
274 ::ll::TypedStorage<4, 32768, ::bgfx::VertexBuffer[4096]> m_vertexBuffers;
275 ::ll::TypedStorage<4, 81920, ::bgfx::DynamicIndexBuffer[4096]> m_dynamicIndexBuffers;
276 ::ll::TypedStorage<4, 114688, ::bgfx::DynamicVertexBuffer[4096]> m_dynamicVertexBuffers;
277 ::ll::TypedStorage<2, 2, ushort> m_numFreeDynamicIndexBufferHandles;
278 ::ll::TypedStorage<2, 2, ushort> m_numFreeDynamicVertexBufferHandles;
279 ::ll::TypedStorage<2, 2, ushort> m_numFreeOcclusionQueryHandles;
280 ::ll::TypedStorage<2, 8192, ::bgfx::DynamicIndexBufferHandle[4096]> m_freeDynamicIndexBufferHandle;
281 ::ll::TypedStorage<2, 8192, ::bgfx::DynamicVertexBufferHandle[4096]> m_freeDynamicVertexBufferHandle;
282 ::ll::TypedStorage<2, 512, ::bgfx::OcclusionQueryHandle[256]> m_freeOcclusionQueryHandle;
283 ::ll::TypedStorage<8, 56, ::bgfx::NonLocalAllocator> m_dynIndexBufferAllocator;
284 ::ll::TypedStorage<2, 16388, ::bx::HandleAllocT<4096>> m_dynamicIndexBufferHandle;
285 ::ll::TypedStorage<8, 56, ::bgfx::NonLocalAllocator> m_dynVertexBufferAllocator;
286 ::ll::TypedStorage<2, 16388, ::bx::HandleAllocT<4096>> m_dynamicVertexBufferHandle;
287 ::ll::TypedStorage<2, 16388, ::bx::HandleAllocT<4096>> m_indexBufferHandle;
288 ::ll::TypedStorage<2, 260, ::bx::HandleAllocT<64>> m_vertexDeclHandle;
289 ::ll::TypedStorage<2, 16388, ::bx::HandleAllocT<4096>> m_vertexBufferHandle;
290 ::ll::TypedStorage<2, 16388, ::bx::HandleAllocT<4096>> m_shaderHandle;
291 ::ll::TypedStorage<2, 8196, ::bx::HandleAllocT<2048>> m_programHandle;
292 ::ll::TypedStorage<8, 16424, ::bgfx::GuardedHandleAllocPagedT<4096, 4096, ushort, ::bgfx::AllocationContext>>
293 m_textureHandle;
294 ::ll::TypedStorage<2, 16388, ::bx::HandleAllocT<4096>> m_shaderBufferHandle;
295 ::ll::TypedStorage<2, 516, ::bx::HandleAllocT<128>> m_frameBufferHandle;
296 ::ll::TypedStorage<2, 2052, ::bx::HandleAllocT<512>> m_uniformHandle;
297 ::ll::TypedStorage<2, 1028, ::bx::HandleAllocT<256>> m_occlusionQueryHandle;
298 ::ll::TypedStorage<2, 131076, ::bx::HandleAllocT<32768>> m_accelerationStructureBufferHandle;
299 ::ll::TypedStorage<4, 6152, ::bx::HandleHashMapT<1024, uint>> m_uniformHashMap;
300 ::ll::TypedStorage<8, 12288, ::bgfx::Context::UniformRef[512]> m_uniformRef;
301 ::ll::TypedStorage<4, 49160, ::bx::HandleHashMapT<8192, uint>> m_shaderHashMap;
302 ::ll::TypedStorage<8, 131072, ::bgfx::Context::ShaderRef[4096]> m_shaderRef;
303 ::ll::TypedStorage<4, 24584, ::bx::HandleHashMapT<4096, uint>> m_programHashMap;
304 ::ll::TypedStorage<2, 12288, ::bgfx::Context::ProgramRef[2048]> m_programRef;
305 ::ll::TypedStorage<8, 163872, ::bgfx::GuardedPagedHeapBackedArray<::bgfx::Context::TextureRef, 4096>> m_textureRef;
306 ::ll::TypedStorage<8, 163840, ::bgfx::Context::ShaderBufferRef[4096]> m_shaderBufferRef;
307 ::ll::TypedStorage<8, 3072, ::bgfx::Context::FrameBufferRef[128]> m_frameBufferRef;
308 ::ll::TypedStorage<4, 17288, ::bgfx::VertexDeclRef> m_declRef;
309 ::ll::TypedStorage<2, 512, ushort[256]> m_viewRemap;
310 ::ll::TypedStorage<4, 1024, uint[256]> m_seq;
311 ::ll::TypedStorage<8, 114688, ::bgfx::View[256]> m_view;
312 ::ll::TypedStorage<4, 256, float[16][4]> m_clearColor;
313 ::ll::TypedStorage<1, 1, uchar> m_colorPaletteDirty;
314 ::ll::TypedStorage<8, 64, ::bgfx::Init> m_init;
315 ::ll::TypedStorage<8, 8, int64> m_frameTimeLast;
316 ::ll::TypedStorage<4, 4, uint> m_debug;
317 ::ll::TypedStorage<8, 8, int64> m_rtMemoryUsed;
318 ::ll::TypedStorage<8, 8, int64> m_textureMemoryUsed;
319 ::ll::TypedStorage<8, 8, int64> m_shaderBufferMemoryUsed;
320 ::ll::TypedStorage<8, 112, ::bgfx::TextVideoMemBlitter> m_textVideoMemBlitter;
321 ::ll::TypedStorage<8, 112, ::bgfx::ClearQuad> m_clearQuad;
322 ::ll::TypedStorage<8, 8, ::bgfx::RendererContextI*> m_renderCtx;
323 ::ll::TypedStorage<8, 8, ::bgfx::RendererContextI*> m_renderMain;
324 ::ll::TypedStorage<8, 8, ::bgfx::RendererContextI*> m_renderNoop;
325 ::ll::TypedStorage<4, 4, ::bgfx::InitState> m_initState;
326 ::ll::TypedStorage<1, 1, bool> m_rendererInitialized;
327 ::ll::TypedStorage<1, 1, bool> m_skipFlip;
328 ::ll::TypedStorage<1, 1, bool> m_suspended;
329 ::ll::TypedStorage<1, 1, bool> m_exit;
330 ::ll::TypedStorage<1, 1, bool> m_flipAfterRender;
331 ::ll::TypedStorage<1, 1, bool> m_singleThreaded;
332 ::ll::TypedStorage<1, 1, bool> m_initSyncOptional;
333 ::ll::TypedStorage<1, 1, bool> m_texturesGuarded;
334 ::ll::TypedStorage<4, 2052, ::bgfx::UpdateBatchT<256>> m_textureUpdateBatch;
335 // NOLINTEND
336
337public:
338 // member functions
339 // NOLINTBEGIN
340 MCAPI Context();
341
342 MCAPI void _initBegin();
343
344 MCAPI bool _initFinalize();
345
346 MCAPI void _initPending(bool async);
347
348 MCAPI void _shutdownBegin();
349
350 MCAPI uint64 allocDynamicIndexBuffer(uint _size, ushort _flags);
351
352 MCAPI ::bgfx::Context::DynamicVertexAllocation
353 allocDynamicVertexBuffer(uint _size, ushort _flags, ushort _aligment);
354
355 MCAPI bool apiSemWait(int _msecs);
356
357 MCAPI ::bgfx::InitResult continueInit(bool async);
358
359 MCAPI ::bgfx::AccelerationStructureHandle createBottomLevelAccelerationStructure(
360 ::bgfx::AccelerationStructureHandle _handle,
361 ::bgfx::DynamicVertexBufferHandle _vertexBufferHandle,
362 ::bgfx::VertexDeclHandle _vertexDeclHandle,
363 uint _vertexCount,
364 uint _vertexOffset,
365 ::bgfx::IndexBufferHandle _indexBufferHandle,
366 uint _indexCount,
367 uint _indexOffset,
368 ::bgfx::AccelerationStructureBuildFlags::Enum _flags
369 );
370
371 MCAPI ::bgfx::AccelerationStructureHandle createBottomLevelAccelerationStructure(
372 ::bgfx::AccelerationStructureHandle _handle,
373 ::bgfx::VertexBufferHandle _vertexBufferHandle,
374 ::bgfx::VertexDeclHandle _vertexDeclHandle,
375 uint _vertexCount,
376 uint _vertexOffset,
377 ::bgfx::IndexBufferHandle _indexBufferHandle,
378 uint _indexCount,
379 uint _indexOffset,
380 ::bgfx::AccelerationStructureBuildFlags::Enum _flags
381 );
382
383 MCAPI ::bgfx::DynamicIndexBufferHandle createDynamicIndexBuffer(uint _num, ushort _flags);
384
385 MCAPI ::bgfx::DynamicVertexBufferHandle
386 createDynamicVertexBuffer(uint _num, ::bgfx::VertexDecl const& _decl, ushort _flags);
387
388 MCAPI ::bgfx::FrameBufferHandle
389 createFrameBuffer(uchar _num, ::bgfx::Attachment const* _attachment, bool _destroyTextures);
390
391 MCAPI ::bgfx::FrameBufferHandle
392 createFrameBuffer(void* _nwh, ushort _width, ushort _height, ::bgfx::TextureFormat::Enum _depthFormat);
393
394 MCAPI ::bgfx::IndexBufferHandle createIndexBuffer(::bgfx::Memory const* _mem, ushort _flags);
395
396 MCAPI ::bgfx::ProgramHandle createProgram(::bgfx::ShaderHandle _vsh, bool _destroyShader);
397
398 MCAPI ::bgfx::ProgramHandle
399 createProgram(::bgfx::ShaderHandle _vsh, ::bgfx::ShaderHandle _fsh, bool _destroyShaders);
400
401 MCAPI ::bgfx::ShaderHandle createShader(::bgfx::Memory const* _mem);
402
403 MCAPI ::bgfx::ShaderBufferHandle createShaderBuffer(uint _num, uint _stride, ushort _flags);
404
405 MCAPI ::bgfx::TextureHandle createTexture(
406 ::bgfx::Memory const* _mem,
407 uint _flags,
408 uchar _skip,
409 ::bgfx::TextureInfo* _info,
410 ::bgfx::BackbufferRatio::Enum _ratio,
411 bool _immutable
412 );
413
414 MCAPI ::bgfx::AccelerationStructureHandle createTopLevelAccelerationStructure(
415 ::bgfx::AccelerationStructureHandle _handle,
416 uint numInstances,
417 ::bgfx::TopLevelInstanceDesc* instanceDescs
418 );
419
420 MCAPI ::bgfx::TransientIndexBuffer* createTransientIndexBuffer(uint _size);
421
422 MCAPI ::bgfx::TransientVertexBuffer* createTransientVertexBuffer(uint _size, ::bgfx::VertexDecl const* _decl);
423
424 MCAPI ::bgfx::UniformHandle createUniform(char const* _name, ::bgfx::UniformType::Enum _type, ushort _num);
425
426 MCAPI ::bgfx::VertexBufferHandle
427 createVertexBuffer(::bgfx::Memory const* _mem, ::bgfx::VertexDecl const& _decl, ushort _flags);
428
429 MCAPI void destroyFrameBuffer(::bgfx::FrameBufferHandle _handle);
430
431 MCAPI void destroyIndexBuffer(::bgfx::IndexBufferHandle _handle);
432
433 MCAPI void destroyProgram(::bgfx::ProgramHandle _handle);
434
435 MCAPI void destroyTransientIndexBuffer(::bgfx::TransientIndexBuffer* _tib);
436
437 MCAPI void destroyTransientVertexBuffer(::bgfx::TransientVertexBuffer* _tvb);
438
439 MCAPI void destroyUniform(::bgfx::UniformHandle _handle);
440
441 MCAPI void destroyVertexBuffer(::bgfx::VertexBufferHandle _handle);
442
443 MCAPI ::bgfx::VertexDeclHandle findVertexDecl(::bgfx::VertexDecl const& _decl);
444
445 MCAPI void flushTextureUpdateBatch(::bgfx::CommandBuffer& _cmdbuf);
446
447 MCAPI uint frame(uint _flags);
448
449 MCAPI void freeAllHandles(::bgfx::Frame* _frame);
450
451 MCAPI void freeDynamicBuffers();
452
453 MCAPI ::bgfx::CommandBuffer& getCommandBuffer(::bgfx::CommandBuffer::Enum _cmd);
454
455 MCAPI ::bgfx::RenderFrame::Enum renderFrame(int _msecs);
456
457 MCAPI void rendererExecCommands(::bgfx::CommandBuffer& _cmdbuf);
458
459 MCAPI void resetView(ushort _id);
460
461 MCAPI void
462 resizeTexture(::bgfx::TextureHandle _handle, ushort _width, ushort _height, uchar _numMips, ushort _numLayers);
463
464 MCAPI void setName(::bgfx::Handle _handle, ::bx::StringView const& _name);
465
466 MCAPI void shaderDecRef(::bgfx::ShaderHandle _handle);
467
468 MCAPI void swap();
469
470 MCAPI void textureDecRef(::bgfx::TextureHandle _handle);
471
472 MCAPI void update(::bgfx::ShaderBufferHandle _handle, ::bgfx::Memory const* _mem);
473
474 MCAPI void update(::bgfx::DynamicIndexBufferHandle _handle, uint _startIndex, ::bgfx::Memory const* _mem);
475
476 MCAPI void update(::bgfx::DynamicVertexBufferHandle _handle, uint _startVertex, ::bgfx::Memory const* _mem);
477
478 MCAPI void
479 updateOffset(::bgfx::DynamicIndexBufferHandle _handle, uint _offset, uint _declStride, ::bgfx::Memory const* _mem);
480
481 MCAPI void
482 updateOffset(::bgfx::DynamicVertexBufferHandle _handle, uint _offset, uint _declStride, ::bgfx::Memory const* _mem);
483
484 MCAPI void updateTexture(
485 ::bgfx::TextureHandle _handle,
486 uchar _side,
487 uchar _mip,
488 ushort _x,
489 ushort _y,
490 ushort _z,
491 ushort _width,
492 ushort _height,
493 ushort _depth,
494 ushort _pitch,
495 ::bgfx::Memory const* _mem
496 );
497
498 MCAPI ::bgfx::TextureHandle wrapExternalTexture(::bgfx::RendererType::Enum _type, void* _texturePtr);
499 // NOLINTEND
500
501public:
502 // static functions
503 // NOLINTBEGIN
504 MCAPI static int renderThread(::bx::Thread*, void*);
505 // NOLINTEND
506
507public:
508 // constructor thunks
509 // NOLINTBEGIN
510 MCAPI void* $ctor();
511 // NOLINTEND
512};
513
514} // namespace bgfx
Definition StringT.h:7
Definition AccelerationStructureHandle.h:7
Definition AllocationContext.h:7
Definition Attachment.h:7
Definition CommandBuffer.h:7
Definition Context.h:33
Definition Context.h:25
Definition Context.h:31
Definition Context.h:23
Definition Context.h:29
Definition Context.h:27
Definition Context.h:7
Definition EncoderImpl.h:7
Definition EncoderStats.h:7
Definition Encoder.h:7
Definition FrameBufferHandle.h:7
Definition Handle.h:7
Definition IndexBufferHandle.h:7
Definition Memory.h:7
Definition ProgramHandle.h:7
Definition RendererContextI.h:7
Definition ShaderBufferHandle.h:7
Definition TextureInfo.h:7
Definition TopLevelInstanceDesc.h:7
Definition TransientIndexBuffer.h:7
Definition TransientVertexBuffer.h:7
Definition UniformHandle.h:7
Definition VertexBufferHandle.h:7
Definition VertexDeclHandle.h:7
Definition VertexDecl.h:7
Definition HandleAlloc.h:7
Definition StringView.h:7
Definition Context.h:36