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

Issue 11428140: gpu: Add async pixel transfer interface, stub and tests. (Closed)

Created:
8 years ago by epenner
Modified:
8 years ago
CC:
chromium-reviews, apatrick_chromium
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

gpu: Add async pixel transfers. This adds a generic async pixel transfer interface, a stub/fallback implementation and mocks/tests. NOTRY=true BUG=161337 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=173430

Patch Set 1 #

Total comments: 46

Patch Set 2 : Address feedback. Added asyncTexImage. #

Total comments: 21

Patch Set 3 : Added memory dup/mmap #

Total comments: 53

Patch Set 4 : Rebase. Fix lint. #

Total comments: 44

Patch Set 5 : Address feedback (still looking into FBO/float error feedback) #

Patch Set 6 : Address remaining feedback (FBO and float types) #

Patch Set 7 : Split stub into .h/.cc. Minor other changes. Rebase. #

Patch Set 8 : Fix build. #

Patch Set 9 : Fix Asan bot. #

Total comments: 1

Patch Set 10 : Address feedback. Rebase. #

Patch Set 11 : Fix bots. #

Total comments: 16

Patch Set 12 : Address new feedback. #

Patch Set 13 : Move BindFinishedTransfers to MakeCurrent. Rebase again. #

Total comments: 8

Patch Set 14 : Address Feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+924 lines, -70 lines) Patch
A gpu/command_buffer/service/async_pixel_transfer_delegate_mock.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +53 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/async_pixel_transfer_delegate_mock.cc View 1 2 3 1 chunk +22 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/common_decoder.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/common_decoder.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.h View 1 2 3 2 chunks +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 17 chunks +255 lines, -64 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +137 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/query_manager.cc View 1 2 3 4 chunks +24 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +36 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +48 lines, -0 lines 0 comments Download
M gpu/gpu.gyp View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
A ui/gl/async_pixel_transfer_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +117 lines, -0 lines 0 comments Download
A ui/gl/async_pixel_transfer_delegate_stub.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +59 lines, -0 lines 0 comments Download
A ui/gl/async_pixel_transfer_delegate_stub.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +135 lines, -0 lines 0 comments Download
M ui/gl/generate_bindings.py View 1 2 3 4 5 6 1 chunk +13 lines, -0 lines 0 comments Download
M ui/gl/gl.gyp View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings.h View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 39 (0 generated)
epenner
PTAL. I'm android sheriff so it's a good time to collect feedback. It's working great ...
8 years ago (2012-12-03 17:20:37 UTC) #1
apatrick
I mixture of hopefully valuable feedback and annoying nits. I know it's a work in ...
8 years ago (2012-12-03 21:23:59 UTC) #2
epennerAtGoogle
Thanks! I'll fix the nits along with the next patch. https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9418 ...
8 years ago (2012-12-03 22:48:44 UTC) #3
epennerAtGoogle
https://codereview.chromium.org/11428140/diff/1/ui/gl/async_pixel_transfer_delegate_android.cc File ui/gl/async_pixel_transfer_delegate_android.cc (right): https://codereview.chromium.org/11428140/diff/1/ui/gl/async_pixel_transfer_delegate_android.cc#newcode227 ui/gl/async_pixel_transfer_delegate_android.cc:227: thread_surface_ = new gfx::PbufferGLSurfaceEGL(software, gfx::Size(1,1)); On 2012/12/03 21:23:59, apatrick ...
8 years ago (2012-12-04 00:47:14 UTC) #4
apatrick
Maybe I'm out-of-date. I'll check it tomorrow.
8 years ago (2012-12-04 01:35:38 UTC) #5
epennerAtGoogle
ptal. Addressed feedback thus far and added asyncTexImage2D. I think pending a solution to the ...
8 years ago (2012-12-04 19:56:47 UTC) #6
apatrick_chromium
More annoying nits for you. I think it might be worthwhile seeing what the performance ...
8 years ago (2012-12-04 20:59:22 UTC) #7
greggman
https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9405 gpu/command_buffer/service/gles2_cmd_decoder.cc:9405: SetGLErrorInvalidEnum("glTexSubImage2D", type, "type"); s/glTexSubImage2D/glAsyncTexSubImage2DCHROMIUM/ here and a bunch of ...
8 years ago (2012-12-05 02:23:42 UTC) #8
epenner
https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9436 gpu/command_buffer/service/gles2_cmd_decoder.cc:9436: gfx::AsyncPixelTransferDelegate::Get()->AsyncTexSubImage2D( On 2012/12/05 02:23:42, greggman wrote: > I thought ...
8 years ago (2012-12-05 04:01:54 UTC) #9
greggman
On 2012/12/05 04:01:54, epenner wrote: > https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc > File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): > > https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9436 > ...
8 years ago (2012-12-05 05:19:20 UTC) #10
epennerAtGoogle
On 2012/12/05 05:19:20, greggman wrote: > On 2012/12/05 04:01:54, epenner wrote: > > > https://codereview.chromium.org/11428140/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc ...
8 years ago (2012-12-05 22:43:00 UTC) #11
epennerAtGoogle
Possibly ptal. I didn't address the decoder stuff but I added the shared memory pieces. ...
8 years ago (2012-12-06 06:23:21 UTC) #12
greggman
I guess you mentioned you hadn't done the decoder changes but just in case. Looking ...
8 years ago (2012-12-06 06:52:00 UTC) #13
greggman
I clicked the lint buttons on the right. Examples: Some others https://codereview.chromium.org/lint_patch/issue11428140_17001_15008 https://codereview.chromium.org/lint_patch/issue11428140_17001_15006 https://codereview.chromium.org/lint_patch/issue11428140_17001_15007
8 years ago (2012-12-06 06:56:25 UTC) #14
greggman
https://codereview.chromium.org/11428140/diff/17001/ui/gl/async_pixel_transfer_delegate_android.cc File ui/gl/async_pixel_transfer_delegate_android.cc (right): https://codereview.chromium.org/11428140/diff/17001/ui/gl/async_pixel_transfer_delegate_android.cc#newcode434 ui/gl/async_pixel_transfer_delegate_android.cc:434: // EGLSyncKHR fence = eglCreateSyncKHR(display, EGL_SYNC_FENCE_KHR, NULL); btw: If ...
8 years ago (2012-12-06 11:22:20 UTC) #15
reveman
https://chromiumcodereview.appspot.com/11428140/diff/17001/ui/gl/async_pixel_transfer_delegate.h File ui/gl/async_pixel_transfer_delegate.h (right): https://chromiumcodereview.appspot.com/11428140/diff/17001/ui/gl/async_pixel_transfer_delegate.h#newcode25 ui/gl/async_pixel_transfer_delegate.h:25: virtual ~AsyncPixelTransferState() {}; nit: destructor of ref counted class ...
8 years ago (2012-12-06 16:01:39 UTC) #16
epenner
Extra notes: I added a stub implementation and initially the stub is enabled for all ...
8 years ago (2012-12-08 03:15:03 UTC) #17
epenner
ptal. This removes the singleton and adds unit tests. The android EGLImage implementation will land ...
8 years ago (2012-12-12 00:29:09 UTC) #18
greggman
https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9704 gpu/command_buffer/service/gles2_cmd_decoder.cc:9704: if (0 != level) { style: the chromium style ...
8 years ago (2012-12-12 03:51:36 UTC) #19
epennerAtGoogle
https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9704 gpu/command_buffer/service/gles2_cmd_decoder.cc:9704: if (0 != level) { On 2012/12/12 03:51:36, greggman ...
8 years ago (2012-12-12 04:49:49 UTC) #20
epennerAtGoogle
Thanks for all the feedback! And apologies on my sloppy Google style (got used to ...
8 years ago (2012-12-12 05:17:00 UTC) #21
epennerAtGoogle
https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9800 gpu/command_buffer/service/gles2_cmd_decoder.cc:9800: texture_manager()->SetLevelInfo( On 2012/12/12 04:49:49, epennerAtGoogle wrote: > On 2012/12/12 ...
8 years ago (2012-12-12 05:53:33 UTC) #22
greggman
https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/43002/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9800 gpu/command_buffer/service/gles2_cmd_decoder.cc:9800: texture_manager()->SetLevelInfo( On 2012/12/12 05:53:33, epennerAtGoogle wrote: > On 2012/12/12 ...
8 years ago (2012-12-12 06:58:18 UTC) #23
epennerAtGoogle
Addressed the remaining feedback. Ptal.
8 years ago (2012-12-12 21:32:37 UTC) #24
epenner
On 2012/12/12 21:32:37, epennerAtGoogle wrote: > Addressed the remaining feedback. Ptal. Rebased. Ptal.
8 years ago (2012-12-13 03:08:03 UTC) #25
greggman
https://chromiumcodereview.appspot.com/11428140/diff/38010/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://chromiumcodereview.appspot.com/11428140/diff/38010/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9809 gpu/command_buffer/service/gles2_cmd_decoder.cc:9809: if (info->IsAttachedToFramebuffer()) { Just to document our conversation This ...
8 years ago (2012-12-13 06:29:21 UTC) #26
greggman
Grrr! i just remembered another issue. Maybe your idea of posting the tasks to the ...
8 years ago (2012-12-13 07:50:54 UTC) #27
epennerAtGoogle
On 2012/12/13 07:50:54, greggman wrote: > Grrr! i just remembered another issue. Maybe your idea ...
8 years ago (2012-12-13 17:09:43 UTC) #28
epenner
> I thought about this last night and I think I have a nice solution ...
8 years ago (2012-12-14 00:58:37 UTC) #29
greggman
https://codereview.chromium.org/11428140/diff/58015/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/58015/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode2756 gpu/command_buffer/service/gles2_cmd_decoder.cc:2756: // TODO(epenner): Is there a better place to do ...
8 years ago (2012-12-14 06:08:06 UTC) #30
nduca
Guys how do we make progress on this? 18 patchsets is very scary, and this ...
8 years ago (2012-12-14 20:09:38 UTC) #31
epenner
The only remaining issue is when to do the BindFinished call. I've left it where ...
8 years ago (2012-12-14 21:01:34 UTC) #32
epenner
On 2012/12/14 21:01:34, epenner wrote: > The only remaining issue is when to do the ...
8 years ago (2012-12-15 00:14:55 UTC) #33
greggman
just a few issues then lgtm https://codereview.chromium.org/11428140/diff/57005/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/57005/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode7975 gpu/command_buffer/service/gles2_cmd_decoder.cc:7975: } Don't you ...
8 years ago (2012-12-15 06:45:04 UTC) #34
epenner
https://codereview.chromium.org/11428140/diff/57005/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11428140/diff/57005/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode7975 gpu/command_buffer/service/gles2_cmd_decoder.cc:7975: } On 2012/12/15 06:45:04, greggman wrote: > Don't you ...
8 years ago (2012-12-17 06:29:18 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/11428140/63001
8 years ago (2012-12-17 06:30:21 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/11428140/65028
8 years ago (2012-12-17 08:14:20 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/epenner@chromium.org/11428140/65028
8 years ago (2012-12-17 09:01:26 UTC) #38
commit-bot: I haz the power
8 years ago (2012-12-17 09:02:00 UTC) #39
Message was sent while issue was closed.
Change committed as 173430

Powered by Google App Engine
This is Rietveld 408576698