This release significantly enhances Diligent Engine by introducing the WebGPU backend, making the web a first-class citizen in the Diligent Engine ecosystem. WebGPU is a modern graphics API specifically designed for the web, offering several key advantages over WebGL. These enhancements are now fully leveraged by Diligent Engine.
For full release notes, please visit Diligent Engine - v2.5.6 Release Notes.
API Changes
- Implemented WebGPU backend
- Added
EngineWebGPUCreateInfo
- Added
IEngineFactoryWebGPU
interface - Added
RENDER_DEVICE_TYPE_WEBGPU
,SHADER_SOURCE_LANGUAGE_WGSL
,SHADER_VARIABLE_FLAG_UNFILTERABLE_FLOAT_TEXTURE_WEBGPU
,
SHADER_VARIABLE_FLAG_NON_FILTERING_SAMPLER_WEBGPU
enum values - Added
WEB_GPU_BINDING_TYPE
enum,WebGPUResourceAttribs
struct, and
WebGPUResourceAttribs WebGPUAttribs
member toPipelineResourceDesc
struct - Added WebGPU-specific interfaces (
IRenderDeviceWebGPU
,IDeviceContextWebGPU
, etc.)
- Added
- Enabled asynchronous shdare and pipeline state compilation (API255001)
- Added
AsyncShaderCompilation
render device feature - Added
pAsyncShaderCompilationThreadPool
andNumAsyncShaderCompilerThreads
members toEngineCreateInfo
struct - Added
SHADER_COMPILE_FLAG_ASYNCHRONOUS
andPSO_CREATE_FLAG_ASYNCHRONOUS
flags - Added
SHADER_STATUS
andPIPELINE_STATE_STATUS
enums - Added
IShader::GetStatus
andIPipelineState::GetStatus
methods
- Added