RESOLVED FIXED 41884
Implement bufferData and bufferSubData with ArrayBuffer as input
https://bugs.webkit.org/show_bug.cgi?id=41884
Summary Implement bufferData and bufferSubData with ArrayBuffer as input
Zhenyao Mo
Reported 2010-07-08 11:45:46 PDT
They are in the spec, but not implemented.
Attachments
patch (17.75 KB, patch)
2010-07-10 19:42 PDT, Zhenyao Mo
zmo: commit-queue-
revised patch (17.91 KB, patch)
2010-07-12 19:56 PDT, Zhenyao Mo
fishd: review+
zmo: commit-queue-
Zhenyao Mo
Comment 1 2010-07-10 19:42:18 PDT
Kenneth Russell
Comment 2 2010-07-12 18:26:30 PDT
Comment on attachment 61173 [details] patch The logic looks good. The test is incorrectly named -- it should be buffer-data-array-buffer.html. A few specific comments. WebCore/html/canvas/WebGLBuffer.cpp:104 + } While reviewing this, I realized there's a preexisting bug in associateBufferData(ArrayBufferView*). Let's commit this change and fix the other bug under https://bugs.webkit.org/show_bug.cgi?id=42124 , and refactor this code under the other bug. WebCore/html/canvas/WebGLBuffer.cpp:167 + Let's refactor this code under https://bugs.webkit.org/show_bug.cgi?id=42124 . WebCore/html/canvas/WebGLRenderingContext.cpp:391 + } While reviewing this I realized there's a preexisting bug in bufferData and bufferSubData taking ArrayBufferView. Let's check this code in as is to maintain parity between the implementations, and fix both under https://bugs.webkit.org/show_bug.cgi?id=42125 . LayoutTests/fast/canvas/webgl/buffer-data-array-view.html:12 + description("Test bufferData/bufferSubData with ArrayView input"); ArrayView -> ArrayBuffer
Zhenyao Mo
Comment 3 2010-07-12 19:56:13 PDT
Created attachment 61315 [details] revised patch Changed the test name. Also, add usage enum check (since the patch for checking this in other bufferData() entries has already landed).
Kenneth Russell
Comment 4 2010-07-13 10:23:12 PDT
Comment on attachment 61315 [details] revised patch Looks good to me. One additional comment. WebCore/html/canvas/WebGLRenderingContext.cpp:379 + if (!validateBufferDataUsage(usage)) This needs to be done in all cases. It's inappropriate to do the associateBufferData call if the later bufferData call will fail because of an INVALID_ENUM error. This fix can be done in a subsequent bug for this entry point as well as the one taking ArrayBufferView*.
Zhenyao Mo
Comment 5 2010-07-13 10:56:30 PDT
Note You need to log in before you can comment on or make changes to this bug.