Changeset 284835 in webkit
- Timestamp:
- Oct 25, 2021, 2:51:13 PM (5 years ago)
- Location:
- branches/safari-612-branch/Source/ThirdParty/ANGLE
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
src/libANGLE/renderer/metal/VertexArrayMtl.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-612-branch/Source/ThirdParty/ANGLE/ChangeLog
r284826 r284835 1 2021-10-25 Null <null@apple.com> 2 3 Cherry-pick r284125. rdar://problem/84630015 4 5 Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands 6 https://bugs.webkit.org/show_bug.cgi?id=231626 7 <rdar:/problem/84167241> 8 9 Primitive restart draw commands were being encoded 10 incorrectly. Single element ranges were being disregarded, 11 and a maximum draw size was not being enforced when the 12 index buffer was aliased / reused. 13 14 Cherry-pick from upstream anglebug.com/6535 15 16 Reviewed by Kenneth Russell. 17 18 * src/libANGLE/renderer/metal/VertexArrayMtl.mm: 19 (rx::VertexArrayMtl::getDrawIndices): 20 21 22 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284125 268f45cc-cd09-0410-ab3c-d52691b4dbfc 23 24 2021-10-13 Kyle Piddington <kpiddington@apple.com> 25 26 Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands 27 https://bugs.webkit.org/show_bug.cgi?id=231626 28 <rdar:/problem/84167241> 29 30 Primitive restart draw commands were being encoded 31 incorrectly. Single element ranges were being disregarded, 32 and a maximum draw size was not being enforced when the 33 index buffer was aliased / reused. 34 35 Cherry-pick from upstream anglebug.com/6535 36 37 Reviewed by Kenneth Russell. 38 39 * src/libANGLE/renderer/metal/VertexArrayMtl.mm: 40 (rx::VertexArrayMtl::getDrawIndices): 41 1 42 2021-10-25 Null <null@apple.com> 2 43 -
branches/safari-612-branch/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/VertexArrayMtl.mm
r279372 r284835 788 788 if (range.restartBegin > currentIndexOffset) 789 789 { 790 int64_t nIndicesInSlice = ((int64_t)range.restartBegin - currentIndexOffset) - ((int64_t) range.restartBegin - currentIndexOffset) % nIndicesPerPrimitive; 790 int64_t nIndicesInSlice = MIN(((int64_t)range.restartBegin - currentIndexOffset) - 791 ((int64_t)range.restartBegin - currentIndexOffset) % nIndicesPerPrimitive, 792 indicesLeft); 791 793 size_t restartSize = (range.restartEnd - range.restartBegin) + 1; 792 if (nIndicesInSlice > nIndicesPerPrimitive) 794 if (nIndicesInSlice >= nIndicesPerPrimitive) 795 { 793 796 drawCommands.push_back({(uint32_t) nIndicesInSlice, currentIndexOffset * indexTypeBytes}); 797 } 794 798 // Account for dropped indices due to incomplete primitives. 795 799 size_t indicesUsed = ( (range.restartBegin + restartSize) - currentIndexOffset);
Note:
See TracChangeset
for help on using the changeset viewer.