Log

Author Commit Date CI Message
Shahbaz Youssefi bc8fe7dd 2021-09-24T22:50:32 Translator: Fix removing inactive output vs SH_INIT_OUTPUT_VARIABLES The code that SH_INIT_OUTPUT_VARIABLES adds for inactive outputs is also removed with this change. Bug: chromium:1253016 Change-Id: I3caeb628487354de943f7b53f7462f58baa3eca8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183107 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 93911990 2021-09-24T12:14:33 Add regression test for PBO write to vertex buffer. There was no test coverage for the "packBuffer->onDataChanged()" call in Framebuffer::readPixels. Bug: angleproject:6371 Change-Id: Ib7ccf965a2375077046e21949dc26dc800abff09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3182700 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny 55690b1c 2021-09-20T17:06:31 Capture/Replay: Updated expectations: one fixed, one skip Bug: angleproject:6324 Bug: angleproject:6180 Change-Id: I8537e684e63c2000bb877b585f9d8e9be42546f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169657 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
angle-autoroll 32279f6e 2021-09-27T10:01:08 Roll SwiftShader from c710de974936 to efbbb2f07b36 (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/c710de974936..efbbb2f07b36 2021-09-24 capn@google.com Rename rasterOperation() to blendColor() 2021-09-24 capn@google.com Support self-resolving vkGetInstanceProcAddr 2021-09-24 nicolascapens@google.com Regres: disable logging of decompiled SPIR-V and empty loginfo 2021-09-24 capn@google.com Fix exported extension functions 2021-09-24 capn@google.com Refactor SPIR-V binary optimization 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: I2c7ecd7d3f1ef8759b4f6e3021a5dcd5f1d7def5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3186271 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 22f838df 2021-09-27T07:00:26 Roll Chromium from 7292aaf5e212 to 832ba3ce1a28 (499 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7292aaf5e212..832ba3ce1a28 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/a1987bce29..6476f40242 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/bd027a9094..6b0a116062 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/4402489ec5..a46a6332f7 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..444aba89e1 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a6baf70a45..4a17839cda * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/77c132322f..dfa96e8145 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/77d41f045a..efd7c814c2 * tools/luci-go: git_revision:028cd41e0f4b2bec99d94c780caf2f978e09b182..git_revision:e9585787c808e21d6eaa2c7d7a928dbc19999172 * tools/luci-go: git_revision:028cd41e0f4b2bec99d94c780caf2f978e09b182..git_revision:e9585787c808e21d6eaa2c7d7a928dbc19999172 * tools/luci-go: git_revision:028cd41e0f4b2bec99d94c780caf2f978e09b182..git_revision:e9585787c808e21d6eaa2c7d7a928dbc19999172 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/2b72175863..4853b26dab * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/8cd780c1ff..e0429447bd * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2946be9172..f6c353e258 * tools/skia_goldctl/linux: NzB8fnDNSFKL_tbRaBl6gO6f7Ljdwcdt9VbE3hQfjaoC..qxkaCck3N7NNLCHvQM2gksDboY80QAXbM9dfnJD0-y8C * tools/skia_goldctl/mac: AjcIwArqfleDRrG1XpbN5DU5ZILcha99HMwrLEidm7kC..U5z-9pZVF7_n6d_eDRqkGGExXzWAwaI9weKVJ0UNCWIC * tools/skia_goldctl/win: FqoNmLPfLGQu3lutK7aebZdmo2pHBMK9hZoKUkC9njkC..mXlfDemOBUbOngfIwncHzw56bAtEBcVh15WyA9ikp2cC Clang version changed llvmorg-14-init-3940-gafc45ff0:llvmorg-14-init-4855-ged687c02 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/77d41f045a522bd39d8ec5e9307363bda56a036c..efd7c814c2f02b1a1219ff649489b8fcfff342f4/scripts/update.py Bug: None Tbr: geofflang@google.com Change-Id: I7dbd19837483fe7ed4bc9ae568f5fcdf3340fa60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3185015 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 29c01d51 2021-09-20T20:49:29 Capture/Replay: Write the context serialization file correctly This is what was done before we switched to not changing the working directory, and what is expected by the test script. In addition, the captured contexts were also written to the wrong files, i.e. the replay context to the CapturedContext file, and the captured context to file ReplayedContext file, so fix that too. Bug: angleproject:6412 Change-Id: I81906e3f64b2caf0002ca6a28cfce2a3d552fc8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3171354 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Lubosz Sarnecki 9994110b 2021-09-09T15:29:13 Tests: Add Nier Reincarnation trace. Requires EGL_KHR_gl_colorspace and GL_KHR_texture_compression_astc_ldr. Test: angle_perftests --gtest_filter="*nier_reincarnation*" Bug: angleproject:6366 Change-Id: Ibb71520762cf9c0a17047324557e70215754bbbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151818 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki e024635d 2021-09-10T13:56:28 ANGLEPerfTest: Skip tests when missing color space support. Make tests where a non-linear colorspace was requested on platforms that do not support EGL_KHR_gl_colorspace non-fatal. Add a initializeGLWithResult function to GLWindowBase, returning a new GLWindowResult enum and wrap it in EGLWindow and WGLWindow. Bug: angleproject:6366 Change-Id: Ib57327c4d988d82064272f229f8ad59287541623 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151833 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki 952cb6a1 2021-09-24T11:24:15 WGLWindow: Add support for color spaces. Add WGL_ARB_pixel_format and WGL_EXT_colorspace to generate_loader.py. Call wglChoosePixelFormatARB from WGL_ARB_pixel_format and use enums from WGL_EXT_colorspace. Fall back to ChoosePixelFormat if wglChoosePixelFormatARB is not available or does not find a format. Bug: angleproject:6366 Change-Id: I900f6fd6ee0501d5343f21c303b40f1347a53765 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3181720 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Shahbaz Youssefi eb1d5ca5 2021-01-29T15:34:49 Vulkan: Enable sync validation Based on a change by tobine@google.com Bug: angleproject:5290 Change-Id: Ieae1be5a29f0dcb3ea8aaa04e77fc402380a08b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3171432 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill afe0dd9e 2021-09-24T12:02:08 Revert "rename use_x11 to ozone_platform_x11" This reverts commit 86f2854579ae7aaa4e425b8846693e44c3aede36. Reason for revert: Suspected for breaking the ANGLE roll: https://crrev.com/c/3171455 Original change's description: > rename use_x11 to ozone_platform_x11 > > Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is > deprecated. During the transition period use_x11 == ozone_platform_x11. > > Bug: chromium:1096425 > Change-Id: Ia691ce249bc49040956bed033891799127a57bbc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: chromium:1096425 Change-Id: Ifa0a2f5f1323704d7e9d308210efb26c9987b5cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3181561 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll a427a7f4 2021-09-24T10:01:40 Roll SwiftShader from 6cbc24686901 to c710de974936 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/6cbc24686901..c710de974936 2021-09-23 geofflang@google.com Only use -Wno-shadow on clang builds. 2021-09-22 capn@google.com Compute the image size in 64-bit arithmetic 2021-09-21 pkasting@chromium.org Force -Wno-shadow to avoid variable shadowing warnings. 2021-09-21 swiftshader.regress@gmail.com Regres: Update test lists @ 6cbc2468 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I93d78ec8cf6b6f60160c2b34fdc3c56004a1ac0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3181484 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8d70df38 2021-09-24T07:00:09 Roll Chromium from 00cee3eca956 to 7292aaf5e212 (453 revisions) https://chromium.googlesource.com/chromium/src.git/+log/00cee3eca956..7292aaf5e212 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/c2c1dc6ddc..a1987bce29 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7ea3a871db..9d33a71117 * buildtools/linux64: git_revision:69ec4fca1fa69ddadae13f9e6b7507efa0675263..git_revision:de86ec4176235871a7cb335756987e41246dae4a * buildtools/mac: git_revision:69ec4fca1fa69ddadae13f9e6b7507efa0675263..git_revision:de86ec4176235871a7cb335756987e41246dae4a * buildtools/win: git_revision:69ec4fca1fa69ddadae13f9e6b7507efa0675263..git_revision:de86ec4176235871a7cb335756987e41246dae4a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d7cd466bd1..bd027a9094 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/ba539c18fc..4402489ec5 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/9e54ae41a0..300b75650f * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3d49e1ccfd * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/04d9c83459..a6baf70a45 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/948efd2585..77d41f045a * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/13d38aef23..2b72175863 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/c3ea3d1418..8cd780c1ff * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2a0d7f0fb7..2946be9172 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I83e831c929a7048293c6d08cde73110ca85b22df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3180789 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 2d79918f 2021-09-16T16:43:53 Vulkan: Pass command pool around Preparatory work for re-enabling support for Vulkan secondary command buffers. The command pool being passed around is not yet used. Additionally, the work to allocate, initialize, reset and recycle command buffers has been refactored to a helper class for better abstraction. The CommandBufferHelper class now holds a pointer to the pool it was allocated from for clean up. Each ContextVk has its own command pool, where Vulkan secondary command buffers are allocated from. The command pool that CommandProcessor had was unused and is removed by this change. Bug: angleproject:6100 Change-Id: I0d4fa6a76ef06e88779145ffe9c613518a8eb390 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167213 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Ian Elliott 78393614 2021-09-21T19:14:15 Vulkan: Fixed bugs about VK_SUBOPTIMAL_KHR Image Acquire result This change fixes the following bugs in rx::WindowSurfaceVk with VK_SUBOPTIMAL_KHR Image Acquire result: - Bug in acquireNextSwapchainImage() method: - If VK_SUBOPTIMAL_KHR returned from vkAcquireNextImageKHR(), the method simply returns since the result, and vk::DeviceScoped<vk::Semaphore> acquireImageSemaphore, will be destroyed. However, acquireImageSemaphore can't be destroyed because it is already used by the Presentation Engine. - Bug in initializeImpl() method: - Method allows VK_SUBOPTIMAL_KHR as successful result. However, acquireNextSwapchainImage() will not finish, leaving incomplete state. Attempting to use the framebufer will cause ASSERT/Crash. Solution: - Changed acquireNextSwapchainImage() method to ignore VK_SUBOPTIMAL_KHR result. - Remove checks for VK_SUBOPTIMAL_KHR from Acquire in other places. This solution was chosen, because it is simplest, and VK_SUBOPTIMAL_KHR is properly handled in the computePresentOutOfDate() method. Patch authored by Igor Nazarov <i.nazarov@samsung.com> Bug: angleproject:6401 Change-Id: I90bef7871c3bdcf28240a034927d5b2c705f4367 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174729 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares d71dc819 2021-09-22T16:01:06 Fixes for RowMajor test failures row_major matrices get translated to column major matrices and the expressions rewritten. To do this temporary variables that contain the column and row index expressions are moved to separte statements before the matrix expression itself. When this happens it breaks side effects and short circuits in the expression. The solution is to call SeparateCompoundExpressions before calling RewriteRowMajorMatrices. Bug: angleproject:6386 Change-Id: I4d819ade959e2a875495f62733e11d86560d3fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177337 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares 6106da49 2021-09-22T16:18:21 Indent Generated GLSL Before: in vec4 _ua_position; void main(){ (gl_Position = vec4(0.0, 0.0, 0.0, 0.0)); (gl_Position = _ua_position); } layout(shared) uniform _uG{ float _ufoobar; } _ug; struct _uS { int _ufoo; float _ubar; }; layout(shared) uniform _uT{ _uS _us; float _um; } _ut; float _ufunc(in _uS _ustructVar){ return _ustructVar._ubar; } out vec4 _uoutColor; void main(){ float _uv = 0.0; for (int _ui = 0; (_ui < _ut._us._ufoo); (++_ui)) { int _uk = 0; while ((_uk < _ut._us._ufoo)) { (_uv += _ufunc(_ut._us)); if ((_uv > 100.0)) { break; } else { (_uv += 5.0); } switch (_uk) { case (0): (_uv += 3.0); break; case (1): (_uv += 1.0); break; default: (_uv -= 2.0); break; } } } (_uoutColor = (vec4(_uv) + vec4(_ug._ufoobar))); } After: in vec4 _ua_position; void main(){ (gl_Position = vec4(0.0, 0.0, 0.0, 0.0)); (gl_Position = _ua_position); } layout(shared) uniform _uG{ float _ufoobar; } _ug; struct _uS { int _ufoo; float _ubar; }; layout(shared) uniform _uT{ _uS _us; float _um; } _ut; float _ufunc(in _uS _ustructVar){ return _ustructVar._ubar; } out vec4 _uoutColor; void main(){ float _uv = 0.0; for (int _ui = 0; (_ui < _ut._us._ufoo); (++_ui)) { int _uk = 0; while ((_uk < _ut._us._ufoo)) { (_uv += _ufunc(_ut._us)); if ((_uv > 100.0)) { break; } else { (_uv += 5.0); } switch (_uk) { case (0): (_uv += 3.0); break; case (1): (_uv += 1.0); break; default: (_uv -= 2.0); break; } } } (_uoutColor = (vec4(_uv) + vec4(_ug._ufoobar))); } Bug: angleproject:6428 Change-Id: Ica25151e68eb0defd85a3b6241db442d8eb84743 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177339 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Tim Van Patten a1b829dd 2021-09-22T18:29:08 Vulkan: Retain src buffer in acquireAndUpdate() It's possible for acquireBufferHelper() to garbage collect the original (src) buffer before copyFromBuffer() has a chance to retain it, so it must be retained before then. Previously, we were relying on the retain calls in copyFromBuffer() to be sufficient. However, there is a race condition when the asynchronous CommandProcessor is enabled, since the garbage could be freed before copyFromBuffer() has a chance to retain the buffer (and allow destroyIfComplete() to skip destroying the object). For the full context, see the comment chain here: https://chromium-review.googlesource.com/c/angle/angle/+/3146319/16..24/src/libANGLE/renderer/vulkan/BufferVk.cpp#b833 Bug: angleproject:5971 Change-Id: I7c812069343fdad948189d696bfebab8da68c1a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3179866 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Peter Kasting 4f2b2995 2021-09-23T09:50:46 Fix -Wshadow. This still disables the warning for glmark2 instead of fixing it, to avoid needing to upstream a patch. Bug: chromium:794619 Change-Id: Ice602996041d6090c9b09ee81c8ed095c4fa6b2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3179860 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e1a9af6a 2021-09-20T10:42:03 Translator: Fix HLSL vs for loop's init not having initializer The handleExcessiveLoop code expected that if a for loop has an init expression that it must necessarily have an initializer as well. That is not true in (fuzzer-produced) code such as following: for (int i; ...; ...) Bug: chromium:1238182 Change-Id: Id761e937a34a6b2feac1266e22207350a3bd616c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3170114 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Lubosz Sarnecki da02c6d9 2021-09-22T11:54:42 samples: Improve TorusLighting samples. Adjust the code style of the ES1 and ES2 TorusLighting samples to match the one of TorusBufferStorage. Use the step function override to calculate rotation and move state changes that are required only once out of the draw function. Bug: angleproject:5751 Change-Id: Ie663c7ecfd306504b6f9e9390ec24b251194f970 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3178904 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 3369f720 2021-09-08T15:23:22 samples: Add torus bufferstorage ES3 sample. Adds a sample that uses GL_EXT_buffer_storage and the GL_MAP_COHERENT_BIT_EXT to update colors. Expose IsGLExtensionEnabled in SampleApplication. Bug: angleproject:5857 Change-Id: I1ba2962cda939da527a17c49a3ef430a69486c52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3168628 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Jamie Madill 3e234e24 2021-09-17T11:45:01 PerfTests: Updates to several tests. Bug: angleproject:6371 Change-Id: If71c79fd363f7463098b571550af6ceb0634c00d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176440 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll 368c0ce9 2021-09-23T07:53:00 Roll Chromium from 0ca662a00a61 to 00cee3eca956 (280 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0ca662a00a61..00cee3eca956 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/66bad00683..c2c1dc6ddc * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d4c1fd4eeb..d7cd466bd1 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e155ea5c89 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/eff810e93d..04d9c83459 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I853b4aac50807583c6c3de7901af62af12ee422a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3178242 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 17b50dbc 2021-09-22T23:35:45 Roll Chromium from f50ae42daa8b to 0ca662a00a61 (158 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f50ae42daa8b..0ca662a00a61 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,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 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f34057a8e4..d4c1fd4eeb * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/48418f3dd7..ba539c18fc * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..25814bb53d * third_party/turbine: n2quuVAecebwosy5EPRjDGSO5EQU94aFRBg_EdrYtpsC..EIJ2nS3aoQlV-cKpmxr4hNR4E1Qs82brcidjG4A1I5QC * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/126012e8f7..2a0d7f0fb7 No update to Clang. Bug: None Tbr: geofflang@google.com,ynovikov@google.com Change-Id: Iadccb0fdf49e99b68e18977a3b3c6ae39ffe1424 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177641 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov a58749ed 2021-09-22T22:50:10 Revert "Add standalone experimental Mac Intel and AMD bots" This reverts commit a5bbfe2afe29ec53eccf22d33cee200be25de673. Reason for revert: qualification complete Original change's description: > Add standalone experimental Mac Intel and AMD bots > > For qualifying Mac OS 11 on Mac Retina AMD and Mac Mini 8,1 > > Bug: chromium:1241597, chromium:1128540 > Change-Id: I753b504f5910541f5d3f244d117d369937a06d38 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3150752 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bug: chromium:1241597, chromium:1128540 Change-Id: I4eb71219783651c0e63188e2c94c6ee286625430 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177332 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten 92f1eb7b 2021-09-22T16:57:01 Skip Linux+AMD ComputeShaderTest test failures The following tests are failing on Linux w/ RX 5500 XT: ComputeShaderTest.ImageBufferMapWrite/ES3_1_OpenGL ComputeShaderTest.BufferImageBufferMapWrite/ES3_1_OpenGL These tests were added as part of: 3146319: Vulkan: Add ResourceWrite to track Read and Write Access https://chromium-review.googlesource.com/c/angle/angle/+/3146319 They are being suppressed since it's only the OpenGL backend that's failing this combination, and the ANGLE changes in the CL were only in the Vulkan backend. Bug: chromium:1252169 Test: ComputeShaderTest.ImageBufferMapWrite/ES3_1_OpenGL Test: ComputeShaderTest.BufferImageBufferMapWrite/ES3_1_OpenGL Change-Id: I607979979814327eda9f3823ae3c774b86e94c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177071 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill c3e0eafa 2021-09-22T13:35:04 Revert "Perf Tests: Split samples into sub-tests on desktop." This reverts commit 90c981dafc06d6bc0696749dface1337e37784d2. Reason for revert: Causing timeouts on perf bots. Original change's description: > Perf Tests: Split samples into sub-tests on desktop. > > This adds an option to the perf test runner to split each sample of > each test into a sub-test. The sub-tests then are split among the > shards like ordinary tests, and distributed across machines. The > intent is that running on different machines will reduce inter-build > variance because of differences between test machines. > > This sampling change is only added to desktop (Linux/Win) because > Android device variance seems to be lower. > > Bug: angleproject:6090 > Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Bug: angleproject:6090 Change-Id: I92bffb98999f35274ec31a3b7567d87453feff94 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174274 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 49ac15a5 2021-09-20T11:29:01 Optimize VAO bindings. This CL makes the XFB binding tracking WebGL-only. That will speed up VAO binding changes in non-WebGL considerably. Also has a few inline micro-optimizations that may not have a large effect. Bug: angleproject:6371 Change-Id: Ib0a26a3b956dcd6ff78626e5cd6514b46270d882 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3170116 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 47992c0a 2021-09-22T08:30:49 Roll Chromium from 0537997114eb to f50ae42daa8b (490 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0537997114eb..f50ae42daa8b 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/b4be3eb78f..66bad00683 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2d497d93e4..f34057a8e4 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/be66ead525..9e54ae41a0 * third_party/android_sdk/public: yODElY4RdHopNEfpOnqjRcrpa6JMzbhYYqGD53-DjJwC..AuYa11pULKT8AI14_owabJrkZoRGuovL-nvwmiONlYEC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..25814bb53d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9a76798c9e..eff810e93d * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/7ea32d7ed3..948efd2585 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f7f70b8408..13d38aef23 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/459b0ee485..126012e8f7 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: Ifb56113c0c01a74609c2026121a4d30d4220f303 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174097 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 68c0da83 2021-09-15T12:00:08 Vulkan: Inform frontend when new buffer is allocated When a buffer is mapped with GL_MAP_INVALIDATE_BUFFER_BIT while it's currently in use, the Vulkan backend will allocate a new buffer, map it, and return the pointer to the new buffer. This was missing a call to inform the frontend that a new buffer was allocated, causing the old buffer data to be accessed in subsequent draw calls. The fix is to add a onStateChange(angle::SubjectMessage::SubjectGhosted) call when the new buffer is allocated, to inform the frontend. Bug: angleproject:5971 Bug: angleproject:6396 Test: TextureBufferTestES31.MapTextureBufferInvalidateThenWrite Change-Id: I9984d1049ab4d6a2066f4440fc710c9b93ff6ab8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163244 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 9158436e 2021-07-31T18:26:16 Vulkan: glMapBuffer(): Create new buffer (Buffer Ghosting) When glMapBuffer() is called, if the buffer is in use but not being written to by the GPU: 1.) Create a new buffer. 2.) Copy the contents of the old buffer into the new buffer. 3.) Map the new buffer and return the pointer. Creating a new buffer prevents ending the renderpass and flushing the commands to allow the in-use buffer to be mapped. This change increases Idle Heroes performance from 40FPS to 125FPS. Bug: angleproject:5971 Test: VulkanPerformanceCounterTest.MappingGpuReadOnlyBufferGhostsBuffer Test: BufferDataTest.MapWriteArrayBufferDataDrawQuad Test: BufferDataTest.MapWriteArrayBufferDataDrawArrays Change-Id: I1d433d179f9f5110a948f191c5aedda5397acac8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3065799 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Tim Van Patten 57d59e83 2021-09-07T17:41:11 Vulkan: Add ResourceWrite to track Read and Write Access vk::Resource currently only tracks accesses in general, not which type of access is being performed. This CL adds the new class ResourceWrite to track whether the access is a Read or Read/Write access and when the access completes. This allows a follow-on CL to know when a buffer is being written to by the GPU or if the GPU is only reading from a buffer. Tracking write accesses to buffers is required when attempting to "Ghost" (duplicate) GPU-read-only buffers to prevent breaking the render pass when the CPU maps the buffer memory. Bug: angleproject:5971 Test: ComputeShaderTest.ImageBufferMapWrite Change-Id: I965e3e75730719ccce77334744ae4feae33c6101 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3146319 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill 06c73b3d 2021-09-21T13:37:29 Vulkan: Lift DS feedback read-only suppression. This is now fixed upstream in the spec and the VVL. Bug: angleproject:4975 Change-Id: I6938bae49c982cc4f366c01ab10aedcaa784f972 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3173252 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kyle Piddington 7dd2361b 2021-09-17T15:43:22 Metal: ANGLE Metal AutoObjCPtr == nullptr comparison is inverted Port the fix from Webkit for this inverted comparsion Unify the nullptr type throughout all functions Bug: angleproject:6351 Change-Id: Id856af31c9eea5cc79993c3454e452d1c14d0d0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169436 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Gregg Tavares <gman@chromium.org>
Kyle Piddington f6616c71 2021-09-14T17:42:22 Reimplement transform feedback on direct-to-Metal backend Connect the Transform Feedback code generation from Webkit ANGLE to the shader specialization code. Bug: angleproject:6393 Change-Id: I090c44c6ee97e8e0af8c38433bfb74c2080784f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161455 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
YuxinHu a09dca68 2021-09-20T23:40:28 Fix app trace heap buffer overflow During runMidExecutionCapture(), we need to update mMaxAccessedResourceIDs[idType] for idType==ShaderProgram, so that we have enought slot in gShaderProgramMap2 to store the temp shader we create in GenerateLinkedProgram(). Changes in this CL: 1.Renaming Jamie's mMaxAccessResourceIDS array update function updatePreCallResourceCounts() to updateResourceCounts(). 2. Adding updateResourceCounts() to Cody's setup call post processing function scanSetupCalls(). In GenerateLinkedProgram(), we add the temp shader create call with its' tempShaderID into the shareGroupSetupCalls. After that we will run the function scanSetupCalls(), where we will be able to loop through the tempShaderID and update the mMaxAccessResourceIDS[ShaderProgram] with the correct count. Bug: angleproject:6398 Change-Id: Iee78b3b7c1908a90ee8456476902f5e52e4615dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3172005 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Jamie Madill 3666f00f 2021-09-20T16:20:50 GN: Remove the "no GTest" dEQP targets. These were unused and removing them cleans up the VS projects. Bug: None Change-Id: I1e1787ad1ceac15ecc88d9338e65b3072496066d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3173251 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kyle Piddington 59d31ea6 2021-09-17T17:43:13 Metal Direct: TinyDepthStencilWorkaroundTest.DepthTexturesStick Change code to rewrite attributes by searching for both the standard, and rewritten name. We will match with any vertex attribute variables that experienced a renaming during shader processing Bug: angleproject:6388 Change-Id: Ia6f5b87092990e9df42f1dbb87a8bf393ba50c4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169438 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Jamie Madill 786d38af 2021-09-10T17:58:39 Fix build in some configurations. Relevant configuration: - is_debug = true - angle_enable_annotator_run_time_checks = true Patch authored by Igor Nazarov <i.nazarov@samsung.com> Bug: angleproject:6401 Change-Id: I8c1ad38e71a90db8ef45d431bfefb1ff1153c1b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3165656 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 90c981da 2021-09-10T11:04:19 Perf Tests: Split samples into sub-tests on desktop. This adds an option to the perf test runner to split each sample of each test into a sub-test. The sub-tests then are split among the shards like ordinary tests, and distributed across machines. The intent is that running on different machines will reduce inter-build variance because of differences between test machines. This sampling change is only added to desktop (Linux/Win) because Android device variance seems to be lower. Bug: angleproject:6090 Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll baeab3d2 2021-09-21T10:01:34 Roll SwiftShader from b7de6caa43b9 to 6cbc24686901 (7 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/b7de6caa43b9..6cbc24686901 2021-09-20 srisser@google.com Set all provoking vertex feature bools 2021-09-20 srisser@google.com Fully support all 16-bit packed texture formats 2021-09-20 capn@google.com Optimize SPIR-V binary cache reuse 2021-09-20 capn@google.com Add optimization state to the optimized SPIR-V binary cache key 2021-09-20 capn@google.com Cache optimized SPIR-V binaries instead of compiled shaders 2021-09-20 capn@google.com Fix use of deleted shader during compute execution 2021-09-20 capn@google.com Refactor SPIR-V binary storage If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I7fb69b6fe3c6710f5a3b7510b2c3b0870232aa08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3172535 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 479864e8 2021-09-21T07:58:49 Roll Chromium from e515fa6a510e to 0537997114eb (434 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e515fa6a510e..0537997114eb 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/ae8cb5d4ef..b4be3eb78f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fb01508eb9..2d497d93e4 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/6569bfcb58..48418f3dd7 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/a03fafa895..1b1e9a3bef * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/d3031dbe70..be66ead525 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/37226d67bc..fc91ebbf8a * third_party/android_sdk/public: ZT3JmI6GMG4YVcZ1OtECRVMOLLJAWAdPbi-OclubJLMC..yODElY4RdHopNEfpOnqjRcrpa6JMzbhYYqGD53-DjJwC * third_party/android_sdk/public: qi_k82nm6j9nz4dQosOoqXew4_TFAy8rcGOHDLptx1sC..g7n_-r6yJd_SGRklujGB1wEt8iyr77FZTUJVS9w6O34C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8ec776f0d7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/cf9d64363b..9a76798c9e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6f44cf51dc..7ea32d7ed3 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/aaa76f06ab..c3ea3d1418 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/056f0e44a7..459b0ee485 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I98ab3ac2f6115b9194909ba7facd22778acc2557 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3172475 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 9184973f 2021-07-21T08:28:30 Add GetCompressedTexImageANGLE to ANGLE_get_image Includes front-end support for reading back compressed texture images. Back-end support is incomplete and will be implemented in a future CL. CL authored by cnorthrop@google.com. Bug: angleproject:6177 Change-Id: I1482b15e5ffec6120f09f51b2718cdbef07c93c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163359 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0babcb08 2021-09-14T10:49:06 FrameCapture: Scan Setup instructions The ability to add calls from a multitude of locations rather than a centralized spot has become a useful feature. But some locations were updating the max read buffer size via updateReadBufferSize, while others weren't. Rather than force everything to call a central spot for tracking, add post process scanning of Setup calls to handle updates. This is already done for frame calls in maybeCapturePreCallUpdates. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: I51d3a39ea40073d2dca50339ef4b38712b81f4ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3160500 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 46149c0e 2021-09-17T15:38:47 Translator: Fix pruning functions that declare a struct When pruning unused functions, the entire declaration of the function is removed. If the function declares a struct as part of its return value, the declaration of that struct was lost. This change makes sure that declaration survives the pruning. For example: struct S { vec4 v; } unused_func() { ... } is now replaced with: struct S { vec4 v; }; This change also makes struct usage validation more stringent. Bug: chromium:1248753 Change-Id: Idd9a87fd2e785135775cfea62995fd33adaf3c09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169691 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Maksim Sisov 86f28545 2021-09-09T15:34:23 rename use_x11 to ozone_platform_x11 Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is deprecated. During the transition period use_x11 == ozone_platform_x11. Bug: chromium:1096425 Change-Id: Ia691ce249bc49040956bed033891799127a57bbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Gert Wollny 1ae79810 2021-09-16T08:47:20 Capture/Replay: Update expectations and add bugs Bug: angleproject:6314 Bug: angleproject:6334 Bug: angleproject:6399 Bug: angleproject:6400 Change-Id: Ibf1e747080bcbf482e399db18c1f14e8af61fd26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162438 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
angle-autoroll c843d71a 2021-09-20T07:01:23 Roll Chromium from 8878e9feb127 to e515fa6a510e (388 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8878e9feb127..e515fa6a510e 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/48f708c077..ae8cb5d4ef * testing: https://chromium.googlesource.com/chromium/src/testing/+log/01b94c6d53..fb01508eb9 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/2d100d89bb..a03fafa895 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..bb0675d848 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/5a0f43aebe..cf9d64363b * third_party/r8: j4P6kTwiJeMkYRbaOqRCB-ZrYyISP0NrcyNNAd8MRM0C..ntKr-aGawyw4goIV50HidiUHTHey-mwhwgLiD3Th8jUC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c8d8b3ecbd..6f44cf51dc * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a9a88b2c1d..f7f70b8408 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/85ea130fcb..aaa76f06ab * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0c6e9713c2..056f0e44a7 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: Ic3c7c54a2d7fe5a05de30ba6801a34d0c5bf5a97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3170708 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 458389f2 2021-09-02T22:41:40 Vulkan: Support Linux dma-bufs This change adds support for EGL_EXT_image_dma_buf_import and EGL_EXT_image_dma_buf_import_modifiers on top of Vulkan's VK_EXT_external_memory_dma_buf and VK_EXT_image_drm_format_modifier. Bug: angleproject:6248 Change-Id: I581987f88e9ddcf351dc721f499f63912dca05f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3145610 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten c85d9a19 2021-09-07T11:41:10 Destroy all unreferenced Contexts resources during terminate() When eglTerminate() is called, all of the Contexts that the Display owns need to be destroyed if they are not referenced by (current to) any Threads. This also requires a change to Display::releaseContext(), to remove the recursive call to Display::terminate() that could occur when releasing the Contexts during terminate(). Bug: skia:12413 Test: EGLContextSharingTestNoFixture.EglTerminateMultipleTimes Change-Id: Ibd0a3e22725d29875c4089bdaae47c98e5084f35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144146 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafael Cintron c8e13389 2021-09-16T16:25:11 Fix memory leak in StreamProducerD3DTexture.validateD3DTexture Calling ID3D11DeviceChild::GetDevice will add a reference to the D3D device before passing it to the caller. Hence, we need to release the device when we're finished using it. Bug: angleproject:6403 Change-Id: I68cc8f64b3f9866cd6f1105334d86ee6774da52c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167013 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Jamie Madill 1af5c46c 2021-09-14T14:40:49 Move JsonSerializer from libANGLE to common. This lets us use the serializer from outside of libANGLE. The plan is to use it to serialize a list of supported extensions from the tests. Bug: angleproject:6379 Change-Id: Ib7b64cca32e733e342b80f893d3752318089f0c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163361 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 48f86941 2021-09-17T12:01:53 Fix libpng warning. Bug: chromium:1190892 Change-Id: I72c4c03878b3e26b7b79d4cc5975c71a21bf2d08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169192 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 89c555f1 2021-09-17T00:46:22 Roll libpng to current upstream top of tree Bug: chromium:1190892 Change-Id: I8327962578d2696f2da060b7823bc0aad21e5659 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167752 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Joe Mason 455362d3 2021-09-16T19:14:51 Update link to Chromium Modern C++ style guide Bug: chromium:1243839 Change-Id: I6a6a25fdb86db1b2dfefbf156697bd0898cb948e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167210 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi bf7fac12 2021-09-16T21:18:04 Vulkan: Fix getting driver priority with async command queue Bug: angleproject:6245 Change-Id: Id6b6f83177dde85867685f814c5bdef4a5c97367 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167212 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 883dcaae 2021-09-17T10:01:34 Roll SwiftShader from 0fa19bd6c285 to b7de6caa43b9 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/0fa19bd6c285..b7de6caa43b9 2021-09-16 srisser@google.com Return error for requested unsupported features 2021-09-16 capn@google.com Clamp depth before the depth test 2021-09-16 capn@google.com Skip depth bounds test when there is no depth attachment 2021-09-16 capn@google.com Rename render target to color buffer 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: Ibb8bfb09c455bd6a618424151269e3f49dd94383 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3168038 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7daecc63 2021-09-17T08:14:49 Roll Chromium from eac868c597aa to 8878e9feb127 (440 revisions) https://chromium.googlesource.com/chromium/src.git/+log/eac868c597aa..8878e9feb127 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 jonahr@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/f2c0273757..48f708c077 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/a5b6419452..c883cb129d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9b804c0010..01b94c6d53 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b072fac88 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/53075227f3..5a0f43aebe * third_party/turbine: Om6yIEXgJxuqghErK29h9RcMH6VaymMbxwScwXmcN6EC..n2quuVAecebwosy5EPRjDGSO5EQU94aFRBg_EdrYtpsC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/83b09bd609..c8d8b3ecbd * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b44ad59461..0c6e9713c2 Clang version changed llvmorg-14-init-3710-gd11a0c5d:llvmorg-14-init-3940-gafc45ff0 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/83b09bd60932858bb4c44c1ce043f81d35a56a61..c8d8b3ecbd25e2ad08a56a7eacc74928772aafe3/scripts/update.py Bug: None Tbr: jonahr@google.com Change-Id: Ib950ab2d4a7566da1b11e28de90a7688524aee2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167862 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gregg Tavares e3e221f9 2021-09-15T14:28:34 Make backend ObjC struct match uniform block The structure defined in ContextMtl.h needs to match the uniform block defined in DriverUniform.h/.cpp. XCode will sometimes assert when they don't match. Bug: angleproject:6394 Change-Id: I8f3fe2bcc6ad9b96dec2c3e77cdb99515736cdc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163861 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 23b16743 2021-09-14T10:29:14 Fix compilation when disabling D3D back-ends. Common code areas weren't compiling when disabling combinations of the D3D9 and D3D11 back-ends. With manual testing this fixes various combinations of angle_enable_d3d9/d3d11/gl. Bug: angleproject:5925 Change-Id: Ie14f2b4c6169cf96c662e7ae6999751007d9adb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162836 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 653973e4 2021-09-15T14:06:34 Capture/Replay: Disable when no arguments specified. Bug: angleproject:6397 Change-Id: I09fb060044fd280f50a3b8ce71d8d455dbd4985f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163360 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 14539cab 2021-09-16T12:06:09 Suppress failing end2end tests on direct-to-metal/M1 Two tests from UniformBlockWithOneLargeArrayMemberTest fail when using the direct-to-metal backend. Suppress until this is fixed. This CL also adds parsing for the Mac M1 chips to our end2end test expectations. Bug: angleproject:5505 Bug: angleproject:6390 Change-Id: Ia578e4c582f1522eec9e1cb2c499e3e717b67c87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3164820 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Ian Elliott 44935e79 2021-09-15T15:23:10 Change top-level AGI debug marker to not show parameters Per AGI usability request. Bug: b/195784227 Change-Id: I674848944e9bc9eb9da1369c977b9d7d624a0788 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163480 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu dc08289d 2021-09-13T16:48:58 Add a cubemap array texture validation In ValidateTexture3DDestinationTarget(), Check if the cube map array extension is enabled if the TextureTarget is CubeMapArray. This helps catch the missing extension error earlier in ValidateES3TexImage3DParameters(), and the program won't crash when getTextureByType() is called later in ValidateES3TexImageParametersBase(). Bug: angleproject:6152 Change-Id: I2f1876f81688e7eef68bdf99276a3a9fafa224da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161440 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexis Hetu 158ef351 2021-09-15T13:40:28 Fix integer overflow in BlockLayoutEncoder BlockLayoutEncoder::mCurrentOffset's computation had the possibility of causing integer overflows in multiple places, so this CL adds CheckedNumeric variables in a number of these occurrences in order to prevent integer overflows and causing issues. The issue in this case was an integer overflow causing the code in ValidateTypeSizeLimitations.cpp to use an invalid result from "layoutEncoder.getCurrentOffset()", which ended up compiling a shader which would later cause an OOM error. Bug: chromium:1248665 Change-Id: I688d669f21c6dc2957e43bdf91f8f8f08180a6f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163356 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Jamie Madill b918b1c6 2021-09-10T16:44:59 Auto-generate GLES extensions. Uses the data from registry.xml combined with gl.xml to produce the necessary header and source file with the strings map. Also updates the list of supported extensions. Several extensions were missing from the supported extensions map. ARB_sync and NV_robustness_video_memory_purge require some specific tweaks to get the generator to accept them as gles extensions. Also includes a generate markdown file that lists supported exts. Bug: angleproject:6379 Change-Id: I95bd589aa31a62b4a008de24408c7823a49023ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157418 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll 4fbbd097 2021-09-16T07:01:17 Roll Chromium from 971faecbb6fc to eac868c597aa (476 revisions) https://chromium.googlesource.com/chromium/src.git/+log/971faecbb6fc..eac868c597aa 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 jonahr@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/3244870546..f2c0273757 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a8dc305c6e..9b804c0010 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/fec7b4e901..6569bfcb58 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b072fac88 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/287ed7c2da..53075227f3 * tools/luci-go: git_revision:dc21267f89df3981e809fe9566591d6916ae758b..git_revision:028cd41e0f4b2bec99d94c780caf2f978e09b182 * tools/luci-go: git_revision:dc21267f89df3981e809fe9566591d6916ae758b..git_revision:028cd41e0f4b2bec99d94c780caf2f978e09b182 * tools/luci-go: git_revision:dc21267f89df3981e809fe9566591d6916ae758b..git_revision:028cd41e0f4b2bec99d94c780caf2f978e09b182 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/be3cc1296f..85ea130fcb * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/872882ff0e..b44ad59461 No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: Ifa25013e5cdb14e161329c56edcdf32a834cbc98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163871 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 2eba872a 2021-09-15T12:33:34 Capture/Replay: Run binary save/load tests only when supported Bug: angleproject:6325 Change-Id: Ibd4a62f93030cd01b30e8636e7663176a1763119 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162436 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Gert Wollny 9121a79d 2021-09-14T11:57:32 Capture/Replay: Don't set CWD and pass path information instead With that we avoid complication when evaluating the module path that is used to load the test modules. Fixes: 2f3e4db838068584a0c15653cb07893683a55300 Capture/Replay: Serialize trace metadata to a JSON file. Bug: angleproject:6385 Change-Id: If4e348237d9b0e99e404f49b28dddba1ac50ef92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157907 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Tim Van Patten c78ebccd 2021-09-09T16:47:26 Perf: Add _many_tex_draw test Add a new perf test _many_tex_draw, which draws with 8 textures bound. The intent of this test is to stress calls like retain() with various implementations of vk::Resource. Additionally, this CL updates the textures to use format GL_RGBA, rather than GL_RGB, to avoid the emulation step that's required due to the lack of support for the 3 channel format. Bug: angleproject:5971 Test: DrawCallPerfBenchmark.Run/*_many_tex_draw Change-Id: Iffb39b76fab68cc2a76dfd2da38db7e77cb4dac0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152171 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Gregg Tavares 0cea3fe2 2021-09-15T14:02:47 Suppress more flaky tests Bug: angleproject:5505 Change-Id: I6e77769b36a2cccb22f4048ff4fe47258e58d7c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163493 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Jamie Madill e84b0154 2021-09-13T16:04:20 Update extension boolean names. This is in preparation for auto-gen, which uses a simple naming scheme. This fixes the bool names to be totally consistent with the extension names. Bug: angleproject:6379 Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gregg Tavares 085ab6e8 2021-09-09T10:22:04 Turn on Direct Metal tests Bug: angleproject:5505 Change-Id: I8de95f28698785e5467dd82d04cbc7636d6df042 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152156 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop fc9457fb 2021-09-15T10:46:55 Revert "Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch" This reverts commit 62c70b449d2ef5e195c583f7a7627f14587a51dc Reason for revert: VVL bug fixed upstream https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3264 Original change's description: > Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch > > New VVL error causing test failures. > > Bug: angleproject:6382 > Change-Id: I61801828c0879a33502a2d9582e2e7da1bdb9250 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3155571 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Brandon Jones <bajones@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:6382 Change-Id: I41202a1d577fb6d9204ead32df134e6c5b3a1a86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163238 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 2d40fa98 2021-09-15T10:01:34 Roll SwiftShader from 40adeaba22a6 to 0fa19bd6c285 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/40adeaba22a6..0fa19bd6c285 2021-09-14 kjlubick@google.com Delete explicit copy assignment operator 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: Idd923d3e2b33f4b33dabc552aea7e384446a2b05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161962 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll cc559b6f 2021-09-15T07:00:56 Roll Chromium from d2cc0410ebf0 to 971faecbb6fc (455 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d2cc0410ebf0..971faecbb6fc 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 jonahr@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/f16814bd98..3244870546 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0ee65525e0..a8dc305c6e * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/56517cb829..d3031dbe70 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b072fac88 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/984ce942a4..287ed7c2da * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e74330fba0..83b09bd609 * tools/luci-go: git_revision:4a0f3da2840eaa5341470174b57047313e074ecd..git_revision:dc21267f89df3981e809fe9566591d6916ae758b * tools/luci-go: git_revision:4a0f3da2840eaa5341470174b57047313e074ecd..git_revision:dc21267f89df3981e809fe9566591d6916ae758b * tools/luci-go: git_revision:4a0f3da2840eaa5341470174b57047313e074ecd..git_revision:dc21267f89df3981e809fe9566591d6916ae758b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4bf6f5e188..872882ff0e * tools/skia_goldctl/linux: WXOZRajOQcNcLH7M4Un-WnE8Uw9Fv7XHOV0cWFEiIMMC..NzB8fnDNSFKL_tbRaBl6gO6f7Ljdwcdt9VbE3hQfjaoC * tools/skia_goldctl/mac: Js84h2dElAXI-6j3tIs5oGaaEymkLbyu50DlJXn6WJIC..AjcIwArqfleDRrG1XpbN5DU5ZILcha99HMwrLEidm7kC * tools/skia_goldctl/win: 93HPekEUblvrn33MgtM_mPQjnsJ5_IqJUTt3XiUUloYC..FqoNmLPfLGQu3lutK7aebZdmo2pHBMK9hZoKUkC9njkC Clang version changed llvmorg-14-init-3191-g0e03450a:llvmorg-14-init-3710-gd11a0c5d Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/e74330fba0bac614a0a86ff1dedf07543b5fea8a..83b09bd60932858bb4c44c1ce043f81d35a56a61/scripts/update.py Bug: None Tbr: jonahr@google.com Change-Id: Ifab6712643eabc883ce9df1f63fb20277d631057 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161607 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 1ca1589f 2021-09-13T10:56:58 Give GLES extension bools a vendor suffix. This is in preparation for auto-generation which will give all of these bools suffixes. Bug: angleproject:6379 Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9ada074a 2021-09-10T16:18:19 Move capability values from gl::Extensions to gl::Caps. Several extensions stored extra information in the wrong structure. Move them to the Caps structure in prepraration for auto-generating the Extensions struct. Bug: angleproject:6379 Change-Id: If5643b72039e299cb0f7c49591d13b3c7cd8a36c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158403 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9112b1a9 2021-09-13T15:39:53 Vulkan: SPIR-V Gen: Fix precision of findMsb In GLSL, findMsb operates on a highp operand, while returning a lowp result. In SPIR-V, RelaxedPrecision cannot be applied on the FindSMsb instruction as that affects the operand as well. This change makes sure RelaxedPrecision is not applied to a FindSMsb instruction. Bug: angleproject:4889 Bug: angleproject:6132 Change-Id: I6a0defbbd53ec703c7ecbad5cd5c79d215b11c32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158506 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll f2b7de84 2021-09-14T10:01:35 Roll SwiftShader from 7f2c7d18de0c to 40adeaba22a6 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/7f2c7d18de0c..40adeaba22a6 2021-09-13 sugoi@google.com Add derived class for every type of external memory 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: If8575ae4f4e1845152cb59ce772c67afdda8de08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3160402 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0546d7ba 2021-09-14T07:01:18 Roll Chromium from b089638487b7 to d2cc0410ebf0 (426 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b089638487b7..d2cc0410ebf0 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 jonahr@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/38820a51f5..f16814bd98 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/eb40873b37..0ee65525e0 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/bc688ce0a6..56517cb829 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b072fac88 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8f09549ffc..984ce942a4 * tools/luci-go: git_revision:7b62727dc713b47d7a7ce9bca27500cb8e82ebd7..git_revision:4a0f3da2840eaa5341470174b57047313e074ecd * tools/luci-go: git_revision:7b62727dc713b47d7a7ce9bca27500cb8e82ebd7..git_revision:4a0f3da2840eaa5341470174b57047313e074ecd * tools/luci-go: git_revision:7b62727dc713b47d7a7ce9bca27500cb8e82ebd7..git_revision:4a0f3da2840eaa5341470174b57047313e074ecd * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/44b5fa4d2e..a9a88b2c1d * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/06f05b4837..be3cc1296f * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6c1e38e8fc..4bf6f5e188 * tools/skia_goldctl/linux: rnLFFuc3uwQMer-UqF4iPw87LYBXcTHecmsEr5XSsqEC..WXOZRajOQcNcLH7M4Un-WnE8Uw9Fv7XHOV0cWFEiIMMC * tools/skia_goldctl/win: fLni5XbrGVSo96Fpye2OmTEwheZVoDU49HrRUCzw_L0C..93HPekEUblvrn33MgtM_mPQjnsJ5_IqJUTt3XiUUloYC No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: If777f7d1ac837d53d05ce27c425c2911568ad514 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3160176 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 54e89a1b 2021-09-02T16:48:42 Capture/Replay: handle param reading of glGetUniformuiv Enable the test that was fixed by this. Bug: angleproject:6108 Change-Id: I0bd46a85c2337e3c1a236954c8f131df12c499b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140155 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Cheryl Wei e10a4031 2021-09-08T15:57:00 Vulkan: Add a test to triger large VAO dirty bit handling. Some traces bind one VBO to a large number of VAOs,this will cause glBufferData spending a lot of time doing VAO dirty bit handling,which leads to high cpu load in these traces.This test could triger this issue. Bug: angleproject:6371 Change-Id: Iedc6630b497cb0f62ea0129aefc19c717c3ef905 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3147173 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Sunny Sun <sunny.sun@arm.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 371542cd 2021-08-23T23:10:09 Vulkan: Use VK_EXT_load_store_op_none With read-only depth/stencil attachments, ANGLE utilizes storeOp=NONE to optimize memory bandwidth (by avoiding write back of tile memory at the end of the render pass). Simultaneoulsy, this avoids a synchronization hazard with the next write to that depth/stencil image. If a framebuffer contains a depth/stencil attachment but it's unused, ANGLE utilizes loadOp=NONE/storeOp=NONE to effectively remove any memory bandwidth wasted on the attachment. Bug: angleproject:5371 Change-Id: I76cbadbf1194041532ac4b690ffe087298f2de51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114232 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao ca70b636 2021-09-09T16:34:34 Vulkan: Reformat staged buffer data using CPU When a R4G4B4A4 texture is attached to FBO, we dynamically choose a new format to fallback to R8G8B8A8 on some GPU that can't render to R4G4B4A4. During this format switch, if we already have a staged buffer update with old format, we must reformat the data to new format. Right now this is done by initImage and flush out staged update and read back and restage. This is very inefficient. This CL adds a new code path that just uses CPU to convert the staged data from old format to new format. Bug: b/198788068 Change-Id: I9b763dafdc9431d4fbbc26169c156b09ac13c815 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3153055 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Charlie Lao e83f1b9a 2021-09-13T09:31:50 Reland "GL: Relax the assertion to exclude BoundAsAttachment bit" This is a reland of b27bca08ef4ee20a0952b8efeb7c132bdb2ebb50 Original change's description: > GL: Relax the assertion to exclude BoundAsAttachment bit > > Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is > attached to FBO. This bit usually is processed at Texture::syncState > time. But there are situations that This call may not been called before > texture is been used, since existing code not expecting merely attach > tetxure to FBO will insert dirty bit to texture and there is this place > updateProgramTextureBindings() in GL backend is hitting assertion > because of this new bit. This CL adds a new check > hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion. > > Bug: angleproject:6381 > Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: angleproject:6381 Change-Id: I29eb759a0b4500b7ab6d3d4ce73a27bc71882b57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158299 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 3ad0b862 2021-09-13T20:10:10 Revert "GL: Relax the assertion to exclude BoundAsAttachment bit" This reverts commit b27bca08ef4ee20a0952b8efeb7c132bdb2ebb50. Reason for revert: Wrong fix. Original change's description: > GL: Relax the assertion to exclude BoundAsAttachment bit > > Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is > attached to FBO. This bit usually is processed at Texture::syncState > time. But there are situations that This call may not been called before > texture is been used, since existing code not expecting merely attach > tetxure to FBO will insert dirty bit to texture and there is this place > updateProgramTextureBindings() in GL backend is hitting assertion > because of this new bit. This CL adds a new check > hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion. > > Bug: angleproject:6381 > Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: angleproject:6381 Change-Id: I0e7bf066a3736c72918f1fe36d195b5c516b569c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158297 Reviewed-by: Charlie Lao <cclao@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Charlie Lao <cclao@google.com>
Hailin Zhang 66886228 2021-09-13T11:58:31 delete a wrong comment delete a wrong comment for test DrawElementsElementArrayBufferMapped Signed-off-by: Hailin Zhang <hailinzhang@google.com> Change-Id: Idc95b50f3fd2ca2da65b090a20f5fdc36605b8e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158291 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Hailin Zhang e1befb35 2021-09-09T15:53:32 fix a EXT_buffer_storage issue. According to spec, GL_MAP_PERSISTENT_BIT_EXT indicates that it is not an error for the GL to read data from or write data to an immutable buffer while it is mapped. Bug: b/188685164 Change-Id: I899a978dbf9c1d1ad3489063028fd5500c4bd5e1 Signed-off-by: Hailin Zhang <hailinzhang@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151278 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop 077b8eef 2021-08-26T22:15:54 FrameCapture: Add ES 3.1 Vertex Attrib MEC support ES 3.1 adds new, more explicit ways to bind vertex buffers to different format combinations. This allows changing how data is interpreted without respecifying all the data as well. Apps using new ES 3.1 vertex attribute functions can be incompatible with our MEC setup that uses VertexAttribPointer. This was caught recently by Jamie's changes to enforce ES2 only conditions. Fortnite is the first app that uses ES3.1 semantics exclusively. To support this, add VertexAttribFormat and VertexAttribBinding to to our attribute setup loop. For binding indexes that *aren't* used with VertexAttibPointer, set them up with BindVertexBuffer. Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Bug: angleproject:6274 Change-Id: Id0cd10f6270fc96354797c3008ac181a4d008031 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124339 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao b27bca08 2021-09-13T09:31:50 GL: Relax the assertion to exclude BoundAsAttachment bit Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is attached to FBO. This bit usually is processed at Texture::syncState time. But there are situations that This call may not been called before texture is been used, since existing code not expecting merely attach tetxure to FBO will insert dirty bit to texture and there is this place updateProgramTextureBindings() in GL backend is hitting assertion because of this new bit. This CL adds a new check hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion. Bug: angleproject:6381 Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill 5650273a 2021-09-07T09:41:59 Capture/Replay: Capture trace file list to JSON. Instead of using a text file, we can use a JSON file to store the list of files in a trace. We can use this list in the GN to pull the trace files directly instead of using auto-generated code. It also consolidates the trace metadata in a single location. Also captures the Windows Surface ID to the JSON file. Bug: angleproject:5133 Change-Id: I236b614f7d0c844e7c4a5276dd6ac5964e5c393d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144214 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 112ca079 2021-09-13T10:01:34 Roll SwiftShader from 446e61c24b37 to 7f2c7d18de0c (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/446e61c24b37..7f2c7d18de0c 2021-09-10 capn@google.com Fix decompression of cube-compatible layered 2D images 2021-09-10 capn@google.com Refactor image decompression and cube border update 2021-09-10 capn@google.com Refactor cube compatibility 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: I717d31cafe1cd55d1afa1cf0333fcf6c3a5591b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157933 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 47ab1198 2021-09-13T07:00:02 Roll Chromium from 6aa22be0c26f to b089638487b7 (525 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6aa22be0c26f..b089638487b7 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 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/0c04087fbf..38820a51f5 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/17de75220a..a5b6419452 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2829dbd8e1..eb40873b37 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..7a4741cd1f * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e1482c5548..8f09549ffc * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/664e4259b1..e74330fba0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c56679b89f..44b5fa4d2e * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/ea8b20f92a..06f05b4837 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/184ebcc93f..6c1e38e8fc * tools/skia_goldctl/win: 93HPekEUblvrn33MgtM_mPQjnsJ5_IqJUTt3XiUUloYC..fLni5XbrGVSo96Fpye2OmTEwheZVoDU49HrRUCzw_L0C No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: If27382d67b1c4e4222f91f7e48c972ce22ef8129 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157696 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 62c70b44 2021-09-10T16:54:49 Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch New VVL error causing test failures. Bug: angleproject:6382 Change-Id: I61801828c0879a33502a2d9582e2e7da1bdb9250 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3155571 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Brandon Jones <bajones@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 9c6f6c39 2021-09-10T14:46:18 nullptr_t to std::nullptr_t The Skia build requires std::nullptr_t Bug: angleproject:6377 Change-Id: Ic41955e1dfefcf24bc39240d164ad938f523717c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3154997 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Jamie Madill 7e8fa429 2021-09-08T11:56:45 Capture/Replay Tests: Script cleanups. Minor cleanup changes and removes some outdated parameters. Includes logging information about how much time the script spends running each child process. Bug: angleproject:6102 Bug: angleproject:6299 Change-Id: I0b4da535b858ced3cdc21c341c2c001ffe9c8192 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149190 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 247ee1c3 2021-09-10T09:38:25 Perf Tests: Output results in "msBestFitFormat" again. The histogram bins for "ms" would cause excessive rounding for tests that run very quickly. For example, 0.0012354 ms would be rounded to 0.001 ms. This would produce very flat graphs that don't accurately represent the real results. Bug: angleproject:6090 Change-Id: I9293b2083d7e54dc2663648c361f4883278806ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152746 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill eb8ffe2f 2021-09-07T09:53:22 JsonSerializer: Allow adding values to root node. Previously we would only allow a single group at the root document node. This change allows us to have multiple members. It also changes the API slightly. Instead of calling startDocument, you now can add values and groups on an empty serializer object. It also removes the implicit endGroup call in endDocument. Groups must now be manually ended. Bug: angleproject:5133 Change-Id: Id39016233d73270d1e20d99d59c1729fbcdd8860 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144213 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>