Log

Author Commit Date CI Message
Shahbaz Youssefi bd9d0285 2024-10-26T01:12:23 Remove feature description / condition enums Since ANGLE no longer produces anything for these strings, Chromium no longer queries them and they can be removed. Bug: chromium:371512561 Change-Id: I921cbd91a3328df99b15262d31d52986d4a7b806 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966697 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 5242386b 2024-11-01T20:29:53 Manual roll Chromium from 61c4298a5d2e to d8c3950b24a5 (286 revisions) Manual roll requested by syoussefi@google.com https://chromium.googlesource.com/chromium/src.git/+log/61c4298a5d2e..d8c3950b24a5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com,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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a378269311..43a2115b4e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8aa2471595..8faf4d87eb * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c73dc115ba..b832657a0c * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/29d8a79ce5..0cbab48ca5 * third_party/r8/cipd: RzOonm113-m5_HZcKgMupfMghkDOTHWOJGYHjaaWfRIC..YyLscJSIeKgVII-9Cs-Apvzq0aP3NL1pFHvlh4ZXDNwC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/c9e8288d5f..6a846861ae * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c67de0cebb..715bc5a0af No update to Clang. Bug: None Tbr: romanl@google.com,syoussefi@google.com Change-Id: Ib7dc6f375c6ccc69dc3e38629157538b9392bf96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985113 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 2b8d6bbe 2024-11-01T11:23:35 Vulkan: Use UpdateFullTexturesDescriptorSet when cache missed DescriptorSetDescBuilder::updateDescriptorSet() relies on the cache key to build descriptorSet. UpdateFullTexturesDescriptorSet() builds descriptorSet directly from state, it does not use cache key. Test shows UpdateFullTexturesDescriptorSet is much faster than updateActiveTexturesForCacheMiss and updateDescriptorSet pair. This CL removes updateActiveTexturesForCacheMiss() function and uses UpdateFullTexturesDescriptorSet for cache miss case. The timing code is added around the cache miss functions to measure the time. Old: asphalt_9 average 7,554 nanosec gl_driver2_off: 20,354 nanosec batman_telltale: 12,992 nanosec New: asphalt_9 average 916 nanosec gl_driver2_off: 1,839 nanosec batman_telltale: 3,437 nanosec Bug: angleproject:372268711 Change-Id: I176d67ed732c3fe3a18a079df7c4973aa926087a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5984893 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao fbe34df7 2024-10-29T16:19:29 Vulkan: More texture descriptorSet code cleanup Removed unused argument `pipelineType` from updateActiveTexturesForCacheMiss(). Removed unused argument `context` from getReadImageView() Rename getBufferViewAndRecordUse() to getBufferView() since there is no "record use" happening. Moved UpdateFullActiveTexturesDescriptorSet() function from vk_cache_utils.cpp to ProgramExecutableVk.cpp anonymous name space, since it is only used in this file. Bug: angleproject:372268711 Change-Id: Ib7240c1063f727fb52588234e79fba349f9aff9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5977481 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Gowtham Tammana 79b6c7ab 2023-10-09T13:29:07 CL/Vulkan: Add fillWithPattern interface In CL, the buffer can be requested to filled with a pattern. Adding a pattern fill helper routine that fills up the buffer from CPU side. Bug: angleproject:42267074 Change-Id: I144e9b7c6f4d1263f21cabc2491c46e8951e604f Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916157 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao 1a3fadbf 2024-11-01T13:19:43 Vulkan: Enable imagelessFB for recent QualComm drivers Qualcomm recent drivers has the fix for imageless framebuffer bug. Re-enable supportsImagelessFramebuffer for drivers 512.802.0 or newer. Bug: b/369693310 Change-Id: I33a69b8abfefed572880636ff7af2c788cee5688 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5984959 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Rafay Khurram c0a28403 2024-05-06T12:42:28 CL/Vulkan: Enable clEnqueueNDRangeKernel for Images and Samplers * Performs clspv reflection for ArgumentSampler, ArgumentStorageImage, and ArgumentSampledImage * Creates descriptor sets for performing enqueue Tests-Passing: OCLCTS.test_basic readimage, readimage_fp32, readimage_int16, writeimage, writeimage_fp32, writeimage_int16, mri_one, mri_multiple, imagenpot Bug: angleproject:42266936 Change-Id: I2b6c631e76556870c4342d2046c267ff5cf5105d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955597 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram 0baeb12e 2024-10-22T19:24:09 CL/Vulkan: Fix ImageDescriptor constructor * Constructor should set the depth to 1 for 2D images rather than 3D Tests-Passing: OCLCTS.test_basic imagecopy3d, imagearraycopy3d Bug: angleproject:42266936 Change-Id: Id6fe927260a808732c29b3b051562274ee9bf50d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955542 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram c3ff2bbe 2024-05-16T11:31:54 CL/Vulkan: Enable clGetSupportedImageFormats * Returns formats that are supported by physical device from the minimum list of image formats Tests-Passing: OCLCTS.test_api min_image_formats, OCLCTS.test_basic imagearraycopy, arrayimagecopy, OCLCTS.test_computeinfo computeinfo Bug: angleproject:42266936 Change-Id: I2bdb9a793b45f21c12c7c7d6a42e7a63295c2708 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5800266 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram 9db2e88b 2024-05-14T11:44:01 CL/Vulkan: Add support for required image formats * Included adding cases for CL_DEPTH, CL_DEPTH_STENCIL, CL_sRGBA, and CL_BGRA Bug: angleproject:42266936 Change-Id: Ie7bd3ee6c6413d8fa89357c81d19f4c807883f36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5800265 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton a05a0e15 2024-09-25T22:33:36 Validate PLS shaders against context state Add shader introspection for PLS uniforms and validate that they match context state during draw calls. Bug: angleproject:40096838 Change-Id: I76cdf8add03de8f8b0b3e772c15c0087c1d97e98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893962 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Rafay Khurram a21b7ad0 2024-04-24T02:11:42 CL/Vulkan: Add skeleton for CLSamplerVk * It is setup to be a wrapper for the SamplerHelper interface Bug: angleproject:42266936 Change-Id: Iac7e80c4d5262687d98a8188a60a24a9be190dc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5801184 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen b03f0148 2024-11-01T10:26:04 Metal: interpolateAtOffset fails validation Fix validation error Found function prototype with an invalid qualifier. The offset parameter was created with "global" qualifier. Bug: angleproject:376718268 Change-Id: I6f314a42fe1d35d54bb673cfa7d58eba526c9ea5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979778 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c0c541da 2024-10-28T11:54:26 Remove the gl+d3d-only build of the translator This was done at a time where the spir-v generator used glslang and added significant binary size. Bug: chromium:371512561 Change-Id: I6cc733e51f8af555d20181a328b4fbeba6c053c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971194 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 57ce489f 2024-07-02T10:25:35 CL: Check that arguments are set at enqueue call On clEnqueueNDRangeKernel, all of the kernel arguments have to be set by appropriate clSetKernelArg or clSetKernelArgsSVMPointer or setKernelExecInfo calls. Add a validation check for the same. For now, only clSetKernelArg are checked as the others are not supported yet. Bug: angleproject:42267011 Change-Id: I15be8efab80f475ae6093ab7e1798e7a04182ac0 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971714 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 5c26ffea 2024-10-29T11:11:38 Vulkan: Optmize descriptorSet cache disable code path Right now the way it works is that it first computes the cache key and then use the cache key to look in the cache. If cache misses, then it builds descriptorSet out of the cache Key. This might make sense if cache is enabled. If cache is disabled then no need to go through the middle man. This CL skip all the cache key build up entirely and directly build descriptorSet out of context state. In this CL, updateFullActiveTextures() and updateDescriptorSet() are merged into one function UpdateFullActiveTexturesDescriptorSet() which updates VkWriteDescriptorSet directly. Bug: angleproject:372268711 Change-Id: I7ba0c60a23b967d1ac903020d04022405c29e354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972508 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll f4a239bc 2024-11-01T10:01:44 Roll vulkan-deps from 977783acab11 to a52547961655 (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/977783acab11..a52547961655 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/5f1e86cb55c48949d8a25eb8e03e6930c4179ed9..e5c1498afa1daa8cf3a48af7a74e3b7429afb05d https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/2e3b9e9d7ba562187bff4b92b6a9dae6b1824008..b8093e3a1854285cbd183fa98b410090889fa500 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: Ib0ffb9ba33866be060d730a211521f75dbc5c917 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5984150 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2b6e5b2e 2024-11-01T07:00:49 Roll Chromium from c0123634901e to 61c4298a5d2e (219 revisions) https://chromium.googlesource.com/chromium/src.git/+log/c0123634901e..61c4298a5d2e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/933340a792..a378269311 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/103f6af5f0..8aa2471595 * third_party/android_build_tools/lint/cipd: c7Q2GAMqK00nzjHPowtl0at22vglh6T3CrvXLOhpXbEC..9quVbgwnFSKuZJ3QNXnfzy0iokvyHFOL1Q7qkgafP1MC * third_party/android_build_tools/manifest_merger/cipd: Pb7MFARSTl0ZjwRKHTt3BHBXnNL4WkxZcE6CYILj_zgC..rdroZtdhMUv8gACwfRmE_Gycwkb8DTSDjw-PpVSx1nIC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/61356f2ec3..77ab8f9211 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9bf2a2011a..c73dc115ba * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/88c655feba..191356bd99 * tools/luci-go: git_revision:e76a7fa7e1d656b1d6a484e3fcf3b02d0717f87a..git_revision:4a7755a0f40eb3aa20ff4dcecde6bab0f6a24889 * tools/luci-go: git_revision:e76a7fa7e1d656b1d6a484e3fcf3b02d0717f87a..git_revision:4a7755a0f40eb3aa20ff4dcecde6bab0f6a24889 No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: Id3ea8ac1887f857505b47adb34138b12a69d3b10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5984149 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen bf29a047 2024-10-28T11:07:57 Metal: Remove uniform struct decl separation code Remove uniform specific struct declaration separation and anonymous struct naming code. This is already done by SeparateDeclarations. Removes code for NameEmbeddedUniformStructsMetal. Does not remove SeparateStructFromUniformDeclarations code as it is used for SPIRV. Bug: angleproject:375937551 Change-Id: I943d96897d97b23fd0f54155dc215a4490f63937 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972994 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 2156cd6e 2024-10-31T14:22:31 Metal: Fix rewritten array variables clashes It was possible to generate MSL name clashes by declaring arrays, such as in: mat3 a[1] mat2 a_0; Complex GLSL outputs need to be linearized into primitive MSL types. This would happen for struct outputs, arrays and matrices. For these new MSL variables, the translator needs to invent new names that match, generated from both VS and FS. The clashes were due to the encoding scheme: For arrays, the MSL vertex output variable was named with _0 suffix for the array and _0 for the matrix row 0. In the example above, this would create a clash since also non-array mat would be linearized row-wise. For structs, field `a.b` would be encoded as `a_b`. By selecting different a and b, clashes could be generated trivially. It is redundant to encode named semantics in the out variable names. The only needed element is the discriminator which associates VS variables to FS variables. Currently this is done by using the user-provided root field name. Fix by encoding only the root variable name to the MSL variable name. The rest of the field discriminators are just a running number. Each GLSL name `a` is unique. MSL names get fixed suffix form `a_X`, and thus all of them are unique too. This is a continuation of following fixes that turned out to be incomplete: 6fe8a399dd Metal: Fix rewritten out variables with underscores 27423bffff Metal: Generate names for rewritten inputs Bug: angleproject:376417347 Change-Id: I407db373d201b3e321c6d8414bafdbecfd82cf19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979774 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Rafay Khurram 7c99c225 2024-04-03T01:48:57 CL/Vulkan: Implement clEnqueue APIs involving images Review enables the functionality of: - clEnqueueReadImage - clEnqueueWriteImage - clEnqueueCopyImage - clEnqueueMapImage - clEnqueueCopyImageToBuffer - clEnqueueCopyBufferToImage Tests-Passing: OCLCTS.test_basic imagecopy, imagerandomcopy, OCLCTS.test_profiling copy_array_to_image Bug: angleproject:42266936 Change-Id: Ifd4ccd0a9e16bac11dbff74d4634d9ca4c5b4284 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5796530 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Kimmo Kinnunen 0624b4fb 2024-10-31T20:59:20 Metal: Make ToposortStructs compile on c++17 Use .find() != .end() instead of .contains() for std::unordered_map. Bug: angleproject:375352601 Change-Id: I2e550354e1df3b390b74fdea29427fd3a0326fe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979775 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 20de3a8a 2024-10-31T22:06:42 Manual roll Chromium from ada7221c4738 to c0123634901e (3970 revisions) Manual roll requested by romanl@google.com https://chromium.googlesource.com/chromium/src.git/+log/ada7221c4738..c0123634901e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/774b608643..933340a792 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/09ea565f4a..c61bf9c942 * buildtools/reclient: re_client_version:0.168.0.c46e68bc-gomaip..re_client_version:0.170.0.08051991-gomaip * testing: https://chromium.googlesource.com/chromium/src/testing/+log/546ad56e8a..103f6af5f0 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/437172bab2..78991980f5 * third_party/android_build_tools/error_prone/cipd: n77J6kWie5cSD7pmkTyni9GjOYh2lyebCU6Eyr6GxXkC..O1OVfpqbI-kjqiCSF27xOQ2CmfQMGSY-Lq4qH671sdMC * third_party/android_build_tools/lint/cipd: 4LvjVBJ-tE7OOEwn-wr9aM6zYpZjl2bZ6jvbfAdCo3wC..c7Q2GAMqK00nzjHPowtl0at22vglh6T3CrvXLOhpXbEC * third_party/android_build_tools/manifest_merger/cipd: 92AO-IC4QP7pBCfygcFNL6xN7xiJLTSWdiS0q-pq4ukC..Pb7MFARSTl0ZjwRKHTt3BHBXnNL4WkxZcE6CYILj_zgC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/fdebd3d15a..b8ace7091f * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/940a36cedf..61356f2ec3 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/cc924d1ab6..9bf2a2011a * third_party/fuchsia-sdk/sdk: version:25.20241022.0.1..version:25.20241025.6.1 * third_party/ijar: https://chromium.googlesource.com/chromium/src/third_party/ijar/+log/3bd143299e..fda85bf1f2 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/c8eec3629a..8e31ad4256 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/5bfc713304..88c655feba * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/59d05179e3..bf062897f1 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/98ed093183..194ae301ad * third_party/r8/cipd: zNYp2KVrHI9KDsLQCdJIFzXTvkqx3Dav9o5vR1UlMxQC..RzOonm113-m5_HZcKgMupfMghkDOTHWOJGYHjaaWfRIC * third_party/siso/cipd: git_revision:4237c4b45d2accad9955693251a99f0b862a0a03..git_revision:bf523d95598ccdc9003361bf8a4142414af474f1 * third_party/turbine/cipd: dODwcAXI7V4M-fHO0rZvcMEcW3qgfNnkoPeuwxzO4DsC..YDjqj5VA9_8SsjmFf_gJG3tSTb6BdOLqQnr8SabZmFEC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/4b9a28a9b7..c9e8288d5f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/53554bf3da..c7e4aee0f5 * tools/luci-go: git_revision:d212e392e327834378013806f0263ab263600db2..git_revision:e76a7fa7e1d656b1d6a484e3fcf3b02d0717f87a * tools/luci-go: git_revision:d212e392e327834378013806f0263ab263600db2..git_revision:e76a7fa7e1d656b1d6a484e3fcf3b02d0717f87a * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3793b7f7b4..a4a07db8ee * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/752c7a08fc..c67de0cebb * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/ed0fe5c0e0..e4fd8fdeea * tools/skia_goldctl/linux: CXeEV6BLm5q9KGe-brhM2NLdmEgjyMyTutd_o3ioqMwC..VabgQkFnMfqcuiR6DAjGRzgo-flvZDQ3ZOqJSRnONWwC * tools/skia_goldctl/mac_amd64: XrxKbvaH3xwOzOdudnSzNTwqJhocETDPtsYNQNWHeIwC..6LbtEUb4VFflDPP_gLkZm69GPz_kldTfr0GKZqTcY10C * tools/skia_goldctl/mac_arm64: oZ0XmjQl2uVb7JQS4TNGfkr4O_ZGRDCZK7VuTwAdZsoC..ZBwJMfIfaokP3eCIzjf9r2JF1lxyFoWutFyAIMJIkAkC * tools/skia_goldctl/win: fuydFP_nMX2mXcsO2vqFYHv2H1jdpvF95t8AGCcH7wIC..V37TmFdJ6NMKXBOncF_8W9vtnJJRfLQIVmoHmDsH4LkC Clang version changed llvmorg-20-init-8527-g923566a6:llvmorg-20-init-9764-gb81d8e90 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/53554bf3da41153f2e01f9ff234c194c156b7a93..c7e4aee0f5a2104de4307c016ca57637d506b2fc/scripts/update.py Bug: angleproject:2516 Tbr: romanl@google.com Change-Id: I9e177b89f58db5ddba97ea32c4978001088688fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5983810 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 6b9d3762 2024-08-22T15:29:00 Vulkan: Optimize full texture clears Currently, a full texture clear (glClearTexImageEXT()) is treated as a special case of a partial clear (glClearTexSubImageEXT() with image dims as the input). However, it can be further optimized by treating it as a clear update. * For full clears from EXT_clear_texture, the clear update path is taken. * It leads to a more optimized path, including the usage of the following APIs: * vkCmdClearColorImage() * vkCmdClearDepthStencilImage() * It uses the following enum: ClearTextureMode * If a partial clear uses the extents for the entire image, it is treated as a full clear. * Updated the method to determine if a texture is renderable in clearSubImageImpl(). * Added perf counter: fullImageClears * Added new unit tests * Single 3D texture full clear (Clear3DSingleFull) * 2D RGB SNORM clear (Clear2DRGB8Snorm) * Added Vulkan perf counter test for 2D and 3D color image clear. * Updated the related skipped tests on Pineapple. Bug: angleproject:42266869 Bug: angleproject:375425839 Change-Id: I12ef3002dee190d7f8f43204f7d3f76e05d0b54f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806207 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 91ea8aef 2024-10-31T12:33:35 scripts: Add restricted_trace_perf as data dep This gets it in to angle_trace_bundle.py. Bug: b/376300037 Change-Id: Iebffb105d24bd45c346d6d7085051c432039e2ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980801 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi 66701c98 2024-10-31T11:37:44 Vulkan: Remove extra non-conformant flag check In Vulkan, getMaxConformantESVersion() calls another function which already checks which ES version to use (getMaxSupportedESVersion()). It also uses the non-conformance flag to check if it should bypass the ES 3.2 check if the flag is enabled. However, the former uses the flag to cap the version to ES 3.1 if the flag is disabled. This check seems unnecessary, and can cap the version for a device that does have the ability to use ES 3.2. * Removed the non-conformant flag check from getMaxConformant*(). Bug: b/374841339 Change-Id: I377e6ba2fe174aae7e2e1b19407b2acd89749157 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979643 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Solti 02f88b31 2024-10-30T21:49:19 Improve CanSupportAEP Error Reporting This change improves the error reporting for the `CanSupportAEP` function. Previously, if the function returned false, it was difficult to determine which requirement was not met. This change adds logging that will list all unmet requirements, making it easier to debug AEP support issues. For Chromium logs, this logging is too much. Therefore, a switch is used and by default the logging is off. ref: https://crrev.com/c/5979208?tab=comments Test: the default presubmit Bug: b/268108262 Change-Id: I7f633cdb63f9cfeb501cd5f134b0ea7874465aed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979292 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 8d12b278 2024-03-15T15:39:39 Make separated anonymous in/out structs work better Fixes failing case for other backends than GLSL output: VS: out struct { .. } a, b; FS: in struct { .. } a, b Make the ANGLE VS-FS interface matching work by using the anonymous name as the variable structOrBlock name. Bug: angleproject:42267047 Change-Id: If8107387c02b5520134857fb210a27a8f92a2db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5372727 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Roman Lavrov eaa3d4a9 2024-10-31T16:05:34 Add llvm-libc BUILD.gn Not part of llvm-libc, needs to be copied from Chromium Missed in https://crrev.com/c/5980611 Bug: chromium:370535840 Change-Id: Iaf6a042593574715b75b44bc1daf99fd4a6193b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981291 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen b8d546b2 2024-10-30T15:40:58 Fix immutable string concats with ints `BuildConcatenatedImmutableString("a", 10, "b")` would construct "a\nb" because the implementation lacked int overloads and ints would be promoted to chars implicitly. Fix by implementing simpler way to calculate digits for numbers and then add useful overloads. Remove ImmutableStringBuilder::appendDecimal() since the code is already expecting << for all other types, and the bug was due to this expectation. Bug: angleproject:376417347 Change-Id: Iea5e14a6e2fede068b704754b9203db794dd5bf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972641 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi d4a9fa51 2024-10-31T09:37:28 Vulkan: Re-enable dynamic rendering on newer ARM drivers Bug: b/356051947 Change-Id: I03fbed2dbdb8f454ee1c429db4669d13e719b9bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980610 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 7bb1e0f6 2024-10-29T13:18:49 restricted_trace_perf: Allow use of system ANGLE libs This change allows the perf script to use built in ANGLE libs, including from the system partition, instead of requiring a separate package. By default, the script will now use the ANGLE libs packaged in the test APK (com.android.angle.test). OpenGL/EGL calls will still go though the platform EGL loader, but you no longer need to install a separate ANGLE APK containing libs. To use the system libs, add the following flag: --angle-package system You can use it to point to *any* package that is queryable and contains ANGLE libraries. To get the previous behavior, you'd use: --angle-package org.chromium.angle Also two small unrelated fixes: * Fix typo when clearing shader cache * Broaden the 'MODEL' skip in thermal throttling Bug: b/376300037 Change-Id: I762cfd7516026e903a6a5de2949d50e96e766d48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5976899 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Neil Zhang 236e0f48 2024-10-22T18:33:23 Add fix for create multi-window surfaces cause crash This patch fix crash when created multiple window surfaces, and not call corresponding eglDestroySurface, also added related test. Bug: angleproject:374797737 Change-Id: I58941660130e84e213cf9d78806027d56d6efc8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981430 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 42bfb554 2024-10-31T10:26:54 Add llvm-libc dependency, now required for libc++ Bug: chromium:370535840 Change-Id: I98c9dbf90d35a19a4f7fbef68efd2f9221e89b9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980611 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll 0d914d46 2024-10-31T10:02:00 Roll vulkan-deps from a5edfbb83552 to 977783acab11 (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a5edfbb83552..977783acab11 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/63ebbe367c8c219e262a2bf78b7395b74cc9d9af..d81aeef9f82050bd5940ce1c475d8316ad41d747 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/22c4d1b1e9d1c7d9aa5086c93e6491f21080019b..cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/ab1ea9059d75b42a5717c7ab55713bdf194ccf21..f2eb740f3f0340ad941e563484d5ba45a5ec6af0 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/7a83084ef84cc0d47c31d2872a4939c4c59186a1..9276d73f29651c92402f0f0389108d69bb51b9ca https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/154691a92a8e9733ab20854d2405ae3a19c13f67..2e3b9e9d7ba562187bff4b92b6a9dae6b1824008 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I78f31ee5fe63477957d5bcf6a97967acc466f0d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982438 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 2df8d32b 2024-10-25T13:49:40 Vulkan: Tag DescriptorSets properly with every command buffer When descriptorSetCache is disabled, there is a bug that the current descriptorSet is not properly tagged with current ResourceUse. Right now when we get a descriptorSet (from cache or reused or allocated new), we retain to the current command buffer. But if we submit command buffer and get a new command buffer, and draw with the same program/buffer/textures, we will be reusing the current bound descriptorSets, but it is not retained with new command buffer. In theory, we have the same bug for pool eviction as well when cache is enabled. It's just very hard to hit due to pool eviction occur very rare. But with cache disabled, this is very easy to hit with multiple tests. In this CL, the retainResource call is moved from ProgramExecutableVk::getOrAllocateDescriptorSet() call to ProgramExecutableVk::bindDescriptorSets() call. Since bindDescriptorSets is always get called when we get a new descriptorSet, and is always get called when a new command buffer is allocated, this covers all usage case. And even better, with this change we are able to remove commandBufferHelper from arguments of quite a few functions. Bug: angleproject:372268711 Change-Id: I1f21a3e7e9ea34e2842e54025b5eb930dbf6c593 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743599 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Amirali Abdolrashidi 913251aa 2024-09-25T17:42:59 Add clear tests related to layered image * Added tests to bind a layered framebuffer to a 3D image and clear it. Bug: angleproject:42266869 Change-Id: I488a26883d3e05daf0cc746ccf4b409ba470cb4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889409 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 63f5a328 2024-10-30T14:40:40 Revert "Improve CanSupportAEP Error Reporting" This reverts commit fb655e43f4a86fbdf35bf0cb5d2978d728b949d9. Reason for revert: Causes excessive logging and leads to flakiness in Chromium Original change's description: > Improve CanSupportAEP Error Reporting > > This change improves the error reporting for the `CanSupportAEP` > function. Previously, if the function returned false, it was difficult > to determine which requirement was not met. This change adds logging > that will list all unmet requirements, making it easier to debug AEP > support issues. > > Test: the default presubmit > Bug: b/268108262 > Change-Id: I48eb6b26358ca4991d760523f44568d97e8c35a6 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972497 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Solti Ho <solti@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: b/268108262 Bug: chromium:376380430 Bug: chromium:40266306 Change-Id: Ic5b1bbce16fe5c98af10ca0554d1035206d5c592 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979208 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 1652f8ed 2024-10-17T13:35:39 Vulkan: end2end tests when descriptorSetCache is disabled Some end2end tests are testing specific descriptorSet cache behavior. When cache is disabled, these tests failed. In this CL these perfCounter based tests haven been modified to check total allocation to ensure the descriptorSets are properly reused instead of cache hit/miss. Bug: angleproject:372268711 Change-Id: I1d2f4cfcf622b05cdcb3317c8804416a80e72c48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3735732 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0a372f29 2024-10-28T22:59:53 Vulkan: Remove docs about OpenGL line rasterization emulation The code that emulated OpenGL line rasterization has been removed. Bug: angleproject:42265836 Change-Id: Ib1c1d8745b1790e0291a691a6a1c8e9438c34351 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973239 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Solti fb655e43 2024-10-28T21:45:41 Improve CanSupportAEP Error Reporting This change improves the error reporting for the `CanSupportAEP` function. Previously, if the function returned false, it was difficult to determine which requirement was not met. This change adds logging that will list all unmet requirements, making it easier to debug AEP support issues. Test: the default presubmit Bug: b/268108262 Change-Id: I48eb6b26358ca4991d760523f44568d97e8c35a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972497 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Solti Ho <solti@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao d0a0fd1a 2024-10-17T14:50:51 Vulkan: Skip pool eviction when cache is disabled When cache is disabled, every time a new descriptorSet is allocated and bind to program, the previous descriptorSet will be added to the tail of garbage list, and the new descriptorSet is retrieved from the head of the garbage list, if its GPU usage has been completed. This means there will never have a situation that significant amount of descriptorSets are needed, therefore no need for pool eviction. One possible situation is that at one point you need a lot of descriptorSets and then after a while you only need small amount of descriptorSets. In that case we could delete the excessive unused descriptorSets. But since they are all allocated from a pool, as long as there is still one descriptorSet in the pool is used, you still can't destroy the pool. This means eviction is really not much useful when cache is disabled. Bug: angleproject:372268711 Change-Id: Id77b181b64e122f576ee43d11c39dc75bd681dcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5941126 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 9c0fc663 2024-10-29T16:34:52 Set use_custom_libcxx=false in MSVC builds Temporary workaround, support is being removed upstream: https://crrev.com/c/5963336 Before that CL, there was a condition (is_win && is_clang) which disabled it for MSVC builds. Now the flag defaults to true and is deprecated. Bug: angleproject:376074941 Change-Id: I23b4a59157d3a333f78e5af2f44447cf270a9671 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973072 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao af73a7eb 2024-10-18T17:19:29 Vulkan: Add WeakPtr to mirror std::weak_ptr This is a follow up from previous CL crrev.com/c/5938947. Because of pool eviction is based on reference count, there is need to have a weak pointer to the reference counted pool that does not add an extra reference count. This CL adds WeakPtr that works similarly to std::weak_ptr, and replaced direct RefCountedDescriptorPool pointer with WeakPtr wrapper. This is safer than RefCountedDescriptorPool in a way that it does not allow modification of underline reference count. Also the use of WeakPtr has been reduced to minimum in this CL. Bug: angleproject:372268711 Change-Id: Idd6fa77432a9351269c968c961785a7cf5fab50c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5944061 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 629dc14f 2024-10-29T13:55:40 Manual roll VK-GL-CTS from cfd0b16e7b5e to f674555ab03e (12 revisions) Manual roll requested by romanl@google.com https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/cfd0b16e7b5e..f674555ab03e 2024-10-28 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11 into vk-gl-cts/main 2024-10-26 piotr.byszewski@mobica.com Update json parsing headers for vksc 2024-10-25 kamil.goras@mobica.com Re-enable dEQP-GLES2.functional.polygon_offset.*render_with_units 2024-10-25 javed@igalia.com Add tests for device scope operations 2024-10-24 mateusz.bahyrycz@mobica.com Tests for sparse descriptor buffers 2024-10-24 piotr.byszewski@mobica.com Expand test suite for generic profile support 2024-10-24 ziga@lunarg.com Remove shader object variants of sample locations tests 2024-10-24 ziga@lunarg.com Add tests for VkAndroidHardwareBufferFormatProperties2ANDROID 2024-10-24 mateusz.bahyrycz@mobica.com Fix bug while selecting transfer queue for sparse resource tests 2024-10-24 kamil.goras@mobica.com Re-enable tests excluded due to Tracker/vk-gl-cts/issues/373 2024-10-24 gleese@broadcom.com Remove autogenerated struct indices 2024-10-24 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: Idded64c9dc64fe9f1d4a040048ffb2199fbc8105 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5976422 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 079a2bad 2024-10-29T10:01:45 Roll SwiftShader from 3aaa6784ca31 to 1495532f997f (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/3aaa6784ca31..1495532f997f 2024-10-28 syoussefi@google.com Fix vkCmdClearColorImage of 3D images 2024-10-28 syoussefi@google.com Fix crash when color input index mapping is nullptr If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:352364582,angleproject:42266869 Tbr: romanl@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Icec4ec50a1fb485039351ed56381bf81a90652c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973379 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov a7ef6444 2024-10-29T09:39:24 Tests: skip D3D11 dEQP-GLES2.functional.polygon_offset Got re-enabled in https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/0d2b73e3a4b70d3117abca393e2b86ccf99f4c31 The GLES3 version is already skipped for this config Bug: angleproject:42260109 Change-Id: Ief290695dd97d7ecf84f2e06f352d9135e0748b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5974494 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 2ad2f0e6 2024-10-29T10:01:43 Roll vulkan-deps from 6bf0a68d2621 to a5edfbb83552 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/6bf0a68d2621..a5edfbb83552 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/3454c3618be8754cb2cec77dc21b142121dc606a..63ebbe367c8c219e262a2bf78b7395b74cc9d9af https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/ce92630396c2fd2d6d04819369116af4fb141a28..5f1e86cb55c48949d8a25eb8e03e6930c4179ed9 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/c21cdf42bd0ae076d4d200337b9c0f6aa0481f8c..7a83084ef84cc0d47c31d2872a4939c4c59186a1 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/9e1ba445cb9ef5267c6062e91c2fa978b1771ba6..e94085e2167e33b6b18474da24ff18f46bc56976 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/dcb6173f7463ed233696e18eb9992cbe11262af0..9123b8c04b378c1b81899314e3060a80f255a24b https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/27fb703e7ae415867c17c305ef6738d6f114b2a7..154691a92a8e9733ab20854d2405ae3a19c13f67 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I44901525b88218d23488f2aa6e6ea4105f4a0853 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5975418 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen 4397ff2f 2024-10-25T16:55:30 Metal: SeparateCompoundStructDeclarations fails validation Consider GLSL: struct S { int i; } s; s=s; SeparateCompoundStructDeclarations would rewrite this to: struct S { int i; }; S s'; s=s; The interm rewrite would rewrite the specification and declaration of s, but not the use sites. The use sites would use the old type, and thus something that was not in the tree anymore. This would fail the validation. This kind of bug was previously fixed for SeparateDeclarations in commit 18fa02bebf901dd8501de3176f6052ae4ce984be. Fix by adding the logic to SeparateDeclarations, as it is already doing almost the exact task, separating `struct S { ..} a, b`. The separation is tested in GLSLTests.StructInShader and various other draw tests. These pass with MSL, but these would also fail validation if that was enabled. Bug: angleproject:375523825 Change-Id: I1697103d0ba47616dbd3159f36f9e71cb2831c4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5964899 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 4a5b0284 2024-10-24T11:46:54 Disallow discarded uniform block references Uniform block instances cannot be used by themselves, as there is no way to refer to their type. Disallow the only typeless access pattern, discarding via expression statement: uniform MyBlock { int x; } b; void main() { b; 0, b; } Explained as disallowed in newer GLSL 300: https://github.com/KhronosGroup/WebGL/issues/3644 The comma expression form would ASSERT in CollectVariables. Bug: angleproject:42267026 Change-Id: I6c8b835482fd551bd97576c1bd24f005874da6af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961498 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 898a1c12 2024-10-24T13:09:36 Metal: Fix ToposortStructs validation == failures ToposortStructs would convert mat, vec, struct == to ANGLE_equals() calls. However, the functions called were not in AST. This would cause "Found node calling previously undeclared function <validateFunctionCall>" validation error and ASSERT. Mat, vec equality calls would use prelude ANGLE_equals implementations. The MSL emit already does the conversion from == to ANGLE_equals for these builtins. For user-defined structs the logic would be: - collect struct decls, structs, create equality functions - toposort - for each sorted struct: - insert struct decl - insert equality function Move the equality function creation after the toposort: - collect struct decls, structs - toposort - for each sorted struct: - insert struct decl - create equality function - insert equality function This way the sort ensures that nested struct equality functions can refer to previously introduced equality functions. Bug: angleproject:375352601 Change-Id: I59efed98bca6d99b198abc2b5c7577cf5d1d5d83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961281 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Gowtham Tammana 2a62e525 2024-06-26T13:27:37 CL: Fixup copying empty string Bug: angleproject:375982192 Change-Id: I0703ecf068ca966e1b24169c8f406df4c8dbb5ac Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971389 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 0e0e5eae 2024-10-28T14:12:30 Minor clean up for mSamplerBindings usage Use "const" keyword for samplerBinding. Bug: None Change-Id: Ic2c0b133c405012a111919ad07f45d84c07eecee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972764 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 08c1724f 2024-10-11T14:29:00 Vulkan: Support GL_ARM_shader_framebuffer_fetch_depth_stencil Bug: angleproject:352364582 Change-Id: I63fd78314fa7ebccbf366c252e309a9c0f09c8c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938150 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 65fcf9c4 2024-10-26T10:53:18 Vulkan: Remove redundant dependent feature checks Since [1], when a feature is overriden, the dependent features automatically take the override into account. Tests no longer need to account for dependent features, neither does the logic in the code. [1]:https://chromium-review.googlesource.com/c/angle/angle/+/4749524 Bug: angleproject:42266725 Change-Id: I5440aba4a89cffbe710e26ad7de4cfee783e9bdf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967414 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov c13e9963 2024-10-28T15:19:09 Tests: skip mac intel dEQP-GLES2.functional.polygon_offset Got re-enabled in https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/0d2b73e3a4b70d3117abca393e2b86ccf99f4c31 The GLES3 version is already skipped for this config Bug: angleproject:40096462 Change-Id: I8b6eca1faec9442c6de323000cd223b0c169e35d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972595 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Yuxin Hu ba65fc48 2024-05-01T15:53:20 ANGLE unit test to check const expression in a shader with uniform Bug: b/338287961 Change-Id: I81586122fdb6cdfe650b9c9094582276220741f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5507766 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 5987c2bc 2024-10-28T14:15:29 Disable treat_warnings_as_errors on MSVC builds Chromium rolls into ANGLE are currently blocked due to: error C2220: the following warning is treated as an error warning C4068: unknown pragma 'GCC' MSVC unsupported by Chromium since 2020: https://groups.google.com/a/chromium.org/g/chromium-dev/c/fuVUxe1q6EA V8 dropped MSVC support in 2024: https://groups.google.com/g/v8-users/c/J8Q6VrX9e4M/ ANGLE currently does compile-only MSVC builds. This CL further relaxes MSVC support by ignoring warnings. Bug: angleproject:376074941 Change-Id: Id6327617fb95a4b19f64cfda13dbd68733c34aa5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973134 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuxin Hu 0d5c0bd1 2024-04-25T10:26:08 ANGLE end2end test to check const expressions are handled correctly Bug: b/337046547 Change-Id: I1bd368f8c95a9676aba13fe91313d0eaba32db03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5490170 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov a769fad4 2024-10-24T20:46:42 Vulkan: Optimize and fix glFinish for single buffered surfaces Fixed bug: When calling `onSharedPresentContextFlush()` from `ContextVk::finish()` need to also call `finishImpl()` to wait for submitted commands. This bug was introduced in the original commit where `onSharedPresentContextFlush()` was added. Optimization: Skip calling `onSharedPresentContextFlush()` from `ContextVk::finish()` similarly to `ContextVk::flush()` when there is nothing to flush. Bug: angleproject:42265370 Bug: b/229908040 Change-Id: Ide9f9c5d8757257c925970faece1e137acf10dec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961290 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Gowtham Tammana d9f8fba8 2024-09-27T15:56:36 CL/Vulkan: Fix event queue serials Some of the events are finished at call site, dont set queue serials for them. Bug: angleproject:372157567 Change-Id: I4e0d568b76959be96bc7565bae7cdb5d4549619a Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916155 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi a0586d6e 2024-10-26T00:32:27 Remove feature description / condition strings These strings show up in chrome://gpu so they can marginally be useful, but are otherwise dead weight for most uses of ANGLE / users of ANGLE. While slightly less convenient, the feature name can always be linked back to the source code if needed so the presence of such metadata is not necessary either. This shaves 40KB from the binary size of ANGLE when built with Vulkan only on Android. Bug: chromium:371512561 Change-Id: I3959961bb7de95cc60a85130d0ff38a7fd533fb7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5968453 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 5b4609de 2024-10-07T14:40:49 CL/Vulkan: Adjust the pushConstant size/offset to multple of 4 The spec[1] requires the push constants size/offset to be multiple of 4. Adjust them as needed. [1]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdPushConstants.html#_description Bug: angleproject:372157565 Change-Id: I8ea788dbd68e3aea262e12af56e40ac84087ceef Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916154 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll f2a409f8 2024-10-28T10:01:08 Roll vulkan-deps from b0229dbd25db to 6bf0a68d2621 (25 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/b0229dbd25db..6bf0a68d2621 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2fed4fc07c9190df5369db787a679096c55474e5..3454c3618be8754cb2cec77dc21b142121dc606a https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/252dc2df08f58e0e50c8437edc0e77eacdfb7559..22c4d1b1e9d1c7d9aa5086c93e6491f21080019b https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/895bb9ffecc2c48646b50f77aeb85f5b70b9bb37..ce92630396c2fd2d6d04819369116af4fb141a28 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/e271cfd4809ed133cadc6c3de7903e59628b3d8a..ab1ea9059d75b42a5717c7ab55713bdf194ccf21 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/2d2d46f38fb2e8c0362668ca3605f81d71236f68..c21cdf42bd0ae076d4d200337b9c0f6aa0481f8c https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/2030a5b09f5656d1e9b8c9c4ab3ebe98024da150..9e1ba445cb9ef5267c6062e91c2fa978b1771ba6 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/b541be2eae6f22772015dc76d215c723693ae028..dcb6173f7463ed233696e18eb9992cbe11262af0 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/4ed4b0579d24d04b32e529ab716821b68dcd3c0a..27fb703e7ae415867c17c305ef6738d6f114b2a7 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: Iff3aabec62335d0cefc03bab2b96778a685c0b4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5970618 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 127f1e15 2024-10-28T10:01:44 Roll SwiftShader from 145112eea713 to 3aaa6784ca31 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/145112eea713..3aaa6784ca31 2024-10-26 matt@mattcooley.net Don't install commit hook if not in a git repo If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I47200c57f0a9f6e34419cdf09bb1f7428bc6c44a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5970537 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao fe99836c 2024-10-25T14:34:23 Vulkan: Use ANGLE_PERF_WARNING when no serial for reserved serial When we run out of OutsideRenderPassCommands' queue serial, we have to call flushCommandsAndEndRenderPass() so that we can get a new set of reserved serials for OutsideRenderPassCommands. The problem is that we call ANGLE_VK_PERF_WARNING macro before calling flushCommandsAndEndRenderPass(), which could insert a CommandID::InsertDebugUtilsLabel command when debug marker is enabled. This end up with mOutsideRenderPassCommands becomes not empty and subsequent call of flushCommandsAndEndRenderPass end up with flushOutsideRenderPassCommands and not able to early out due to command buffer is not empty. This CL simply changes ANGLE_VK_PERF_WARNING to ANGLE_PERF_WARNING to avoid getting into this situation. Assertion is also added to catch the problem at at the spot it happens. Bug: b/375661776 Change-Id: I2434af81b139c6b04d7ef1963f76035d60dfd471 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967615 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 715fe91d 2024-10-25T17:51:44 Docs: add a Cuttlefish setup section for apk side-loading Bug: b/371356548 Change-Id: I579235823cf0d66d9aa8ed86322ebc9f16730def Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967934 Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 4353d25c 2024-10-25T16:16:58 Fix ASAN bug in GLSL test Bug: chromium:375344329 Change-Id: Id275ba7877c5092bf7b55c06fcfa80614886985c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967933 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 2d6029d2 2024-10-25T08:36:17 DEPS: Add .git to libdrm URL Caused autoroller to fail with mismatched URL: ANGLE DEPS entry third_party/libdrm/src has a different URL ( https://chromium.googlesource.com/chromiumos/third_party/libdrm ) than Chromium ( https://chromium.googlesource.com/chromiumos/third_party/libdrm.git ). Bug: b/375167852 Change-Id: Ibef2c22745a776ab500f18a10d3ea94370567f57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966138 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3a265f14 2024-10-24T17:34:15 Android tests: raise if --render-test-output-dir doesn't exist For convenience when testing locally, otherwise we get an obscure error later on Bug: angleproject:370089935 Change-Id: I94f52aef90afb600baae45540e0e53f899554ee9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5960260 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov ec262a32 2024-10-22T12:34:15 Trace tests: offscreen gles1 fix framebuffer binding handling gles1 traces can call glBindFramebufferOES (ex: plague_inc) so we need to intercept that for offscreen gles1 traces. Also OES_framebuffer_object does not provide "read" bindings, only a single framebuffer binding, so we need to special-case binding handling in the gles1 case. Bug: angleproject:370508393 Change-Id: Ia17df21ed67aa8a1e0aa45fe9bb929ce42852ba2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953095 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 12584049 2024-10-21T14:04:55 Make SimplifyLoopConditions testable Add ShCompileOptions::simplifyLoopConditions, so that tests can turn it on. Later edits to simplify loop condition logic are simpler to review when the testing related edits are landed separately. Test the feature by having ESSL as the input and ESSL as the natural output, to reflect how AST changes. To make the test expectations more deterministic across code changes, change SymbolTable::kLastBuiltInId to SymbolTable::kFirstUserDefinedSymbolId. This is simpler as no code needs to know exact last built in id, so we can just ensure that the user defined symbol ids do not clash with the builtin ids. Bug: angleproject:374585769 Change-Id: Iea0efb8ac2878691d0fd5ff5cfe9a49ac754515d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5946724 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi f2315dbe 2024-10-23T13:34:39 Reland: Vulkan: Update checks for promoted extensions This relands commit c2219ef9ec03277b6f8ad18d6d1ade41ddf88ba6. Features that depend on promoted extensions are now enabled when the extensions are present, OR the version of Vulkan that they were promoted to is present. This commit checks for Vulkan 1.1 because that is the version currently supported. In the reland, the promoted extensions are not added to the list of extensions to be enabled, because the underlying driver may not have exposed them as extensions at all. Bug: angleproject:374483183 Change-Id: I98e004d3fb4ed673984859ab63d40702f877b535 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955635 Reviewed-by: Jason Macnak <natsu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 2dcc80dd 2024-10-17T13:59:23 Vulkan: allocateDescriptorSet to avoid repeated try on same pool DynamicDescriptorPool::allocateDescriptorSet has a few steps. It first tries to allocate from the same pool. Then tries to allocate from mCurrentPoolIndex and then loops all existing pools. This CL keeps the same basic logic, but avoids repeated tries on the same pool. Bug: angleproject:372268711 Change-Id: Ic3099ac8c68688fe9afe452f808be29ac9063d51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5926182 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a070b65a 2024-10-23T09:52:11 Roll Chromium from e7eae5389783 to ada7221c4738 (2147 revisions) Sync libdrm from Chromium after https://chromium-review.googlesource.com/c/chromium/src/+/5941361 https://chromium.googlesource.com/chromium/src.git/+log/e7eae5389783..ada7221c4738 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/64f08eb696..774b608643 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/3e502749c2..09ea565f4a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/48150ad7ff..546ad56e8a * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/1bbb99f4c8..9c2addd45d * third_party/android_build_tools/error_prone/cipd: hcirhm3eL0eu2NTEMxlGV_mdnvPATJ2-iQZa4SaUUfIC..n77J6kWie5cSD7pmkTyni9GjOYh2lyebCU6Eyr6GxXkC * third_party/android_build_tools/lint/cipd: nKZoTG4Pkcpxo4-FX-0UVN1jIfWLTTTZs2lCfkq2Zg0C..4LvjVBJ-tE7OOEwn-wr9aM6zYpZjl2bZ6jvbfAdCo3wC * third_party/android_build_tools/manifest_merger/cipd: BtJFh2thmUKU-OBYMaw_dRmyizFdL8AzLQ6C2pV99wUC..92AO-IC4QP7pBCfygcFNL6xN7xiJLTSWdiS0q-pq4ukC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/306f6a40ac..fdebd3d15a * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/dc40fdd237..940a36cedf * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c4d75a1519..cc924d1ab6 * third_party/fuchsia-sdk/sdk: version:24.20241014.3.1..version:25.20241022.0.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/d9456b7a63..c8eec3629a * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/41b4634414..59d05179e3 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/a661187e08..29d8a79ce5 * third_party/r8/cipd: K7fIEIzzANXaspaV4maRvvy6jqYIHGEgoC4gfJvSD_0C..zNYp2KVrHI9KDsLQCdJIFzXTvkqx3Dav9o5vR1UlMxQC * third_party/r8/d8/cipd: 3KCj5eRYCvGGYs5i90pRaeihkzsqgUGc4OkICT8AOlIC..zNYp2KVrHI9KDsLQCdJIFzXTvkqx3Dav9o5vR1UlMxQC * third_party/siso/cipd: git_revision:f10ec3c74e86f2de9b9e5ad4e2d8d3b0192ea4d2..git_revision:4237c4b45d2accad9955693251a99f0b862a0a03 * third_party/turbine/cipd: vSia3h9tzpwpP_goLj4HMdl7_FEB5iVCv9nU5ZXOfIMC..dODwcAXI7V4M-fHO0rZvcMEcW3qgfNnkoPeuwxzO4DsC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/fa9f14143c..c7678ba8af * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/f390ba146f..4b9a28a9b7 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/fcba6e59ba..53554bf3da * tools/luci-go: git_revision:7dd39503276dfa4a920102ca77a2f409f2f67655..git_revision:d212e392e327834378013806f0263ab263600db2 * tools/luci-go: git_revision:7dd39503276dfa4a920102ca77a2f409f2f67655..git_revision:d212e392e327834378013806f0263ab263600db2 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b2fd313bb8..752c7a08fc * tools/skia_goldctl/linux: PpuoaxFG9rnuDcsvax6FcKG2ZWKhNvsO7tqW6G70GXAC..CXeEV6BLm5q9KGe-brhM2NLdmEgjyMyTutd_o3ioqMwC * tools/skia_goldctl/mac_amd64: RQRQgiXDQ-q73iA9ZFw7R00gRWhOTXu3l1ns3hede0AC..XrxKbvaH3xwOzOdudnSzNTwqJhocETDPtsYNQNWHeIwC * tools/skia_goldctl/mac_arm64: MU2sytEh51XCW0Nk_qOg2tC9GumCMAjxh-xg8tB0IYkC..oZ0XmjQl2uVb7JQS4TNGfkr4O_ZGRDCZK7VuTwAdZsoC * tools/skia_goldctl/win: tEJ0WAy5v1qaOQ_jBcMUj540tXs7W8JZOXUNJKKQNPYC..fuydFP_nMX2mXcsO2vqFYHv2H1jdpvF95t8AGCcH7wIC No update to Clang. Bug: None Change-Id: Ie03b429529f91371cc7f6da3973391c640eaf6c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955606 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop a05fc2bc 2024-10-23T13:36:54 Revert "Vulkan: Update checks for promoted extensions" This reverts commit 9c1f96b8606a564b565d37208268b9b06efff03e. Reason for revert: Still fails on Cuttlefish (which uses SwiftShader) Bug: angleproject:374975259 Original change's description: > Vulkan: Update checks for promoted extensions > > Features that depend on promoted extensions are now enabled when > the extensions are present, OR the version of Vulkan that they were > promoted to is present. This commit checks for Vulkan 1.1 because > that is the version currently supported. > > Bug: angleproject:374483183 > Change-Id: I17d7956ac8a604f531e020e77c6f532e616b9dd5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5954316 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:374483183 Change-Id: I1bef03f99b044bca91950a62e4015630a7c91530 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5956483 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
angle-autoroll 70b711a8 2024-10-23T10:01:46 Roll vulkan-deps from d8276cfd24b7 to b0229dbd25db (2 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d8276cfd24b7..b0229dbd25db Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/b955ae0edb4f02074bfbf134ccc1980e83122d30..e271cfd4809ed133cadc6c3de7903e59628b3d8a https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/6dca9173407b7718e06e7461d551cdffa64be68b..4ed4b0579d24d04b32e529ab716821b68dcd3c0a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I90ce90cb94069a582ebd9e65a8cc49816a0dff5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5956474 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 9a4c7495 2024-10-15T13:05:28 Vulkan: Add feature flag to enable descriptorSet cache So that we can disable it to compare the performance difference. Bug: angleproject:372268711 Change-Id: I02da254e5d58815741080634a2dd005617aa7432 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5936135 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 31c80bbf 2024-10-17T10:56:16 Vulkan: Avoid redundant work in updateFullActiveTextures ContextVk keeps mActiveTexturesDesc, which gets updated by UpdatePreCacheActiveTextures(). This is only used for cache lookup. When there is a cache miss, we end up call updateFullActiveTextures() which recomputes DescriptorSetDesc again, which is redundant work. This CL removes mActiveTexturesDesc from ContextVk. UpdatePreCacheActiveTextures has been changed to be a DescriptorSetDescBuilder method so that it can directly update the mDesc. updateFullActiveTextures has been renamed to updateActiveTexturesForCacheMiss which avoid mDesc calculation. updateFullActiveTextures is still kept for now which will be used in next CL when cache is disabled. Bug: b/372268711 Change-Id: Ic9a0cdaa7cefca5f72b599d26d079cef14888f07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905766 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov 922147f9 2024-10-22T18:20:44 Trace tests: offscreen sRGB traces use sRGB format Without this offscreen screenshots end up darker. Currently applies to 7 traces, can be found with: % egrep 'DrawSurfaceColorSpace.*0x3089' src/tests/restricted_traces/*/*.json Bug: angleproject:370089935 Change-Id: I4a05782de2e7400fcfcb5757d18acf758749d6ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953096 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao dd54eeec 2024-10-11T13:26:46 Reland "Vulkan: Track GPU progress for individual DescriptorSet" This is a reland of commit 292102944add2ab30f4aa12a971cac456cc7726b with the fix of garbage being added back to garbage list. Original change's description: > Vulkan: Track GPU progress for individual DescriptorSet > > Right now ProgramExecutableVk keeps VkDescriptorSet object, and > DescriptorSetHelper is created when a cache entry becomes invalid. > Further, DescriptorSetCache keeps the cache of {VkDescriptorSet, > RefCountedDescriptorPoolHelper} pair. So we are having three different > type of objects at different stages of life: VkDescriptorSet, > DescriptorSetHelper, and {VkDescriptorSet, > RefCountedDescriptorPoolHelper. This CL makes DescriptorSetHelper at > creation and at cache and at garbage. With this change, you have a > reference counted DescriptorSetHelper object (i.e, DescriptorSetPointer) > during entire life cycle and is passed around between cache and program > as is. This CL is preparation for the future CL where we may disable > cache for descriptorSet. The descriptorSet will be added to garbage list > and reused constantly without go through the cache code. We need to > track the individual descriptorSet with ResourceUse so that it won't > reuse until GPU is finished. This CL is making DescriptorSetHelper a GPU > tracking object so that it will still just work when cache is disabled. > > Bug: angleproject:372268711 > Change-Id: I1cfb77cc5069b202d870388fd8809e265cdca90b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918586 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:372268711 Change-Id: Ic920f99cc78cde1e94690bdbee3b885844fa155b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5954701 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Austin Annestrand 60da450e 2024-09-20T17:56:55 CL: Implicit cmd queue submit on release From OpenCL spec (3.0): https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#_flush_and_finish clReleaseCommandQueue perform an implicit flush of the command-queue. Bug: angleproject:8639 Change-Id: I0a3b0f3c602075fd2a6e1ac0310345b3d568df64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5410931 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 45cc47af 2024-10-22T21:41:22 Revert "Vulkan: Track GPU progress for individual DescriptorSet" This reverts commit 292102944add2ab30f4aa12a971cac456cc7726b. Reason for revert: Causing bot failure in later CLs Original change's description: > Vulkan: Track GPU progress for individual DescriptorSet > > Right now ProgramExecutableVk keeps VkDescriptorSet object, and > DescriptorSetHelper is created when a cache entry becomes invalid. > Further, DescriptorSetCache keeps the cache of {VkDescriptorSet, > RefCountedDescriptorPoolHelper} pair. So we are having three different > type of objects at different stages of life: VkDescriptorSet, > DescriptorSetHelper, and {VkDescriptorSet, > RefCountedDescriptorPoolHelper. This CL makes DescriptorSetHelper at > creation and at cache and at garbage. With this change, you have a > reference counted DescriptorSetHelper object (i.e, DescriptorSetPointer) > during entire life cycle and is passed around between cache and program > as is. This CL is preparation for the future CL where we may disable > cache for descriptorSet. The descriptorSet will be added to garbage list > and reused constantly without go through the cache code. We need to > track the individual descriptorSet with ResourceUse so that it won't > reuse until GPU is finished. This CL is making DescriptorSetHelper a GPU > tracking object so that it will still just work when cache is disabled. > > Bug: angleproject:372268711 > Change-Id: I1cfb77cc5069b202d870388fd8809e265cdca90b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918586 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:372268711 Change-Id: I4d3c34058d100112a098144276b52c0faf8d593a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5955529 Auto-Submit: Charlie Lao <cclao@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Andrew Sumsion 9c1f96b8 2024-10-22T12:58:27 Vulkan: Update checks for promoted extensions Features that depend on promoted extensions are now enabled when the extensions are present, OR the version of Vulkan that they were promoted to is present. This commit checks for Vulkan 1.1 because that is the version currently supported. Bug: angleproject:374483183 Change-Id: I17d7956ac8a604f531e020e77c6f532e616b9dd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5954316 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rafay Khurram 99ba07d3 2024-03-26T00:58:57 CL/Vulkan: Implement createImage Enabling functionality of: - clCreateImage Tests-Passing: OCLCTS.test_api get_image<1d|2d|3d>_info Bug: angleproject:42266936 Signed-off-by: Rafay Khurram <r.khurram@samsung.com> Change-Id: I0281f092bff13cdd81b87d596fdd15b33dda7e46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5796527 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev d774f75c 2024-10-21T00:00:00 Fix Python warning in overlay fonts generator Fixed: angleproject:358565474 Change-Id: Ide48691fa4d52d063c5c80fc7cdbc16c99a97ed0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953793 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 29210294 2024-10-11T13:26:46 Vulkan: Track GPU progress for individual DescriptorSet Right now ProgramExecutableVk keeps VkDescriptorSet object, and DescriptorSetHelper is created when a cache entry becomes invalid. Further, DescriptorSetCache keeps the cache of {VkDescriptorSet, RefCountedDescriptorPoolHelper} pair. So we are having three different type of objects at different stages of life: VkDescriptorSet, DescriptorSetHelper, and {VkDescriptorSet, RefCountedDescriptorPoolHelper. This CL makes DescriptorSetHelper at creation and at cache and at garbage. With this change, you have a reference counted DescriptorSetHelper object (i.e, DescriptorSetPointer) during entire life cycle and is passed around between cache and program as is. This CL is preparation for the future CL where we may disable cache for descriptorSet. The descriptorSet will be added to garbage list and reused constantly without go through the cache code. We need to track the individual descriptorSet with ResourceUse so that it won't reuse until GPU is finished. This CL is making DescriptorSetHelper a GPU tracking object so that it will still just work when cache is disabled. Bug: angleproject:372268711 Change-Id: I1cfb77cc5069b202d870388fd8809e265cdca90b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918586 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 47c66901 2024-10-21T12:47:22 Vulkan: Set gl_Layer to 0 if the framebuffer is not layered Bug: angleproject:372390039 Change-Id: I29067c9488e06f6dd2e90f207fecb843267fb77c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949263 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop e869b426 2024-10-22T10:04:06 Revert "Removed checks for promoted extensions" This reverts commit c2219ef9ec03277b6f8ad18d6d1ade41ddf88ba6. Reason for revert: Possible cause of boot failures on cuttlefish Bug: angleproject:374975259 Original change's description: > Removed checks for promoted extensions > > Removed checks for Vulkan extensions that have been promoted into Vulkan > 1.1, which is already the minimum required version for ANGLE. The > dependent features now work when the extensions are missing because the > extensions are no longer necessary. > > Bug: angleproject:374483183 > Change-Id: Iad92b33a8e724eaa8f4bfcbe406f5b6b8536d6d8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5944678 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: angleproject:374483183 Change-Id: I92eb6681c6d1b8f7e2d0832bb4e1cbf4597bd1c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5952279 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Lina Versace f4e776a8 2024-10-14T22:41:34 GLES1: Fix eye distance for fog Distance should be non-negative, so use abs(). From the spec, OpenGL ES 1.1 ยง3.8. Note the 'abs' symbols. An implementation may choose to approximate the eye-coordinate distance from the eye to each fragment center by |z_{e}|. Bug: b/369665616 Test: angle_trace_tests --gtest_filter="*minetest*" Change-Id: Ic6c162ba2469600fa6a8c8d61e5bccf5c0cb12d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5933566 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Lina Versace <linyaa@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Lina Versace <linyaa@google.com>
angle-autoroll 04c0ef46 2024-10-22T10:01:31 Roll SwiftShader from 0afe6a306dd2 to 145112eea713 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/0afe6a306dd2..145112eea713 2024-10-21 swiftshader.regress@gmail.com Regres: Update test lists @ 0afe6a30 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I84efb88927111550f11636f6de33706fc93ac2b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5952689 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll dad24ded 2024-10-22T10:01:03 Roll vulkan-deps from 1ea770ceed23 to d8276cfd24b7 (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/1ea770ceed23..d8276cfd24b7 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0d26b9d6d64f30105755b60fc9747065617998b4..2fed4fc07c9190df5369db787a679096c55474e5 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/ba37b3b5131832ace24becf40e65bb0857944775..895bb9ffecc2c48646b50f77aeb85f5b70b9bb37 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/edb909e193061350f0274345463e7b9747e109ba..6dca9173407b7718e06e7461d551cdffa64be68b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Icb732099bd137cd8772250dde7cc7c9f76ae6aed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5952613 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 4bdcdf0d 2024-10-16T11:44:49 Vulkan: Switch RefCountedDescriptorPoolBinding to use SharedPtr This mostly a clean up. RefCountedDescriptorPoolBinding is replaced with DescriptorPoolPointer, which is defined as SharedPtr<DescriptorPoolHelper>. It has more intuitive semantics to use. Bug: angleproject:372268711 Change-Id: I0397111b5228e896c1d226e00930851319d955a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938947 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao c52e8493 2024-10-11T14:21:19 Vulkan: Switch DescriptorPoolPointer to use SharedPtr To make the reference counting easier to maintain, SharedPtr class is added to automatically tracking the reference counting and object creation/destruction. Right now we have BindingPointer class doing similar things except it does not automatically manage the object create/destroy, which makes it less robust as well as redundant code to manage object life cycle. The other problem with BindingPointer is that it does not work with normal assign/copy operator which made it hard to read and use. SharedPtr uses exact same API semantics as std::shared_ptr, which makes the reference counting very easy to use. The main difference of SharedPtr and std::shared_ptr is that it does not use any atomic or lock since it assumes user only uses it under thread safe environment, which ANGLE's backend is. This CL also changes mDescriptorPools to mDynamicDescriptorPools to make it clear that it is dynamic descriptor pool not the descriptor pool. This is also preparation CL for the next CL where we will use SharedPtr to manage DescriptorSetHelper life cycle, which otherwise a bit complicated to manually manage. Bug: angleproject:372268711 Change-Id: I1033d9bf259bbc075a9b374d8a28e1f67d889873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5926183 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi bbe68963 2024-10-21T15:11:27 Vulkan: Fix `precise` vs `mat4(...)[index]` Bug: angleproject:374801303 Change-Id: I45550abe406aaaf4d2c5eb5d7d694b2b30ab8e4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949528 Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 5c2a2fd5 2024-10-21T16:00:25 Vulkan: Fix `vec4(...).zxwy[index]` The code was actually correct, but included an unnecessary assertion. The code incorrectly assumed `.zxwy[index]` is pre-processed with a lookup table and turned into `[index']`, but it wasn't if the LHS is a constructor. The change just removes the assertion because it was correctly handling that already. Bug: angleproject:40096715 Change-Id: Ib1365f95a255ce3654831af55429361d35c026c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949527 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi ef55ca0a 2024-10-17T14:44:22 Update copy validation regarding ext textures * Updated the validation functions for the following function to accept TEXTURE_EXTERNAL_OES: glCopyImageSubDataEXT() * Updated unit test CopyTextureTestES3.CopyImageSubDataToEGLImage * Using TEXTURE_EXTERNAL_OES as target for glFramebufferTexture2D() requires EXT_YUV_target. Therefore, the texture related to it is used instead. Bug: angleproject:361372990 Change-Id: I905d4cf89522ae3158516b42b15705d1044c6e97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5940404 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi a19f0947 2024-10-17T22:42:30 Vulkan: Cache depth- and stencil-only views Existing depth/stencil blit and resolve paths created temporary depth- and stencil-only views. For GL_ARM_shader_framebuffer_fetch_depth_stencil, such views are needed as well. In preparation for that extension, this change adds depth- and stencil-only views to ImageViewHelper and allows them to be retrieved through RenderTargetVk. The blit and resolve paths are consequently simplfied as a side-effect. Bug: angleproject:352364582 Change-Id: Ia822efb44ca7c82f63afce904eb19dd1bed02ff5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938149 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Andrew Sumsion c2219ef9 2024-10-20T04:49:44 Removed checks for promoted extensions Removed checks for Vulkan extensions that have been promoted into Vulkan 1.1, which is already the minimum required version for ANGLE. The dependent features now work when the extensions are missing because the extensions are no longer necessary. Bug: angleproject:374483183 Change-Id: Iad92b33a8e724eaa8f4bfcbe406f5b6b8536d6d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5944678 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll c42ecd73 2024-10-21T10:01:14 Roll vulkan-deps from b48b5be748a7 to 1ea770ceed23 (16 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/b48b5be748a7..1ea770ceed23 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2bfc7cadbd52a90833416633a77ce1941086ea79..0d26b9d6d64f30105755b60fc9747065617998b4 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/b02737a0783ae7e40c728f9b346aa919c241f270..a251560a3f1ea56fb5b1d32667d2df6e83e06eda https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/d91597a82f881d473887b560a03a7edf2720b72c..b955ae0edb4f02074bfbf134ccc1980e83122d30 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/326e17b35f028cec8c597926d4da3178760d6a93..2d2d46f38fb2e8c0362668ca3605f81d71236f68 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/56eca742a15f8a692306b66b23484682ee6e1806..2030a5b09f5656d1e9b8c9c4ab3ebe98024da150 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/bfd85956e1b4c1c79842ce857fc7fb15adb8a573..b541be2eae6f22772015dc76d215c723693ae028 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/44e69fc6823a1f11bf0dca9187287b618e30c842..edb909e193061350f0274345463e7b9747e109ba If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I2b873865717511bf9b30cefc7ebc43c101c91190 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5946146 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>