-
Notifications
You must be signed in to change notification settings - Fork 2
Labels
enhancementNew feature or requestNew feature or request
Description
Background
To support future spatial web rendering capabilities and align with the evolution of web graphics standards, we need to start implementing WebGPU support in JSAR Runtime. This issue tracks the creation of a native client-side WebGPU interface layer, similar to the existing WebGL implementation.
Scope
- Implement the basic client-side WebGPU API in
src/client/graphics
. - The client layer should only be responsible for collecting WebGPU command buffers (CommandBuffer pattern), just as with WebGL.
- No server-side communication or rendering is required in this issue—focus only on the native (client) interface and command recording logic.
- The architecture and patterns should closely follow the existing WebGL client-side design for consistency and maintainability.
Deliverables
- C++ classes/interfaces for WebGPU context, resources, and command buffer recording in
src/client/graphics
. - Documentation/comments explaining the structure and usage.
- Unit tests (if feasible) for interface instantiation and basic command recording.
Acceptance Criteria
- Client-side WebGPU API exists and can be instantiated in isolation.
- Command buffer recording is possible (but not transmitted).
- Code is commented and matches JSAR Runtime's code quality standards.
Reference
- WebGPU specification
- Chromium WebGPU implementation: src/gpu/command_buffer/service/webgpu_decoder_impl.cc
- Servo WebGPU: wgpu-native
This is the first step towards supporting WebGPU in JSAR. Subsequent issues will handle server-side transmission and integration.
Copilot
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request