Skip to content

Commit

Permalink
EngineWebGPUCreateInfo: updated documentation; updated release history
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMostDiligent committed Sep 1, 2024
1 parent 46e5e7e commit 1627440
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 7 deletions.
18 changes: 13 additions & 5 deletions Graphics/GraphicsEngine/interface/GraphicsTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -4116,19 +4116,27 @@ typedef struct EngineMtlCreateInfo EngineMtlCreateInfo;
/// Attributes of the WebGPU-based engine implementation
struct EngineWebGPUCreateInfo DILIGENT_DERIVE(EngineCreateInfo)

///
Uint32 QueueSignalPoolSize DEFAULT_INITIALIZER(32);

/// Upload heap page size.
///
/// \remarks Upload heap is used to update resources with IDeviceContext::UpdateBuffer(),
/// IDeviceContext::UpdateTexture(), or to map dynamic textures.
Uint32 UploadHeapPageSize DEFAULT_INITIALIZER(8 << 20);

/// The size of the dynamic heap (the buffer that is used to suballocate memory for dynamic resources).
///
/// \remarks The dynamic heap is used to allocate memory for dynamic
/// resources. Each time a dynamic buffer or dynamic texture is mapped,
/// the engine allocates a new chunk of memory from the dynamic heap.
/// At the end of the frame, all dynamic memory allocated for the frame
/// is recycled. Note that unlike Vulkan, the dynamic memory becomes available
/// immediately for use in the next frame.
Uint32 DynamicHeapSize DEFAULT_INITIALIZER(8 << 20);

///
/// Size of the memory chunk suballocated by immediate/deferred context from
/// the global dynamic heap to perform lock-free dynamic suballocations.
Uint32 DynamicHeapPageSize DEFAULT_INITIALIZER(256 << 10);

///
/// Query pool size for each query type.
Uint32 QueryPoolSizes[QUERY_TYPE_NUM_TYPES]
#if DILIGENT_CPP_INTERFACE
{
Expand Down
12 changes: 10 additions & 2 deletions ReleaseHistory.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
## Current progress

## v.2.5.6

* 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 to `PipelineResourceDesc` struct
* Added WebGPU-specific interfaces (`IRenderDeviceWebGPU`, `IDeviceContextWebGPU`, etc.)
* Enabled asynchronous shdare and pipeline state compilation (API255001)
* Added `AsyncShaderCompilation` render device feature
* Added `pAsyncShaderCompilationThreadPool` and `NumAsyncShaderCompilerThreads` members to `EngineCreateInfo` struct
Expand Down

0 comments on commit 1627440

Please sign in to comment.