RESOLVED FIXED 52068
Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
https://bugs.webkit.org/show_bug.cgi?id=52068
Summary Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
Zhenyao Mo
Reported 2011-01-07 10:05:57 PST
Need to UNPACK_ALIGNMENT to 1 before calling texImage2D, then restore the original value.
Attachments
Patch (1.79 KB, patch)
2011-01-07 11:06 PST, Zhenyao Mo
no flags
Patch (32.54 KB, patch)
2011-01-10 13:30 PST, Zhenyao Mo
no flags
Patch (33.85 KB, patch)
2011-01-11 10:54 PST, Zhenyao Mo
kbr: review+
Zhenyao Mo
Comment 1 2011-01-07 11:06:41 PST
Kenneth Russell
Comment 2 2011-01-07 11:57:41 PST
Comment on attachment 78250 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=78250&action=review > WebCore/platform/graphics/GraphicsContext3D.cpp:138 > + getIntegerv(GraphicsContext3D::UNPACK_ALIGNMENT, &unpackAlignment); This query will kill performance of texture uploads. Instead, change the function signature and all callers to pass in the current unpack alignment, or track the unpack alignment in the GraphicsContext3D implementation.
Zhenyao Mo
Comment 3 2011-01-10 13:30:56 PST
Created attachment 78443 [details] Patch refactor the code, adding a new function computeImageSizeInBytes and use it whenever we can
Kenneth Russell
Comment 4 2011-01-10 15:35:57 PST
Comment on attachment 78443 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=78443&action=review The code changes look good; however, there's a bug in the test case pulled down from Khronos that needs to be fixed. > LayoutTests/fast/canvas/webgl/read-pixels-test-expected.txt:1 > +CONSOLE MESSAGE: line 114: ReferenceError: Can't find variable: INVALID_OPERATION There's a bug in the test case; the initialization of the various bad tests isn't picking up the enum values through the WebGLRenderingContext object. An exception is being thrown, and the test isn't completing successfully.
Zhenyao Mo
Comment 5 2011-01-11 10:54:16 PST
Zhenyao Mo
Comment 6 2011-01-11 10:57:52 PST
(In reply to comment #5) > Created an attachment (id=78551) [details] > Patch I fixed the test on the khronos side. This patch is in sync with khronos. Sorry Adrienne, I copied finishTest() to webgl-test.html for this patch. It might add to the mess you try to clean up.
Adrienne Walker
Comment 7 2011-01-11 11:01:25 PST
(In reply to comment #6) > (In reply to comment #5) > > Created an attachment (id=78551) [details] [details] > > Patch > > I fixed the test on the khronos side. This patch is in sync with khronos. > > Sorry Adrienne, I copied finishTest() to webgl-test.html for this patch. It might add to the mess you try to clean up. Thanks for the heads up. I needed that function for the video test too, which is why I originally started looking into the script cleanup. It's a good short term solution; we can clean it up with the other changes later.
Kenneth Russell
Comment 8 2011-01-11 11:28:18 PST
Comment on attachment 78551 [details] Patch Looks good. Nice work.
Zhenyao Mo
Comment 9 2011-01-11 11:49:52 PST
WebKit Review Bot
Comment 10 2011-01-11 12:33:15 PST
http://trac.webkit.org/changeset/75524 might have broken SnowLeopard Intel Release (Tests) The following tests are not passing: fast/canvas/webgl/read-pixels-test.html
Note You need to log in before you can comment on or make changes to this bug.