Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d248f85

Browse files
authored
Compat mode: make f16 and f32 rendering optional. (#4983)
Introduce float16-renderable and float32-renderable as optional features in Compatibility mode, and required in Core.
1 parent 97a3ead commit d248f85

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

proposals/compatibility-mode.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,18 @@ for each stage of the pipeline:
238238

239239
**Justification**: In OpenGL ES 3.1 does not support more combinations. Sampler units and texture units are bound together. Texture unit X uses sampler unit X.
240240

241+
## 21. Introduce new `float16-renderable` and `float32-renderable` features.
242+
243+
When supported, `float16-renderable` allows the `RENDER_ATTACHMENT` usage on textures with format `"r16float"`, `"rg16float"`, and `"rgba16float"`.
244+
245+
When supported, `float32-renderable` allows the `RENDER_ATTACHMENT` usage on textures with format `"r32float"`, `"rg32float"`, and `"rgba32float"`.
246+
247+
Without support, an error will occur at texture creation time as described in section 6.1.3.
248+
249+
Support for both features is mandatory in core WebGPU.
250+
251+
**Justification**: OpenGL ES 3.1 does not require the relevant f16- or f32-based texture formats (`R16F`, `RG16F`, `RGBA16F`, `R32F`, `RG32F`, and `RGBA32F`) to be color-renderable. While there exist OpenGL ES extensions to enable renderability (`GL_EXT_COLOR_BUFFER_HALF_FLOAT` and `GL_EXT_COLOR_BUFFER_FLOAT`), there are a significant number of devices which lack support for these extensions.
252+
241253
## Issues
242254

243255
Q: OpenGL ES does not have "coarse" and "fine" variants of the derivative instructions (`dFdx()`, `dFdy()`, `fwidth()`). Should WGSL's "fine" derivatives (`dpdxFine()`, `dpdyFine()`, and `fwidthFine()`) be required to deliver high precision results? See [Issue 4325](https://github.com/gpuweb/gpuweb/issues/4325).

0 commit comments

Comments
 (0)