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

Issue 1963683002: Fix unpacking overlapping unpack buffer rows on NVIDIA GL (Closed)

Created:
4 years, 7 months ago by oetuaho-nv
Modified:
4 years, 7 months ago
CC:
chromium-reviews, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix unpacking overlapping unpack buffer rows on NVIDIA GL When unpack parameters are set so that the rows being read overlap in the unpack buffer stored in GPU memory, NVIDIA GL driver may not upload the last pixels of the last one or more rows of a texture. The driver may also crash when the amount of overlap is high. This issue affects both TexImage* and TexSubImage* calls. Work around the issue by uploading textures row by row when the rows being read overlap in the unpack buffer. The workaround could possibly be optimized by uploading several of the first rows with a single call in some cases where the amount of overlap is low, but this is expected to be a rarely used corner case, so the added complexity that the optimization would create seems like a bad tradeoff. The issue does not seem to be triggered when the layers (images) of a 3D texture overlap, as long as rows inside the images don't. BUG=596774 TEST=WebGL 2 conformance tests conformance2/textures/misc/tex-unpack-params.html CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/0a55756ea0c674213d6d137d26f5998a89c300ee Cr-Commit-Position: refs/heads/master@{#392581}

Patch Set 1 #

Total comments: 3

Patch Set 2 : Slight refactoring and change Linux expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+155 lines, -13 lines) Patch
M content/test/gpu/gpu_tests/webgl2_conformance_expectations.py View 1 1 chunk +0 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 3 chunks +19 lines, -1 line 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 4 chunks +120 lines, -9 lines 0 comments Download
M gpu/config/gpu_driver_bug_list_json.cc View 2 chunks +10 lines, -1 line 0 comments Download
M gpu/config/gpu_driver_bug_workaround_type.h View 3 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (7 generated)
oetuaho-nv
Can you take a quick look? This workaround should be pretty solid in terms of ...
4 years, 7 months ago (2016-05-09 14:22:30 UTC) #3
Ken Russell (switch to Gerrit)
On 2016/05/09 14:22:30, oetuaho-nv wrote: > Can you take a quick look? This workaround should ...
4 years, 7 months ago (2016-05-09 18:33:42 UTC) #4
Ken Russell (switch to Gerrit)
This lgtm overall but I am not an owner; Mo should review. https://codereview.chromium.org/1963683002/diff/1/gpu/config/gpu_driver_bug_list_json.cc File gpu/config/gpu_driver_bug_list_json.cc ...
4 years, 7 months ago (2016-05-09 18:34:09 UTC) #5
Zhenyao Mo
Thanks for working on this. LGTM Could you please also enable the conformance test together ...
4 years, 7 months ago (2016-05-09 19:57:17 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963683002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963683002/20001
4 years, 7 months ago (2016-05-10 08:30:34 UTC) #8
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-10 10:59:27 UTC) #10
oetuaho-nv
Enabled the test on Linux, looks like on some other platforms it still needs to ...
4 years, 7 months ago (2016-05-10 11:32:51 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963683002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963683002/20001
4 years, 7 months ago (2016-05-10 11:33:12 UTC) #14
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-05-10 11:36:54 UTC) #15
commit-bot: I haz the power
4 years, 7 months ago (2016-05-10 11:38:18 UTC) #17
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/0a55756ea0c674213d6d137d26f5998a89c300ee
Cr-Commit-Position: refs/heads/master@{#392581}

Powered by Google App Engine
This is Rietveld 408576698