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

Issue 2827573007: Reset TexImage2D base level to workaround Intel mac driver bug (Closed)

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

Description

Reset TexImage2D base level to workaround Intel mac driver bug. If texture's base level is not 0, update texture, level 0 will result in wrong pixel of base level image. To workaround the bug, we could reset texture base level to 0 before texImage2D and recover base level later. BUG=705865 TEST=conformance2/textures/misc/tex-base-level-bug.html TEST=conformance2/textures/misc/tex-mipmap-levels.html TEST=Service/GLES3DecoderManualInitTest.SetTextureBaseLevelBeforeTexImage2D* TEST=TextureManagerTest.SetTextureBaseLevelBeforeTexImage2D 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

Patch Set 1 : Workaround texImage2D bug on macos. #

Patch Set 2 : Workaround texImage2D bug on macos. #

Patch Set 3 : Reset texture base level to workaround bug of texImage2D on macos. #

Total comments: 9

Patch Set 4 : revise driver bug list #

Patch Set 5 : Refactor #

Total comments: 8

Patch Set 6 : Add gpu unittests #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+275 lines, -28 lines) Patch
M gpu/command_buffer/service/framebuffer_manager.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 9 chunks +84 lines, -15 lines 4 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc View 1 2 3 4 5 1 chunk +60 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 3 chunks +8 lines, -9 lines 1 comment Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 1 chunk +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 3 4 5 3 chunks +79 lines, -0 lines 0 comments Download
M gpu/config/gpu_driver_bug_list.json View 1 2 3 4 5 2 chunks +19 lines, -3 lines 0 comments Download
M gpu/config/gpu_driver_bug_workaround_type.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 81 (65 generated)
yizhou.jiang
On 2017/04/25 02:00:13, yizhou.jiang wrote: > mailto:yizhou.jiang@intel.com changed reviewers: > + mailto:yunchao.he@intel.com yunchao and qiankun, ...
3 years, 8 months ago (2017-04-25 02:02:35 UTC) #33
qiankun
In description, "Reset texImage2D base level in gles2_cmd_decoder.cc to workaround driver bug of macos." isn't ...
3 years, 8 months ago (2017-04-26 04:16:20 UTC) #34
yizhou.jiang
yunchao and qiankun, please take another look. https://codereview.chromium.org/2827573007/diff/120001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2827573007/diff/120001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode326 gpu/command_buffer/service/gles2_cmd_decoder.cc:326: // texImage2D ...
3 years, 7 months ago (2017-04-27 04:23:22 UTC) #41
yizhou.jiang
On 2017/04/27 04:23:22, yizhou.jiang wrote: > yunchao and qiankun, please take another look. > > ...
3 years, 7 months ago (2017-04-28 11:20:00 UTC) #54
Ken Russell (switch to Gerrit)
Please add some unit tests for this, for example to gles2_cmd_decoder_unittest_textures.cc and texture_manager_unittest.cc . Create ...
3 years, 7 months ago (2017-04-28 19:04:26 UTC) #57
yizhou.jiang
@Ken @Zhenyao, Sorry to reply you after so long. I was on vacation last month. ...
3 years, 6 months ago (2017-06-09 07:58:16 UTC) #70
Zhenyao Mo
This is really not a good solution. I did a grep, in gpu/command_buffer/service, there are ...
3 years, 6 months ago (2017-06-09 21:28:06 UTC) #72
Zhenyao Mo
At this point, I'd say let's get a workaround in ANGLE and forget about command ...
3 years, 6 months ago (2017-06-09 21:28:50 UTC) #73
yizhou.jiang
On 2017/06/09 21:28:50, Zhenyao Mo wrote: > At this point, I'd say let's get a ...
3 years, 6 months ago (2017-06-12 04:48:07 UTC) #74
yizhou.jiang
On 2017/06/09 21:28:50, Zhenyao Mo wrote: > At this point, I'd say let's get a ...
3 years, 6 months ago (2017-06-13 06:50:49 UTC) #75
Zhenyao Mo
On 2017/06/13 06:50:49, yizhou.jiang wrote: > On 2017/06/09 21:28:50, Zhenyao Mo wrote: > > At ...
3 years, 6 months ago (2017-06-13 17:27:32 UTC) #76
yizhou.jiang
On 2017/06/13 17:27:32, Zhenyao Mo wrote: > On 2017/06/13 06:50:49, yizhou.jiang wrote: > > On ...
3 years, 6 months ago (2017-06-14 02:51:26 UTC) #77
Zhenyao Mo
On 2017/06/14 02:51:26, yizhou.jiang wrote: > On 2017/06/13 17:27:32, Zhenyao Mo wrote: > > On ...
3 years, 6 months ago (2017-06-14 03:13:40 UTC) #78
yizhou.jiang
On 2017/06/14 03:13:40, Zhenyao Mo wrote: > On 2017/06/14 02:51:26, yizhou.jiang wrote: > > On ...
3 years, 6 months ago (2017-06-14 08:57:25 UTC) #79
Ken Russell (switch to Gerrit)
On 2017/06/14 08:57:25, yizhou.jiang wrote: > On 2017/06/14 03:13:40, Zhenyao Mo wrote: > > On ...
3 years, 6 months ago (2017-06-15 23:21:09 UTC) #80
yizhou.jiang
3 years, 6 months ago (2017-06-16 07:23:19 UTC) #81
Message was sent while issue was closed.
On 2017/06/15 23:21:09, Ken Russell wrote:
> On 2017/06/14 08:57:25, yizhou.jiang wrote:
> > On 2017/06/14 03:13:40, Zhenyao Mo wrote:
> > > On 2017/06/14 02:51:26, yizhou.jiang wrote:
> > > > On 2017/06/13 17:27:32, Zhenyao Mo wrote:
> > > > > On 2017/06/13 06:50:49, yizhou.jiang wrote:
> > > > > > On 2017/06/09 21:28:50, Zhenyao Mo wrote:
> > > > > > > At this point, I'd say let's get a workaround in ANGLE and forget
> > about
> > > > > > command
> > > > > > > buffer side.
> > > > > > 
> > > > > > @Zhenyao, I tried to modify angle code in chromium on mac, then
build
> > with
> > > > > ninja
> > > > > > -C out/Debug chrome, but the angle code isn't compiled. In addition,
> > > > Chromium
> > > > > > crashed with cmd srgs like --pass-through-cmd-decoder or
> --use-gl=angle.
> >  
> > > I
> > > > > > guess angle api translation is not supported in chromium on mac. I
> have
> > > > raised
> > > > > a
> > > > > > question in the angle project
> > > > > >
> forum(https://groups.google.com/forum/#!topic/angleproject/Tz34p471YpE).
> > > > > 
> > > > > I don't think they work on Mac yet.  If you do it on Windows or
probably
> > > > Linux,
> > > > > then they should work.
> > > > 
> > > > @Zhenyao, the bug is detected on Intel driver on Mac OS 10.12.4, we
can't
> > > > workaround it in angle now since angle isn't supported in Chromium on
Mac
> > yet.
> > > > So could you file a radar to Apple, we can help to write a radar
> description
> > > for
> > > > this issue.
> > > 
> > > Sure. We can file a radar.
> > > 
> > > Please consider working it around in ui/gl/gl_gl_api_implementation.cc.
> > 
> > Ok. I have written a radar description
> >
>
doc(https://docs.google.com/a/intel.com/document/d/1gaUHcTNcmuKCkegQrbNJTc9BZl_p2rhILbO9glee0lY/edit?usp=sharing),
> > please help to file it.
> 
> Thanks. Edited your description; please see the changes I made for future
> Radars.
> 
> Filed the revised description as Radar 32803036.

Thanks for your help!

Powered by Google App Engine
This is Rietveld 408576698