Commit b54a2a2
Fix a number of functional regressions caused by enabling the Metal ANGLE backend by default.
https://bugs.webkit.org/show_bug.cgi?id=220895
<rdar://problem/73539537>
Patch by Kyle Piddington <kpiddington@apple.com> on 2021-02-19
Reviewed by Kenneth Russell.
Take two of this patch - this time with the new files FixTypeConstructors and NameEmbeddedUniformStructsMetal
Fixed webgl/1.0.3/conformance/context/context-hidden-alpha.html
MTL Translator direct fixes for webgl/1.0.3/conformance/glsl/constructors/glsl-construct-*vec2 tests, Plus fix for GL_VertexIndex
Fix EmitMetal crash for missing function textureRect.
Additional fixes for 73675990, shaders-with-invariance.html, shaders-with-uniform-structs.html, struct-specifiers-in-uniforms.html, framebuffer-object-attachment.html
Fixed clamping of array elements.
* ANGLE.xcodeproj/project.pbxproj:
* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitPostQualifier):
(GenMetalTraverser::visitBinary):
(GenMetalTraverser::BuildFuncToName):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp: Added.
(sh::FixTypeTraverser::FixTypeTraverser):
(sh::FixTypeConstructors):
* src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.h: Added.
* src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp: Added.
(sh::NameEmbeddedStructUniformsMetal):
* src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h: Added.
* src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
(SaturateVectorOf):
* src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
(sh::ProgramPrelude::ProgramPrelude):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
(sh::Reducer::Reducer):
(sh::ReduceInterfaceBlocks):
* src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h:
* src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
* src/libANGLE/renderer/load_functions_table_autogen.cpp:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawElementsImpl):
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
* src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
(rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
(rx::IOSurfaceSurfaceMtl::createBackingTexture):
* src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::setStorageImpl):
* src/libANGLE/renderer/metal/VertexArrayMtl.h:
* src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::getIndexBuffer):
(rx::VertexArrayMtl::convertIndexBuffer):
(rx::VertexArrayMtl::streamIndexBufferFromClient):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::InitializeDepthStencilTextureContentsGPU):
* src/libANGLE/renderer/metal/shaders/blit.metal:
* src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
Canonical link: https://commits.webkit.org/234386@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273200 268f45cc-cd09-0410-ab3c-d52691b4dbfc1 parent 0f7c6aa commit b54a2a2
23 files changed
Lines changed: 601 additions & 77 deletions
File tree
- Source/ThirdParty/ANGLE
- ANGLE.xcodeproj
- src
- compiler/translator
- TranslatorMetalDirect
- libANGLE/renderer
- metal
- shaders
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1180 | 1180 | | |
1181 | 1181 | | |
1182 | 1182 | | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
1183 | 1186 | | |
1184 | 1187 | | |
1185 | 1188 | | |
| |||
1315 | 1318 | | |
1316 | 1319 | | |
1317 | 1320 | | |
| 1321 | + | |
| 1322 | + | |
1318 | 1323 | | |
1319 | 1324 | | |
1320 | 1325 | | |
| |||
2165 | 2170 | | |
2166 | 2171 | | |
2167 | 2172 | | |
| 2173 | + | |
| 2174 | + | |
2168 | 2175 | | |
2169 | 2176 | | |
2170 | 2177 | | |
| |||
2302 | 2309 | | |
2303 | 2310 | | |
2304 | 2311 | | |
| 2312 | + | |
| 2313 | + | |
2305 | 2314 | | |
2306 | 2315 | | |
2307 | 2316 | | |
| |||
3573 | 3582 | | |
3574 | 3583 | | |
3575 | 3584 | | |
| 3585 | + | |
| 3586 | + | |
3576 | 3587 | | |
3577 | 3588 | | |
3578 | 3589 | | |
| |||
3587 | 3598 | | |
3588 | 3599 | | |
3589 | 3600 | | |
| 3601 | + | |
| 3602 | + | |
3590 | 3603 | | |
3591 | 3604 | | |
3592 | 3605 | | |
| |||
3737 | 3750 | | |
3738 | 3751 | | |
3739 | 3752 | | |
| 3753 | + | |
3740 | 3754 | | |
3741 | 3755 | | |
3742 | 3756 | | |
| |||
4169 | 4183 | | |
4170 | 4184 | | |
4171 | 4185 | | |
| 4186 | + | |
4172 | 4187 | | |
4173 | 4188 | | |
4174 | 4189 | | |
| |||
4274 | 4289 | | |
4275 | 4290 | | |
4276 | 4291 | | |
| 4292 | + | |
4277 | 4293 | | |
4278 | 4294 | | |
4279 | 4295 | | |
| |||
4746 | 4762 | | |
4747 | 4763 | | |
4748 | 4764 | | |
| 4765 | + | |
4749 | 4766 | | |
4750 | 4767 | | |
4751 | 4768 | | |
| |||
4828 | 4845 | | |
4829 | 4846 | | |
4830 | 4847 | | |
| 4848 | + | |
4831 | 4849 | | |
4832 | 4850 | | |
4833 | 4851 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
1 | 63 | | |
2 | 64 | | |
3 | 65 | | |
| |||
Lines changed: 41 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | | - | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
602 | 603 | | |
603 | 604 | | |
604 | 605 | | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
605 | 619 | | |
606 | 620 | | |
607 | 621 | | |
| |||
939 | 953 | | |
940 | 954 | | |
941 | 955 | | |
942 | | - | |
| 956 | + | |
943 | 957 | | |
944 | 958 | | |
945 | 959 | | |
| |||
1105 | 1119 | | |
1106 | 1120 | | |
1107 | 1121 | | |
| 1122 | + | |
1108 | 1123 | | |
1109 | 1124 | | |
1110 | 1125 | | |
| |||
1121 | 1136 | | |
1122 | 1137 | | |
1123 | 1138 | | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
1124 | 1143 | | |
1125 | 1144 | | |
1126 | 1145 | | |
| |||
1141 | 1160 | | |
1142 | 1161 | | |
1143 | 1162 | | |
1144 | | - | |
1145 | | - | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
1146 | 1168 | | |
1147 | 1169 | | |
1148 | 1170 | | |
| |||
1220 | 1242 | | |
1221 | 1243 | | |
1222 | 1244 | | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
1223 | 1254 | | |
1224 | 1255 | | |
1225 | 1256 | | |
| |||
1319 | 1350 | | |
1320 | 1351 | | |
1321 | 1352 | | |
1322 | | - | |
| 1353 | + | |
1323 | 1354 | | |
1324 | 1355 | | |
1325 | 1356 | | |
| |||
1377 | 1408 | | |
1378 | 1409 | | |
1379 | 1410 | | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
1380 | 1415 | | |
1381 | 1416 | | |
1382 | 1417 | | |
1383 | 1418 | | |
1384 | 1419 | | |
1385 | | - | |
| 1420 | + | |
1386 | 1421 | | |
1387 | 1422 | | |
1388 | 1423 | | |
| |||
Lines changed: 33 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | | - | |
| 358 | + | |
| 359 | + | |
359 | 360 | | |
360 | 361 | | |
361 | 362 | | |
| |||
365 | 366 | | |
366 | 367 | | |
367 | 368 | | |
368 | | - | |
| 369 | + | |
| 370 | + | |
369 | 371 | | |
370 | 372 | | |
371 | 373 | | |
| |||
933 | 935 | | |
934 | 936 | | |
935 | 937 | | |
936 | | - | |
| 938 | + | |
937 | 939 | | |
938 | 940 | | |
939 | 941 | | |
| |||
1547 | 1549 | | |
1548 | 1550 | | |
1549 | 1551 | | |
| 1552 | + | |
1550 | 1553 | | |
1551 | 1554 | | |
1552 | | - | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
1553 | 1580 | | |
1554 | 1581 | | |
1555 | 1582 | | |
| |||
1868 | 1895 | | |
1869 | 1896 | | |
1870 | 1897 | | |
| 1898 | + | |
1871 | 1899 | | |
| 1900 | + | |
1872 | 1901 | | |
1873 | 1902 | | |
1874 | 1903 | | |
| |||
0 commit comments