Fix black screen when presenting on some WebVR pages on Windows
The issue here was that glBlitFramebufferANGLE fails when the color formats of the source and destination image aren't compatible. The color format for pBufferSurfaces wrapping dxgi textures has changed to report the underlying dxgi format instead of the egl config used to create the surface, so we were sometimes failing to copy the WebGL contents onto our cross-process-sharing texture. The fix is to use CopySubTextureCHROMIUM instead of blitting framebuffers. This API won't create new destination textures, and will convert formats for us. It also has the benefit of handling flipping y-direction for us, so we could avoid a copy. BUG=804628 Change-Id: Ibc55dd092bacbdd1f751adb0b6a854f58e64e22b Reviewed-on: https://chromium-review.googlesource.com/892091Reviewed-by:Klaus Weidner <klausw@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Commit-Queue: Bill Orr <billorr@chromium.org> Cr-Commit-Position: refs/heads/master@{#533224}
Showing
Please register or sign in to comment