Log

Author Commit Date CI Message
Stephen White 3892ac14 2023-10-12T13:35:33 Do not flush normal float constants to zero. It's ok to flush denormalized constants to zero. It's not ok to flush perfectly valid normal float constants >= FLT_MIN to zero. Two problems: 1) Values when parsed as doubles with a value less than FLT_MIN are being flushed to zero. This is incorrect when the comparison is done in double, since some values below FLT_MIN in double are equal to FLT_MIN when cast to float. The fix is to perform the comparison in float. 2) Values with a decimal exponent less than FLT_MIN_10_EXP are being flushed to zero. FLT_MIN_10_EXP is -37 but FLT_MIN is 1.1754943E-38. 10^-37 may be the "minimum negative integer such that 10 raised to that power is a normalized float", but being constrained to powers of ten it's above FLT_MIN (which is 2^-126). Since this comparison is done before #1 above, it's only present (AFAIK) to ensure that the exponent will not make the pow() function overflow. Comparing against -38 (FLT_MIN_10_EXP - 1) instead will do the trick. Bug: angleproject:8373, dawn:2077 Change-Id: I1ddf410c2caa9f0d1ba3529ace693dcd326a2cb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4936714 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Alexey Knyazev c54c2f81 2023-10-12T00:00:00 Sync border color on format updates When a texture is redefined, its border color should be resynced because of format-specific adjustments. Used memcmp for comparing ColorGeneric structs. Bug: angleproject:7969 Change-Id: If0e3e0bc7761c26dab6d00ab24462c789f5b90bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4935866 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 992a983e 2023-10-16T07:01:30 Roll Chromium from 345cb7cebed5 to 2de615858387 (749 revisions) https://chromium.googlesource.com/chromium/src.git/+log/345cb7cebed5..2de615858387 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/306e127bca..4b5f6bf263 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/d43434c2b2..2c4320e24b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/537cca4a56..0139d87517 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a4060bfb8b..c0b8fc61c7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c51829968b..73b69b0167 * third_party/fuchsia-sdk/sdk: version:15.20231007.2.1..version:15.20231015.1.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/bbce3ebce8..0a31206d8a * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/74cec08d24..50bbf6205e No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: Ia4224ac96cedf4d6b049d7adfdaf94598a9986da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4940063 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll cd6b265c 2023-10-14T05:41:49 Roll VK-GL-CTS from 7a1ab4d3eb20 to 7d738783bf28 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7a1ab4d3eb20..7d738783bf28 2023-10-13 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/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,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I78bd349d5a061c90d768f7ac8c3ed797d4e89a17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4940251 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 6154bd93 2023-10-12T15:27:44 Remove binding from DescriptorInfoDesc. The issue with hitting the cache falsely is no longer reproduced (tests added in https://crrev.com/c/4104121) Charlie had changed the cache so mWriteDescriptors are no longer part of this class, so some of those changes might have affected that. Also mDescriptorInfos was previously a map and now is a vector, which imposes a specific ordering - and that might be taking care of the sampler swap hitting the cache falsely. Charlie suggested that https://crrev.com/c/4581881 might have taken care of this as textureUnit was used instead of bindingIndex: https://chromium-review.googlesource.com/c/angle/angle/+/4936096/comment/ad2c0aa0_441bd33d/ Bug: angleproject:7974 Change-Id: I58391790a4362313c07c7bd28ed6f38f30720781 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4936096 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 21ea0a3c 2023-10-13T11:33:31 Add gzip tests when hitting a decompression error Might give some hints about what got broken Bug: angleproject:8307 Change-Id: I0a5aa05ed0e876ea060c1b8db6e61a79cbf9c4f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4937222 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
angle-autoroll 93781cd3 2023-10-13T15:34:40 Roll VK-GL-CTS from f2434516dcf5 to 7a1ab4d3eb20 (8 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/f2434516dcf5..7a1ab4d3eb20 2023-10-13 rgarcia@igalia.com Test compute invocation stats on compute queues 2023-10-13 ziga@lunarg.com Add host image copy tests with non zero bind image offset 2023-10-13 javed@igalia.com Add coverage for gl_Layer read in frag shader with no previous write. 2023-10-13 hauxwell@broadcom.com Fix threads library compilation against musl c library 2023-10-13 michal.jakubek@mobica.com Cover of instance and device extension duplicates tests. 2023-10-13 gleese@broadcom.com Remove tcu::NodeType from vulkancts 2023-10-13 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7 into vk-gl-cts/main 2023-10-13 alexander.galazin@imgtec.com Notice of withdrawal of Vulkan CTS 1.3.4.x 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,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I271095fc277dffa02efdb406b2c24c67478cf718 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4939034 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Hailin Zhang 76608554 2023-10-02T15:07:45 Vulkan: use cpu transcoding for small texture size. Bug: b/250042517 Change-Id: I9a70fb7d4823d10b09f498bfc01b5384951e2ce4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908660 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Alexey Knyazev 1988108e 2023-10-12T00:00:00 Tighten draw buffers validation for dual-source blending Use the front-end DRAW_BUFFER* state instead of the internal mask, which is unset for missing attachments. Bug: angleproject:1085 Bug: angleproject:7177 Change-Id: I5311d1f26043f15035e51957920bf9cd553c3007 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4935858 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev b870956e 2023-10-05T00:00:00 GL: Limit depth/stencil texture mode updates The DEPTH_STENCIL_TEXTURE_MODE state must affect only DEPTH_STENCIL textures (OpenGL ES 3.2, Section 8.16). Some drivers do not follow this rule and exhibit various side effects when this mode is set to STENCIL_INDEX for textures of other formats. Bug: angleproject:2373 Change-Id: I20a8168d858cf070762ff0b3b7111cdf30e8166d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4936374 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll ad1cc5bf 2023-10-13T11:00:55 Roll vulkan-deps from 37653f7c343e to f719b699697b (12 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/37653f7c343e..f719b699697b Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/277d09e679..48f9ed8b08 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/bbe0f575eb..07ff4233bc * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/0c4bd8cd37..5402dd2663 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/92bf3cac80..730552e670 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/946b9715ee..38891e233b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I0156497804e5baf5b6e32e23e17d0ea0be06ad34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4938850 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 481f381d 2023-10-13T08:21:21 Roll Chromium from 137cc90d5084 to 345cb7cebed5 (603 revisions) https://chromium.googlesource.com/chromium/src.git/+log/137cc90d5084..345cb7cebed5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/1de43c2610..306e127bca * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/67cee5ecfd..d43434c2b2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f2e75e7986..537cca4a56 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/897e3d48d8..a4060bfb8b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/69e597f8e5..c51829968b * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/e07dcc1eaa..bbce3ebce8 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/9ebf30f2a4..7b1593d5ca * third_party/r8: tr-hYTpA4Gomi1_TTF1Hvbc0Rwy8guQ4OMLc90Gw0uQC..VYa4qKw_r1a1mfMoihb-HEf076o6wCzkBmi4mPjKrkQC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/b4f0262c93..74cec08d24 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/345ee65632..7adb2360db * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ce0c1dfb9e..88edb4121f No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I9b1f6376dc3cdac855c5eb5e8eeed68f50d5c600 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4937629 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 5b7763f9 2023-10-12T10:59:59 Fix tsan failure of test FixedQueue.ConcurrentPushPopWithResize Test is accessing q.capacity() without mutex lock protection while modifying it in another thread. The fix here is to have the enqueue thread and dequeue thread always take its own lock and before we call updateCapacity, we take both lock. Bug: chromium:1491867 Change-Id: Ie0b844d5ee8df94c2f1c06263dddd434d1258121 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4936334 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 10d4d0ae 2023-10-12T17:48:44 Revert "Fix tsan failure of test FixedQueue.ConcurrentPushPopWithResize" This reverts commit 24dabdbbeee213d7a1fd01a70cddacc1949d3b26. Reason for revert: This did not completely fix the bug. q.full() still accessing mMaxSize. Original change's description: > Fix tsan failure of test FixedQueue.ConcurrentPushPopWithResize > > Test is accessing q.capacity() without mutex lock protection while > modifying it in another thread. The fix here is to let test keep its own > record of queue's capacity so that we dont need to get that from queue. > > Bug: chromium:1491867 > Change-Id: Ie0438ed1f4525bc4021e43098b24cd37bee3ce97 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4932359 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: chromium:1491867 Change-Id: I0332399043b369c96d64ae0b944c21e3b6507fea No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4935640 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 3938a005 2023-10-12T10:01:40 Roll vulkan-deps from 1d5140e06b47 to 37653f7c343e (17 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/1d5140e06b47..37653f7c343e Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/79401259fd..724433d729 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/e867c06631..4183b260f4 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/74005dfa67..661f429b11 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/6b36b69a7e..0c4bd8cd37 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/d6a6498781..92bf3cac80 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/bb7b6f1526..946b9715ee If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I000bf09bbc5be3c2e62f8c209b6d588df7805426 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4932895 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e4e499b7 2023-10-12T07:01:50 Roll Chromium from f9691c6faf3c to 137cc90d5084 (563 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f9691c6faf3c..137cc90d5084 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/2dccc3874f..1de43c2610 * buildtools/linux64: git_revision:991530ce394efb58fcd848195469022fa17ae126..git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53 * buildtools/mac: git_revision:991530ce394efb58fcd848195469022fa17ae126..git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53 * buildtools/win: git_revision:991530ce394efb58fcd848195469022fa17ae126..git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/3d87dab413..f2e75e7986 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/88f60e4dc3..ae615e1309 * third_party/android_build_tools/bundletool: 2RPwohwtc6on0_96oFxokeEvnC1LbLrGuyCAw00k62AC..xOeKyLIaK_RRHU0Qv0EdxTrRlq_22HAwoOr1xn5yoOcC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/30e34f3dc1..897e3d48d8 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/aabd869daf..69e597f8e5 * third_party/kotlin_stdlib: as5vlzFVMpLTCQXVJqs-kifMAEQmjK_fImDy09zQB8AC..QwS-YZL_N4g1SjI1Ngely1WPNxLh-kfYpFZhKaEXGawC * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/2ce7927479..9ebf30f2a4 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/40dc9a464b..ce0c1dfb9e No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I81aef552a212edbdafdce39e308bc46eabfca1a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4932602 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 24dabdbb 2023-10-11T14:09:10 Fix tsan failure of test FixedQueue.ConcurrentPushPopWithResize Test is accessing q.capacity() without mutex lock protection while modifying it in another thread. The fix here is to let test keep its own record of queue's capacity so that we dont need to get that from queue. Bug: chromium:1491867 Change-Id: Ie0438ed1f4525bc4021e43098b24cd37bee3ce97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4932359 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 90dd58a2 2023-10-04T11:54:22 Vulkan: Reduce mGarbageMutex lock contention Right now mGarbageMutex is used to control access to mSharedGarbage, mPendingSubmissionGarbage, mSuballocationGarbage, mPendingSubmissionSuballocationGarbage and mOrphanedBufferBlocks. Some times garbage clean up does take a bit longer time, especially on some VM platforms. This some times causes lock contention between main render thread and background garbage clean up thread, which defeats the benefit of having garbage clean up in the background thread. This CL utilizes angle::FixedQueue for garbage list so that enqueue and dequeue can be concurrent, which avoids this lock contention. Bug: b/302739073 Change-Id: I44b2b0e7f9f5ef438266fa277b24a2cb1606e689 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4899299 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Hailin Zhang <hailinzhang@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 2608c622 2023-10-06T13:32:49 Vulkan: Refactor SharedGarbageList into templated class This CL mostly involves non-functional changes to prepare for next CL. No behavior change is expected. This CL wraps the garbage list into its own templated class which maintains std::queue and tracks number bytes in the queue etc. This CL also renames SharedBufferSuballocationGarbageList to BufferSuballocationGarbageList to reduce verbosity a bit. This CL deleted GarbageAndQueueSerial and GarbageQueue since they are no longer being used. This renames vk::GarbageList to vk::GarbageObjects to reduce name confusion with SharedGarbageList. Bug: b/302739073 Change-Id: I7370c147847ffe69ad8aa3b48251d8b5762f97f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4919816 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Hailin Zhang <hailinzhang@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 7f3af6d2 2023-10-11T10:01:15 Roll vulkan-deps from be2755d4d109 to 1d5140e06b47 (13 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/be2755d4d109..1d5140e06b47 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/37fee00a71..79401259fd * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/933db564ca..74005dfa67 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d728191673..6b36b69a7e * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/31b95ce237..d6a6498781 * vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/9e088360b5..ca0ad57987 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/84a7db4f82..bb7b6f1526 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I7f85097f3fcbc877b83c5a1f91f9cf25a81f72ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4929761 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0935ab3f 2023-10-11T08:02:28 Roll Chromium from 2f77720808c4 to f9691c6faf3c (638 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2f77720808c4..f9691c6faf3c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/5f1ddffe0a..2dccc3874f * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/657ac241f8..67cee5ecfd * testing: https://chromium.googlesource.com/chromium/src/testing/+log/910b1725b1..3d87dab413 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/c83050b88e..3357d1060e * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/92d8c4e0cf..aabd869daf * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/8fc17971d6..e07dcc1eaa * third_party/r8: ZQH8yoO1Ol5rCFRL2hzp4_mcdq23Fk19Z_gVHn5pzk8C..tr-hYTpA4Gomi1_TTF1Hvbc0Rwy8guQ4OMLc90Gw0uQC * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/d06f70c93b..345ee65632 No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: Ic9f55be94f4da264375a90d56349cf63dd0140e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4931056 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ea332c71 2023-10-10T21:47:58 Manual roll VK-GL-CTS from a55b0930e9db to f2434516dcf5 (7 revisions) Manual roll requested by yuxinhu@google.com https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a55b0930e9db..f2434516dcf5 2023-10-06 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-10-05 ziga@lunarg.com Reduce the amount of variations in VK_EXT_host_image_copy tests 2023-10-05 rgarcia@igalia.com Improve and expand performance query tests 2023-10-05 ziga@lunarg.com Add tests using intermediate stores in helper invocations 2023-10-05 hauxwell@broadcom.com Fix execinfo compilation against musl c library 2023-10-05 piotr.byszewski@mobica.com Update glslang version and enable c++17 2023-10-05 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7 into vk-gl-cts/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,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: If2e3f881b3e03f4f13da469671f06e087c2a5b2b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4928869 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 43acadab 2023-10-06T15:05:36 Add missing configurations for khr tests KHR-GLES* tests are ran with configurations defined in glcKhronosMustpassEs.hpp: https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/openglcts/modules/runner/glcKhronosMustpassEs.hpp, when launching the conformance test from Khronos Conformance Package. This change adds the missing configurations in test_suites.pyl, for vulkan backends and swiftshader backends. Bug: b/297901032 Change-Id: I87e77ca8756b883ef08551919f67904ecf21aa97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4918582 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 6f794eab 2023-10-05T11:23:30 Change angle::FixedQueue's storage from std::array to std::vector Right now angle::FixedQueue uses std::array as the storage. In the case when queue is full, the only choice is to wait for dequeue thread to run until there is more room to enqueue. This CL try to add extra flexibility. In this CL< it switches storage to std::vector so that we could reallocate to double the storage when it is full. The trick is that before doing that, you must ensure no one is accessing the queue other than check the size. In a lot of usage cases that is easy to do by just grabbing the necessary locks. Bug: b/302739073 Change-Id: Ibefe0fd0e3e89c17dd6ee2cac6adc3368122adb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4915811 Reviewed-by: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Mark Lobodzinski 05c21cfc 2023-10-04T16:59:44 ANGLE Tracer: Make GL API capture threadsafe Multi-context games (Asphalt9, Pokemon Masters Ex) exhibited random crashes when running with capture-enabled builds. Added a frame-capture-only mutex for GL captureCalls to keep shared frame capture data thread-safe. Tests: Start Asphalt 9 with a capture-enabled build Bug: b/303472963 Change-Id: I70f27923e4cf1c150785cdaf71919b235fce0a10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4912267 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 53e37a3e 2023-09-29T14:15:37 Replace mActiveTextures.fill(nullptr) with memset std::array::fill yields unoptimized, unrolled loop with 8 byte increments. Surprisingly high (>2%) effect on the instructions counter in my tests (first frame of real_racing3 trace) The number of samples hitting this spot in profiling is also signficantly reduced. Impact on power harder to judge due to noise but does seem to be a bit better. Added a FillWithNullptr utility to check that nullptr is 0 and used it in other places where fill(nullptr) was used in ContextVk. It's not used elsewhere in vulkan. Bug: b/302708437 Change-Id: If7fab66d858bc10ca356418d2ab26232bb9a9ce7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4902288 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov a0967770 2023-10-06T18:01:45 Add egl/wrapper headers to deqp opengl sources gn gen --check catches these and "include not allowed" Bug: b/303881910 Change-Id: I26728dc2618436daec232152c56d59a7233ca91e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4916365 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev d1cf2d43 2023-10-05T00:00:00 Cleanup sampler completeness validation * Simplyfied control flow in TextureState::computeSamplerCompleteness * Used special rules for all depth and stencil formats instead of the filter support flag * Fixed DEPTH_STENCIL_TEXTURE_MODE affecting completeness of depth-only textures with REF_TO_TEXTURE compare mode * Skipped mipmap validation for multisample 2D array textures Bug: angleproject:2373 Change-Id: I0f9b6e7401fb85433f2ba4873f271055139bb17e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4922392 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll b4d87668 2023-10-10T10:01:46 Roll vulkan-deps from d3dc8dfdccca to be2755d4d109 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d3dc8dfdccca..be2755d4d109 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/5ff0c048b7..277d09e679 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/6d4f07c995..d728191673 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/730234d8e4..31b95ce237 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/10988f7589..84a7db4f82 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I918c643c830931f95bf22c7854fdafeb9e2e15ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4925139 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 04ce14af 2023-10-10T07:00:15 Roll Chromium from b3c67dea8ed9 to 2f77720808c4 (504 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b3c67dea8ed9..2f77720808c4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/7c58dc7046..5f1ddffe0a * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/878f3f1678..657ac241f8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2e28c272ba..910b1725b1 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/bf36a1f158..88f60e4dc3 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4d83729ced..30e34f3dc1 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6aed4f5a0c..92d8c4e0cf * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/24bdc4f64c..8fc17971d6 * third_party/siso: git_revision:23257e255f1d58d9f66923a1a40e746ac3a4b9d8..git_revision:c689f99bb4b9908073bd2f3fbd68f289d9e45a75 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/41f294687f..d06f70c93b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/171f64306f..40dc9a464b No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I36c12202445f4716fe71e4c63ed2c6acee3e3785 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4924804 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 99b208c1 2023-10-09T10:01:44 Roll vulkan-deps from f770c9936a5a to d3dc8dfdccca (57 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/f770c9936a5a..d3dc8dfdccca Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4fab7435bf..933db564ca * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/6f0d6550e6..bbe0f575eb * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/dedcfae378..6d4f07c995 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/e483d0dfc7..730234d8e4 * vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/2169a0849e..9e088360b5 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8dee683271..10988f7589 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: Ib2336a9b279eebbabd4c2dcd2d55d3b56604bbf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4921620 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll bc959555 2023-10-09T07:01:03 Roll Chromium from 4622adaa4bf3 to b3c67dea8ed9 (723 revisions) https://chromium.googlesource.com/chromium/src.git/+log/4622adaa4bf3..b3c67dea8ed9 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,romanl@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/d0b39db71d..7c58dc7046 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/d953546f4f..878f3f1678 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/1a4c54d785..2e28c272ba * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/60adf7b6d9..6aed4f5a0c * third_party/fuchsia-sdk/sdk: version:15.20230930.1.1..version:15.20231007.2.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/3023d15de4..24bdc4f64c * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/b6e1ac1649..db9800c042 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/f775f73afa..22e1594188 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e28b774df3..41f294687f Clang version changed llvmorg-18-init-7313-geee1f7ce:llvmorg-18-init-7785-geef35c28 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/f775f73afa543b4b1285aa65ca0cd9c395d07a3e..22e15941889dad6fcffeca7134684b888299ad55/scripts/update.py Bug: None Tbr: romanl@google.com Change-Id: I659460ae086e01d36ac058e4b612a859d602fba3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4921614 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 0afc3ec9 2023-10-05T00:00:00 Metal: Fix robust initialization of PVRTC1 textures Replace Region Validation: rowBytes must be 0 for: * MTLPixelFormatPVRTC_RGB_2BPP * MTLPixelFormatPVRTC_RGB_2BPP_sRGB * MTLPixelFormatPVRTC_RGB_4BPP * MTLPixelFormatPVRTC_RGB_4BPP_sRGB * MTLPixelFormatPVRTC_RGBA_2BPP * MTLPixelFormatPVRTC_RGBA_2BPP_sRGB * MTLPixelFormatPVRTC_RGBA_4BPP * MTLPixelFormatPVRTC_RGBA_4BPP_sRGB Fixed: angleproject:8370 Change-Id: I153bea5bb487f79b0966be0b8670a2ee4e3aeb39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4915704 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Roman Lavrov 7e8907db 2023-10-06T15:41:05 Add egl/wrapper to deqp opengl includes Needed to roll VK-GL-CTS upstream change: https://issuetracker.google.com/303881910 Bug: b/303881910 Change-Id: Idffa299cc6c1d277702167bf50e1d944febb9e7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4915605 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 0015d1e2 2023-10-05T00:00:00 Allow ETC1_RGB8 for 2D array textures When GL_EXT_compressed_ETC1_RGB8_sub_texture is enabled, ETC1_RGB8 format must be accepted for 2D array textures. Bug: angleproject:5731 Change-Id: Ic5e647ffd4e7d2a171e25ea8cf3f41514cf37072 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4915918 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 5149d210 2023-10-02T22:27:11 Vulkan: Deduplicate sync's clientWait logic As a side effect, both GL_NV_fence's client wait and external fence client wait is also done in an unlocked tail call. Bug: angleproject:8340 Change-Id: Ia0b882cc67ecf7ac5b2a8f9dc9e721060cca3c9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908351 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi adb17c80 2023-10-06T10:39:17 Vulkan: Copy 3D<->2DArray images with vkCmdBlitImage anyway Despite the validation error, do the copy with vkCmdBlitImage anyway. Drivers seem to work correctly, and the validation restrictions seem unintentional. Bug: angleproject:7291 Change-Id: Ie7a0ecfe559be44738da3eada281ea97424b38ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4916359 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 65e8ae30 2023-10-06T09:42:45 Vulkan: ANGLE_device_vulkan is incompatible w/ asyncCommandQueue The application may use EGL_ANGLE_device_vulkan to retrieve ANGLE's Vulkan queue for direct usage. There is no mechanism for the application to synchronize with the internal thread that uses the same queue when the asyncCommandQueue feature is enabled. This was causing flakiness where VVL reported this error. This change makes sure an ASSERT catches this incompatible usage. Bug: angleproject:7204 Bug: b/299693666 Change-Id: Idf349f99d80b7bbddeb9a0b2d72e3dd7c707fa5c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4915594 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov d6bf8e0d 2023-10-02T18:10:36 Improve capture_replay_tests (win-trace) logging * Get rid of the CRASH expectation as it is always confusing. Replace items in expectations with SKIP_FOR_CAPTURE. This will no longer run the corresponding tests (which was making logs even more confusing) * Use CaptureFailed and ReplayFailed instead of Crashed status (the actual meaning is a non-zero return code from the test harness) * Introduce batch names by indexing them as they are created: batch_000, batch_001, ... This enables easy searching in logs. * When logging a batch (result) include its name and why it is logged * Failed batches are printed with full output instead of "abbreviated" output. One issue with b/303065176 was that an important part of the output (errors) was truncated by this "abbreviation" * Remove "regression log" and "Summary" as these are often just confusing: regression log just duplicates information printed earlier and summary may not be clear w.r.t test expectations. The part that prints what was unexpected is still there. It also now includes batch names so it's much more obvious what comes from where. Example: Unexpected 'CaptureFailed' (8): != Pass: batch_000 FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithBellowBaseLevelLOD/ES3_Vulkan_SwiftShader != Pass: batch_000 FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithBellowBaseLevelLOD/ES3_Vulkan_SwiftShader_AsyncCommandQueue != Pass: batch_000 FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithBellowBaseLevelLOD/ES3_Vulkan_SwiftShader_EnableParallelCompileAndLink != Pass: batch_000 FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithSubImageWithBeyondMaxLevel/ES3_Vulkan_SwiftShader != Pass: batch_000 FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithSubImageWithBeyondMaxLevel/ES3_Vulkan_SwiftShader_AsyncCommandQueue != Pass: batch_000 FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithSubImageWithBeyondMaxLevel/ES3_Vulkan_SwiftShader_EnableParallelCompileAndLink != Pass: batch_000 FramebufferTest_ES3.RenderImmutableTextureWithSubImageWithBeyondMaxLevel/ES3_Vulkan_SwiftShader != Pass: batch_000 FramebufferTest_ES3.RenderImmutableTextureWithSubImageWithBeyondMaxLevel/ES3_Vulkan_SwiftShader_AsyncCommandQueue Unexpected 'FailedToTrace' (1): != Pass: batch_001 FramebufferTest_ES3.RenderSampleDepthTextureWithExcludedLevel/ES3_Vulkan_SwiftShader Bug: angleproject:7519 Bug: b/303065176 Change-Id: Ie0c4734c7c4ac965aa6fd38b0c1783e0b92af7a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908349 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll 3671dbbd 2023-10-06T07:00:10 Roll Chromium from 138350604230 to 4622adaa4bf3 (433 revisions) https://chromium.googlesource.com/chromium/src.git/+log/138350604230..4622adaa4bf3 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,romanl@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/76f5031632..d0b39db71d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/c3c28168c6..d953546f4f * buildtools/reclient: re_client_version:0.113.0.8b45b89-gomaip..re_client_version:0.116.1.9128bc4-gomaip * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d7592c0f05..1a4c54d785 * third_party/android_build_tools/aapt2: STY0BXlZxsEhudnlXQFed-B5UpwehcoM0sYqor6qRqsC..y1G4s2RWI63L9ZLgzS3RzFdWdeblpCmYyAUzMphcQawC * third_party/android_build_tools/lint: Ac-fmwsSKvAmbfGL_uV4S6Xfz2jKwcHYelE29TjBPikC..qOmRl_DUi0ABBlqEHTW3kw6DMtplzGdRr7td0USaw0IC * third_party/android_build_tools/manifest_merger: 9gAaukznhLAAtANeZ_AT_9z8xXF5ZUzuc0h0TfMr7IIC..f91o-aOAEitXaUBozBpROZfvZOxQOB9aqPJGduMwoNYC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1a33dd1f59..4d83729ced * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c2e0061723..60adf7b6d9 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/e0cb589445..3023d15de4 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/3f0af7f1d5..fef58692c1 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/4540d5f88f..b4f0262c93 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3e68a98ed5..e28b774df3 No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I57d4f36e3fe71daf104207ff9e242f9568c4fd46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4918911 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 8c341cfd 2023-10-04T12:49:59 Vulkan: Fix blits involving 3D images The layer vs depth value involved with 3D images when calling vkCmdBlitImage is fixed in this change. However, that brought to light that the combination of VUID-vkCmdBlitImage-srcImage-00240 and VUID-vkCmdBlitImage-dstImage-00252 make it impossible to blit between 3D and 2D array images, which is likely a spec oversight. This change makes 3D<->2DArray blits fall back to draw-based blit. This in turn exposed the fact that 3D images as src were not handled in BlitResolve.frag. A new Blit3DSrc.frag shader is added which shares code with BlitResolve.frag to implement this. This is a separate shader to avoid creating unnecessary and invalid combinations of shaders. VK_EXT_image_2d_view_of_3d could have been used to avoid this new shader, but that is not ubiquitous. Bug: angleproject:7291 Bug: dawn:1962 Change-Id: I6a96162f95829304b4731d43208d9d054f538105 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911800 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
angle-autoroll 48474d15 2023-10-05T14:43:52 Manual roll Chromium from 07002c74826e to 138350604230 (1338 revisions) Manually update third_party/flatbuffers following chromium's update: https://crrev.com/c/4910377 alignment_test_generated.h is copy-pasted into angle's repo... and also has to be re-git-cl-format'ted... https://chromium.googlesource.com/chromium/src.git/+log/07002c74826e..138350604230 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,romanl@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/e487e6db20..76f5031632 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/c8bee3e69d..c3c28168c6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/729cd7fa3b..d7592c0f05 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/0f519c0d9c..bf36a1f158 * third_party/android_build_tools/lint: _HzBkAzPHHstN_PQaEGq4413D2VuwK7rqGfk8qD--SsC..Ac-fmwsSKvAmbfGL_uV4S6Xfz2jKwcHYelE29TjBPikC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/88124d563b..1a33dd1f59 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/422ba5b9a5..c2e0061723 * third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/0343396e49..bcb9ef1876 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/a094e2535c..e0cb589445 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/e8e4eb8f1c..b6e1ac1649 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/7608093d21..2ce7927479 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/17e6503b3b..4540d5f88f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/63add4de58..f775f73afa * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bfe350d6ed..3e68a98ed5 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/68be214291..8b06a53701 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/768e830d42..171f64306f Clang version changed llvmorg-18-init-4631-gd50b56d1:llvmorg-18-init-7313-geee1f7ce Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/63add4de58da9da47128fc588c17ac4d5e614c79..f775f73afa543b4b1285aa65ca0cd9c395d07a3e/scripts/update.py Bug: None Tbr: romanl@google.com Change-Id: Iabc1fd4e312b528afdcd228d51f4a561882d3be8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4916750 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuxin Hu 856a6ec0 2023-10-03T17:17:35 Enable rgb-565-no-depth-no-stencil tests on Android Bots Enable gles3 and gles31 rgb-565-no-depth-no-stencil tests on Android Bots. Khronos conformance package ran the gles3 and gles31 tests with rgb-565-no-depth-no-stencil configurations on Android devices: https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/openglcts/modules/runner/glcAospMustpassEs.hpp#L41 Enable the rgb-565-no-depth-no-stencil configuration tests on Android bots to cover them. Non-Android platforms do not support rgb-565-no-depth-no-stencil configuration. We should not enable it on non-Android platforms. This CL also disables this configuration from building on non-android platforms in src/tests/BUILD.gn. Bug: b/297901032 Change-Id: I23d83213818884ea679dd76bf4b001c3b636dffc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908171 Reviewed-by: Roman Lavrov <romanl@google.com>
Yiwei Zhang 3d75b794 2023-10-04T11:10:34 Vulkan: enable preferSubmitAtFBOBoundary for Virtio-GPU Venus Now we see perf gain for the concerning title Asphalt 9 with ANGLE-on-Venus even for low end devices. So enable this by default for Venus since it mitigates 3DMark Sling Shot Physics score regression. Bug: b/302230555 Test: top app affected by the feature and 3DMark Change-Id: I2e115e022eb085a3dc693378fe2f0a960890b7d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911958 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll e109a092 2023-10-04T17:39:50 Manual roll vulkan-deps from 89aea904c65f to f770c9936a5a (61 revisions) Manual roll requested by cnorthrop@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/89aea904c65f..f770c9936a5a Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/2bfacdac91..5ff0c048b7 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/6e1fb9b09e..37fee00a71 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/79743b899f..e867c06631 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/48c97c1311..4fab7435bf * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/df60f03168..6f0d6550e6 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/f352069ad3..dedcfae378 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/576f3286e1..e483d0dfc7 * vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/8486ee700e..2169a0849e * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1b8b09b3ab..8dee683271 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com,romanl@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: romanl@google.com,cnorthrop@google.com Change-Id: I0258b66f7c84f1eb39abae5aa5b648665222bfe4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911956 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Chris Forbes <chrisforbes@google.com>
Roman Lavrov f8f98477 2023-10-04T12:54:06 Suppress VUID-VkRenderPassBeginInfo-renderPass-00904 Getting a lot of these, for example: dEQP-GLES31.functional.blend_equation_advanced.basic.multiply Bug: b/303441816 Change-Id: I78bf5c0e34bb65f349c71f324ea1c71ae8b416e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911799 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Roman Lavrov 276e0c78 2023-10-04T12:42:23 Also suppress VUID-VkGraphicsPipelineCreateInfo-pStages-00739 dEQP-GLES31.functional.primitive_bounding_box.points.* are hitting this one Bug: b/303219657 Change-Id: I26ae20ce6feeb84019488689667fa66fb7ca2925 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911798 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
Roman Lavrov 43abae13 2023-10-04T10:49:44 Suppress VUID-VkGraphicsPipelineCreateInfo-pStages-00738 Bug: b/303219657 Change-Id: Ibc23ccc700b15c351b2d7ab644bd8fc28bc07dcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911795 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll c17ea301 2023-10-04T10:01:59 Roll SwiftShader from 5b6f768198ce to 400ac3a175a6 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/5b6f768198ce..400ac3a175a6 2023-10-03 cnorthrop@google.com Update Vulkan headers to version 1.3.266 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,romanl@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: romanl@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Iee12272bcc03529bab10c78d71168c3aa2e9896f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4910460 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 777a46bf 2023-09-29T00:00:00 Metal: Fix power function translation GLSL definition of pow(x, y) excludes negative x, so it must be translated to metal::powr, not metal::pow. Fixed: angleproject:8366 Change-Id: Idaa66da73a149119e2a74beddc9a49e187d3e7af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4901995 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi ffb32380 2023-10-02T16:01:37 Vulkan: Fix device creation on multi-queue devices When multiple eligible queue families are exposed by the device, ANGLE defers devices creation until a surface is made current, at which point it selects a queue family that supports presentation to that surface. This path was largely untested and was broken: - Some post-device-creation initialization was not deferred until the device was actually created - Some cap calculation depended on the chosen queue family index - Query of device capabilities was done too late, such that ANGLE could not correctly determine the level of support for ES versions. Bug: angleproject:8300 Change-Id: I2a35396d1fd08ed26d217dff07d10e9a9c1ac55f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4907895 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov 1eccf863 2023-10-03T16:18:07 Handle non-debuggable com.android.angle.test on device Noticed in capture_tests on CI, and angle_perftests also runs into this. When a non-debuggable test apk is installed on the device the hash check fails as run-as does not work for non-debuggable apps. It's just an optimization to avoid re-installing the apk though, so just warn about the error and re-install the apk. Bug: b/303276423 Change-Id: Iecc68de285454043fc7f090163af373a22e11e41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4910152 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov f29f73d9 2023-10-03T14:31:47 Add missed include <atomic> Following https://crrev.com/c/4886388 Bug: b/302112423 Change-Id: I8d9c1269d5e2470ee9f559eae26eddeb8a956a9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4904696 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 75409184 2023-10-03T18:57:42 Revert "Add VMA version to logcat" This reverts commit 92218933df79a4427b9bd29d0b7af892108e410e. Reason for revert: VMA 3.0 usage is confirmed. Log can be removed. Original change's description: > Add VMA version to logcat > > This is a temporary CL. It will be used to confirm that Android > uses VMA 3.0 with ANGLE as the default driver. > > * Added the VMA version log when the renderer is being initialized. > > Bug: b/295208838 > Change-Id: I054a4e0e080aa5d06533bd7785eea608e14bba39 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868086 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: b/295208838 Change-Id: If1b9883c02c78121ff72601b650ac04aef685527 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4909899 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 7f5143c2 2023-10-02T15:38:15 Vulkan: Notify VAO when VBO's mBufferWithUserSize changed. When buffer robust access is enabled, and bufferData is called with different size and we end up reusing the underline storage, we will have to recreate VkBuffer with user's size, and driver is relying on VkBuffer's size to implement robust access. The bug here is that we notify VAO when storage changes. But when storage is reused and we have dedicated VkBufer with user size and that VkBuffer changed, we were not notifying the VAO. This CL adds that notification so that VAO gets notified and dirty bits processed and its cache of VkBuffer gets updated Bug: chromium:1488055 Bug: b/303138134 Change-Id: Ie693c92c2edde9a22a41a25f5bde493397550d95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4906568 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 8b9500ae 2023-09-28T16:15:21 Enable multisample deqp tests on bots Enable gles3 and gles31 deqp multisample tests on bots. Khronos conformance package ran the tests in gles3 and gles31 mustpass list with multisample config rgba8888d24s8ms4: https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/openglcts/modules/runner/glcAospMustpassEs.hpp#L24 Enable the multisample config tests on bots cover the tests. This CL only enables the multisample tests on Vulkan backends (including swiftshader) on Android, Linux, Windows, as we are prioritizing vulkan backend development. Bug: b/297901032 Change-Id: Iaa830bd466e3564bb1e83c98cc360bd5a85abf86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903430 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi e9719f5c 2023-10-02T12:15:35 Capture/Replay: Disable VK_EXT_host_image_copy during capture Bug: b/303065176 Change-Id: I87f9dd11cd87115f097bb35d44f024db19274d51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903077 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d919870f 2023-09-14T16:00:07 Vulkan: Do host image copy without holding the share group lock When an application uploads texture data such as with `glTexSubImage2D`, the share group lock is being hold while the data is being copied. Without VK_EXT_host_image_copy, this is a copy to a staging buffer, which may itself be expensive. With VK_EXT_host_image_copy, the cost of the copy is higher and so the lock would be held for a longer duration. This is particularly harmful to applications that spawn a separate thread for texture uploads (as the main thread is unable to make GL calls). This change moves the actual copy call to the tail of the call after the share group lock has been released. As a result: - The upload thread may be a bit slower, but - The copy does not interfere with the main thread, and - The copy does not interfere with the GPU's rendering work. As a result, games that load content seamlessly during gameplay should experience less stutter during texture uploads. Bug: angleproject:8341 Change-Id: I818c4389d4bf828847578da89414623e4b5e844e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864290 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 09706e1c 2023-10-03T10:01:18 Roll SwiftShader from 7f4d495c89c2 to 5b6f768198ce (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/7f4d495c89c2..5b6f768198ce 2023-10-02 zequanwu@google.com Add LLVM_LVALUE_FUNCTION to llvm's Optional::map. 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,romanl@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: romanl@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I8f05729ccf3363823502ad29db831503ef51e5a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4909161 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 16086afb 2023-10-03T07:02:18 Roll Chromium from 8a3d372ccd3c to 07002c74826e (635 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8a3d372ccd3c..07002c74826e 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,romanl@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/f360b1ae70..e487e6db20 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/50c348906c..c8bee3e69d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/074ff55a07..729cd7fa3b * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7207ed23d5..0f519c0d9c * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/506acd31ba..c83050b88e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4f81c1e295..88124d563b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/90a30a5b53..422ba5b9a5 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/7cf98622ab..a094e2535c * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/43e5a34c5b..7608093d21 * third_party/turbine: yCsGwOtj8SizFXXeS-xmdIaZ3PuyTsy8IJsp411p_uIC..hgwj3KajqJCdACBdNiRoYQZhZw2NhHu0-pwuAp3S-LcC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/f1c868477e..17e6503b3b * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/dc3593cbb8..63add4de58 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/91d35f630f..bfe350d6ed * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/94bb6e3960..768e830d42 No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I30ecdbab1d282630f12adade60a6ec1c946ce917 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908424 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 4ace4da1 2023-09-28T00:00:00 Metal: Add 2D array and 3D texture type mappings Do not try to copy texture levels with mismatching layer counts to avoid triggering Metal validation. Fixed: angleproject:8364 Change-Id: I4bc72be753a62dd78dc131562c62e14eb540ab2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4901993 Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Amirali Abdolrashidi 84c30b76 2022-07-12T20:42:00 Vulkan: Add single-level mutable texture flushing So far, the feature to flush mutable textures after switching to a new texture only applied to textures with at least two mip levels. In that case, the whole mip chain would be allocated for those textures. This change will add single-level texture flushing as well. However, the it should be optimized to prevent allocating the whole mip chain for only one defined level, and reduce memory usage. * Updated the code for previous texture flushing to include one-mip textures as well. * Added the condition that the mutable texture not be bound as an attachment for flushing. * Changed ImageMipLevels::FullMipChain to ::EnabledLevels in order to limit the number of allocated mips. * Removed ::FullMipChain from ImageMipLevels. Bug: b/285613719 Change-Id: Ibc76917345820c5a0991f700e9fb93e4cda6efae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3763841 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 961ed7a2 2023-10-02T15:07:44 RepeatedEglInitAndTerminate: 100 -> 50 repetitions One of the variants ES3_1_Vulkan_SwiftShader_EnableParallelCompileAndLink is taking >60s which seems a bit too much time for this kind of test Bug: b/303089709 Change-Id: I75584bf376cfac8e4ddd61b21ccd75b9ac6d2967 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908348 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 5ab344be 2023-09-28T17:26:29 Remove old VUIDs after renaming Some of the VUIDs were renamed in a recent VVL roll. The new VUIDs for those that were skipped were also added to the list in a prior fix CL. After the related VVL change and the fix also rolled into Chromium, the old VUIDs can be safely removed from the skip list. * Removed the following VUIDs from the skip list * VUID-VkBufferViewCreateInfo-buffer-00934 * VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428 Bug: angleproject:8358 Change-Id: I63474cb36408637be8a60def9add1f77c48e9c93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903984 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 0769e7ce 2023-10-02T14:27:10 decode() subprocess.check_output output Currently getting this output as a single line: export_targets.py failed: b'Importing graph\n ( ...' Bug: b/303079476 Change-Id: Ia6c13822476744efd4a8a2934eaedb30ec463709 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908347 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuxin Hu 32ef34df 2023-10-02T10:30:48 Remove the dEQP-EGL.functional.color_clears*/render* test suppression The dEQP-EGL.functional.color_clears* and dEQP-EGL.functional.render* test failures on Pixel6 have been fixed in https://gerrit.khronos.org/c/vk-gl-cts/+/12272. Remove the test suppression from the expectation files. Bug: b/295394803 Bug: angleproject:8214 Change-Id: I2d99f9ed282eba43dc9c18e4427f5abd5014224e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4908191 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll 3d5308aa 2023-10-02T07:01:20 Roll Chromium from 7d030fb2d0f3 to 8a3d372ccd3c (719 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7d030fb2d0f3..8a3d372ccd3c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/23812209f6..f360b1ae70 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/ece39eb658..50c348906c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7be94e7b03..074ff55a07 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/7ebbd1ea9b..1fb4dd28f9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a217ecb5ad..4f81c1e295 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/4c1d6d90bc..90a30a5b53 * third_party/fuchsia-sdk/sdk: version:15.20230920.1.1..version:15.20230930.1.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/8a241ea043..7cf98622ab * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/724cd40fb6..43e5a34c5b * tools/luci-go: git_revision:3e49653ac027a003d9ef6cf89068acbf28f5bd9e..git_revision:589d8654cfa7808816a6ecb4284ed2fd72c2f6d5 * tools/luci-go: git_revision:3e49653ac027a003d9ef6cf89068acbf28f5bd9e..git_revision:589d8654cfa7808816a6ecb4284ed2fd72c2f6d5 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/471bcb7483..94bb6e3960 * tools/skia_goldctl/linux: O5Qnoa4MmsF8xWeyb3Q21JeZTv-xshcXDBNTFS0Pbm8C..yRR4wNw_p_PCRQQVZO5Y4UKfDQ0AqBIKbfj97QVbiIcC * tools/skia_goldctl/mac_amd64: N0TF2Fb4AY_HGf_wkMFjMsShJ9KADsZEkZyxbBuGjyoC..1SHcSqKCFlDIwzDTHUyQqql_3FxCOIdJmgUMpdXJHssC * tools/skia_goldctl/mac_arm64: dhhDKAB9aDP4kBCiYZz4-8h4kkvsOmg5s9HqFtLpSqEC..26EXZ4e5kuFt-BT9YOQKl6ZE6fkCcjVqF8sBdp5FWiIC * tools/skia_goldctl/win: OpzSEVB6-LaJ1-yaM5mISiNaWker0hgINXOgwOS0dGUC..wSL6CZdkxlrYe9Uuw6OIWVysK5_6_RYkQmAE83aVbW8C No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: I7e940df79d57009c0887115732ccb27301f36f9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4907007 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 34c8778b 2023-09-26T13:45:06 Use atomic counters early in perf warning macros Before this CL, snprintf was called repeatedly to format the warning message which was then discarded after 4 logs. snprintf showed up in profiling at ~2% and this CL appears to yield an ~8% power improvement in one of the traces (egypt_1500). A mutex was previously used to avoid the race condition on the static sRepeatCount variable. This CL avoids the need for that by using static atomics instead. Also updated the Debug macro to use the VK macro vararg approach so that formatting only happens when the message is actually logged. Bug: b/302112423 Change-Id: Ia8a18361cfb5a9f2aa19ff939499754ba861efb7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4886388 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 03034715 2023-09-29T15:35:50 Roll VK-GL-CTS from d88f9c5772a8 to a55b0930e9db (10 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/d88f9c5772a8..a55b0930e9db 2023-09-29 rgarcia@igalia.com Fix VulkanSC version check for promoted function pointers 2023-09-29 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7 into vk-gl-cts/main 2023-09-28 javed@igalia.com Add TESS/GEOM shaders in combination with the barycentric FS 2023-09-28 ziga@lunarg.com Add texture gather offsets tests using implementation limits 2023-09-28 gleese@broadcom.com Simplify construction of float controls tests 2023-09-28 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-09-25 rgarcia@igalia.com Test GPL with XFB 2023-09-22 rgarcia@igalia.com Add more XFB simple test variants using PointSize 2023-09-22 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-09-22 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: abdolrashidi@google.com Change-Id: I2eeb1e3e724c341cd577421d1b4c3795dd152b44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4904361 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mark Lobodzinski 03eea365 2023-09-25T17:50:51 ANGLE Tracer: Mark FBAttachment texture resources as active If a texture and framebuffer were set up before capture and referenced during a capture, the texture resource would not be set as active and the trace may fail. Test: Capture a Diablo Immortal trace and attempt to replay Bug: b/301999483 Change-Id: I5ea114e65b11479a5cdbf496dc8c5ab4eeadbf55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4893251 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Kenneth Russell d1d639eb 2023-09-28T15:02:14 Don't check out Android dependencies on macOS. Doing so is causing problems for multiple teammates. Fixed: angleproject:8363 Change-Id: I29e8e4e25fae2726b2af61abffb86ab8c2abaa6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4902756 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 16651b65 2023-09-29T08:46:41 Roll Chromium from 1fe2defab2d7 to 7d030fb2d0f3 (752 revisions) https://chromium.googlesource.com/chromium/src.git/+log/1fe2defab2d7..7d030fb2d0f3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/4cf92feae1..23812209f6 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2c6e20e2ff..ece39eb658 * buildtools/reclient: re_client_version:0.114.2.81e819b-gomaip..re_client_version:0.113.0.8b45b89-gomaip * testing: https://chromium.googlesource.com/chromium/src/testing/+log/76f3b55855..7be94e7b03 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/9f3298993d..7207ed23d5 * third_party/android_build_tools/manifest_merger: EPmMtC5CNXQqxByKOxqF9Vk8LURwarA6qy5siWX1kRoC..9gAaukznhLAAtANeZ_AT_9z8xXF5ZUzuc0h0TfMr7IIC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/328888ea45..a217ecb5ad * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/34e0ecf20e..4c1d6d90bc * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/055d494c5c..8a241ea043 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/49658294d8..724cd40fb6 * third_party/siso: git_revision:7c83de2b4db68a7b96e62a272a3b1eb40681fb81..git_revision:23257e255f1d58d9f66923a1a40e746ac3a4b9d8 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/91a295c72e..3f0af7f1d5 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/f8b2b1163d..dc3593cbb8 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/01291106f9..91d35f630f * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8084029261..471bcb7483 No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: Ief8bca49c9d18ea77c95dd6eea382c383bc1d12d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903435 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 1cab871c 2023-09-27T22:11:25 GL: Fix ScalarizeVecAndMatConstructorArgs vs precision If the constructor being expanded has no precision (such as if it's entirely made up of constants and bools), the workaround didn't produce a precision for the helper function, leading to GLES compilation errors. Bug: chromium:1420130 Bug: angleproject:8361 Change-Id: I0de312dfd1bfbf45317db4fb88d685a843052817 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4898697 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 6717a65b 2023-09-28T00:00:00 Metal: Skip maximum render target size validation for Mac GPUs Only GPUs that do not support Mac families have this limitation. Bug: angleproject:8268 Change-Id: I3f9174dd104c2ba4e9781272fbc7062fe14d78a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903722 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Kyle Piddington d55893cd 2023-09-27T16:40:58 Issue 1484512: Out of bounds access to Metal uniform blocks Fixed conversion offset for Uniform buffers: Dynamic buffers were being allocated and copied from the 'updateBufferSubData' offset, than from the previously allocated offset. This meant that when creating a new dynamic buffer to hold the metal uniforms, ANGLE didn't re-convert blocks from the initial source offset, nor did we allocate enough space to read those blocks. Important use cases to test include any UBO-heavy sites. Bug: chromium:1484512 Change-Id: Ia9f505e3df871a401d40682d737019bd5d3f443f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4899369 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
angle-autoroll 621bee25 2023-09-27T22:07:24 Manual roll vulkan-deps from b8fa58ef74a9 to 89aea904c65f (61 revisions) Manual roll requested by abdolrashidi@google.com * Updated the skipped VVL messages in accordance with the following vulkan-deps roll: Vulkan-ValidationLayers to 9fe2f727 https://chromium.googlesource.com/vulkan-deps.git/+log/b8fa58ef74a9..89aea904c65f Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/4c57db1595..2bfacdac91 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/5e963d62fa..6e1fb9b09e * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/fc7d246276..79743b899f * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a40483d313..48c97c1311 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/4f51aac14f..df60f03168 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/9dc0e31574..f352069ad3 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/1ecbed6db3..576f3286e1 * vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/6774c9b24b..8486ee700e * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c26ff51102..1b8b09b3ab If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:8358 Tbr: abdolrashidi@google.com Change-Id: I7927abe872fbb1d25523b06cc205b13ef2a887f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4898000 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev 49c4d87a 2023-08-21T00:00:00 Apply fragment color broadcasting to secondary outputs When GL_EXT_draw_buffers is enabled, gl_FragColor is replaced with gl_FragData. Apply the same transformation to gl_SecondaryFragColorEXT if it is statically used to avoid compiler failures. Bug: angleproject:1085 Change-Id: If154cd20a8e14a92da520847a9c4508971a45fef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4900641 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 25bfe035 2023-09-07T00:00:00 GL: Adjust disableTextureMirrorClampToEdge condition The extension support has been fixed in Mesa 23.1.7. Fixed: angleproject:8319 Change-Id: Ie83dee83773823dad90826267040e40b6f296c53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4901182 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 66d3db3b 2023-09-27T09:15:19 d3d: Shorten warning about complex uniform blocks The warning was excessively large, while ANGLE_PERF_WARNING might use a smaller buffer to format the message. Bug: b/302112423 Change-Id: Ie8c2fe472c90a39f678fa685e852bbd49b5c8442 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4894632 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 80228c64 2023-09-28T07:00:45 Roll Chromium from 90ee8fc080db to 1fe2defab2d7 (444 revisions) https://chromium.googlesource.com/chromium/src.git/+log/90ee8fc080db..1fe2defab2d7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/0a9aa32bbe..4cf92feae1 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/dd597d467e..2c6e20e2ff * testing: https://chromium.googlesource.com/chromium/src/testing/+log/95b1376904..76f3b55855 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4105ea6a42..328888ea45 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8609345923..34e0ecf20e * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/823696f806..055d494c5c * third_party/siso: git_revision:412571deccd76eb54f681963ca14e13c3efc63e1..git_revision:7c83de2b4db68a7b96e62a272a3b1eb40681fb81 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/fc2715028a..91a295c72e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a705c19db3..01291106f9 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c9d48cf49a..8084029261 No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: Ifee60b1d83ae0abe48a1694126885158af7542d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4900419 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jeff Vigil 929ace8d 2023-09-22T09:59:43 Vulkan: Get queueFamilyIndex from renderer In WindowSurfaceVkWayland::createSurfaceVk, use context->getRenderer()->getQueueFamilyIndex() to get index Bug: angleproject:8353 Change-Id: Ia209c1c8a16ef12e260b0a9d584b50b1a4c95181 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4885341 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jeff Vigil <j.vigil@samsung.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Hans Wennborg a2a16b45 2023-09-27T16:57:23 Use constexpr if to suppress more aggressive conversion warning The latest version of Clang started warning about the implicit conversion in the 'else' branch even for types where that branch is not taken. Use 'constexpr if' to passify the compiler. Bug: chromium:1487142 Change-Id: I52ae111abaeac46b586bf9f5c150c9a58e419704 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4891702 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Greg Schlomoff d07965b3 2023-09-25T16:54:00 Workaround for the ETC2 transcoding bug on some AMD GPUs. We now perform alpha encoding first, in 8-bit alpha mode. While this should not make any difference from a logic perspective, it does fix a bug on certain AMD GPUs. See b/300672851 for details. Tested on a Radeon RX 560X Series GPU, which current drivers. Bug: b/300672851 Change-Id: I5d2bfbca36a27f064918f19e7330dd7467a320cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4892879 Reviewed-by: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3defb2cd 2023-09-26T14:03:47 Remove mention of --use-goma from capture/replay doc Goma is autodetected. --use-goma is not accepted by the script anymore and was removed in: https://chromium-review.googlesource.com/c/angle/angle/+/3149190 Bug: angleproject:6102 Change-Id: I19c32346f86ca608476af2dff40b9d6ea0a3eb44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4894631 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll cc689920 2023-09-27T07:00:44 Roll Chromium from eaf61b9c576c to 90ee8fc080db (1095 revisions) https://chromium.googlesource.com/chromium/src.git/+log/eaf61b9c576c..90ee8fc080db If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/bf26514b29..0a9aa32bbe * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/b1681a8c6c..dd597d467e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/96134a476f..95b1376904 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/c2ac88e292..9f3298993d * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/801bc6657b..290bf47520 * third_party/android_build_tools/lint: l5GhbN0RAcpoaj1qIS43ZX7AYnLxdF-rZJ0ruGu_iWAC.._HzBkAzPHHstN_PQaEGq4413D2VuwK7rqGfk8qD--SsC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/297421bd46..506acd31ba * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3c4b5cf37f..4105ea6a42 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c5505889cf..8609345923 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/645470002f..823696f806 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/c28dc42f0d..e8e4eb8f1c * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/1f88fff745..49658294d8 * third_party/r8: w5NK9teKNDuEhU_7rQE8WYwuBzdXA8lVkJwo6VOgWv8C..ZQH8yoO1Ol5rCFRL2hzp4_mcdq23Fk19Z_gVHn5pzk8C * third_party/turbine: NR31kJWll1NZz_scMvMPtPH_P3wOQ5aKBJ-n8XQ7QrYC..yCsGwOtj8SizFXXeS-xmdIaZ3PuyTsy8IJsp411p_uIC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/26ace0aa44..f1c868477e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/8709515e87..f8b2b1163d * tools/luci-go: git_revision:8b73cff3b780a7136c4904103f19124d2be3dee1..git_revision:3e49653ac027a003d9ef6cf89068acbf28f5bd9e * tools/luci-go: git_revision:8b73cff3b780a7136c4904103f19124d2be3dee1..git_revision:3e49653ac027a003d9ef6cf89068acbf28f5bd9e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/30749e99ce..a705c19db3 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/1b7548b361..c9d48cf49a No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: If81ca949e6c3d6a7d7a0a145140cf02e01ed5ed1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4896245 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang 2c0f9d20 2023-09-26T11:50:54 Metal: Protect against invalid locations in setUniformImpl Chrome disables validation and a common bug is that the wrong program is used during uniform setting in Skia. Make this bug less catastrophic while the root cause is investigated. Bug: chromium:1484878 Change-Id: I521e99cdf6cebc56775e484fa8d61ad18f506479 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4886384 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7cacb537 2023-09-26T11:27:49 Limit the uncompressed data size when decompressing blobs. If the data in the blob cache is invalid for any reason, ANGLE will take the last 32 bits of it an interpret it as a size for decompressing the blob. Add some reasonal upper bounds on the decompressed data size so that if the data is invalid it will simply fail decompression instead of allocating giant buffers. Bug: chromium:1485277 Change-Id: Ifb807f5ea836b692f37734b20789f5daefcca5c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4887599 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 7f5b5f74 2023-09-19T07:35:16 Tests: Add Batman: The Telltale Series trace Test: angle_trace_tests --gtest_filter="*batman_telltale*" Bug: b/301024256 Change-Id: Ice5aa3ed093901c04486fca64121592eb8805f93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4883428 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 97a48912 2023-09-26T10:31:58 Turn is-link-thread-safe feature into a positive condition Chrome's --disable-gpu-driver-bug-workarounds currently sets every feature to false, which breaks the GL backend. Bug: angleproject:8297 Change-Id: I284d0699e356d7c1a362eb992cdc0d052f9ea7c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4887598 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 1579eed5 2023-09-25T18:21:39 BufferHelperPointerVector -> BufferHelperQueue (deque) DynamicBuffer.mBufferFreeList is a vector<unique_ptr>. DynamicBuffer::allocate erases an element from the front, which is what deque is exactly good for. Changed other uses too (mBufferFreeList, VertexArrayVk.mCachedStreamIndexBuffers) per Charlie's recommendation. Yields a significant power improvement in words_crush trace. Bug: b/302020992 Change-Id: I1b0242481404b8fc2cfdc27611252308b922f4d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4886367 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov c9955641 2023-09-25T14:31:01 Avoid malloc in angle::Mat4 by using array instead of vector angle::Matrix<float>::inverse() showed up in cpu profile of "minetest" trace at ~10%. It's a gles1 trace. Multiple objects are constructed and require malloc due to the use of std::vector. Called here: https://crsrc.org/c/third_party/angle/src/libANGLE/GLES1Renderer.cpp;drc=eb0d59973d21f845b5785563f5d56b8ebb617478;l=371 This CL decouples Mat4 from angle::Matrix (some of the functionality had to be copied over) to switch from std::vector to std::array. Testing "minetest" on a phone I saw a ~20% cpu power improvement due to this CL. There is an existing unit test coverage: MatrixUtilsTest.Mat4InvTr Moved 4x4 cofactor matrix code to a helper with transposition included Bug: b/301977186 Change-Id: I1e4c2201d19759dd37c0fee44fb44f4d24a58a6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4885501 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Mohan Maiya 6b0ddce0 2023-09-22T13:13:38 Backends need to handle invalid render area during a clear 1. Frontend no longer noops empty scissors during clear 2. FramebufferVk is updated to handle invalid render area by restaging deferred clears in clearImpl(...) if render area is invalid Bug: angleproject:8348 Tests: EGLSurfaceTest*WindowThenScissoredClear* Change-Id: Iec51914a083a59bad7f939798c932dffada56a6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4867641 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya 826e5f95 2023-09-24T09:48:55 Vulkan: Rename redeferClears as restageDeferredClears This is a simple rename to better reflect implementation and has no functional changes. Bug: angleproject:8348 Change-Id: I53ce42e8bb14687a0dda167b8d79eba1eb357254 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4888691 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao be8739f2 2023-09-22T14:36:45 Vulkan: Fix StatInfo in vk_mem_alloc_wrapper.h to match VMA Right now we are defining our own StatInfo structure in vk_mem_alloc_wrapper.h to avoid inclusion of VMA header directly in other ANGLE code. This caused this struct no longer matches VMA's structure since VMA 3.0 switch. For quick fix, this CL just update StatInfo to match VMA 3.0 define. Bug: b/301653706 Change-Id: Ic510c362f30d9296a13964e6ba9c617e80e49ceb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4888625 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Mohan Maiya 6399f8d3 2023-09-24T05:01:22 Bugfix in HandleAllocator::reset(...) Cache "maximumHandleValue" passed in via constructor and use this value in reset(...) Bug: angleproject:8354 Test: HandleAllocatorTest.ResetAndReallocate Change-Id: I63bb953186a07d32582a0276af3ac8cb26a007a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4888690 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
angle-autoroll 29d0fe51 2023-09-25T07:03:09 Roll Chromium from 86cb232d2fc2 to eaf61b9c576c (734 revisions) https://chromium.googlesource.com/chromium/src.git/+log/86cb232d2fc2..eaf61b9c576c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3a0a70c754..bf26514b29 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/d53d0131e2..b1681a8c6c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f5159f7d11..96134a476f * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/99f2d536fb..3c4b5cf37f * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/af369d8962..c5505889cf * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/a75061bc37..645470002f * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/cb9bef1717..c28dc42f0d * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/4027f4521c..1f88fff745 * third_party/r8: qLYuLt4k9raGYbeiaAh3ORseYrHh8pt9WUaeD60Yov4C..w5NK9teKNDuEhU_7rQE8WYwuBzdXA8lVkJwo6VOgWv8C * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/b1f4a09d6f..fc2715028a * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/f1c4d9a146..26ace0aa44 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ac34945aad..8709515e87 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/0ce20e9bb6..30749e99ce * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/332226148d..1b7548b361 No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I92e71cf2e4292541413cb14ef59ba7edce77294a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4891377 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 9fc3baf5 2023-07-26T10:29:13 Add the missing GraphicsPipelineDesc legacy dither bit update When the app calls glEnable(GL_DITHER) or glDisable(GL_DITHER), we need to update the legacy dither bit of the renderpass that belongs to ContextVk::mGraphicsPipelineDesc. If not, there is a change that the graphics pipeline will be created with a renderpass that has outdated legacy dither bit. This results the dither being applied to the render results incorrectly: e.g. the app calls glDisable(GL_DITHER), but the render results have dithering applied. Bug: b/286921997 Bug: b/292282210 Bug: b/293349058 Bug: b/284462263 Change-Id: Ie24b95898526c9021be6e3cb7620e4050f9faaaf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4722446 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Hailin Zhang 141bada9 2023-09-22T10:25:30 Vulkan: add prefer cached memory type for dynamic buffer usage. Bug: b/288119108 Change-Id: I0fb5d91780e83af06762b9f3e6122313e76624da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4886846 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi e1d2e88a 2023-09-20T11:53:15 Check pending garbage after some buffer releases * Embedded BufferHelper::releaseBufferAndDescriptorSetCache() inside a new ContextVk method: releaseBufferAllocation() * After releasing the buffer, there is a check for excess pending garbage. If the tracked pending garbage size is larger than the threshold, the context will be flushed. * Unskipped the test "BufferDataInLoopManyTimes", which was failing on Android devices. Bug: b/280304441 Change-Id: Ib34319f3291dd2200fc1a92e30645f9d1da8e2b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4879086 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Christopher Cameron a1e3abc0 2023-09-22T10:14:43 Add ES2 support for copying GL_SRGB8_ALPHA8 to GL_RGBA8 Bug: angleproject:7907 Change-Id: I02ae9785ea1f942e85983c18155cfd75ec39b5c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4887271 Commit-Queue: ccameron chromium <ccameron@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>