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

Issue 198703002: Add GL_TEXTURE_EXTERNAL_OES as supported texture target for CHROMIUM_map_image. (Closed)

Created:
6 years, 9 months ago by sohanjg
Modified:
5 years, 1 month ago
Reviewers:
piman, reveman, no sievers, boliu
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Add GL_TEXTURE_EXTERNAL_OES as supported texture target for CHROMIUM_map_image. This adds GL_TEXTURE_EXTERNAL_OES support for SharedMemory backed GLImage. We use an egl image for binding in GLImageShm, and also update GLImageEGL to use an egl image for its "release after use" fallback (required for gpu workaround) BUG=322780 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259538

Patch Set 1 #

Total comments: 8

Patch Set 2 : Save/restore GL states + nits #

Total comments: 9

Patch Set 3 : reuse resource creation code + comments #

Total comments: 5

Patch Set 4 : comments + nits #

Total comments: 7

Patch Set 5 : inlining functions + comments #

Total comments: 3

Patch Set 6 : comments + nits #

Patch Set 7 : address nvidia work-around patch in gl_image_egl for android_webview #

Total comments: 3

Patch Set 8 : nvidia workaround patch 2 #

Total comments: 3

Patch Set 9 : comments + nits #

Total comments: 3

Patch Set 10 : comments + nits #

Total comments: 1

Patch Set 11 : comments #

Total comments: 4

Patch Set 12 : creating eglimage and texture everytime during bindteximage + comments #

Total comments: 13

Patch Set 13 : comments + consitent use of eglimage create params #

Total comments: 4

Patch Set 14 : comments + nits #

Patch Set 15 : prevent texture leak + comments #

Patch Set 16 : mac build break #

Patch Set 17 : mac build issue #

Patch Set 18 : mac build break patch #

Patch Set 19 : mac build break #

Unified diffs Side-by-side diffs Delta from patch set Stats (+128 lines, -27 lines) Patch
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 1 chunk +0 lines, -4 lines 0 comments Download
M ui/gl/gl_image_egl.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gl/gl_image_egl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +47 lines, -21 lines 0 comments Download
M ui/gl/gl_image_shm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +6 lines, -0 lines 0 comments Download
M ui/gl/gl_image_shm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +73 lines, -2 lines 0 comments Download

Messages

Total messages: 54 (1 generated)
reveman
https://codereview.chromium.org/198703002/diff/1/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/1/ui/gl/gl_image_shm.cc#newcode98 ui/gl/gl_image_shm.cc:98: egl_imagekhr_ = EGL_NO_IMAGE_KHR; please initialize these in the ctor ...
6 years, 9 months ago (2014-03-13 15:52:40 UTC) #1
reveman
https://codereview.chromium.org/198703002/diff/30001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/30001/ui/gl/gl_image_shm.cc#newcode134 ui/gl/gl_image_shm.cc:134: glGenTextures(1, &external_texture_id_); Why did you make external_texture_id_ a member ...
6 years, 9 months ago (2014-03-14 14:06:21 UTC) #2
sohanjg
PTAL. Thanks https://codereview.chromium.org/198703002/diff/30001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/30001/ui/gl/gl_image_shm.cc#newcode134 ui/gl/gl_image_shm.cc:134: glGenTextures(1, &external_texture_id_); On 2014/03/14 14:06:22, reveman wrote: ...
6 years, 9 months ago (2014-03-15 10:03:52 UTC) #3
reveman
https://codereview.chromium.org/198703002/diff/30001/ui/gl/gl_image_shm.h File ui/gl/gl_image_shm.h (right): https://codereview.chromium.org/198703002/diff/30001/ui/gl/gl_image_shm.h#newcode35 ui/gl/gl_image_shm.h:35: GLuint external_texture_id_; On 2014/03/15 10:03:53, sohanjg wrote: > On ...
6 years, 9 months ago (2014-03-15 14:08:45 UTC) #4
reveman
https://codereview.chromium.org/198703002/diff/70001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/70001/ui/gl/gl_image_shm.cc#newcode9 ui/gl/gl_image_shm.cc:9: #include "ui/gl/gl_surface_egl.h" why is gl_bindings.h not enough? https://codereview.chromium.org/198703002/diff/70001/ui/gl/gl_image_shm.cc#newcode163 ui/gl/gl_image_shm.cc:163: ...
6 years, 9 months ago (2014-03-17 01:13:37 UTC) #5
sohanjg
PTAl. Thanks
6 years, 9 months ago (2014-03-18 09:33:47 UTC) #6
reveman
https://codereview.chromium.org/198703002/diff/90001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/90001/ui/gl/gl_image_shm.cc#newcode68 ui/gl/gl_image_shm.cc:68: external_texture_id_(0), nit: 0u https://codereview.chromium.org/198703002/diff/90001/ui/gl/gl_image_shm.cc#newcode103 ui/gl/gl_image_shm.cc:103: } I'd remove this ...
6 years, 9 months ago (2014-03-18 10:41:04 UTC) #7
sohanjg
PTAL. Thanks.
6 years, 9 months ago (2014-03-18 12:01:16 UTC) #8
reveman
looks good after fixing the following minor issues https://codereview.chromium.org/198703002/diff/110001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/110001/ui/gl/gl_image_shm.cc#newcode101 ui/gl/gl_image_shm.cc:101: eglDestroyImageKHR(eglGetCurrentDisplay(), ...
6 years, 9 months ago (2014-03-18 16:17:53 UTC) #9
sohanjg
PTAL. Thanks.
6 years, 9 months ago (2014-03-19 05:35:25 UTC) #10
reveman
lgtm Does it work correctly with android_webview (gl_image_egl.cc)? Does GLImageEGL::DidUseTexImage still work as intended? +piman ...
6 years, 9 months ago (2014-03-19 10:59:29 UTC) #11
boliu
I think this is ok for webview but +sievers since I'm not actually that familiar ...
6 years, 9 months ago (2014-03-19 14:01:28 UTC) #12
piman
lgtm
6 years, 9 months ago (2014-03-19 16:43:47 UTC) #13
boliu
reveman pointed out that TEXTURE_EXTERNAL_OES target does not work with the glTexImage2D call in GLImageEGL::DidUseTexImage. ...
6 years, 9 months ago (2014-03-19 16:47:19 UTC) #14
sohanjg
Have uploaded a patch to avoid glTexImage2D for nvidia work-around. If you can please check ...
6 years, 9 months ago (2014-03-19 17:25:37 UTC) #15
reveman
https://codereview.chromium.org/198703002/diff/150001/ui/gl/gl_image_egl.cc File ui/gl/gl_image_egl.cc (right): https://codereview.chromium.org/198703002/diff/150001/ui/gl/gl_image_egl.cc#newcode26 ui/gl/gl_image_egl.cc:26: native_buffer_ = buffer.native_buffer; are you sure buffer.native_buffer is a ...
6 years, 9 months ago (2014-03-19 18:17:30 UTC) #16
boliu
Having some trouble bringing up a device. I will get back to this tomorrow GMT ...
6 years, 9 months ago (2014-03-19 20:52:14 UTC) #17
boliu
Finally got a device and managed to test this. A workaround for "release after use" ...
6 years, 9 months ago (2014-03-20 10:57:29 UTC) #18
reveman
https://codereview.chromium.org/198703002/diff/170001/ui/gl/gl_image_egl.cc File ui/gl/gl_image_egl.cc (right): https://codereview.chromium.org/198703002/diff/170001/ui/gl/gl_image_egl.cc#newcode49 ui/gl/gl_image_egl.cc:49: egl_image_for_unbind_ == EGL_NO_IMAGE_KHR) This is not right. You will ...
6 years, 9 months ago (2014-03-20 13:02:04 UTC) #19
reveman
Some minor suggestions but current patch is good enough to check if it works. We ...
6 years, 9 months ago (2014-03-20 13:52:43 UTC) #20
boliu
I'll get to later today. But just a plug that it actually is possible to ...
6 years, 9 months ago (2014-03-20 14:16:05 UTC) #21
reveman
lgtm thanks
6 years, 9 months ago (2014-03-20 14:48:28 UTC) #22
boliu
One tiny fix, then good to go for nvidia. Thanks! https://codereview.chromium.org/198703002/diff/210001/ui/gl/gl_image_egl.cc File ui/gl/gl_image_egl.cc (right): https://codereview.chromium.org/198703002/diff/210001/ui/gl/gl_image_egl.cc#newcode135 ...
6 years, 9 months ago (2014-03-20 16:53:17 UTC) #23
sohanjg
Updated. PTAL. Thanks.
6 years, 9 months ago (2014-03-21 05:18:30 UTC) #24
reveman
https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc#newcode156 ui/gl/gl_image_shm.cc:156: if (!egl_image_) { should be egl_image == EGL_NO_IMAGE_KHR but ...
6 years, 9 months ago (2014-03-21 11:59:55 UTC) #25
reveman
https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc#newcode101 ui/gl/gl_image_shm.cc:101: eglDestroyImageKHR(eglGetCurrentDisplay(), egl_image_); GLSurfaceEGL::GetHardwareDisplay() instead https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc#newcode164 ui/gl/gl_image_shm.cc:164: egl_attrib_list); Also, please ...
6 years, 9 months ago (2014-03-21 13:39:47 UTC) #26
sohanjg
On 2014/03/21 13:39:47, reveman wrote: > https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc > File ui/gl/gl_image_shm.cc (right): > > https://codereview.chromium.org/198703002/diff/230001/ui/gl/gl_image_shm.cc#newcode101 > ...
6 years, 9 months ago (2014-03-22 06:30:26 UTC) #27
sohanjg
PTAL. Thanks.
6 years, 9 months ago (2014-03-22 06:52:05 UTC) #28
reveman
https://codereview.chromium.org/198703002/diff/260001/ui/gl/gl_image_egl.cc File ui/gl/gl_image_egl.cc (right): https://codereview.chromium.org/198703002/diff/260001/ui/gl/gl_image_egl.cc#newcode58 ui/gl/gl_image_egl.cc:58: eglDestroyImageKHR(eglGetCurrentDisplay(), egl_image_for_unbind_); does this need to be GLSurfaceEGL::GetHardwareDisplay()? is ...
6 years, 9 months ago (2014-03-22 12:38:56 UTC) #29
sohanjg
On 2014/03/22 12:38:56, reveman wrote: > https://codereview.chromium.org/198703002/diff/260001/ui/gl/gl_image_egl.cc > File ui/gl/gl_image_egl.cc (right): > > https://codereview.chromium.org/198703002/diff/260001/ui/gl/gl_image_egl.cc#newcode58 > ...
6 years, 9 months ago (2014-03-24 16:15:06 UTC) #30
reveman
https://codereview.chromium.org/198703002/diff/300001/ui/gl/gl_image_shm.cc File ui/gl/gl_image_shm.cc (right): https://codereview.chromium.org/198703002/diff/300001/ui/gl/gl_image_shm.cc#newcode141 ui/gl/gl_image_shm.cc:141: try adding this here: if (egl_image_ != EGL_NO_IMAGE_KHR) eglDestroyImageKHR(GLSurfaceEGL::GetHardwareDisplay(), ...
6 years, 9 months ago (2014-03-24 16:46:15 UTC) #31
reveman
lgtm, thanks!
6 years, 9 months ago (2014-03-25 13:01:56 UTC) #32
sohanjg
The CQ bit was checked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-25 13:12:38 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sohan.jyoti@samsung.com/198703002/340001
6 years, 9 months ago (2014-03-25 13:12:42 UTC) #34
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-25 13:32:17 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on mac_chromium_rel
6 years, 9 months ago (2014-03-25 13:32:18 UTC) #36
sohanjg
The CQ bit was checked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-25 16:19:45 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sohan.jyoti@samsung.com/198703002/520001
6 years, 9 months ago (2014-03-25 16:20:21 UTC) #38
sohanjg
The CQ bit was unchecked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-25 16:26:35 UTC) #39
sohanjg
The CQ bit was checked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-25 16:40:04 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sohan.jyoti@samsung.com/198703002/520001
6 years, 9 months ago (2014-03-25 16:40:41 UTC) #41
sohanjg
The CQ bit was unchecked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-25 16:41:01 UTC) #42
sohanjg
The CQ bit was checked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-25 16:48:16 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sohan.jyoti@samsung.com/198703002/520001
6 years, 9 months ago (2014-03-25 16:48:49 UTC) #44
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-25 16:53:26 UTC) #45
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on mac_chromium_compile_dbg
6 years, 9 months ago (2014-03-25 16:53:27 UTC) #46
sohanjg
The CQ bit was checked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-26 05:24:46 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sohan.jyoti@samsung.com/198703002/740001
6 years, 9 months ago (2014-03-26 05:25:06 UTC) #48
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-26 06:06:38 UTC) #49
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) app_list_unittests, ash_unittests, aura_unittests, cacheinvalidation_unittests, cc_unittests, check_deps, ...
6 years, 9 months ago (2014-03-26 06:06:38 UTC) #50
sohanjg
The CQ bit was checked by sohan.jyoti@samsung.com
6 years, 9 months ago (2014-03-26 07:16:21 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sohan.jyoti@samsung.com/198703002/740001
6 years, 9 months ago (2014-03-26 07:16:28 UTC) #52
commit-bot: I haz the power
6 years, 9 months ago (2014-03-26 09:52:04 UTC) #53
Message was sent while issue was closed.
Change committed as 259538

Powered by Google App Engine
This is Rietveld 408576698