Changeset 284125 in webkit
- Timestamp:
- Oct 13, 2021, 2:33:00 PM (5 years ago)
- Location:
- trunk/Source/ThirdParty/ANGLE
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
src/libANGLE/renderer/metal/VertexArrayMtl.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/ANGLE/ChangeLog
r284074 r284125 1 2021-10-13 Kyle Piddington <kpiddington@apple.com> 2 3 Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands 4 https://bugs.webkit.org/show_bug.cgi?id=231626 5 <rdar:/problem/84167241> 6 7 Primitive restart draw commands were being encoded 8 incorrectly. Single element ranges were being disregarded, 9 and a maximum draw size was not being enforced when the 10 index buffer was aliased / reused. 11 12 Cherry-pick from upstream anglebug.com/6535 13 14 Reviewed by Kenneth Russell. 15 16 * src/libANGLE/renderer/metal/VertexArrayMtl.mm: 17 (rx::VertexArrayMtl::getDrawIndices): 18 1 19 2021-10-12 Alexey Proskuryakov <ap@apple.com> 2 20 -
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/VertexArrayMtl.mm
r279372 r284125 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.