Log

Author Commit Date CI Message
angle-autoroll 0852ca36 2021-09-02T10:01:56 Roll SwiftShader from b75ca3758a80 to c82c59307208 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/b75ca3758a80..c82c59307208 2021-09-01 srisser@google.com Remove erroneous ASSERT for format lists 2021-09-01 srisser@google.com Minimize usage of global constructors in Reactor 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I6003392e31d7e7f105b67a40fc6dde2800b5ff29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139469 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f3608472 2021-09-02T08:52:29 Roll Chromium from a5102f13fe96 to b5237d627f0d (446 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a5102f13fe96..b5237d627f0d 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/8885581657..b69c335c66 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/c1c757c6a4..7ea3a871db * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/be47d0e66a..9f0517e240 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/01d86b5206..51de17f337 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/fd8a9510c5..789af048b3 * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/e98c753917..6e5dc9acd2 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d9a9ebbe89 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9c1a533152..789dfc223b * tools/luci-go: git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2..git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31 * tools/luci-go: git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2..git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31 * tools/luci-go: git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2..git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/144fef581b..8a4182f2f3 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4ba9d5a7e5..e209c2d667 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I7e17de146abdb2ff148e6f61f3df12ce2876001b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139491 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gregg Tavares e02753fc 2021-08-31T21:09:45 Convert constructors to function calls where needed. MSL does not do as many conversions between types and has more strict constructors than GLSL so convert to function calls where necessary. Fixes: GLSLTest_ES3.AmbiguousConstructorCall2x2/ES3_Metal GLSLTest_ES3.AmbiguousConstructorCall2x3/ES3_Metal GLSLTest_ES3.ConstructMatrixFromNonFloat/ES3_Metal GLSLTest_ES3.ConstructNonFloatVectorFromMatrix/ES3_Metal GLSLTest_ES3.ScalarConstructor/ES3_Metal UniformBufferTest.Std140UniformBlockWithRowMajorQualifier/ES3_Metal UniformBufferTest.Std140UniformBlockWithPerMemberRowMajorQualifier/ES3_Metal UniformBufferTest.Std140UniformBlockWithPerMemberColumnMajorQualifier/ES3_Metal UniformBufferTest.Std140UniformBlockWithRowMajorQualifierOnStruct/ES3_Metal SimpleUniformTest.FloatMatrix2UniformStateQuery/ES2_Metal SimpleUniformTest.FloatMatrix2UniformStateQuery/ES3_Metal SimpleUniformTest.FloatMatrix3UniformStateQuery/ES2_Metal SimpleUniformTest.FloatMatrix3UniformStateQuery/ES3_Metal SimpleUniformTest.ArrayOfMat3UniformStateQuery/ES2_Metal SimpleUniformTest.ArrayOfMat3UniformStateQuery/ES3_Metal UniformTestES3.MatrixArrayUniformStateQuery/ES3_Metal Bug: angleproject:6306 Change-Id: Iea8a9a261f94f121f482c2ea9678192ca056570c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3134963 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Gert Wollny 606de9b7 2021-09-01T12:22:08 Capture/Replay: Handle glInvalidateSubFramebuffer Enable tests that are fixed by this Bug: angleproject:6180 Change-Id: I1efa6c34babf729a22ff42fa0f2d745e75e3521f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3135316 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
angle-autoroll 12beec30 2021-09-02T02:50:30 Roll vulkan-deps from d54279d797f8 to 84f860ef94ee (1 revision) https://chromium.googlesource.com/vulkan-deps.git/+log/d54279d797f8..84f860ef94ee Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/131472cb86..04bdaa2c45 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 geofflang@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com,syoussefi@google.com Change-Id: I8f7d406512d70e0d7290e02d98d2a1dbe0558d6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139056 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi df957576 2021-08-31T23:02:51 Avoid redundant blend state dirty bit setting This change no-ops a number of blend-related state setting functions when the state doesn't actually change given the parameters. Bug: angleproject:6298 Change-Id: I156e20685089aa71bd64eae560153e5def891d63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133823 Reviewed-by: Sunny Sun <sunny.sun@arm.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 9d0e2851 2021-09-01T00:42:58 Fix SeparateDeclarations vs struct specifiers Bug: chromium:1237696 Change-Id: I3b00f3797800e814ca83226a8e4f25b2a43cc641 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133824 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill fa53afa4 2021-09-01T08:52:13 Capture/Replay: Add uniforms to program serialization. Previously we weren't serializing the uniform data. This meant that buggy uniform capture wouldn't show up as diffs in the serialization. Verified that this new uniform capture caught a bug when retracing PUBG mobile, which uses indexed array uniform locations. Bug: angleproject:5133 Change-Id: I2a9f6ca45f1247b1a81337e47b7fb7a3d3ab4953 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136093 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b8c50f39 2021-08-25T09:05:03 Support syncing traces to experimental CIPD prefix. This lets us test a retrace without first committing it to the immutable "angle" prefix. Bug: angleproject:5133 Change-Id: Ia52ccffe69faf099d6fc92eaf392610eefa549f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118270 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Aditya Kushwah f015ae81 2021-08-02T12:47:32 Implement onLabelUpdate method. This change will implement the onLabelUpdate method by calling from every TextureStorage object. Instead of using setDebugName, introduced two new functions, setInternalName and setKHRDebugLabel, which will set the internal name and KHR label respectively that will further be sent to D3D string. Bug: chromium:1164111 Change-Id: I401ca9f6e8a2099a8807f0d7f321efe74269f9f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067921 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Jamie Madill a544ab09 2021-09-01T09:46:17 Style cleanups in JsonSerializer. Refactoring change only. Bug: angleproject:5133 Change-Id: Iae2e81218dceb8f7fbfc25e9a02aa1ce8b59a09b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136095 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 047e9833 2021-08-30T10:00:51 Traces: Move skia gold Python scripts. Moving this folder up one level allows us to enforce that every subdirectory in the restricted_traces folder is a trace folder. This makes it easier to batch delete or move traces. Bug: angleproject:5133 Change-Id: I5af24ce6c233f50dea2e6ffcaef6d489b03914c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3130441 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny 58f8c824 2021-09-01T12:36:31 Capture/Replay: Update expectation bugs, remove passing test Bug: angleproject:6334 Bug: angleproject:6180 Change-Id: I7ba4e7d19e394b43e59abbd7d5a89752b6098c10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136573 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
angle-autoroll 3f6c0cf9 2021-09-01T10:01:28 Roll vulkan-deps from 562b4d73eae2 to d54279d797f8 (4 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/562b4d73eae2..d54279d797f8 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/0e2880ab99..d6fe75df10 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/702e6af380..bd3a271ce3 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d6a5a7ae31..140738f852 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/6c444b2c9f..cf9d49e461 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I572fa17001764b28d0cae6c9f7ccd260afe83fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3135239 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fbc9d893 2021-09-01T10:01:56 Roll SwiftShader from a6ca3d4c0ccd to b75ca3758a80 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/a6ca3d4c0ccd..b75ca3758a80 2021-08-31 jmadill@chromium.org Increase maxComputeSharedMemorySize. 2021-08-31 tikuta@google.com update angle revision 2021-08-30 srisser@google.com Turn BC6 constructors into constexpr 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I1f62fcfd40eda7beb0081b2ad475d72e29b7831b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3135218 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 8bb1df7d 2021-08-30T17:17:44 Capture/Replay: Clean up tests that pass and add new failures Bug: angleproject:6331 Bug: angleproject:6333 Bug: angleproject:6334 Bug: angleproject:6345 Change-Id: I9f6df69f50f6c8c21eaad09e476aac956c78517a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129361 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll f8d51d18 2021-09-01T07:13:28 Roll Chromium from abe7c480d95d to a5102f13fe96 (417 revisions) https://chromium.googlesource.com/chromium/src.git/+log/abe7c480d95d..a5102f13fe96 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/36b1f71274..8885581657 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/ac4ea2d086..c1c757c6a4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e8a7cf1d99..01d86b5206 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..83a41f1a90 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d4534cc15d..9c1a533152 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2785bed68c..4ba9d5a7e5 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I897b1e68b2f6ae6aee4b9f2bee732d3c7ef81be4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3134972 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 8ce42fd3 2021-08-24T17:33:05 Vulkan: Remove mFormat from ImageHelper The only thing we need from ImageHelper::mFormat is to get intendedImageFormat. This CL simplifies the interface by simply pass in intendedImageFormat into initExternal so that ImageHelper class will not need to reference to vk::Format at all. Bug: b/196456356 Change-Id: I5fcb0d7226cae44dc865a7cfb0149d74e5756f11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111451 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 11fd7a14 2021-08-18T13:46:30 Vulkan: Pass actualFormatID directly into ImageHelper::initExternal Since vk::Format alone won't tell us what the actual format is. This CL let caller pass actualFormatID directly into ImageHelper::initExternal() call and let ImageHelper object keeps record of mActualFormatID without need to refer to vk::Format object. Bug: b/196456356 Change-Id: I3c47caae7f946805a32f57519348528f8d47cf4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104513 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi f3aea744 2021-08-25T22:09:58 Vulkan: SPIR-V Gen: Fix precision of constructors According to the spec, constructors don't have a precision (and thus their precision is derived from the operands they are used in. Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: I557386764abf5493fbe59803dc8e260312c04b48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119352 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 6eeab192 2021-08-27T16:26:25 Vulkan: Don't defer clear for read render target We shouldn't collect deferred clears for the read render target because they get applied to the draw render target. This CL flushes stages updates to the read render target only if it's not the same as the draw render target. This can happen when the read render target is bound to another surface. Bug: b/192327017 Change-Id: I7c9e804f4eff10728aed7aeeaf41ef3869c9bdbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3125462 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi fbdd0516 2021-08-27T00:04:11 Vulkan: SPIR-V Gen: Fix precision of imageLoad According to the spec, imageLoad should return highp. However, glslang produces the same precision as the image (which makes more sense). This seems to be a spec bug per the discussion in this issue: https://gitlab.khronos.org/opengl/GLSL/-/issues/57 This change aligns ANGLE with glslang w.r.t to the precision of imageLoad. Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: Ia0ce493a0deab21810458da6b48fdf51dfbd41a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122317 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade 10846073 2021-08-30T14:41:16 Allow image uniforms to be used in separable programs This change updates mActiveImagesMask in ProgramExecutable for separable programs. Previously image uniforms would only work in the first shader stage. Bug: angleproject:4512 Tests: ProgramPipelineTest31.ImageUniforms Change-Id: Ib35bed94bb8fac883fd67f8bfa052186926d0ce4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3131582 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
YuxinHu af57475e 2021-08-27T00:33:39 Improve Error Messaging Improving error messaging for egl validations. Bug: b/186543601 Change-Id: Iec9a8f14998bc105785eca990f6512b72385191a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124071 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Geoff Lang 4b5a774e 2020-04-03T14:56:36 GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY Bug: angleproject:3020 Change-Id: Iff460a1012d06e1c5feff84d91117de87e7c870a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123167 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 3e9fda98 2021-08-31T11:18:28 Roll vulkan-deps from 4c030a49cdb9 to 562b4d73eae2 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/4c030a49cdb9..562b4d73eae2 Changed dependencies: * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/449bc986ba..6cae8216a6 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b8fce5f9e6..702e6af380 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/39dd126e16..d6a5a7ae31 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/5805106266..6c444b2c9f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a9124f2166..131472cb86 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I17e66ab81ce86cf2624a74b78f07358ba9fd764b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3132725 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill a8f1a916 2021-08-26T17:53:56 GetTexImage: Remove syncState calls & add early error exit. Instead of calling syncState to force the Vulkan staged textures to flush, we ensure the Texture is marked initialized by sending a message up to the Texture when there are no more pending updates. Also adds handling for textures with extra mips. Instead of crashing, we now return an error with a warning. Also adds a test with a texture that has extra (outside the mip chain) defined levels. Also adds a test and handling for empty texture levels. This should lead to more consistent behaviour in the trace test serialization logic, where often the prior logic would behave differently depending on if GetImage was called from MEC or from the serialization code. Also updates the generateMipmap logic to syncState after calling initializeContents so the updates happen in the correct order on Vulkan. Bug: angleproject:5133 Bug: angleproject:6336 Change-Id: Iab1c2a22b9f9435e7f3c0f870c86bbed3460482e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123168 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 959b80b4 2021-08-31T08:17:29 Roll Chromium from ca199aff3bc7 to abe7c480d95d (1237 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ca199aff3bc7..abe7c480d95d 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/ac9a0c826b..36b1f71274 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/66ed2345b7..ac4ea2d086 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/996cd744d6..be47d0e66a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/91dcb9cd46..e8a7cf1d99 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/33892fe47e..fd8a9510c5 * third_party/android_build_tools/aapt2: PHj2SHpCe6Sr9lcIR9W1onhKN4FIIPL2Mho5aAQG-QIC..O9eXFyC5ZkcYvDfHRLKPO1g1Xwf7M33wT3cuJtyfc0sC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/dd8bbe8204..d6b0ef3291 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..af4c715a74 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0daa723a77..d4534cc15d * third_party/r8: version:2@3.1.16..dvPOJ_8iAF6OHGO79d86VbJjyKj7Xn0SFxlVVC9LHdcC * third_party/turbine: Xj6IyKuFSYmVNG3QQ4Co4FGcczKmWK3gykG73WjMciEC..Om6yIEXgJxuqghErK29h9RcMH6VaymMbxwScwXmcN6EC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/563140dd9c..77c132322f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/5ab37cd7bd..403247ef95 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/629df05b75..144fef581b * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/cf7ada42dc..ea8b20f92a * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/dec67cd252..2785bed68c Clang version changed llvmorg-14-init-1380-gee659383:llvmorg-14-init-2175-g945cde8b Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/5ab37cd7bdc39c0cbe420c8e048c58d254eebbcd..403247ef95e2b17530ab2a46980dac16245b7852/scripts/update.py Bug: angleproject:6343 Tbr: geofflang@google.com Change-Id: I3d0a7533a0d900c4c0eaab2f419b11591425463a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3132054 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 5090cb22 2021-08-30T22:12:59 Tests: Add Words With Friends 2 trace Test: angle_perftests --gtest_filter="*words_with_friends_2*" Tbr: jmadill@google.com, timvp@google.com Bug: b/198232783 Bug: angleproject:6348 Change-Id: Iacb62540b8680574dc34b7fa299948dd56c76074 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3132340 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 27517801 2021-08-26T15:42:05 Capture/Replay: Set texture buffer offset alignment Set a texture buffer offset alignment value (256) that is divisible by most device's actual GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT. This is the highest and most common recorded value on gpuinfo.org. It is also listed in the spec as the minimum value. Specifically, this allows running the trace on SwiftShader. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: Ied58000221465b8bdafb189a54d0418e58996ec3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123956 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 3a9df22f 2021-08-29T21:05:04 Tests: Add World of Kings trace Test: angle_perftests --gtest_filter="*world_of_kings*" Tbr: timvp@google.com, jmadill@chromium.org Bug: b/198101940 Bug: angleproject:6339 Change-Id: Id19ebe19d6a3dee3bc7c1c59801e7b9a4dc4fdb2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3127943 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Ian Elliott 0d5b5970 2021-08-30T11:42:55 Split OWNERS by domain Android has a policy that only @google.com and @android.com email addresses can be in OWNERS files. The upstream ANGLE OWNERS files also have @chromium.org addresses. Currently, all of these email addresses are sorted alphabetically, which makes auto-roll/merge into Android fail to merge. We will start splitting the email addresses by domain. Bug: b/198165924 Change-Id: Ibb3addd7dbf39b549dfe68dbd88b19a85d0f8666 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3130346 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Cody Northrop ef96bde8 2021-08-28T23:59:33 Vulkan: Fix VVL error regarding geometryStreams Addresses new validation error: [ VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-geometryStreams-02324 ] Validation Error: [ VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-geometryStreams-02324 ] Object 0: handle = 0xb400007e8176af60, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf1034461 | pCreateInfos[0].pRasterizationState pNext chain includes VkPipelineRasterizationStateStreamCreateInfoEXT, but geometryStreams feature is not enabled. The Vulkan spec states: VkPhysicalDeviceTransformFeedbackFeaturesEXT::geometryStreams must be enabled (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-geometryStreams-02324) The validation was added in this commit: https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/bdaec8454a27e65dd81f46bbfad1889b7a3e34f6 Test: World of Kings MEC Bug: b/198101940 Bug: angleproject:6339 Change-Id: I3cfacc20d231d246500e83451c9ec6b74d9372f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3127942 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao ab1a5dbe 2021-08-17T15:42:43 Vulkan: Use angle::Format for ImageViewHelper class ImageViewHelper class only needs actualFormatID. Instead of passing vk::Format to ImageViewHelper, this CL passes actualImageFormatID to the ImageViewHelper API to further reduce the exposure to vk::Format where getting actualImageFormatID needs extra information (renderable or not) Bug: b/196456356 Change-Id: I26afc1f37980a3b2419a66510cf720d79ad0a111 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3101928 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 5dd1c042 2021-08-30T12:11:26 Roll third_party/vulkan_memory_allocator Bug: angleproject:6343 Change-Id: I4a6fca0dee39dc33c93b759bbc63dbd55843d4a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3130380 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao e98539f0 2021-08-17T14:42:26 Vulkan: Add ImageHelper::getIntendedFormatID() This adds helper API to return intendedFormat directly from ImageHelper object instead of vk::Format, to make API symmetrical. It is also necessary. It is also needed in some places where we no longer have access to vk::Format any more due to refactoring. Bug: b/196456356 Change-Id: Ie0502793623138ded28c3f01320c57ffea2d93df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3101925 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Gert Wollny ec50e22b 2021-08-27T10:17:12 Capture/Replay: Show some expectation when skipped tests are run These tests were marked "PASS or new tests", when failing which is misleading. Bug: angleproject:6282 Change-Id: I2adf4a29690f8442682e65e5326d173e4e157842 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129142 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Jamie Madill a29b07d8 2021-08-26T13:11:29 InitializeVariables: Init shader IO block outputs. These variables were not handled in the pass because we had no prior test coverage of them. Some frame capture testing uncovered this gap. The variables must be initialized field-by-field, since there seems to be no defined way to initialize an entire block at once. Bug: angleproject:6326 Change-Id: Ib7aecfb76b97b4236d786b44b3dfb706c573e221 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123228 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 4811896c 2021-08-30T10:01:28 Roll vulkan-deps from 3e5496ec4fdf to 4c030a49cdb9 (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/3e5496ec4fdf..4c030a49cdb9 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ee30773650..b8fce5f9e6 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/c5b7a2fa18..9e62d02763 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0a5b930506..a9124f2166 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I9a19da7a0e1a133cbccc08bd71aff3c928a2dbd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3128787 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny bc89eda7 2021-08-26T21:30:41 Capture/Replay: honor base level when serializing textures Bug: angleproject:6331 Change-Id: Ibd1eba995b0aec02854da5c3c16196c6d079e94d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123407 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 58bb11ca 2021-04-16T12:28:50 Capture/Replay: Multi-Context Support Add support for capturing and replaying multiple contexts. 1.) Create and initialize the Contexts in the share group during SetupReplay(). 2.) Track the Context the command stream is for, and if the Context ID changes, inject an eglMakeCurrent() call to switch to the new Context. 3.) Intercept eglCreateContext() and eglMakeCurrent() to route to either EGLWindow or WGLWindow, depending on the current platform. Specifically, this enables capturing and replaying Asphalt 9. Bug: angleproject:5878 Change-Id: I5bc9b7ece5388ce405ba3f9e9dc3967e78662000 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830145 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gregg Tavares 4c56534f 2021-08-25T15:56:59 Include globals when defering global initializers Fixes these tests: GLSLTest.StructWithInitializer/ES2_Metal GLSLTest.StructWithInitializer/ES3_Metal GLSLTest.StructWithUniformInitializer/ES2_Metal GLSLTest.StructWithUniformInitializer/ES3_Metal GLSLTest_ES3.SequenceOperatorEvaluationOrderDynamicVectorIndexingInLValue/ES3_Metal WebGL2GLSLTest.InitUninitializedLocals/ES3_Metal Bug: angleproject:5505 Change-Id: Ib8258898c60b9e9ffbb71f0024f8189dc6cf4d5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3120093 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev 82423ad1 2021-08-27T11:48:22 Cleanup ValidateES2TexImageParametersBase; update tests Non-compressed TexImage entry points consistently reject compressed format enums. They no longer have a special case for four S3TC formats. Expanded coverage of CompressedTextureFormatsTest. Bug: angleproject:5731, angleproject:6280 Change-Id: I058a1e745a0d5257bd5e0333d71b238b0a2e7b96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123414 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kenneth Russell c90a6dca 2021-08-26T21:54:54 Deduplicate autoroller docs. Leave them centralized in ANGLEWrangling.md, link to them from BranchingAndRolling.md, and add the Chromium-into-ANGLE autoroller. Bug: angleproject:6323 Change-Id: I913954b92dbe3545320e662de122daf26140d425 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124341 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Jamie Madill 9a3f60f2 2021-08-26T10:30:23 Capture/Replay: Allow serializing cube map array data. This ASSERT was firing which was preventing several traces from re-tracing. Bug: angleproject:5133 Change-Id: I86d956bf0c95210bef5572a30fb786555d14522f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123226 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill d72cad5e 2021-08-26T13:40:49 Capture/Replay: Serialize buffer texture buffer IDs. Instead of trying to serialize buffer texture contents, we can serialize the ID of the bound buffer. The buffer contents are already serialized in the buffer manager iteration. This prevents an ASSERT failure in PUBG. Bug: angleproject:6328 Change-Id: I5427df86c7146d27cf10e316db0b1436b6774747 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123229 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9c271645 2021-08-27T13:07:06 Vulkan: SPIR-V Gen: Fix gl_PerVertex without clip/cull support When the clip/cull distance extension is not supported, the gl_ClipDistances and gl_CullDistances arrays were given a size of 0, which made them translate as OpRuntimeArray. This change makes sure that these arrays always have a non-zero size. Bug: angleproject:4889 Change-Id: I8d2ffe3a7c1df9316e91eebc2aa53bdc2c87ccc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123354 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 77151a6c 2021-08-26T19:32:35 Cleanup ValidateES2CopyTexImageParameters; add test Compressed and depth formats are rejected earlier with ValidateCopyTexImageParametersBase. Added a new Texture2DTest.CopyAfterCompressed test to ensure that validation code for non-subImage case does not fail new assertions. Bug: angleproject:5731, chromium:1216276 Change-Id: I11d2ac3389418731b6cc6e2bd5c9655b1590b02d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122156 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jamie Madill caef7c53 2021-08-26T18:24:18 infra: Disable perf tests on Win/Intel. These were killing the bots for some reason. Disable them until we can find the root cause. Bug: angleproject:6090 Bug: angleproject:6332 Change-Id: I48b633118f098570e371ea81d9e512e35ab04cd6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123169 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill edc8e852 2021-08-26T09:58:08 Capture/Replay: Skip one additional ES3 test. RenderbufferMultisampleTest.IntegerInternalformat/ES3_Vulkan_SwiftShader Also sorts the list of crashed tests alphabetically. Bug: angleproject:6180 Change-Id: If329c4a47188a8ca6ffd9bffaba588439344b06d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122445 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 25d61ae5 2021-08-27T10:01:56 Roll SwiftShader from 518056981519 to a6ca3d4c0ccd (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/518056981519..a6ca3d4c0ccd 2021-08-26 capn@google.com Implement VK_EXT_load_store_op_none 2021-08-26 capn@google.com Refactor determining the aspects to clear 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ianelliott@google.com Change-Id: If941b2d8e3f7ac67cbaf258ba2fb0a6839d9850a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124006 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8d45b13f 2021-08-27T10:01:28 Roll vulkan-deps from 5e51e6f8ccd4 to 3e5496ec4fdf (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/5e51e6f8ccd4..3e5496ec4fdf Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2a5cc342fb..ee30773650 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/90fd66f60f..39dd126e16 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b8705a0145..0a5b930506 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ianelliott@google.com Change-Id: I1bf06b9c05c83767b4ed1aac2d658464e1e9e4c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124078 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Lubosz Sarnecki f162e4bc 2021-08-26T14:44:03 SRGBFramebufferTest: Add test that used to fail on Vulkan. This commit adds a test that reproduces a Vulkan validation error found in several suites of the Chromium CI. The error was caused by enabling the VK_KHR_image_format_list extension on SwiftShader and thus exposing the GL_EXT_sRGB_write_control GL extension. Commit bd19620fcd599947a2fada3e02061d02d690d9eb reverted the change and disabled the extension for all platforms besides AMD and ARM. The issue was fixed in angle by either of the following commits: cf090996c7850074d76ce8408af4661a3c91e5e2 e70a1444af85c77a39e82a69569f723098c8d37c To reproduce the Vulkan validation error, both commits need to be reverted. Bug: angleproject:5281 Bug: angleproject:6244 Change-Id: Idd7d8d955004506a5f4b1b822ad568c727e19f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122645 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 41f7dedd 2021-08-05T16:48:17 Reland "VulkanExternalHelper: Use VK_KHR_image_format_list extension." This reverts commit bd19620fcd599947a2fada3e02061d02d690d9eb. Bug: angleproject:5281, chromium:1233561 Change-Id: I0dc2a142dc7de83c0bdbf2256e9fb372e56d177a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122124 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny b3d062da 2021-08-26T20:41:42 Capture/Replay: Handle glCopyTexture3DANGLE Bug: angleproject:6331 Change-Id: I704a34587600e612dd1d8d16b87225a7c66d4e82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122164 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 78e0ae81 2021-08-25T18:59:15 Capture/Replay: Add specific bug IDs for crashing tests Bug: angleproject:6313 Bug: angleproject:6314 Bug: angleproject:6315 Bug: angleproject:6324 Bug: angleproject:6325 Bug: angleproject:6329 Bug: angleproject:6331 Change-Id: I881e19f9501f4b6b1a80df120b5772dbc24044b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118549 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 58930a73 2021-08-07T22:05:27 Translator: Facilitate integration in FireFox; Part 2 Support for desktop GLSL builtins is now controlled by a gn arg, instead of being tied to is_android. Bug: angleproject:6188 Change-Id: Ia152d31bd49ca6de2b29873ee4998c1598904382 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076285 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 5f092f8b 2021-08-17T17:15:59 FrameCapture: Support glProgramBinary This CL allows applications to use glProgramBinary. Normally this is a problem because we need program source in order to recreate shaders in use during mid-execution capture. Use of program binaries means an app can start and render frames without having submitted source for that run. To support this, we will embed program source into ANGLE's binary format. This will allow us to extract it when the app submits the binary. We will only embed this when capture is enabled to prevent increased binary size in the common case. Since this changes ANGLE's binary format, apps will recreate binaries when capture is enabled. Additionally, we can't allow captures to have glProgramBinary calls in the middle of captured frame ranges, so intercept those calls and replace with a full linking sequence. Changes include: - Add new frontend feauture enableProgramBinaryForCapture that allows OES_get_program_binary during capture. - Update ANGLE's binary format to include program source when capture is enabled. - Update maybeOverrideEntryPoint to handle multiple new calls instead of a single call. - Override calls to glProgramBinary that occur mid-capture to instead emit a full GenerateLinkedProgram sequence. - Add checks for created/attached shaders during FrameCapture since they won't be available for programs populated by the app using glProgramBinary. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: Ib2a0e9e434d3ee0f384d128c48b2a7d4834f5b0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105390 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao cf24931a 2021-08-17T10:48:23 Vulkan: Add ImageHelper::getActualFormat() This is preparation for future CLs. In the future vk::Format may not tell you what actual format is. This CL adds a new method of ImageHelper::getActualFormatID() and ImageHelper::getActualFormat() so that we can use these two APIs and avoid using vk::Format, thus reduce reliance on vk::Format. Bug: b/196456356 Change-Id: Ic50e664e033feb5e066f40269c33cffe96024172 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3100319 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Cody Northrop 9f59cac0 2021-08-17T16:37:03 FrameCapture: Move MEC of program binaries to a helper This creates a new function called GenerateLinkedProgram that will facilitate capture support of glProgramBinary. Note this also moves one line out of the GenerateLinkedProgram path because it modifies state. The new function needs to be run against const state mid-capture in the next CL. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: I4e3a7f3ff8d31b07bb0ebc220858a66e91e24933 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105389 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 5e1bd524 2021-08-26T10:28:57 Perf Tests: Fix histogram units. There was another place where we needed to set "smallerIsBetter". Also prefer "ms" instead of "msBestFitFormat". Bug: angleproject:6090 Change-Id: I489089ae03f46b4c427821019917294d2d01dbcd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123225 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Kenneth Russell 936fd6cf 2021-08-25T19:15:03 Add documentation for autorollers. Document the location and purpose of the ANGLE-into-Chromium and Chromium-into-ANGLE autorollers, to make them easier to find for people who don't often use them. Also fix several broken links due to misplaced newlines pointed out by syoussefi@. Bug: angleproject:6323 Change-Id: Id3d2f0e5627729acd2447b4954d2920375c37db2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3120408 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 5441c519 2021-08-26T11:17:19 GN: Fix duplicate include of VersionGLSL.h The duplicate include was confusing the MSVC project loader. Bug: None Change-Id: I3637d9f0f26272e77cf4ab723532f53e12c13f51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123227 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang f3bccd9d 2021-08-26T18:04:13 Revert "GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY" This reverts commit 8d7f4cc986778bfff0b242dbea6083346da6c54d. Reason for revert: Broke CrOS build. Original change's description: > GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY > > Bug: angleproject:3020 > Change-Id: If60448f80daaeeb1503b41db8ac309e45923fd13 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135929 > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:3020 Change-Id: I0930c1bdb5356d533fae563428893aa8a9f91a52 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123266 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Charlie Lao 24a1650a 2021-08-23T18:48:24 Vulkan: set TextureVk::mImageUsageFlags for extern mem backed texture For external memory backed texture, mImageUseFlags are never set. Not exactly sure what harm will cause, but I am seeing when TextureVk::syncState is called we are incorrectly recreating storage due to we think there is usage flags change. The other fix here is the test VulkanExternalImageTest.ShouldClearOpaqueFdWithSemaphores is not using deviceMemorySize and causing VVL to complain. Bug: b/197578056 Change-Id: Icca89de973ee3cb93b7e0fe8083ae674df81cae8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115333 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev a5e95c07 2021-08-26T02:40:10 Adjust TexStorage2DEXT validation; update tests - Use common texture format support function. - Enforce size restrictions for compressed formats. - Expand CompressedTexture* and WebGLCompatibilityTest.CompressedTexImage* tests. - Adjust GL_DEPTH_COMPONENT16 support condition on ES 2.0. - Adjust GL_DEPTH24_STENCIL8 support condition on ES 2.0. - Adjust GL_RGB10_A2 support condition on ES 2.0; adjust VulkanExternalImageTest.TextureFormatCompatChromium* tests. - Do not use integer formats in TextureRectangleTest.TexStorage2D. Bug: angleproject:5731, angleproject:6230 Change-Id: I2f288f459b511cc004601238df717aa78433be7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118553 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill dd5994df 2021-08-25T18:39:31 Capture/Replay Tests: Fix Renderbuffer readback. Renderbuffer readback would use an unimplemented size function, ending up with a zero sized buffer. Also cleans up some of the code for reading back both Renderbuffers and Textures. One Depth/Stencil test that was crashing due to a recent change to read back depth data is now failing comparison because of missing combined depth/stencil support. Also updates the capture/reply self-test to handle ASAN-only test expectations. Bug: angleproject:4688 Change-Id: Idb6c05d15329f405f44502c2e5282764c7f780fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119057 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f7b2ab5c 2021-08-25T19:00:44 Perf tests: Add 3 new skips after updating perf run times. MultisampledRenderToTexturePerf on P4 and Intel Linux TextureUploadPerf on Intel Linux Bug: angleproject:5120 Bug: angleproject:6319 Bug: angleproject:6320 Change-Id: Ia201a4d62e95f82ec42f64abebc4222e31d41e9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119058 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll dc304c70 2021-08-26T10:01:56 Roll SwiftShader from e32890c54793 to 518056981519 (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/e32890c54793..518056981519 2021-08-26 capn@google.com Refactor command execution 2021-08-25 capn@google.com Update Vulkan headers to version 1.2.189 2021-08-25 capn@google.com Eliminate custom Vulkan constants 2021-08-25 srisser@google.com Don't use global variables for CPUID 2021-08-25 srisser@google.com Remove global constructor from BC6 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ianelliott@google.com Change-Id: Ic6a7b305812610bafc5e611b7a0813d267158379 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3121390 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 766e603f 2021-08-26T10:01:28 Roll vulkan-deps from 1262ad6fdd3f to 5e51e6f8ccd4 (19 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/1262ad6fdd3f..5e51e6f8ccd4 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a4599ef756..2fb89a0072 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/c062b6b852..0e2880ab99 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d699296b4d..2a5cc342fb * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/931cff66d7..b8705a0145 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ianelliott@google.com Change-Id: Ib3af9e93d4e7ea816861357fec77f24dfb31151c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3121646 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c2ea35c4 2021-08-26T07:01:09 Roll Chromium from f03e89d82d9f to ca199aff3bc7 (410 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f03e89d82d9f..ca199aff3bc7 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/27f0221c9b..ac9a0c826b * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/88e9a2946f..66ed2345b7 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/545a3dabc0..91dcb9cd46 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/1fcccaceef..33892fe47e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4241fcac6b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/64a9f33bdd..0daa723a77 * third_party/turbine: Om6yIEXgJxuqghErK29h9RcMH6VaymMbxwScwXmcN6EC..Xj6IyKuFSYmVNG3QQ4Co4FGcczKmWK3gykG73WjMciEC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/cb4a58d414..5ab37cd7bd * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/4ab0042cf0..629df05b75 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4b589c46b5..dec67cd252 No update to Clang. Bug: angleproject:4889 Tbr: ianelliott@google.com Change-Id: I06e2a6cc47922763c609d0b435762d2530776f6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3120885 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill c61fd919 2021-08-25T08:29:55 Fix array texture readback with GetTexImage. According to the desktop GL specs, GetTexImage retrieves entire mips of a texture for 2D array and cube array textures. The prior code was only retrieving one layer and didn't have any way to get the layers other than layer zero. Fix this by using similar logic to how we read back 3D textures. Also adds regression tests to GetImageTest. Bug: angleproject:5133 Bug: angleproject:6132 Change-Id: I8b22bc10ac1fdfe6389ac309450b92681f087cda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118266 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Ian Elliott 39e58580 2021-08-25T14:50:49 Move some end2end suppressions to expectations file With 2 previous Wrangler-suppression CLs, I followed the pattern initially done for bug 5945. Jamie pointed out that these are better handled in the expectations file. This CL moves all 3 suppressions. Bug: angleproject:5945 Bug: angleproject:6318 Change-Id: Ib70c3ede4c1fcd92cfd7dc65f2b37e221380fefe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119683 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Geoff Lang 8d7f4cc9 2020-04-03T14:56:36 GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY Bug: angleproject:3020 Change-Id: If60448f80daaeeb1503b41db8ac309e45923fd13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135929 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 0394fc62 2021-08-25T15:18:44 Vulkan: Fix transform feedback pause on UtilsVk clear Transform feedback was paused after vkCmdBindPipeline, but should be done before as that command is not valid while transform feedback is active. Bug: angleproject:6317 Change-Id: Ifcea8de07e24c71a19a74e738cb700576f7f53cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118812 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 1be6d1d4 2021-08-24T10:03:13 Capture/Replay: Sync textures before serialization. This ensures we get a consistent value for the texture init status and pixel data between when we capture the trace and when we run the replay. Because syncState is normally only called for textures that are currently bound for sampling, and here we are calling syncState when texture are not (and may never be) bound, we have to rely on a few extra checks to ensure we return a correct result. Bug: angleproject:5133 Change-Id: I2ca76743e8a6550a730dc55d935ba69d88679589 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118265 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f9d261f5 2021-08-25T10:23:48 Translator: Don't promote precision from initializer Take the following GLSL code: precision mediump float; uniform highp float u; float x = u; When `x` is declared, its precision is mediump due to `precision mediump float`. Its initializer (`u`) however is highp. Previously, ANGLE generated the following code to ensure the precision of the initializer is applied to the variable: highp float x = u; Compiling the same code with glslang and looking at the SPIR-V (both SPIR-V for OpenGL and SPIR-V for Vulkan), such a promotion is not done. The generated SPIR-V is equivalent to: mediump float x = u; This change aligns ANGLE's output with glslang's by outputting the precision of the variable itself instead of the precision of the assignment (which is highp due to promotion from the two operands). Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: I6f338a865c0a7710329fc13bc171fd245dd30b31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118965 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 1fc754b0 2021-08-25T08:34:36 GetTexImage: Read back depth from combined depth/stencil. This at least allows ANGLE to verify some of the depth/stencil pixel data, when using trace serialization. The correct behaviour would be to pack depth/stencil the same way as we unpack it. Bug: angleproject:4688 Bug: angleproject:5133 Change-Id: I5fc6649f577c7bd07aafabc9717c8235a5429e10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118267 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Ian Elliott 0d80bc8c 2021-08-25T13:47:05 Suppress EGLBlobCacheTest.FragmentOutputLocationKey on Metal EGLBlobCacheTest.FragmentOutputLocationKey is flaky on mac-rel Bug: angleproject:6318 Change-Id: I67c8f09ae75498d29f923d5c2d6cd52ca86bc249 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119679 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott bd5ac5df 2021-08-25T13:30:55 Suppress MultithreadingTest.MultiContextClear on Linux+Nvidia MultithreadingTest.MultiCreateContext/ES3_Vulkan_NoVirtual is flaky on "Linux FYI GPU TSAN Release" with linux-clang-rel NVIDIA, so it's being suppressed for now. Bug: angleproject:5945 Change-Id: I7f169641e19c893542ad8a51b81861b38d16a587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119677 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 6290a86b 2021-08-25T09:34:19 Capture/Replay Tests: Add lock around ninja calls. This should prevent huge numbers of calls to goma from causing test flakiness. Uses the Python multiprocessing.lock. Bug: angleproject:6299 Change-Id: I60fb38aaad363204de12d06f9d155bacb7ddd928 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118269 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1b2febb9 2021-08-23T12:39:16 Trace Tests: Refactor calibration logic. Instead of calling glFinish every step we now run a few warmup loops to try and figure out the right step interval. On each run we refine the step interval until we reach a number that completes in the specific time after a single glFinish call. This method will use the specified test time much more consistenty. Also a couple other improvements. Will use more test time on the bots because previously they were using a calibration/warmup time of 1 second per run loop, and this bumps it up to 3 per run loop. Long explanation below. What we did before: step() glFinish() step() glFinish() .. repeat for "gCalibrationTime" seconds then take the number of steps, the actual time ran, and compute an estimate for "mStepsToRun". When we run for real, we go: step() step() step() .. repeat for "mStepsToRun" steps. glFinish() this has an obvious performance difference, because after each step() (one frame in a trace) you had a complete stall. The new code first does the above to compute a tentative mStepsToRun, then uses the results of the second run to compute a much more accurate mStepsToRun by using the "actual" time it took to run the estimate. Bug: angleproject:6090 Change-Id: I0ff19873580e13f2af5a145a21f5b1c59fb15795 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114606 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny c4d4bd36 2021-08-24T09:13:41 Capture/Replay: Add ES3_Vulkan_SwiftShader expectations Bug: angleproject:6180 Change-Id: I47d68d8a6e21fa4b89e48898f27c365b51f70404 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118547 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 47279c72 2021-08-15T23:20:32 Adjust compressed texture validation; add test - Format check happens before target check to accommodate for unknown / disabled format enums. - PVRTC1 and ETC1 enums are not allowed for 2D Array and 3D targets. - PVRTC1 sRGB formats require enabling two extensions. - New noCompressedTexture3D limitation for older Metal versions. The test checks that only the appropriate entry points are affected after enabling compressed texture extensions. Bug: angleproject:5731, angleproject:6280 Change-Id: I4943cd3a82f60f9348215caa8639e0bc3e8b45db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094018 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Takuto Ikuta aad1bd68 2021-08-24T14:22:45 remove swarming_client Python client is deprecated. This removes all the reference in this repository. https://source.chromium.org/search?q=swarming_client&sq=&ss=chromium%2Fchromium%2Fsrc:third_party%2Fangle%2F Bug: chromium:984869 Change-Id: Ic165f4a637208b914a057257e9e73ab251df9c53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114154 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 1bc22a79 2021-08-25T10:01:56 Roll SwiftShader from 6aad52e1aef6 to e32890c54793 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/6aad52e1aef6..e32890c54793 2021-08-23 capn@google.com Fix Subzero Optimizer run time variability 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ianelliott@google.com Change-Id: I80f3a200c560ef99cd9af8a619988aa531a1408a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116964 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 28453e11 2021-08-25T07:01:26 Roll Chromium from 2136fe7a73f0 to f03e89d82d9f (870 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2136fe7a73f0..f03e89d82d9f 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 ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3d596a3537..27f0221c9b * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/ffda0347a4..996cd744d6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/56ae8bbfb2..545a3dabc0 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/eb31fd8aa1..1fcccaceef * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..77ae1d689a * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/52b4510cde..64a9f33bdd * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/f2eeaf2ef3..add20af232 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6002926a08..cb4a58d414 * tools/luci-go: git_revision:24b519169c7848dbeae2dba04698c41666388a45..git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2 * tools/luci-go: git_revision:24b519169c7848dbeae2dba04698c41666388a45..git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2 * tools/luci-go: git_revision:24b519169c7848dbeae2dba04698c41666388a45..git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bf467773c4..4ab0042cf0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/35d7ec7c98..4b589c46b5 * tools/skia_goldctl/linux: jQH5G1XR31QSX-Y7BEw3-HCqj-rqMbmFt8ia4QT9X_IC..piyuI_96IF7jF_1vY-tHI0jfepKADnKhEEILxpHKvz4C * tools/skia_goldctl/mac: rBeQmF5YzW5gOYg2G0CKoVli5wQ536stUnVW9UXdTagC..hLDvCRtQ02S_V4ABz5oABBehzUF-j18kIHZwnU6gctYC * tools/skia_goldctl/win: XTbWn-rB8RlBWCMTnyklV8yZV_fBb4VoUNOZ9dgtQJgC..AfrF2K3fb2csgVwLyDcljBC9fLFeLBpCqtTzxBiyMxgC No update to Clang. Bug: angleproject:6245 Tbr: ianelliott@google.com Change-Id: Icf8a141c98eef6ff952be6f1764ad2988570c7d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3117027 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 72ecb371 2021-08-24T11:17:12 Capture/Replay: further rework of replay script: * Simplify the code by using dictionaries to store the batch and final results * Use unified result specifiers * Group the unexpected result output by result type Bug: angleproject:6282 Change-Id: I90107efdeb51e183aa122ef67d1a646c8c1fd86a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114655 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 96a48a30 2021-08-18T14:33:41 FrameCapture: Only finish contexts that have been current The finish() was crashing during initial Fortnite debug. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: If8c7376c8ff3ee82581db40c5611309cf700c00d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105388 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 257ef4e2 2021-08-17T16:26:46 FrameCapture: Add more helpful texture errors Rather than asserting, print an error message that provides some helpful details to guide capture triage. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: I03ee2a12fa1185698650643f8767cd758bd87a4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105387 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 3408ea3e 2021-08-24T11:41:42 Translator: Fix precision of gl_FragCoord on ES3+ In ESSL100, gl_FragCoord is declared as mediump. In ESSL300+, it's declared as highp. Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: I42583d07fb745421f195be95fa404c617227b02e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116307 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 03fdde06 2021-08-17T16:21:07 FrameCapture: Adjust CopyImageSubData target Our PackedEnums don't line up exactly with the texture targets used by glCopyImageSubData. Adjust the CUBE selection to use a face instead. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: I855f9e68f3b78212ccb03d9e2ffe947084db85b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105386 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 800e82c6 2021-08-23T11:05:23 Translator: Validate precisions When declaring a variable, a struct field, function parameter etc, there's a precision necessarily applied to the entity being declared. AST Validation is added to enforce this. Intermediate nodes derive their precision from these entities automatically. Consistency of intermediate nodes is not validated. This is because AST transformations replace a node with a transformed one, and that may not have the same precision. Take the following code: mediump float x = ...; mediump float y = ...; ... x + y ... and assume is transformed as such: highp float driver_uniform; ... (x * driver_uniform) + y ... The addition was originally done in mediump, but would seemingly need to be done in highp after transformation. There are a number of options here: - Make sure that when nodes are replaced, the precision is unaffected. This can be intrusive, requiring temp variables. - Bubble up the new precision - Accept the discrepancy ANGLE opts for the last option, which actually respects the original shader's intended precision for operations, even if some transformation needs to temporarily evaluate an expression at a higher precision. Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: Ibcde3a230de159157783b1c6d5ef1cd63ceb4d8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114027 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill d240f104 2021-08-23T16:25:20 Perf Tests: Update histogram units. Use "ms_smallerIsBetter" instead of "msBestFitFormat". This matches the requirements of the online docs as well as ensuring the dashboard knows which way to track the regressions. https://chromium.googlesource.com/catapult/+/HEAD/docs/histogram-set-json-format.md Bug: angleproject:6090 Change-Id: I0b234725b55d4abb1dd1e8153e132fdbcbad1c60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115225 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi a08b667d 2021-08-24T12:13:23 Translator: Stabilize autogenerated builtin function parameters When pruning the list of builtin function parameters, sorted() is used to stabilize the result. This makes reviews of changes to the autogenerated output easier. Bug: angleproject:4889 Change-Id: I97afc31de2a62b34a0a8183bb5a47eab9e62d9fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116306 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 411137bf 2021-08-24T11:46:51 Emit INFINITY for infinite constants GLSL had `v = 1.0e40` which was output as `v = inff` in MSL. Changed to output `v = INFINITY`. Fixes Tests: GLSLTest_ES3.LiteralInfinityOutput/ES3_Metal GLSLTest_ES3.LiteralNegativeInfinityOutput/ES3_Metal Bug: angleproject:5505 Change-Id: Ib651583e608351784dcd49d602a23b5ecb8475cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116548 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Cody Northrop 023867c8 2021-08-24T11:42:07 Tests: Add Wordscapes trace Test: angle_perftests --gtest_filter="*wordscapes*" Tbr: jmadill@google.com, timvp@google.com Bug: b/197646838 Bug: angleproject:6310 Change-Id: Idb5b8fe7e30f93ab0da0a749ee691eaeed4eac63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116367 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Tim Van Patten 460618ad 2021-08-20T18:34:10 Refactor EGLMultiThreadSteps.h -> MultiThreadSteps.h The class ThreadSynchronization is very useful when synchronizing multiple threads in ANGLE tests, so it's being moved from egl_tests/EGLMultiThreadSteps.h to test_utils/MultiThreadSteps.h. Bug: angleproject:5971 Change-Id: I5df469aa68b79cf72d95e0276f42ab33a091314e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111887 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Ian Elliott 5df7c7da 2021-08-24T09:15:48 Add Cody, Charlie, and Ian to OWNERS Bug: angleproject:0 Change-Id: I6b9c9c6d8451ad22912710cc2c80691fc371d403 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115921 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Cody Northrop 0e06d2f3 2021-08-23T20:18:48 Tests: Add Scrabble Go trace Test: angle_perftests --gtest_filter="*scrabble_go*" Bug: b/197580447 Bug: angleproject:6308 Change-Id: I624c5f201dbadb6b51fe39cbb832da2454c3cb39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114492 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>