Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(617)

Issue 1284603003: WebGL: optimize webgl.texSubImage2D(video) path. (Blink side) (Closed)

Created:
5 years, 4 months ago by dshwang
Modified:
5 years, 2 months ago
CC:
blink-reviews, krit, blink-reviews-html_chromium.org, drott+blinkwatch_chromium.org, Rik, mlamouri+watch-blink_chromium.org, philipj_slow, jbroman, eric.carlson_apple.com, danakj, feature-media-reviews_chromium.org, dglazkov+blink, pdr+graphicswatchlist_chromium.org, f(malita), Justin Novosad, Stephen Chennney, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

WebGL: optimize webgl.texSubImage2D(video) path. (Blink side) Currently, texSubImage2D(video) requires glReadPixels to copy video texture to target texture. This CL makes WebGL copy video texture to target texture directly. In addition, it will reduce WebGL video test flakiness significantly. TEST=video texture test on webgl_conformance ./content/test/gpu/run_gpu_test.py webgl_conformance --browser=release --story-filter=WebglConformance.conformance_textures_video_tex_image_and_sub_image_2d_with_video BUG=349871, 504773

Patch Set 1 #

Patch Set 2 : rebase to ToT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+118 lines, -35 lines) Patch
M Source/core/html/HTMLVideoElement.h View 1 chunk +4 lines, -1 line 0 comments Download
M Source/core/html/HTMLVideoElement.cpp View 1 1 chunk +15 lines, -3 lines 0 comments Download
M Source/modules/webgl/WebGLRenderingContextBase.cpp View 1 3 chunks +52 lines, -25 lines 0 comments Download
M Source/platform/graphics/ImageBuffer.h View 1 2 chunks +7 lines, -1 line 0 comments Download
M Source/platform/graphics/ImageBuffer.cpp View 1 2 chunks +26 lines, -3 lines 0 comments Download
M Source/platform/graphics/gpu/Extensions3DUtil.cpp View 1 chunk +14 lines, -2 lines 0 comments Download

Messages

Total messages: 4 (1 generated)
dshwang
kbr, could you review? This reduce WebGL video test flakiness significantly (>80%). It depends on ...
5 years, 3 months ago (2015-09-04 11:04:13 UTC) #2
Ken Russell (switch to Gerrit)
I'm sorry for taking so long to get to this. In general I've been concerned ...
5 years, 2 months ago (2015-10-01 05:06:55 UTC) #3
dshwang
5 years, 2 months ago (2015-10-21 16:06:13 UTC) #4
On 2015/10/01 05:06:55, Ken Russell wrote:
> I'm sorry for taking so long to get to this. In general I've been concerned
that
> sidestepping the existing code paths with these GPU-to-GPU blits is masking
some
> deep, underlying bug. However, it seems it may be the case that some of the
> problems are caused by attempting to do ReadPixels from a framebuffer backed
by
> a GL_TEXTURE_EXTERNAL_OES texture, which apparently is forbidden. So perhaps
> this will be the best path forward after all.
> 
> At this point Blink is merged into the Chromium workspace. Would you combine
> this with your other Chromium-side CL and re-upload it?
> 
> Thank you.

I'm sorry for taking so long to get to this too. I had long vacation and in
another project. Now let me get this job done.

I merge this into https://codereview.chromium.org/1315323006/

BTW, I don't think Android flakiness is due to ReadPixels from a framebuffer
backed by a GL_TEXTURE_EXTERNAL_OES
It's because WebMediaPlayerAndroid::paint&copyVideoTextureToPlatformTexture use
temporary GL_TEXTURE_2D texture in the case.

Close as duplicated to https://codereview.chromium.org/1315323006/

Powered by Google App Engine
This is Rietveld 408576698