Changeset 277415 in webkit
- Timestamp:
- May 12, 2021, 5:36:16 PM (5 years ago)
- Location:
- trunk/Source/ThirdParty/ANGLE
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/ANGLE/ChangeLog
r277241 r277415 1 2021-05-12 Kyle Piddington <kpiddington@apple.com> 2 3 [Angle METAL] Remove thread qualifiers and pass-by-reference qualifiers for cast functions 4 https://bugs.webkit.org/show_bug.cgi?id=225702 5 <rdar://76799461> 6 7 Cast functions fail to compile when casting from user uniforms. Update cast functions to remove pass-by-reference 8 qualifiers. 9 10 Reviewed by Dean Jackson. 11 12 * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp: 13 1 14 2021-05-08 Basuke Suzuki <basuke.suzuki@sony.com> 2 15 -
trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp
r275476 r277415 1303 1303 struct ANGLE_castVector<T, N, N> 1304 1304 { 1305 static ANGLE_ALWAYS_INLINE metal::vec<T, N> exec( thread metal::vec<T, N> const &v)1305 static ANGLE_ALWAYS_INLINE metal::vec<T, N> exec(metal::vec<T, N> const v) 1306 1306 { 1307 1307 return v; … … 1311 1311 struct ANGLE_castVector<T, 2, 3> 1312 1312 { 1313 static ANGLE_ALWAYS_INLINE metal::vec<T, 2> exec( thread metal::vec<T, 3> const &v)1313 static ANGLE_ALWAYS_INLINE metal::vec<T, 2> exec(metal::vec<T, 3> const v) 1314 1314 { 1315 1315 return v.xy; … … 1319 1319 struct ANGLE_castVector<T, 2, 4> 1320 1320 { 1321 static ANGLE_ALWAYS_INLINE metal::vec<T, 2> exec( thread metal::vec<T, 4> const &v)1321 static ANGLE_ALWAYS_INLINE metal::vec<T, 2> exec(metal::vec<T, 4> const v) 1322 1322 { 1323 1323 return v.xy; … … 1327 1327 struct ANGLE_castVector<T, 3, 4> 1328 1328 { 1329 static ANGLE_ALWAYS_INLINE metal::vec<T, 3> exec( thread metal::vec<T, 4> const &v)1329 static ANGLE_ALWAYS_INLINE metal::vec<T, 3> exec(metal::vec<T, 4> const v) 1330 1330 { 1331 1331 return as_type<metal::vec<T, 3>>(v); … … 1333 1333 }; 1334 1334 template <int N1, int N2, typename T> 1335 ANGLE_ALWAYS_INLINE metal::vec<T, N1> ANGLE_cast( thread metal::vec<T, N2> const &v)1335 ANGLE_ALWAYS_INLINE metal::vec<T, N1> ANGLE_cast(metal::vec<T, N2> const v) 1336 1336 { 1337 1337 return ANGLE_castVector<T, N1, N2>::exec(v); … … 1344 1344 struct ANGLE_castMatrix 1345 1345 { 1346 static ANGLE_ALWAYS_INLINE metal::matrix<T, C1, R1> exec( thread metal::matrix<T, C2, R2> const &m2)1346 static ANGLE_ALWAYS_INLINE metal::matrix<T, C1, R1> exec(metal::matrix<T, C2, R2> const m2) 1347 1347 { 1348 1348 metal::matrix<T, C1, R1> m1; … … 1373 1373 struct ANGLE_castMatrix<T, C1, R1, C2, R2, ANGLE_enable_if_t<(C1 <= C2 && R1 <= R2)>> 1374 1374 { 1375 static ANGLE_ALWAYS_INLINE metal::matrix<T, C1, R1> exec( thread metal::matrix<T, C2, R2> const &m2)1375 static ANGLE_ALWAYS_INLINE metal::matrix<T, C1, R1> exec(metal::matrix<T, C2, R2> const m2) 1376 1376 { 1377 1377 metal::matrix<T, C1, R1> m1; … … 1384 1384 }; 1385 1385 template <int C1, int R1, int C2, int R2, typename T> 1386 ANGLE_ALWAYS_INLINE metal::matrix<T, C1, R1> ANGLE_cast( thread metal::matrix<T, C2, R2> const &m)1386 ANGLE_ALWAYS_INLINE metal::matrix<T, C1, R1> ANGLE_cast(metal::matrix<T, C2, R2> const m) 1387 1387 { 1388 1388 return ANGLE_castMatrix<T, C1, R1, C2, R2>::exec(m);
Note:
See TracChangeset
for help on using the changeset viewer.