Log

Author Commit Date CI Message
Tim Van Patten d9b4eb38 2020-11-13T09:38:39 Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve Suppress the following erroneous VVL error: VUID-VkSubpassDescriptionDepthStencilResolve-depthResolveMode-parameter Bug: angleproject:5331 Change-Id: I010d5c56e668eb1e1c500fece570d6e20d3c5a54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537918 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 3435503b 2020-11-05T17:53:02 Add test running flag: --delay-test-start Add the following flag to the test runner to aid debugging: --delay-test-start=<number of seconds> This delays the start of each test by <number of seconds>. This is useful when using debuggers, like RenderDoc, that need some extra time to attach to the process before capturing data. Bug: angleproject:5312 Change-Id: Ie1aab155e780dfae7311e046af0a7702904cd9eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522504 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Stephen White b441ffed 2020-11-12T23:22:01 Fix EGL_ANGLE_platform_extension* filenames in DevSetup docs. Bug: angleproject:5343 Change-Id: I8d24e27df052ea6f811ea5ed15c7ee5256d516ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537232 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Jamie Madill f46e6201 2020-11-13T15:27:47 Revert "Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions)" This reverts commit e3e964f900f3095f5b6a2912ed90c7e2551720e5. Reason for revert: Crashing in ANGLE. See: https://github.com/KhronosGroup/glslang/issues/2452 Original change's description: > Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions) > > https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/142cb87f803d..beec2e4a7c4d > > If this roll has caused a breakage, revert this CL and stop the roller > using the controls here: > https://autoroll.skia.org/r/glslang-angle-autoroll > Please CC timvp@google.com on the revert to ensure that a human > is aware of the problem. > > To report a problem with the AutoRoller itself, please file a bug: > https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug > > Documentation for the AutoRoller is here: > https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md > > Bug: None > Tbr: timvp@google.com > Change-Id: Id080fa0082678bbd1c5cf0e2a80b6f274b6fdb1c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537654 > Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> > Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> TBR=timvp@google.com,angle-autoroll@skia-public.iam.gserviceaccount.com Change-Id: I74df7e875299dfd12ed4d91aec8513218ef54c7d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: None Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537234 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop d276773a 2020-11-10T21:39:57 Tests: Add Real Commando Secret Mission trace Test: angle_perftests --gtest_filter="*real_commando_secret_mission*" Bug: b/172979023 Change-Id: Ifcb283d06bea78732d0f5daf9b1dfbb915fb9fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530458 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll c43088c6 2020-11-13T10:01:27 Roll Vulkan-Tools from df1edd1738a6 to 67d0fc6389ff (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/df1edd1738a6..67d0fc6389ff 2020-11-12 charles@lunarg.com vulkaninfo: Make json output print extensions 2020-11-12 shannon@lunarg.com build: Update known-good files for 1.2.160 header If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I4bd5b9c9e9ae6b58979c977413ba59c92a2a8bb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537656 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e3e964f9 2020-11-13T10:01:03 Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/142cb87f803d..beec2e4a7c4d If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: Id080fa0082678bbd1c5cf0e2a80b6f274b6fdb1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537654 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll eb10d0ab 2020-11-13T10:01:07 Roll SwiftShader from 4ed9d3498dcf to e4c1a25cc679 (16 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/4ed9d3498dcf..e4c1a25cc679 2020-11-13 capn@google.com Use LLVM JIT for MemorySanitizer GN builds 2020-11-12 srisser@google.com Update vulkan headers to 1.2.160 2020-11-12 swiftshader.regress@gmail.com Regres: Update test lists @ 4804ac87 2020-11-12 zzyiwei@google.com Disable VK_KHR_external_memory_fd for Android build 2020-11-12 natsu@google.com Handle image properties from external device memory 2020-11-12 capn@google.com Fix conditionally enabling Reactor MSan instrumentation 2020-11-12 capn@google.com Implement MemorySanitizer instrumentation of Reactor routines 2020-11-11 nicolascapens@google.com Fix backslash interpreted as part of URL 2020-11-11 srisser@google.com Implement VK_KHR_shader_float_controls 2020-11-11 amaiorano@google.com Subzero: clang-format crosstest, pnacl-llvm, runtime, and unittest 2020-11-11 amaiorano@google.com Subzero: clang-format src 2020-11-11 capn@google.com Fix LLVM host triple for ORCv2 JIT 2020-11-11 srisser@google.com Add SPIR-V tools dependency to BUILD.gn files 2020-11-11 natsu@google.com Fix Android build 2020-11-11 amaiorano@google.com Add a unit test for bug fixed by swiftshader-cl/50008 2020-11-10 srisser@google.com Track SPIR-V version in VkConfig.hpp If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: angleproject:4482 Tbr: timvp@google.com Change-Id: I691bca1adfb2dbd6e8dbf264a75c8cf6611f3037 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537655 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 449f3d27 2020-11-13T08:10:50 Roll Chromium from a927c079f7db to 28c8eb1aa6b4 (519 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a927c079f7db..28c8eb1aa6b4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/b666d10c4b..cc35ecde81 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/df93979064..206a91f987 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f92a7636da * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3aa688cdf8..013c5b992a * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/cfce7ca8c9..0d3a3334ed No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: I67cab2f05aaa50c7993eab6adf52bf7fdcdeb8f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537083 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 0fc47fdc 2020-10-29T13:13:50 Vulkan: Fix deferred clears vs swap If a clear is deffered on the swapchain image, then the clear should be applied before swap takes effect. Bug: angleproject:5262 Change-Id: I61aa8ab2983258a02c25a150e6d8c2d2bdbdf97a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506780 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 9eff9895 2020-11-12T15:29:07 Sensible default for --emulated-pre-rotation on rotated targets For angle_deqp_gles3*_rotateN_tests, this change defaults --emulated-pre-rotation to N. Bug: angleproject:4901 Change-Id: I24d1b93d6601b85e608c9632de546283f519632a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535675 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 67eb2605 2020-11-12T17:16:05 Faster stack traces on Linux Previously addr2line was called for every symbol separately. This was glacially slow as every module's debug info was repeatedly reloaded. With this change, contiguous symbols from the same module are batched together and one call to addr2line is done. Potential future optimization is to batch every symbol from the same module, but capture the output of addr2line calls and interleave them to match the stack. For example, currently 4 calls to addr2line are made for the following stack trace: moduleA(+addr1) moduleA(+addr2) moduleB(+addr3) moduleB(+addr4) moduleA(+addr5) moduleA(+addr6) moduleB(+addr7) moduleB(+addr8) while technically only two calls are necessary. Bug: angleproject:5239 Change-Id: I58742b85409b0b74bb87272bc63e251a2d0fe0e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535682 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 9e7f08fc 2020-11-06T16:55:51 Vulkan: Fix incorrect reordering of barriers Take the following situation, a simple copy from image to buffer: ANGLE_TRY(contextVk->onBufferTransferWrite(buffer)); ANGLE_TRY(contextVk->onImageTransferRead(aspectFlags, image)); CommandBuffer &commandBuffer = contextVk->getOutsideRenderPassCommandBuffer(); commandBuffer.copyImageToBuffer(imageHandle, layout, bufferHandle, 1, regions); Both `onBufferTransferWrite` and `onImageTransferRead` may flush either the outsideRP or insideRP command buffers. If buffer is not previously used, but image is used: - onBufferTransferWrite: buffer usage is recorded in outsideRP1 - onImageTransferREad: outsiderRP1 is flushed, outsideRP2 is started - copyImageToBuffer: recorded on outsideRP2, but buffer usage not recorded there - A following command that uses the buffer and requires barrier doesn't close outsideRP2 as it believes it was not used there Bug: angleproject:5319 Change-Id: Ib8994083fbc21969a538cda3784adee57b089415 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523388 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 1885942d 2020-11-08T11:19:07 Vulkan: Move device queue management to CommandQueue. This closes a few more places where the asynchronous abstraction was leaking through. We can no longer access VkQueues directly from RendererVk. Bug: b/172704839 Change-Id: Idc06ee73816147cf602f21723e75bc5ee842d3e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525145 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 49c13282 2020-11-08T10:51:54 Vulkan: Merge async command queue features. This merges the 'commandProcessor' and 'asyncCommandProcessing' features into one new 'asyncCommandQueue' features. Conceptually the command processor is asynchronous use of the CommandQueue. This renaming updates the code to reflect the usage. Bug: b/172704839 Change-Id: I1d7ca1187f802eed48823a01b57fb520527f2540 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525144 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill f19a4a20 2020-11-08T10:37:33 Vulkan: Move CommandBuffer management to RendererVk. This consolidates all relevant logic in a single place. We no longer need to interact with ContextVk in the worker thread. This switches the fixed pointer array size to a dynamically sized vector. Some of the EGL and ANGLE tests would use a large number of Contexts and we were consistently running out of available command buffers which would cause a deadlock situation. We can trust other parts of the code to throttle the application if it starts to get too far ahead of the device and dispense with the hard coded limit in the command buffer allocator itself. The resulting code is also quite a bit simpler and doesn't need a condition variable. Also fixes missing initialization in SecondaryCommandBuffer. Bug: b/172704839 Change-Id: Icc3a3daf5d6b272db556c0e4c93fb793583966a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525143 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill ce7bdd0b 2020-11-08T09:45:30 Vulkan: Merge CommandQueue and TaskProcessor. Bug: b/172704839 Change-Id: I43a40e6a3e1eb00a7ddebfba6e915437aa69aeb6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525141 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi 0c3d0b21 2020-11-11T15:08:08 Fix texture buffer validation w.r.t to non-existing buffer Bug: angleproject:3573 Test: dEQP.KHR_GLES31/core_texture_buffer_texture_buffer_errors Change-Id: I031abd94d6c06e539a2a89a82f2af604a6f3b5b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533493 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 6a1fb047 2020-11-07T19:04:43 Vulkan: Align CommandQueue and TaskProcessor. The intent is to merge these two classes and remove redundant code. Bug: b/172704839 Change-Id: I6eb66d7b4ddea3633b08df99464975cd59773b4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524550 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten a428487a 2020-11-12T09:04:25 Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve Suppress the following erroneous VVL error: VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter Bug: angleproject:5331 Change-Id: I403b7e4beaa17fd36e6a8e572c55ec22353e6b80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534394 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Charlie Lao 3a1838a1 2020-11-10T20:30:43 Vulkan: Let RewriteInterpolateAtOffset use FlipRotateSpecConst Instead of using uniform, use flip/rotation specialization constant when available. This allows matrix multiplication calculated at compile time instead of shader execution time. Bug: angleproject:4901 Bug: angleproject:3589 Change-Id: I5a8a82b1cffbbbeba2617cb7e9a0ec38f9984d50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530457 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Jamie Madill 65ee5168 2020-11-08T09:30:39 Vulkan: Align submit and serial management code. This progresses the goal of merging TaskProcessor and CommandQueue. Moving the serial management out of RendererVk allows these classes to have finer control over when thread synchronization locks happen. Note: device lost handling seems untested currently. Bug: b/172704839 Change-Id: I0cc61e1ffe41aad0b898d4146c8dbd08a2cebd3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525140 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 453a113a 2020-11-08T13:40:44 Vulkan: Remove queue/device wait idle in favor of finish(). This change should aid further refactorings. In the future if we need to support waiting for individual queue idle we can add that back in a way that's supported by both synchronous and async queue operation. Bug: b/172704839 Change-Id: I9c9900ac81af60a37719439fe9db6135fcb17d46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525146 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten 6a39c8cc 2020-11-12T11:29:54 Vulkan: Skip copy_tex_image_conversions.* on Pixel 2 The dEQP tests KHR-GLES3.copy_tex_image_conversions.* are crashing on Pixel 2 after outputting many VVL errors: VUID-vkAllocateMemory-maxMemoryAllocationCount-04101 Skipping the tests for now to unblock the VVL rolls. Bug: angleproject:5340 Change-Id: I8e7606da5262454bbc8c8658886e03f05265c24f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534403 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Charlie Lao 15ead5d5 2020-11-02T12:25:32 Reland "Vulkan: Let shader use rotation specialized constant" This is a reland of 47b3db22be33213eea4ad58f2453ee1088324ceb Original change's description: > Vulkan: Let shader use rotation specialized constant > > If use rotation specialized constant is enabled via compiler options, > this CL will use rotation specialized constant to generate flipXY, > rotation matrix and negFlipXY. This allows the driver to optimize for > the minimum instructions for rotation. > > Bug: b/171750979 > Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Ian Elliott <ianelliott@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> Bug: b/171750979 Change-Id: I9efde40eb138bacb161cce483a30ec01fee0983b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533933 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 3f18ad09 2020-11-11T14:12:18 Vulkan: Factor out DriverUniform code to tree_utils/DriverUniform.cpp The driver uniform code is used by various tree_ops functions. But all driver uniform code are defined and implemented in the TranslatorVulkan.cpp file. There is dependency rule that tree_ops code can not call into vulkan specific function. Right now we are working around this problem by always having TranslatorVulkan creates uniform and pass it down to tree_ops. This creates inefficiency for cases that dFdy/dFdx where we don't know if we will need the driver uniform or not, until we walk the tree and see the dFdx node. This CL refactors driver uniform code into its own file and class under tree_utils so that everybody can use. Mean time we can also make it much easier for metal to expand it to have its own uniform structure. Bug: b/173047182 Change-Id: I06bd9a005ccd6dc0a21321a3010dda1eab9d6fdb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533443 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 6df1ffdc 2020-11-07T17:17:53 Vulkan: Remove in-flight commands lock in TaskProcessor. This is no longer necessary with the removal of the submit fence. Bug: b/172704839 Change-Id: If8c2795d7e3c73453a235498ed6caac727bdaca5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524549 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill e6a302a0 2020-11-07T10:49:15 Vulkan: Move vk::CommandQueue to RendererVk. This consolidates most of the command processor vs queue logic in one place. It also has a number of incidental changes related to fences: - syncs now do not store a shared fence. instead they call command apis to wait for a particular serial with a timeout. this is not yet fully implemented in CommandProcessor. - surface swap history stores a serial instead of a fence. because the RendererVk class stores the command batches, we no longer have to do messy things with ContextVk. - it is no longer possible to ask for a wait on a serial that isn't in the command queue. Also adds mutex synchronization around the RendererVk methods. Bug: angleproject:5217 Bug: b/172704839 Change-Id: I5faf0e24bb6ede79a927ab149b80bfa8baca4620 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524548 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Mohan Maiya aead51e3 2020-11-12T09:08:19 Vulkan: Disable OES_shader_multisample_interpolation The spec for OES_shader_multisample_interpolation requires support for OES_sample_variables. Disable support until the changes related to OES_sample_variables land. Bug: angleproject:3589 Bug: angleproject:3588 Change-Id: I94408a4f4fd74c19922c011242a515cc457910cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535075 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill fb34c93d 2020-11-09T19:30:17 Perf Tests: Add mutex around trace events. This prevents a race where two threads try to write events simultaneously. Bug: b/172704839 Change-Id: Idd2f3b1c2a393488ea2270b91d579dc8630e59d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533496 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 3f98564e 2020-11-12T10:01:10 Roll Vulkan-Loader from f635feea18cb to e2b55419a370 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/f635feea18cb..e2b55419a370 2020-11-10 shannon@lunarg.com build: Update known-good files for 1.2.160 header If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I4f6e8d133446916e6cab9742d0803340b059cd88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533428 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten e4acbac6 2020-11-12T15:57:52 Revert "Suppress RenderbufferBlitFramebufferTest" This reverts commit 4a74427ee30e0e0c9eaf0ddb1eb7dc7a6171d5a4. Reason for revert: Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311 Original change's description: > Suppress RenderbufferBlitFramebufferTest > > The test > MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is > generating VVL errors with the latest VVL roll: > VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter > > Suppressing the test rather than the VVL error, so the VVL can still > catch any new cases of this error while the test is investigated. > > Bug: angleproject:5331 > Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest > Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658 > Commit-Queue: Tim Van Patten <timvp@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I70a869453c4a42106204e3d9a1b63e59d649b483 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535072 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten e5030b5b 2020-11-12T15:56:56 Revert "Suppress Additional MultisampledRenderToTextureES3Test" This reverts commit 3c3edc3b761e3ac6543827d41b97f7e0861ac75e. Reason for revert: Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311 Original change's description: > Suppress Additional MultisampledRenderToTextureES3Test > > The following tests are generating the VVL error > VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter > > MultisampledRenderToTextureES3Test > - BlitFramebufferTest() > - RenderbufferUnresolveColorAndDepthThenTwoColors() > - RenderbufferUnresolveColorAndStencilThenTwoColors() > > Suppressing them for now. > > Bug: angleproject:5331 > Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I7a941acbf94cc9e4dab662aa32a236c09a7d021d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535071 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
angle-autoroll f9e59ad0 2020-11-12T10:01:18 Roll SPIRV-Tools from a61d07a72763 to 1cda495274bb (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a61d07a72763..1cda495274bb If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I49edf81578b995ec51b3f4078c5d76aba3669439 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533429 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 62c10c17 2020-11-12T07:00:44 Roll Chromium from ca966cfbaa65 to a927c079f7db (518 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ca966cfbaa65..a927c079f7db If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/9ba508af67..b666d10c4b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/94f020f403..df93979064 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/0fe1450acb..57b05d3c2e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ac95abdb4b * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a37c0858a6..3aa688cdf8 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/aa9ff5db33..cfce7ca8c9 No update to Clang. Bug: angleproject:5323 Tbr: timvp@google.com Change-Id: Ib3e3c38fdd057e2ef45b50cfa917f6c45f46a921 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533292 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 6067e9ce 2020-11-11T17:37:04 Tests: Fix async queue feature comparision. This bug was incorrectly causing the Async Queue configs to be classified as the same as ordinary Vulkan configs. This bug did not affect test grouping in the test runner. It did affect how we enable/disable configs. Bug: b/172704839 Change-Id: Ibf6f04fc1a719464201f77884b2a0b3ab1fab78c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533813 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 52f77eed 2020-11-11T13:44:39 Suppress BestPractices-vkCreateDevice-specialuse-extension Suppress the VVL warning: UNASSIGNED-BestPractices-vkCreateDevice-specialuse-extension ANGLE uses the extension to match OpenGL ES line rasterization behavior, so this warning doesn't apply and is being suppressed. Bug: angleproject:5336 Change-Id: I2f0e086a7ff392e13b6a1da0a55b0e1b81953b2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533437 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 3c3edc3b 2020-11-11T11:49:56 Suppress Additional MultisampledRenderToTextureES3Test The following tests are generating the VVL error VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter MultisampledRenderToTextureES3Test - BlitFramebufferTest() - RenderbufferUnresolveColorAndDepthThenTwoColors() - RenderbufferUnresolveColorAndStencilThenTwoColors() Suppressing them for now. Bug: angleproject:5331 Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya 15d5965d 2020-11-10T15:59:37 Vulkan: Support VK_KHR_image_format_list for PbufferSurfaces PbufferSurfaces are now created with VK_KHR_image_format_list extension support enabled. Bug: angleproject:2514 Bug: angleproject:5281 Test: PbufferTest.ClearAndBindTexImageSrgb*Vulkan Change-Id: I8977484c958328d00f688faa7adffff85a37a3b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530535 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 4a74427e 2020-11-11T09:28:14 Suppress RenderbufferBlitFramebufferTest The test MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is generating VVL errors with the latest VVL roll: VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter Suppressing the test rather than the VVL error, so the VVL can still catch any new cases of this error while the test is investigated. Bug: angleproject:5331 Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658 Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 89653b97 2020-11-11T09:23:18 Suppress VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad The test VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad() is flaky on the Windows AMD bots, so suppressing for now. Bug: angleproject:5329 Test: VulkanPerformanceCounterTest.DepthStencilTextureClearAndLoad Change-Id: I546cd18e319c0b73554fb3ce1e70c75be2168015 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532703 Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2edec864 2020-10-25T15:55:45 Improve stack backtraces on Linux. This switches the Linux crash handler to use addr2line when it is available. Addr2line is much better at converting addresses into readable information. The downside is that we must use a system call to a binary since it's not easy to integrate with addr2line source. Bug: angleproject:5239 Change-Id: I13cbaa4ba30166718fb12d924c76ba4f2675453c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515265 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 38016632 2020-11-11T08:04:45 Vulkan: Enable async feature in end2end_tests. This adds a new async-command-queue-enabled config that we run against most of the GLES tests in angle_end2end_tests. The tests now test both with and without the threaded command queue. Bug: b/172704839 Change-Id: Ife75f8328f23ac150cddf8ad8a6c4b8fc2d83986 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532655 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten c3607098 2020-11-11T16:06:51 Revert "Vulkan: Let shader use rotation specialized constant" This reverts commit 47b3db22be33213eea4ad58f2453ee1088324ceb. Reason for revert: Broke the ANGLE roll into Chromium: https://chromium-review.googlesource.com/c/chromium/src/+/2531069 [1875/27343] SOLINK ./libGLESv2.so FAILED: libGLESv2.so libGLESv2.so.TOC /b/s/w/ir/cipd_bin_packages/cpython/bin/python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="nm" --sofile="./libGLESv2.so" --tocfile="./libGLESv2.so.TOC" --output="./libGLESv2.so" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-soname="libGLESv2.so" -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -fuse-ld=lld -Wl,--color-diagnostics -Wl,--no-call-graph-profile-sort -m64 -Werror -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath=\$ORIGIN -Wl,--export-dynamic -Wl,-rpath=\$ORIGIN -o "./libGLESv2.so" @"./libGLESv2.so.rsp" ld.lld: error: undefined symbol: sh::TranslatorVulkan::GetDriverUniformFlipXYRef(sh::TVariable const*) >>> referenced by RewriteDfdy.cpp:134 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:134) >>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a >>> referenced by RewriteDfdy.cpp:200 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:200) >>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithoutRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a ld.lld: error: undefined symbol: sh::TranslatorVulkan::GetDriverUniformFragRotationMatrixRef(sh::TVariable const*) >>> referenced by RewriteDfdy.cpp:136 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:136) >>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a clang: error: linker command failed with exit code 1 (use -v to see invocation) Original change's description: > Vulkan: Let shader use rotation specialized constant > > If use rotation specialized constant is enabled via compiler options, > this CL will use rotation specialized constant to generate flipXY, > rotation matrix and negFlipXY. This allows the driver to optimize for > the minimum instructions for rotation. > > Bug: b/171750979 > Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Ian Elliott <ianelliott@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> TBR=ianelliott@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: Id3976259d1f4049aa62b679ad5b25c2ac337c92b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/171750979 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532702 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 246de6ba 2020-11-11T12:32:39 Revert "Created test and fixed texture storage bug in d3d11" This reverts commit 03f3ba5b1454ee7c15cd9391e77307cf1d274b48. Reason for revert: Suspected for causing Dawn tests failure: SharedImageGLBackingProduceDawnTest.Basic https://chromium-review.googlesource.com/c/chromium/src/+/2530246 Original change's description: > Created test and fixed texture storage bug in d3d11 > > Bug: b/172489285 > Change-Id: If7d88cf50d99da3380082c60fb3936ae0b20c4e5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519876 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,vantablack@google.com Change-Id: Ic0be42e070c9b9b986b724d2aa74cfdeff375245 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/172489285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532654 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 4849da87 2020-11-11T07:01:11 Roll Chromium from 902580740a6e to ca966cfbaa65 (459 revisions) https://chromium.googlesource.com/chromium/src.git/+log/902580740a6e..ca966cfbaa65 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3514e7b890..9ba508af67 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7d4fe53baa..94f020f403 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..994d3835f5 * tools/skia_goldctl/linux: O3XpMr3WCt1GviS8wGsldM7NCVb2wabpHx0lJZEemjIC..F1V3MxURYBy3ZkQCqWrW-_qo1aZFer1oyHdGOjT_CZoC * tools/skia_goldctl/mac: 9ofAReQA7h1bDa9kU-Rmr4_0AEQli7Pnj3lsid5AisAC..Z_FxtkL4vnfqaGkZhy2qkTcVwRXIfMzIP0gDJO5O6HkC * tools/skia_goldctl/win: lSgrnuo5FQl_aJkQyR7BSuMSrKb37G40wPe4xQBmTnEC..qZ2Cb5DPSSKjIrxhfYGgVzooq2ElNVLxNOVjsMKgfV0C No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: Iab2aced9fb42ff181c31c41f5a55e6147712cce1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2531461 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 47b3db22 2020-11-02T12:25:32 Vulkan: Let shader use rotation specialized constant If use rotation specialized constant is enabled via compiler options, this CL will use rotation specialized constant to generate flipXY, rotation matrix and negFlipXY. This allows the driver to optimize for the minimum instructions for rotation. Bug: b/171750979 Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 8a90378c 2020-11-07T10:40:28 Vulkan: Remove hasPrimaryCommands(). We now create empty primary command buffers when there are no existing commands to submit. The main reason to remove this is so that we don't have to make a synchronous call to CommandQueue or the async command processor to determine if there are queued primary commands. Bug: b/172704839 Change-Id: I53f65eaa187b618e4ed82a5d2805a76e6a9e036c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524547 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Trevor David Black 03f3ba5b 2020-11-04T13:16:31 Created test and fixed texture storage bug in d3d11 Bug: b/172489285 Change-Id: If7d88cf50d99da3380082c60fb3936ae0b20c4e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519876 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao b22f8e8e 2020-10-29T15:50:39 Vulkan: Add specialization constants for surface rotation This plumbing through the specialization constant for surface rotation from ContextVk to pipeline program creation. It has not been used yet, so expecting no real functional change. This CL also converts lineRasterEmulation to use the same specialization constant path as surface rotation. Bug: b/171750979 Change-Id: Ic08c4f8bb576424d1752015e874d0977a58d78bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508837 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 9d65420c 2020-11-07T10:22:34 Vulkan: Move CommandQueue to CommandProcessor.h. This will facilitate moving this class from the ContextVk to RendererVk. Also cleans up some redundant vk:: prefixes. Bug: b/172704839 Change-Id: I789c9984c0df7fc376e2373530e48afde354d30b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524546 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten 8305ebd4 2020-11-03T18:42:04 Add tests to show bad waitSync/flush behavior Add the following tests to show ANGLE's poor behavior with glWaitSync/glFlush leading to a vkQueueSubmit each time: FenceSyncTest::MultipleFenceDraw MultithreadingTestES3::MultithreadFenceDraw MultithreadingTestES3::MultithreadFenceTexImage Bug: angleproject:5306 Test: FenceSyncTest::MultipleFenceDraw Test: MultithreadingTestES3::MultithreadFenceDraw Test: MultithreadingTestES3, MultithreadFenceTexImage Change-Id: I16f653af028677e3c621c3b9a7fd5963fa03d656 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519092 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 9a0284e8 2020-11-07T09:56:49 Vulkan: Merge command paths in submitFrame. This makes the CommandQueue and CommandProcessor paths nearly the same in submitFrame. The end goal is to make them take identical input parameters. Bug: b/172704839 Change-Id: If3ef2752534de1c3dcaefa5730b308aea46e549e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524545 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Mohan Maiya a391674c 2020-11-09T16:16:49 Vulkan: Support VK_KHR_image_format_list for RenderBuffers RenderBuffers are now created with VK_KHR_image_format_list extension support enabled. We only enable those tests where the EGL image's source is a RenderBuffer but not those tests where the EGL image's target is a RenderBuffer. There are some corner cases related to glReadPixles that need to be resolved to unblock those tests. Bug: angleproject:3756 Bug: angleproject:5281 Test: ImageTest.SourceRenderbuffer*Vulkan Change-Id: I643a9d74d14473cc7df59fa6e25acab7d1c9aad1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2528475 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 98035e11 2020-11-09T17:55:39 Capture/Replay: Split into separate shared libaries. This will produce several smaller shared libs rather than one very large one. Involves moving the trace loader to its own shared module as well. Because the traces didn't have export labels on most of the affected functions I had to use a "force include" argument on the compiler. We can remove this once we re-capture. This is a first step towards testing one trace at a time on an Android device. Includes a complete set of new regenerated traces. Bug: angleproject:5133 Change-Id: If984de34af21fce48b0832401dbe5aa4b002ce95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506199 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
angle-autoroll 9828732b 2020-11-10T10:01:28 Roll Vulkan-Tools from bd0ebb680792 to df1edd1738a6 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/bd0ebb680792..df1edd1738a6 2020-11-09 orbea@riseup.net cmake: Silence warnings. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I35a029c0a87cdc8c33f40bc38b3d05424075f00e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2528183 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a89c6b9a 2020-11-10T07:01:04 Roll Chromium from 61aafe6377ea to 902580740a6e (438 revisions) https://chromium.googlesource.com/chromium/src.git/+log/61aafe6377ea..902580740a6e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/6dd14a4537..3514e7b890 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2de3a18349..7d4fe53baa * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..434681c237 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/192a0edbbe..a37c0858a6 No update to Clang. Bug: angleproject:5305 Tbr: timvp@google.com Change-Id: I2abb73a82e6b3b12ad6b7efe50532ba920ac2b8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2527572 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 36787dcb 2020-11-04T23:06:47 Vulkan: Fix PBO assuming color images Bug: b/172354898 Change-Id: I777eaa33ddac853492d38a03c16caeddad0c2d16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520108 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Mohan Maiya 72001c7d 2020-11-07T12:33:01 Vulkan: Bug fix in texture respecification code When a target texture is created from an EGL image, respecification of the texture needs to take into account the fact that it din't own the ImageHelper. Refactor copy and stage code to account for this possibility as well. Bug: angleproject:3756 Bug: angleproject:5281 Test: ImageTest.Source2DTarget2DTargetTextureRespecify* Change-Id: I2e3bd5d1d64e85da521a841423cfe24673efe88f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524703 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 528ae31e 2020-11-08T10:06:04 Vulkan: Move ExtensionNameList out of the class. Mostly a consistency change where now the list never needs to be prefixed with RendererVk:: and always prefixed with vk::. Also we can respect the style guide's member ordering suggestion. Bug: b/172704839 Change-Id: I758bf324573e5585be6842b3455feab0c23c9d4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525142 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill c8a7c033 2020-11-07T09:12:47 Vulkan: Move primary command buffer to CommandQueue. This brings CommandQueue one step closer to the worker thread. Bug: b/172704839 Change-Id: I35225c5f302e34e3feb38a35c22b6d8e6f4ad10c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524543 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 580b775f 2020-11-09T14:57:28 Traces: Use 4 download threads. This should significantly speed up checkout on dev machines. Bug: angleproject:5133 Change-Id: Iba20182c600ea8e17de47bb4e84b2e4191d301d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2527721 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 489f2c83 2020-11-06T17:24:28 Perf Tests: Trace multiple threads. This uses a little helper list to map thread IDs into simple serials that we output as 'tid' in our trace JSON file. We can use this to analyze the behaviour of the command processor thread. Bug: b/172704839 Change-Id: Ic1b5f3ec8427cb310833d1f589503daec4812681 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524542 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 2e74c452 2020-11-06T16:45:21 Vulkan: Make feature names consistent. This gives the features the exact same name as the member variable. It fixes a bunch of inconsistencies between the variable name and the external string identifier. Ideally these could be auto-generated from JSON. Bug: b/172704839 Change-Id: Id75c01db544672234435c3dd727c927027b9236d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524541 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 3806696c 2020-11-06T23:04:35 Fix expectations file for prerotation dEQP executables Bug: angleproject:4901 Change-Id: Ibc930a27887a3ba710168a9b122d46aac1530984 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523548 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 34130c2e 2020-11-07T15:11:14 Vulkan: Rewrite interpolateAtOffset to account for Y-flip In order to fully suppot OES_shader_multisample_interpolation rewrite interpolateAtOffset's offset parameter to account for Y-coordinate flip. Bug: angleproject:3589 Tests: dEQP-GLES31.functional.shaders.multisample_interpolation. interpolate_at_offset.*.default_framebuffer Change-Id: I6bf72ceb1c0466ff5d4a92b72d1ec9e2552d6f2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524711 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 06eaaac5 2020-11-06T16:33:13 Fix trace writing in angle_perftests. We can use this to produce AGI-like reports in standalone desktop. Bug: b/172704839 Change-Id: Ifc510232e3da81210e22429b6cea9800e2723e06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524540 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya a5e0a4bc 2020-11-08T11:10:12 Vulkan: Support VK_KHR_image_format_list for AHB backed EGL image AHB backed EGL images create the VkImage through external sibling images. Create those images with VK_KHR_image_format_list extension support enabled. Bug: angleproject:3756 Bug: angleproject:5281 Test: angle_end2end_tests.exe --gtest_filter=ImageTest*SourceAHB*Colorspace*Vulkan Change-Id: I28c22f9d2f2423daa9228e4d42772b380ab7b8b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525109 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Stephan Hartmann eaab2e34 2020-11-09T11:24:09 Vulkan: add explicit template specialization for barrierImpl ImageHelper::barrierImpl with secondary command buffer is used in other translation units. Linking fails if compiler has optimized out symbol for secondary command buffer. Bug: angleproject:5324 Change-Id: I588d0d949a9b2eee04d8103effc485ab23d679c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526082 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 9217d49d 2020-11-08T09:18:33 Vulkan: Add EXT_external_buffer entry points Addition of the entry points for EXT_external_buffer extension. Bug: angleproject:5073 Change-Id: I5dc9f74dfd68c1e83e17ca15166df4cd4c20fca2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525104 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 40c5e53e 2020-11-09T10:01:07 Roll SwiftShader from 612ded0654a0 to 4ed9d3498dcf (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/612ded0654a0..4ed9d3498dcf 2020-11-06 vhau@google.com Modify gralloc0 implementation 2020-11-06 jaebaek@google.com SpirvShaderDebugger: Correct member index for DebugValue 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 courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: courtneygo@google.com Change-Id: I1ecdb3394c4fe8c52c3f09ab03ccbe178c495fcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526363 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2e236c33 2020-11-09T10:01:25 Roll Vulkan-Headers from 87451c55aa8b to 670ffea9d61b (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/87451c55aa8b..670ffea9d61b 2020-11-09 oddhack@sonic.net Update for Vulkan-Docs 1.2.160 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Change-Id: Ia6d4d889cf62e7dc38a9fcb6de223fb256f21bbd Bug: None Tbr: courtneygo@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525861 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 46f5f438 2020-11-09T07:01:14 Roll Chromium from 52d33a46255e to 61aafe6377ea (506 revisions) https://chromium.googlesource.com/chromium/src.git/+log/52d33a46255e..61aafe6377ea 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 courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/dc348c17b4..6dd14a4537 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c8d7f9564e..2de3a18349 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/2d8c1340f0..0fe1450acb * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..434681c237 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/df43926725..aa9ff5db33 * tools/skia_goldctl/linux: GVpht0r-QjWXa70RBjnj16oVOukePZsPqR9WjoyczEQC..O3XpMr3WCt1GviS8wGsldM7NCVb2wabpHx0lJZEemjIC * tools/skia_goldctl/mac: E1HzztCcEvl2qwMi8jlWEeRipywovPX1tvzNMap-XFgC..9ofAReQA7h1bDa9kU-Rmr4_0AEQli7Pnj3lsid5AisAC * tools/skia_goldctl/win: DsHjiYrgPxP5IjJ3QDF-DgcQwV_lMq60ESSU1CwXBSkC..lSgrnuo5FQl_aJkQyR7BSuMSrKb37G40wPe4xQBmTnEC No update to Clang. Bug: None Tbr: courtneygo@google.com Change-Id: If41692440b822876d6e49350b507daac47fa0e6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525680 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill d4439824 2020-11-08T16:17:20 Gold Trace Tests: Fix JSON output with empty test set. Previously we would leave an empty test suite name with no tests run. According to the JSON test results spec this is likely a malformed output and we should instead include just an empty "tests" key. Bad: "tests": { "angle_restricted_trace_gold_tests": {} } Good: "tests": {} Bug: angleproject:5299 Change-Id: I459da593df150d804130f9c63e05d031e77a16a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525147 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill aca3d408 2020-11-05T20:53:37 Fix return value of cube map array imageStore. Should be void according to the spec. Noticed while working on texture buffer. Bug: angleproject:3584 Change-Id: I79a671c82fa117bab69bc2e6b35c840aa30429c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521241 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 18fcb4ad 2020-11-06T07:22:17 Vulkan: Enable a subset of ImageTest colorspace tests This patch does the following - 1. Expose EGL_KHR_image_gl_colorspace only if the underlying ICD supports VK_KHR_image_format_list extension 2. Create VkImageViews from EGLimage's format 3. Fix bugs in ImageTest colorspace tests Bug: angleproject:3756 Bug: angleproject:5281 Test: angle_end2end_tests.exe --gtest_filter=ImageTest*Colorspace*Vulkan Change-Id: I618ae009e83d0a6b27a0a50165f736784717e404 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523670 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott e2ecb2dd 2020-11-03T19:26:00 Enable logging API commands to Android logcat This enables logging API commands to Android logcat. It is enabled via the following GN arg: angle_enable_android_api_logcat = true On desktop, API commands can continue to be logged to the "angle_debug.txt" file via a different mechanism, with the GN arg: angle_enable_trace = true Bug: b/170249632 Change-Id: Id52e75f966a97692ec6d69eb3d254ba295a151c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519094 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill 06a9d529 2020-11-04T19:57:27 Add build flag to control runtime annotator checks. This restores the prior path where angle_enable_trace would let ANGLE write a debug.txt file without needing environment variables or run-time annotator attachments. Bug: b/170249632 Change-Id: I28693f038572638eb6531c5bb8e42d6cc7a65451 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523912 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Courtney Goeltzenleuchter 9825695e 2020-11-03T15:29:38 Vulkan: Increase CommandBufferHelper pool size For interesting threading behavior need more than two command buffer helper objects in the pool. Bug: b/170328907 Change-Id: I394a583f2241ef094abba7a4645a200b9308e466 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518134 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 21eb41ac 2020-11-05T16:54:25 Generate executables for prerotation deqp tests This change generates angle_deqp_gles*_rotate*_tests executables which choose the appropriate mustpass file. Bug: angleproject:4901 Change-Id: Ie6ac4b80d480b0f590b5baf1fa244fd601b5beed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522415 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Mohan Maiya 55934550 2020-11-05T07:13:39 Vulkan: Don't refresh image views unnecessarily If the underlying ICD supports VK_KHR_image_format_list extension we will have created both the linear and sRGB image views, reuse them instead of refreshing them. Bug: angleproject:3609 Bug: angleproject:4561 Bug: angleproject:5281 Change-Id: Ie34f08b3554a07f94911bebf925e38d702bc3c36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518387 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 43acf3ba 2020-07-31T15:43:57 GL: Compiler changes for GL_OES_texture_buffer This extension is core in GLES 3.2 This CL enables the extension, added 412 new dEQP tests for texture buffer. 410 of these tests pass, but there are two tests that fail, detailed in anglebug.com/4933 Also includes a fix for completeness checks. Based on a CL by Jonah Ryan-Davis. Bug: angleproject:3573 Bug: angleproject:4933 Change-Id: I45759d765c88c64f21b592eab01d910dc4bc8da3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521239 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Courtney Goeltzenleuchter 7616dfbd 2020-11-04T18:23:22 Vulkan: Allow Android properties to override features Can enable/disable ANGLE feature via Android properties: debug.angle.feature_overrides_enabled and debug.angle.feature_overrides_disabled which take a string of ':' separated feature strings. Bug: b/170328907 Change-Id: I815b42c5cfae85a39f0f753eabd56e264ea38baf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514200 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter a481bee2 2020-11-04T18:20:24 Add GetEnvironmentVarOrUnCachedAndroidProperty GetEnvironmentVarOrAndroidProperty will first return the given variableName from the processes enviroment if defined. If not defined and running on Android, will look up the corresponding property and store it in the environment. The framecapture code wants to see when the Android property changes so add an uncached version of GetEnvironmentVarOrAndroidProperty that always does the getprop command (which can be time consuming). Bug: b/170328907 Change-Id: I0624c0646889435cb6f6eb20a6d3cceb6ae3eb48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520107 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 4323ed0c 2020-11-06T12:45:12 Perf Tests: Fix test time with max steps performed. This lets the default test time be 10 minutes when using a maximum steps value. This will prevent the current 10 second limit from kicking in and aborting. Also changes the --test-time override to be more clearly a calibration time, and adds a new --test-time that lets the user override the actual trial test time. Bug: b/172480147 Change-Id: I630aa8d3c9e118bb5f0100b38f37e717e12f3538 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523371 Reviewed-by: Paul Thomson <paulthomson@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 6507c1ed 2020-11-05T23:21:17 Tests: Add Clash of Clans trace Note: Hand edits required to compile this trace. ANGLE_REPLAY_EXPORT was removed from each of the entry points in the header. See build logs in patch set 1 of this CL for full output. Test: angle_perftests --gtest_filter="*clash_of_clans*" Bug: b/172626835 Change-Id: I63bab8f059a2c73c0a2fcd5b70fd92abf3bd4650 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521180 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 156c227d 2020-11-06T13:06:02 Remove the amend commit from roll_aosp.sh Bug: b/150458033 Change-Id: Ice5711a672b63a7dac0618749c7e56d862e0e5ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523373 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 27ea50a5 2020-11-05T22:24:28 Capture/Replay: Restore buffer bindings during Reset Emit code to reset all buffer bindings to how they were at the beginning during MEC. Test: Capture Clash of Clans Bug: angleproject:4048 Bug: b/172626835 Change-Id: I5a5446304d119f51a018c8fe88ff386243d19749 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521179 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang e70b1527 2020-11-06T12:51:35 Always use the -f flag with rm in roll_aosp.sh rm will error when the file is missing without the -f flag. We delete a few files without checking that they exist first. Bug: b/150458033 Change-Id: I5a104d383f59d418eaa55534526194f626c88f57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523372 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill a9415a85 2020-11-06T08:33:49 Update DevSetup. We no longer require a specific version of the Windows SDK. Also include updated instructions on how to setup Goma. Bug: angleproject:1944 Change-Id: I5f9e714ebd69ba04eddc1b1fc2f95d1fde67a47f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522419 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Antonio Maiorano 940dc786 2020-11-05T13:54:56 Re-enable GLES31 test that is no longer flaky Fixed by: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50008 The specific flaky crash was reported here: https://bugs.chromium.org/p/angleproject/issues/detail?id=4482#c15 Bug: angleproject:4482 Change-Id: Ia77b4b094446d14866bee5fd461a0a4eea52491e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521237 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Jamie Madill af16c638 2020-11-06T09:50:51 Perf Tests: Add --max-steps-performed argument. This will limit the total number of steps run in the test. When using this argument we skip warmp & calibration. Renames the prior --steps argument to --steps-per-trial. Bug: b/172480147 Change-Id: Iae7cce26d66ca0bbdb21c1f511a6bfa246bd204e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519404 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang 6a8d5bcb 2020-11-06T11:22:36 Fix wrong working directory for roll_aosp.sh Bug: b/150458033 Change-Id: I17c605cbe02341b31855dc771225bf0c95445bfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522009 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f2a78926 2020-11-05T14:01:39 Symbol Table: Error on duplicate group keys. This prevents newer group keys from overwriting old ones. Prevents bugs from creeping in like happened during texture buffer development. Bug: angleproject:3573 Change-Id: Iea69cac988e2cf4802a9f64c54cb694d32f1d3e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521238 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang b59437cb 2020-11-06T11:07:32 Check out depot_tools in roll_aosp.sh Bug: b/150458033 Change-Id: I8b299f96d74499669495ca25d5b08711db90ce61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522008 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi bb5848d8 2020-11-06T10:12:29 Vulkan: Remove vertex attribute aliasing suppressions Some suppresions on the GLES3 dEQP expectations file were not removed. Bug: angleproject:4249 Change-Id: Idcf2da50bb4ae4e6feb62fdb1d44d78aba9041a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522420 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 49d9785e 2020-11-06T10:01:18 Roll SPIRV-Tools from c2b2b5788575 to a61d07a72763 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c2b2b5788575..a61d07a72763 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: courtneygo@google.com Change-Id: I11dc44325b0992b14a43fc754586290828cbf1ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522887 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0781b693 2020-11-06T10:01:07 Roll SwiftShader from ad54c71632cc to 612ded0654a0 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/ad54c71632cc..612ded0654a0 2020-11-05 srisser@google.com Merge changes I3c4f10f7,I5b7ddc75 2020-11-05 capn@google.com Fix Android.bp build after SPIRV-Tools update 2020-11-05 amaiorano@google.com Subzero: fix invalid arg access on Windows x86 for split variables 2020-11-05 amaiorano@google.com Subzero: fix non-deterministic stack layout and code-gen 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 courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: angleproject:4482 Tbr: courtneygo@google.com Change-Id: Ia05307b40847dfa6c82b6a53d67706294848a392 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522886 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 32e36bbe 2020-11-06T10:01:27 Roll Vulkan-Tools from 51c1c5ab56d5 to bd0ebb680792 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/51c1c5ab56d5..bd0ebb680792 2020-11-04 shannon@lunarg.com build: Update known-good files for 1.2.159 header If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: courtneygo@google.com Change-Id: I995f8b69aab80f8d96524459971bdf49fc844adb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522888 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll dc515d41 2020-11-06T07:00:05 Roll Chromium from 3c7580ad595f to 52d33a46255e (441 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3c7580ad595f..52d33a46255e 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 courtneygo@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/01b3fe480e..dc348c17b4 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/b6526d9ad3..6302c11756 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f1516a7e59..c8d7f9564e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b8b4d61dd3 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/952382f2b0..192a0edbbe * tools/luci-go: git_revision:576741d3eed0fa33971fb34cd823650e6f5b47fb..git_revision:1a022d3a4c50be4207ee93451255d71896416596 * tools/luci-go: git_revision:576741d3eed0fa33971fb34cd823650e6f5b47fb..git_revision:1a022d3a4c50be4207ee93451255d71896416596 * tools/luci-go: git_revision:576741d3eed0fa33971fb34cd823650e6f5b47fb..git_revision:1a022d3a4c50be4207ee93451255d71896416596 * tools/skia_goldctl/linux: TzGLaAGOIbgS9g3WS2NIL32_zXI1HeLIIIuDk25O4kwC..GVpht0r-QjWXa70RBjnj16oVOukePZsPqR9WjoyczEQC * tools/skia_goldctl/mac: Yf-uk3I5Yz6gjKV3mct2yoXT580dpRG4hwbIx8CpW5MC..E1HzztCcEvl2qwMi8jlWEeRipywovPX1tvzNMap-XFgC * tools/skia_goldctl/win: 6OGcfUna6B3W4PwFB6GuIVRffBaiDQ1HHaOxlOn9FvgC..DsHjiYrgPxP5IjJ3QDF-DgcQwV_lMq60ESSU1CwXBSkC No update to Clang. Bug: angleproject:4766 Tbr: courtneygo@google.com Change-Id: I704ad78ca6474bfa46bed10e84d19b053d485273 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522879 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>