Engine factory for WebGPU implementation. More...
Public Member Functions | |
void DILIGENT_CALL_TYPE | EnumerateAdapters (Version MinVersion, Uint32 &NumAdapters, GraphicsAdapterInfo *Adapters) const override final |
Enumerates adapters available on this machine. | |
void DILIGENT_CALL_TYPE | CreateDearchiver (const DearchiverCreateInfo &CreateInfo, IDearchiver **ppDearchiver) const override final |
Creates a dearchiver object. | |
void DILIGENT_CALL_TYPE | CreateDeviceAndContextsWebGPU (const EngineWebGPUCreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppContexts) override final |
Creates a render device and device contexts for WebGPU-based engine implementation. | |
void DILIGENT_CALL_TYPE | CreateSwapChainWebGPU (IRenderDevice *pDevice, IDeviceContext *pImmediateContext, const SwapChainDesc &SCDesc, const NativeWindow &Window, ISwapChain **ppSwapChain) override final |
Creates a swap chain for WebGPU-based engine implementation. | |
void DILIGENT_CALL_TYPE | AttachToWebGPUDevice (void *wgpuInstance, void *wgpuAdapter, void *wgpuDevice, const EngineWebGPUCreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppContexts) override final |
Attaches to existing WebGPU render device, adapter and instance. | |
const void *DILIGENT_CALL_TYPE | GetProcessTable () const override final |
Return the pointer to DawnProcTable. | |
![]() | |
virtual void DILIGENT_CALL_TYPE | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface) override final |
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | AddRef () override final |
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | Release () override final |
virtual IReferenceCounters *DILIGENT_CALL_TYPE | GetReferenceCounters () const override final |
virtual const APIInfo &DILIGENT_CALL_TYPE | GetAPIInfo () const override final |
virtual void DILIGENT_CALL_TYPE | CreateDataBlob (size_t InitialSize, const void *pData, IDataBlob **ppDataBlob) const override final |
virtual void DILIGENT_CALL_TYPE | CreateDefaultShaderSourceStreamFactory (const Char *SearchDirectories, IShaderSourceInputStreamFactory **ppShaderSourceFactory) const override final |
virtual void DILIGENT_CALL_TYPE | SetMessageCallback (DebugMessageCallbackType MessageCallback) const override final |
virtual void DILIGENT_CALL_TYPE | SetBreakOnError (bool BreakOnError) const override final |
Engine factory for WebGPU implementation.
|
finaloverridevirtual |
Attaches to existing WebGPU render device, adapter and instance.
[in] | wgpuInstance | - pointer to the native WebGPU instance. |
[in] | wgpuAdapter | - pointer to the native WebGPU adapter. |
[in] | wgpuDevice | - pointer to the native WebGPU device. |
[in] | EngineCI | - Engine creation info. |
[out] | ppDevice | - Address of the memory location where pointer to the created device will be written. |
[out] | ppContexts | - Address of the memory location where pointers to the contexts will be written. Immediate context goes at position 0. If EngineCI.NumDeferredContexts > 0, pointers to the deferred contexts are written afterwards. |
Implements Diligent::IEngineFactoryWebGPU.
|
finaloverridevirtual |
Creates a dearchiver object.
[in] | CreateInfo | - Dearchiver create info, see Diligent::DearchiverCreateInfo for details. |
[out] | ppDearchiver | - Address of the memory location where a pointer to IDearchiver interface will be written. The function calls AddRef(), so that the new object will have one reference. |
Reimplemented from Diligent::EngineFactoryBase< IEngineFactoryWebGPU >.
|
finaloverridevirtual |
Creates a render device and device contexts for WebGPU-based engine implementation.
[in] | EngineCI | - Engine creation info. |
[out] | ppDevice | - Address of the memory location where pointer to the created device will be written. |
[out] | ppContexts | - Address of the memory location where pointers to the contexts will be written. Immediate context goes at position 0. If EngineCI.NumDeferredContexts > 0, pointers to deferred contexts are written afterwards. |
Implements Diligent::IEngineFactoryWebGPU.
|
finaloverridevirtual |
Creates a swap chain for WebGPU-based engine implementation.
[in] | pDevice | - Pointer to the render device. |
[in] | pImmediateContext | - Pointer to the immediate device context. |
[in] | SCDesc | - Swap chain description. |
[in] | Window | - Platform-specific native window description that the swap chain will be associated with:
|
[out] | ppSwapChain | - Address of the memory location where pointer to the new swap chain will be written. |
Implements Diligent::IEngineFactoryWebGPU.
|
finaloverridevirtual |
Enumerates adapters available on this machine.
[in] | MinVersion | - Minimum required API version (feature level for Direct3D). |
[in,out] | NumAdapters | - The number of adapters. If Adapters is null, this value will be overwritten with the number of adapters available on this system. If Adapters is not null, this value should contain the maximum number of elements reserved in the array pointed to by Adapters. In the latter case, this value is overwritten with the actual number of elements written to Adapters. |
[out] | Adapters | - Pointer to the array containing adapter information. If null is provided, the number of available adapters is written to NumAdapters. |
Implements Diligent.IEngineFactory.