The new pixel store parameters UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL need to be supported for the texImage2D and texSubImage2D entry points taking ArrayBufferView.
This bug depends on 40318.
Created attachment 59964 [details]
From the ChangeLog:
Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView. More cleanly separated the unpacking and packing phases of user-supplied pixel data in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added validation of the amount of data passed to texImage2D and texSubImage2D. Modified fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha tests for relevant source formats; added new test which exercises all combinations of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel store parameters.
Note to reviewers:
This patch is large, but the individual code changes are small and easily reviewable, and it is not possible to break it down into any smaller set of patches which are individually testable. The test cases and their boilerplate output comprise more than half of the patch. The test cases are as exhaustive as possible and caught a couple of implementation errors.
Attachment 59964 [details] did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/3268898
Created attachment 59970 [details]
Revised patch fixing build problem in Release mode on Mac
Comment on attachment 59970 [details]
r=me (pair programming FTW!), except:
+ return false;
Need to synthesize an error here.
Committed r62145: <http://trac.webkit.org/changeset/62145>
*** Bug 32619 has been marked as a duplicate of this bug. ***
*** Bug 32040 has been marked as a duplicate of this bug. ***