[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] State of WEBGL_draw_instanced_base_vertex_base_instance? (and WEBGL_multi_draw + WEBGL_multi_draw_instanced_base_vertex_base_instance?)



Hi all,

I was wondering what the most recent status of
https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_instanced_base_vertex_base_instance/
is?

Recently it came up that it'd be super useful for optimizing rendering
in a packed vertex buffers context. Tried it out, and observed

1. Supported in Chrome Canary behind experimental chrome://flags setting.

2. Not supported in Firefox Nightly (or Safari since no WebGL 2).

3. Not supported in Chrome on macOS, only on Windows. (Linux not tested)

4. Looking at GitHub repository, most recent update is ~6 months ago:
https://github.com/KhronosGroup/WebGL/tree/master/extensions/WEBGL_draw_instanced_base_vertex_base_instance

5. In a small scale test on Chrome Canary on Windows with Emscripten,
I unfortunately run into corrupted rendering with
WEBGL_draw_instanced_base_vertex_base_instance. :( Same code compiled
to a native Windows app works ok though, so scratching my head if I'm
screwing something up or if there might be an implementation bug. (the
conformance test
https://www.khronos.org/registry/webgl/sdk/tests/conformance2/extensions/webgl-multi-draw-instanced-base-vertex-base-instance.html?webglVersion=2&quiet=0&quick=1
does pass though)

It would be really cool to get adoption for this in to WebGL 2 in
different browsers (and WEBGL_multi_draw and
WEBGL_multi_draw_instanced_base_vertex_base_instance as well!).

Multi-draw would be a really big deal due to its gl_DrawID support
(indexing large packed UBOs with gl_DrawID enables heavy batching
opportunities), and base_vertex/base_instance likewise enables great
opportunities to batch buffer uploads to a single buffer, to get to
some of the AZDO goodness perhaps "already today" while waiting for
WebGPU.

Cheers,
Jukka

-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email:
unsubscribe public_webgl
-----------------------------------------------------------