GL_ANGLE_texture_usage (http://angleproject.googlecode.com/svn/trunk/extensions/ANGLE_texture_usage.txt) By calling glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE) on textures used by RenderSurfaces, ANGLE can eliminate the allocation of a system memory buffer for the texture. GL_EXT_texture_storage (http://angleproject.googlecode.com/svn/trunk/extensions/EXT_texture_storage.txt) By switching texture allocation in the compositor to using glTexStorage2DEXT instead of glTexImage2D we can eliminate the unnecessary allocation of additional mip levels for each texture. The two extensions are exposed to the command buffer via: http://codereview.chromium.org/8772033/ which must land first in the chromium tree.
Created attachment 117568 [details] Patch
Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.
Comment on attachment 117568 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=117568&action=review > Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h:385 > + virtual void texStorage2DEXT(WGC3Denum target, WGC3Dint levels, WGC3Duint internalformat, I defer to kbr@ for review of WebGC3D, but I see no issues with this change ;-)
Comment on attachment 117568 [details] Patch Attachment 117568 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/10703308
Ken, James: ping?
What's the compile failure on the cr-linux bot? I saw that and assumed it'd be addressed somehow so I haven't looked at the actual patch yet.
Comment on attachment 117568 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=117568&action=review Looks good overall. One minor issue that will fix the build failure. Please upload a revised patch and we can r+/cq+ it. > Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h:386 > + WGC3Dint width, WGC3Dint height) = 0; Give this an empty body like the method above. That will fix the cr-linux build failure. I gather from fishd@ that this is OK to leave in essentially permanently.
Created attachment 117910 [details] Patch
(In reply to comment #8) > Created an attachment (id=117910) [details] > Patch Fixed compile issue as per Ken's suggestion. James, would you mind taking a look at the compositor change? Thanks.
Comment on attachment 117910 [details] Patch Compositor changes LGTM
Comment on attachment 117910 [details] Patch Looks fine; let this clear the cr-linux EWS bot before committing. r=me
Comment on attachment 117910 [details] Patch Attachment 117910 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/10729807 New failing tests: svg/custom/linking-uri-01-b.svg
Committed r102055: <http://trac.webkit.org/changeset/102055>