Log

Author Commit Date CI Message
McKnight22 9de2cfb0 2023-05-13T18:24:11 [riscv64][android] support 64-bit builds on riscv64 For arch riscv, android supports riscv64 only. So, only riscv64 is added to be supported. co-authors: McKnight22 <tao.wang.2261@gmail.com> Wang Chen <wangchen20@iscas.ac.cn> Bug: angleproject:8165 Change-Id: Iaa732ece963e82abeb7ae517eae3a26e1314f56c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4530628 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Chris Dalton 7aadc962 2023-05-05T19:28:17 Ban transform feedback and blend extensions with PLS Transform feedback can lead to render pass breaks in the Vulkan backend. EXT_blend_func_extended may restrict the number of draw buffers depending on API state, which can invalidate a PLS implementation. KHR_blend_equation_advanced does not allow multiple draw buffers, which is required by some PLS implementations. Bug: angleproject:7279 Change-Id: Id89f0e485ee65f55d802b121018f13b0028d8029 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4510716 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cody Northrop ec308b35 2023-05-15T15:03:10 Vulkan: Add feature to limit sample count to 2 This CL adds a feature called `limitSampleCountTo2`. Using it will have the Vulkan backend limit max samples to 2. Why 2? That's the minimum required in Vulkan to multisample without error. Here's an example validation error: vkCmdResolveImage: srcImage sample count is VK_SAMPLE_COUNT_1_BIT. The Vulkan spec states: srcImage must have a sample count equal to any valid sample count value other than VK_SAMPLE_COUNT_1_BIT. https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdResolveImage-srcImage-00257 Using a limit as opposed to forcing a value allows non-multisampling (sample count of 1) to continue working. To see how tests fare when the feature is set, see the following test results that force the value on: https://chromium-review.googlesource.com/c/angle/angle/+/4534098/4 Test: adb shell setprop debug.angle.feature_overrides_enabled limitSampleCountTo2 Bug: b/279498079 Bug: angleproject:8162 Change-Id: I1df2822709151e6084c32055b5aff444e0b10db5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4518562 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Greg Schlomoff <gregschlom@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Jason Macnak 5ab2fa96 2023-05-12T08:38:19 Vulkan: Move texture QFOTs to syncState() ... (and getAttachmentRenderTarget() which is syncState()-like for deferred clear) so that QFOTs are not actually scheduled until first use. SurfaceFlinger optimistically creates EGL images and textures for AHBs in case it does need them in the future. However, the images and textures may go unused. Prior to this change, ANGLE would create pending QFOT barriers while importing AHBs into EGL images and GL textures. However, SurfaceFlinger may not be doing any "real work" (other than repeatedly creating and destroying EGL images and GL textures) which would result in the command buffers containing the QFOTs being flushed. This can result in a large build up of unreleased memory (as the VkDeviceMemory would still be kept alive by the reference from the unflushed QFOT command buffer) and lead to the low memory killer nuking processes. Bug: b/282075554 Test: cts -m CtsOpenGLTestCases -t android.opengl.cts.GLSurfaceViewTest Test: adb shell dumpsys SurfaceFlinger Test: angle_end2end_tests --gtest_filter=ImageTestES3.AHBImportReleaseStress/ES3_Vulkan Change-Id: I7776abb2c6f834e96aa3926c26e77c53352ee561 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4527437 Commit-Queue: Jason Macnak <natsu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 10ac4803 2023-05-16T11:49:01 sync_restricted_traces_to_cipd checks for extra files Do not allow files outside of the expected ones (TraceFiles in json) * Ran this check on existing traces: we have a few extra cpp files in goddess_of_victory_nikke, lilys_garden Ask for confirmation before uploading (--upload to bypass) Other cleanup (threading instead of multiprocessing, much less noisy logging etc) Upload is no longer done in parallel. This might mean slower upload of large batches (batch upgrade in experimental?) but would make failures easier to understand. Bug: angleproject:8137 Change-Id: I71530b886541e8b1afe9d436bf300006afb06bd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4538368 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Jean-François Geyelin c2c8b062 2023-05-11T22:38:48 [Risc-V] Fix definition of kAndroidOpenGLTlsSlot. On Risc-V, ANGLE was using a TLS offset of 3. This worked... sometimes! On Risc-V, the android OpenGL TLS slot is supposed to be -5, as per tls_defines.h. Tested by running cuttlefish with Swiftshader + ANGLE on Risc-V Bug: b/273278430 Change-Id: Ib32f7dbcc158085b75f4befc277a03229ff87152 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4521034 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jean-François Geyelin <jif@chromium.org>
angle-autoroll 293b1901 2023-05-16T12:44:12 Roll SwiftShader from a62e8dbc3467 to 28718d8b4108 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/a62e8dbc3467..28718d8b4108 2023-05-15 bclayton@google.com Update SPIR-V Tools to 51892874b 2023-05-15 bclayton@google.com Update SPIR-V Headers to 268a06176 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I0617daa9ebbf602f342276e577703e4e79e629e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4537343 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 6f959e07 2023-04-28T16:00:11 Vulkan: Add non-device memory option for VMA image * Updated the required flags for allocateAndBindMemory() to no longer include VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, though still preferred. This allows VMA to allocate from another memory type if the device is out of memory. * Added a debug message to indicate when allocated memory for VMA image does not have all the preferred property flags. * Also added a warning in the case of memory allocation fallback. * Added a perf counter to keep track of image allocation fallbacks from the device memory. * deviceMemoryImageAllocationFallbacks * Added a test to make sure that VMA images can still be allocated from other memory types even if device memory is unavailable. * VulkanImageTest.AllocateVMAImageWhenDeviceOOM Bug: b/280304441 Change-Id: Ic452c18ded25345cdb7e271442372b99aede045e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4493483 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
angle-autoroll 7e821114 2023-05-15T10:01:51 Roll vulkan-deps from 0d737f701865 to 3a356ab97987 (1 revision) https://chromium.googlesource.com/vulkan-deps.git/+log/0d737f701865..3a356ab97987 Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ddf9014d5e..ce2c6eff34 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,yuxinhu@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I68353f46ccfb406da66f5f54f67dae1075ed6057 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4529405 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 57e4bb88 2023-05-15T07:47:41 Roll Chromium from 93d466c4f825 to 79f85a216141 (797 revisions) https://chromium.googlesource.com/chromium/src.git/+log/93d466c4f825..79f85a216141 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,yuxinhu@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/be4486352a..44a4b24b05 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d5e79e117c..f2cb09f94e * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/229ff3e232..129773dde5 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/466fae0b49..9d1f44540f * third_party/android_build_tools/bundletool: xnKkaX2u7XVfsUzExic0KW3jYMINpI16Ll9QYESBoI8C..Xt6znihJ60Ym06wn163_2B0HOt2tNsV5fVy-BpYJZcMC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..730ebc3ef2 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d69302761b..a1e578320b * third_party/fuchsia-sdk/sdk: version:12.20230511.4.1..version:12.20230512.2.1 * third_party/r8: abiZREVM1fg-Xrkh7hOo6XBXRWEkkaCsMd9Mk902_L0C..h3mD8cigmlOPxMqeMRW8Z2Wb364bRLWUMdjhwWy_UPsC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/d4255de5da..062d938956 * tools/luci-go: git_revision:c53344de69401cd5d608484b37cd6545f328406c..git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c * tools/luci-go: git_revision:c53344de69401cd5d608484b37cd6545f328406c..git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/708c2490ca..d0e45e54c3 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/a72f7279f7..25bb7e161f No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I9c6556b959922bcd917f23a5d75a3c80f0211929 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4529404 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 560ba1c6 2023-05-13T01:42:21 Revert "Suppress VUID-vkCmdDrawIndexed-None-0784x" This reverts commit aa6291aa43aa34ed5eb68c6b7faaba94ce08ef74. Reason for revert: The roller was successful. The issue seems to have been fixed. Original change's description: > Suppress VUID-vkCmdDrawIndexed-None-0784x > > * Suppressed the following VVLs > * VUID-vkCmdDrawIndexed-None-07840 > * VUID-vkCmdDrawIndexed-None-07841 > * VUID-vkCmdDrawIndexed-None-07843 > * VUID-vkCmdDrawIndexed-None-07844 > * VUID-vkCmdDrawIndexed-None-07845 > * VUID-vkCmdDrawIndexed-None-07847 > * VUID-vkCmdDrawIndexed-None-07848 > > Bug: angleproject:8159 > Change-Id: Id516d0a8e677b00b3f46a456d07386c5fd91d6dc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4514440 > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> > Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8159 Change-Id: I00d45397cf72facfc60674563f95e81df80cc7c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4529339 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Amirali Abdolrashidi 17dbf435 2023-05-13T01:11:19 Revert "Suppress more of VUID-vkCmdDraw-None-0784x" This reverts commit c441206103b14f68fc5cfa9434f4058429a714dd. Reason for revert: The roller was successful. The issue seems to have been fixed. Original change's description: > Suppress more of VUID-vkCmdDraw-None-0784x > > * Suppressed the following VVLs > * VUID-vkCmdDrawIndexed-None-07840 > * VUID-vkCmdDrawIndexed-None-07841 > * VUID-vkCmdDrawIndexed-None-07843 > * VUID-vkCmdDrawIndexed-None-07847 > > Bug: angleproject:8151 > Bug: angleproject:8159 > Change-Id: I7fe36cfa34b8157af0be7f0c35779185a6b341aa > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4514442 > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> > Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8151 Bug: angleproject:8159 Change-Id: I41082df93a55c4eec46ad7d0d048a8159472a7d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4528542 Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jason Macnak c94ee61c 2023-05-11T16:40:09 Tests: Update AHB test to skip if format/usage combo not supported Bug: b/282075554 Test: angle_end2end_tests --gtest_filter=ImageTestES3.*/ES3_Vulkan on Cuttlefish Change-Id: Icd8a9ad71d5b59d5754f4c32f3c4dffb32bf845c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4527436 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop ad01f53c 2023-05-11T09:44:13 Vulkan: Add additional nullptr check in ShouldReportDebugMessage Some platforms are using the callback for non-VVL messages, and we just need an additional nullptr check for pMessageIdName when deciding whether to print it. Test: Trace tests on S23 with VVL enabled Bug: angleproject:8163 Change-Id: Id76903e01be859f6ae7a6d253ed32ae54cd682ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4522466 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov b526112d 2023-05-12T11:31:06 Tests: include system EGL configs for ES3.1 and ES3.2 tests These are enabled with angle_test_enable_system_egl=true Example: [ OK ] ProgramPipelineTest32.CreateProgramWithTransformFeedbackVarying/ES3_2_EGL (280 ms) Bug: b/278585075 Change-Id: Ic991b3bc6fa36a6856b28fcfc7a433ac183a2c4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4526358 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 70a8d65e 2023-05-12T10:38:08 Roll vulkan-deps from 8ea63733746a to 0d737f701865 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/8ea63733746a..0d737f701865 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/54b48a2f3a..7cb2f62e3b * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c504ef71a4..ddf9014d5e 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 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 ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Change-Id: If6d7e8eae0479c43c63063556aa84bf82032109d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4525681 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 86e43cd7 2023-05-12T07:00:49 Roll Chromium from 44507c8368c2 to 93d466c4f825 (518 revisions) https://chromium.googlesource.com/chromium/src.git/+log/44507c8368c2..93d466c4f825 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/4afa042ddb..be4486352a * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6f530a0176..5d2ccbf93c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8d3ac7dfa2..466fae0b49 * third_party/android_build_tools/lint: uCylUrC5eRYlMPJJhaQVDtSIVVxyY78Rn1_VRuEl61gC..MTFSl9JaPMnHhDPun-Ry9w5lM4HeEVlSFebjgzoraCQC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8f7d68d6ce * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/db74c58138..d69302761b * third_party/fuchsia-sdk/sdk: version:12.20230510.3.1..version:12.20230511.4.1 * third_party/r8: 0gcMolQsxjUMbPA45S29WIXedlOUN8pu5W2H2cuJxwYC..abiZREVM1fg-Xrkh7hOo6XBXRWEkkaCsMd9Mk902_L0C * tools/luci-go: git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025..git_revision:c53344de69401cd5d608484b37cd6545f328406c * tools/luci-go: git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025..git_revision:c53344de69401cd5d608484b37cd6545f328406c * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/0a32157f59..708c2490ca * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f9d9e292b2..a72f7279f7 No update to Clang. Bug: angleproject:5223,angleproject:6430 Tbr: abdolrashidi@google.com Change-Id: I407815ce1341e9ab855c5fb8aaf380875295ce34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4525679 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 25def1a0 2023-05-11T17:52:09 Android test runner expects 'gtest' and marks test list gtest is passed as the first argument when running as out/Android/angle_trace_tests, previously skipped via argv[2:] --list-tests usually includes "Tests list:" / "End tests list." markers around the list - which is how GetTestsFromOutput finds them, but we didn't include them in stdout. There is some other noise in stdout on Android so instead of printing full stdout just add the markers back Bug: b/276474703 Change-Id: I20ba59eb25e543b005974674b0f3688cd767b1aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4519232 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov df53154b 2023-05-09T12:02:13 Add a script to bundle trace(s) for sharing with partners. Similar to mb.py zip but with a few ANGLE-specific tricks significantly reducing the clutter, and with a couple of helper scripts added to the zip (see file docstring for details). vs mb.py, single trace, not including lib.unstripped: 400+MB => <100MB ~5800 files => <50 files Time to bundle: ~30s => ~6s Bug: b/276474703 Change-Id: I57f51dd6302045d02d0ee94ef84186446cafd570 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4518061 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang b1395bcb 2023-05-09T12:34:55 GL: Disable EXT_clip_control on Mali-G72 and G76. Querying the clip control state from the driver when sychronizing external contexts generates driver errors. Simply disable this extension in this configuration for now. Chrome is currently not using it for rasterization. This issue was noticed on specific Huawei devices in the wild. It hasn't been observed on other OEMs. Bug: chromium:1434317 Change-Id: I88d9bff1933274f61020b75e68aee9c94b0b684a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4518062 Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Colin Blundell <blundell@chromium.org>
angle-autoroll 17df1270 2023-05-11T10:01:32 Roll vulkan-deps from 917d7c4c0a58 to 8ea63733746a (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/917d7c4c0a58..8ea63733746a Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/14e57abf26..d9c3c7538b * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/43968206cb..c504ef71a4 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 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 ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Change-Id: Id226db2daf2e4628d6f4d135dd082ee323962327 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4522465 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Brian Sheedy 914d798d 2023-05-10T14:30:15 Dedup Gold properties code Updates ANGLESkiaGoldProperties to use the newer method of providing the repo's root directory instead of completely overriding how the HEAD SHA1 is obtained. There should be no functional change as a result of this. Bug: chromium:1443021 Change-Id: I7464dabf2c31008b119c8f6a8454c6a7f8f9a68f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4521886 Auto-Submit: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 5f553f0c 2023-05-11T07:01:38 Roll Chromium from 1e9340f9e024 to 44507c8368c2 (677 revisions) https://chromium.googlesource.com/chromium/src.git/+log/1e9340f9e024..44507c8368c2 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/6bbe2e2f61..4afa042ddb * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/33efc9db43..6f530a0176 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a6b84b1027..8d3ac7dfa2 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/2248225726..534624edd1 * third_party/android_build_tools/manifest_merger: ySC3BNx98q7gghvjZBjXRXhn_vwg5qb5diTesW2i8OAC..VcQAPv15h63jZcRobvLMBWCiuDXUdmwB8OH1x6W1aJMC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..70baabbf93 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f155639336..db74c58138 * third_party/fuchsia-sdk/sdk: version:12.20230509.4.1..version:12.20230510.3.1 * third_party/r8: _46Jff_5DxQREre2ppSsZwebqQYn7rCXCukEvdhmjqsC..0gcMolQsxjUMbPA45S29WIXedlOUN8pu5W2H2cuJxwYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/1e3e58d7f0..d4255de5da * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/864d61e2e7..f9d9e292b2 * tools/skia_goldctl/linux: a-YJwLTxkjqd2RiPjLgNKQrPzZY4CwqYLxtiQmB1KM8C..Y4KbWrn94Q3XMtUG5zAFQkKK2DY32rJV5Grv42AT5qoC * tools/skia_goldctl/mac_amd64: UVEHL3UFZ4Zyc_SiQYiOWInJuMcA4GAcLMlCWyEH6W0C..huUbnRIj6CyYWSe88yS4ODBXplfnN9iL6uyI1bzHY7oC * tools/skia_goldctl/mac_arm64: AwMNPFd_J5v55oBqSbV3MzxaPtyLyLmtEA_e1KMQ_PcC..kBju_chgeLThGXBkWpPEZT-bsQwUPPELuxpH0qlQ1yMC * tools/skia_goldctl/win: rZtqSPxHMFApdEuqDjW0FlpdEQJTl335JOkoHTawxtkC..iaI7s2Phd7gvMbflj7i0DWmQtZoGldRf0TTQKnQn2tYC No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: I01552658da82d3df64a0cbc52fba03fe6db04e50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4522386 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Hailin Zhang 8b9440b6 2023-05-01T15:31:01 Vulkan: add option to control pipeline cache data compression. Bug: b/258207403 Change-Id: I487b1cadbacfa2f7ee889a8f58278307a126a391 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4497248 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Yuly Novikov 39ac3fab 2023-05-10T17:43:17 Start ANGLE Mac Intel 13.3 experiment Bug: chromium:1429033 Change-Id: I8c640004f3255b8c563e172b8bbce9c516437277 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4517830 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Hailin Zhang deab374e 2023-05-09T10:29:21 Vulkan: skip releaseStagedUpdates when not owned this is only a temp quick fix for b/279677207. may introduce rendering issue there are still other multi-thread race issues. the stagedupdates come from defer clears or empty entries. Bug: b/279677207 Change-Id: Idfd21120e5fe916d0d9d205dba2d71695085a5d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4518740 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
angle-autoroll 97a23603 2023-05-10T10:01:30 Roll SwiftShader from 9ebfb6b54814 to a62e8dbc3467 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/9ebfb6b54814..a62e8dbc3467 2023-05-09 hwennborg@google.com [llvm] Use LLVM-style include guard in regex_impl.h If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-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 SwiftShader: https://bugs.chromium.org/p/swiftshader/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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I1fe3a2e36b2503b35ffcdfc36bf8b3ec4ba0ee1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4520555 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d4363943 2023-05-10T10:01:50 Roll vulkan-deps from e672f7dbab42 to 917d7c4c0a58 (53 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/e672f7dbab42..917d7c4c0a58 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/bc6b2bc17a..14e57abf26 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/4faeb81f3f..54b48a2f3a * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/01055c60cf..51892874ba * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/ab6f4023be..6c787b7fb3 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/b647be6419..fec27a3f6e * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/94f89255bc..43968206cb 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 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 ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Change-Id: I13bbf81aebf3b1f2699bfeda7570f9b88717a833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4519846 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1b8d11a5 2023-05-10T07:38:02 Roll Chromium from d08108198321 to 1e9340f9e024 (1189 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d08108198321..1e9340f9e024 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/d609da478e..6bbe2e2f61 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a26ff314e9..33efc9db43 * buildtools/linux64: git_revision:3dadaf0ee3ee07d7c29ad926e1a42d90068d7e6b..git_revision:26aa46c283e40199b6f847ecca088dcea7099ded * buildtools/mac: git_revision:3dadaf0ee3ee07d7c29ad926e1a42d90068d7e6b..git_revision:26aa46c283e40199b6f847ecca088dcea7099ded * buildtools/win: git_revision:3dadaf0ee3ee07d7c29ad926e1a42d90068d7e6b..git_revision:26aa46c283e40199b6f847ecca088dcea7099ded * testing: https://chromium.googlesource.com/chromium/src/testing/+log/74258afcd3..a6b84b1027 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/c225168a18..1ab95012c7 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e40b8a3047 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/4931c18599..f155639336 * third_party/fuchsia-sdk/sdk: version:12.20230505.3.1..version:12.20230509.4.1 * third_party/r8: _FuL1VmaJnETpwNIaiuiSLxVNzzt0qXGmsfAck4CPCkC.._46Jff_5DxQREre2ppSsZwebqQYn7rCXCukEvdhmjqsC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/448305bbeb..1e3e58d7f0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/0377ee52d9..0a32157f59 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5b4a9ede47..864d61e2e7 No update to Clang. Bug: angleproject:7079 Tbr: abdolrashidi@google.com Change-Id: Ic6f8aa5ac3e6507bf5af1d867840c73fa3731fdb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4519844 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Scott Violet b0f9c01e 2023-05-01T12:54:10 metal: adds feature that minimizes generated shader differences This adds a feature (enabled by default) that results in generating the same code regardless of whether emulateAlphaToCoverage is enabled or addExplicitBoolCasts. This is done to maximize cache sharing. Bug: chromium:1423136 Change-Id: Ia491f13469c750fc2c45aecf1f93fed53b782dc5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496254 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org>
Cody Northrop 3d455fe4 2023-05-03T15:35:47 Android: Galaxy S23 support This CL: * Adds detection of the device * Adds end2end test support * end2end test expectations for Vulkan backend * Works around driver issue with vkCmdSetLogicOpEXT Test: angle_end2end_tests, angle_trace_tests Bug: b/277717225, b/281128706 Bug: angleproject:8157 Change-Id: If6caa5b2ba0b9d7f94e1be0841bcff2ea1c34d89 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4509693 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuly Novikov a7b26adf 2023-05-09T18:12:27 Revert "Retry flaky failures on SwiftShader *SAN builds." This reverts commit f0d2dbec74362c07806d9adb57f27bfa2ff6e91c. Reason for revert: flakiness root cause expected to be fixed Original change's description: > Retry flaky failures on SwiftShader *SAN builds. > > This should green up the TSAN builder. > > Bug: chromium:1275223 > Change-Id: Id8dc2e35b739caa6688d13fcabfefb9833940d79 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804745 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Auto-Submit: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Bug: chromium:1275223 Change-Id: I53645f859d7288fb82c258a0540259ae8a9e7138 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4517644 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Geoff Lang e482d4b2 2023-05-08T17:53:14 Store the temp file name in a std::string instead of stack array It's possible to overflow the tempFile buffer if the temporary file directory is too long. Bug: chromium:1443445 Change-Id: Id6038f54cba2dfb524a5602df99bf775aecb4450 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4515532 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 64680f53 2023-05-05T15:58:21 Scripts: Fix non-root hash check Use run-as to ensure the file can be read by test app. Test: angle_trace_tests on prod device Bug: b/276742336 Change-Id: I006f40396712064ebe6d68e04de17537a8143320 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4509708 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
angle-autoroll 6134a19f 2023-05-09T10:02:16 Roll SwiftShader from ecefa6c65969 to 9ebfb6b54814 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/ecefa6c65969..9ebfb6b54814 2023-05-08 natsu@google.com Align allocations to 4096 on Android hosts If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-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 SwiftShader: https://bugs.chromium.org/p/swiftshader/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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I6fd67049c46cd89472b41f4bf0c46af68fe845ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4516142 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi c4412061 2023-05-08T18:46:10 Suppress more of VUID-vkCmdDraw-None-0784x * Suppressed the following VVLs * VUID-vkCmdDrawIndexed-None-07840 * VUID-vkCmdDrawIndexed-None-07841 * VUID-vkCmdDrawIndexed-None-07843 * VUID-vkCmdDrawIndexed-None-07847 Bug: angleproject:8151 Bug: angleproject:8159 Change-Id: I7fe36cfa34b8157af0be7f0c35779185a6b341aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4514442 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi aa6291aa 2023-05-08T15:49:15 Suppress VUID-vkCmdDrawIndexed-None-0784x * Suppressed the following VVLs * VUID-vkCmdDrawIndexed-None-07840 * VUID-vkCmdDrawIndexed-None-07841 * VUID-vkCmdDrawIndexed-None-07843 * VUID-vkCmdDrawIndexed-None-07844 * VUID-vkCmdDrawIndexed-None-07845 * VUID-vkCmdDrawIndexed-None-07847 * VUID-vkCmdDrawIndexed-None-07848 Bug: angleproject:8159 Change-Id: Id516d0a8e677b00b3f46a456d07386c5fd91d6dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4514440 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang fbca2b29 2023-05-08T16:19:54 Metal: Build built-in shaders from source on the simulator Compiling the built-in shaders with iphonesimulator sdk generates the same shaders as on iOS which do not work on the simulator. Fall back to simply building them from source on the simulator. Bug: chromium:1385510 Change-Id: If6a3846fd06a4ff12c1e46c31f207e2a7b6c50bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4515521 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll d7a684e9 2023-05-08T19:54:52 Manual roll vulkan-deps from 446f1da0d121 to e672f7dbab42 (2 revisions) Manual roll requested by abdolrashidi@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/446f1da0d121..e672f7dbab42 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2189ad7a5a..01055c60cf 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 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 ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Change-Id: I13800ee8b23983d557c806cd876f8e74398e1015 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4514776 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 74d1da6c 2023-05-08T11:07:28 Add instruction for trace tests w/multiple devices * Added instruction on running trace tests when more than one device is available through adb. Bug: None Change-Id: I4522311d4ad3517634f9c34b7af8c546bf4665e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4509237 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev 9c376a02 2023-03-31T00:00:00 Metal: Implement ANGLE_polygon_mode Bug: angleproject:1791 Change-Id: Iea1e10751ad8e853b4fb209952488211cfa4bac4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4497909 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev c710023d 2023-03-31T00:00:00 D3D11: Implement ANGLE_polygon_mode Bug: angleproject:1791 Change-Id: I17a1ec9222199d4afb2dbcba3d0219f0a37f6a67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4500079 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7f04dc7d 2023-04-19T15:05:47 Reland: Metal: Embed precompiled default shaders. Compile all builtin shaders to an embedded mtllib to avoid the overhead of compiling them at startup. This reland adds ios simulator precompiled shaders. Bug: chromium:1385510 Change-Id: Ic8585ffe566875e705f2fb00f8e665e8a80797f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4512494 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 1a847d4a 2023-05-08T07:01:47 Roll Chromium from 16e9449c3c88 to d08108198321 (723 revisions) https://chromium.googlesource.com/chromium/src.git/+log/16e9449c3c88..d08108198321 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,cnorthrop@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/54bd39c0c5..d609da478e * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/dd3595d173..a26ff314e9 * buildtools/linux64: git_revision:5a004f9427a050c6c393c07ddb85cba8ff3849fa..git_revision:3dadaf0ee3ee07d7c29ad926e1a42d90068d7e6b * buildtools/mac: git_revision:5a004f9427a050c6c393c07ddb85cba8ff3849fa..git_revision:3dadaf0ee3ee07d7c29ad926e1a42d90068d7e6b * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/737446fc52..f8279b0108 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/66967963e9..d5e79e117c * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/88bd83fe09..229ff3e232 * buildtools/win: git_revision:5a004f9427a050c6c393c07ddb85cba8ff3849fa..git_revision:3dadaf0ee3ee07d7c29ad926e1a42d90068d7e6b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7a97f0e3c4..74258afcd3 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/eec484b5a6..2248225726 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..7924448af6 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/71ab1b77a7..4931c18599 * third_party/fuchsia-sdk/sdk: version:12.20230504.4.1..version:12.20230505.3.1 * third_party/r8: 7-lseJ9e9PfiZg_2LgyaUA4ru9NwaTGoDwYGMYP0BeYC.._FuL1VmaJnETpwNIaiuiSLxVNzzt0qXGmsfAck4CPCkC * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/dc8628ce87..0377ee52d9 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/02f2a2edd4..5b4a9ede47 No update to Clang. Bug: angleproject:5223,angleproject:6430 Tbr: cnorthrop@google.com Change-Id: I319fdde69f4ff5b854a86f45c70175a2eb03cf77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4511879 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov 255c6738 2023-04-28T21:08:01 Vulkan: Fix flaky linux-asan-test failure with asyncCommandQueue Regression from this commit: Vulkan: Clean up CommandProcessor::queuePresent https://chromium-review.googlesource.com/c/angle/angle/+/4257927 Details: - `CommandProcessor::processTask()` handles `CustomTask::Present`; - It calls `CommandProcessor::present()` that assigns `swapchainStatus->isPending = false`; - `CommandProcessor` thread is suspended for a while...; - `WindowSurfaceVk::destroy()` calls `waitForPresentToBeSubmitted()`; - It sees that `swapchainStatus->isPending == false` and skips waiting; - `WindowSurfaceVk` (and `SwapchainStatus` ) instance is destroyed; - `CommandProcessor` thread resumes and checks `task->getSwapchainStatus()->lastPresentResult` - ASAN failure. The 460 bytes offset is `SwapchainStatus::lastPresentResult` member inside `WindowSurfaceVk` instance. Test that failed: ImageTest.ValidationGLEGLImageExternal/ES2_Vulkan_SwiftShader_AsyncCommandQueue ==27108==ERROR: AddressSanitizer: heap-use-after-free on address 0x61e0000eea4c at pc 0x7f98434e0e10 bp 0x7f98363c0a70 sp 0x7f98363c0a68 READ of size 4 at 0x61e0000eea4c thread T29 #0 0x7f98434e0e0f in rx::vk::CommandProcessor::processTask(rx::vk::CommandProcessorTask*) src/libANGLE/renderer/vulkan/CommandProcessor.cpp:664:59 0x61e0000eea4c is located 460 bytes inside of 2880-byte region [0x61e0000ee880,0x61e0000ef3c0) freed by thread T0 here: #0 0x5651c72a563d in operator delete(void*) /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cpp:152:3 #1 0x7f9843f4c8c9 in SafeDelete<rx::SurfaceImpl> src/common/angleutils.h:285:5 previously allocated by thread T0 here: #0 0x5651c72a4ddd in operator new(unsigned long) /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cpp:95:3 #1 0x7f9843a38599 in rx::DisplayVkXcb::createWindowSurfaceVk(egl::SurfaceState const&, long) src/libANGLE/renderer/vulkan/linux/xcb/DisplayVkXcb.cpp:99:12 Bug: b/269524271 Change-Id: Ie70bc9e2b89267653ddb6b3a30c1a67e22864f26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4491743 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 54532241 2023-01-19T15:45:29 Vulkan: Remove mUse related code from SyncHelperNativeFence Since adding `rx::vk::ExternalFence` class, waiting on `mUse` is almost the same as waiting directly on `mExternalFence`. Because `mUse` is no longer required to release the fence and to reduce code complexity, `mUse` related code paths were removed. Since `SyncHelperNativeFence` no longer using `mUse` no need to inherit from `SyncHelper`. Added `SyncHelperInterface` abstract base instead. Bug: angleproject:8115 Change-Id: I2aabbc905d833f8bf6db36b3be356d6db40349d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4392880 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Mark Lobodzinski 577b6c8d 2023-05-05T10:49:04 Tests: Add Street Fighter IV CE trace Test: angle_trace_tests --gtest_filter=TraceTest.street_fighter_iv_ce Bug: b/281007960 Change-Id: I81da4b005c50e915090f342d50362e4f8f0ac1f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508393 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao 76fa3806 2023-05-04T10:19:35 Vulkan: Expand BufferOnly path for VertexArray binding change VertexArrayVk has a fast code path for attribute change where the only change is buffer (i.e, no format or relativeOffset change). It will pass in bufferOnly to syncDirtyAttrib() call and will avoid invalidate graphics pipeline. This CL expands DIRTY_BIT_BINDING_n change and will also try to detect the bufferOnly case. This CL and crrev.com/c/4507978 together seeing Gfxbench driver overhead score improves 1.48% (from average 6804 before CLs to 6905 after CLs) on pixel 7 pro. Bug: b/277644512 Change-Id: I71da1b886bb26ba2629b83af3aeaba4d45c3d3c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4504919 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Charlie Lao <cclao@google.com>
Charlie Lao 086b6c20 2023-05-04T15:55:31 Vulkan: Simplify TransformFeedback buffer tracking Right now the buffers that used by transform feedback is tracked by mCurrentTransformFeedbackBuffers, which is angle::FlatUnorderedSet. With the QueueSerial numbers, this can be much simplified. This CL removes mCurrentTransformFeedbackBuffers. It adds a new QueueSerial variable called mCurrentTransformFeedbackQueueSerial, and is inavlid if no active transform feedback. Then check if a buffer is used by transform feedback is as simple as check if it is written by mCurrentTransformFeedbackQueueSerial. Since buffers are already tracked by queue serial, so there is no new tracking needed. It is simply a check if the buffer contains mCurrentTransformFeedbackQueueSerial or not. Bug: b/280889890 Change-Id: I54bdc4a0cfc7194a12d2aa0abdc67a3211949024 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507978 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov 961788fd 2023-05-05T11:35:38 Capture/Replay: reorganize trace-related gni Move trace-related code from gni/angle.gni to src/tests/angle_traces.gni Rename template angle_trace_library to angle_trace_libs as the idea is for it to build multiple libs. Name outside-of-apk lib group ${target_name}__unpacked_libs which is more consistent with how targets are usually named in gn, and makes the dependency explicitly tied to template instantiation. Bug: b/276474703 Change-Id: I316f2a549063b8ebae177f4ffc0d4a8de1942384 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508387 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Igor Nazarov 903d9fdf 2023-01-19T15:37:45 Vulkan: Implement ExternalFence for use in SyncHelperNativeFence `ExternalFence` allows concurrent usage in `CommandQueue` and `SyncHelperNativeFence` classes eliminating need of additional `vkQueueSubmit()` call. Waiting in `CommandQueue` on `QueueSerial` or `ResourceUse` will ensure corresponding state of the native FD (because `CommandQueue` will wait on the same FD instead of some other fence). After this change there will be only single `vkQueueSubmit()` call from the `SyncHelperNativeFence::initializeWithFd()` method. This CL and the follow-up is sufficient to fix the bugs below. Bug: angleproject:8115 Bug: angleproject:8117 Test: angle_end2end_tests --gtest_filter=EGLSyncTest.AndroidNativeFence_ExternalFenceWaitVVLBug* Change-Id: Ic562ecc71a95203454a1dc438589a13bcf3bff7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4392879 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov e71207de 2023-01-18T13:39:58 Vulkan: Fixes in rx::vk::SyncHelperNativeFence class Issues: - Resource::mUse was not updated in initializeWithFd() method, making code paths, that checking for "mUse" a dead-code. - mFenceWithFd may be potentially destroyed while still in use. (Because mUse is not valid). - missing checkCompletedCommands() in getStatus(), that may cause infinite loop in the application. Bug: angleproject:8115 Change-Id: I857d785f564b809eb83417fe5f212f7d0f12c5b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4392878 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Roman Lavrov 7d6d18e4 2023-05-05T09:48:19 Improve adb root handling If `id -u` returns 0, adbd is already running as root (convenient fast path for local dev and seems we have that on bots too) If `which su` returns something, we should be able to get root. If "su" is there but we can't get adb root, raise. Go back to up to 10 seconds wait. On my local device adb root is routinely taking ~4 seconds. adb root restarts adbd on the device so it's expected not to be fast. Bug: b/276742336 Change-Id: If720b9176ba18ebd9734c0b8288eabc5970b5ef8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508392 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 72f9add4 2023-05-03T15:30:33 Vulkan: Initialize mLastSubmittedQueueSerial to valid value Currently, ContextVk::mLastFlushedQueueSerial and ContextVk::mLastSubmittedQueueSerial are invalid after Context initialization. Although, invalid QueueSerial will always test as submitted and finished, this produce a edge case. In case of SyncHelper::mUse, we can not longer assert that mUse.valid() after submitSyncIfDeferred() call, because invalid mUse is now a valid case... This CL initializes both members to valid value, that will also always test as submitted and finished. This removes the edge case, and allow using assert in SyncHelper to check if everything works as expected. Bug: b/277644512 Change-Id: I6be71596ab7dca1026764756fba7b21b81524413 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4503485 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Roman Lavrov 3ad1d702 2023-05-04T15:57:43 angle_trace_tests_android_binaries: test -> group We don't need it to be a test to begin with. But I looked into it because test with use_raw_android_executable=True makes things really complicated due to the way this is implemented upstream: ''' this __dist target here https://crsrc.org/c/testing/test.gni;drc=acb6ab509901650450fc387c0d9f09eb6f3f3248;l=265 which uses create_native_executable_dist which copies files according to the list of libs: https://crsrc.org/c/build/config/android/rules.gni;drc=a8c26a11f6cf763a5e81b2bced40584a678b9b8a;l=94 which is actually generated not at build time but by gn gen (also called when editing gn args) and so the inputs are not the libs themselves but this file which only contains a list of file names so when libs change there is no change to the inputs of this rule.. so it doesn't get invoked and the copy doesn't happen ''' One caveat is we need to produce a list of .so libs as a data dependency for them to be picked up by isolate Bug: b/276474703 Change-Id: I375a5be8499f13311654244036e36c60d945c363 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507534 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Igor Nazarov e24f4519 2023-01-19T02:30:39 Vulkan: Add externalFence into submitCommands() Currently one-off fence in the `queueSubmitOneOff()` is used only in `SyncHelperNativeFence::initializeWithFd()` to submit external fence. Other `queueSubmitOneOff()` calls may use `QueueSerial` instead of a fence. Providing `fence` into `queueSubmitOneOff()` prevents tracking that submission with `QueueSerial`. Therefore using `mUse` to collecting `mFenceWithFd` as garbage will not work as intended. This CL removes `fence` from `queueSubmitOneOff()` and adds optional `externalFence` into `submitCommands()` instead. Providing `externalFence` will cause additional `vkQueueSubmit()` call: - first submission will submit everything as usual except using the `externalFence`. - second, will only submit internal `CommandQueue` fence for `QueueSerial` tracking. As the result of this CL, call to `initializeWithFd()` will always produce two (2) `vkQueueSubmit()` calls. Previously it may be one (1) or two (2) submissions. Future CL will reduce submission count to one (1). If add additional submission into `queueSubmitOneOff()` instead of `submitCommands()`, then maximum number of submissions will be three (3). Bug: angleproject:8117 Change-Id: I6f1ec12682aaab71bfc871e665fec2659df96b26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4392877 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
angle-autoroll df8733c9 2023-05-05T09:08:55 Roll Chromium from becaac9672a0 to 16e9449c3c88 (618 revisions) https://chromium.googlesource.com/chromium/src.git/+log/becaac9672a0..16e9449c3c88 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,cnorthrop@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/1345fb9c5d..54bd39c0c5 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/fe9a4e4107..dd3595d173 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/9460fb138d..737446fc52 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/19470647da..7a97f0e3c4 * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/f0c7b47622..f312145c41 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/5353fa6142..d8e55758cb * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b573b0676 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/dbcecc9017..71ab1b77a7 * third_party/fuchsia-sdk/sdk: version:12.20230503.3.1..version:12.20230504.4.1 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9969814713..448305bbeb * tools/luci-go: git_revision:e91834850a06011c64eb9a24f317371194bde3de..git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025 * tools/luci-go: git_revision:e91834850a06011c64eb9a24f317371194bde3de..git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/295d9239b1..dc8628ce87 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ce6519bca3..02f2a2edd4 * tools/python: https://chromium.googlesource.com/chromium/src/tools/python/+log/00ecbd0693..64dd0e593f * tools/skia_goldctl/linux: CxdbSDz7x0X2t_Dg2V1hC-j5REZM59AmMDtLZNg9J_8C..a-YJwLTxkjqd2RiPjLgNKQrPzZY4CwqYLxtiQmB1KM8C * tools/skia_goldctl/mac_amd64: 66xq4FM7P4vA4N6oUkuUIEHz8vHWRjxClUgkjPZ71pQC..UVEHL3UFZ4Zyc_SiQYiOWInJuMcA4GAcLMlCWyEH6W0C * tools/skia_goldctl/mac_arm64: d3aWqZUdjjbgmIsOh-iK7HRZKaYz672JkzWg-0BkauUC..AwMNPFd_J5v55oBqSbV3MzxaPtyLyLmtEA_e1KMQ_PcC * tools/skia_goldctl/win: 5HtHEYI8MUjySHqpU8-ewiaPfNEVcY0SamdPah6R0CYC..rZtqSPxHMFApdEuqDjW0FlpdEQJTl335JOkoHTawxtkC Clang version changed llvmorg-17-init-8029-g27f27d15:llvmorg-17-init-10134-g3da83fba Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/996981471300dc79bd41808d4b02bc44ee1112e7..448305bbeb6dfddd88b74a016c6aeeb16d6de1cd/scripts/update.py Bug: angleproject:6430 Tbr: cnorthrop@google.com Change-Id: Ifa152a1d4e8239666c070cf1353efe708938a0e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508558 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop dd7eb1d8 2023-05-04T14:07:44 Scripts: Fix non-root support in android_helper.py Test: angle_trace_tests on production device Bug: b/276742336 Change-Id: I7c1f33adb37d8109540c70ac402e43462c046cec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4504920 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop d925c5c9 2023-05-04T16:16:11 Revert "Metal: Embed precompiled default shaders." This reverts commit 9f6c9f6630b63f541f5fd875aef87ce2a26fd618. Reason for revert: iOS Metal tests broken downstream: https://ci.chromium.org/ui/p/chromium/builders/ci/ios-blink-dbg-fyi/4972/overview Original change's description: > Metal: Embed precompiled default shaders. > > Compile all builtin shaders to an embedded mtllib to avoid the overhead > of compiling them at startup. > > Bug: chromium:1385510 > Change-Id: I1c31ae0088babae01a9e42d63b3c2c30b65f4476 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4450126 > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Quyen Le <lehoangquyen@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> Bug: angleproject:8152 Bug: chromium:1385510, chromium:1441754 Change-Id: I7f253f7aa14117b93d1e09ed61db0c4563fc9c3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508064 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 1f672466 2023-05-02T16:13:13 Make export_targets faster Use temporary sets, then sort them is faster than sorting all the time. And a faster regex. ~1.5s faster presubmits on my machine. Bug: None Change-Id: Ieb4a9c35781ffba7ae0057086490489727b305ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507977 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov e350330d 2023-05-02T09:57:42 Fix EGLContextCompatibilityTest registration Before this CL these tests are not registered at all. Avoid test name duplicates by skipping configs. Bug: angleproject:8088 Change-Id: I0d9b8260bd2ed76bda7fb46e6a131c4d2624c55f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492920 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Mark Lobodzinski c687078a 2023-05-01T16:45:19 FrameCapture: Add GLES1 case for BlendFunc state init/reset A recent frame capture change added state init/reset for glBlendFunc/glBlendFuncSeparate calls and combined them to avoid complexity, but this caused crashes in GLES1 native trace playback. This CL separates handling of the two calls. Test: angle_trace_tests --gtest_filter=TraceTest.street_fighter_iv_ce Bug: b/280329971 Change-Id: I34d674e2fc051f5af70a60a24e5b65c5ce54fd49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4494261 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Peng Huang 55df82e0 2023-05-04T15:23:08 Fix crash in std::stoi() std::stoi() will throw exceptions when the input is invalid, so change to use std::atoi() which doesn't throw exception. Bug: chromium:1401610 Change-Id: I188412363b26286003b5daf311e5725fe4c4d7e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507533 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Peng Huang <penghuang@chromium.org>
Shahbaz Youssefi 7fd01d03 2023-04-19T00:54:24 Vulkan: Throttle the CPU without holding the global lock CPU throttling goes through CommandQueue and is thread-safe. Performing it in an unlocked tail call allows other unrelated EGL calls to go through. Bug: angleproject:8135 Change-Id: Idb3841be5d8ea8c4b76217f6707be26b28ea39c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4444027 Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov fdb2dcb1 2023-05-02T14:24:20 Gather auto_script 'inputs' and 'outputs' in parallel Get rid of chdir which breaks parallel execution due to global state. Makes dirty verification faster. auto_script runs scripts with args which can be slow (as scripts have imports) On my machine, this speeds up verification from ~6s to ~1.3s Bug: None Change-Id: I78227cc80be54b0901029a286b0f017d36348a71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4499820 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 1ad27152 2023-04-18T12:17:00 Switch angle_trace_tests scripts to android_helper out/Android/angle_trace_tests {args} replaces (cd out/Android; python3 ../../src/tests/run_angle_android_test.py {args}) changes this generated file: % grep angle_android_test_runner out/Android/bin/run_angle_trace_tests args = ['@WrappedPath(../../src/tests/angle_android_test_runner.py)', 'gtest', '--output-directory', '@WrappedPath(.)', '--wrapper-script-args', '--runtime-deps-path', '@WrappedPath(gen.runtime/src/tests/angle_trace_tests__test_runner_script.runtime_deps)', '--suite', 'angle_trace_tests'] android_helper.py is already what we use for running traces on bots (we don't invoke out/Android/angle_trace_tests when IsAndroid()) so this change affects only local runs Keep run_angle_android_test.py to be able to run other suites, but now it takes --suite instead of a positional arg (which is consistent with how scripts are invoked on CI) Bug: chromium:1441148 Change-Id: I5af10e8df7d9a651e0a9d52e47e3bce28d7a931b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4442006 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Justin Novosad fbff065c 2023-05-03T22:19:07 Replace GetResourceFromHashSet with map lookup Function GetResourceFromHashSet had linear time complexity because it was sweeping through the set until a resource with a matching ID was found. This change replaces hash sets with hash maps to get constant time lookup. This solves, among other things, O(N^2) time complexity for rendering scenes containing a large number of surfaces. Function GetResourceFromHashSet was consuming over 50% of all CPU time on the main thread of Chrome's GPU process while running the MotionMark 1.2 Images test. With this change, the benchmark score increases by 70% on an M1 MacBook running a PGO official build of Chrome. Bug: chromium:1435066 Change-Id: I895ac0141a91d324c63adec2c0efb8e030d9675b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505950 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Justin Novosad <junov@chromium.org> Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Shahbaz Youssefi d6481cdf 2023-04-18T22:36:39 Vulkan: Make eglPrepareSwapBuffersANGLE thread-safe This function now only calls vkAcquireNextImageKHR without any further processing of its results. That is deferred to the following eglSwapBuffers call which does that under the share group lock. The vkAcquireNextImageKHR call, together with the allocation of its related semaphore and fence are protected by a fine-grained lock. mNeedToAcquireNextSwapchainImage is turned atomic to guard against races to call vkAcquireNextImageKHR from multiple contexts. Note that the latter is not currently possible, but will be once calling vkAcquireNextImageKHR is moved to the end of the render pass. Bug: angleproject:6851 Bug: angleproject:8133 Change-Id: If2eeab475b4acf0621fd930c43d9d86a78a9197b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4445495 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 2087fe01 2023-05-04T10:01:41 Roll vulkan-deps from 94976560d112 to 446f1da0d121 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/94976560d112..446f1da0d121 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/dfc97740ff..bc6b2bc17a * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/7f1d2f4158..268a061764 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a525dccbe8..2189ad7a5a * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/870a531486..bae9700cd9 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/71254bedee..ab6f4023be * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/631fde41b2..94f89255bc 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ibed0395d18f93a573519d2f90c6aca1e5f3253df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505298 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4c704c52 2023-05-04T10:01:14 Roll SwiftShader from b89ed2f23a03 to ecefa6c65969 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/b89ed2f23a03..ecefa6c65969 2023-05-03 stha09@googlemail.com IWYU: add cstdint for uintptr_t in llvm-10.0 Signals.h If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-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 SwiftShader: https://bugs.chromium.org/p/swiftshader/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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ie7e9bd406f585eccd3dcb8450791626e2f155110 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505116 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f03ad027 2023-05-04T07:58:10 Roll Chromium from 70803179b4b8 to becaac9672a0 (552 revisions) https://chromium.googlesource.com/chromium/src.git/+log/70803179b4b8..becaac9672a0 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,cnorthrop@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/64c99419f9..1345fb9c5d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/cb7297fa0d..fe9a4e4107 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/d756fe5d80..9460fb138d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/4f51cb92dc..19470647da * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/c7a5260448..eec484b5a6 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2717171db9 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f2da906faf..dbcecc9017 * third_party/fuchsia-sdk/sdk: version:12.20230502.3.1..version:12.20230503.3.1 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/56556e9bb6..9969814713 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1c3d2fa970..295d9239b1 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/022202937e..ce6519bca3 No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I46964252afc052633f1322c4643a69bf58635447 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505297 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi cd171d2e 2023-03-28T14:58:57 Vulkan: Enable async pipeline cache compression * Enabled the feature after adding more header data, including original cache size, chunk index, and CRC. Bug: b/246683126 Change-Id: Idef85f0a6f9e0072fcb800aedb6b720cc88c46b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4378720 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi d0ee0197 2023-05-03T13:41:36 WebGL: Limit total size of private data ... not just individual arrays. Bug: chromium:1431761 Change-Id: I721e29aeceeaf12c3f6a67b668abffb8dfbc89b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4503753 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov aa1dc5da 2023-05-03T19:36:04 Revert "Vulkan: Simplify present history logic" This reverts commit 1dee7cad284dda0c7c3ca18c10d8b7764353c7b0. Reason for revert: error: SurfaceVk.cpp:784 (destroy): ! Assert failed in destroy (..\..\src\libANGLE\renderer\vulkan\SurfaceVk.cpp:784): fence.getStatus(device) == VK_SUCCESS Example builds: https://ci.chromium.org/ui/p/angle/builders/try/win-test/13341/overview https://ci.chromium.org/ui/p/angle/builders/try/win-test/13345/overview Original change's description: > Vulkan: Simplify present history logic > > Instead of marking `ImagePresentOperation` as corresponding to an older > swapchain, accumulate all present history in the `mOldSwapchains`. > > Keeping old Swapchain's `ImagePresentOperation` with Fences can lead to > multiple "old swapchains" lists. This may cause situations exceeding > the `kMaxOldSwapchains` limit. > > Keeping items with Fences may help cleanup resources faster, but I think > that it is not worth the code complexity. It also should be safe to > recycle Fences at the same time as the Semaphores (when the first image > is recycled). > > Also this CL may fix bug: > if (mPresentHistory.empty() || mPresentHistory.back().imageIndex == kInvalidImageIndex) > The above condition will always pass when using actual present Fences > (VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT). > > Bug: angleproject:7847 > Change-Id: I39d854b03733dcb976c6bd7eb5f848d0cbece5d6 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481251 > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Bug: angleproject:7847 Change-Id: Icf0cf5b12dd1efa682abebd83699b8d87dc07427 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4502778 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 2fec8ae8 2023-05-02T15:53:29 Vulkan: Handle inactive render pass in draw-based clear For simplicity, if a render pass is open for the current framebuffer but is not active, a new one is started in UtilsVk::clearFramebuffer. A future optimization could decide to reactive the render pass instead, but needs to check for whether that's possible (with a condition similar to what's found in ContextVk::handleDirtyGraphicsRenderPass) Bug: chromium:1440764 Change-Id: I727d4ecefc2bc0a1a9e399b8851c4cc830d20879 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4499765 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 64727601 2023-05-03T12:44:56 Manual roll vulkan-deps from 7873f429a5c2 to 94976560d112 (18 revisions) Cherry-picked from https://chromium-review.googlesource.com/c/angle/angle/+/4500931 https://chromium.googlesource.com/vulkan-deps.git/+log/7873f429a5c2..94976560d112 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9c7fd1a33e..dfc97740ff * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/8e1001e938..a525dccbe8 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/18fafc6399..631fde41b2 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I9fe7700694ce5bae68a8de0f75e6c2531bb35ed3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4500929 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 1dee7cad 2023-01-17T18:01:49 Vulkan: Simplify present history logic Instead of marking `ImagePresentOperation` as corresponding to an older swapchain, accumulate all present history in the `mOldSwapchains`. Keeping old Swapchain's `ImagePresentOperation` with Fences can lead to multiple "old swapchains" lists. This may cause situations exceeding the `kMaxOldSwapchains` limit. Keeping items with Fences may help cleanup resources faster, but I think that it is not worth the code complexity. It also should be safe to recycle Fences at the same time as the Semaphores (when the first image is recycled). Also this CL may fix bug: if (mPresentHistory.empty() || mPresentHistory.back().imageIndex == kInvalidImageIndex) The above condition will always pass when using actual present Fences (VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT). Bug: angleproject:7847 Change-Id: I39d854b03733dcb976c6bd7eb5f848d0cbece5d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481251 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Cody Northrop 533cf9a4 2023-05-02T22:39:09 Vulkan: Suppress new VUID-vkCmdDraw-None VVL errors Test: angle_trace_tests --gtest_filter="*slingshot_test2*" Bug: angleproject:8151 Change-Id: Ifc26a57fe92b57c30f253f5bb491a1ac3932f2f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4500928 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 24844560 2023-05-03T08:10:05 Roll Chromium from 4c9976e5d118 to 70803179b4b8 (627 revisions) https://chromium.googlesource.com/chromium/src.git/+log/4c9976e5d118..70803179b4b8 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,cnorthrop@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/26b89abb7f..64c99419f9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7f6b6fac63..cb7297fa0d * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/bcadf44b4f..d756fe5d80 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/05c5e65b61..4f51cb92dc * third_party/android_build_tools/lint: ZSkxAL8_7h9oDrnzrXhEq5YeRe4P5Y1qh1eQY0iWtCsC..uCylUrC5eRYlMPJJhaQVDtSIVVxyY78Rn1_VRuEl61gC * third_party/android_build_tools/manifest_merger: ys365zMawyT4G5W5lx5QYlkBTYDr8GUdTF1kPeF3pkYC..ySC3BNx98q7gghvjZBjXRXhn_vwg5qb5diTesW2i8OAC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/41123c305e..c225168a18 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..247560fd67 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1398e4fc69..f2da906faf * third_party/fuchsia-sdk/sdk: version:12.20230501.3.1..version:12.20230502.3.1 * third_party/r8: tVFTXgyHbHbRUFR6AWNCWnxy98HagL_hRE1f5KLfEbsC..7-lseJ9e9PfiZg_2LgyaUA4ru9NwaTGoDwYGMYP0BeYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2f9ce8ce37..56556e9bb6 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/ad09606a4b..1c3d2fa970 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7c6c15207c..022202937e No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I64b533ccb1c76b206d3474a6720ce4472577b523 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4501378 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi a73e546c 2023-04-14T13:40:19 Vulkan: Add pending memory size for VMA images * Added implementation for vma::FindMemoryTypeIndexForImageInfo(). * Add pending memory allocation tracking for VMA images using the memory requirement from getMemoryRequirements() and the memory type index from the function above. Bug: b/218891184 Change-Id: I1c3d3a8f5f36eb57bd7a5a059aa3bf713b819831 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428535 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop dcc37e31 2023-05-02T13:22:18 Vulkan: Restore stencil write mask workaround for ARM Still has issues on latest drivers. Test: angle_trace_tests --gtest_filter="*pokemon_go*" Bug: b/279715714 Bug: angleproject:7556 Change-Id: I4d46cdc2b86da374413f97e45858e18022e0cc7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4499032 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev b052a5bf 2023-03-31T00:00:00 Vulkan: Implement polygon mode extensions * NV_polygon_mode * ANGLE_polygon_mode Bug: angleproject:1791 Bug: angleproject:8132 Change-Id: I2beffdad0c1569546020b78a9c6d9b8ea87c2100 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4498687 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao 0561884e 2023-04-26T17:26:42 Vulkan: Dirty VertexArray binding bit if buffer storage change In crrev.com/c/3669603, we did optimization for black_desert_mobile that when vertex array is unbound, we remove vertex array from buffer's observer list to reduce overhead of observer notifications when buffer is been modified. To compensate for the lost notification, when vertex array is bound, we always assume every buffer that is bound to vertex array has been dirtied, for the simplicity at that time. This CL further the optimization of that CL. In this CL, I moved the dirty bit set into backend and improves vulkan backend by checking buffer's serial number and only dirty the binding if the serial has changed. Given this, now we can also remove all the non-current vertex array from buffer's observer list (previously it is heuristic based with a hard coded observer count limit). This and the previous CL improves asphalt_9 by ~1%. Bug: b/277644512 Change-Id: Ibc3f8e3df9fe70c6879e0b2bca86d8487a9dba73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481241 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 89a8ba7d 2023-04-25T17:08:42 Vulkan: Add bit mask vertex array buffer binding point. There are various places we are looping all vertex binding points. Right now it is always 16, even though most of them do not have any buffer bound. This CL adds mArrayBufferBindingBitMask, which is the bit mask tracking all binding index that has a buffer bound. Now we only need to loop for all bindings that actually have a buffer, which usually much less than 16. This CL also removes some redundant use of "gl::" name space. Bug: b/277644512 Change-Id: I30d053274839bfa7c56487651b95c62f2a2c67e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4478229 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 2ceb04e0 2023-05-02T10:45:11 Initialize display TLS at thread creation time Bug: chromium:1441754 Change-Id: I611c6f591f2a6d3439e3c5d1250e2fde996c0ecf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496673 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov d4aacb29 2023-05-02T10:39:47 angle_end2end_tests Pixel 6 shards: 4 -> 8 There are much more Pixel 6 bots now and even without the current slowdown we should be running this in more shards. Bug: angleproject:8150 Change-Id: Id688f27f77dcc4181e21a1d7b2b8c50fd0363278 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4497730 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 0d78cbe8 2023-05-01T10:01:03 Roll vulkan-deps from 4b61bdad813f to 7873f429a5c2 (45 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/4b61bdad813f..7873f429a5c2 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/fc9bee27f4..4faeb81f3f * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/cfbe4feef2..7f1d2f4158 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/25ad5e19f1..8e1001e938 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/8a397558c4..870a531486 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/07d1854c67..71254bedee * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/df10a2759b..b647be6419 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/86e3809a9d..18fafc6399 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,ianelliott@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ianelliott@google.com Change-Id: I3def7445e0677b8fefd102732c0a875160dbef72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496325 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll acbba222 2023-05-02T07:59:37 Roll Chromium from fe2d690d4674 to 4c9976e5d118 (429 revisions) https://chromium.googlesource.com/chromium/src.git/+log/fe2d690d4674..4c9976e5d118 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,cnorthrop@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/345dcdfdbf..26b89abb7f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/baf37dbb78..05c5e65b61 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..247560fd67 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ce9bc414c0..1398e4fc69 * third_party/fuchsia-sdk/sdk: version:12.20230501.0.1..version:12.20230501.3.1 * third_party/r8: EY3UUuH4bTp3sn3Da79Wfu5qAQo4GWGifjruAPnqGjwC..tVFTXgyHbHbRUFR6AWNCWnxy98HagL_hRE1f5KLfEbsC * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/fbc7772d39..ad09606a4b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/54d900c07f..7c6c15207c No update to Clang. Bug: angleproject:5038 Tbr: cnorthrop@google.com Change-Id: Ib158f3b3092b525c56ac89311df3b7de3cf87ac2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4498302 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 1fc399c6 2023-05-01T22:29:35 Vulkan: Adjust VVL suppression after VU consolidation Bug: angleproject:8119 Change-Id: I42746d399841591e78114cb26c2e377e255e791e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492542 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 5c04f18a 2023-04-24T16:18:24 Vulkan: Remove DisplayVk param from ToEGL It's no longer used Bug: angleproject:3041 Change-Id: I5063152d1598aa5d40d94bbf5c643a1288589037 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4470387 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 144f2d2c 2023-04-24T12:52:27 Vulkan: Use thread-local space for EGL errors The assumption in anglebug.com/3041 that ANGLE is "single-threaded anyway" no longer holds. Bug: angleproject:3041 Change-Id: I613395c8003cad60764362d2776aaf7b6804b788 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4468107 Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 73f9cf00 2023-03-31T00:00:00 GL: Implement polygon mode extensions * Implemented polygon mode extensions on the OpenGL backend * Supported capture and serialization of the new commands and state * Added PolygonModeTest end2end tests Bug: angleproject:1791 Bug: angleproject:8132 Change-Id: I3bc08546a02f110dd739950129bee25ccc507bf6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492683 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi cd6a58f2 2023-04-18T12:45:10 Vulkan: Make eglPrepareSwapBuffersANGLE less special This function now uses the UnlockedTailCall mechanism so it doesn't require as much special-case code generation. This change does not fix the bug that this function is doing too much work without holding any locks. That will be done in a follow up. Bug: angleproject:6851 Bug: angleproject:8133 Change-Id: I77f4d514ff4aeef85bc1cc59214f7caa23aca7df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4443186 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev b7a5714f 2023-03-31T00:00:00 Add polygon mode extension stubs * Added NV_polygon_mode * Specified a portable polygon mode extension implementable on all ANGLE backends Bug: angleproject:1791 Bug: angleproject:8132 Change-Id: I018aaaf1fb43ec16910859b152049e02169ede91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492684 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Geoff Lang 9f6c9f66 2023-04-19T15:05:47 Metal: Embed precompiled default shaders. Compile all builtin shaders to an embedded mtllib to avoid the overhead of compiling them at startup. Bug: chromium:1385510 Change-Id: I1c31ae0088babae01a9e42d63b3c2c30b65f4476 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4450126 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi 1328f2f3 2023-04-17T16:43:12 Vulkan: Destroy the surface without holding the EGL lock This change defers surface destruction to the end of the entry point that causes it so that it is done without holding the EGL lock. This works around a specific deadlock in Android. On this platform: - For EGL applications, parts of surface creation and destruction are handled by the platform, and parts of it are done by the native EGL driver. Namely, on surface destruction, native_window_api_disconnect is called outside the EGL driver. - For Vulkan applications, vkDestroySurfaceKHR takes full responsibility for destroying the surface, including calling native_window_api_disconnect. Unfortunately, native_window_api_disconnect may use EGL sync objects and can lead to calling into the EGL driver. For ANGLE, this is particularly problematic because it is simultaneously a Vulkan application and the EGL driver, causing `vkDestroySurfaceKHR` to call back into ANGLE and attempt to reacquire the EGL lock. Since there are no users of the surface when calling vkDestroySurfaceKHR, it is safe for ANGLE to destroy it without holding the EGL lock. Note that only eglDestroySurface and eglMakeCurrent may lead to the destruction of a window surface. Bug: b/275176234 Bug: angleproject:8127 Change-Id: I02dc52e53e150943457e3f503e7ef30469f96b05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428754 Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov a88635c4 2023-04-28T18:54:25 Android logs also go to stdout/err, line-buffered if possible Currently logs like WARN() or INFO() only go to logcat, which doesn't make them visible in console. This change makes them go to both logcat and stdout/err. Fix android_helper choking on missing json data output when test crashes and test runner doesn't have a chance to produce that file. We still have the stdout/err in this case, so print it. However, a crash (such as SIGSEGV or __builtin_trap()) doesn't flush output so the non-flushed part of the buffer doesn't get in there. AngleNativeTest redirects stdout/err to a file which enables fully-buffered (stdlib) mode. Change this to line-buffered when stdout path is set to /data/ (/sdcard/ is slow) and use /data/data/com.android.angle.test/tmp/ as the temp path in android_helper. This makes e.g. FATAL() << "message"; show up in the logs in CI or local runs. This currently only applies to trace and perf tests, other tests will continue using fully-buffered /stdout/ as chromium's test_runner uses /sdcard/Download/ for temp files. Bug: b/276742336 Change-Id: Ia622c610f776f501223b0cca11d5ec1976eb9887 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4493463 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov fbf0e025 2023-05-01T14:21:01 Re-enable angle_restricted_trace_gold_interpreted_tests Works again once libangle_trace_interpreter is handled the same way as other trace libraries. Bug: b/276742336 Change-Id: Idc55c502c05cabbc38b766823ddfaa92cf2144b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492537 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 84b2e9d1 2023-05-01T13:52:54 Capture/Replay: android_helper handles traces in/outside of apk * list files in apk using `aapt list` * determine lib_extension (.so vs .cr.so) based on a known lib name * determine traces_outside_of_apk based on libangle_trace_interpreter * update so libs handling to use these vars * also fixes an issue where libangle_trace_interpreter.cr.so wasn't copied to the device due to a missing check for .cr.so Bug: b/276742336 Change-Id: I5ccc6490ed3398668feec56c816dd65a444234cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4495326 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov f46f3908 2023-05-01T14:06:16 Capture/Replay: fix interpreter lib placed inside/outside APK libangle_trace_interpreter is a shared library loaded the same way as binary trace libraries, so they should all go together either inside or outside the APK. Before this change this lib would end up inside the APK when binary libs were configured to stay outside of the APK. Bug: b/276742336 Change-Id: I690d63dcec94893692d6838bb816f9ec2477dfe1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4495327 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>