第三方软件angle底层的图形渲染引擎的一部分
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Don't build api_dump for secondary abi on Android 32-bit builds of VK_LAYER_LUNARG_api_dump are extremely slow so skip them when building for arm64. Bug: b/42267058 Change-Id: I8c2d959d86a58537dafa518fb58267b38cda21f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842279 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> | 1 年前 | |
Override use_cxx23 to false in angle Angle must stay in C++20 for longer than Chromium. https://groups.google.com/a/google.com/g/angle-team/c/_SeqZIlTyAQ Bug: chromium:388070065 Change-Id: Ib9e7c39137c6742c84f044e9e0e33a3a37394ea2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7185708 Auto-Submit: Victor Vianna <victorvianna@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | 7 个月前 | |
D3D: Remove ES3.1 features ES3.1 features (compute shaders, storage buffers, storage images and atomic counter) in the d3d backend and hlsl generator were not completely implemented, and there is no prospect of them ever being done. They are removed in this change to reduce the burden of future work in the translator. Existing support for storage images is kept while the ANGLE_pls extension uses it. Bug: angleproject:463553416 Change-Id: I1afb6ed66c756a651142b641199dd32796d70eb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7205546 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 7 个月前 | |
CVE-2026-9914[500047428] cherry picked from commit ff4ceb90268d28fddafe6c9ca3080e749ca4e3e3 Change-Id: Iaf153785845df4babc5b193a67ad05b23596c6df Signed-off-by: h00888022 <h00888022@notesmail.huawei.com/> Co-Authored-By: Agent Reviewed-by: l00470585 Approved-by: z00611338 Merged-on: https://open.codehub.huawei.com/OpenSourceCenter_CR/openharmony-tpc/chromium_third_party_angle/-/change_requests/124 Merged-by: public pjenkins Signed-off-by: hwt00888022 <huwentao21@huawei.com> | 30 天前 | |
2026.03.30 arkweb_144代码蓝黄同步 Signed-off-by: jiujiaoxiaogula <sujiahao10@huawei.com> Change-Id: I9dc17c365d1e04e143eb123caa99a0da36bc7805 | 3 个月前 | |
CVE-2026-9975[511719039] cherry picked from commit a8e2c7acf57ee6ede6629203e9fad50a4335db20 Change-Id: Icf4c63c7a55083fdb8b033998c02d05820e6a08f Signed-off-by: h00888022 <h00888022@notesmail.huawei.com/> Co-Authored-By: Agent Reviewed-by: l00470585 Approved-by: z00611338 Merged-on: https://open.codehub.huawei.com/OpenSourceCenter_CR/openharmony-tpc/chromium_third_party_angle/-/change_requests/142 Merged-by: public pjenkins Signed-off-by: hwt00888022 <huwentao21@huawei.com> | 30 天前 | |
D3D: Remove ES3.1 features ES3.1 features (compute shaders, storage buffers, storage images and atomic counter) in the d3d backend and hlsl generator were not completely implemented, and there is no prospect of them ever being done. They are removed in this change to reduce the burden of future work in the translator. Existing support for storage images is kept while the ANGLE_pls extension uses it. Bug: angleproject:463553416 Change-Id: I1afb6ed66c756a651142b641199dd32796d70eb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7205546 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 7 个月前 | |
Translator: Remove NV_shader_framebuffer_fetch This extension is never exposed by ANGLE. AFAICT, it was removed in https://chromium-review.googlesource.com/c/angle/angle/+/688099 and never added again. The current implementation is incorrect even if the extension is exposed; we assume gl_LastFragColorARM is the name, while this extension uses gl_LastFragColor. This change removes mentions of this extension instead of trying to fix it. Bug: angleproject:349994211 Change-Id: I2391a225db95d73579fd71cf261360973e5935f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004390 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 8 个月前 | |
2026.03.30 arkweb_144代码蓝黄同步 Signed-off-by: jiujiaoxiaogula <sujiahao10@huawei.com> Change-Id: I9dc17c365d1e04e143eb123caa99a0da36bc7805 | 3 个月前 | |
[ArkWeb][安全][自动提交] 修复 Chromium issue 513048822: Remove BlendState struct in favor of BlendStateExt. Signed-off-by: ringking <renkang2@huawei.com> | 2 天前 | |
Roll vulkan-deps from d1eb1a06c1ed to 84949a3e6598 (12 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d1eb1a06c1ed..84949a3e6598 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/8a67272ca6c266b21dd0a9548471756a237ebbef..f410b3c178740f9f5bd28d5b22a71d4bc10acd49 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/093b34b0801da9759645e6f179f89038d0c1e721..089cdbbe0903fb1b60025560cd636a7d7640e35e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ice3aa1b68104ec35d62e9c14531593f1120b77c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7213138 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> | 7 个月前 | |
Manual roll Chromium from 64d19a776fb7 to 2bef07d37de2 (202 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/64d19a776fb7..2bef07d37de2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a200a59ced..1bd2ee1a98 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/629078f56b..d2159f6fbb * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2576331a43..e1aee0f6d9 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7bb12f653a..6202e87ec4 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/13cfd0942d..878734a616 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7664d7ccf5..70f4fc348f No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I80d6afa610131163937b53a14f3e4bc65559503d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7210593 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | 7 个月前 | |
CVE-2026-9975[511719039] cherry picked from commit a8e2c7acf57ee6ede6629203e9fad50a4335db20 Change-Id: Icf4c63c7a55083fdb8b033998c02d05820e6a08f Signed-off-by: h00888022 <h00888022@notesmail.huawei.com/> Co-Authored-By: Agent Reviewed-by: l00470585 Approved-by: z00611338 Merged-on: https://open.codehub.huawei.com/OpenSourceCenter_CR/openharmony-tpc/chromium_third_party_angle/-/change_requests/142 Merged-by: public pjenkins Signed-off-by: hwt00888022 <huwentao21@huawei.com> | 30 天前 | |
Manual roll Chromium from 64d19a776fb7 to 2bef07d37de2 (202 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/64d19a776fb7..2bef07d37de2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a200a59ced..1bd2ee1a98 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/629078f56b..d2159f6fbb * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2576331a43..e1aee0f6d9 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7bb12f653a..6202e87ec4 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/13cfd0942d..878734a616 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7664d7ccf5..70f4fc348f No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I80d6afa610131163937b53a14f3e4bc65559503d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7210593 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | 7 个月前 | |
Manual roll Chromium from 64d19a776fb7 to 2bef07d37de2 (202 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/64d19a776fb7..2bef07d37de2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a200a59ced..1bd2ee1a98 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/629078f56b..d2159f6fbb * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2576331a43..e1aee0f6d9 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7bb12f653a..6202e87ec4 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/13cfd0942d..878734a616 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7664d7ccf5..70f4fc348f No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I80d6afa610131163937b53a14f3e4bc65559503d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7210593 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | 7 个月前 | |
Manual roll Chromium from 64d19a776fb7 to 2bef07d37de2 (202 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/64d19a776fb7..2bef07d37de2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a200a59ced..1bd2ee1a98 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/629078f56b..d2159f6fbb * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2576331a43..e1aee0f6d9 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7bb12f653a..6202e87ec4 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/13cfd0942d..878734a616 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7664d7ccf5..70f4fc348f No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I80d6afa610131163937b53a14f3e4bc65559503d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7210593 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | 7 个月前 | |
Make cl format add braces to ifs and loops Use clang-format InsertBraces: true to add braces to ifs and loops as per the code style. Bug: angleproject:405654904 Change-Id: I6f4329fc3c7e19882db21db7b69aa384f0c493bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6383365 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 1 年前 | |
Re-enable clang-format for ANGLE. This was disabled globally for Chromium third-party projects, but ANGLE's code generator requires it in order to keep producing well-formatted code. Add a config file to re-enable it. Fixed: angleproject:413695650 Change-Id: If00ce844e3c98fd973f5414204676b7df8a7e321 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6492321 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> | 1 年前 | |
Add .git-blame-ignore-revs Bug: angleproject:365820898 Change-Id: I8bdbb9f1d96bd4bb06943406d45eb4476344773b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851638 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | 1 年前 | |
Capture/Replay: Initial setup for angle_capture_tests Implements the first part (FrameCapture) of the proposal go/frame-capture-and-interpreter-testing Adds a basic test (CapturedTest) with a few frames. This test gets captured by capture_tests.py into a temporary directory and the resulting files are diff'ed with the files under expected/ A diff fails the test. When capture changes, the workflow would be to run the command indicated by the error message in the test which will overwrite the files with new ones so that they can be added to the CL. Example test failure on capture change: https://chromium-swarm.appspot.com/task?id=62b5f4034527c610 when testing https://crrev.com/c/4598046/3 Tests in CI: https://screenshot.googleplex.com/77o8vZVuj8AbFRj Also adds a "angle_capture_tests_trace" lib with the trace just to test that this capture also builds, the lib is not currently loaded by anything. Bug: b/286067106 Change-Id: I7d5f6eed088d84f9e3eb8a72b24b1d92515fff38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545408 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | 3 年前 | |
Roll Chromium from 38d310b39a97 to e01714035bcc (697 revisions) Update JDK version from 17 to 23, needed to use new error_prone from https://chromium-review.googlesource.com/c/chromium/src/+/7076585. Also fix automatically synchronizing JDK with Chromium. Drop update to abseil-cpp since it fails Windows component build. https://chromium.googlesource.com/chromium/src.git/+log/38d310b39a97..e01714035bcc If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d3b291259a..c00a961bc1 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/723d636763..c748dde769 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8c73bb71d8..1d2569eb8a * third_party/android_build_tools/error_prone/cipd: 6P0UeAzMNcir4iSU75DBVRDAuJuek1SOcMplCB9ywdYC..ZnLz1dC-SbH89SjE-rqU0M6wP2Dx8ArcXWWyyU45Jy8C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/d0eafb7abd..e0e8064360 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b782473eac..55f9b9536c * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8a1ec6a021..cd260a79de * third_party/fuchsia-sdk/sdk: version:29.20251016.3.1..version:29.20251023.3.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/cdb24138c1..1fbb0022da * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/4d93511eba..b54473d104 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/4524a163c5..d6365fe055 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ab4969a780..97f0845783 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/dc84e53234..917787b183 * tools/skia_goldctl/linux: RIXw4FW7A5ShxlJQlJy4jtOEd-F4gU_cOKi8Fnw2EpEC..C5hH7dYQuO3062SszdksQtirJFjAzexwuqjacLReHyQC * tools/skia_goldctl/mac_amd64: jBJr91_oRNb0WC7zI4Hobkwt4TduL3jvIYtiB8lUEj8C..ELnDSBvrr14Qkz-HoQRVBRStEd1HvpLZF0VsGlKlnoUC * tools/skia_goldctl/mac_arm64: UTW-EFr99OLuhk4trjmxm2n9RE2E281eYA6QuDZbfv0C..pPhabi_-RX35tyLwh2GfIkvqryBCG3ZoPUSU2gaTQJQC * tools/skia_goldctl/win: VwwL8d8AiCiKHS3J0_wsOVZ-l6UIosK2a4GBgzP6Vn4C..3tkvtWdcjusN9sXn1ults600IvgJpTjBNuxwh3r1NcAC No update to Clang. Bug: None Change-Id: Icb2408f92e28795e9d8ff453d0350aaf795844da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7082667 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | 8 个月前 | |
Roll chromium_revision c57f111ea1..fc7a6f6aa1 (1504489:1504499) This includes fixes to several breakages: 1. Change siso path in DEPS due to https://chromium-review.googlesource.com/c/chromium/src/+/6864442 2. For unknown reason, "gclient sync --deps=all" no longer downloads mac dependencies on linux. Change conditions for buildtools/mac and others from host_os to checkout_mac, so that roll_chromium_deps can process these dependencies. 3. Remove third_party/googletest (BUILD.gn) submodule and copy build files from Chromium verbatim. Then add third_party/googletest/src submodule, which was previously added via recursedeps. This is because old structure had to be updated manually, and now we can autoroll googletest. Making this change now, because is_nacl was removed in https://chromium-review.googlesource.com/c/chromium/src/+/6857278 but the corresponding removal from BUILD.gn https://chromium-review.googlesource.com/c/chromium/src/+/6723712 didn't get rolled in due to crbug.com/440040381. Also roll googletest sources while at it. https://chromium.googlesource.com/external/github.com/google/googletest/+log/c67de117379f4d1c889c7581a0a76aa0979c2083..244cec869d12e53378fa0efb610cd4c32a454ec8 4. Use "use_clang_modules = false" to suppress missing includes in LLVM. 5. Add "tools/win" dependency needed for abseil-cpp after https://chromium-review.googlesource.com/c/chromium/src/+/6857983 Change log: https://chromium.googlesource.com/chromium/src/+log/c57f111ea1..fc7a6f6aa1 Full diff: https://chromium.googlesource.com/chromium/src/+/c57f111ea1..fc7a6f6aa1 Changed dependencies * buildtools/mac: git_revision:cc7c61e105fb56183fd6c5c52bbe3c37ff724a0d..git_revision:ee5b7e32b961a9da1933e9f46a018ba6cac8ef60 * buildtools/win: git_revision:cc7c61e105fb56183fd6c5c52bbe3c37ff724a0d..git_revision:ee5b7e32b961a9da1933e9f46a018ba6cac8ef60 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fb889d0363..62256178de * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/1e18dc54a0..4862f4f12d * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/f43e2cc47f..d48cf42075 * third_party/android_build_tools/error_prone/cipd: wQ_Wsj0aINAwt4LrHHM6IEnMhVEAdvQtBFtLv7YL4PoC..vPi1VfStH9EQCdbZI5NAMcK7C_dWs3-8Frr1CAzIafEC * third_party/android_build_tools/lint/cipd: XO6ykSsPN632w1Hwz4YCLW0qC1KhVCn53F8FdJeuhKUC..8i-9CpSofgFA-RhKjreXIK0ZbDC8IhGVe2yvxRX0ku4C * third_party/android_build_tools/nullaway/cipd: mFkUqdlIqmMQ3rAaTHFmOBYjNFgFUQOmMlPG6PGgmHYC..Zk_ffB0B6qGrr2ZDKqCxAgnPmo4-5giVRIauRffZaZYC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/973ea8c7c6..8f103008c5 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/e71ef403c5..f1c6b36cde * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8dc29cff6c..8512c34797 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/eddc72dce5..778a576e20 * third_party/fuchsia-sdk/sdk: version:29.20250730.5.1..version:29.20250815.6.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/6f8fe913d6..91206b4d03 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/a6c815c69d..f7f5a32b3e * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/84c5262b57..bdc00ca63e * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/82c07b9654..46fede94c0 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/78c1ca719e..28e24a669f * third_party/r8/cipd: qD5apdNjxRv3dBblf27nEZYf7r_pbLEgfN7hWyXvP_UC..Xyh7Kdh-M2Dj5lwFGH2QRe7TFErRgYCvMFMkPiYnIwsC * third_party/r8/d8/cipd: qD5apdNjxRv3dBblf27nEZYf7r_pbLEgfN7hWyXvP_UC..pBaBgtFdvclLMBwz1H7s88bhc3ioF8iEyFh6rZ81054C * third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2.git/+log/85c7c0fb11..6569a9a3df * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/5de5e7b6ba..cc36abecbc * third_party/turbine/cipd: TkTaFqF4Bs-JmFtxFV_Nfh4u5jh_401ZQsLhC7vIEqQC..9ZS5YYFBth7RSqNe7VLip-qJhk00WoicV_Qb0byHna8C * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/363a126ed2..044b44e6de * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/b44ad70ef5..7d8848041e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9d91ec919b..f10114ce19 * tools/luci-go: git_revision:2aa8d904a9f8cc8891d2710e4cf58156057fa4b3..git_revision:230495e01666a7468ff6803179519a5c93317083 * tools/luci-go: git_revision:2aa8d904a9f8cc8891d2710e4cf58156057fa4b3..git_revision:230495e01666a7468ff6803179519a5c93317083 * tools/luci-go: git_revision:2aa8d904a9f8cc8891d2710e4cf58156057fa4b3..git_revision:230495e01666a7468ff6803179519a5c93317083 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c5719eb114..513bc2117e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c1a26b544f..88de4dbaab * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/fa1df48579..f2fba99158 * tools/skia_goldctl/linux: 84tAKAqEtqjebJywg8jyXDWUVodNBYZraFt9RZ0A2pwC..46Onf_f3s_Mr84pViZFnexVYU47ArSn3knDqNZcIoYsC * tools/skia_goldctl/mac_amd64: dpgLOuWsqpBYSIj44DbnlJD7fnp640TD4cprUlwV0VMC..itdWmANhuoNsgIG1DuIe7XMdwQR4Vc9kkznuHSuPOekC * tools/skia_goldctl/mac_arm64: AU5OTil4VjYO94g8-Jhq02qBoLka6t-JsgKKEzllcy8C..aFRLGxnuqC86Y3ejs72PnkJfG0caCnrl72QiuxJ1XbkC * tools/skia_goldctl/win: DW55Ki0OZtTTzxrsItNbFeB9IDA9GBVXB647W6SOLN4C..sYuoNL-siny-CypUt4LuqE25k1hWho4rLa3T7ikBQAoC DEPS diff: https://chromium.googlesource.com/chromium/src/+/c57f111ea1..fc7a6f6aa1/DEPS No update to Clang. Bug: chromium:440040381, angleproject:40041909, angleproject:439777063 Change-Id: Id814e849a08a1533c246ed9d1803f8b7c90fa68b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6870430 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 10 个月前 | |
Translator: Implement an IR The ANGLE compiler parses GLSL ES shaders and produces an Abstract Syntax Tree (AST). The use of AST is deceptively simple, as the structure of this representation always matches the equivalent text representation. This simplicity can make the compiler initially more approachable. However, as compiler research, modern compiler best practices, and our own experiences with the ANGLE compiler have shown, ASTs are harder to analyze and transform. For example: * Struct definitions may be in a number of surprising places in GLSL, such as a function’s return type. Reflecting this fact in the AST makes it tricky to apply transformations to the struct. * The inability to include arbitrary blocks of code in many locations such as inside an if condition turns simple transformations (such as caching an expression with a side effect inside a temporary variable) into complex ones with many corner cases. Instead, modern compilers include an Internal Representation (IR) that is potentially far removed from the textual syntax of the language. This comes with numerous benefits, such as the freedom to simplify and rearrange type definitions, the flexibility of instruction flow structure, etc, which in turn make more complex operations (such as dead-code elimination) less burdensome. In some projects, IRs also allow the compiler to handle multiple textual formats (otherwise known as front-ends). While generating an IR from text is typically not complicated, one possibly challenging aspect of IRs is going back to a textual representation if needed (such as generating glsl, msl or hlsl in the case of ANGLE), as the textual representation includes restrictions that do not exist in the IR. Given the number of bugs (security or otherwise) that constantly affect ANGLE, there is a need for an IR to finally modernize this codebase. The new WGSL backend for the translator is plagued with the same complications that the SPIR-V generator has faced (such as lack of ability to write to a swizzle expression), with extremely complicated or in some cases no clear way of implementing them in the AST, so an IR would simplify/unblock that work. Finally, some needed optimizations (such as cross-stage dead-code elimination) are needed for the ANGLE-for-Android project, but are extremely difficult to do with the AST. It’s time the translator was written to be based on an IR. ANGLE implements its own IR instead of reusing existing ones, such as SPIR-V, mesa's NIR, or Tint's IR, because: * It can be simpler e.g. compared to SPIR-V's highly flexible branching * It can be tailored to ESSL e.g. compared to Tint's IR * It can be in complete control e.g. compared to mesa's NIR This change implements the following: * GLSL->IR generation during parse * IR transformation utilities, debug dump, documentation (see src/compiler/translator/ir/doc/README.md) * An "astify" transformation that makes the IR suitable for AST and text-based output generation * IR->AST generation after parse The current AST generation during parse is still maintained because: * It's used by validation, but that will ultimately be made unnecessary after the following point is no longer needed. * It's simpler to keep the AST generation while the no-IR path is still supported. With the rountrip through IR, a dozen transformations that try to make the AST more malleable are made unnecessary. However, at this point when the IR is enabled, the overhead of creating it is present, while the transformations are still complex and based on the AST. The IR is disabled until almost all transformations are ported and at least SPIR-V generation is done directly from the IR. To enable the IR, set angle_ir = true in args.gn. Nearly all tests pass with the IR enabled, though a few failures remain to be diagnosed. One particular follow up fix is to port our compiler unittests to end2end tests: * They assume too much about the internals of the compiler, which is completely overhauled now * The validation is too simplistic, where often transformation bugs are discovered only after trying to use the shader in a draw call (where multiple backends actually give the translator output to the native driver/compiler) Bug: angleproject:349994211 Change-Id: I2ce917bf956d40af4545473b4a9068cf295878be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5898761 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org> | 7 个月前 | |
Translator: Implement an IR The ANGLE compiler parses GLSL ES shaders and produces an Abstract Syntax Tree (AST). The use of AST is deceptively simple, as the structure of this representation always matches the equivalent text representation. This simplicity can make the compiler initially more approachable. However, as compiler research, modern compiler best practices, and our own experiences with the ANGLE compiler have shown, ASTs are harder to analyze and transform. For example: * Struct definitions may be in a number of surprising places in GLSL, such as a function’s return type. Reflecting this fact in the AST makes it tricky to apply transformations to the struct. * The inability to include arbitrary blocks of code in many locations such as inside an if condition turns simple transformations (such as caching an expression with a side effect inside a temporary variable) into complex ones with many corner cases. Instead, modern compilers include an Internal Representation (IR) that is potentially far removed from the textual syntax of the language. This comes with numerous benefits, such as the freedom to simplify and rearrange type definitions, the flexibility of instruction flow structure, etc, which in turn make more complex operations (such as dead-code elimination) less burdensome. In some projects, IRs also allow the compiler to handle multiple textual formats (otherwise known as front-ends). While generating an IR from text is typically not complicated, one possibly challenging aspect of IRs is going back to a textual representation if needed (such as generating glsl, msl or hlsl in the case of ANGLE), as the textual representation includes restrictions that do not exist in the IR. Given the number of bugs (security or otherwise) that constantly affect ANGLE, there is a need for an IR to finally modernize this codebase. The new WGSL backend for the translator is plagued with the same complications that the SPIR-V generator has faced (such as lack of ability to write to a swizzle expression), with extremely complicated or in some cases no clear way of implementing them in the AST, so an IR would simplify/unblock that work. Finally, some needed optimizations (such as cross-stage dead-code elimination) are needed for the ANGLE-for-Android project, but are extremely difficult to do with the AST. It’s time the translator was written to be based on an IR. ANGLE implements its own IR instead of reusing existing ones, such as SPIR-V, mesa's NIR, or Tint's IR, because: * It can be simpler e.g. compared to SPIR-V's highly flexible branching * It can be tailored to ESSL e.g. compared to Tint's IR * It can be in complete control e.g. compared to mesa's NIR This change implements the following: * GLSL->IR generation during parse * IR transformation utilities, debug dump, documentation (see src/compiler/translator/ir/doc/README.md) * An "astify" transformation that makes the IR suitable for AST and text-based output generation * IR->AST generation after parse The current AST generation during parse is still maintained because: * It's used by validation, but that will ultimately be made unnecessary after the following point is no longer needed. * It's simpler to keep the AST generation while the no-IR path is still supported. With the rountrip through IR, a dozen transformations that try to make the AST more malleable are made unnecessary. However, at this point when the IR is enabled, the overhead of creating it is present, while the transformations are still complex and based on the AST. The IR is disabled until almost all transformations are ported and at least SPIR-V generation is done directly from the IR. To enable the IR, set angle_ir = true in args.gn. Nearly all tests pass with the IR enabled, though a few failures remain to be diagnosed. One particular follow up fix is to port our compiler unittests to end2end tests: * They assume too much about the internals of the compiler, which is completely overhauled now * The validation is too simplistic, where often transformation bugs are discovered only after trying to use the shader in a draw call (where multiple backends actually give the translator output to the native driver/compiler) Bug: angleproject:349994211 Change-Id: I2ce917bf956d40af4545473b4a9068cf295878be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5898761 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org> | 7 个月前 | |
Update yapf style from "chromium" to "yapf" yapf v0.30.0 renamed "chromium" style to "yapf". Bug: chromium:1306598 Change-Id: I107c16b965beaf5269f64149da4a097267867c2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289948 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Thiago Perrotta <tperrotta@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 3 年前 | |
[angle] Bump vpython from 3.8 to 3.11 Also requires upgrading some packages. Bug: chromium:40249958 Change-Id: I9ba078a41235cf8b293a49155740f58b14dd392b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6909333 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Victor Vianna <victorvianna@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | 10 个月前 | |
Add .yapfignore file Adds a .yapfignore file so that Python files can be excluded from "git cl format". This currently only ignores scripts/export_targets.py since its use of Python 3 causes issues. This requires depot_tools revision 59b06a838a4e06c43075db252921f4bd45f7f673 or later to work, as .yapfignore files were unused until then. Bug: angleproject:3985 Change-Id: Ib9e10f6b5d6baf6b87e7edd0525885553508829d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1860319 Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 6 年前 | |
Get GPU revision id with PCI_FILL_CLASS_EXT On a dual GPU scenario (laptop), PCIReadByte starts the discrete GPU. The new PCI_FILL_CLASS_EXT doesn't require the GPU to start. Bug: chromium:456770288 Change-Id: Ib6eec94b68c92582053a7636753385f90ef413c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7157196 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 个月前 | |
Remove .find_ignore files Remove .find_ignore files so that the Soong Finder searches the whole tree again (needed for Bazel support) Test: TH Bug: b/188491905 Change-Id: I6df2cecebf3f82120bb90353aeb08f6b40cf30be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906252 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 5 年前 | |
2026.03.30 arkweb_144代码蓝黄同步 Signed-off-by: jiujiaoxiaogula <sujiahao10@huawei.com> Change-Id: I9dc17c365d1e04e143eb123caa99a0da36bc7805 | 3 个月前 | |
Get GPU revision id with PCI_FILL_CLASS_EXT On a dual GPU scenario (laptop), PCIReadByte starts the discrete GPU. The new PCI_FILL_CLASS_EXT doesn't require the GPU to start. Bug: chromium:456770288 Change-Id: Ib6eec94b68c92582053a7636753385f90ef413c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7157196 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 个月前 | |
Roll vulkan-deps from d1eb1a06c1ed to 84949a3e6598 (12 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d1eb1a06c1ed..84949a3e6598 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/8a67272ca6c266b21dd0a9548471756a237ebbef..f410b3c178740f9f5bd28d5b22a71d4bc10acd49 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/093b34b0801da9759645e6f179f89038d0c1e721..089cdbbe0903fb1b60025560cd636a7d7640e35e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ice3aa1b68104ec35d62e9c14531593f1120b77c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7213138 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> | 7 个月前 | |
tools: add buganizer to DIR_METADATA Bug: chromium:341800538 Change-Id: Idca0232304e4fe1342f880a4a0e179aa7971fdab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6030569 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> | 1 年前 | |
Update license and readme for use downstream Bug:angleproject:2438 Bug:angleproject:2437 Change-Id: I1b41882b42e8bc30df8e8ae47e0af67ec266f7d5 Reviewed-on: https://chromium-review.googlesource.com/982382 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | 8 年前 | |
Revert "Remove dupe dependency: vulkan-deps" This reverts commit 43f8d708b87446d233640ad27abf8c1b4a7d68dc. Reason for revert: breaks autoroll Bug: chromium:433839081 Original change's description: > Remove dupe dependency: vulkan-deps > > Credit rop@ > > Bug: chromium:433839081 > Change-Id: Ibea08597e3490dcd374d386b8ae165b7399bd972 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6776852 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: chromium:433839081 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I4cb65820ac8fe25c19efa186b5864c6f2eaadc94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6786933 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> | 11 个月前 | |
Port needs-#extension compiler tests to end2end Bug: angleproject:454531087 Change-Id: I303f614a61f74dc1e3da25acf7c3a72db714df48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7125400 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> | 7 个月前 | |
Tidy up some README.chromium files in Angle. Backfills the Update Mechanism field for dependencies and cleans up some of the other fields which are out of date. Bug: chromium:379934539 Change-Id: I9a952e905ce00c379c4d593dd67b7e0fc6f1794e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981101 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 9 个月前 | |
D3D: Remove ES3.1 features ES3.1 features (compute shaders, storage buffers, storage images and atomic counter) in the d3d backend and hlsl generator were not completely implemented, and there is no prospect of them ever being done. They are removed in this change to reduce the burden of future work in the translator. Existing support for storage images is kept while the ANGLE_pls extension uses it. Bug: angleproject:463553416 Change-Id: I1afb6ed66c756a651142b641199dd32796d70eb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7205546 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 7 个月前 | |
Add downstream to watch ANGLE feature changes Bug: b/417527313 Change-Id: Idb36f7bac0c25391752a35cf5ed2ad99e6a6a636 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594071 Auto-Submit: Kaiyi Li <kaiyili@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | 1 年前 | |
Remove obsolete additional_readme_paths.json entries src/third_party/compiler was removed in crrev.com/c/2940902. I don't know when third_party/vulkan_memory_allocator was removed, but it also doesn't exist anymore. Bug: None Change-Id: Ib2216c2fd111de4545f600dc3ba82bbab24f169d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4275341 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 3 年前 | |
Use "full" git cl format by default. This uses the new setting added to depot_tools. The diff lines of context setting was removed. Bug: angleproject:4003 Change-Id: I6f7d471d3cce066cd3a6caa200828d09ccfca5ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879577 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | 6 年前 | |
Remove exec_script_whitelist from dotfile_settings.gni. All of the clients of this file have been updated to use exec_script_allowlist, so we no longer need to set exec_script_whitelist as well. Bug: chromium:389986807 Change-Id: Ifb5ce794e4329b54e5a91ca658c41ce9ba038c4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6441919 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Dirk Pranke <dpranke@google.com> | 1 年前 | |
Suppress unsafe buffers on a file-by-file basis in util/ Bug: b/436880895 Change-Id: I299247e38853bb16afd466e3f6521342c0a2b0f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6891980 Auto-Submit: Tom Sepez <tsepez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 10 个月前 |
ANGLE - 近似原生图形层引擎
ANGLE 的目标是让多操作系统用户能够无缝运行 WebGL 和其他 OpenGL ES 内容,其方式是将 OpenGL ES API 调用转换为该平台支持的硬件 API 之一。目前,ANGLE 可将 OpenGL ES 2.0、3.0 和 3.1 转换为 Vulkan、桌面版 OpenGL、OpenGL ES、Direct3D 9 以及 Direct3D 11。未来计划包括支持 ES 3.2、转换到 Metal、支持 MacOS、Chrome OS 和 Fuchsia。
各底层渲染器对 OpenGL ES 的支持程度
| Direct3D 9 | Direct3D 11 | 桌面版 GL | GL ES | Vulkan | Metal | |
|---|---|---|---|---|---|---|
| OpenGL ES 2.0 | 完全支持 | 完全支持 | 完全支持 | 完全支持 | 完全支持 | 完全支持 |
| OpenGL ES 3.0 | 完全支持 | 完全支持 | 完全支持 | 完全支持 | 完全支持 | |
| OpenGL ES 3.1 | 完全支持 | 完全支持 | 完全支持 | |||
| OpenGL ES 3.2 | 开发中 | 开发中 | 完全支持 |
此外,前端使用 OpenGL ES 3.0 特性实现了 OpenGL ES 1.1。因此,在上述所有支持 OpenGL ES 3.0 的平台上,均支持该版本规范,但存在已知问题。
各底层渲染器对平台的支持情况
| Direct3D 9 | Direct3D 11 | 桌面版 GL | GL ES | Vulkan | Metal | WebGPU | |
|---|---|---|---|---|---|---|---|
| Windows | 完全支持 | 完全支持 | 完全支持 | 完全支持 | 完全支持 | ||
| Linux | 完全支持 | 完全支持 | |||||
| Mac OS X | 完全支持 | 完全支持 [1] | |||||
| iOS | 完全支持 [2] | ||||||
| Chrome OS | 完全支持 | 计划中 | |||||
| Android | 完全支持 | 完全支持 | |||||
| Fuchsia | 完全支持 |
[1] Metal 在 macOS 10.14 及更高版本上受支持
[2] Metal 在 iOS 12 及更高版本上受支持
2011 年 10 月,ANGLE v1.0.772 通过了 OpenGL ES 2.0.3 一致性测试,获得合规认证。
ANGLE 的 Vulkan 后端已获得以下认证:
- OpenGL ES 2.0: ANGLE 2.1.0.d46e2fb1e341(2019 年 11 月)
- OpenGL ES 3.0: ANGLE 2.1.0.f18ff947360d(2020 年 2 月)
- OpenGL ES 3.1: ANGLE 2.1.0.f5dace0f1e57(2020 年 7 月)
- OpenGL ES 3.2: ANGLE 2.1.2.21688.59f158c1695f(2023 年 9 月)
ANGLE 还提供 EGL 1.5 规范的实现。
在 Windows 平台上,ANGLE 是 Google Chrome 和 Mozilla Firefox 的默认 WebGL 后端。Chrome 在 Windows 上的所有图形渲染都使用 ANGLE,包括加速的 Canvas2D 实现和 Native Client 沙箱环境。
ANGLE 着色器编译器的部分代码被多个平台的 WebGL 实现用作着色器验证器和转换器。它在 Mac OS X、Linux 以及浏览器的移动版本中均有使用。统一的着色器验证器有助于确保不同浏览器和平台都能接受一致的 GLSL ES 着色器集合。着色器转换器可用于将着色器转换为其他着色语言,并可选择性地对着色器进行修改,以解决原生图形驱动程序中的错误或缺陷。该转换器的目标语言包括桌面版 GLSL、Vulkan GLSL、Direct3D HLSL,甚至原生 GLES2 平台的 ESSL。
OpenCL 实现
除了 OpenGL ES 之外,ANGLE 还在同一个输出 GLES 库中提供了一个可选的 OpenCL 运行时。
此项工作目前仍在进行中/处于实验阶段。
这项工作提供了与 OpenGL 实现相同的优势,即 OpenCL API 可被转换为该平台上可用的其他硬件支持的 API。
通过底层渲染器支持的 OpenCL 版本
| Vulkan | OpenCL | |
|---|---|---|
| OpenCL 1.0 | 进行中 | 进行中 |
| OpenCL 1.1 | 进行中 | 进行中 |
| OpenCL 1.2 | 进行中 | 进行中 |
| OpenCL 3.0 | 进行中 | 进行中 |
上述每个受支持的底层渲染器最终都会成为用户可选择的 OpenCL Platform。
OpenCL 后端是一种“直通”实现,它根本不执行任何 API 转换,而是将 API 调用转发到其他 OpenCL 驱动程序/实现。
OpenCL 还包含一个在线编译器组件,用于在运行时编译 OpenCL C 源代码(类似于 GLES 和 GLSL)。根据所选的后端,编译器实现可能会有所不同。以下是渲染器列表以及每个渲染器使用的 OpenCL C 编译器实现:
Vulkan:clspvOpenCL:编译器是原生驱动程序的一部分
源代码
ANGLE 代码库由 Chromium 项目托管,可以通过 在线浏览 或使用以下命令克隆:
git clone https://chromium.googlesource.com/angle/angle
构建
请查看 开发环境设置说明。
贡献
-
加入我们的 Google 群组 以了解最新动态。
-
在 Slack 上的 #angle 频道加入我们。您可以按照 Chromium 开发者页面 上的说明加入 Slack 频道。对于 Google 员工,请按照此 文档 中的说明,使用您的 google 或 chromium 邮箱加入 Slack 频道。
-
选择一个 ANGLE 分支 在您自己的项目中跟踪。
-
阅读 ANGLE 开发 文档。
-
成为 代码贡献者。
-
遵循 ANGLE 的 编码标准。
-
了解如何 为 Chromium 开发构建 ANGLE。
-
获取有关 调试 ANGLE 的帮助。
-
阅读 ANGLE 新手指南 并浏览 问题。如果您决定承担任何任务,请发表评论,以便与我们取得联系,更重要的是,将自己设为该错误的“负责人”。这样可以避免多人意外处理同一个问题。
-
在 Khronos WebGL 维基 上了解 WebGL。
-
了解 ANGLE 的内部结构:
- 概述,重点介绍 Vulkan 后端(2022 年)
- 关于 Vulkan 后端的 简短演示(2018 年)。
- 关于 ANGLE 的演变及其在 Chromium 中的使用的历史 演示
- 重点介绍 D3D 的历史 演示
- 《OpenGL Insights》中关于 ANGLE 的章节 ANGLE 初始实现的详细信息(这些细节已严重过时,此处列出仅作历史参考)
-
阅读有关 Vulkan 后端 的设计文档
-
了解 ANGLE 的 测试基础架构
-
查看有关 ANGLE 支持的扩展 的信息
-
如果您在自己的项目中使用 ANGLE,我们很乐意了解相关情况!