Log

Author Commit Date CI Message
angle-autoroll e698aee0 2023-08-21T10:01:18 Roll vulkan-deps from 14d9936ef38c to aa121378c102 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/14d9936ef38c..aa121378c102 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/3805888a57..c5117b328a * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b12fc2904a..bfc94f63a7 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/4830af39dc..dd8332d253 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/948bffe545..d1ff40512a 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,syoussefi@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: syoussefi@google.com Change-Id: I7da657c7ba7dc30c3cd2e4dff225a1f116046494 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4797175 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ee0df29e 2023-08-21T07:53:13 Roll Chromium from 19b3acaded0d to dd175d86ee90 (646 revisions) https://chromium.googlesource.com/chromium/src.git/+log/19b3acaded0d..dd175d86ee90 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,syoussefi@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/e9f9f56b0d..35d9bb8611 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fa612350fe..4ac1a5873d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3517008e56 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/978f43dd52..3aeb682373 * third_party/fuchsia-sdk/sdk: version:14.20230811.1.1..version:14.20230818.1.3 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/b113f23e4c..d92e619eaa * third_party/r8: tDdXJHu3mdHCZRM7rVC6e0OajNZJy8FGLqu9ItFtnUwC..crtFbDFNOQ4YZT_MQmz65TmbaQo5-URl1at11okEGTUC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/74786020a9..86670f0684 No update to Clang. Bug: angleproject:3686 Tbr: syoussefi@google.com Change-Id: Ic2f584390ffc436af1ec0ca74ceaaeb662dc5593 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4797174 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 3479f4a1 2023-08-16T14:43:35 Move more ProgramExecutable basic type vars to mBasicDataTypeStruct They can be just load/saved along with mBasicDataTypeStruct, no need to do them separately: mLinkedShaderVersions was previously only saved if it is separate program, now it is always saved along with mBasicDataTypeStruct, since the extra cost of a few more bytes of memcpy is ignorable, but will make it more consistent. mActiveUniformBlockBindings was previously updated instead of load, now it is load (and verified with ASSERT) mCanDrawWith was previously updated, now chnaged to load. Bug: b/275102061 Change-Id: I4e15b955606f34966d56b1c5e3d9d2f22ddeb14d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4786308 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov 99e3e652 2023-08-18T18:02:42 Traces: LoadBinaryData verifies that all data was read Bug: angleproject:8307 Change-Id: I4ae30b45a94e69ff2baa76b1b7d735a076c6611b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794111 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 0d701c81 2023-08-18T17:46:27 Traces: add temporary debug info to LoadBinaryData Unable to repro the bug by triggering tasks on swarming, hopefully this eventually catches something. Bug: angleproject:8307 Change-Id: I34dd0c8a9e82e54f3a07e2d7a249ddfaa543bae7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794110 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mike Schuchardt be60f879 2023-06-28T17:29:45 Workaround for tex buffer type mismatch In the event of a mismatch between a texture buffer format (eg GL_R32F) and the shader sampler type (eg usamplerBuffer), adjust the tex buffer format to match the sampler (eg GL_R32UI). Test: angle_end2end_tests \ --gtest_filter="TextureBufferTestES31.TexBufferFormatMismatch*" Bug: b/233119699 Change-Id: I3461bcecabfe1d96be6350c43c15b32d35265b23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769137 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mike Schuchardt <mikes@lunarg.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao c34f83d9 2023-08-16T11:53:27 Group all ProgramExecutable basic data type members into a struct So that we can load/save with a simple memcpy. Bug: b/275102061 Change-Id: I178404fd72b615174a7a0412ea5482ae2bea2f80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4785567 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi cf2c9c56 2023-08-17T10:45:51 Vulkan: Add VMA 3.0 support in ANGLE * Updated the VMA hash in the dependencies to the 3.0 version. * Updated ANGLE_VMA_VERSION in the build_override GN file to 3.0. * The ANGLE_VMA_VERSION in the root BUILD.gn is unchanged. * The flags and thresholds for the buddy algorithm are only used when the used VMA version is less than 3.0. * The general algorithm is used for all cases for VMA 3.0. Bug: b/295208838 Change-Id: I00a95a2c2513112f8888c40931da4e2e5db97e2b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777337 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
angle-autoroll 2768c8c4 2023-08-18T16:28:48 Roll VK-GL-CTS from 532cf9c253c0 to c04e157100c1 (17 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/532cf9c253c0..c04e157100c1 2023-08-18 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-08-18 javed@igalia.com Add tests for view mask iteration. 2023-08-18 ziga@lunarg.com Enable missing dynamicRendering feature in shader object tests 2023-08-18 ziga@lunarg.com Add missing check for shader objects support in compute tests 2023-08-18 ziga@lunarg.com Fix tessellation evaluation shader nextStage in shaderObject tests 2023-08-18 ziga@lunarg.com Add missing nextStages bit in shader object linked test 2023-08-18 ziga@lunarg.com Add tests filling buffer before copying query pool results 2023-08-18 pdaniell@nvidia.com Fix compile warning about missing return 2023-08-18 jbolz@nvidia.com Query device features/properties for promoted extensions 2023-08-18 ziga@lunarg.com Optimize tests initialization when using deqp-case 2023-08-18 rgarcia@igalia.com Disable depth clamp + clip extended dynamic state tests 2023-08-18 rgarcia@igalia.com Test XFB draws preceded by other indirect draws 2023-08-18 rgarcia@igalia.com Fix shader object dynamic depth clamp/clip tests 2023-08-18 rgarcia@igalia.com Remove ESO + shader_fragment_mask illegal variants 2023-08-18 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-08-17 lorenzo@khronosgroup.org Merge "Merge branch dev/VK_EXT_dynamic_rendering_unused_attachments to main" into main 2023-08-17 lorenzo@khronosgroup.org Merge "Merge branch dev/VK_EXT_attachment_feedback_loop_dynamic_state into main" into main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,geofflang@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: geofflang@google.com Change-Id: Ic61282b050ecb1cebb53800cb21807ede31f7ea4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794729 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mark Lobodzinski d85de0e9 2023-08-09T14:15:56 Capture/Replay: Add optional replay of trimmed resources This CL: - Adds '--include-inactive-resources' option to angle_trace_tests - Removes the 'trim-enabled' option - Outputs all previously trimmed shaders/programs to trace file in a new Setup function, SetupReplayContextSharedInactive() which is executed only if the new option is specified - Modifies CaptureTest to add inactive resources, but does not set the include-inactive-resources flag Bug: b/296055694 Change-Id: I33b18d5da727d55c90c2012c2bf64b1413521429 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781552 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Takuto Ikuta 7ede4232 2023-08-18T17:39:10 infra: switch angle builders to use reclient Bug: angleproject:8309 Change-Id: I1270611d13e9c8041414b2e00dfd3eec1b616bc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787412 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu 88341a52 2023-08-15T18:07:42 Update deqp_gles31 test expectations files Skip below test on Pixel 4 vulkan backend only dEQP-GLES31.functional.atomic_counter.* Bug: angleproject:5185 Bug: b/224537784 Change-Id: Ibc8e93f2dbe483fa6ef07104d14eaeab9d069ead Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4782155 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 3629eeee 2023-08-18T10:01:31 Roll vulkan-deps from cffce1cd0b9e to 14d9936ef38c (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/cffce1cd0b9e..14d9936ef38c Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/b70669a059..3805888a57 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/637c211c6f..633dc30135 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/32a97f8626..948bffe545 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,geofflang@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: geofflang@google.com Change-Id: I3c5725e4578e397a880ecd20fabc05d572b82139 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4793281 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3058ed44 2023-08-18T09:12:51 Roll Chromium from 6edc18195fd8 to 19b3acaded0d (512 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6edc18195fd8..19b3acaded0d 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,geofflang@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/4439c8aa49..e9f9f56b0d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5b14522559..fa612350fe * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2c0142037d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/07289ce941..978f43dd52 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/4c1ff08698..6a8358a142 * third_party/r8: _xu0hxSo_cEnMJPA-S-noLhx1IRAhNKER0h_icp-hSYC..tDdXJHu3mdHCZRM7rVC6e0OajNZJy8FGLqu9ItFtnUwC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/83b9ac2821..c6b57c49ce * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/988a4dec39..3748929a3d No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I0acb512574e3f26172ca362e1295a1b620730f19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4792411 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 5217beb2 2023-08-15T13:43:12 Reland "Tightly pack LinkedUniform by using int16_t" This is a reland of commit 152cf62b38874238095a91307e4ea9bcdedf8f46 Original change's description: > Tightly pack LinkedUniform by using int16_t > > There is a check of vector size when we link uniforms and the maximum > vector size is 4096 due to we clamp the maxUniformBlockSize to 64KB. In > reality, if we exceeds this number, program link will take really long > time and then hit failure. So there is no real need to keep all the > variables in 32 bit integer. This CL changes to 16 bit integer. Further, > sh::BlockMemberInfo and ActiveVariable data members are embeded into > LinkedUniform struct as well so that the unused variables can be removed > and data can be tightly packed. This also makes LinkedUniform easier to > maintain as a simple struct with basic data types. With this change, > LinkedUniform size is reduced from 108 bytes down to 60 bytes, 48 bytes > reduction. Given some apps has 200-ish uniforms, this CL reduces 48 > bytes x 200 = ~9K memory just for uniforms per program (which goes > through hash compute and decompression and file reads). > > Bug: b/275102061 > Change-Id: I7fae20f5b75f3239305e2094a992e3040b8c8e4c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754133 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: b/275102061 Change-Id: I1cdec9407e930608d3239a104dcbf77c8d8e2113 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4791661 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov d85b2905 2023-08-15T16:50:03 Android: improve error message due to missing trace libs I think this only happens when angle_restricted_traces wasn't set in gn args, resulting in traces outside of the apk. Previously we'd get a confusing error about missing gen/tracegz... files, now we get this: I15:55:48.527742Z Syncing harry_potter_hogwarts_mystery trace (1/1) Error: missing library: libangle_restricted_traces_harry_potter_hogwarts_mystery.so Is angle_restricted_traces set in gn args? Also removed swallowing errors in _PushLibToAppDir, crashing seems better than running with out of date files. Bug: b/294861737 Change-Id: I5696f35a910f6db2310d90e112a83881af3a8f50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781569 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 78f95b1e 2023-06-14T16:26:12 Add reclient and siso dependencies Bug: angleproject:8309 Change-Id: I4bac3f500b58b8881131c0f3679813e5adca09bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4683452 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu d425a6bb 2023-08-15T17:20:32 Update deqp_gles3* test expectations Restrict below test failure expectation on vulkan backend, nvidia driver only: dEQP-GLES3.functional.rasterization.flatshading.* Add buganizer ticket to track the progress of below test failure investigation: dEQP-EGL.functional.color_clears*other dEQP-EGL.functional.render*other Bug: angleproject:3430 Bug: b/295394803 Bug: b/224537784 Change-Id: I14c064a55ab81764c7dc7e4bdb894c964bc46858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4782154 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 1e1c9d9d 2023-08-11T15:16:26 Pack and reduce Program::mProgramInput size Right now mProgramInput is std::vector<sh::ShaderVariable>. It really only need a subset of ShaderVariable struct. This CL adds a ProgramInput struct so that we can add data members that actually required. This CL also makes bools into bitfield and some variables to uint16_t to further compact the size. This CL also groups the data memebers other than string to basicDataTypeStruct which only contains basic data types and the entire struct is memcpied during program binary load and save. This not just reduces number of memcpy calls, but also improves reliability so that when someone adds a new member into the struct, it will automatically load/save correctly. Bug: b/275102061 Change-Id: Ic055c986453ed46e56057a0122c9926245fef4d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776267 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov 124e90af 2023-08-17T13:07:46 Retrace: copy get_min_reqs data over when upgrading Bug: angleproject:7639 Change-Id: I9a6e3a5ca75d6dcd5b537123948d2498e6bb47f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4789844 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 8e744e9f 2023-08-14T14:40:41 Android: support dEQP in android_helper and add bundle script Example: autoninja -C out/Android angle_deqp_gles31_tests && (cd out/Android; ../../src/tests/run_angle_android_test.py --suite=angle_deqp_gles31_tests --gtest_filter='dEQP-GLES31.functional.image_load_store.3d.*') For angle_deqp_bundle.py example usage see comments at the top of the file. Note: this change is not supposed to have any impact on CI. dEQP tests are still ran using Chromium's test runner, not android_helper. Bug: b/293590167 Change-Id: I605102ebea8b135f3239ffac012ce5dc13e84943 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776109 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev aa8d60aa 2023-08-14T00:00:00 D3D11: Normalize blend state for MIN/MAX operations Use default blend factors for MIN/MAX operations to reduce the number of unique keys and to avoid D3D11 state allocation failures. Fixed: angleproject:8305 Change-Id: I6abcf93240653de8d7d8e174c1f8109d12de63e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776071 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 4ba4af61 2023-08-17T11:28:18 Revert recompile blocking on link Causing timeouts on some platforms. An alternative implementation will follow. This change also reverts two changes that depend on it: Vulkan: Move SPIR-V set up to link job 10f54902e816fa7e4cf314384e00590e2b9bfa1d. Vulkan: Move default uniform init to link job d8cd4dcdc9c55c88f030f7fca41357e99e600ed2. Bug: angleproject:8297 Change-Id: I9a258460e7bcaeac214be5e63c16c20681e0bcde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4789843 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Vivian Pao 9f48f931 2023-08-16T06:38:15 Revert "Tightly pack LinkedUniform by using int16_t" This reverts commit 152cf62b38874238095a91307e4ea9bcdedf8f46. Reason for revert: Suspect cause of failure in for several Linux MSan Tests, e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/42403/overview https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20MSAN/22174/overview https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/42403/overview Original change's description: > Tightly pack LinkedUniform by using int16_t > > There is a check of vector size when we link uniforms and the maximum > vector size is 4096 due to we clamp the maxUniformBlockSize to 64KB. In > reality, if we exceeds this number, program link will take really long > time and then hit failure. So there is no real need to keep all the > variables in 32 bit integer. This CL changes to 16 bit integer. Further, > sh::BlockMemberInfo and ActiveVariable data members are embeded into > LinkedUniform struct as well so that the unused variables can be removed > and data can be tightly packed. This also makes LinkedUniform easier to > maintain as a simple struct with basic data types. With this change, > LinkedUniform size is reduced from 108 bytes down to 60 bytes, 48 bytes > reduction. Given some apps has 200-ish uniforms, this CL reduces 48 > bytes x 200 = ~9K memory just for uniforms per program (which goes > through hash compute and decompression and file reads). > > Bug: b/275102061 > Change-Id: I7fae20f5b75f3239305e2094a992e3040b8c8e4c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754133 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: b/275102061 Change-Id: Id344e306307553731097f06edafc40bfeb73ff80 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4780494 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 5d2a1749 2023-08-17T09:52:57 Add an assert that capture_tests isn't supported on Android Bug: b/286067106 Change-Id: I3657faa7e2733ad28d1db844cb74e5224a6f47c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4790522 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Takuto Ikuta 3a5d67ce 2023-08-17T16:25:52 infra/config: add reclient property This CL is no-op but updated config is used in later CL. Bug: angleproject:8309 Change-Id: I49b6ae34ff9abc4eb30c864c5eac3d816b0a4298 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787411 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Takuto Ikuta 065c93dd 2023-08-17T11:03:08 infra/config: remove unused property This is to reland https://crrev.com/c/4778427. Bug: None Change-Id: I01d9ee2e55a649a235a91f9e78698bd5803d5d7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787408 Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Steven Noonan be7ab480 2023-08-10T12:04:45 gles: disable MSRTT on Windows/NVIDIA The angle_end2end_tests for MSRTT fail on Windows/NVIDIA/GLES, at least on driver version 536.99. Let's add Windows NVIDIA to the list of known bad configurations for disableMultisampledRenderToTexture. Bug: angleproject:8304 Change-Id: Ic102881bb6d483d5ff2bd0e86a07bf5fe3683fcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771740 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 59b0c7d7 2023-03-27T10:10:11 Add regression test for VVL AlphaToCoverage bug https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5520 Bug: b/264062978 Change-Id: I0619cb28495c16d0d8d83635ad7a93f0c47cea6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4374098 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll a8113564 2023-08-17T10:01:12 Roll vulkan-deps from 53e39be12b9e to cffce1cd0b9e (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/53e39be12b9e..cffce1cd0b9e Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/bccaa94db8..637c211c6f * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/45fc02a6c6..b8b9eb8640 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/89ca3aa571..b12fc2904a * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/d966a60f13..32a97f8626 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,geofflang@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: geofflang@google.com Change-Id: I022944441857abccb1796053cfba014d0380f304 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787952 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a2d00629 2023-08-17T07:00:22 Roll Chromium from 28c4ab8a8264 to 6edc18195fd8 (559 revisions) https://chromium.googlesource.com/chromium/src.git/+log/28c4ab8a8264..6edc18195fd8 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,geofflang@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/d7d4a53f82..4439c8aa49 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a5ad157866..c4a369c9b6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/048e8f0b6b..5b14522559 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/1ed18a0632..4ef9b33175 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8bcfe7164c * third_party/r8: X4k1imGXgYqjW4oVKyWAHesy7GhZBieTemaelA0yP8kC.._xu0hxSo_cEnMJPA-S-noLhx1IRAhNKER0h_icp-hSYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ad91d8af7d..74786020a9 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/2a4c4ba1f4..68be214291 No update to Clang. Bug: angleproject:3031 Tbr: geofflang@google.com Change-Id: I4a272f7f157ec43617b9d807ffaa9325b3369567 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4786903 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 78de02ab 2023-08-16T15:23:23 Warn only once for shader recompile during link Bug: angleproject:8297 Change-Id: Ia6ac89e4c474ff51c36fcc3506d9178f6a4aedaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4785947 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi ba41a4d8 2023-08-16T13:52:57 Suppress parallel-link tests on Asan/Windows/SwiftShader They are flaky with no clear reason. Bug: angleproject:8306 Change-Id: I1331c6d792417edccad6b337e55b3816df2c2f12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4783055 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 9e056e20 2023-08-16T15:30:57 Delete .gitmodules from ANGLE dependencies when rolling into AOSP Since git submodules aren't allowed in "external" projects, and ANGLE is an external project. Bug: b/40044404 Change-Id: I084530d2de47eb7b10b5d15a399312f2651b6525 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4784289 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 4fffc993 2023-08-15T14:10:58 Gold tests: add temporary logging of angledata hashes Should allow us to determine whether corruption happens between CAS and local files on bots or something's wrong with the test harness. Bug: angleproject:8307 Change-Id: I8a599777a38d7a1b5c56143eb8d02829895175a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777836 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
angle-autoroll 7c83c695 2023-08-16T10:01:42 Roll vulkan-deps from c3ff3250b9e7 to 53e39be12b9e (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/c3ff3250b9e7..53e39be12b9e Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/76b52ebf77..b70669a059 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7ddc65c722..89ca3aa571 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/450ead13e1..85c2334e92 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e6bdb8d714..d966a60f13 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,geofflang@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: geofflang@google.com Change-Id: I5fc145145adfe673ae02545585d00de97adaccb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781963 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll af169820 2023-08-16T07:43:08 Roll Chromium from 9931a5544b75 to 28c4ab8a8264 (455 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9931a5544b75..28c4ab8a8264 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,geofflang@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/542e6f274c..d7d4a53f82 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/855bdfca01..048e8f0b6b * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/0b15eb31a5..23d868f674 * third_party/android_sdk/public: EWnL2r7oV5GtE9Ef7GyohyFam42wtMtEKYU4dCb3U1YC..Sy00LuyBIUJdRGYKwg0zjWH8eAIUvgnnNiPkI8etaZYC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8474745739 * third_party/r8: 8aJvD7uHZ0Ek4sQy5vAbHUXWujgCHOVsAsJ137sXslkC..X4k1imGXgYqjW4oVKyWAHesy7GhZBieTemaelA0yP8kC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/159cd0f22c..83b9ac2821 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b59055f932..ffa3bdd3ba No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I618ba62d84e32aa93cf54f5afb702e690a227c01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4782500 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 152cf62b 2023-08-15T13:43:12 Tightly pack LinkedUniform by using int16_t There is a check of vector size when we link uniforms and the maximum vector size is 4096 due to we clamp the maxUniformBlockSize to 64KB. In reality, if we exceeds this number, program link will take really long time and then hit failure. So there is no real need to keep all the variables in 32 bit integer. This CL changes to 16 bit integer. Further, sh::BlockMemberInfo and ActiveVariable data members are embeded into LinkedUniform struct as well so that the unused variables can be removed and data can be tightly packed. This also makes LinkedUniform easier to maintain as a simple struct with basic data types. With this change, LinkedUniform size is reduced from 108 bytes down to 60 bytes, 48 bytes reduction. Given some apps has 200-ish uniforms, this CL reduces 48 bytes x 200 = ~9K memory just for uniforms per program (which goes through hash compute and decompression and file reads). Bug: b/275102061 Change-Id: I7fae20f5b75f3239305e2094a992e3040b8c8e4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754133 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev 59f158c1 2023-08-10T00:00:00 GL: Add explicitFragmentLocations workaround Some drivers produce incorrect results when a fragment output has an implicit location and gl_SampleMask[] is written to. Fixed: angleproject:8308 Change-Id: I615952ef61b1cb611984ec7defb189d89ab3281c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777702 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 29aae8ac 2023-08-14T15:33:16 Vulkan: Don't access the XFB object during link The descriptor set layout set up for XFB emulation lived in TransfromFeedbackVk, but did not access anything in that object at all. More importantly, it doesn't make any sense to look at the current XFB object when linking a program. Bug: angleproject:8297 Change-Id: I8bd0e747b7d3e3783ef053f20378cc42d2c1d997 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774786 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 10f54902 2023-08-09T17:21:20 Vulkan: Move SPIR-V set up to link job Bug: angleproject:8297 Change-Id: I2c7eb0281d181560c8fa3ace007b1e547b6cf18e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764619 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi d8cd4dcd 2023-08-09T16:51:13 Vulkan: Move default uniform init to link job Bug: angleproject:8297 Change-Id: I5bab916f452439d92afa65b9172574000ee0b587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762838 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Cody Northrop f4e5c327 2023-08-03T13:48:51 Tests: Upgrade blade_and_soul_revolution Created with: export TRACE_GN_PATH=out/Debug export TRACE_NAME=blade_and_soul_revolution src/tests/restricted_traces/retrace_restricted_traces.py \ upgrade $TRACE_GN_PATH retrace-wip -f $TRACE_NAME Bug: b/291929395 Bug: b/294882956 Change-Id: I7b1e721c5a125fa695fffa6c83dd0418d5331d91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760425 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 2fd33fc4 2023-07-17T17:07:52 Android: Make .gz sync faster by only checking last bytes In particular, some angledata.gz are hundreds of megabytes, which results in multiple seconds spend on some traces which adds up to a few minutes when running all traces. Gzip format includes an 8-byte trailer with the CRC-32 and the length of the uncompressed data https://en.wikipedia.org/wiki/Gzip#File_format Instead of checking hash(file) check hash(tail(file)). Check more than just 8 bytes (arbitrarily picked 4096) so that in a rare event of a collision we're still likely to see different bytes as compressed streams tend to diverge when data changes. This reduces the already-fully-synced sync from ~130s to ~60s in my tests. Bug: b/276742336 Change-Id: I899b80ac90ef4def498c8cb52d6b096d8b1ef826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4691962 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi d7d78adb 2023-08-15T10:07:39 Infra: Use more shards for SwANGLE/end2end tests on TSAN Bug: angleproject:8297 Change-Id: I11e70e7af63abf8c1ed37dcb2812091d09cf5434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4780391 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 424f43e4 2023-08-11T17:07:16 Prevent shaders from recompiling while a link job is in progress This will prevent a guarantee that link jobs can take further advantage of. In particular, a good chunk of the link job is done serially and under the share group lock due to this recompile-while-link issue. After this change, that is no longer a problem, and most of the link can be made lockless/parallelized. Bug: angleproject:8297 Change-Id: Ic41ac62fb8c40131a69cd90fa9430584964677fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776338 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll f9e3f674 2023-08-15T09:56:57 Roll Chromium from 2f1df67285b4 to 9931a5544b75 (548 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2f1df67285b4..9931a5544b75 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,geofflang@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/193968ce60..542e6f274c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/99ae5bc69e..855bdfca01 * third_party/android_build_tools/lint: 5j8XlyT5HF4gyZX-d8aNswCh8iPuGAMVy9epEQVVK8YC..qaZOeTY-k9wAZ1vkdqCZIbppqQFgc4IM5T5dKj3_2xIC * third_party/android_build_tools/manifest_merger: d1tFnzOW6H5xoDN7WWsMuAiHuhkl0kXijQGiO7IU1VQC..Nc9kYyTsw69N7yKSw_Sc2fJtUJ2zXUhSGjXbIkDVXuIC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/9dc45ac9ce..26fdb68fe1 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6479b92b37 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/3cede154a6..4c1ff08698 * third_party/r8: PyEDdX7GOndyKvm6rRXizmsJg9u1b8He2JqMNPO3F-UC..8aJvD7uHZ0Ek4sQy5vAbHUXWujgCHOVsAsJ137sXslkC * third_party/turbine: HFp7iOu-n4-CdEasFTQZvD1Vg1L-q1URqRTOM-iZ2AMC..ZlMS4BOYyYmbU8BuBDGyW7QrkvZ_-pTkm4lH4jKjTi4C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/65ceb79efb..ad91d8af7d Clang version changed llvmorg-18-init-1174-g2532b68f:llvmorg-17-init-16420-g0c545a44 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/65ceb79efbc9d1dec9b1a0f4bc0b8d010b9d7a66..ad91d8af7de9afb65921599e75b27a61e7943f65/scripts/update.py Bug: angleproject:3031 Tbr: geofflang@google.com Change-Id: I5fe139258920b10366bce56e4f01f50a23b24a26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4780179 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 61a5707f 2023-08-11T12:51:21 Load/Save ShaderVariableBuffer::memberIndexes in one memcpy ShaderVariableBuffer::memberIndexes is std::vector<unsigned int>, and can be quite huge (164 on some programs in blade_and_soul_revolution). Right now it is calling readInt for individual index and then push_back. This causes vector to be copied as it grows size. This CL makes one memcpy for entire vector and increase size only once. Bug: b/275102061 Change-Id: I983ad289b126dbfd430cf94a3772c2bfd93cb1c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4775835 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 745023ef 2023-08-14T10:47:11 Vulkan: Ensure mComputeDirtyBits is set for potential submission. When ContextVk::flushOutsideRenderPassCommands is called and we run out of serial numbers reserved for outsideRPCommands (which means we have an already started renderpass)., we will call flushCommandsAndEndRenderPass so that we can have new queue serials for both renderPass and outsideRP commands. When this happens, the current bug is that we will not add mNewComputeCommandBufferDirtyBits to mComputeDirtyBits. If another thread comes in did the submission, and then this context calls dispatchCompute again without any state change, we will get a new primprary command buffer without dirty bits for the new command buffer. This CL ensures we always add mNewComputeCommandBufferDirtyBits immediately after mRenderer->flushOutsideRPCommands call. Bug: b/295533354 Change-Id: I1c672310b3b00cd9be25b5ee55a0a060239102a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4778445 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 1db320c8 2023-08-08T13:31:04 Docs: Update steps for using experimental CIPD Bug: b/294882956 Change-Id: I2bcdd1874cbf44fac939d43cebd19b3e8903927b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763611 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 9d7bddc1 2023-08-03T16:46:41 Trace Replay: Allow screenshots of all frames As part of upgrading our traces to the latest format, we want to ensure we get the same rendering results for all frames, including after Reset. To do this, add the ability to pass -1 as the frame to save: angle_trace_tests --gtest_filter=TraceTest.blade_and_soul_revolution \ --use-angle=swiftshader --max-steps-performed 200 \ --screenshot-dir retrace-wip --screenshot-frame -1 In the above solution, there are 100 frames in the trace, but we'll get 200 screenshots (two loops). Bug: b/294882956 Change-Id: I9169403fe716bbe3ea9ba66ce36dfd5a0c58937b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760424 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Kenneth Russell d48a0d59 2023-08-11T16:57:23 Metal: optimize emulated texture formats. Optimize the following aspects of emulated texture formats like luminance, luminance-alpha and RGB: 1) Redundantly clearing the emulated channels in the texture, for example the alpha channel in RGB textures. If TexImage2D redefines the texture and it hasn't changed format, for example, it's not necessary to re-fill the emulated channels. 2) Clearing the emulated channels was being done on the CPU. Refactor PreferStagedTextureUploads to allow InitializeTextureContents to take the GPU clearing path for emulated textures assuming the texture is renderable. 3) Row-by-row data repacking and upload was allocating a staging buffer for each row. Forcibly disable staging buffers on the row-by-row code paths. Zoom's web client performs well on ANGLE's Metal backend on Intel GPUs with these optimizations. Fixed: chromium:1472087 Change-Id: Ie8b1e9e64fcc82797de76dd07958dd0a5aaa0203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771988 Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll b264301d 2023-08-14T10:01:24 Roll vulkan-deps from ce76478186bc to c3ff3250b9e7 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ce76478186bc..c3ff3250b9e7 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d6300ee92b..7ddc65c722 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/1d8188a974..300d9bf6b3 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8a3b98964a..e6bdb8d714 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,geofflang@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: geofflang@google.com Change-Id: I0a55f330e07c15f5d1cfc8ec1035852118ab186d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777541 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8b1583b0 2023-08-14T09:07:42 Roll Chromium from 99516e709be0 to 2f1df67285b4 (555 revisions) https://chromium.googlesource.com/chromium/src.git/+log/99516e709be0..2f1df67285b4 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,geofflang@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/4fb90f22dd..193968ce60 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a9a6f0c49d..a5ad157866 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d2f7d2908c..99ae5bc69e * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/583dc6d1b3..1ed18a0632 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..91aa9652fe * third_party/fuchsia-sdk/sdk: version:14.20230804.1.1..version:14.20230811.1.1 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/cc2a32ba83..3cede154a6 * third_party/r8: c5gwBJlApOcrNvnktaZlEXQ168Ig5dECf1tJyt5fcjwC..PyEDdX7GOndyKvm6rRXizmsJg9u1b8He2JqMNPO3F-UC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/526382e41c..f5fd0ad266 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/e309c7523b..159cd0f22c * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/368a50222b..b59055f932 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I99e64ba5281648cac3487ae249dae9c0ef47a7b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777540 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi f11c972b 2023-08-04T15:06:39 Update requiredFlags use for VMA image allocations For the OOM fallbacks, we currently remove bits from the required bits when device memory allocation is no longer possible. In doing so, allocating on the device has become a strong preference rather than a requirement. Therefore, we change this method a bit in this CL. * Removed the device-local bit from the required flags when calling allocateAndBindMemory(). * preferredFlags is now used in lieu of requiredFlags initially within allocateAndBindMemory() to signal to the VMA to prioritize allocating on the device. If it fails, we use requiredFlags for the fallback. Bug: b/280304441 Change-Id: Id47a224cd74dacd3fb12d4fbfd815d8cefc016c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753758 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 16cfa28e 2023-08-08T22:08:24 Vulkan: Basic infra for parallel link This change moves pipeline warm up to a parallelizable task, mostly as an exercise to put in the infrastructure for parallel link in the Vulkan backend. Follow up changes will move more of the link step to this task. The end goal is to be able to make the link task independent of ContextVk, which would allow it to be run as an UnlockedTailCall, even if not using a worker thread. Bug: angleproject:8297 Change-Id: I17047162b2a41f0d681d9e3ee33f2e0239b4280d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764231 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 394699d3 2023-08-10T10:28:01 tests: skip SwiftShader tests when building without SwiftShader If we are building without SwiftShader, we shouldn't be forced to add a gtest_filter of "-*SwiftShader*" in order to run the various tests. Bug: angleproject:8291 Change-Id: Ic3513445d5d4bb402535a6f41bba818c0d15fd7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769826 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Kenneth Russell 237ff2b7 2023-08-11T14:18:38 Fix assertion failure with EGL_FOREVER_KHR. Calling eglClientWaitSync passing EGL_FOREVER_KHR overflows std::chrono and causes an assertion failure. This prevents optimization of Chromium's backpressure fences. Clamp the internal wait value to 1 day. Bug: angleproject:8301 Change-Id: Idfc400351204dee648723a8d951ade7e56c25cb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776162 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev 6092e0b7 2023-08-10T00:00:00 D3D11: Ensure that clip depth mode is synced Syncing clip depth mode driver uniform should not depend on a viewport state. Bug: angleproject:6554 Change-Id: I6ff2549a88fe3795eef20acfc48d0e945f19c4e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4775599 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 987f0dfd 2023-08-11T19:12:43 Roll VK-GL-CTS from cedd20620c84 to 532cf9c253c0 (14 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/cedd20620c84..532cf9c253c0 2023-08-11 Tyler.Schneider@amd.com Callable shader test cases: dEQP-VK.ray_tracing_pipeline.callable_shader.callable_shader* 2023-08-11 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-08-11 jbolz@nvidia.com Reenable copy_commands2 tests for VulkanSC 2023-08-11 ziga@lunarg.com Fix enabling sample shading in multisample tests 2023-08-11 ziga@lunarg.com Fix VertexInputStateCreateInfo scope in extended dynamic state tests 2023-08-11 ivan.briano@intel.com Add missing check for VK_EXT_shader_object 2023-08-11 ziga@lunarg.com Fix including host query reset features struct 2023-08-11 ziga@lunarg.com Fix primitives generated query tests with secondary cmd buffers 2023-08-11 Tyler.Schneider@amd.com Added indirect trace version of builtin test cases: dEQP-VK.ray_tracing_pipeline.builtin.indirect.* 2023-08-11 rgarcia@igalia.com Test GPL with pipeline robustness 2023-08-11 rgarcia@igalia.com Fix triangle strip with adjacency PGQ tests 2023-08-11 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-08-08 lorenzo@khronosgroup.org Run vk-build-programs tests in chunks 2023-08-07 rgarcia@igalia.com Fix build: DeviceDriver needs the API version now as a 4th parameter If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,jonahr@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: jonahr@google.com Change-Id: I8f319cd13bb9d1ce2e2e74616014fed76dafbe25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4775825 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 4a195ce0 2023-08-10T11:28:31 Vulkan: Fix SPIR-V id assignment to user-defined webgl_* names The code was incorrectly assuming that webgl_* names are only from ANGLE variables. An explicit check that the symbols are AngleInternal was missing. Bug: b/287166117 Change-Id: Ib8140cfabd74000492d12c11163f318a9ec3b98f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4770236 Commit-Queue: Solti Ho <solti@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Solti Ho <solti@google.com>
angle-autoroll dfa065cf 2023-08-11T10:01:04 Roll SwiftShader from c315c894b9d5 to 97bdc453fbed (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/c315c894b9d5..97bdc453fbed 2023-08-10 schuffelen@google.com ANDROID: strip `vulkan.pastel.so` on the host 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,jonahr@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: jonahr@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: If4ac93aa60ec8cb26f86527b4cd30c3c4470358e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4772845 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll af154141 2023-08-11T10:01:06 Roll vulkan-deps from 59b294f2797c to ce76478186bc (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/59b294f2797c..ce76478186bc Changed dependencies: * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/124a9665e4..45fc02a6c6 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3af4244ae1..d6300ee92b * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a7c612e9cd..8a3b98964a 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,jonahr@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: jonahr@google.com Change-Id: I7fa5ce1e1d134523caf420a04547263473763481 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771989 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7b1777e6 2023-08-11T07:00:07 Roll Chromium from 653db97a807b to 99516e709be0 (339 revisions) https://chromium.googlesource.com/chromium/src.git/+log/653db97a807b..99516e709be0 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,jonahr@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 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c95f0abc34..d2f7d2908c * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..598916632c * tools/luci-go: git_revision:e608c1f557fceae8eb6cf35ae2ad6f4908e35245..git_revision:77c9b09de8f234ae9c47d9d865a5d860ff390ed0 * tools/luci-go: git_revision:e608c1f557fceae8eb6cf35ae2ad6f4908e35245..git_revision:77c9b09de8f234ae9c47d9d865a5d860ff390ed0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f57cec9442..368a50222b * tools/skia_goldctl/linux: yiBOCk-vzyyWi8kF1hfi8_yZoQb5Y5nUrgH-gKy3s_4C..UFlmhX6-Qb8IgDGznrPTinozgZ41Ul69CJEw_37d5Q0C * tools/skia_goldctl/mac_amd64: IOfj5k7LF0hVZeJ-_iTpGovRg26fblRBMk0wLT1GJnAC..UjktW10Ah81eMdqbYaUevQNFJozJWoGy33MmF1BdM18C * tools/skia_goldctl/mac_arm64: nAEU10uINeZnsOib3LZlcLZgRr3I8YETFJqTpMpw3ukC..obLm-ouXMf1S3hnZaO-yUAG5CoeW2qzVWy2fhz3WXWIC * tools/skia_goldctl/win: pGeqtL9kCYQirdV-A7YpDFltq8_TFh64j6MuVoc7YswC..jMrnfAAYCvmmOPZpirRZ6xWBdRaWW7g85mdjTFvq_HsC No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: Ie8e2f88c75cdfa799cd95896fb41a7365812460a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771753 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Andrew Grieve d52046c4 2022-09-07T13:45:40 Remove CPEPrefix for //third_party/jdk We don't run downloaded code, and we use it only for tools (not at runtime), so we don't care about vulnerabilities. Bug: b/244859623 Change-Id: Ib8edc10cafe388daf6ae29f3da0036065d39d4ce Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3877043 Commit-Queue: Sam Maier <smaier@chromium.org> Auto-Submit: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Sam Maier <smaier@chromium.org> Cr-Commit-Position: refs/heads/main@{#1043933} Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743602 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 0f4317d0 2023-08-10T17:56:33 Manual roll vulkan-deps from ed9dadbd89cd to 59b294f2797c (89 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/ed9dadbd89cd..59b294f2797c Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/4420f9b33b..76b52ebf77 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/51b1064617..124a9665e4 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c6d0b04802..3af4244ae1 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/cb7b123f2d..450ead13e1 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/fc8116bb5c..4830af39dc * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/ab9d7a042d..1d8188a974 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/907292fe35..a7c612e9cd 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,jonahr@google.com,ynovikov@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: jonahr@google.com,ynovikov@google.com Change-Id: Ib64cf5733cf7b30611be15b0506f22f1ea5de32d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771261 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Steven Noonan ffe81dd3 2023-08-03T14:53:32 Vulkan: allow opt-in to MSRTT emulation via overrides The existing enableMultisampledRenderToTexture feature combines conditions for device feature support and the policy decision of whether to allow MSRTT emulation. This change splits it into two features, allowing application developers to control the policy condition for the emulation path without impacting the device capability checks. Bug: angleproject:8291 Change-Id: Ic1525c878906b10df777c582e44b931028aae928 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749525 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 833f7f69 2023-08-09T10:49:51 Vulkan: improve XFB feature dependency checks Some features need to account for the possible override of supportsTransformFeedbackExtension == false. Since we now frontload the overrides, we also can remove the explicit overrides for the dependent features in TransformFeedbackTest. Bug: angleproject:8291 Change-Id: I0ec54dc0fce440ef3e7bfe9987d0ea19fb9dafaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763096 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 32bcf96f 2023-08-10T16:49:25 Manual roll Chromium from ea8b2b6926bc to 653db97a807b (714 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/ea8b2b6926bc..653db97a807b 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,jonahr@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/00a84048e0..4fb90f22dd * buildtools/linux64: git_revision:811d332bd90551342c5cbd39e133aa276022d7f8..git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4 * buildtools/mac: git_revision:811d332bd90551342c5cbd39e133aa276022d7f8..git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4 * buildtools/win: git_revision:811d332bd90551342c5cbd39e133aa276022d7f8..git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8c8e5eefdb..c95f0abc34 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..0b39a694c0 * third_party/r8: dbml4pnGIsEBy3dFYki-S8IYt4jxxqZXaUDwtY3Q-SgC..c5gwBJlApOcrNvnktaZlEXQ168Ig5dECf1tJyt5fcjwC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b3308b00fe..65ceb79efb * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6c7511171d..f57cec9442 Clang version changed llvmorg-17-init-16420-g0c545a44:llvmorg-18-init-1174-g2532b68f Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/b3308b00fe5f1409e0c2493a84f52be6c3e1fc75..65ceb79efbc9d1dec9b1a0f4bc0b8d010b9d7a66/scripts/update.py Bug: None Tbr: jonahr@google.com,ynovikov@google.com Change-Id: Ic005c1b5b424d8f9f85ae739ca23719369ffe80b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769816 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Steven Noonan f395f34b 2023-08-03T13:58:43 features: frontload feature overrides This allows us to have features that depend on the state of other features more reliably. For example, let's say you have two features: ANGLE_FEATURE_CONDITION(&mFeatures, allowX, (benefitsFromX || isSpecificHardware) && !isBadHardware); ANGLE_FEATURE_CONDITION(&mFeatures, supportsX, hardware.featureXSupported && mFeatures.allowX.enabled); Before this change, if you overrode allowX, the override would be applied too late for the supportsX test. This also helps with disabling dependent features via overrides. For example, if you disable "supportsRenderpass2", it will also disable features depending on it, such as "supportsDepthStencilResolve" and "supportsFragmentShadingRate". By frontloading the feature overrides, we can have cross-dependencies between "feature supported on this platform" and "allow this feature by policy". Bug: angleproject:8291 Change-Id: Id6da2c89428fa896d677fe8d5a41369277a21b31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749524 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 7c69116f 2023-08-08T10:14:47 Vulkan: Fix data race with DynamicDescriptorPool Right now DynamicDescriptorPool::destroyCachedDescriptorSet can be called from garbage clean up thread, while simultaneously accessed from context main thread, and data race will happen and cause bugs. This can only happen when the buffer is not being suballocated. In this case, suballocation owns the bufferBlock and bufferBlock gets destroyed when suballocation is destroyed from garbage collection thread. If buffer is suballocated, the shared group owns pool which owns bufferBlocks and they gets destroyed from shared group with the share group lock. This CL avoids this race problem by release the shared cacheKey when the buffer is released, while we still had the shared group lock. Bug: chromium:1469542 Change-Id: Ic1f99e6b6083d63e4efb9c3f408921da62c006ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4761365 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang ae8a5cfd 2023-08-09T12:00:53 GL: Accept more config options when creating the EGL context Some drivers fail to find any configs in ANGLE but succeed with Chrome's config searching. Widen ANGLE's config searching to include 565 configs and configs without depth stencil. Refactor the config search logic to be used for both backend context and mock pbuffers instead of hard-coded pbuffer config. Bug: chromium:1442132 Change-Id: I52378ec66542ec7aa56849ec8470f8eadb4abf58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764230 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org>
angle-autoroll d7e914da 2023-08-10T10:01:15 Roll SwiftShader from 729e92f8ae07 to c315c894b9d5 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/729e92f8ae07..c315c894b9d5 2023-08-09 aredulla@google.com [ssci] Added Shipped field to README.chromium 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,jonahr@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: jonahr@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I96a6b22fd31f5f62306bbae800e51837ec4d71be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769500 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu a990ba34 2023-08-02T17:21:00 Fix write out of bounds on non robust contexts crashes dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.* tests are failing, because the test expectes EGL_SUCCESS upon eglMakeCurrent(EGL_NO_CONTEXT), regardless of whether the context was lost. This CL: 1) Changes the validation function of eglMakeCurrent: if the EGLContext passed to eglMakeCurrent is EGL_NO_CONTEXT, do not return EGL_CONTEXT_LOST even if the context is already lost. 2) Adds a lost context check in checkOneCommandBatch. If the context is lost, do not check fence status and assume all of the vulkan commands have finished execution, so that we can properly destroying all the resources before destroying the context. 3) Changes the GL error code from GL_INVALID_OPERATION to GL_CONTEXT_LOST when there is a vulkan device lost. Bug: b/286921997 Bug: b/289544394 Change-Id: I91e8a4105f0d7a3ec3b59bae58da80bc64ffa94a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4728466 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Steven Noonan fa3ecccb 2023-08-09T10:48:36 Vulkan: make fragment shading rate depend on renderpass2 The extension depends on renderpass2 and will raise a VVL failure if it's not available and enabled. Note that this doesn't yet work as intended if you only override supportsRenderpass2=false. A subsequent commit will fix this. Bug: angleproject:8291 Change-Id: I6843b342909fb9000ebdcea80e006670c865f858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763095 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 32aecfcc 2023-08-09T12:12:14 Manual roll Chromium from e37ae34e9fdf to ea8b2b6926bc (381 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/e37ae34e9fdf..ea8b2b6926bc 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,jonahr@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/a5321f10c9..00a84048e0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9ae730e481..8c8e5eefdb * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/02f9cdf1a9..0b15eb31a5 * third_party/android_build_tools/bundletool: 2PJKytTLILAjCO3G7sCO27FO48XB9qrRTHp420zr5G0C..2RPwohwtc6on0_96oFxokeEvnC1LbLrGuyCAw00k62AC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..dd218dfd81 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2f873f7c22..07289ce941 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/078c92947e..b3308b00fe No update to Clang. Bug: None Tbr: jonahr@google.com,ynovikov@google.com Change-Id: Ic46d2b35b71d6eb8e8c437220f3275cd59d700b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765261 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 370e9ca0 2023-08-09T17:07:48 Add experimental Mac NVIDIA bot specs Bug: chromium:1456549 Change-Id: Ia7565bf6de02e36ee82affec64f27ee591a6cce7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765134 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi df76f5b1 2023-08-08T15:13:54 Respect KHR_parallel_shader_compile for program link Parellel shader compilation was using the single-threaded vs multi-threaded pool appropriately, while program link was always being multi-threaded. This change makes sure the program link tasks uses the same pool as shader compilation per KHR_parallel_shader_compile. Bug: angleproject:8297 Change-Id: I0508617678a6e875fc0719a2d447cf1a9c5ca40f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762086 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 164ac246 2023-08-08T15:13:10 zero-initialize all memory in LinkedUniform. LinkedUniform is serialized directly, ensure that any padding inserted into the struct is zero so there is no chance of uninitialized reads during serialization. Bug: b/275102061 Bug: chromium:1470644 Change-Id: If6b9f579938019c7e16fb306ed3b7d839953f6d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762085 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 2d87c31d 2023-08-09T07:47:20 Revert "Metal: initialize std::arrays in mtl_render_utils" This reverts commit c40d31b02690788cf61f93d71bbe094ddbb1a004. Reason for revert: Invalid rationale, it does not solve the problem. std::array does run the default constructors of the AutoObjCPtrs held in them. Original change's description: > Metal: initialize std::arrays in mtl_render_utils > > The std::array default constructor does not initialize the memory. > This leads to uninitialized access in mtl_render_utils *Utils. > > Fix by initializing them. > > Bug: angleproject:8293 > Change-Id: I597df067f3c19907a038bb4899a178734158302c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4756783 > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:8293 Change-Id: Ibacacd70fc196b5ecb3d0bc971d6565f7f578d4c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765207 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Josip Sokcevic c5949fe0 2023-08-08T14:09:00 Remove dummy chromium from git submodules dummy_chromium is used by autoroller to remember previously sync state and to sync all chromium dependencies with angle dependencies. If angle repository has this gitlink, it will result in recursive submodule loop (chromium -> angle -> chromium) unless git understands gclient-condition. We should redesign how autoroller works by storing chromium information somewhere else. In the meantime, this patch will give us more time to design a long term solution. Note: Presubmit checks only check if gitlink commits are present in DEPS file, and not if all git depepdencies have gitlinks. Bug: chromium:1471230 Change-Id: I8638c9863517dd90b0248d9e9bc9664c66041e70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762704 Auto-Submit: Josip Sokcevic <sokcevic@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 3ad8d912 2023-08-08T17:44:03 Roll chromium_revision 2140415f50..e37ae34e9f (1179456:1181024) Rename third_party/android_toolchain to third_party/android_toolchain/ndk due to https://chromium-review.googlesource.com/c/chromium/src/+/4728129 Change log: https://chromium.googlesource.com/chromium/src/+log/2140415f50..e37ae34e9f Full diff: https://chromium.googlesource.com/chromium/src/+/2140415f50..e37ae34e9f Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/7dd254d602..a5321f10c9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/79ab87fa54..a9a6f0c49d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7a3b32e55f..9ae730e481 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d7f301be80 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/fc36eba70b..2f873f7c22 * third_party/fuchsia-sdk/sdk: version:14.20230727.2.1..version:14.20230804.1.1 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d4760c0af9..cc2a32ba83 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/e5a9c50e5e..b113f23e4c * third_party/r8: OdhGaLChEyG23to4T8_V2aMCAZi970T4B4t8ih0tNGsC..dbml4pnGIsEBy3dFYki-S8IYt4jxxqZXaUDwtY3Q-SgC * third_party/turbine: njzYdPKg07o6bisJmD2GAMXIi0p3KPbBy93bLGnp2TYC..HFp7iOu-n4-CdEasFTQZvD1Vg1L-q1URqRTOM-iZ2AMC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/7cd5bbdfe4..e309c7523b * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/02d5529a3f..078c92947e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bee2ccad89..988a4dec39 DEPS diff: https://chromium.googlesource.com/chromium/src/+/2140415f50..e37ae34e9f/DEPS No update to Clang. Bug: chromium:1469911 Change-Id: I5ac8510d880a092e838c4fa797dd3748976d358c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760727 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao 719165c8 2023-08-04T12:13:37 Remove "const UniformTypeInfo *typeInfo" from struct LinkedUniform This is a cached pointer to the const kInfoTable. There isn't much of performance benefit to cache here compare to directly retrieve from the table. This cached pointer is removed in this CL, which means we do not need to update the pointer in the ProgramExecutable::load(). This and a few earlier CLs that attempt to do memcpy for entire mUniforms reduced average frame time of blade_and_soul_revolution app trace 3%, from 4.3359 ms to 4.2066ms on pixel 7 pro. Bug: b/275102061 Change-Id: I6fd34d665234e3a5cc85344924049bf5b13aaa80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753933 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Kimmo Kinnunen c40d31b0 2023-08-07T12:33:42 Metal: initialize std::arrays in mtl_render_utils The std::array default constructor does not initialize the memory. This leads to uninitialized access in mtl_render_utils *Utils. Fix by initializing them. Bug: angleproject:8293 Change-Id: I597df067f3c19907a038bb4899a178734158302c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4756783 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Phan Quang Minh d1e26fa2 2023-08-04T11:07:25 gpu_info_util: Close X11 display after usage This ensures that the X11 display connection won't leak if GetNvidiaDriverVersionWithXNVCtrl gets called multiple times. Bug: angleproject:8294 Change-Id: Id9fe8e6b6d5524965c1638841af88416fe28c76a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749333 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell f7d7be8d 2023-08-04T14:16:38 Metal: upstream "UBO convert only whole block". Authored by Dan Glastonbury; reviewed by Dean Jackson. This upstreams https://commits.webkit.org/264375@main . OpenGL doesn't guarantee that the buffer backing uniform blocks needs to be a multiple of the block size. When converting OpenGL layout blocks to Metal layout, ConvertUniformBufferData is rounding up the size of the backing buffer to a multiple of the block size which leads to reading out of bounds. To ensure we don't read outside the source buffer, this change replaces calls to `memcpy` with `memcpy_guarded` which accepts a pointer to the limit of available data and copies as much data as is available, writing zeroes for any unavailable amount. Conversion of bools didn't use memcpy, so the raw pointer is checked against maxSrcPtr and only dereferenced if valid, otherwise zero is used. This has been tested with ASan and UBSan enabled against the OpenGL dEQP tests for Uniform Buffer Objects in ANGLE. Fixed: angleproject:8292 Change-Id: I0d472277889f073e54a9049f01bc04f6965a7b68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754175 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya e50d3876 2023-08-04T14:47:41 Vulkan: Retain loadOp when there is a resolve attachment Rendertargets with resolve attachments cannot optimize away loadOp Load or Clear even if they are marked ResourceAccess::Unused and storeOp is RenderPassStoreOp::DontCare. Bug: angleproject:4836 Bug: angleproject:5981 Tests: ImageTest.SourceAHBTarget2DMSRTTInteraction* Change-Id: I39ec67a457de6876ed0bd47d66a963cc59fab064 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753735 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao d1117834 2023-08-04T10:48:22 Simplify struct LinkedUniform a bit more In earlier CL crrev.com/c/4740298, we added mFixedSizedData structure to group the data memebrs that can be memcpy-able into one variable, so that we can memcpy that. Since then, we have made entire LinkedUniform struct memcpy-able (crrev.com/c/4750443 is doing memcpy of entire std::vector<LinkedUniform>). Thus, there is no longer a need for mFixedSizedData. This CL removes that. This CL also removes isStruct and inArrayOfArrays from LinkedUniform, since they are always false. This CL also removes some unused APIs from LinkedUniform. Bug: b/275102061 Change-Id: I6ead3d8f179efc0d383352f7ac0efa6bf3dc8a1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753932 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 41d27ec3 2023-08-03T18:06:08 load/save entire std::vector<LinkedUniform> with one call. Now LinkedUniform is a simple data struct with only fundamental types, we can load the entire vector at once. Bug: b/275102061 Change-Id: I7c030677d02517f86d960de85b0e7ae2c916a26e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750443 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao eff12c1e 2023-08-03T12:10:05 Move name and mappedName out of LinkedUniform struct These are std::string objects. This CL moves these two data out of LinkedUniform and into ProgramExecutable class, side by side with mUniforms. With these two data moved out, LinkedUniform is now a simple struct with basic data types, and I can memcpy entire vector of uniforms. Bug: b/275102061 Change-Id: I9ae13e7daca85f8e5f3662a4718f190bebb5f5d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750442 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Joanna Wang 3dbfa314 2023-08-04T15:56:47 Add Gitmodules to angle. Commits in the gitlinks should be kept in sync with commits in DEPS. For repos that are auto-rolled by skia, this is taken care of. If you have your own autoroll script and it uses `gclient setdep` to update deps commits, this is also taken care of. For manual rolls: 1) in DEPS update the commit of some <path> to <new_commit> 2) update the gitlink: `git update-index --add --cacheinfo 160000,<new_commit>,<path>` Bug: chromium:1421776 Change-Id: I70d02969b198ea6ae94d042c4ffab31b70eb88fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752314 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Joanna Wang <jojwang@chromium.org>
Amirali Abdolrashidi 4963febf 2023-08-02T16:52:52 Vulkan: Remove type indices with host-visible bit Currently, the memory type index for VMA image allocations are selected and returned by the API. However, it could potentially choose a type index with more flags than required or preferred, and ignore the index with exactly the flags we want. For example, it could pick a type index with the host-visible property flag, even if is unnecessary and a type index with a device-local flag would suffice. Using memoryTypeBits during the allocation allows us to filter the unwanted type indices out and use the other indices initially. * Added a new function to RendererVk.cpp to try to remove the memory type indices with the host-visible bit for VMA image allocations if they should be device-local. * GetMemoryTypeBitsExcludingHostVisible() * It also removes the indices with the protected bit if it is not required. * If the allocation is unsuccessful, the fallback resets the field for memoryTypeBits, allowing all available type indices to be used for the allocation. * Added memory type index to the pending allocation log during OOM. Bug: b/294085818 Change-Id: Icc1b218df075170a6baa7ec57c837ed59cd4fa96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743604 Reviewed-by: Kaiyi Li <kaiyili@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao 9c588180 2023-08-02T16:39:44 Change LinkedUniform::arraySizes from std::vector to unsigned int We always flatten multiple dimensional arrays in the uniform to a one dimensional array, so the arraySizes can be simplified to unsigned int instead of a vector. With this, we can now move the arraySize into the simple mFixedSizeData struct and the normal memcpy will cover the load/save. Bug: b/275102061 Change-Id: I24c026f783b755f7aa691a5db5746b6309a21227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4735275 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Brian Ho d2a6b2a0 2023-08-04T14:15:11 Use offscreen DisplayVk on ChromeOS Currently, we always use DisplayVkHeadless on ChromeOS which can fail if the drivers do not support VK_EXT_headless_surface (like on Intel). At the end of the day, CrOS never really uses Vulkan WSI, so it shouldn't need a WSI extension anyways. This CL introduces a simple DisplayVkOffscreen that requires no WSI. We then configure CrOS to use this new DisplayVk. Bug: b/292249282 Change-Id: I1fcbb48d187eb656c6e03bc7ac7b15ac8ad0a4ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752416 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brian Ho <hob@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang f4e901b4 2023-08-07T10:52:09 Validate program binaries are the same CPU bit-ness. ANGLE's program binary serialize/deserialize logic uses size_t and other non-fixed sized integer types. This can cause crashes if the CPU architecture changes between saving and loading of binaries. Bug: chromium:1470074 Bug: angleproject:8223 Change-Id: Ib2529e0e6e66e28a184aa1ec94075e343e1f1d5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752265 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll e7eba559 2023-08-07T15:45:46 Roll VK-GL-CTS from 00cccd7cf562 to cedd20620c84 (11 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/00cccd7cf562..cedd20620c84 2023-08-07 lorenzo@khronosgroup.org Add check for maximum file size of 100MB 2023-08-07 ruoyu@amd.com Support FP16 CPU Rendering for GLES2 2023-08-07 Tyler.Schneider@amd.com Acceleration structures update test cases: dEQP-VK.ray_tracing_pipeline.acceleration_structures.update.* 2023-08-07 ziga@lunarg.com Add vkCmdCopyQueryPoolResults tests with multiview 2023-08-07 amber@igalia.com Test that the number of GS invocations is 0 for VS and TES 2023-08-07 pdaniell@nvidia.com Use the correct imageSize() component for "width" 2023-08-07 rgarcia@igalia.com Allow selecting a subset of targets at configuration time 2023-08-07 rgarcia@igalia.com Disable device robustBufferAccess in pipeline robustness tests 2023-08-07 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-08-07 lorenzo@khronosgroup.org Update vulkan-docs to current version 2023-08-07 lorenzo@khronosgroup.org Merge dev/VK_EXT_shader_object into main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,jonahr@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: jonahr@google.com Change-Id: I7dfec313f0d5ec605ee0980bf973f7634d5cd115 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4757222 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kenneth Russell 8ba04f1c 2023-08-05T00:48:35 Metal: disable fastmath less often. Stop disabling fastmath if atan is used in the shader. Application developers will surely prefer the significant performance improvement of the fastmath optimizations over corner-case differences in precision. Make disabling fastmath more precise: only if it's forcibly disabled as a driver bug workaround, or if the shader uses invariance and preserveInvariance is not available. Suppress the test: dEQP-GLES[23].functional.shaders.invariance.lowp.loop_2 which fails when fastmath is enabled for shaders using atan and invariance. Fixed: chromium:1320111 Change-Id: I6e33b14b1d05faedc15373f24af3e22a4074a35b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754018 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Steven Noonan 30bd0149 2023-08-02T08:06:47 ANGLETest: fix crashes when switching between GLESDriverTypes The condition for mLastLoadedDriver was incorrect. We never initialized it, so it never switched to the correct EGL implementation when alternating between tests using different GLESDriverTypes. This was reproducible with: angle_end2end_tests.exe --gtest_filter="SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_D3D11:SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_ANGLE_Vulkan_Secondaries_SwiftShader:SimpleOperationTest.DrawSingleMultiSampleWithAlphaToCoverage/ES3_D3D11" The above does three tests: - D3D11 test (using GLESDriverType::AngleEGL) - Vulkan test (using GLESDriverType::AngleVulkanSecondariesEGL) - D3D11 test (using GLESDriverType::AngleEGL) What would happen is this: - the first test would initialize a D3D11 EGLDisplay - the second test would switch the API entry points to use AngleVulkanSecondariesEGL - the third test begins reuses the first test's EGLDisplay, but fails to notice the GLESDriverType change and uses the AngleVulkanSecondariesEGL entry points - when eglQueryString is called with the D3D11 EGLDisplay, the VulkanSecondaries library has no knowledge of this display and fails the call Bug: angleproject:8286 Change-Id: I1f22060e2c5725dad5e410a76385e2802b627844 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749296 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Solti 135a24fc 2023-08-04T17:18:31 update Wrangler runbook Test: default presubmit Bug: b/289824244 Change-Id: Ia3e91196a6b1ede51d1ae55b7a2f76357010e782 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753732 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Solti Ho <solti@google.com>
Charlie Lao 22438ad8 2023-08-02T14:01:45 Embed ActiveVariable into BufferVariable and ShaderVariableBuffer This CL embeds ActiveVariable into BufferVariable and ShaderVariableBuffer struct instead of subclass. This allows us to remove the virtual function of ~ActiveVariable(), which means ActiveVariable is a simple struct with basic types and memcpy can be used for load/save. Thus, in this CL, I also moved activeVariables to LinkedUniform::mFixedSizeData structure and let memcpy handle the load/save. Bug: b/275102061 Change-Id: I8d21080cfdd72d4d22cef927d136ca428d9b12e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4722265 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>