3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/bgfx/AccelerationStructureHandle.h"
7#include "mc/external/bgfx/BlasCompactionState.h"
8#include "mc/external/bgfx/BufferD3D12.h"
9#include "mc/external/bgfx/CommandQueueD3D12.h"
10#include "mc/external/bgfx/Dxgi.h"
11#include "mc/external/bgfx/FatalError.h"
12#include "mc/external/bgfx/FenceSyncContext.h"
13#include "mc/external/bgfx/FrameBufferD3D12.h"
14#include "mc/external/bgfx/FrameBufferHandle.h"
15#include "mc/external/bgfx/GuardedPagedHeapBackedArray.h"
16#include "mc/external/bgfx/IndexBufferHandle.h"
17#include "mc/external/bgfx/OcclusionQueryD3D12.h"
18#include "mc/external/bgfx/ProfilerEvents.h"
19#include "mc/external/bgfx/ProgramD3D12.h"
20#include "mc/external/bgfx/RendererContextI.h"
21#include "mc/external/bgfx/Resolution.h"
22#include "mc/external/bgfx/ResourceStatesMananger.h"
23#include "mc/external/bgfx/RingBuffer.h"
24#include "mc/external/bgfx/RingBufferAllocator.h"
25#include "mc/external/bgfx/ShaderD3D12.h"
26#include "mc/external/bgfx/SwapChainDesc.h"
27#include "mc/external/bgfx/TextVideoMem.h"
28#include "mc/external/bgfx/TimerQueryD3D12.h"
29#include "mc/external/bgfx/UniformRegistry.h"
30#include "mc/external/bgfx/VertexBufferD3D12.h"
31#include "mc/external/bgfx/VertexBufferHandle.h"
32#include "mc/external/bgfx/VertexDecl.h"
33#include "mc/external/bgfx/VertexDeclHandle.h"
34#include "mc/external/bgfx/ViewProfilerManager.h"
35#include "mc/external/bgfx/acceleration_structure_build_flags/Enum.h"
36#include "mc/external/bgfx/d3d12/heap_property/Enum.h"
37#include "mc/external/bgfx/renderer_type/Enum.h"
38#include "mc/external/bgfx/texture_format/Enum.h"
39#include "mc/external/bgfx/uniform_type/Enum.h"
45namespace bgfx {
struct Frame; }
46namespace bgfx {
struct Handle; }
47namespace bgfx {
struct Init; }
48namespace bgfx {
struct Matrix4; }
49namespace bgfx {
struct Memory; }
54namespace bgfx {
struct Rect; }
71namespace bgfx::d3d12 {
89 ::ll::TypedStorage<2, 2, ::bgfx::AccelerationStructureHandle> m_asHandle;
90 ::ll::TypedStorage<8, 24, ::std::vector<::bgfx::TopLevelInstanceDesc>> m_tlasInstanceDescs;
98 ::ll::TypedStorage<8, 56, ::D3D12_RAYTRACING_GEOMETRY_DESC> m_desc;
99 ::ll::TypedStorage<2, 2, ::bgfx::AccelerationStructureHandle> m_asHandle;
100 ::ll::TypedStorage<4, 4, ::D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS> m_flags;
101 ::ll::TypedStorage<4, 4, uint> m_scratchSize;
109 ::ll::TypedStorage<4, 4, ::bgfx::d3d12::BlasCompactionState> m_state;
110 ::ll::TypedStorage<2, 2, ::bgfx::AccelerationStructureHandle> m_asHandle;
111 ::ll::TypedStorage<4, 4, uint> m_beforeSize;
112 ::ll::TypedStorage<4, 4, uint> m_afterSize;
113 ::ll::TypedStorage<4, 4, uint> m_frameCountOfLastUpdate;
114 ::ll::TypedStorage<4, 4, int> m_sizeRequestIndex;
122 ::ll::TypedStorage<2, 2, ::bgfx::VertexBufferHandle> m_vb;
123 ::ll::TypedStorage<2, 2, ::bgfx::VertexDeclHandle> m_vbDecl;
124 ::ll::TypedStorage<2, 2, ushort> m_vertexStrideBytes;
125 ::ll::TypedStorage<2, 2, ::bgfx::IndexBufferHandle> m_ib;
126 ::ll::TypedStorage<4, 4, uint> m_verticesCount;
127 ::ll::TypedStorage<4, 4, uint> m_vertexOffsetInBaseVertices;
128 ::ll::TypedStorage<4, 4, uint> m_vertexOffsetInParallelVertices;
129 ::ll::TypedStorage<4, 4, uint> m_indicesCount;
130 ::ll::TypedStorage<4, 4, uint> m_indexOffsetInIndices;
131 ::ll::TypedStorage<2, 2, ushort> m_indexSize;
132 ::ll::TypedStorage<4, 4, uint> m_frameCountOfCreation;
133 ::ll::TypedStorage<4, 4, uint> m_frameCountOfUpdate;
134 ::ll::TypedStorage<4, 4, uint> m_mostRecentFrameInTLAS;
135 ::ll::TypedStorage<2, 2, ushort> m_flags;
136 ::ll::TypedStorage<2, 2, ushort> m_objectInstanceIdx;
137 ::ll::TypedStorage<2, 2, ushort> m_previousObjectInstanceIdx;
138 bool m_needFaceDataUpdate : 1;
146 ::ll::TypedStorage<8, 8, int64> m_flipCompletionTime;
147 ::ll::TypedStorage<8, 8, int64> m_gpuFlipRequestTime;
148 ::ll::TypedStorage<8, 8, int64> m_cpuFlipRequestTime;
152 using ASScratchBuffer =
153 ::bgfx::RingBuffer<::bgfx::d3d12::StagingBufferD3D12, uint64, void*, ::bgfx::d3d12::RingBufferAllocator<0>>;
158 ::ll::TypedStorage<8, 8, ::ID3D12DescriptorHeap*> m_rtvDescriptorHeap;
159 ::ll::TypedStorage<8, 8, ::ID3D12DescriptorHeap*> m_dsvDescriptorHeap;
160 ::ll::TypedStorage<8, 24, ::ID3D12Resource* [3]> m_backBufferColor;
161 ::ll::TypedStorage<8, 24, uint64[3]> m_backBufferColorFence;
162 ::ll::TypedStorage<8, 8, ::ID3D12Resource*> m_backBufferDepthStencil;
163 ::ll::TypedStorage<4, 4, uint> m_frameCount;
164 ::ll::TypedStorage<1, 1, bool> m_rldoEnabled;
165 ::ll::TypedStorage<1, 1, bool> m_useBufferHeaps;
166 ::ll::TypedStorage<8, 448, ::bgfx::Dxgi> m_dxgi;
167 ::ll::TypedStorage<8, 8, void*> m_kernel32dll;
168 ::ll::TypedStorage<8, 8, void*> m_d3d12dll;
169 ::ll::TypedStorage<8, 8, void*> m_renderdocdll;
170 ::ll::TypedStorage<8, 8, void*> m_winPixEvent;
176 RingBuffer<::bgfx::d3d12::StagingBufferD3D12, uint64, void*, ::bgfx::d3d12::RingBufferAllocator<2>>>>
178 ::ll::TypedStorage<8, 56, ::bgfx::d3d12::FenceSyncContext> m_sync;
179 ::ll::TypedStorage<4, 4, ::D3D_FEATURE_LEVEL> m_featureLevel;
180 ::ll::TypedStorage<4, 4, ::D3D_SHADER_MODEL> m_shaderModel;
181 ::ll::TypedStorage<4, 4, ::D3D_DRIVER_TYPE> m_driverType;
182 ::ll::TypedStorage<4, 16, ::D3D12_FEATURE_DATA_ARCHITECTURE> m_architecture;
183 ::ll::TypedStorage<4, 60, ::D3D12_FEATURE_DATA_D3D12_OPTIONS> m_options;
184 ::ll::TypedStorage<8, 8, void*> m_swapchainWaitableObject;
185 ::ll::TypedStorage<8, 8, ::IDXGISwapChain3*> m_swapChain;
186 ::ll::TypedStorage<8, 8, ::ID3D12Resource*> m_msaaRenderTarget;
187 ::ll::TypedStorage<4, 4, uint> m_numRecordingThreads;
188 ::ll::TypedStorage<8, 8, int64> m_presentElapsed;
189 ::ll::TypedStorage<2, 2, ushort> m_numWindows;
190 ::ll::TypedStorage<2, 256, ::bgfx::FrameBufferHandle[128]> m_windows;
191 ::ll::TypedStorage<8, 8, ::ID3D12Device*> m_device;
192 ::ll::TypedStorage<8, 8, ::ID3D12Device5*> m_device5;
193 ::ll::TypedStorage<8, 30880, ::bgfx::d3d12::TimerQueryD3D12> m_gpuTimer;
194 ::ll::TypedStorage<8, 552, ::bgfx::d3d12::OcclusionQueryD3D12> m_occlusionQuery;
195 ::ll::TypedStorage<8, 73768, ::bgfx::ViewProfilerManager<::bgfx::d3d12::TimerQueryD3D12>> m_profiler;
196 ::ll::TypedStorage<1, 1, ::bgfx::ProfilerEvents> m_profilerEvents;
197 ::ll::TypedStorage<8, 56, ::bgfx::d3d12::BufferHeap* [7]> m_bufferHeaps;
198 ::ll::TypedStorage<8, 24, ::ID3D12CommandSignature* [3]> m_commandSignature;
199 ::ll::TypedStorage<8, 8, ::bgfx::d3d12::CommandList*> m_globalCommands;
200 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::bgfx::d3d12::CommandContextD3D12>>> m_commandContext;
201 ::ll::TypedStorage<4, 12, ::bgfx::Resolution> m_resolution;
202 ::ll::TypedStorage<1, 1, bool> m_wireframe;
203 ::ll::TypedStorage<1, 1, bool> m_fatal;
204 ::ll::TypedStorage<4, 8, ::bgfx::FatalError> m_fatalError;
205 ::ll::TypedStorage<8, 72, ::bgfx::SwapChainDesc> m_scd;
206 ::ll::TypedStorage<4, 4, uint> m_maxAnisotropy;
207 ::ll::TypedStorage<1, 1, bool> m_depthClamp;
208 ::ll::TypedStorage<1, 1, bool> m_flipped;
209 ::ll::TypedStorage<8, 24, ::std::vector<::bgfx::d3d12::RendererContextD3D12::TlasBuildRequest>> m_tlasBuildRequests;
210 ::ll::TypedStorage<1, 1, bool> m_tlasValid;
211 ::ll::TypedStorage<8, 24, ::std::vector<::bgfx::d3d12::RendererContextD3D12::BlasBuildRequest>> m_blasBuildRequests;
212 ::ll::TypedStorage<8, 24, ::std::vector<::bgfx::d3d12::RendererContextD3D12::BlasCompactionRequest>>
213 m_blasCompactionRequests;
214 ::ll::TypedStorage<8, 3932160, ::bgfx::d3d12::BufferD3D12[32768]> m_compactedAsBuffers;
215 ::ll::TypedStorage<8, 120, ::bgfx::d3d12::BufferD3D12> m_asBuffersCompactionSizes;
216 ::ll::TypedStorage<8, 24, ::std::vector<::ID3D12Resource*>> m_asBuffersCompactionSizesReadback;
217 ::ll::TypedStorage<8, 24, ::std::vector<uint>> m_asCompactionCountList;
218 ::ll::TypedStorage<1, 1, bool> m_asCompactionCountListAvailable;
219 ::ll::TypedStorage<8, 24, ::std::vector<::bgfx::d3d12::BufferD3D12>> m_freeASBuffers;
225 RingBuffer<::bgfx::d3d12::StagingBufferD3D12, uint64, void*, ::bgfx::d3d12::RingBufferAllocator<0>>>>
227 ::ll::TypedStorage<4, 1703936, ::bgfx::d3d12::RendererContextD3D12::BLASGeometryInfo[32768]> m_blasGeometryInfo;
228 ::ll::TypedStorage<8, 120, ::bgfx::d3d12::BufferD3D12> m_blasQuadIndexBuffer;
229 ::ll::TypedStorage<8, 3932160, ::bgfx::d3d12::BufferD3D12[32768]> m_asBuffers;
230 ::ll::TypedStorage<8, 491520, ::bgfx::d3d12::BufferD3D12[4096]> m_indexBuffers;
231 ::ll::TypedStorage<8, 524288, ::bgfx::d3d12::VertexBufferD3D12[4096]> m_vertexBuffers;
232 ::ll::TypedStorage<8, 491520, ::bgfx::d3d12::BufferD3D12[4096]> m_shaderBuffers;
233 ::ll::TypedStorage<8, 753664, ::bgfx::d3d12::ShaderD3D12[4096]> m_shaders;
234 ::ll::TypedStorage<8, 507904, ::bgfx::d3d12::ProgramD3D12[2048]> m_program;
235 ::ll::TypedStorage<8, 753696, ::bgfx::GuardedPagedHeapBackedArray<::bgfx::d3d12::TextureD3D12, 4096>> m_textures;
236 ::ll::TypedStorage<4, 5376, ::bgfx::VertexDecl[64]> m_vertexDecls;
237 ::ll::TypedStorage<8, 13312, ::bgfx::d3d12::FrameBufferD3D12[128]> m_frameBuffers;
238 ::ll::TypedStorage<4, 7176, ::bgfx::UniformRegistry> m_uniformReg;
239 ::ll::TypedStorage<8, 16, ::std::map<uint, ::bgfx::d3d12::RendererContextD3D12::PresentTimings>> m_presentTimings;
240 ::ll::TypedStorage<8, 8, ::bgfx::d3d12::RendererContextD3D12::PresentTimings*> m_completedTiming;
241 ::ll::TypedStorage<8, 24, ::bgfx::TextVideoMem> m_textVideoMem;
242 ::ll::TypedStorage<4, 4, uint> m_backBufferColorIdx;
243 ::ll::TypedStorage<1, 1, bool> m_directAccessSupport;
244 ::ll::TypedStorage<8, 183184, ::bgfx::d3d12::ResourceStatesMananger> m_states;
245 ::ll::TypedStorage<8, 49860952, ::bgfx::d3d12::CommandQueueD3D12> m_cmd;
246 ::ll::TypedStorage<8, 80, ::std::mutex> m_cmdCreateMtx;
254 virtual bool init(::bgfx::Init
const& _init);
256 virtual void shutdown();
258 virtual ::bgfx::RendererType::Enum getRendererType() const ;
260 virtual uint64 getRendererVersion() const ;
262 virtual uint64 getShaderVersion() const ;
264 virtual
char const* getRendererName() const ;
266 virtual
bool isDeviceRemoved() ;
268 virtual
void suspend() ;
270 virtual
void resume() ;
272 virtual
void advanceToNextFrame() ;
274 virtual
void flip() ;
276 virtual
void waitForFlipQueue() ;
279 createIndexBuffer(::bgfx::IndexBufferHandle _handle, ::bgfx::Memory const* _mem, ushort _flags) ;
281 virtual
void destroyIndexBuffer(::bgfx::IndexBufferHandle _handle) ;
283 virtual
void createVertexDecl(::bgfx::VertexDeclHandle _handle, ::bgfx::VertexDecl const& _decl) ;
285 virtual
void destroyVertexDecl(::bgfx::VertexDeclHandle) ;
287 virtual
void createVertexBuffer(
288 ::bgfx::VertexBufferHandle _handle,
289 ::bgfx::Memory const* _mem,
290 ::bgfx::VertexDeclHandle _declHandle,
294 virtual
void destroyVertexBuffer(::bgfx::VertexBufferHandle _handle) ;
296 virtual
void createDynamicIndexBuffer(::bgfx::IndexBufferHandle _handle, uint _size, ushort _flags) ;
298 virtual
void updateDynamicIndexBuffer(
299 ::bgfx::IndexBufferHandle _handle,
302 ::bgfx::Memory const* _mem
305 virtual
void destroyDynamicIndexBuffer(::bgfx::IndexBufferHandle _handle) ;
307 virtual
void createDynamicVertexBuffer(::bgfx::VertexBufferHandle _handle, uint _size, ushort _flags) ;
309 virtual
void updateDynamicVertexBuffer(
310 ::bgfx::VertexBufferHandle _handle,
313 ::bgfx::Memory const* _mem
316 virtual
void destroyDynamicVertexBuffer(::bgfx::VertexBufferHandle _handle) ;
318 virtual
void createShader(::bgfx::ShaderHandle _handle, ::bgfx::Memory const* _mem) ;
320 virtual
void destroyShader(::bgfx::ShaderHandle _handle) ;
323 createProgram(::bgfx::ProgramHandle _handle, ::bgfx::ShaderHandle _vsh, ::bgfx::ShaderHandle _fsh) ;
325 virtual
void destroyProgram(::bgfx::ProgramHandle _handle) ;
327 virtual
void* createTexture(
328 ::bgfx::TextureHandle _handle,
329 ::bgfx::Memory const* _mem,
332 ::bgfx::Memory const** _imageContainerData
335 virtual
void updateTextureBegin(::bgfx::TextureHandle, uchar, uchar) ;
337 virtual
void updateTexture(
338 ::bgfx::TextureHandle _handle,
341 ::bgfx::Rect const& _rect,
345 ::bgfx::Memory const* _mem
348 virtual
void updateTextureEnd() ;
350 virtual
void readTexture(::bgfx::TextureHandle _handle,
void* _data, uchar _mip) ;
352 virtual
void resizeTexture(
353 ::bgfx::TextureHandle _handle,
360 virtual
void wrapExternalTexture(
361 ::bgfx::TextureHandle _handle,
362 ::bgfx::RendererType::Enum _type,
367 virtual
void overrideInternal(::bgfx::TextureHandle _handle, uint64 _ptr, uint _flags) ;
369 virtual uint64 getInternal(::bgfx::TextureHandle _handle) ;
371 virtual
void destroyTexture(::bgfx::TextureHandle _handle) ;
374 createShaderBuffer(::bgfx::ShaderBufferHandle _handle, uint _size, uint _stride, ushort _flags) ;
377 updateShaderBuffer(::bgfx::ShaderBufferHandle _handle, uint _offset, ::bgfx::Memory const* _mem) ;
379 virtual
void destroyShaderBuffer(::bgfx::ShaderBufferHandle _handle) ;
381 virtual
void createBottomLevelAccelerationStructure(
382 ::bgfx::AccelerationStructureHandle _handle,
383 ::bgfx::VertexBufferHandle _vertexBufferHandle,
384 ::bgfx::VertexDeclHandle _vertexDeclHandle,
386 uint _vertexOffsetBytes,
387 ::bgfx::IndexBufferHandle _indexBufferHandle,
389 uint _indexOffsetBytes,
391 ::bgfx::AccelerationStructureBuildFlags::Enum _flags
394 virtual
void destroyAccelerationStructureBuffer(::bgfx::AccelerationStructureHandle _handle) ;
396 virtual
void createTopLevelAccelerationStructure(
397 ::bgfx::AccelerationStructureHandle _handle,
399 ::bgfx::TopLevelInstanceDesc* _instanceDescs
402 virtual
void createFrameBuffer(
403 ::bgfx::FrameBufferHandle _handle,
405 ::bgfx::Attachment const* _attachment
408 virtual
void createFrameBuffer(
409 ::bgfx::FrameBufferHandle _handle,
413 ::bgfx::TextureFormat::Enum _depthFormat
416 virtual
void destroyFrameBuffer(::bgfx::FrameBufferHandle _handle) ;
418 virtual
void createUniform(
419 ::bgfx::UniformHandle _handle,
420 ::bgfx::UniformType::Enum _type,
425 virtual
void destroyUniform(::bgfx::UniformHandle _handle) ;
427 virtual
void requestScreenShot(::bgfx::FrameBufferHandle _handle,
char const* _filePath) ;
429 virtual
void updateViewName(ushort _id,
char const* _name) ;
431 virtual
void updateUniform(
void* _uniformsTarget, ushort _loc,
void const* _data, uint _size) ;
433 virtual
void setMarker(
void*,
char const* _marker, uint) ;
435 virtual
void invalidateOcclusionQuery(::bgfx::OcclusionQueryHandle _handle) ;
437 virtual
void setName(::bgfx::Handle _handle,
char const* _name) ;
440 ::bgfx::Frame* _render,
441 ::bgfx::ClearQuad& _clearQuad,
442 ::bgfx::TextVideoMemBlitter& _textVideoMemBlitter
445 virtual
void blitSetup(::bgfx::TextVideoMemBlitter& _blitter) ;
447 virtual
void blitRender(::bgfx::TextVideoMemBlitter& _blitter, uint _numIndices) ;
449 virtual
bool updateResolution(::bgfx::Resolution const& _resolution);
451 virtual
void kick(
bool _alloc);
453 virtual
void finish();
455 virtual
void doPreBlasSkinning(::bgfx::d3d12::CommandListD3D12& bgfxCommandList);
457 virtual
void rayTrace(
458 ::bgfx::d3d12::CommandListD3D12& bgfxCommandList,
459 ::bgfx::RayTracingConfiguration const& rtConfig,
460 ::bgfx::RayTracingResources const& rtResources,
461 ::bgfx::RenderBind const& renderBind,
462 ::bgfx::Matrix4 const& viewMat,
463 ::bgfx::Matrix4 const& projMat
473 wchar_t const* _name,
474 ::bgfx::d3d12::HeapProperty::Enum _heapProperty,
476 ::D3D12_RESOURCE_STATES _initialState,
477 ::D3D12_RESOURCE_FLAGS _flags
482 MCAPI
void postReset(
bool _swapChainReset);
484 MCAPI
void preReset(
bool _swapChainReset);
504 MCAPI
bool $init(::bgfx::
Init const& _init);
506 MCAPI
void $shutdown();
538 ::bgfx::
Memory const* _mem,
558 ::bgfx::
Memory const* _mem
573 ::bgfx::
Memory const* _mem,
576 ::bgfx::
Memory const** _imageContainerData
585 ::bgfx::
Rect const& _rect,
589 ::bgfx::
Memory const* _mem
601 ::bgfx::RendererType::Enum _type,
623 uint _vertexOffsetBytes,
626 uint _indexOffsetBytes,
628 ::bgfx::AccelerationStructureBuildFlags::Enum _flags
647 ::bgfx::TextureFormat::Enum _depthFormat
661 MCNAPI
void $updateUniform(
void* _uniformsTarget, ushort _loc,
void const* _data, uint _size);
689 ::bgfx::
Matrix4 const& viewMat,
Definition BufferHeap.h:7
Definition StagingBufferD3D12.h:7
Definition AccelerationStructureHandle.h:7
Definition Attachment.h:7
Definition FrameBufferHandle.h:7
Definition IndexBufferHandle.h:7
Definition OcclusionQueryHandle.h:7
Definition ProgramHandle.h:7
Definition RayTracingConfiguration.h:7
Definition RayTracingResources.h:7
Definition RenderBind.h:7
Definition Resolution.h:7
Definition ShaderBufferHandle.h:7
Definition ShaderHandle.h:7
Definition TextVideoMemBlitter.h:7
Definition TextureHandle.h:7
Definition TopLevelInstanceDesc.h:7
Definition VertexBufferHandle.h:7
Definition VertexDeclHandle.h:7
Definition VertexDecl.h:7
Definition CommandContextD3D12.h:7
Definition CommandListD3D12.h:7
Definition CommandList.h:7
Definition RendererContextD3D12.h:25
Definition RendererContextD3D12.h:21
Definition RendererContextD3D12.h:23
Definition RendererContextD3D12.h:27
Definition RendererContextD3D12.h:19
Definition RendererContextD3D12.h:7
MCAPI void $destroyShaderBuffer(::bgfx::ShaderBufferHandle _handle)
MCAPI void $destroyDynamicIndexBuffer(::bgfx::IndexBufferHandle _handle)
MCAPI void $updateShaderBuffer(::bgfx::ShaderBufferHandle _handle, uint _offset, ::bgfx::Memory const *_mem)
MCAPI void * $createTexture(::bgfx::TextureHandle _handle, ::bgfx::Memory const *_mem, uint _flags, uchar _skip, ::bgfx::Memory const **_imageContainerData)
MCAPI void $createDynamicVertexBuffer(::bgfx::VertexBufferHandle _handle, uint _size, ushort _flags)
MCAPI void $updateTextureBegin(::bgfx::TextureHandle, uchar, uchar)
MCAPI void $createVertexBuffer(::bgfx::VertexBufferHandle _handle, ::bgfx::Memory const *_mem, ::bgfx::VertexDeclHandle _declHandle, ushort _flags)
MCAPI void $setName(::bgfx::Handle _handle, char const *_name)
MCAPI void $setMarker(void *, char const *_marker, uint)
MCAPI uint64 $getInternal(::bgfx::TextureHandle _handle)
MCAPI void $createShaderBuffer(::bgfx::ShaderBufferHandle _handle, uint _size, uint _stride, ushort _flags)
MCAPI void $readTexture(::bgfx::TextureHandle _handle, void *_data, uchar _mip)
MCAPI void $createIndexBuffer(::bgfx::IndexBufferHandle _handle, ::bgfx::Memory const *_mem, ushort _flags)
MCAPI void $destroyDynamicVertexBuffer(::bgfx::VertexBufferHandle _handle)
MCAPI void $updateUniform(void *_uniformsTarget, ushort _loc, void const *_data, uint _size)
MCAPI void $destroyVertexDecl(::bgfx::VertexDeclHandle)
MCAPI::bgfx::d3d12::ResourceCreate allocateResource(wchar_t const *_name, ::bgfx::d3d12::HeapProperty::Enum _heapProperty, uint64 _size, ::D3D12_RESOURCE_STATES _initialState, ::D3D12_RESOURCE_FLAGS _flags)
MCAPI uint64 $getShaderVersion() const
MCAPI void $createShader(::bgfx::ShaderHandle _handle, ::bgfx::Memory const *_mem)
MCAPI void $wrapExternalTexture(::bgfx::TextureHandle _handle, ::bgfx::RendererType::Enum _type, void *_texturePtr, void *_deferredRef)
MCAPI void $updateDynamicIndexBuffer(::bgfx::IndexBufferHandle _handle, uint _offset, uint _size, ::bgfx::Memory const *_mem)
MCAPI void $updateDynamicVertexBuffer(::bgfx::VertexBufferHandle _handle, uint _offset, uint _size, ::bgfx::Memory const *_mem)
MCAPI void $createFrameBuffer(::bgfx::FrameBufferHandle _handle, uchar _num, ::bgfx::Attachment const *_attachment)
MCAPI void $destroyTexture(::bgfx::TextureHandle _handle)
MCAPI void $destroyIndexBuffer(::bgfx::IndexBufferHandle _handle)
MCAPI void $blitSetup(::bgfx::TextVideoMemBlitter &_blitter)
MCAPI::bgfx::RendererType::Enum $getRendererType() const
MCAPI::D3D12_CPU_DESCRIPTOR_HANDLE getRtv(::bgfx::FrameBufferHandle _fbh)
MCAPI bool $isDeviceRemoved()
MCAPI void $createDynamicIndexBuffer(::bgfx::IndexBufferHandle _handle, uint _size, ushort _flags)
MCAPI void $updateViewName(ushort _id, char const *_name)
MCAPI void $destroyShader(::bgfx::ShaderHandle _handle)
MCAPI void $createProgram(::bgfx::ProgramHandle _handle, ::bgfx::ShaderHandle _vsh, ::bgfx::ShaderHandle _fsh)
MCAPI void $updateTextureEnd()
MCAPI void $kick(bool _alloc)
MCAPI void $destroyUniform(::bgfx::UniformHandle _handle)
MCAPI void $updateTexture(::bgfx::TextureHandle _handle, uchar _side, uchar _mip, ::bgfx::Rect const &_rect, ushort _z, ushort _depth, ushort _pitch, ::bgfx::Memory const *_mem)
MCAPI char const * $getRendererName() const
MCAPI void $requestScreenShot(::bgfx::FrameBufferHandle _handle, char const *_filePath)
MCAPI void $blitRender(::bgfx::TextVideoMemBlitter &_blitter, uint _numIndices)
MCAPI void $destroyVertexBuffer(::bgfx::VertexBufferHandle _handle)
MCAPI void updateMsaa(::DXGI_FORMAT _format)
MCAPI void $createUniform(::bgfx::UniformHandle _handle, ::bgfx::UniformType::Enum _type, ushort _num, char const *_name)
MCAPI void $destroyProgram(::bgfx::ProgramHandle _handle)
MCAPI void $advanceToNextFrame()
MCAPI RendererContextD3D12()
MCAPI void $createVertexDecl(::bgfx::VertexDeclHandle _handle, ::bgfx::VertexDecl const &_decl)
MCAPI void $createBottomLevelAccelerationStructure(::bgfx::AccelerationStructureHandle _handle, ::bgfx::VertexBufferHandle _vertexBufferHandle, ::bgfx::VertexDeclHandle _vertexDeclHandle, uint _vertexCount, uint _vertexOffsetBytes, ::bgfx::IndexBufferHandle _indexBufferHandle, uint _indexCount, uint _indexOffsetBytes, ushort _indexSize, ::bgfx::AccelerationStructureBuildFlags::Enum _flags)
MCAPI void $waitForFlipQueue()
MCAPI uint64 $getRendererVersion() const
MCAPI void $destroyAccelerationStructureBuffer(::bgfx::AccelerationStructureHandle _handle)
MCAPI void $createTopLevelAccelerationStructure(::bgfx::AccelerationStructureHandle _handle, uint _numInstances, ::bgfx::TopLevelInstanceDesc *_instanceDescs)
MCAPI void $overrideInternal(::bgfx::TextureHandle _handle, uint64 _ptr, uint _flags)
MCAPI void $invalidateOcclusionQuery(::bgfx::OcclusionQueryHandle _handle)
MCAPI bool $updateResolution(::bgfx::Resolution const &_resolution)
MCAPI void $rayTrace(::bgfx::d3d12::CommandListD3D12 &bgfxCommandList, ::bgfx::RayTracingConfiguration const &rtConfig, ::bgfx::RayTracingResources const &rtResources, ::bgfx::RenderBind const &renderBind, ::bgfx::Matrix4 const &viewMat, ::bgfx::Matrix4 const &projMat)
MCAPI void $doPreBlasSkinning(::bgfx::d3d12::CommandListD3D12 &bgfxCommandList)
MCAPI void $resizeTexture(::bgfx::TextureHandle _handle, ushort _width, ushort _height, uchar _numMips, ushort _numLayers)
MCAPI void $destroyFrameBuffer(::bgfx::FrameBufferHandle _handle)
Definition ResourceCreate.h:7
Definition TextureD3D12.h:7