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

Issue 2760843002: Add readback path for CopyTextureCHROMIUM (Closed)

Created:
3 years, 9 months ago by qiankun
Modified:
3 years, 8 months ago
CC:
chromium-reviews, piman+watch_chromium.org, Yang Gu
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Add readback path for CopyTextureCHROMIUM There are some liminations or driver bugs which cause GPU-GPU copy unavailable in CopyTextureCHROMIUM. For such cases, we do a readback fallback, i.e. draw the source texture to an intermediate texture in RGBA format, read back pixels of the intermediate texture to a pbo, then upload pixels to destination texture with TexImage api. With this approach, the caller of glCopyTextureCHROMIUM doesn't need to care about the liminations and bugs mentioned above. BUG=612542 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2760843002 Cr-Commit-Position: refs/heads/master@{#460994} Committed: https://chromium.googlesource.com/chromium/src/+/986a2209658887e85eeb3e00c933db92383bef73

Patch Set 1 #

Total comments: 9

Patch Set 2 : rebase only #

Patch Set 3 : use pack/unpack buffer #

Total comments: 16

Patch Set 4 : fix comments#20 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+259 lines, -46 lines) Patch
M gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h View 2 chunks +6 lines, -7 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc View 1 2 3 5 chunks +223 lines, -13 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 2 chunks +30 lines, -2 lines 0 comments Download
M gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc View 4 chunks +0 lines, -24 lines 0 comments Download

Messages

Total messages: 32 (19 generated)
qiankun
PTAL. With this patch, we can enable CopyTextureCHROMIUM in blink without a log of webgl ...
3 years, 9 months ago (2017-03-20 09:54:23 UTC) #5
Zhenyao Mo
Thanks for keeping pushing forward. Very good work! A few suggestions for you to consider. ...
3 years, 9 months ago (2017-03-20 17:05:40 UTC) #8
qiankun
https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc File gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc (right): https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc#newcode667 gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc:667: glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, buf.get()); On 2017/03/20 ...
3 years, 9 months ago (2017-03-21 08:47:13 UTC) #9
Zhenyao Mo
On 2017/03/21 08:47:13, qiankun wrote: > https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc > File gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc (right): > > https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc#newcode667 > ...
3 years, 9 months ago (2017-03-21 21:00:19 UTC) #10
qiankun
https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode16569 gpu/command_buffer/service/gles2_cmd_decoder.cc:16569: // resolved. On 2017/03/21 08:47:13, qiankun wrote: > On ...
3 years, 9 months ago (2017-03-22 02:52:30 UTC) #11
Zhenyao Mo
On 2017/03/22 02:52:30, qiankun wrote: > https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc > File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): > > https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode16569 > ...
3 years, 9 months ago (2017-03-22 16:18:26 UTC) #12
qiankun
https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc File gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc (right): https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc#newcode667 gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc:667: glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, buf.get()); On 2017/03/21 ...
3 years, 8 months ago (2017-03-29 09:00:10 UTC) #15
Zhenyao Mo
Great work Qiankun! The perf data looks really awesome. A few minor issues, then we ...
3 years, 8 months ago (2017-03-29 17:29:35 UTC) #20
Zhenyao Mo
On 2017/03/29 09:00:10, qiankun wrote: > https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc > File gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc (right): > > https://codereview.chromium.org/2760843002/diff/1/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc#newcode667 > ...
3 years, 8 months ago (2017-03-29 17:31:42 UTC) #21
qiankun
Please review again. Thanks. https://codereview.chromium.org/2760843002/diff/60001/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc File gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc (right): https://codereview.chromium.org/2760843002/diff/60001/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc#newcode681 gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc:681: // pixel unpack buffer with ...
3 years, 8 months ago (2017-03-30 07:56:07 UTC) #26
Zhenyao Mo
lgtm https://codereview.chromium.org/2760843002/diff/60001/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc File gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc (right): https://codereview.chromium.org/2760843002/diff/60001/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc#newcode704 gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc:704: GL_MAP_WRITE_BIT); On 2017/03/30 07:56:07, qiankun wrote: > On ...
3 years, 8 months ago (2017-03-30 17:08:02 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2760843002/80001
3 years, 8 months ago (2017-03-31 01:56:31 UTC) #29
commit-bot: I haz the power
3 years, 8 months ago (2017-03-31 02:07:38 UTC) #32
Message was sent while issue was closed.
Committed patchset #4 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/986a2209658887e85eeb3e00c933...

Powered by Google App Engine
This is Rietveld 408576698