Implement basic Web GPU server-side to achieve the draw calls replaying #403
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new GPU command buffer allocation and iteration system, along with assertion handling utilities and an initial implementation of the encoding context for GPU command buffers. The changes are focused on adding robust memory management for GPU command buffers, platform/compiler-specific assertion handling, and foundational code for encoding command buffers. Below are the most important changes grouped by theme.
GPU Command Buffer Allocation and Iteration
CommandAllocatorandCommandIteratorclasses incommand_allocator.cppandcommand_allocator.hppto manage allocation and iteration of GPU command buffer blocks. These classes support efficient memory management, block acquisition, and command traversal, with careful attention to alignment and error handling. [1] [2]GLOB_RECURSEfor collecting all common source files, simplifying build configuration for recursive file inclusion.Assertion Handling Utilities
BreakPoint()andHandleAssertionFailure()inassert.cppand declared their interfaces inassert.hpp. This enables consistent assertion failure handling and debugging across multiple architectures and compilers. [1] [2]GPU Command Buffer Encoding Context
EncodingContextinencoding_context.cpp, providing lifecycle management, command acquisition, and pass management for GPU command buffer encoding. This lays the groundwork for more advanced encoding and validation features.