src/compiler/translator/msl/ProgramPrelude.cpp


Log

Author Commit Date CI Message
Shahbaz Youssefi d193d51b 2024-06-17T22:46:08 Replace issue ids post migration to new issue tracker This change replaces anglebug.com/NNNN links. Bug: None Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 02aa605a 2024-01-25T00:00:00 Metal: Include only the <metal_stdlib> header Removed the logic for generating individual include macros as <metal_stdlib> provides all functions. Fixed: angleproject:8504 Change-Id: I8c83ca8cc2443a4b64e4e022a3a694c7643be569 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237274 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev 7d30cf9f 2024-01-22T00:00:00 Metal: Simplify sign function translation Check whether a float or an integer variant is needed and emit only what is necessary. Fixed: angleproject:8502 Change-Id: I7061a5faa7cf09519b30e64ff90c42bbe392908a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5234350 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 600a1a80 2024-01-22T00:00:00 Metal: Clamp vector element index references Ensured that vector elements passed by reference are within the number of vector components. Fixed: angleproject:8492 Change-Id: I2defbd8dfd418256ddb87f8ce1a74ac09a8a1b7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5229957 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev fc742305 2024-01-18T00:00:00 Metal: Simplify geometry functions translation Check whether a vector or a scalar variant is needed and emit only what is necessary. Reduced the generated MSL for: - atan/atan2 - length - distance - dot - normalize - faceforward - reflect - refract Fixed: angleproject:8487 Fixed: angleproject:8489 Change-Id: I3be39e55997062136aae2782269a65c0c738d6cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5217532 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 6d9f0aee 2023-11-30T00:00:00 Metal: Ensure helper invocations when derivatives are used Set sample coverage mask to ensure that fragment shader helper invocations are performed when derivatives are used. Fixed the following tests on Apple silicon: dEQP-GLES2.functional.texture.mipmap .2d.projected.nearest_linear_repeat .2d.projected.linear_linear_repeat .cube.projected.linear_nearest .cube.projected.linear_linear dEQP-GLES3.functional.texture.mipmap .2d.projected.nearest_nearest_mirror .2d.projected.linear_nearest_clamp .2d.projected.linear_nearest_repeat .2d.projected.linear_nearest_mirror .2d.projected.nearest_linear_repeat .2d.projected.linear_linear_clamp .2d.projected.linear_linear_repeat .3d.projected.nearest_nearest_mirror .3d.projected.linear_nearest_clamp .3d.projected.linear_nearest_repeat .3d.projected.nearest_linear_clamp .3d.projected.nearest_linear_mirror .3d.projected.linear_linear_clamp .3d.projected.linear_linear_repeat Fixed: angleproject:8443 Fixed: angleproject:7023 Change-Id: I13fc52532b94de098dcf3e9f5f02d48a6c8913c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5089131 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Geoff Lang 59f7467a 2023-11-01T14:53:42 Metal: Add missing ScalarMatrix ops Translations for the following built-ins were missing: scalar - matrix scalar + matrix scalar / matrix Bug: angleproject:7525 Change-Id: I5da85781829c195906cc689ffee55cb681f0337c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995668 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 280e79e1 2023-08-10T14:08:00 Rescope globals only used in one function to function-local. We can demote global variables when they are only used in one function. This has performance implications on Metal. Bug: angleproject:8311 Change-Id: Id666e6b167be771c14768cd73efa61fdacd897d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771215 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 9b63700b 2023-07-11T10:25:40 Translator: Reorganize files This change makes the translator files more organized by: - Grouping files that are specific to a certain output under their own directory, - Moving transformations under tree_ops - Removing Direct from metal translation now that that SPIR-V Cross path is removed Bug: angleproject:6394 Change-Id: Iaf5bb8d5604b84748dece029821b1f77b2813967 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678780 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>