You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/ImageSharp.Drawing.WebGPU/WEBGPU_BACKEND.md
+5-9Lines changed: 5 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,18 +16,14 @@ This document explains the backend as a newcomer would need to understand it:
16
16
17
17
## Where The Public WebGPU Types Fit
18
18
19
-
The public WebGPU surface area around this backend is small and target-first. Most applications only reach for the recommended types; the advanced types exist as escape hatches for unusual interop scenarios.
19
+
The public WebGPU surface area around this backend is small and target-first.
20
20
21
-
**Recommended types** — the entry points most applications should use:
21
+
**Public types** — the entry points applications should use:
22
22
23
23
-`WebGPUEnvironment` exposes explicit support probes for the library-managed WebGPU environment
24
24
-`WebGPUWindow` owns a native window and either runs a render loop or returns `WebGPUSurfaceFrame` instances through `TryAcquireFrame(...)`
25
25
-`WebGPUExternalSurface` attaches to a caller-owned native host via `WebGPUSurfaceHost`; the host application owns the UI object and tells the external surface when the drawable framebuffer resizes
26
-
-`WebGPURenderTarget` owns an offscreen native target for GPU rendering, hybrid CPU plus GPU canvases, and readback
27
-
28
-
**Advanced types** — interop escape hatches for applications that already own a native texture target:
29
-
30
-
-`WebGPUNativeSurfaceFactory` is the low-level escape hatch for caller-owned native targets
26
+
-`WebGPURenderTarget` owns an offscreen native target for GPU rendering and readback
31
27
32
28
`WebGPUDeviceContext` is internal infrastructure used by targets and surfaces. It is not part of the public WebGPU entry-point model.
33
29
@@ -149,7 +145,7 @@ The expensive staged work is delegated:
149
145
The public object graph around those responsibilities is also separate:
150
146
151
147
-`WebGPUEnvironment` handles explicit support probes
152
-
-`WebGPUWindow`, `WebGPUExternalSurface`, and `WebGPURenderTarget` are the public target constructors; `WebGPUNativeSurfaceFactory` remains the low-level interop escape hatch for caller-owned textures
148
+
-`WebGPUWindow`, `WebGPUExternalSurface`, and `WebGPURenderTarget` are the public target constructors
153
149
-`DrawingCanvas` hands prepared `DrawingCommandBatch` ranges to the backend
154
150
155
151
## The Backend Boundary
@@ -269,7 +265,7 @@ The easiest way to keep this backend straight is to remember that it is not the
269
265
If that model is clear, the major types fall into place:
270
266
271
267
-`WebGPUEnvironment` exposes explicit support probes
272
-
-`WebGPUWindow`, `WebGPUExternalSurface`, and `WebGPURenderTarget` are the recommended target types; `WebGPUNativeSurfaceFactory` is the advanced interop escape hatch
268
+
-`WebGPUWindow`, `WebGPUExternalSurface`, and `WebGPURenderTarget` are the public target types
273
269
-`WebGPUDrawingBackend` orchestrates and decides policy
274
270
-`WebGPUFlushContext` owns one flush's execution state
Copy file name to clipboardExpand all lines: src/ImageSharp.Drawing.WebGPU/WEBGPU_RASTERIZER.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Together, these types turn one retained encoded scene into staged GPU work, sche
14
14
15
15
This document starts after two earlier boundaries have already been crossed:
16
16
17
-
- public WebGPU setup has already selected or created a native target through `WebGPUWindow`, `WebGPUExternalSurface`, `WebGPURenderTarget`, or `WebGPUNativeSurfaceFactory`
17
+
- public WebGPU setup has already selected or created a native target through `WebGPUWindow`, `WebGPUExternalSurface`, or `WebGPURenderTarget`
18
18
-`WebGPUDrawingBackend.RenderScene<TPixel>(...)` has already validated the typed native target
19
19
20
20
Support probing through `WebGPUEnvironment` also sits outside this document. The rasterizer describes execution of one staged scene, not environment detection or object construction.
0 commit comments