Update WEBGL_get_buffer_sub_data_async prototype to new proposal |
|||||||
Issue descriptionBack in February when WEBGL_get_buffer_sub_data_async was discussed on the public mailing list, there were concerns about phrasing the API in terms of Promises. There was a suggestion to implement the API with more C-like semantics here: https://www.khronos.org/webgl/public-mailing-list/public_webgl/1702/msg00002.php The basic idea is that getBufferSubDataAsync would return immediately, with a void return value. The app would have to call gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE) and poll that fence at the beginning of each requestAnimationFrame callback using gl.getSyncParameter(sync, gl.SYNC_STATUS). Once it returns gl.SIGNALED then the data can be consumed. See these two thread lists for the bulk of the conversation to date: https://www.khronos.org/webgl/public-mailing-list/public_webgl/1702/threads.php https://www.khronos.org/webgl/public-mailing-list/public_webgl/1709/threads.php We should consider making this change. It would be more compatible with Emscripten use cases, for example.
,
Sep 29 2017
,
Nov 15 2017
,
Nov 15 2017
I've been working on a new proposal for WEBGL_get_buffer_sub_data_async in the WebGL WG. This issue is really to update our prototype and prove out the implementation.
,
Apr 2 2018
The WEBGL_get_buffer_sub_data_async proposal has been rejected in favor of implementation changes to allow asynchronous readback using the synchronous primitives + fences. https://www.khronos.org/webgl/public-mailing-list/public_webgl/1712/msg00009.php https://github.com/jdashg/misc/blob/master/remoted-readback.md I'm working on that implementation now. * Remove old prototype code * Make fences asynchronous (no round trip) similar to the way queries work * Maintain a shadow copy of buffers allocated with GL_*_READ usage, update it according to Jeff's proposal, use it for readbacks * WebGL CTS tests if possible (gl_tests if not) * Spec addition (may have to be non-normative)
,
Apr 2 2018
Actually I should make a new bug for this.
,
Apr 2 2018
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by kbr@chromium.org
, Sep 29 2017