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

Issue 499283002: gpu: support immutable texture on Linux Mesa driver and GLES3. (Closed)

Created:
6 years, 4 months ago by dshwang
Modified:
6 years, 3 months ago
Reviewers:
danakj, jamesr, piman, bsalomon, spang
CC:
chromium-reviews, darin-cc_chromium.org, cc-bugs_chromium.org, jam, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

gpu: support immutable texture on Linux Mesa driver and GLES3. Mesa GL driver supports GL_ARB_texture_storage extensions, not GL_EXT_texture_storage. GLES3 supports glTexStroage2D by default. GLES3 doesn't support BGRA format for immutable texture without GL_APPLE_texture_format_bgra8888 extension. We prefer BGRA support to immutable texture support, so GLES3 enables immutable texture only if it supports GL_APPLE_texture_format_bgra8888. In addition, currently the compositor blindly uses BGRA on glTexStorage2D. It can cause a potential bug so this CL checks BGRA format support to use BGRA on glTexStorage2D. This CL makes Intel GPU (e.g. Intel Chromebook) and GLES3 devices with GL_APPLE_texture_format_bgra8888 extension take advantage of immutable texture. BUG=407034 Committed: https://crrev.com/42485ac75b825f1eb30132fa5341985ade5b1eb5 Cr-Commit-Position: refs/heads/master@{#292175}

Patch Set 1 #

Patch Set 2 : Remove is_es3 and APPLE_texture_format_BGRA8888 allows BGRA8_EXT in ES3 #

Total comments: 3

Patch Set 3 : Prevent GLES unless GL_APPLE_texture_format_BGRA8888 #

Total comments: 1

Patch Set 4 : CompleteHandlingOfGLESandBGRA. Apply CC #

Unified diffs Side-by-side diffs Delta from patch set Stats (+288 lines, -24 lines) Patch
M cc/resources/resource_provider.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M cc/resources/resource_provider.cc View 1 2 3 4 chunks +7 lines, -3 lines 0 comments Download
M cc/resources/resource_provider_unittest.cc View 1 2 3 1 chunk +74 lines, -18 lines 0 comments Download
M cc/test/test_web_graphics_context_3d.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/feature_info.cc View 1 2 3 2 chunks +15 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/feature_info_unittest.cc View 1 2 3 1 chunk +181 lines, -0 lines 0 comments Download
M ui/gl/generate_bindings.py View 1 2 1 chunk +7 lines, -1 line 0 comments Download

Messages

Total messages: 19 (0 generated)
dshwang
Hi I'm try to enable immutable texture again. https://codereview.chromium.org/471603003/ caused black rect on link_freon because ...
6 years, 4 months ago (2014-08-25 10:00:27 UTC) #1
jamesr
The command buffer interface that the compositor uses is GLES2, not 3. It sounds like ...
6 years, 4 months ago (2014-08-25 17:23:13 UTC) #2
dshwang
On 2014/08/25 17:23:13, jamesr wrote: > The command buffer interface that the compositor uses is ...
6 years, 4 months ago (2014-08-25 18:07:27 UTC) #3
piman
On 2014/08/25 18:07:27, dshwang wrote: > On 2014/08/25 17:23:13, jamesr wrote: > > The command ...
6 years, 4 months ago (2014-08-25 22:58:31 UTC) #4
dshwang
Now only APPLE_texture_format_BGRA8888 extension allows BGRA8_EXT in ES3's glTexStorage2D as piman mentioned in https://code.google.com/p/chromium/issues/detail?id=407034#c5 So ...
6 years, 3 months ago (2014-08-26 15:17:41 UTC) #5
dshwang
Patchset #2 (id:20001) has been deleted
6 years, 3 months ago (2014-08-26 15:45:17 UTC) #6
piman
https://codereview.chromium.org/499283002/diff/40001/gpu/command_buffer/service/feature_info.cc File gpu/command_buffer/service/feature_info.cc (right): https://codereview.chromium.org/499283002/diff/40001/gpu/command_buffer/service/feature_info.cc#newcode698 gpu/command_buffer/service/feature_info.cc:698: enable_immutable_texture_format_bgra &= is_es3; nit: modifying this variable is hard ...
6 years, 3 months ago (2014-08-26 19:06:29 UTC) #7
dshwang
https://codereview.chromium.org/499283002/diff/40001/gpu/command_buffer/service/feature_info.cc File gpu/command_buffer/service/feature_info.cc (right): https://codereview.chromium.org/499283002/diff/40001/gpu/command_buffer/service/feature_info.cc#newcode700 gpu/command_buffer/service/feature_info.cc:700: extensions.Contains("GL_ARB_texture_storage") || On 2014/08/26 19:06:29, piman (OOO) wrote: > ...
6 years, 3 months ago (2014-08-26 19:24:04 UTC) #8
dshwang
Now GLES isn't allowed if GL_APPLE_texture_format_BGRA8888 is not supported. WDYT?
6 years, 3 months ago (2014-08-26 19:48:47 UTC) #9
piman
https://codereview.chromium.org/499283002/diff/60001/gpu/command_buffer/service/feature_info_unittest.cc File gpu/command_buffer/service/feature_info_unittest.cc (right): https://codereview.chromium.org/499283002/diff/60001/gpu/command_buffer/service/feature_info_unittest.cc#newcode438 gpu/command_buffer/service/feature_info_unittest.cc:438: EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_texture_storage"))); That seems wrong. If we have GL_EXT_texture_storage ...
6 years, 3 months ago (2014-08-26 20:54:31 UTC) #10
dshwang
On 2014/08/26 20:54:31, piman (OOO) wrote: > https://codereview.chromium.org/499283002/diff/60001/gpu/command_buffer/service/feature_info_unittest.cc > File gpu/command_buffer/service/feature_info_unittest.cc (right): > > https://codereview.chromium.org/499283002/diff/60001/gpu/command_buffer/service/feature_info_unittest.cc#newcode438 ...
6 years, 3 months ago (2014-08-26 21:01:44 UTC) #11
piman
On Tue, Aug 26, 2014 at 2:01 PM, <dongseong.hwang@intel.com> wrote: > On 2014/08/26 20:54:31, piman ...
6 years, 3 months ago (2014-08-26 23:32:57 UTC) #12
dshwang
I apply your awesome table to feature_info. And I prevent compositor from using glTexStorage2D with ...
6 years, 3 months ago (2014-08-27 13:18:04 UTC) #13
piman
LGTM! Thanks for working through this.
6 years, 3 months ago (2014-08-27 16:35:13 UTC) #14
dshwang
On 2014/08/27 16:35:13, piman (OOO) wrote: > LGTM! Thanks for working through this. Thank you ...
6 years, 3 months ago (2014-08-27 16:37:46 UTC) #15
dshwang
The CQ bit was checked by dongseong.hwang@intel.com
6 years, 3 months ago (2014-08-27 16:37:50 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dongseong.hwang@intel.com/499283002/80001
6 years, 3 months ago (2014-08-27 16:38:29 UTC) #17
commit-bot: I haz the power
Committed patchset #4 (id:80001) as 65c832d73cb2270044960948d0b7a2231bc4f5cf
6 years, 3 months ago (2014-08-27 17:18:35 UTC) #18
commit-bot: I haz the power
6 years, 3 months ago (2014-09-10 02:52:28 UTC) #19
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/42485ac75b825f1eb30132fa5341985ade5b1eb5
Cr-Commit-Position: refs/heads/master@{#292175}

Powered by Google App Engine
This is Rietveld 408576698