Log

Author Commit Date CI Message
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>
Gert Wollny 637e543f 2021-08-23T13:28:52 Capture/Replay: beautify the result output Instead of writing a diff between expected and real output list the tests that have results that differ from the expectations with their real and expected results. While at it also clean up the result printing a bit. Bug: angleproject:6282 Change-Id: Id95de9aa659b39f3a2fe3f63402e285ad875a4e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3113553 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Gregg Tavares a141cb52 2021-08-23T13:52:57 Test vector and matrix scalarization does not affect output Vector and matrix scalarization was turned off because it affects the rendering output. We need to turn it back on in some form for Metal. This test is added to check that rendering output is not affected. Test adapted from WebGL CTS test https://github.com/KhronosGroup/WebGL/pull/3214 Bug: angleproject:6306 Change-Id: Ic1db18920064726761d6168f9dd5111772028598 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115013 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 13e52124 2021-08-23T08:44:13 ANGLEPerfTest: Fix a couple comment typos. Bug: angleproject:6090 Change-Id: I2c1a2f4c6b25bb1d4e462bcb20bd788529e255e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114605 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 259ae49c 2021-08-20T10:51:31 Capture/Replay: Isolate trace export definitions. This small fix to the export header means we no longer include the "restricted_traces_autogen.h" in each and every trace file. That means when we change/add/remove a trace we no longer need to recompile each and every trace. Speeds up iteration time when working with the traces. Also fixes inconsistent path generation on Windows. Bug: angleproject:5133 Change-Id: I357d65477a683455d01379379e2e98431af2ed55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110749 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 8933a6e3 2021-08-17T12:09:21 Capture/Replay: Update expectation bug number Bug: angleproject:6166 Change-Id: I7bdb1778fc78d9c1e433b9658225322ff6c21030 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097380 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 14656a5d 2021-08-23T07:23:29 Skip all dEQP-EGL.functional.resize.surface_size on Linux/NV. This seems to be a persistent flake in the test suite. Bug: angleproject:5753 Change-Id: I4917ea54bba5ae1a01606038698e099ee8559f47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3112198 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 27b6a422 2021-08-23T10:01:45 Roll SwiftShader from 9eb5acaba94c to 6aad52e1aef6 (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/9eb5acaba94c..6aad52e1aef6 2021-08-23 capn@google.com Fix Chromium's swiftshader_unittests 2021-08-20 capn@google.com Deprecate libEGL and libGLESv2 CMake build targets 2021-08-20 srisser@google.com Remove Config::Edit::None default object 2021-08-20 lgrey@chromium.org Mac: use default visibility 2021-08-20 andre.kempe@arm.com Add PA and BTI to SwiftShader 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I96d8066188b6c02f5b69fb7194c4815541eb62d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3112496 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 49a1d9ff 2021-08-23T10:01:58 Roll vulkan-deps from 1dec6c3c106b to 1262ad6fdd3f (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/1dec6c3c106b..1262ad6fdd3f Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/bab4e5911b..c062b6b852 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b3f17dc515..931cff66d7 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I0eaa013fb32dd07d2d223ada25d37dc1eae73f40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3113446 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 210773db 2021-08-05T10:41:59 Translator: Be more explicit about precisions GLSL ES requires that every symbol (variable, block member, function parameter and return value) is appropriately qualified with a precision, either individually or through the global precision specifier. Some tree transformations however produced symbols with EbpUndefined precision. In text GLSL output, these would produce unqualified symbols which was often incorrect. In this change, the transformations are made to produce explicit / more consistent precisions. The validation (that caught these issues) is not included in this change as there are still a few corner cases left to address. Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: Icca8a0a5476f8646226e7243aa8f501f44acc164 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3075127 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll b9709a46 2021-08-23T07:01:15 Roll Chromium from 873a11ee2df8 to 2136fe7a73f0 (293 revisions) https://chromium.googlesource.com/chromium/src.git/+log/873a11ee2df8..2136fe7a73f0 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 jmadill@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/4636eb3d7e..3d596a3537 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/e4b161d43b..ffda0347a4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/07ee0ecea6..56ae8bbfb2 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ebf22ea4f9 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2b4ec95534..52b4510cde * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4893aadcb6..35d7ec7c98 No update to Clang. Bug: None Tbr: jmadill@google.com Change-Id: Ia5878d8d3c3ff27e2fe03b7cacb510a9a57e929b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3112653 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 8c05fd4f 2021-08-21T23:03:16 Add ASTC & PVRTC to GLenumToString Bug: angleproject:4093 Change-Id: Iab19fddd2e0680a39741d2ef0b9003af5a808d49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110552 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jamie Madill 2f45d93d 2021-08-18T16:58:44 Capture/Replay: Init shader outputs during self-tests. This forces all uninitialized variables to have default values. For instance if the application doesn't initialize the output color, or a varying that's use in the output, this will ensure we don't use any undefined values in the computation. Found when working on a re-trace of T-Rex, which doesn't write to the alpha channel in the final rendering pass. Also fixes undefined values in GLSLTest.InactiveVaryingInVertexActiveInFragment. Bug: angleproject:5133 Change-Id: Ia291338e5adf23dab5263cb2ebe737dc05852d3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110225 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill b196eec0 2021-08-20T12:32:03 translator: Fix InitializeVariables with gl_ClipDistance. The extension allows for the shader to redeclare this variable with a different size. This would sometimes put the tree in an inconsistent state when used with the InitializeVariables feature. Fix this by using the user declaration of gl_ClipDistance when available. Found when working on trace validation, where using the init output variables option in the compiler would then cause tree validation to fail for one specific test. Test: ClipDistanceTest.ThreeClipDistancesRedeclared Bug: angleproject:5133 Change-Id: I42c9bfbe313826ac5d391068d9fc18eb5793375f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110752 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e30dd478 2021-08-20T17:10:51 infra: Update Milo perf short names. Use the name of the Android device or GPU manufacturer. Bug: angleproject:6090 Change-Id: I2e26586578c51f9a714fed23586854bb14030242 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111028 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6a956ef9 2021-08-20T17:04:01 infra: Update angle_mb_config.pyl with new perf names. Was missing from the prior CL. Bug: angleproject:6090 Change-Id: I454605fad48690a2d84a2fe3a436140931e2cb9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111027 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll ba6b8287 2021-08-20T18:58:42 Roll Chromium from 40a15381a86b to 873a11ee2df8 (930 revisions) https://chromium.googlesource.com/chromium/src.git/+log/40a15381a86b..873a11ee2df8 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 jmadill@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/02ca29f24d..4636eb3d7e * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6f9b470988..88e9a2946f * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/8452f0657d..e4b161d43b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c5717aa498..07ee0ecea6 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/dc7fdb25d6..eb31fd8aa1 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/38a0c99ec5..dd8bbe8204 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a5d06af47f * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9a0189cd7a..2b4ec95534 * third_party/jinja2: https://chromium.googlesource.com/chromium/src/third_party/jinja2/+log/6ac5f7effd..6db8da1615 * third_party/r8: Nu_mvQJe34CotIXadFlA3w732CJ9EvQGuVs4udcZedAC..version:2@3.1.16 * tools/luci-go: git_revision:a5735121c6339dee9b1b3644535e230744daaac9..git_revision:24b519169c7848dbeae2dba04698c41666388a45 * tools/luci-go: git_revision:a5735121c6339dee9b1b3644535e230744daaac9..git_revision:24b519169c7848dbeae2dba04698c41666388a45 * tools/luci-go: git_revision:a5735121c6339dee9b1b3644535e230744daaac9..git_revision:24b519169c7848dbeae2dba04698c41666388a45 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/128a63e365..bf467773c4 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/494ba2a758..cf7ada42dc * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/447b548acd..4893aadcb6 No update to Clang. Bug: None Tbr: jmadill@google.com,ynovikov@google.com Change-Id: I3240bfab01a73b31ba6108046d56fa291c8dda95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111453 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 6c1ad60b 2021-08-20T09:30:47 infra: Make perf builders GPU-config-specific. Separating only by OS makes the perf dashboard uploads land in the same bucket for NVIDIA and Intel results. The two are intermingled on the dashboards. Split this by separating the GPU configs into their own builders. Must land before http://crrev.com/c/3110765 Bug: angleproject:6090 Change-Id: Icee3b19d3462977b4ec86bfe08d7c44431426d24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110745 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill d2d1f41f 2021-08-16T08:05:55 Add EGL extension to create window with a swap interval set. On Vulkan this allows creating a window once without needing to recreate the swapChain after we specify the swap interval. Also adds a simple regression test and EGL enum assertion printing formatting. Bug: angleproject:5133 Change-Id: I72af124cb0e8f7cddfa810988a9862c0f36a0e46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097806 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill f65d6acc 2021-08-18T12:20:40 Test Runner: Determine slow tests from test expectations. This updates the test harness to handle slow test based on the TIMEOUT test expectation. It removes the "registerSlowTests" API in favor of using the test expectation files. Also updates some of the timeout handling for various angle tests, including on SwiftShader for multithreading tests. Increases the timeout for tests in a batch to attempt to fix the problem of the first test being much slower. Bug: angleproject:6261 Change-Id: I7427344da5a0c1ea26d8c2d6eb0e9be2557b56e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104007 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 0adaabfc 2021-08-18T16:29:12 Ensure RGB10A2 format properly uses 4 pixel bytes. This fixes a problem with capture/replay where using pixelBytes was returning a 3 byte stride for this 4 byte format. Note this format is a bit odd, because it forces the alpha to 1.0, but the format is specified as using 4 byte upload width, with 2 bits unused. Also adds compile and run-time checking to ensure our bits are always multiples of 8. This flushed out an issue with 565 formats which were using an extra 1 bit for alpha. Test: TexureUploadFormatTest Bug: angleproject:5133 Change-Id: Ia41e86a4980fc041bb1a19b548c32329fa486d03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104686 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang fc09350a 2021-08-18T12:24:39 GL: Update VertexArrayGL to use ANGLE_GL_TRY. Bug: angleproject:3020 Change-Id: If3409d0d4bc9fdc5c990cece92461e2526c752c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1809058 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>