Chromium Code Reviews
DescriptionFix 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 #
Messages
Total messages: 17 (7 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||