Log

Author Commit Date CI Message
angle-autoroll e60556f7 2023-09-08T07:01:50 Roll Chromium from 4ae31457f4f5 to 5a5b1cec68d0 (469 revisions) https://chromium.googlesource.com/chromium/src.git/+log/4ae31457f4f5..5a5b1cec68d0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/aeaf972223..d674d1e8c1 * buildtools/reclient: re_client_version:0.113.0.8b45b89-gomaip..re_client_version:0.114.2.81e819b-gomaip * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5b92cc5301..05a91b5126 * third_party/android_build_tools/lint: 2ilHXL8jElnQimOXXEaawIQ9Gn2FY6ZWfBl34Ico_owC..8KAvewZr1XyYqD4IiuVshJeP4y3lg9IgePdsKDz8S-QC * third_party/android_build_tools/manifest_merger: ki-ikxybU11aNNE3tvffa5JaDIUy7dGTBAtWRz_O6Q4C..Qeitc2DfBrFLUfzkJ3rcI9yHQiKQKC6nNDN89RtwNGgC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3e023e6fe1..6bd9179603 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/68ccac685a..7f5b53ff8d * third_party/kotlin_stdlib: 6cGkpHi3fSRhpRfq2b1mjmzfFmShvtQe6gy4g2nFQd0C..7XCiIAlSi36gvPwOn8N4Q1GE9sMLw6V1RljM9151cWIC * third_party/r8: LrWtF7Gfts11G550w5xD61mhL5_0R9IxcPm-0bj735EC..3phdyAHwQKjlTdh7tE5hbtnIUOYawn0ewGrKJdykjf8C * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/8656ad6936..3895d9dc40 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/346d862fa0..8bed384b0f No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I4cd277a97d9b31eebc4f6e50f6733fa8b50b4db7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4853438 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang 99d39241 2023-09-07T16:48:22 Metal: Increase the size of the default uniform block Use a buffer pool per shader type and size it to be a nice multiple of the block that will be allocated for each uniform update. Set the buffer pool size to unbounded. When the pool runs out of buffers it currently does a full CPU/GPU sync which is catastrophic for performance when uniforms are updated every draw call. Bug: angleproject:8301 Change-Id: I7f826feb4e766fd1cf1b2db01954af7089e3fe90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850950 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuxin Hu a412b149 2023-09-07T12:08:40 Suppress out of bounds on no robust contexts tests dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.uniform_block.vertex failed occasionally due to VVL error. The test first results in vulkan device lost, which is an acceptable behavior. When we clean up the vulkan resources, the VVL is complaning the resources have not finished execution. However, VVL should check if the vulkan device is already lost, as there is no way to finish resource execution when device is lost. Will remove the test from the skip list when the VVL issue filed https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/6310 is resolved. Bug: b/289544394 Change-Id: Ideb676e6629cc17a4f8101ccc083a331a1d3c864 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851049 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Charlie Lao 6f526b8f 2023-09-07T09:58:24 Load mUniformLocations using loadVector Bug: b/275102061 Change-Id: I1da5bdd6bf0ec40cd877c2274a8fe1ee0b11267a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849551 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov cdbc45a9 2023-09-07T15:45:11 Tests: capture_tests: remove ANGLE_FEATURE_OVERRIDES_ENABLED Unnecessary for this test, should only matter for tests involving serialization etc. Bug: b/296397568 Change-Id: I1b3e12b11358778cf23dd6d7a5aab69be41c1ab4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850548 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Charlie Lao 204c07a5 2023-09-07T10:49:08 Initialize bitfield using constructor default member initializer for bit-field is a C++20 extension. This CL changes it to use constructor to avoid build failure. Bug: b/296433003 Change-Id: I33a45394644719b160f71eadca3a85a4d92f5c4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849554 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Mark Lobodzinski 9c0748d3 2023-08-16T09:15:22 Capture/Replay: Trim inactive Texture resources As is done with Shader and Program objects, trim inactive Texture objects from default trace execution playback and update CapturedTest with new use cases. Bug: b/297031925 Change-Id: I734d8f1fa66a24be7790391deaeee24cf570d12a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802281 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi fc7a2853 2023-09-07T17:10:56 Revert "Verify shader link correctness after looking up in program cache" This reverts commit 60b56591dee59bc0bc770577f43d90be4b18863c. Reason for revert: Flakiness if the attached shaders are not compiled Original change's description: > Verify shader link correctness after looking up in program cache > > Since the program cache takes shader sources into account, if the cache > is hit the shaders should have been correct for link. > > Bug: angleproject:8297 > Change-Id: I115c7eb807ed620d30b9e30669c99fffb5c7912d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817830 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8297 Change-Id: Icf4058e4bea471f097caed950b18f690d8d0456d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4846389 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 265f3d36 2023-09-07T09:52:21 Roll Chromium from e89c33139c50 to 4ae31457f4f5 (1177 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e89c33139c50..4ae31457f4f5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/b60aaa976e..aeaf972223 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/6830d4d2f7..5b92cc5301 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7affa303ea..d7df3f77cd * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/23d868f674..801bc6657b * third_party/android_build_tools/lint: Bd9m0RpzuCbbURLUADcdPsU2Yrrfg453Djw_jY7kVEYC..2ilHXL8jElnQimOXXEaawIQ9Gn2FY6ZWfBl34Ico_owC * third_party/android_build_tools/manifest_merger: kkbYOGsVRXhtxBiXuTufY0puTnG5QAfyxvFTBHFWL08C..ki-ikxybU11aNNE3tvffa5JaDIUy7dGTBAtWRz_O6Q4C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f16ca3c78e..3e023e6fe1 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6715758ed9..68ccac685a * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/a321409e66..0568576055 * third_party/r8: pPu68_FQSs0xNMEZVIArwK8p8SkQ5XgGXxrBGVOI5FQC..LrWtF7Gfts11G550w5xD61mhL5_0R9IxcPm-0bj735EC * third_party/siso: git_revision:c15d52005df612e58accf13efde4d99ffcdfe38f..git_revision:50cf1b4292c8c1398608409f5c79db3ecae0dab8 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/c6b57c49ce..7cd7332af2 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9fc887ccde..193e3617a6 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/51e8fbac5d..8656ad6936 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/702d2ac502..346d862fa0 No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ied7e09db45636194269e80dcdf04e1a6f68f1c1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849368 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 06411d16 2023-09-06T13:23:34 GL: Use the executable instead of program In a few places, the program was still being directly referenced instead of the executable (in particular when dealing with multiview). Bug: angleproject:8297 Change-Id: I15d0865bf58376a9f85efeec739dd93b49ceaea7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4846475 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 632ded9e 2023-09-01T13:43:11 Load ShaderInterfaceVariableInfoMap data members with readStruct This CL groups the remaining data members of ShaderInterfaceVariableInfoMap into a POD (plain old data) struct and load it with readSTruct call (and save it with writeStruct). This CL also uses readVector for mDefaultUniformBlocks[shaderType]->uniformLayout instead of individual reads of each basic elements. Bug: b/296433003 Change-Id: I48b508822cb414cea75a6e384a0794f245460f57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4833690 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 014e584f 2023-08-21T15:51:30 Vulkan: Separate out XFB data from ShaderInterfaceVariableInfo Right now the transform feedback data is embedded in the ShaderInterfaceVariableInfo. This caused ShaderInterfaceVariableInfo becomes non-trivial copy-able. This CL moves transform feedback related data out and into its own array, and entire vector of ShaderInterfaceVariableInfo is now memcpied. Further, most programs don't use transform feedback. Right now because transform feedback data is embedded in the ShaderInterfaceVariableInfo, it bloated the size of ShaderInterfaceVariableInfo even if you do not use XFB. This CL makes transform feedback variable info data a std::unique_ptr so that if not used, it is just a nullptr. When we load/save the structure, the ones that has nullptr gets skipped. Bug: b/296433003 Change-Id: I61940a683611717ab0445fcbf44b89b1b7166ee4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4799344 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 60b56591 2023-08-28T15:40:26 Verify shader link correctness after looking up in program cache Since the program cache takes shader sources into account, if the cache is hit the shaders should have been correct for link. Bug: angleproject:8297 Change-Id: I115c7eb807ed620d30b9e30669c99fffb5c7912d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817830 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 00daa451 2023-08-28T16:30:23 Vulkan: Include minImageCount in swapchain check The following VVL error has been firing for traces run in landscape mode: [ VUID-VkSwapchainCreateInfoKHR-presentMode-02839 ] vkCreateSwapchainKHR(): pCreateInfo.minImageCount 4, which is outside the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR() (i.e. minImageCount = 5, maxImageCount = 64). On Android, rotation can cause minImageCount to change. We need to detect this as an out of date swapchain. Test: angle_trace_test --gtest_filter=TraceTest.among_us Bug: b/289274676 Change-Id: Ie75adec5f5318b73c0c27efc134f10f53485692d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819790 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 7b0bb0f6 2023-09-01T13:52:28 Properly "install" program executables According to GL: - The program has an executable - The executable is overwritten during link. - After a failed link, queries of the executable may return half-linked information - On glUseProgram, the executable is installed in the context - On glUseProgramStages, the executable is installed in the program pipeline - After a successful link, the executable is updated wherever the previous executable of the program was installed. This change implements exactly the above: - The program's and the program pipeline's executables are now shared_ptr. References to an executable in the context and PPO are also through a shared_ptr. Installing an executable thus translates to sharing the executable. - The context and PPOs are made to not reference the program directly, but work solely through the executable. As a result, the program is free to create a new executable for link. With this change, the link job will be free to modify the executable as necessary because that will not be accessed until the link is done. Note that previous changes made the backend executable accessed through the frontend one, and moved all link results to the frontend and backend executables as appropriate. Bug: angleproject:6358 Bug: angleproject:8297 Change-Id: Ie636b23ff7420ad284d18b525ec4f5fb559dd9d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823089 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Christopher Cameron 9f332fe7 2023-09-06T15:08:38 rx::mtl::ColorBlitUtils: Use a hash map for shaders We're going to be adding another parameter here (linear-to-sRGB conversion). Prepare the ground by moving this to a hash map. See the similar operation in https://crrev.com/443362. Bug: angleproject:7907 Change-Id: I33f815c55f209927fc7c24e5d8459e337f70cfb4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4847067 Commit-Queue: ccameron chromium <ccameron@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1b8ab538 2023-09-05T13:44:40 Metal: Use a flat hash map for tracking resource ids. This set is very mutable. It makes many insertions, allocating memory each time. Useing a absl::flat_unordered_set we can avoid allocating memory at insertion time. This was a hotspot for Google Earth, taking up about 10% of ANGLE's CPU time. Bug: angleproject:8301 Change-Id: I7363ea8fdc5ff230a289af7c1ae25dc577188a18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4843709 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 55d3636b 2023-09-06T10:01:51 Roll vulkan-deps from f2f4bb6f20ec to fcc5a5e242db (14 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/f2f4bb6f20ec..fcc5a5e242db Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/e3a711b6fc..0bbe74c709 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3cc7e1c4c3..440f018cc4 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d34bfafff2..e95fee0b8e * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/389110e460..e50622314d * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/bea5beb302..71da22274a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Ib29eb50a9fc979c1a55a6aabc7a952c90442b473 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4845988 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Christopher Cameron 5116f54e 2023-09-05T13:50:50 CopySubTexture: Handle sRGB source in GL backend CopySubTexture should ignore the color encoding of both the source and destination. The implementation currently ignores the color encoding of the destination. The implementation does not always ignore the color encoding of the source. As an example of the consequences of this, an RGBA pixel value of 0xFF/80/00/FF, when copied from a GL_SRGB8_ALPHA8 texture to a GL_RGBA8 texture may result in a value of 0xFF/37/00/FF, if the copy was executed using a shader (in which case the sRGB-to-linear function was applied 0x80, resulting in the 0x37). Update the OpenGL and shaders that do this blit, adding an option to apply a linear-to-sRGB transformation to undo the transformation applied by the sampler. The linear-to-sRGB transformation must be applied on unpremultiplied values. Ensure that the sequence of operations in all shaders is first unpremultiply, then linear-to-sRGB, then premultiply. Also remove optimizations to have the unpremultiply and premultiply cancel each other out, if there is also a linear-to-sRGB being applied. Bug: angleproject:7907 Change-Id: Iad5537e6b98f75d32a33be419a320129493e53a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4839262 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: ccameron chromium <ccameron@chromium.org>
Shahbaz Youssefi d664543f 2023-09-01T23:11:59 Metal: Move setupDraw and associated code to executable Last bits of state left in ProgramMtl that are now moved to ProgramExecutableMtl, and now ContextMtl does not reference the program at all. This fix was necessary for a follow up change that allows the program to be modified while the executable is installed, and the metal backend was crashing after a failed relink due its direct access to the program. Bug: angleproject:8297 Change-Id: Iadf623bf6baf612767ff372adee2e7f4eeedb593 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4833624 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 0ff71d5e 2023-09-05T12:55:50 D3D: Fix FramebufferD3D reading the wrong program executable Read the currently bound program executable instead of the possibly incomplete one from the currently bound program. Bug: angleproject:6358 Bug: angleproject:8297 Change-Id: Ieda50767b20562436ea9f9bf541965205b578017 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4842929 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 93402d6f 2023-09-05T12:57:16 D3D: Move the program serial into ProgramExecutableD3D The program executable tracks the specific shaders being used which are no longer tied to the ProgramD3D. Bug: angleproject:6358 Bug: angleproject:8297 Change-Id: Ic34b4f229de7fb7daea8c6ef906bf87d8c0b37d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4842930 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov dcd62fc4 2023-08-31T15:35:39 Trace perf: clear blob cache before each test Cache eviction can happen during warmup causing cache misses while testing. Significant cycles are being spent evicting cache entries and throwing off power measurement. Since this is already a synthetic environment where we're lumping in a bunch of caches together, clear it between tests so that warmup correctly populates and no cache misses occur within the test run. If we clear the cache before warmup and everything fits, no eviction happens and we hit the cache every time post-warmup. This also improves reproducibility of perf results as they no longer depend on the specific cache state before running a particular test, the order in which tests are run etc. Also fixes acessing unset var when running without --power. Bug: b/298028816 Change-Id: I704073f70d8859e19a78b23d397e68f5836f3bb2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834073 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 9666d4d5 2023-09-01T00:00:00 Disallow dynamic indexing of SecondaryFragData in WebGL 2.0 WebGL 2.0 disallows dynamic indexing of gl_FragData in ESSL 1.00 shaders. By extension, this rule should also apply to gl_SecondaryFragDataEXT. Bug: angleproject:1085 Change-Id: I5859356f72d25c4ffd1db92466dffc6eeacb6a64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4843628 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 17c4741d 2023-09-01T00:00:00 Metal: Disable blending for masked out attachments Avoid pipeline failure when the following conditions are simultaneously true for the same color attachment: * Dual-source blending is enabled * All color channels are masked out * There is no bound fragment output Bug: angleproject:8015 Change-Id: Ie60f4f6dff5a9023677ea9b581e920b0e1e53532 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4836558 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll e72efa27 2023-09-05T10:01:20 Roll vulkan-deps from 4b7a5f2a3522 to f2f4bb6f20ec (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/4b7a5f2a3522..f2f4bb6f20ec Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4c16c35b16..3cc7e1c4c3 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b89f48ae89..bea5beb302 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Id8da060d2c5e329f688d7822e5c5f7836e0ca5f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4841854 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b6221604 2023-09-05T07:44:13 Roll Chromium from 97f14c8287da to e89c33139c50 (340 revisions) https://chromium.googlesource.com/chromium/src.git/+log/97f14c8287da..e89c33139c50 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e14e0cc3b6..b60aaa976e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/59ea31a9c9..6830d4d2f7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/693e0b3121..6715758ed9 * third_party/r8: W1_I3qPD8AUfHBTSgUNJHz0yx3HgtIRHttr8eSt81wsC..pPu68_FQSs0xNMEZVIArwK8p8SkQ5XgGXxrBGVOI5FQC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I32ad0d444ace090e6d66294362c9b9deeb02cd6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4841315 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov e691a4ed 2023-09-04T15:35:39 Delete obsolete VUID VUID-VkGraphicsPipelineCreateInfo-topology-08890 was renamed to VUID-VkGraphicsPipelineCreateInfo-topology-08773 Bug: angleproject:8237 Change-Id: Icb3f3f28664d0beac31f2541d90d5dbbada9a3b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4840195 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll ab9bbb9b 2023-09-04T10:01:19 Roll vulkan-deps from 15007d22798e to 4b7a5f2a3522 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/15007d22798e..4b7a5f2a3522 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a1f8cd429f..e3a711b6fc * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9b923f7cc3..4c16c35b16 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/a0c76b4ef7..2634c969d7 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8dbf1df09f..b89f48ae89 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Ib7b43e2f8c5c845dba770b1e4815d125a66d9300 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4838127 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1fb53639 2023-09-04T07:02:46 Roll Chromium from 613933d34730 to 97f14c8287da (765 revisions) https://chromium.googlesource.com/chromium/src.git/+log/613933d34730..97f14c8287da If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/0d534543c1..e14e0cc3b6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5c6cc93b87..59ea31a9c9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/dd422858c3..f16ca3c78e * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e7c4e2ade9..693e0b3121 * third_party/fuchsia-sdk/sdk: version:14.20230826.1.1..version:14.20230902.2.1 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/aae4ca0f54..331847d7a5 * third_party/r8: TBaeKaSTY2ttKx2JSFuWiQ8Na80KHZwLEgSAvT1DBJ0C..W1_I3qPD8AUfHBTSgUNJHz0yx3HgtIRHttr8eSt81wsC * third_party/siso: git_revision:8283bbc1ae9d742d22d3a6e98b7e356b3065a497..git_revision:c15d52005df612e58accf13efde4d99ffcdfe38f No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I7212a3e4eea4ab3e95802f7713bb84f4d31c9e16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4838117 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi ebf1e716 2023-08-31T17:19:44 Cache transform feedback varying names in the executable Currently, ANGLE actually does a full link of the programs inside PPOs. This was never the intention of the spec (hence why an explicit link doesn't exist). During this link operation, the transform feedback varying names are used, and they are retrieved from the program itself. This is not correct, because the transform feedback varyings may have changed, the program may have failed to relink, and the program pipeline is expected to continue functioning using the "installed" executable. Bug: angleproject:5486 Bug: angleproject:8297 Change-Id: I583dbd2abcc51e8536b4c460b92211bdddebda16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834055 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 179bd776 2023-09-01T00:00:00 GL: Adjust disableRenderSnorm condition Current Mesa drivers do not pass the tests when using OpenGL ES contexts. Bug: angleproject:8315 Change-Id: I00e931d0b97917fd7fe02890290f2938d7c872e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834483 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 962fdf7b 2023-08-31T17:44:51 Add templated BinaryOutputStream::writeVector and writeStruct To avoid repeated code pattern, this CL adds templated BinaryInputStream::readVector and readStruct and BinaryOutputStream::writeVector and writeStruct, that does the static assertion to ensure they are trivially copyable. readIntVector/writeIntVector is removed. This CL also padding warning for ProgramExecutable::PODStruct to avoid potential Msan complain. Bug: b/296433003 Change-Id: I8e718b41cde898960b9e86a2d7d1bc5a837fe561 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834700 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Mark Lobodzinski 4e1053b9 2023-09-01T08:35:21 Tests: Limit CapturedTest to Vulkan backend Test: angle_end2end_tests --gtest_filter=CapturedTest.MultiFrame Bug: b/298612441 Change-Id: I865186ba544d3b72af700a9f2cf22aef719e875a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834704 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 55054e76 2023-09-01T11:35:36 Traces: temporary patch to log zlib message on failure Bug: b/296921272 Change-Id: I0111889dba2f57650caf26a0b86a6669b231f956 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4833616 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll c4c880ad 2023-09-01T14:14:35 Roll VK-GL-CTS from a745d5c29c56 to 385ae8bed1f9 (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a745d5c29c56..385ae8bed1f9 2023-09-01 lorenzo@khronosgroup.org Update externals and fix mesh_shader tests with fragment_shading_rate 2023-09-01 ziga@lunarg.com Fix tessellation shaders support check in shader object linked tests 2023-08-31 ziga@lunarg.com Add pipeline variation of shader object misc tests 2023-08-31 syoussefi@google.com Prepare for automated clean up 2023-08-31 ziga@lunarg.com Fix nextStage in shader object linked tests 2023-08-31 ziga@lunarg.com Fix initializing glsl tests 2023-08-31 ziga@lunarg.com Fix gen_framework.py using unsupported extensions 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ib582b26d1ee123a6f533cdfb67e5a1ad95106618 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4833688 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 18e2038e 2023-09-01T12:59:51 Revert "Gold tests: add temporary logging of angledata hashes" This reverts commit 4fffc9938375f2b84632eb661fc175457fb2ee77. Reason for revert: Hashes are ok - http://b/296921272#comment3 Original change's description: > Gold tests: add temporary logging of angledata hashes > > Should allow us to determine whether corruption happens between CAS and > local files on bots or something's wrong with the test harness. > > Bug: angleproject:8307 > Change-Id: I8a599777a38d7a1b5c56143eb8d02829895175a7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777836 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Auto-Submit: Roman Lavrov <romanl@google.com> Bug: angleproject:8307 Change-Id: Idae3bf3bac810af63e44c0c7553e0c6e9bb6af5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834062 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 2ef238bc 2023-09-01T13:01:23 Revert "Traces: add temporary debug info to LoadBinaryData" This reverts commit 0d701c81d01e18ae5741e9e8843441f24697f04f. Reason for revert: CRC is ok: http://b/296921272#comment3 Original change's description: > Traces: add temporary debug info to LoadBinaryData > > Unable to repro the bug by triggering tasks on swarming, hopefully this > eventually catches something. > > Bug: angleproject:8307 > Change-Id: I34dd0c8a9e82e54f3a07e2d7a249ddfaa543bae7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794110 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Roman Lavrov <romanl@google.com> Bug: angleproject:8307 Change-Id: I0f04baf5241e99d7c2514bcdc583e58e2fd51535 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834063 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 7df4aa10 2023-09-01T10:01:36 Roll vulkan-deps from 988fe1c529b0 to 15007d22798e (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/988fe1c529b0..15007d22798e Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/adfcaba7ae..a1f8cd429f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/70be16c58d..8dbf1df09f 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I6a64d990a68d842c61d7fb66e3531b43f01d70af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834703 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5f36f55a 2023-09-01T07:15:20 Roll Chromium from f59e85c23631 to 613933d34730 (499 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f59e85c23631..613933d34730 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/115a707991..0d534543c1 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ff8dee88bc..5c6cc93b87 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b8c4f2d99a..dd422858c3 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/427f0f43ad..e7c4e2ade9 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/3d83ca7bd2..aae4ca0f54 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/76e621a897..a321409e66 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ec53b06251..702d2ac502 * tools/protoc_wrapper: https://chromium.googlesource.com/chromium/src/tools/protoc_wrapper/+log/30392509cf..b5ea227bd8 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: If21513bdaef0cc71c51f286f7188434749764684 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834702 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 9624db05 2023-08-21T00:00:00 Validate missing fragment outputs for dual-source blending * A secondary fragment output must be declared when dual-source blending is enabled in WebGL contexts. * Omitting locations for multiple fragment outputs is not allowed in WebGL contexts. Bug: angleproject:1085 Change-Id: I57febdc02c9ccc571971a81b6671869f19b0aa96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834672 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao 7c3c7b7b 2023-08-29T16:40:50 Add more test for GL_SRGB8 format And follow up changes from crrev.com/c/4819053 Bug: b/298037344 Change-Id: Ib27cc2fb8418d05d0b25f4abbdcf052d1f51c9ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824046 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Yuly Novikov 262edacc 2023-08-31T18:45:45 Skip 2 DrawCallPerfBenchmark tests on Pixel 6 angle_perftests.DrawCallPerfBenchmark.Run/gles_offscreen_attrib_change angle_perftests.DrawCallPerfBenchmark.Run/gles_offscreen_prog_change Bug: b/298407224 Change-Id: I03e9f5daead86447cea456abc01cb46b229c8bbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834211 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 1192e5e8 2023-08-31T15:03:53 Manual roll vulkan-deps from a446c6320b6b to 988fe1c529b0 (28 revisions) Suppress new VUIDs: VUID-VkGraphicsPipelineCreateInfo-topology-08773 VUID-VkDescriptorImageInfo-imageView-07796 Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/a446c6320b6b..988fe1c529b0 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b6893ccdfb..9b923f7cc3 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/6087a58444..389110e460 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b2f5094203..70be16c58d 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:8318, angleproject:8237, angleproject:8334 Change-Id: I4b868b67b0c8158179fee61018933104c4ed55d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832731 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 33be2590 2023-08-30T21:58:54 Move transform feedback buffer mode to program state This is link input and should persist between relinks. A copy of it is still left in ProgramExecutable as it is used later after the executable is installed (and the program might get relinked; a future change reworks things so that the installed executable and the originating program are independent). Bug: angleproject:8297 Change-Id: Ifba6ac18ea09fd804b89d8fdb14930ef3d839cf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827764 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 74c8b74c 2023-08-31T15:47:09 Manual roll Chromium from 90200ab2e92a to f59e85c23631 (744 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/90200ab2e92a..f59e85c23631 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/5455fbf6e1..115a707991 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/1b199ecbed..ff8dee88bc * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/56586c9caf..7affa303ea * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/69c19224a7..b8c4f2d99a * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b9d7c85582..427f0f43ad * third_party/r8: _AUNqTBtlUIMSIQEV31lcrlDaaUdwQdUUdp4BtPoOUMC..TBaeKaSTY2ttKx2JSFuWiQ8Na80KHZwLEgSAvT1DBJ0C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/87404e5f97..9fc887ccde * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b33780b146..51e8fbac5d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0a846cd886..ec53b06251 No update to Clang. Bug: angleproject:8318 Tbr: ynovikov@google.com Change-Id: I81fb29eeb41aecfdbefc0cd3f1da0c6a809b6568 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832734 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 6ff209bc 2023-08-30T00:02:30 Clean up InfoLog usage during link The info log doesn't really belong to ProgramExecutable; it belongs to ProgramState. However, it is placed there for convenience since many functions access it. This change cleans up usage of InfoLog so the one in ProgramExecutable is consistently used, but also that is turned into a reference to ProgramState's InfoLog. This is necessary for a follow up change that restores the previous executable on link failure (and would thus otherwise lose the info log of the failing link). Bug: angleproject:8297 Change-Id: I088408e3fce9ebb35b1ec4ad3dc599bdb90bf5c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4825624 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Jiawei Shao d4756a94 2023-08-29T15:26:15 D3D11: Fix register index of read-only storage images On D3D11 read-only storage images should consume SRV registers ("t") instead of UAV registers ("u"), so baseUAVRegister shouldn't be related to read-only storage images. fixed: angleproject:4404 Bug: angleproject:7121 Change-Id: I3ca35497992de599d0427fae10d750aff7cf7d9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819797 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0df4adbd 2023-08-28T15:27:11 Remove link results from program hash The program hash should be independent of link output. The fragment shader output locations were being hashed in the program hash, but that should be unnecessary, as they are derived from the link input, which is already entirely present in the program hash. Bug: angleproject:1085 Bug: angleproject:8297 Change-Id: I4befd45c69c2f0d4d6d8b620167a07eedffd5098 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817829 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov cd359250 2023-08-31T14:51:56 Don't sync reclient on linux arm64 CIPD package not available Bug: angleproject:8309 Change-Id: I502e55a1da00b6624e5d07b2c353ae9360dc44e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4831493 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Steven Noonan <steven@uplinklabs.net>
Roman Lavrov ed7e05be 2023-08-31T10:44:05 Cleanup: remove tests.csv Looks like it was added accidentally in https://crrev.com/c/4189028 Bug: b/242419750 Bug: angleproject:7882 Change-Id: I1d92b4a7001a1418bfea77e2b0945ee7a070dad5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832095 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Steven Noonan 0b20cd6a 2023-08-28T17:45:00 d3d11: avoid exit-time-destructor warning Applies to use_custom_libcxx=false on Windows builds. On MSVC's C++ runtime, std::mutex has a destructor. Bug: angleproject:8327 Change-Id: I6118753569ce0529015e82673571c961a38f30e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819793 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang aed8ec2a 2023-08-22T16:34:10 Handle Qualcomm's Windows vendor ID. The vendor ID chosen to represent Qualcomm was their PCI database ID. On Windows, Qualcomm devices are ACPI and use a different ID. Since these platforms don't inersect at all (yet), if-def the Qualcomm vendor ID per-platform so that all the helper functions continue to work. Bug: chromium:1464799 Change-Id: Iee8e823ab54399ad2c2f21499b5d581be5c1c0c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804367 Reviewed-by: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Jiawei Shao 33472e77 2023-08-30T09:45:43 D3D11: Fix the compilation of vertex shader with storage image This patch adds the missing declaration of storage images in vertex shader. With this patch the vertex shaders with storage image declarations can be correctly compiled on D3D11 backends. Bug: angleproject:7121 Change-Id: I32b8c632df83a64a34318e9668e9aa8d376cca56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819792 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 2ed7d887 2023-08-31T09:42:55 Tests: EGLMakeCurrentPerfTest loads GLES Following https://crrev.com/c/4812049 which makes warmup call glFinish that requires GLES to be loaded. It's the only test that hits this - LoadUtilEGL isn't normally called by tests. Breaks on perf bots. Bug: b/297418214 Change-Id: Ib6a7eb863f75e6f461ea021d30dc57baf23afbdc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832092 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yiwei Zhang 6258d479 2023-08-30T22:11:38 Vulkan: disallow pbo copies when offset is incompatible with vulkan Per spec of vkCmdCopyImageToBuffer: If srcImage does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the texel block size This change disallows pbo copies if violating that spec vu. Bug: b/297927542 Test: org.skia.skqp.SkQPRunner#UnitTest_TransferPixelsFromTextureTest Change-Id: I7df4bee5fa574c44dd872f7225567049c5562a99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827694 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 519d330c 2023-08-28T15:41:18 Add GL_RGBX8_SRGB_ANGLEX and GL_BGRX8_SRGB_ANGLEX formats If app creates AHB with sRGBX format, and then create a EGLImage, Image::initialize() will retrieve the sized format from AHB, which is GL_RGBX_ANGLE, and then try to convert to sRGB color space. The bug here is that GetNonLinearFormat will pick GL_SRGB8 for all these formats :GL_RGB8, GL_BGRX8_ANGLEX, GL_RGBX8_ANGLE. This means that different AHBS with these three different format will end up createing a tetxure with same format which sRGB. I think the reason somone did it this way initially simply because there is no sRGB corresponding format available for BGRX8 and RGBX8. This CL adds sRGB internal version of these two formats, thus make it straight forward to pick the correct sRGB format. The other change here is for AHBs, right now we are always force mRequiredImageAccess to be Renderable. This actually workedaround the bug that mentioned earlier that we are picking the wrong format. Because of forced renderable, we end up with SRGB fallback to SRGBA. But external images should not fallback, we should use its existing format as is since it can be accessed via AHB interface directly. Bug: b/298037344 Change-Id: I6119c4015cc5bf0effdf0530cb756b6c4656c38f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819053 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Geoff Lang 3e333c7b 2023-08-30T13:25:08 Check that postTask is non-null before calling it. ANGLE's platform methods are global but Chrome treats them as if they are per-display. If multiple displays are created, Chrome can reset the methods for all displays during angle::ResetPlatform. ANGLE checks that postTask is non-null before creating DelegateWorkerPool but not before each use of postTask. Bug: chromium:1476679 Bug: chromium:1475471 Change-Id: Ie84db48d6c85a1befa604224af6c30bd3515aadf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827983 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Josip Sokcevic 8330fcd3 2023-08-30T07:22:09 [DEPS] Use Var instead of {} in DEPS New presubmit checks in DEPS need to efficiently parse DEPS file in order to detect drifts between DEPS and Git submodules. Bug: chromium:1476115 Change-Id: Ie62762a88073a098068fc76690ea9c95be98de73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827482 Auto-Submit: Josip Sokcevic <sokcevic@chromium.org> Commit-Queue: Josip Sokcevic <sokcevic@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis 1ab5d01d 2023-08-29T13:31:07 Metal: Fix dropped out arguments from functions with many args. RewriteOutArgs has an early-exit if it spots a potentially aliased arg. It's also responsible for marking out args as references, which caused an issue in Google Earth. Removing the early-exit fixes both issues. Bug: chromium:1474736 Change-Id: Ib68dd3f3e2e0a1e773e4e09edcdfa3a4bdfc1ef2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823006 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 0d67d1bb 2023-08-29T11:19:35 Vulkan: Support EGL_EXT_gl_colorspace_bt2020 Add support for following 3 BT2020 colorspace extensions 1. EGL_EXT_gl_colorspace_bt2020_hlg 2. EGL_EXT_gl_colorspace_bt2020_linear 3. EGL_EXT_gl_colorspace_bt2020_pq Bug: angleproject:8330 Tests: EGLSurfaceTest.CreateWithEGLConfig1010102Support* Change-Id: I3a6ca0daa9ad4400da3834f43678b0db816ba6e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824045 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Phan Quang Minh e408fc53 2023-08-09T06:25:38 Add support for EGL_MESA_platfrom_surfaceless extension This adds support for the EGL_PLATFORM_SURFACELESS_MESA platform type to allow applications to obtain an EGLDisplay that's independent of any native windowing systems. This will be used in Ozone/Wayland to create surfaceless EGLDisplays. Bug: angleproject:8331 Change-Id: If2ae7a811cfa63ab9f49d54d78f5a3782c8c2fed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749337 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Phan Quang Minh c8fe53ab 2023-08-09T06:25:38 egl: Fix device fallback if native display eglInitialize fails Mesa's EGL implementation may return an EGLDisplay that fails to initialize (e.g. an X11-backed EGLDisplay for `EGL_DEFAULT_DISPLAY` that fails to eglInitialize if the X server is inaccessible). Handle this case properly to ensure that ANGLE will properly fall back to using EGL devices. Bug: angleproject:8331 Change-Id: I629e95fc22f5618d10be082a3897857bcc79f890 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749335 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll bc7fc399 2023-08-30T07:00:35 Roll Chromium from e2ad2e99dc98 to 90200ab2e92a (420 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e2ad2e99dc98..90200ab2e92a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/7710487af5..5455fbf6e1 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/475ae9f346..1b199ecbed * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..69c19224a7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6c8d2a9ce5..b9d7c85582 * third_party/jdk: GCFtf5t6M4HlrHj6NXedHbpHp2xjgognF8ptNci4478C..0yjD6s5XYtcGAQoObIys7xs2ThkudwxJwS-2ZNP0SFEC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/13a5d4e170..87404e5f97 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4719a5511c..0a846cd886 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Ib5d8236b95cf9393a8aa394d6e18aeaaa7041215 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824754 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi b9e9c58b 2023-08-28T15:25:59 Move pre-link program state to ProgramState Bug: angleproject:8297 Change-Id: I2522bbe6250a0527112fc8161f62c94f2457555b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817828 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 8b0af482 2023-08-21T00:00:00 Validate active draw buffers for dual-source blending Fail if more than MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT draw buffers are enabled when dual-source blending is used. Drive-by: Do not invalidate draw state on changing blend equations if KHR_blend_equation_advanced is not enabled. Bug: angleproject:1085 Bug: angleproject:7177 Change-Id: Ieff80ce777c53b1d8183e1d0a52b7d2224347448 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823164 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 6698fb69 2023-08-25T22:21:32 Vulkan: Stop passing both ProgramExecutable and ...Vk around Now that ProgramExecutableVk is accessible through ProgramExecutable. Bug: angleproject:8297 Change-Id: Ie08770ef97400195d63b87f2d4b7e2a2c8f4ad24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812147 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi ae67a24b 2023-08-25T14:51:50 Metal: Move program state to ProgramExecutableMtl Bug: angleproject:8297 Change-Id: I1d13f7aee1ff5b0ce799b486d8a57c83c4481983 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812047 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 4c0c837e 2023-08-25T13:46:36 GL: Move program state to ProgramExecutableGL Bug: angleproject:8297 Change-Id: Ie6a1d536c93f841c792052c58249952e8468348d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4811439 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d9672ada 2023-08-25T11:37:09 Move left over link state to ProgramExecutable Previously, only things that needed sharing with ProgramPipeline was moved to ProgramExecutable, and in particular only state that the Vulkan backend needed to access. In truth, everything that's a result of link needs moving. Bug: angleproject:8297 Change-Id: I1ca01c5dedbfc62ddcfb4ef945336ceb8ad0f1c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812044 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Geoff Lang 7c72fbe9 2023-08-22T16:22:12 Return the vendor string as hex when it is unknown. ANGLE's vendor strings would include the generic "Unknown" when we did not recognize the driver's vendor ID. Print the vendor ID so that we can future-proof ourselves against new GPU vendors. Bug: chromium:1464799 Change-Id: Idac67b369bc95c3c49eb754e8c681d5930a1f494 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804365 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Mike Schuchardt 4d4795b2 2023-08-21T15:50:23 Add build overrides for Vulkan Utility Libraries This is a new dependency for Vulkan-ValidationLayers Bug: angleproject:8318 Change-Id: I9e7b68e4a4fc0605d328c0a69c73d3e884b86cf1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4798194 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 3822ea3a 2023-08-24T22:42:43 D3D: Move program state to ProgramExecutableD3D Bug: angleproject:8297 Change-Id: Ieead87d2f0ebe5937f262f598443a00504ea1492 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812139 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya af30f36b 2023-08-29T11:30:08 EGL: Update EGL headers In order to support EGL_EXT_gl_colorspace_bt2020_hlg we need the EGL_GL_COLORSPACE_BT2020_HLG_EXT enum which got added to the eglext.h header recently. There were non-upstreamed changes to eglplatform.h in commits 88d3b8cb737f3f4662e421bd2b1004a458fdf2a1 and 2bdcbb9a3717c94fd09510ef3f11885a8ad01710, retain them. Bug: angleproject:8330 Change-Id: Ia56513ff7ed36a9d0c436220bf25eab25f9df169 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824044 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Shahbaz Youssefi bb135f0e 2023-08-24T15:29:11 Make ProgramExecutableImpl managed by ProgramExecutable This change allows both parts of the program executable to be safely backed up and swapped on link. Bug: angleproject:8297 Change-Id: I17e4b6c05e4e481a66a227d6047dbf943d2c2603 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812138 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 13a87d0b 2023-08-29T18:25:30 Manual roll Chromium from 2f13938f5894 to e2ad2e99dc98 (165 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/2f13938f5894..e2ad2e99dc98 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/6a782d94b3..7710487af5 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/0b103f5670..b2043d4f43 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/88f1060bea..475ae9f346 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..599ca89cf4 * third_party/r8: EubvNlgGEftTjKSDVWoqPEnamR95-ATV-Ei6RhcyvJIC.._AUNqTBtlUIMSIQEV31lcrlDaaUdwQdUUdp4BtPoOUMC * third_party/siso: git_revision:07d585d17bdd3c521080e2aa5f7b9f6a12f18ded..git_revision:8283bbc1ae9d742d22d3a6e98b7e356b3065a497 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/533fb78ca6..b33780b146 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8b952caced..4719a5511c No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I3db7e3119d94aed0a8cf42fcdef02eb0f942517c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823158 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 6a960369 2023-08-29T10:01:27 Roll vulkan-deps from d213632452c2 to a446c6320b6b (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d213632452c2..a446c6320b6b Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/7ba6f5ce90..54997fb4bc * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1b3c4cb685..b6893ccdfb * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/9085224a1b..a0c76b4ef7 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8366ffa972..b2f5094203 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Iac30cf0d241a3c11f6bb77e2c1351925ccadc200 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819801 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6d1c0932 2023-08-29T07:00:55 Roll Chromium from 92b28610c8f3 to 2f13938f5894 (510 revisions) https://chromium.googlesource.com/chromium/src.git/+log/92b28610c8f3..2f13938f5894 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/e75405437c..6a782d94b3 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/5237ac61e3..0b103f5670 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ff57564628..88f1060bea * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/528931048c..ff414082cc * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..599ca89cf4 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b8164180d2..6c8d2a9ce5 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/6a8358a142..3d83ca7bd2 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/00a267ce41..13a5d4e170 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Idece055836db99252f1025ee10b8baad27dc96b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819560 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov d6fd7eaf 2023-08-25T16:33:27 Trace/perf tests: remove calibration and most warmup options This removes calibration and warmup except for --warmup (which does what --warmup-steps=-1 used to do: render each frame once with glFinish) Trace and perf tests now default to no warmup. Unchanged by this CL: --fixed-test-time=x runs a single trial for x seconds. --fixed-test-time-with-warmup=x is effectively the above flag coupled with --warmup-steps=-1 --run-to-key-frame runs to the key frame (no longer disables warmup as it's now off by default) Bug: b/297418214 Change-Id: I7a0d3e490067dbde57c5f519c1b9092ba70b1480 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812049 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev 558df6f1 2023-08-21T00:00:00 Fix fragment output variables validation * Reject fragment shaders that assign out-of-range fragment locations * Reject fragment shaders that assign output variables of different types to the same location * Apply similar validation for fragment outputs bound via API calls * Ensure that masks for active output variables and draw buffer types are set after processing all fragment output bindings Bug: angleproject:1085 Change-Id: If29cbb58be1981279fc97c67739fe4136b0cdc98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4813656 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 181ec0a5 2023-08-28T10:01:38 Roll vulkan-deps from 5ed8fabd1030 to d213632452c2 (14 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/5ed8fabd1030..d213632452c2 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/633dc30135..7ba6f5ce90 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/7dca451d88..d34bfafff2 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/c536182ca9..6087a58444 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/2d736834b1..8366ffa972 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ie3a6f5f047770c5659c69d0f6e91a23ce3003fb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4816488 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll f8954405 2023-08-28T10:01:12 Roll SwiftShader from a147f6c5192a to 32f9332d1d7a (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/a147f6c5192a..32f9332d1d7a 2023-08-25 dcheng@chromium.org Update google/benchmark to dfc8a92abc88a9d630a9f8e01c678fedde4c3090. 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,ynovikov@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: ynovikov@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ib4e708f610d85d5d0005dce28a4ce42d6181ba3b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4816667 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b54b4a89 2023-08-28T07:48:17 Roll Chromium from 3b473fe59c6b to 92b28610c8f3 (662 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3b473fe59c6b..92b28610c8f3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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/4cee92ef22..e75405437c * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f6e67ef3b2..5237ac61e3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7ece0f7260..ff57564628 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5ddb43f42b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c7aca34c8e..b8164180d2 * third_party/fuchsia-sdk/sdk: version:14.20230818.1.3..version:14.20230826.1.1 * third_party/r8: yG6aCoW-nKG7aqWMZkE1TsvMCxvP7KxJ9PsaRbytuyEC..EubvNlgGEftTjKSDVWoqPEnamR95-ATV-Ei6RhcyvJIC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/46d57cd9ee..00a267ce41 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3e89e7b60b..533fb78ca6 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Ia6b727a4fc12182bf743d828fe8c64cad6fe6e99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4816191 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 0f7c39a2 2023-08-28T16:14:10 Temporarily remove trace bots from CQ Reclient doesn't work yet Goma is slower than local today Bug: angleproject:8309 Change-Id: I03c337dab5ee82adc8e03d4f5f52bf2b26aa7cad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4818506 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 57388ab2 2023-08-24T14:44:48 Vulkan: Make sure ProgramVk has no members other than executable The program is really just an interface to the executable. It should not hold on to any data on its own. The SpvProgramInterfaceInfo member did not even need to be a member, and was left over from previous refactorings. Bug: angleproject:8297 Change-Id: I4edb53c1c8b27e242a62fb4fc253ade58bd8dde1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812137 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao e066b689 2023-08-25T09:25:19 Ensure struct SamplerBinding is tightly packed without padding crrev.com/c/4798195 might have caused MSan bot failure in chromium due to use of memcpy on the struct. TextureType and SamplerFormat are both uint8_t, which means extra paddings added for the struct. This CL adds warning for struct padding and fixes the warning as well. Bug: b/275102061 Bug: chromium:1475844 Change-Id: Ia3f8a7e7697c6e354efb8a8dc5dfc7861118a818 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812245 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll fc6bf90d 2023-08-25T14:16:40 Roll VK-GL-CTS from c04e157100c1 to a745d5c29c56 (8 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c04e157100c1..a745d5c29c56 2023-08-25 lorenzo@khronosgroup.org Merge "Merge dev/VK_KHR_cooperative_matrix into main" into main 2023-08-25 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-08-25 lorenzo@khronosgroup.org Merge "Merge branch dev/VK_EXT_depth_bias_control into main" into main 2023-08-25 aitor@lunarg.com Enforce Android SDK33/34 build for SDK33/34 devices 2023-08-25 michal.jakubek@mobica.com Dynamic state line width tests. 2023-08-25 amber@igalia.com Use baseArrayLayer in renderpass resolve tests 2023-08-25 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-08-25 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,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: I261fb54d1d26d931dc42614225548b984a5d7acc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4810854 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 98b710e6 2023-08-25T10:01:18 Roll vulkan-deps from 8f3cfbeff2e9 to 5ed8fabd1030 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/8f3cfbeff2e9..5ed8fabd1030 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/f1cb8608b3..adfcaba7ae * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/abd548b817..1b3c4cb685 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/85c2334e92..9085224a1b * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/dd8332d253..7dca451d88 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/b441f434a0..c536182ca9 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/abe0666e91..2d736834b1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: I3cc3e291eb7d43c1161fb69cfb0b1c69d83f320d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812244 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8a173e54 2023-08-25T10:01:06 Roll SwiftShader from 97bdc453fbed to a147f6c5192a (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/97bdc453fbed..a147f6c5192a 2023-08-24 dcheng@chromium.org Don't spam stdout when `git describe` fails. 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,syoussefi@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: syoussefi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I56edf75470f9dd0b7fc67e1981c1aeb19b0c843a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4811751 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 27767548 2023-08-25T07:00:41 Roll Chromium from cbda6c2d6318 to 3b473fe59c6b (518 revisions) https://chromium.googlesource.com/chromium/src.git/+log/cbda6c2d6318..3b473fe59c6b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e04720d46f..4cee92ef22 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a93fb7650a..f6e67ef3b2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/57ae489e9b..7ece0f7260 * third_party/android_build_tools/lint: qaZOeTY-k9wAZ1vkdqCZIbppqQFgc4IM5T5dKj3_2xIC..Bd9m0RpzuCbbURLUADcdPsU2Yrrfg453Djw_jY7kVEYC * third_party/android_build_tools/manifest_merger: Nc9kYyTsw69N7yKSw_Sc2fJtUJ2zXUhSGjXbIkDVXuIC..kkbYOGsVRXhtxBiXuTufY0puTnG5QAfyxvFTBHFWL08C * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/996d3d5271..528931048c * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..95899ca948 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/caeef7ba32..c7aca34c8e * third_party/r8: 5fmK4ltjLHNRPbUQ34VE7o4hXrmeRbwpUTtUPadhj0wC..yG6aCoW-nKG7aqWMZkE1TsvMCxvP7KxJ9PsaRbytuyEC * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3748929a3d..3e89e7b60b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/145add6eab..8b952caced No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ie320fd2e49332a29aaf92fe8b61b6fe17a3d2388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4810852 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 7e41c5bc 2023-08-24T18:30:43 Remove scripts/perf_test_runner.py and references to it src/tests/run_perf_tests.py is similar and is maintained (runs on CI) Bug: b/297418214 Change-Id: I6fb12ac1fb856672b3bb83c0a4e34eb68afa1475 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812135 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c8ec8739 2023-08-22T11:30:08 Frontend: Remove link job dependence to context The part of link that needs the context is moved up. Usage of gl::Context is eliminated from the rest of the link (whatever is done in the front-end). Bug: angleproject:8297 Change-Id: Ifa71d2b2c0c0bc7c0c0b7ee89e1cbb203c3018cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4803109 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4376a8c8 2023-08-16T12:02:57 Metal: Reduce link job dependence to context The dependence on ContextMtl is not entirely removed, though it seems feasible. In particular, ContextDevice is passed around while only the real underlying device is needed. Some refactoring is needed here to address that. Additionally, I haven't verified if all that is accessed through the display is thread-safe, which would be a pre-requisite to moving the entire link job to a worker thread on this backend. Bug: angleproject:8297 Change-Id: Ifd4b02694b0997a33d17aad0b47eb7ac4de104e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4784667 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 44b5715c 2023-08-15T15:06:25 D3D: Remove link job dependence to context The part of link that needs the context is moved up. Usage of gl::Context and gl::State is eliminated from the rest of the link. Bug: angleproject:8297 Change-Id: I2064b21a6724d602f6a84f53a8ae5fe42fe4e837 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781566 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 571b4cdb 2023-08-14T16:55:28 Vulkan: Move pipeline/desc-set layout creation to link job The pipeline and desc-set layout caches are consequently made thread-safe. The reference counter on the layouts are also made atomic. With this change, practically all of the link in the Vulkan backend is moved to the link job. Bug: angleproject:8297 Change-Id: Iba694ece5fc5510d34cce2c34441ae08ca5bb646 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774787 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao b8d5a423 2023-08-21T14:43:42 Add static_assert(std::is_trivially_copyable<LinkedUniform>(),"") Since we are using memcpy for LinkedUniform, it is desirable to utilize compile time assertion to ensure that in future if anyone modifies POD struct (and the class of data members of POD struct) and made it that no longer memcopy-able, we would immediately caught at compile time. std::is_trivially_copyable<>is exactly for this reason. In order to make this work, the POD struct and any data it uses can not have user defined copy constructor. The problem is that right now ANGLE is using clang_use_chrome_plugins=true, and chrome-style generates warnings if the complex struct (has more than 10 data members) does not define a copy constructor, and that warning causes build failure with -Werror. So clang_use_chrome_plugins=true and std::is_trivially_copyable have this conflicting requirements that I can not apply both. This has been raised to compiler team, but before we get a solution from them, if we have to make a choice, I think the better choice is to disable clang_use_chrome_plugins and apply std::is_trivially_copyable, since the later is more critical to ensure safety, while chrome-style is mostly trying to minimize the code size, but won't affect correctness/robustness. This CL sets clang_use_chrome_plugins to false, and removes the copy constructor and copy assignment operator from BitSetT and LinkedUniform and added static assertion is_trivially_copyable for LinkedUniform. Same thing applied to ProgramInput as well. In future once we have a better solution from compile team, we can re-enable clang_use_chrome_plugins and disable only for structs that requires is_trivially_copyable assertion. Bug: b/275102061 Change-Id: If33415ea61deda568d855a7dd6a4fd6042058be5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4799342 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 03f9dff6 2023-08-21T16:57:12 Separate out std::vector<GLuint> boundTextureUnits from SamplerBinding SamplerBinding struct is trivial copy-able except the std::vector<GLuint> boundTextureUnits. This CL moves boundTextureUnits out of the SamplerBinding struct and becomes a vector in ProgramExecutable. This means all of sampler binding's texture units will be stored in one vector and SamplerBinding will remember where its own texture units is stored in that vector by keeping textureUnitsStartIndex and textureUnitsCount. In other word, SamplerBinding::boundTextureUnits (before this CL) is equivalent to mSamplerBoundTextureUnits[SamplerBinding.textureUnitsStartIndex], ..., mSamplerBoundTextureUnits[SamplerBinding.textureUnitsStartIndex + SamplerBinding.textureUnitsCount - 1] after this CL. With this, ProgramExecutable::mSamplerBindings are load/stored with one readBytes/writeBytes call since it is trivially copyable. Bug: b/275102061 Change-Id: I0974cf940875ecbcf655b4469b3bbc910717f1ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4798195 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao a8d77dc4 2023-08-18T15:23:39 Vulkan: Move mVariableInfoMap load/save to its own class This is mechanical change only. This CL moves mVariableInfoMap load/save logic from ProgramExecutableVk to ShaderInterfaceVariableInfoMap class. Bug: b/296433003 Change-Id: I9a934fd2223c559fba899f166e40efc17fa1be2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794752 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Charlie Lao 607f2636 2023-08-17T11:31:59 Vulkan: Switch ShaderInfo::load to use readBytes Right now it is using readIntVector<uint32_t>, which end up doing a for loop and memcpy each integer. This CL switch to readBytes so that one memcpy is used. Bug: b/296433003 Change-Id: Ibb10f97af4a86a4e93abb825007847a65f934237 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4790827 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov 9f4bddd8 2023-08-24T10:54:43 Cleanup: remove unused ANGLE_ASSERT_IMPL Bug: b/297343154 Change-Id: Iccde6b93fd26aa5b575a11d0ac61c59f03508567 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4810192 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>