Log

Author Commit Date CI Message
Jamie Madill 6f5c67bc 2021-05-19T08:54:51 Use the same url for 'requests' as chromium. Otherwise this breaks the auto-roll script. Bug: angleproject:5941 Change-Id: I9b1d850822732c41b8a73de33060ceb50b8a49ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2905194 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 88156d26 2021-05-18T23:55:32 Revert "[Vulkan] Add DisplayVkNull" This reverts commit cbbaf76b758fb6a37175795b1f424549d535fbdc. Reason for revert: Suspecting this breaks the fuchsia_x64 bot WebGL tests. Ex: https://chromium-review.googlesource.com/c/chromium/src/+/2904812 Original change's description: > [Vulkan] Add DisplayVkNull > > Currently all DisplayVk implementations depend on VK_KHR_swapchain and > VK_KHR_surface extensions. When running Chromium on Fuchsia these > extensions are never used (content is shown on the screen using > ImagePipe API without dependency on swapchain). ANGLE still depended > on these extensions for DisplayVkFuchsia. > This CL adds DisplayVkNull, which allows to run ANGLE without dependency > on swapchain. It's usable only offscreen and cannot present content on > a surface. > > Bug: chromium:1203879 > Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: chromium:1203879 Change-Id: I6701ffff48fcb925f387e63b356d2d5cf360ea7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904183 Reviewed-by: Geoff Lang <geofflang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 9a9392aa 2021-05-19T10:01:15 Roll vulkan-deps from 3d799e0e9b08 to baa6900ec346 (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/3d799e0e9b08..baa6900ec346 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/202c8abae0..e71278cc92 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1d86b3235b..cfd1a09358 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: If95c7f11ffe6a41dd200e7613d9ad4e037e2db0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901404 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi eaa6961d 2021-05-17T18:56:53 Revert "Vulkan: Disable BufferVk suballocation" This reverts commit 76181384075c6eb0a5788bf1b732a1e05f6d73bc. Reason for revert: Bug exposed by this is fixed in https://chromium-review.googlesource.com/c/angle/angle/+/2896168 Original change's description: > Vulkan: Disable BufferVk suballocation > > There are still unresolved bugs. > > Bug: angleproject:5719 > Bug: chromium:1209197 > Change-Id: I6a971c421d0ae266404d1ecbf8741a9747a4e809 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897545 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Tim Van Patten <timvp@google.com> Bug: angleproject:5719 Bug: chromium:1209197 Change-Id: I5c24b5f6476eab98ed5a7b90b3d1796ffc7ca106 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896169 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 421c665c 2021-05-13T21:17:16 Capture: Make writeCppReplayIndexFiles a method of FrameCapture This is useful to not pass a large amount of parameters around. Bug: angleproject:5965 Change-Id: I3890a0ca852729bbf74725fb9e5f4062e20e9158 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894485 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 328a5c89 2021-05-18T12:13:23 infra: Add tests to Android Pixel 4 bot. Only angle_end2end_tests and angle_unittests to start. Also adds test expectations for the Pixel 4 end2end_tests. Patch Series: 1. http://crrev.com/c/2885381 2. http://crrev.com/c/2885346 3. http://crrev.com/c/2885383 4. This CL Bug: angleproject:5941 Bug: angleproject:5946 Bug: angleproject:5947 Bug: angleproject:5981 Change-Id: Iaaea0b427513804575d0ad7773a81379ea932eb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885384 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill cc9d0f75 2021-05-18T10:46:07 Improve test expectations overlap check. Uses the conditions for the expectation to determine if there's a bug. Necessary for the new loading mechanism which defers filtering. Bug: angleproject:5951 Change-Id: Ic0c65438f7f155caff72b3ceeb4e65f8184c8efc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2902666 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis ffb71dc2 2021-05-18T15:10:58 Revert "Reland Change to module directory when loading swiftshader ICD." This reverts commit c8c414b084fa3b6550b10dff48cf429719e04579. Reason for revert: Breaking fuchsia_x64 and ANGLE autoroller Original change's description: > Reland Change to module directory when loading swiftshader ICD. > > This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b. > > Extra changes: > Be explicit about calling GetModuleHandleA > Do not use the general GetModuleHandle, which may use wide strings > > GetModuleDirectory should return the full path, not relative. > ANGLE wasn't able to locate the vulkan ICD file because it was > searching down an invalid relative path. This can be fixed by > ensuring the module directory is always the full path. > on some platforms. > > Original change's description: > > When loading vulkan, we can be running from any directory. We need > > to change to the module directory to ensure the swiftshader ICD is > > loaded properly. For example, in some Chrome releases, libGLESv2.dll > > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe > > > > Bug: chromium:1198567 > > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 > > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Bug: chromium:1198567 > Bug: angleproject:5949 > Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1198567 Bug: angleproject:5949 Change-Id: Ic0be8949cc27b231be4f982ea6e22beed590d24d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2903786 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 4b92e089 2021-05-12T09:20:24 Vulkan: Add support for EXT_texture_border_clamp Add support for GL_EXT_texture_border_clamp. This is implemented by using VK_EXT_custom_border_color. Bug: angleproject:3577 Test: dEQP-GLES31.functional.texture.border_clamp* Change-Id: Ie9fa1eb5dd03b997b5ae182787641a53080a9e51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830192 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Cody Northrop 3b97452a 2021-05-18T09:29:29 Tests: Skip pokemon_go on Intel Linux Vulkan Crashing on teardown. Bug: angleproject:5989 Change-Id: Ie5560f4e1dee310f5f08a7bca83a0506c20f6920 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904126 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 8d16e15e 2021-05-17T23:16:59 Tests: Add SAKURA School Simulator trace Test: angle_perftests --gtest_filter="*sakura_school_simulator*" Tbr: timvp@google.com,jmadill@chromium.org Bug: b/188488065 Bug: angleproject:5987 Change-Id: Idf9966c32de8c2720edf1b7575722052c5cd294a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2902443 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 40f11af8 2021-05-17T23:05:16 Capture/Replay: Ignore delete of non-genned buffers Instead of asserting that the app is calling glDeleteBuffers on buffers we've seen created, ignore buffer names that we haven't seen. This is allowed by the spec: Buffer objects are deleted by calling void DeleteBuffers(sizei n, const uint *buffers); Unused names in buffers are silently ignored, as is the value zero. Test: SAKURA School Simulator MEC Bug: b/188488065 Bug: angleproject:5987 Change-Id: Id4704e544f644dbe3edf6efdf70b5c3ef9ccaba7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2902442 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 47e008c2 2021-05-18T10:01:36 Roll SwiftShader from af907708adb3 to 0ca03fb2907c (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/af907708adb3..0ca03fb2907c 2021-05-17 capn@google.com Update Android build files with license info 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I7d006bf382efebae6853979f6ee4daffd3d67aae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901755 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
John Plate 7107a0f3 2021-05-16T15:37:44 CL: Load OpenCL without search path modification Make it possible to load libGLESv2 and OpenCL_ANGLE without adding ANGLE's binary directory to the search path. Bug: angleproject:5904 Change-Id: Ie810466b39e1101e4da5b9fd199d26683b129281 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897250 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate c2fd3388 2021-05-15T22:28:27 CL: Add front end object references to back end objects Add front end object references to back end objects, which requires a significant amount of refactoring, because the back end objects have to be constructed during the construction of the front end objects, so that the references can be passed to the back end objects, which then can be passed to the front end member initialization. That would have been easier with inheritance than with PImpl. Bug: angleproject:5904 Change-Id: Ib58e6a698e76987bdd63cd8088f923424d6c622b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897249 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate a7ae63e4 2021-05-14T21:55:52 CL: Move object cast from entry points to stubs and front end Move the OpenCl object cast from the generated entry points to the stubs and front end, to make it possible to properly use static_cast. This removes the limitation that the front end objects have to be standard layout (and makes it possible to use virtual functions), which is consistent with other front end objects. Move the back end initialization from the stubs to the entry point functions, which fixes a bug where the back ends were not initialized during validation. Move more code from the stubs to the front end, to keep the stubs light. Remove unused function `default_return_value` from `generate_entry_points.py`. Bug: angleproject:5904 Change-Id: Id999ad6c537888017bf3252c6f6e088b7d4c7984 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897245 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll b16ee280 2021-05-18T09:40:54 Roll Chromium from 9b886afc6e79 to 2b00cebcd5b5 (497 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9b886afc6e79..2b00cebcd5b5 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/c81ea93291..d23e13a4cf * testing: https://chromium.googlesource.com/chromium/src/testing/+log/31a90015dd..d7dc6149dd * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/2000d0a880..c65e9394fd * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c1e1d559b4 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/cd152033d0..fe7d709f05 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/5ce08a7f2e..5b8d433953 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/f6e0cbe7b7..209b045b46 Clang version changed llvmorg-13-init-9302-g897d7bce:llvmorg-13-init-10392-gd3676d4b Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/f6e0cbe7b7efe0ba94157937d701077aeaab2d5b..209b045b46c0cb8893cc9ab9ac3ff54f14a8f359/scripts/update.py Bug: None Tbr: cnorthrop@google.com Change-Id: I14a9983956f53069b990589281c3fc2c312caf84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2902751 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 835bcb1e 2021-05-08T13:24:58 Vulkan: Support GL_EXT_texture_sRGB_RG8 For completeness, added mappings of R8_SRGB and R8G8_SRGB to OpenGL and Metal. Bug: angleproject:4932 Change-Id: Ic8e44e3a94c114e985f6965fcd43fbcb8071432d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880661 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll ac42dbf9 2021-05-18T01:51:16 Roll vulkan-deps from 055e71b2a367 to 3d799e0e9b08 (25 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/055e71b2a367..3d799e0e9b08 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9431c53c84..202c8abae0 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1020e394cb..f0d110e305 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/039cea5353..a132dee142 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/4ee5f2a8be..f89f72e105 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0aca21bce7..1d86b3235b 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 cnorthrop@google.com,timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com,timvp@google.com Change-Id: I548c56653d348997e000ef8bc5e644948db95889 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901247 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi cf3af29a 2021-05-14T16:49:36 Vulkan: Optimize respecifying an image When recreating a texture image to change a usage flag or the base/max levels, this change directly places the levels of the previous image as updates to the new image. This is instead of copying the image to a temp one and staging that. Bug: angleproject:4835 Change-Id: Ibc210b9ff0e8d11cba10b1cd9ab262c8f706cea5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2898417 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 8bd3d7d5 2021-05-17T13:45:33 Vulkan: Fix a bug releasing DynamicBuffer-owned buffer There was one instance of BufferVk releasing a buffer it had allocated from a DynamicBuffer. This shouldn't have happened as the DynamicBuffer owns the buffers. Bug: angleproject:5720 Change-Id: I435512f4bb099130126bf3efb48a238fcd9f3ddb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896168 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 848d8ddc 2021-05-13T15:52:14 Tests: Add Pokemon Go trace Test: angle_perftest --gtest_filter="*pokemon_go*" Tbr: jmadill@chromium.org,timvp@google.com Bug: b/188091629 Bug: angleproject:5968 Change-Id: I3f48957a3063fbe5a443c235b6cabf87319b17c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895329 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 4b071880 2021-05-13T16:20:05 Capture/Replay: Add const to string pointer Traces that have shader compiles in the middle of the run are reusing the string pointers on each go through. On some (multiple) platforms, the string pointer is no good on the second run through. This may only happen for large strings. Adding a const qualifier on the pointer itself, not just the string, avoids the issue. This has the effect of changing strings from this: const char *glShaderSource_string_0[] = { const char *glShaderSource_string_1[] = { to this: const char* const glShaderSource_string_0[] = { const char* const glShaderSource_string_1[] = { Test: Pokemon Go MEC Bug: b/188091629 Bug: angleproject:5968 Change-Id: Id6a05c955adb3e1c43d2723450be6b5278d99fba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895328 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 83d22b66 2021-05-13T16:10:54 Capture/Replay: Skip glGetActiveUniform Apps are querying GL_ACTIVE_UNIFORMS and then walking through them all numerically, calling glGetActiveUniform on each one. Before this CL, our trace would also walk through them all, exactly as the app. But, the active uniform count can vary on different platforms depending on how aggressive the underlying compiler is. We have at least one that does cross stage optimizations eliminating more active uniforms than others. Rather than check each call against the actual number of active uniforms, we can just drop the calls to glGetActiveUniform. We don't actually use any of the results from the call. For example, this is what we generate before this CL: glGetActiveUniform(gShaderProgramMap[144], 31, 1024, reinterpret_cast<GLsizei *>(gReadBuffer), reinterpret_cast<GLint *>(gReadBuffer), reinterpret_cast<GLenum *>(gReadBuffer), glGetActiveUniform_name_30); This has the downside of moving away from reflecting what the app actually sent down. The alternatives are too intrusive though, and we want to stay as close to speed of light as we can. Test: Pokemon Go MEC Bug: b/188091629 Bug: angleproject:5968 Change-Id: I1263f2256c6a964dac54d9997a1c1c2dceac711b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895327 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 8ea11eb7 2021-05-13T15:54:41 Capture/Replay: Reset programs on loop Apps that create new programs during the run need to have them deleted on loop. This CL handles that. It does not handle programs that have been deleted and need to be recreated, or that have been modified otherwise. An assert has been included to catch that for future needs. With this CL, entries like this will show up in ResetReplay: ... glDeleteProgram(gShaderProgramMap[120]); glDeleteProgram(gShaderProgramMap[121]); ... Test: Pokemon Go MEC Bug: b/188091629 Bug: angleproject:5968 Change-Id: I78c425e8fe95792fc626484641d067613dfae971 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895326 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop a1a418e2 2021-05-17T16:08:15 Skip Texture2DTest.TextureSize on Linux+GL+TSAN Bug: angleproject:5982 Change-Id: I228c5549d7c83d5fb3eb12a097dd4bcc20f56955 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2900929 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 49ad51fb 2021-05-17T16:39:17 ANGLETest: Skip test setup/teardown on major error. If something goes wrong in ANGLETestSetup, we can skip the test- specific setup and teardown code to prevent further errors and crashes. This is necessary for the new test expectation skips. Bug: angleproject:5951 Change-Id: Ica7b9fed18cec20e7d0e340c39dbbb44f1f8958e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896173 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis f9ca452c 2021-05-17T15:14:18 Fix out_of_range error in System_utils_posix This now handles the case where dladdr doesn't return any information about the filename. This was causing issues on Fuschia. Bug: chromium:1198567 Change-Id: I892106282fc930d4d26e3eecd720a11e05b8dcd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896171 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 9c262ad0 2021-05-14T12:26:48 Vulkan: Cleanup texture image respecify Prior to this change, respecifying a texture image due to usage, base or max level changes incurred a copy of every level and layer to a temporary buffer which was then staged as an update to the new image. This code was somewhat messy (for example with respect to depth/stencil images), error prone (e.g. previously had bugs with compressed textures) and disallowed further optimizations such as in anglebug.com/4835. This change does the following: - ImageHelper::SubresourceUpdate now takes ref-counted images, instead of image pointers. This allows the same image to be staged for multiple updates. - Respecifying an image is still done through a copy, but to an identical (temp) image instead of buffer, and each level of the image is staged as an update. * Further optimization is to stage the old image itself directly as updates to the new image Bug: angleproject:4835 Change-Id: I4a3ef2d616c9ab459ff65f918b0fb6d9a2161b73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897537 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 9e8fea5b 2021-05-13T07:04:05 Vulkan: Fix desc set cache bug with xfb offset Prior to this change, the transform feedback buffer offset was not stored in the descriptor set key, so if the offset changed, stale descriptor sets could be used. Bug: angleproject:5963 Change-Id: I3dec4ab9fa82092a65e9a75bdd19c5f2cf49521c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894513 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 3ff08c44 2021-05-14T15:41:50 Gold Tests: Implement flaky retries and sharding. This CL implements two features: first off we can now split the tests into several shards which we can run independently on different machines. Second it implements a simple retry mechanism that will retry a failed test a number of times and count any first passing test as a pass. Bug: angleproject:5875 Bug: angleproject:5966 Change-Id: Ieef4ea0e4eebdb286a32de3b1e3fef4f2eda0600 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897546 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8328743a 2021-05-17T10:01:40 Roll SwiftShader from c4d054c6ad41 to af907708adb3 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/c4d054c6ad41..af907708adb3 2021-05-14 capn@google.com Unpoison Reactor Call() arguments when MSan instrumentation is disabled 2021-05-14 capn@google.com Update Vulkan headers to version 1.2.178 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I4efbca5bd495ad3e56de915032e84a1790a4662e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2900022 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 48640e2e 2021-05-17T07:01:00 Roll Chromium from 3b747dab7bb3 to 9b886afc6e79 (485 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3b747dab7bb3..9b886afc6e79 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/00d8280637..c81ea93291 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/b0912f9572..20b1d0fc13 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/32fdfcc5af..31a90015dd * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a532699d20 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/5ab2f3314c..cd152033d0 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/2b99b37874..5ce08a7f2e * tools/luci-go: git_revision:808e8d99fad90d180286ce6d176de6373a5e1398..git_revision:bbac8f199026d706b08e53ca46d1a9560ae580d2 * tools/luci-go: git_revision:808e8d99fad90d180286ce6d176de6373a5e1398..git_revision:bbac8f199026d706b08e53ca46d1a9560ae580d2 * tools/luci-go: git_revision:808e8d99fad90d180286ce6d176de6373a5e1398..git_revision:bbac8f199026d706b08e53ca46d1a9560ae580d2 * tools/skia_goldctl/linux: 6gOkUwwapS1GyCkAQb7-gPiKnvzdUOyDzkT4NzmnYJEC..BLHYEUi0wOYe5D_InWXtD8US7l_PMOrKHLuKt16L46QC * tools/skia_goldctl/mac: 43qoaMWgldhQiaXzcCNggSSWDmZQTNrK0cGEt5yysgsC..qofjOtuSqFXnMKjZ9c7c-oVh9HeWjGW4h4F3y-vrfEkC * tools/skia_goldctl/win: oodEEBUIHfKw18_-31PAsu3SFiLqvtsFDgbn6ohK5R4C..P9wyIW02W7EqtyT9cZJj6g0HOcjRHAhN5KECwmhgRjUC No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: Iedbaff423759a2752c3c341a3abb6b08424515e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2899842 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 1af7caa4 2021-05-14T11:46:54 Capture/Replay: Add suffix to label for test file search When tests are run with a wildcard filter on the backend, e.g. "TEST/ES2_Vulkan*" the same tests from different backends may end up in the same trace file directory, e.g. TEST_ES2_Vulkan and TEST_ES2_Vulkan_SwiftShader. So far, when searching for the ES2_Vulkan trace files the check for trace files would them also pick up all the _SwiftShader files, and the skript would assume that the file count is wrong and skip the replay. By adding "_capture" the start of the commonly used suffix, this is avoided and replays are no longer skipped because mis-counting capture files. Bug: angleproject:5972 Change-Id: I7af54aaf51ee7070333ffe81974d866bd89dbd6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897236 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny 022401f9 2021-05-12T09:21:04 Capture/Replay: Print context diff also with frame gaps The capture/replay context differences may not be in each frame, so if the test signals that comparisons fail, don't bail if the context JSON files are not found for one frame, but continue the search until all possibly captured frames have been checked Bug: angleproject:5953 Change-Id: I8af34cc0fe4de5615fc43ef6c45915055546f507 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891772 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny 31cd0e98 2021-05-10T10:37:54 Capture/Replay: track robustResourceInit Bug: angleproject:5938 Change-Id: I7c9ab9bebd1ec2dc572a071844a860f99d0befe6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2882580 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 3d082a10 2021-04-12T19:16:25 Vulkan: Add webgl conformance/texture-size test This converts webgl_conformance_vulkan_passthrough_tests/texture-size.html to an end2end test for ease of debugging. Bug: chromium:1197905 Change-Id: If77dc30e81450b277c6a02d66c076b088d069498 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821944 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott ce7bc0c8 2021-05-14T17:00:46 Vulkan: Fix AGI hierarchy The GLES hierarchy of debug-util markers given to AGI was wrong for several games. The problem is that glDrawBuffer* was treated as a draw call, instead of as the state-setting call that it is. Bug: b/184888395 Change-Id: I6911bd3aae42b5f29b3f40466a615c614651ca8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2898472 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Charlie Lao 65946f88 2021-05-12T18:19:52 Skip Texture2DArrayIntegerTestES3.NonZeroBaseLevel on OSX+OpenGL This test is failing just because another test is been added. The theory is that there is a OpenGL driver bug here. Bug: angleproject:5959 Change-Id: I8405a512de28b10528c14be79f76815877a5771f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893499 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 76181384 2021-05-14T15:31:24 Vulkan: Disable BufferVk suballocation There are still unresolved bugs. Bug: angleproject:5719 Bug: chromium:1209197 Change-Id: I6a971c421d0ae266404d1ecbf8741a9747a4e809 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897545 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
angle-autoroll bf4aa6c4 2021-05-14T21:48:14 Roll VK-GL-CTS from 1c4a387382ea to 535dfe49fc49 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/1c4a387382ea..535dfe49fc49 2021-05-14 piotr.byszewski@mobica.com Portability: handle vertex input stride If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC timvp@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com,angle-bots+autoroll-info@google.com Change-Id: Iaaaee35aa8c61e25c80ceb2c373e2333defab426 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896770 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang 5a0925de 2021-05-14T15:25:07 GL: Recreate textures on eglReleaseTexImage. Texture data should be reset on eglReleaseTexImage but ANGLE sometimes skipped this because it generated GL errors on Mac. Instead, delete and recreate the native texture to make sure ANGLE doesn't hold any references. Bug: chromium:1181068 Change-Id: I1252b0900361852f66f73b8c9d20a29c53897ee4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897544 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Mohan Maiya 35f59118 2021-05-12T09:19:49 Bug fix in glTexParameter and glGetTexParameter validation It is invalid to pass in GL_TEXTURE_BUFFER to either glTexParameter or glGetTexParameter. Return GL_INVALID_ENUM for such usecases. Bug: angleproject:3573 Bug: angleproject:3577 Test: dEQP.KHR_GLES31/core_texture_border_clamp_texparameteri_errors Change-Id: Ia0573c24d38c6be9d1b79a83a05e2ffbc62c8918 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892023 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 07ae2970 2021-05-12T11:15:01 Fix IOSurfaceClientBufferTest.RenderToBGRX8888IOSurface on OSX+OpenGL For BGRX, the alpha value is undefined. It wont write back to client memory, so don't compare alpha to expected result. Bug: angleproject:5958 Change-Id: I289f14f7c6a6ee63e74351d6abdd44fff8bf106b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891926 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill dd686e48 2021-05-11T19:08:01 Test Runner: Add test expectations parser. Moves the test expectations from dEQP into the test runner. Also updates angle_end2end_tests to take an expectations file. Includes some very simple angle_end2end_tests expectations. Note that the expectations in the file are less expressive than the skips we use in the cpp. Bug: angleproject:5951 Change-Id: Ib92235575bc3ea5f3a977ce416b0e78fe806e39b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892274 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis c8c414b0 2021-05-05T11:51:00 Reland Change to module directory when loading swiftshader ICD. This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Extra changes: Be explicit about calling GetModuleHandleA Do not use the general GetModuleHandle, which may use wide strings GetModuleDirectory should return the full path, not relative. ANGLE wasn't able to locate the vulkan ICD file because it was searching down an invalid relative path. This can be fixed by ensuring the module directory is always the full path. on some platforms. Original change's description: > When loading vulkan, we can be running from any directory. We need > to change to the module directory to ensure the swiftshader ICD is > loaded properly. For example, in some Chrome releases, libGLESv2.dll > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe > > Bug: chromium:1198567 > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: chromium:1198567 Bug: angleproject:5949 Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Sergey Ulanov cbbaf76b 2021-04-29T16:09:09 [Vulkan] Add DisplayVkNull Currently all DisplayVk implementations depend on VK_KHR_swapchain and VK_KHR_surface extensions. When running Chromium on Fuchsia these extensions are never used (content is shown on the screen using ImagePipe API without dependency on swapchain). ANGLE still depended on these extensions for DisplayVkFuchsia. This CL adds DisplayVkNull, which allows to run ANGLE without dependency on swapchain. It's usable only offscreen and cannot present content on a surface. Bug: chromium:1203879 Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll f871545d 2021-05-14T10:44:13 Roll VK-GL-CTS from 6498f4042d9f to 1c4a387382ea (19 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/6498f4042d9f..1c4a387382ea 2021-05-14 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master 2021-05-13 juha.heiskanen@siru.fi Add test for PBO bounds 2021-05-13 pdaniell@nvidia.com Fix Windows MSVC build regression from GitHub!261 2021-05-13 piotr.byszewski@mobica.com Portability: use triangle strips in amber tests 2021-05-13 piotr.byszewski@mobica.com Portability: handle mutableComparisonSamplers 2021-05-13 srisser@google.com Require geometry shaders for adjacency topologies 2021-05-13 jari.komppa@siru.fi Static code analysis fixes 2021-05-13 toni.salmivalli@siru.fi New SSBO corner case test 2021-05-13 siglesias@igalia.com Add more spir-v tests with empty structs 2021-05-13 alexander.galazin@arm.com Fix GL compatbility mustpass file names 2021-05-13 ari.suonpaa@siru.fi Add dynamic indexing test using gl_VertexID 2021-05-13 tapani.palli@intel.com Fix to GL 4.5 geometry shading provoking vertex tests 2021-05-13 alexander.galazin@arm.com Support GL 4.5 in the Linkage Tests 2021-05-13 alexander.galazin@arm.com Support GL 4.5 in the Arrays of Arrays Tests 2021-05-13 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-05-13 ilkka.saarelainen@siru.fi Update Amber 2021-05-13 lars-ivar.simonsen@arm.com Fix use of binary semaphore in signaled state 2021-05-13 slawomir.cygan@intel.com Fix condition for checking support of XFB streams other than 0 2021-05-13 siglesias@igalia.com Make sure minImportedHostPointerAlignment in a power of 2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC timvp@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com,angle-bots+autoroll-info@google.com Change-Id: I12e13ac730ce2ac1989feeb382a70e99d5a2f447 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895922 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop ec362f9b 2021-05-14T11:46:48 Tests: Update capture_replay_expectations Bug: angleproject:5974 Change-Id: If8f210f569bdd1bf4e81c74cac894049b8c9cb7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896905 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 09dad082 2021-05-07T17:28:15 Vulkan: Add feature flag to flush at framebuffer boundary Testing shows most app traces seeing performance improved on ARM GPU when we flush at FBO boundary instead of one submit per frame. This likely due to more frequent submission means less chance of GPU starvation. This also helps ANGLE to detect GPU finish at finer grain since the queue serial is per submission. Finer grain detection of object completion means memory gets recycled quicker and mapBufferRange able to hit fast code path more often. With this CL, manhattan 3.1 offscreen score also score improves 7%. This may also helps onscreen performance if frame time is on the edge of 16ms by submit FBO rendering earlier instead of been blocked by vkAcquireNextImage. Bug: b/187993625 Bug: angleproject:5295 Change-Id: I2946a7159231d36019ace89805a69ac8e906ce94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888709 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Lubosz Sarnecki 6f35e366 2021-05-12T18:10:20 TracePerfTests: Don't call framebuffer functions on GLES1. Skip unbinding the framebuffer on GLES1, where the function does not exist. This caused a crash when recording screenshots on native GLES1 implementations on Android. Bug: angleproject:5961 Change-Id: I7a35474154a4a8d56b36df02629944de7660dcd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891567 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate 83689e32 2021-05-13T17:32:56 CL: Add symbol version map to libOpenCL Bug: angleproject:5904 Change-Id: I4a5859ea172c9d17cfd84ef219ddd9a71fb3b927 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894428 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll c8c70ef8 2021-05-14T08:04:54 Roll Chromium from b0687cb1f1ec to 3b747dab7bb3 (328 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b0687cb1f1ec..3b747dab7bb3 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/5d8fd334d9..00d8280637 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/9b15350d89..b0912f9572 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fe582fda76..32fdfcc5af * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..affd272f9e * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f5c054ce53..5ab2f3314c * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/e3c17da190..2b99b37874 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/06d525cc6f..f6e0cbe7b7 * tools/luci-go: git_revision:d7393d163ecb11c44626b3b221f86efdd2861565..git_revision:808e8d99fad90d180286ce6d176de6373a5e1398 * tools/luci-go: git_revision:d7393d163ecb11c44626b3b221f86efdd2861565..git_revision:808e8d99fad90d180286ce6d176de6373a5e1398 * tools/luci-go: git_revision:d7393d163ecb11c44626b3b221f86efdd2861565..git_revision:808e8d99fad90d180286ce6d176de6373a5e1398 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c4921c7a5b..971099ba3c * tools/skia_goldctl/linux: JUdOUf3QO1PSVW0LijuPE20E8IiVUgPjyUkhri9CrosC..6gOkUwwapS1GyCkAQb7-gPiKnvzdUOyDzkT4NzmnYJEC * tools/skia_goldctl/mac: -HuOY2pAKikKFvM5odfgh_GYbDKBGhCeKfGoDG4W46sC..43qoaMWgldhQiaXzcCNggSSWDmZQTNrK0cGEt5yysgsC * tools/skia_goldctl/win: wL8AoIO8IDH7dKheA0iZneF9sE3DamLh6bBzj6I782oC..oodEEBUIHfKw18_-31PAsu3SFiLqvtsFDgbn6ohK5R4C Clang version changed llvmorg-13-init-9881-g5dad3d1b:llvmorg-13-init-9302-g897d7bce Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/06d525cc6f7770fe4aa305d73eb1fadc37865070..f6e0cbe7b7efe0ba94157937d701077aeaab2d5b/scripts/update.py Bug: None Tbr: timvp@google.com Change-Id: Ia0b690d5c4609bfe8cfa097ed2d8e629fe5abd3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895908 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
John Plate 48b835cf 2021-05-09T22:47:00 CL: Implement context for front end and passthrough Bug: angleproject:5904 Change-Id: I23b764bba87be3a51a1b5b44b13968fc572efde9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2883773 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
Shahbaz Youssefi 39ee3640 2021-05-11T22:27:08 Translator: Fix struct/uniform separation w.r.t to arrays When a uniform of struct type was redeclared, the arrayness information was not transferred. Bug: chromium:1204861 Change-Id: Ic3f461a4aa349a73bc48568ee14b5418f0556238 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889599 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Ian Elliott b0c217ba 2021-05-13T13:56:27 Disable GL_EXT_shader_framebuffer_fetch_non_coherent on Arm/QCOM Thie is a shorter-term work-around to games not checking extensions properly. Bug: b/177320565 Bug: b/186643966 Bug: b/186783762 Change-Id: Ic348396db1d081925cd9747cdd9406f5929313b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894407 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill e601181d 2021-05-11T21:23:17 Allow specifying GPU config on expectation check. When we load the expectations we can now specify the config at a later point. This will make it easier to run test suites that use multiple APIs, like angle_end2end_tests. We can instead specify the config when we check the expectation. Bug: angleproject:5951 Change-Id: I9607db093e4a459550a7cd6864b17adfa55e17f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892273 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi c5e344b1 2021-05-11T22:13:38 Translator: Fix local var inits vs struct/uniform separation The declarations outside the global scope were being skipped in this transformation, but if the initializer of a declaration referenced a uniform struct that's being replaced, it should have been visited too. Bug: chromium:1204861 Change-Id: Ie2a743126c785eb7d6e3542ba80faa4defc3509f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889598 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny ee2f3302 2021-05-12T12:07:42 Capture/Replay: recreate the EGL window if contexts don't match In addition enable affected tests. Bug: angleproject:5955 Change-Id: I4fb72e38a633daa4565d3c0ae7cddb6ace7226f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891775 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll 2303f19c 2021-05-13T16:52:53 Roll Chromium from 3fb708290557 to b0687cb1f1ec (639 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3fb708290557..b0687cb1f1ec 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 timvp@google.com,jmadill@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/129bd6c0c0..5d8fd334d9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/e72cd4587a..9b15350d89 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/43828a290e..fe582fda76 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..52e67e75f6 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6e5b0a5c45..f5c054ce53 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/c3edbeed8a..e3c17da190 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/53a9334ffe..06d525cc6f * tools/luci-go: git_revision:37e5f238829f911f85b62d66670d2fbd88354ef1..git_revision:d7393d163ecb11c44626b3b221f86efdd2861565 * tools/luci-go: git_revision:37e5f238829f911f85b62d66670d2fbd88354ef1..git_revision:d7393d163ecb11c44626b3b221f86efdd2861565 * tools/luci-go: git_revision:37e5f238829f911f85b62d66670d2fbd88354ef1..git_revision:d7393d163ecb11c44626b3b221f86efdd2861565 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/ac77520e0e..c4921c7a5b * tools/skia_goldctl/linux: EWfIod1MP71b48GlHnS5Rv9JpBzeTRQ6viIPDfFUSFEC..JUdOUf3QO1PSVW0LijuPE20E8IiVUgPjyUkhri9CrosC * tools/skia_goldctl/mac: qwctaMZfXlU0u7OsbxWgOY_sBjsUYhlqwjJRbAXX3oYC..-HuOY2pAKikKFvM5odfgh_GYbDKBGhCeKfGoDG4W46sC * tools/skia_goldctl/win: O2WsBEJgyjTsib6LvzoNqqXwfSylJFfTRxEKYr-IsocC..wL8AoIO8IDH7dKheA0iZneF9sE3DamLh6bBzj6I782oC Clang version changed llvmorg-13-init-9302-g897d7bce:llvmorg-13-init-9881-g5dad3d1b Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/53a9334ffea6aa748ff6c1ce8a46e71a90e7bc9f..06d525cc6f7770fe4aa305d73eb1fadc37865070/scripts/update.py Bug: None Tbr: timvp@google.com,jmadill@google.com Change-Id: Iabcdb225075048bb3481d8cf516da157c330e2b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893193 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang bccb0d56 2021-05-11T13:53:05 Add messages for framebuffer completeness errors. This also creates a common code path for all framebuffer completeness errors (FramebufferStatus::Incomplete) which helps for adding a debug breakpoint. Bug: angleproject:5949 Change-Id: Ib102dbf86e020777e56c6dc6b78dda8ebdba2127 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888110 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e354ff1a 2021-03-05T04:07:21 Vulkan: Allow DynamicBuffer suballocation in BufferVk When allocations are made from DynamicBuffer, they suballocate from a possibly larger BufferHelper. In BufferVk, the offset of the suballocation was discarded, which limited the use of DynamicBuffer to a pool of small buffers. This change applies any such offset that may arise from suballocations everywhere, and makes BufferVk use a larger buffer size when the GL_DYNAMIC_* buffer usage hints are provided. Bug: angleproject:5719 Change-Id: I3df3317f7acff1b1b06a5e3e2bb707616a7d0512 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2738650 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi cb69b46a 2021-05-12T17:01:27 Remove teglAndroidUtil.cpp override The file was fixed in https://gerrit.khronos.org/c/vk-gl-cts/+/7296. Bug: angleproject:5870 Change-Id: I46410985ef0e66f886a6ee2ba321725242e01ce7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892288 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 1d019f49 2021-05-13T10:33:06 Test Runner: Fixes to skipped tests. Uses a different token for skipped and not run tests in the json. The token isn't standard but should only be visible when batches report to the parent process that a test wasn't run. It shouldn't be visible to the scripts that consume test results on the bots. Also fixes the expected result for skipped tests to also be "SKIP". Bug: angleproject:5951 Change-Id: I0bd7d13b2b25b583f9c42718786cb588bacd4bc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894524 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
John Plate b300dc52 2021-05-09T00:35:24 CL: device partitioning for front end and passthrough Partitioning is the creation of sub-devices. Also add reference counting for CL objects, which is needed now for sub-devices. Also fix CL print format strings, since cl_ulong is actually always 64 bit and not unsigned long. Bug: angleproject:5904 Change-Id: I006699fad2f953ce312bca87c9b6362b5d77a18a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880665 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexis Hetu b0d39ba2 2021-05-12T16:06:15 Add array bounds checks for WebGL shaders WebGL shaders may contain OOB array accesses which in turn cause undefined behavior, which may result in security issues. This was detected as an UNKNOWN READ by UBSAN while testing with SwANGLE. Bug: chromium:1189110 Change-Id: I00f56e771ed0c675abb465fc3a3dc9d62ea8ed51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892286 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
angle-autoroll 9809122d 2021-05-13T10:01:37 Roll SwiftShader from be169ef35238 to c4d054c6ad41 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/be169ef35238..c4d054c6ad41 2021-05-12 capn@google.com Work around MemorySanitizer scalar SSE false positives 2021-05-12 capn@google.com Work around MemorySanitizer movmsk false positives 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I01cfd7f45b12c27615f6931a26de0407383ff2f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894130 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 25b53ceb 2021-05-12T10:09:58 Revert "Change to module directory when loading swiftshader ICD." This reverts commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Bug: angleproject:5954 Change-Id: I6199dc099dbf42605bbfc549e39cb6477e67442c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891771 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 9a219a14 2021-05-12T09:52:16 Test Runner: Handle skipped gtests. GTEST_SKIP() allows us to skip tests using the GoogleTest APIs. This CL updates our test runner code to handle these skips. Bug: angleproject:5951 Change-Id: Idef5802c7c81bd92226f5a93281a1cea0f1b24ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892272 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 1d1c4518 2021-05-11T12:00:05 Tests: Add Dr. Driving trace. Test: angle_perftests --gtest_filter="*dr_driving*" Bug: b/181871119 Bug: angleproject:5944 Change-Id: I0a95f91d68957840da7c99580db60472e44467a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887286 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 51d02ca0 2021-05-06T15:16:16 FrameCapture: Use gl*Separate functions only when required. Use non-separate stencil and blend functions that do not distinguish between front and back buffers or color and alpha, if they apply. This prevents capturing GLES2 functions on GLES1 contexts. Bug: angleproject:5893 Change-Id: I8303ee5b279268ea9c21e2c6465e1b155d1cc54d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877238 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll 57bc7ce1 2021-05-12T10:01:16 Roll SwiftShader from dcb33711bd4b to be169ef35238 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/dcb33711bd4b..be169ef35238 2021-05-11 swiftshader.regress@gmail.com Regres: Update test lists @ dcb33711 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: Ic3cd3631682b2cace3a6eed4ae0fe938766365fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891641 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Lubosz Sarnecki 8af704bd 2021-05-11T11:27:17 Tests: Add Summoners War trace. Skip the trace on Windows/Intel since it produces GL_INVALID_ENUM. Test: angle_perftests --gtest_filter="*summoners_war*" Bug: b/181870341 Bug: angleproject:5943 Change-Id: I99b551294eeb267311728fd6f566cd549f97e90d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887285 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll cf1064e6 2021-05-12T07:01:02 Roll Chromium from fff9d6fb8ddf to 3fb708290557 (495 revisions) https://chromium.googlesource.com/chromium/src.git/+log/fff9d6fb8ddf..3fb708290557 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/4ff4105cd8..129bd6c0c0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/504fae9f10..43828a290e * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/93eae7d9dc..371f2bea4f * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..302ca09b2d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/cb17bc6028..6e5b0a5c45 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/5243354177..66e0a5d62b * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/618ddecd59..c3edbeed8a * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e76c8f17cf..53a9334ffe * tools/luci-go: git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2..git_revision:37e5f238829f911f85b62d66670d2fbd88354ef1 * tools/luci-go: git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2..git_revision:37e5f238829f911f85b62d66670d2fbd88354ef1 * tools/luci-go: git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2..git_revision:37e5f238829f911f85b62d66670d2fbd88354ef1 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/df10bb0bf8..ac77520e0e * tools/skia_goldctl/mac: 5o7ziB6qRrSdtYJwKop8-5OFmvVQcxuNkGY1DRYggMsC..qwctaMZfXlU0u7OsbxWgOY_sBjsUYhlqwjJRbAXX3oYC Clang version changed llvmorg-13-init-7296-ga749bd76:llvmorg-13-init-9302-g897d7bce Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/e76c8f17cf2833813d671674cd89f01f3a21e851..53a9334ffea6aa748ff6c1ce8a46e71a90e7bc9f/scripts/update.py Bug: None Tbr: timvp@google.com Change-Id: Iff9b5446b67a948eeb60e1aa7aaacf0725714c05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891629 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 14365e1d 2021-05-11T21:08:16 Roll VK-GL-CTS from dab93ea8f88c to 6498f4042d9f (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/dab93ea8f88c..6498f4042d9f 2021-05-07 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master 2021-05-06 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master 2021-05-06 juha.heiskanen@siru.fi Add TexSubImage2D format compatibility tests 2021-05-06 piotr.byszewski@mobica.com Rename all OperationId enum values 2021-05-06 juha.heiskanen@siru.fi Fix validation error 'InputNotProduced' in Amber tests 2021-05-06 rgarcia@igalia.com Decrease 3D image size in image atomic op tests 2021-05-06 venni.ihanakangas@siru.fi Fix interfaceTypeMismatch validation errors in Amber tests 2021-05-06 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-05-06 jari.komppa@siru.fi Cover array input to interpolateAtCentroid If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC timvp@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: angleproject:5952 Change-Id: Ic3a29ba2ae65ef1660c02b765a8fd767c6a5e133 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2890549 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Yuly Novikov 859ed396 2021-05-11T16:58:55 Follow up on Vulkan headers update to 1.2.177 Removing duplicate definitions in ANGLE. Bug: angleproject:5905 Change-Id: Ie62ad39a1ebc0d8b0d2c005723f461bc7309eade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
John Plate 93aff937 2021-05-08T16:46:22 Refactor CL platform object Move GetPlatformInfo implementation from stubs to cl::Platform, because stubs are meant to be small. Also move CLPlatformImpl::Info instance to cl::Platform as it is more efficient to be accessed from there, and more consistent with cl::Device. Bug: angleproject:5904 Change-Id: I4c0ba6390467d6ef357e38a5ef08f54b0a88d423 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880663 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate e369a282 2021-05-08T14:08:28 Implement CL device object for front end and passthrough Bug: angleproject:5904 Change-Id: I17f6d10ed59c62fe9126d29b7de2c127c5d0039a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880662 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: John Plate <jplate@google.com>
Jeff Vigil d52ed4bd 2021-03-25T14:31:03 EGL: setup extension EGL_EXT_protected_content Add extension to registry Update hashes Bug: angleproject:3965 Change-Id: Ie2808b8a599ae4adbf6f2f1d24db046799f594df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800412 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill cd535d2c 2021-05-11T13:13:55 infra: Switch Android ARM64 bots to compile-and-test. This will start to trigger tests on the Pixel 4 64-bit bots. Patch Series: 1. http://crrev.com/c/2885381 2. http://crrev.com/c/2885346 3. This CL 4. http://crrev.com/c/2885384 Bug: angleproject:5941 Change-Id: Ib76fd27d0814896522aad84443f52b7f47566e85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885383 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 4901ac64 2021-05-06T15:15:57 FrameCapture: Capture GLES1 specific states. Implement capturing GLES1 specific state by checking the difference to the default state using getEnableFeature. When getEnableFeature is called from a context version higher than 1 and a GLES1 state is requested, an assertion is hit. Therefore the context version needs to be determined before calling getEnableFeature. Use the available isTextureTargetEnabled function to determine GL_TEXTURE_2D and GL_TEXTURE_CUBE_MAP states in getEnableFeature. Return false in isTextureTargetEnabled when mTextUnitEnables is empty, so the vector is not accessed when not initialized, which was the case for a default state. Bug: angleproject:5893 Change-Id: I66ee41c3bf7a8e1f04a8a4ce0461fddc16f9a013 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877237 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Charlie Lao 46a139ad 2021-05-06T11:20:51 Vulkan: set DS layout before using it in the endRenderPass In CommandBufferHelper::endRenderPass(), we are checking depth stencil's initialLayout to change storeOp to None if the layout is read only. But the layout was set after that check, which essentially voids the optimization. This CL moves the finalizeDepthStencilImageLayout() call before the layout is used. This CL also moves the depth stencil loadOp/storeOp to a new function finalizeDepthStencilLoadStoreOp(). When depthImage gets deleted before renderpass ends, we could also apply the same load/store optimization just like we did at endRenderPass() time. Bug: b/187425444 Change-Id: I89814274352f09cbf1f7b58a91bbaf131b983fb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877933 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill 6e3c5321 2021-05-11T12:17:17 infra: Remove old TODO. Bug: angleproject:5114 Change-Id: I3b7255cc06bffd177f0b5ee8cad12bf2aad3089e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885382 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten e19182ce 2021-05-11T09:53:47 Suppress MultithreadingTest.MultiContextClear on Linux+Nvidia MultithreadingTest.MultiContextClear/ES3_Vulkan_NoVirtual is flaky on linux-clang-rel NVIDIA, so it's being suppressed for now. Bug: angleproject:5945 Change-Id: I9ef142c57b3fcf5224732edcea1650634ecc18ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887905 Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 3b10dda6 2021-05-05T11:51:00 Change to module directory when loading swiftshader ICD. When loading vulkan, we can be running from any directory. We need to change to the module directory to ensure the swiftshader ICD is loaded properly. For example, in some Chrome releases, libGLESv2.dll and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe Bug: chromium:1198567 Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 930db294 2021-05-10T19:19:31 infra: Add Android swarming spec placeholder. These will trigger tests on the Pixel 4 in standalone. For now we do not specify any tests. Patch Series: 1. This CL 2. http://crrev.com/c/2885346 3. http://crrev.com/c/2885383 4. http://crrev.com/c/2885384 Bug: angleproject:5941 Change-Id: Iad1bc27c316724b244fbfbf694f6e83fdf5c0507 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885381 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Lubosz Sarnecki 83e5bb97 2021-05-06T15:15:42 FrameCapture: Don't capture shader functions on GLES1. Since an internal default shader is created and captured here in the GLES1 case, we need to check for the context version to skip capturing glUseProgram and emit an update call in GLES1 traces. Bug: angleproject:5893 Change-Id: Iac9bc05234fbc87c1f64264b5c12b9b117522bad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877236 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll 125f128e 2021-05-11T10:01:18 Roll vulkan-deps from d3354ebca460 to 055e71b2a367 (1 revision) https://chromium.googlesource.com/vulkan-deps.git/+log/d3354ebca460..055e71b2a367 Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/5ef1ec1b87..0aca21bce7 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I75ea4a8ae6a21e51b274f6a1dcff80c1aa924ab7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885449 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 07eaa8ee 2021-05-11T10:01:16 Roll SwiftShader from e260190edbd2 to dcb33711bd4b (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/e260190edbd2..dcb33711bd4b 2021-05-10 srisser@google.com Allow unrestricted depth bounds 2021-05-10 srisser@google.com Make clang-format-all.sh git aware 2021-05-10 sugoi@google.com Reduce size of SampledImageDescriptor 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I3e0bdad486c078fa765c7a4ba980c89257cdbb11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2886667 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Lubosz Sarnecki 078ebbcf 2021-05-06T17:07:14 FrameCatpure: Move capturing default vertex attribs to function. Don't capture these on GLES1, due to the unavailability of glVertexAtrrib4fv. Bug: angleproject:5893 Change-Id: Iafbc9219cfc0a0c1d0a55e112ee88d7180ed94f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877235 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki e40edf92 2021-05-06T17:06:58 FrameCapture: Add GLES1 support to CaptureVertexArrayData. Implement CaptureVertexPointerES1 that captures specific GLES1 vertex pointer functions depending on the attribute index. Use GLES1 capture functions in CaptureVertexArrayData by detecting the current context version. Implement VertexArrayType function in GLES1Renderer to get a ClientVertexArrayType enum from a vertex attrib index. Bug: angleproject:5893 Change-Id: I442b2e29475ca817860388cafc120db90a0fb9c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846838 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki eb91ebc9 2021-05-07T16:31:52 DEPS: Add Android tombstone resolution dependencies. Add third_party/android_platform and tools/python from the Chromium git to satisfy dependencies for the build/android/tombstones.py script. Bug: angleproject:5933 Change-Id: Ie19eec46c8cab208cde5064118ae655303e12fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878848 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll e72fa36e 2021-05-11T07:02:10 Roll Chromium from 518c3462c0a9 to fff9d6fb8ddf (568 revisions) https://chromium.googlesource.com/chromium/src.git/+log/518c3462c0a9..fff9d6fb8ddf 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 timvp@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/9afdbde777..4ff4105cd8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/af6ff0bdef..504fae9f10 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1fbada9f29 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1039f6ca14..cb17bc6028 * third_party/r8: 9JovxpDv8ZqFl60_eHo4hT-Ez0CelcMCoM9Cv5UJMz4C..gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/eb9ce8c993..618ddecd59 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/dbcffda598..e76c8f17cf * tools/luci-go: git_revision:91769f0e2541d15de294dfc780205e98b49f7431..git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2 * tools/luci-go: git_revision:91769f0e2541d15de294dfc780205e98b49f7431..git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2 * tools/luci-go: git_revision:91769f0e2541d15de294dfc780205e98b49f7431..git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/d9766067a3..df10bb0bf8 * tools/skia_goldctl/linux: UV02xIZDvNaCcrummY2Hd5zNO4S7F3pl_ZatqFmeRboC..EWfIod1MP71b48GlHnS5Rv9JpBzeTRQ6viIPDfFUSFEC * tools/skia_goldctl/mac: aG3drSoyskf8FOxdSDXo_p3ub85yK9mX_DmXJa605cUC..5o7ziB6qRrSdtYJwKop8-5OFmvVQcxuNkGY1DRYggMsC * tools/skia_goldctl/win: OB_O_MOYSLYScAVrzlIsc9a0JIf54AiYzG1WNNSCtyIC..O2WsBEJgyjTsib6LvzoNqqXwfSylJFfTRxEKYr-IsocC No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: I70f2c157f5165905a9d3aca98dfccb7768b87d0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885448 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 2ba3763e 2021-05-10T10:08:27 Capture/Replay: reset CWD after the test ends As suggested by Jamie Bug: angleproject:5849 Change-Id: I3e548935a9119b7ca7ca392c50bcb0f58ae3e974 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2882578 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 2e84e59a 2021-05-10T17:37:28 Skip EndWithDifferentProgram() on Vulkan+Pixel 2 Skip the the test TransformFeedbackTest::EndWithDifferentProgram() on Vulkan + Pixel 2 since it appears to be flaky. Test: TransformFeedbackTest::EndWithDifferentProgram() Bug: chromium:1207380 Change-Id: Iedfe1e96a204eca5954097be9e61820b775eb0b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2886358 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill caf9742d 2021-05-10T11:45:58 samples: Use rpath on Linux/ChromeOS. This will allow us to load ANGLE libraries without needing LD_LIBRARY_PATH. Bug: None Change-Id: Iaa389b3a42fed37216e175bee080a9f8fde3eb0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2884418 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 0639f7a9 2021-05-10T13:24:41 Check angle_has_build before including runtime_deps. This target doesn't exist in Skia. Bug: angleproject:5940 Change-Id: I0095b771c0d57ec45bfd9294962c540d70679e6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2884700 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 913bc473 2021-05-07T11:37:01 Tests: Add --fixed-test-time option Similar to --max-steps-performed, don't do any calibration and just run flat out for a fixed amount of time. Also rename --test-time to --max-trial-time to reflect what the parameter actually does, limiting each trial to a ceiling. Also remove a redundant check in doRunLoop. Test: angle_perftests --fixed-test-time 20 Test: angle_perftests --max-trial-time 2 Bug: angleproject:5935 Change-Id: I854799a734cd6c019399f5a1444b4ef5f659ddf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878937 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 74177f31 2021-05-09T21:15:09 Tests: Run Android tests fullscreen In order to hide the status bar and hopefully prevent any layers from rendering on top of our traces, make all Android tests run fullscreen. Test: angle_perftests Bug: angleproject:5937 Change-Id: I649104a7d95b7f056b411e180632524a85b7c4f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880335 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi daeac238 2021-05-08T22:09:38 Translator: Ensure structs and blocks are uniquely defined A new AST validation is added to ensure that the same TStructure or TInterfaceBlock is not redundantly defined. This helps with SPIR-V generation by allowing the id to be used as key in a hash map that looks up the corresponding SPIR-V type id. A bug is fixed where the Vulkan driver uniform declaration created two identical declarations for ANGLEDepthRangeParams. A number of other bugs are also fixed in this change, where if a variable declaration is eliminated (for example due to constant folding, or inactive interface variable removal) and it contained a struct specifier, the struct declaration was also removed. OutputGLSLBase had a hack where structs were declared on first encounter, which was incorrect as the scope of the declaration could change. Those bugs are fixed and this hack is removed. Bug: angleproject:2733 Bug: angleproject:4889 Bug: angleproject:5936 Change-Id: I8e13748c0bf552ae8b052249282769a1f0775603 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2881942 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>