Log

Author Commit Date CI Message
Jamie Madill 330c8673 2020-08-28T17:44:13 Enable MSVC warning 4312. This is caught in the Skia build. Bug: skia:7647 Change-Id: I9b164f6fcc55b7e13981659ee8a08766a99a2122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381084 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Le Hoang Quyen 966a62cb 2020-08-04T12:08:00 Metal: autogen for EXT_occlusion_query_boolean. Bug: angleproject:2634 Change-Id: I4d6a6378a269ea9e38e9282d6dbfa45e4e3d4d5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336126 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao 5ac807b2 2020-08-26T10:18:00 Vulkan: Let stageSubresourceUpdateAndGetData use ctx staging buffer stageSubresourceUpdateAndGetData call are made and then flush the commands out, so they could just switch to use context's staging buffer instead of use per object's staging buffer. Bug: b/164511310 Change-Id: Iff7944a37073bb3641498e334847f599903858b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376895 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1ab8b75a 2020-08-28T14:45:15 Enable -Wreturn-std-move-in-c++11. Only one fix needed. Bug: skia:7647 Change-Id: I048d54ed67fbb09f4dce6c918db26ea63e7127a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376719 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill c7217aaa 2020-08-28T14:45:14 Enable -Wbad-function-cast. Fixes a small bug in xxhash. Bug: skia:7647 Change-Id: Ibd0bd8dc4febfe585e257786d9683ea09c94ec6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376718 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten ed33795b 2020-07-23T12:58:10 Add third_party/abseil-cpp to ANGLE 1. Add third_party/abseil-cpp to DEPS so it can be used in ANGLE. 2. Add abseil directory to ANGLE overrides. 3. Add third_party/abseil-cpp to .gitignore. 4. Add third_party/abseil-cpp to roll_chromium_deps.py so it's auto-rolled periodically. Bug: angleproject:4873 Change-Id: Ic158bba844e88ec90ac56a2f8c817168c4bea17f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321734 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 9e544a84 2020-08-24T18:37:59 Vulkan: Fix alignment issue with context staging buffer Context's staging buffer is shared for all kind of usages. We should pass in alignment requirement for allocate call whenever it is different from the default alignment. This adds allocateWithAlignment call to DynamicBuffer call and switch ImgeHelper's usage of it to allocateWithAlignment Bug: b/164511310 Change-Id: Idcb6b6f95d6862ee6cb8fca9c164910b7e085a17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2373590 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Le Hoang Quyen 1c654d54 2020-08-26T00:16:52 Metal: Fix handling of vertex attrib offset not multiple of 4 Metal requires the vertex attribute offset to be multiples of 4, and its stride must not be less than attribute's size. This should fix the WebGL's test: conformance/attribs/gl-vertexattribpointer-offsets.html Bug: angleproject:4846 Bug: angleproject:2634 Change-Id: I0784a8ccaedd5e6c58a266243bfa94ba36e53e11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374829 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5c56f228 2020-08-28T14:45:14 Enable two override suggestion warnings. -Wsuggest-destructor-override and -Wsuggest-override. Bug: skia:7647 Change-Id: Iaac1baa8f34fdf210baf2fdbe811a582b3ac2d14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376717 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 34120d07 2020-08-27T15:29:04 Capture/Replay: Track groups of strings When string counters were added, it accidentally broke transform feedback varyings. All the strings were combined, resulting in: const char *glTransformFeedbackVaryings_varyings_0[] = { R"(out_Posout_Aout_Bout_C)" }; Instead, generate the counter for the entire group. This CL results in: const char *glTransformFeedbackVaryings_varyings_0[] = { R"(out_Pos)", R"(out_A)", R"(out_B)", R"(out_C)", }; Test: Manhattan MEC works again Bug: angleproject:4941 Change-Id: Ie605395942c9105ba234009989f41a2a1cd8c53e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381565 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Le Hoang Quyen 91004654 2020-08-25T01:08:00 Metal: Implement ANGLE_robust_resource_initialization. Bug: angleproject:4929 Bug: angleproject:2634 Change-Id: Ib99b810059420e69d939f1bbb644c2b95de62850 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374826 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
David Reveman 9a19a996 2020-08-26T09:00:50 Vulkan: Use 4 MB as preferredLargeHeapBlockSize for allocator. This reduces preferredLargeHeapBlockSize from the default value of 256 MB to 4 MB, which reduces the initial block size from 32 MB to 512 KB. 4 MB is the same size as used by Chromium and Skia. It seems to be a good compromise of not wasting unused allocated space and not making too many small allocations. This change is limited to non-Qualcomm GPUs as a number of tests are failing on Qualcomm after this change and the initial investigation indicates a potential driver bug. See http://anglebug.com/4995 for more details. Bug: chromium:1122718 Bug: fuchsia:58959 Change-Id: Ifdaf863ef38e72098a04ee57dec46ee71cab6ac3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376891 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: David Reveman <reveman@chromium.org>
Shahbaz Youssefi 167a0f22 2020-08-25T17:11:54 Vulkan: Fixes to transform feedback emulation path Two bugs were affecting the following scenario: - Create program with xfb and no default uniforms - Draw without xfb - Begin xfb - Draw with xfb - End xfb - map and validate The first bug was that the descriptor set that contains the xfb buffers and default uniforms was never allocated for the first draw call resulting in VVL errors and crashes. The second bug was that "Begin xfb" was not setting the xfb buffers dirty bit, which meant that after the first draw call bound dummy buffers to the descriptor set, they would not get updated. This was simultaneously fixed in 5d3a4ca4e, but the added test nevertheless tests this. Bug: angleproject:4660 Change-Id: I16eee315e39ec5a657481e54ecd0491581e886aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376172 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 5c8601ed 2020-08-28T07:01:23 Roll Vulkan-ValidationLayers from cac2574c240a to af56d31487bb (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/cac2574c240a..af56d31487bb 2020-08-27 s.fricke@samsung.com layers: Better timeline semaphore error messages 2020-08-27 s.fricke@samsung.com layers: Label VUID 01413 2020-08-27 s.fricke@samsung.com layers: Label pipeline stype-stype VUs 2020-08-27 s.fricke@samsung.com layers: Label VUID 01260 2020-08-27 s.fricke@samsung.com layers: Label VUID 04121 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-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: I4965eda51ac41e8cf1106ee7056e1c696663997f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381208 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 20c9dd62 2020-08-28T07:01:32 Roll Vulkan-Loader from 0654095b63fb to d846ea5a2427 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/0654095b63fb..d846ea5a2427 2020-08-28 charles@lunarg.com docs: Remove mention of old layers 2020-08-27 shannon@lunarg.com build: Update known-good files for 1.2.152 header 2020-08-27 lenny@lunarg.com tests: Change license to Apache 2.0 2020-08-27 jmadill@chromium.org GN: Add missing header dependencies. 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 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: I837d6fa6e592d0d26b76d56d1420052269099b06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381296 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5828d7b6 2020-08-28T07:01:10 Roll Vulkan-Tools from c472fa2f0330 to 1b0bbd1550ed (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/c472fa2f0330..1b0bbd1550ed 2020-08-27 jmadill@chromium.org Update GN to include header dependencies. 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: I77bb70778e9a5a7d30e2fe22cf8daafcdb6c1ae0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381293 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2c669c63 2020-08-28T07:01:24 Roll SwiftShader from 1f48854dae26 to ec3650f56ca2 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/1f48854dae26..ec3650f56ca2 2020-08-27 srisser@google.com Add getPhysicalDeviceFeatures2 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: I464a5cee3853aead1cf401fc661bd976aa3c8203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381294 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1af5b0d2 2020-08-28T07:01:25 Roll SPIRV-Tools from bceab9fab4bc to 08291a3a9e22 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/bceab9fab4bc..08291a3a9e22 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: I69d6081a115bfc9d2484aba8e25ebc9be900f58c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381295 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi fde4d2f7 2020-08-28T04:19:25 Revert "Vulkan:Clean up best practices exceptions" This reverts commit 15438d3f906f4dffbd445ef01a934ffe1b8ccfbe. Reason for revert: Running end2end tests on Linux, this validation error pops a lot. Original change's description: > Vulkan:Clean up best practices exceptions > > Assign new bug ID for clean-up work. It appears that the > UNASSIGNED-BestPractices-vkCreateCommandPool-command-buffer-reset > error was already fixed. > > Bug: b/166641492 > Change-Id: I536017e0386cf5f57bb53bcba32d5df048050343 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380510 > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Commit-Queue: Tobin Ehlis <tobine@google.com> TBR=tobine@google.com,courtneygo@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I90ee856b8bcac3e3f2b8104fb8642185a26f3e63 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/166641492 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381077 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter d3eba1db 2020-08-27T09:15:48 Fix ASAN error with test Test was not creating large enough vertex attributes for the DrawQuad call and thus hitting ASAN error when trying to copy the 6 vertices worth of data from an array of 3. Bug: b/166617516 Change-Id: Ia05909ada12cafa48e70c6b4ecdbbf729bbb71be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380234 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
Jamie Madill dfddb983 2020-08-27T17:14:08 Fix warnings that show up in Skia with MSVC. Bug: skia:7647 Change-Id: I6951dcfc1eacd0426dfa7f8142780a5065fae1b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380715 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brian Sheedy a1d05e35 2020-08-27T14:43:23 Workaround GN bug Works around a bug in `gn desc` where values can sometimes be reported as strings when we would expect them to be lists. This was causing issues with the migration to abseil, as scripts/export_targets.py did not have a workaround for this bug. Bug: angleproject:4873 Change-Id: I69994e2cd68a563110fcb98072a24f59f70a06d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380716 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis bb33c7cb 2020-08-27T16:22:20 Fix badly formatted dEQP test expectation Bug: angleproject:4996 Change-Id: Ib96c8fe05e715df32390378443e1394b8df74833 TBR=jmadill@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380247 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Courtney Goeltzenleuchter a08495d9 2020-08-27T13:47:19 Revert "Vulkan: restore mContentDefined at endRP()" This reverts commit 53ee431e3d36692cbe50a96ebbf0ff898ec4d523. Bug: chromium:1122621 Change-Id: Ifd63aa0694e00ed6ef74b385466b874604355e79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380610 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott 44df3fa9 2020-08-27T14:26:49 Vulkan: Fix whitebox test to end render pass Since the RAII-based GLRenderbuffer goes away at the end of the test function, we should end the render pass before ending the test. Bug: chromium:1122621 Change-Id: I5aaf2a0b4fd63a38fc5018830ee4e9d7d93f0c81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380248 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Tobin Ehlis 15438d3f 2020-08-27T12:36:10 Vulkan:Clean up best practices exceptions Assign new bug ID for clean-up work. It appears that the UNASSIGNED-BestPractices-vkCreateCommandPool-command-buffer-reset error was already fixed. Bug: b/166641492 Change-Id: I536017e0386cf5f57bb53bcba32d5df048050343 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380510 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Jonah Ryan-Davis 1e068e1d 2020-08-27T15:03:10 Suppress functional_shaders_indexing_tmp_array_*_const_* on Metal These tests were recently added, and fail on the Metal backend. Bug: angleproject:4996 Change-Id: Iadffa25ab5b6c1372874c82f8356f7f19c76d1e0 TBR=jmadill@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380244 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tobin Ehlis d7276586 2020-08-26T11:27:13 Vulkan:Use roundUpPow2 where possible Utility function roundUpPow2 is more optimal than roundUp so use it. Bug: b/166462979 Change-Id: I616fa9f487b818137b1b496d93e292c3bd1f428c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377119 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Amy Liu 7bb75ff6 2020-08-26T15:10:59 Disable forceOldRewriteStructSamplers on Mali. The nested_array.*sampler2D_* tests can pass on Mali with disabled forceOldRewriteStructSamplers. Test: dEQP-GLES31.functional.uniform_location.nested_array.*sampler2D_* Bug: angleproject:2703 Change-Id: I34368d6ce14b81e873e2a3d60a73da4a8a866884 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377627 Commit-Queue: Amy Liu <Amy.Liu@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 28259677 2020-08-27T07:01:23 Roll Vulkan-ValidationLayers from 7a71abb602a2 to cac2574c240a (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7a71abb602a2..cac2574c240a 2020-08-26 locke@lunarg.com layers: Get imageview from imageless framebuffer If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-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: I0e78a36cfff84f883219601b62f516970bbbdd97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377077 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 68048170 2020-08-27T07:01:37 Roll Vulkan-Headers from 834673eaa34a to ced848d699b5 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/834673eaa34a..ced848d699b5 2020-08-26 oddhack@sonic.net Update for Vulkan-Docs 1.2.152 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: Id9950d584ada693a8a1a12699345706b725bbc2a Bug: None Tbr: courtneygo@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2379233 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0c7ea948 2020-08-27T07:05:23 Roll VK-GL-CTS from 94ee680cab4c to 11fcbbf5d7cc (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/94ee680cab4c..11fcbbf5d7cc 2020-08-27 alexander.galazin@arm.com Merge pull request #223 from jpark37/colorspace-common-instance If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC courtneygo@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: courtneygo@google.com,angle-bots+autoroll-info@google.com Change-Id: I27f7fba863ee772efa2edb143d10a99099a853c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2379234 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b74fc289 2020-08-27T07:01:32 Roll Vulkan-Loader from e1c7eaa74142 to 0654095b63fb (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e1c7eaa74142..0654095b63fb 2020-08-26 lenny@lunarg.com repo: Prevent cmake name mismatch warning 2020-08-26 rharrison@google.com Fix formatting 2020-08-26 rharrison@google.com Move variables into scope they are referenced within 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 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: I9549c05967e687f230258c06e91bb70f2a0cfb02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377081 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ad3fec0a 2020-08-27T07:01:25 Roll SPIRV-Tools from 2205254cfb50 to bceab9fab4bc (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2205254cfb50..bceab9fab4bc 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: I7ea2bad1481eafeb1a06963680015c310c8fa165 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377079 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2e9a7892 2020-08-27T07:01:26 Roll glslang from 983698bb34ec to 517f39eee46f (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/983698bb34ec..517f39eee46f 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 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: I27a71506052a5cd1eca7ad48d4f13a3692976008 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377080 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 600836dc 2020-08-27T07:01:11 Roll Vulkan-Tools from dda8dabe9eb3 to c472fa2f0330 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/dda8dabe9eb3..c472fa2f0330 2020-08-26 nathbappai@gmail.com cube: satisfy clang-format 2020-08-26 nathbappai@gmail.com vulkaninfo: Check if NOMINMAX is already defined 2020-08-26 nathbappai@gmail.com cube: Check _MSC_VER instead of _WIN32 for pragma directive 2020-08-26 nathbappai@gmail.com CMake: Check MSVC while deciding MSVC_VERSION 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: I42b2ba08ec405a0857ce7939f19e90ecb81a4b88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377076 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 521118db 2020-08-27T07:01:24 Roll SwiftShader from 622558b02e1a to 1f48854dae26 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/622558b02e1a..1f48854dae26 2020-08-26 capn@google.com Refactor image extent retrieval 2020-08-26 capn@google.com Refactor image view extent retrieval 2020-08-26 capn@google.com Refactor image query instructions 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: Ib1dbbab2d4cabe177b7330c0b0edee5370546c5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377078 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 97013e85 2020-08-27T03:35:42 Revert "Vulkan: Only count descriptor set resources once" This reverts commit 3c2454b82c050193b8552000f1a9e208928d07e6. Reason for revert: Causes rendering issues in Manhattan 3.1. Original change's description: > Vulkan: Only count descriptor set resources once > > The descriptor set resource counts for monolithic programs already have > all of the counts combined for all shader stages, rather than needing to > loop through and combine them all like program pipeline objects. > > Bug: angleproject:3570 > Test: CQ > Change-Id: Ib8a2fe7af991a8d9d5edcef346352c7bac0703fd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375869 > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=courtneygo@google.com,timvp@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3570 Change-Id: I4150d5adf65ace293cb08876e4a62ae3216096b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378564 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 68c8ed7a 2020-08-25T22:16:17 Vulkan: More perf warnings Perf warnings added in the CPU path for unpack buffers, as well as CPU readback of images. Bug: angleproject:3461 Bug: angleproject:4900 Change-Id: I0f716a1ea6110ba8e779903a7d5913d5f6df0ce9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376905 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 710e408e 2020-08-25T18:00:39 Add support for P010 IOSurfaces Add test coverage of multi-plane IOSurfaces. Bug: chromium:1115621 Change-Id: Ib2150c4221a3e49f01ab016cebba4830194ab2b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376174 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 8970ad3f 2020-08-26T12:59:19 Fix Linux build with Skia. Bug: skia:7647 Change-Id: I6bb33a98d69400c9d95fb9d028d29a3e470067e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377291 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 35d3c416 2020-08-26T12:59:18 Generalize zlib utils dir for Skia build. Bug: skia:7647 Change-Id: I3664355d183c1aec87ffd35ab23f594cdd1766c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376716 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis b89e9611 2020-08-19T11:19:35 Fix SwANGLE suppressions of EGLIOSurfaceClientBufferTest Suppressions were missing for several texture formats. This slipped through because angle_end2end_tests are not run on SwANGLE on Mac. Bug: angleproject:4369 Change-Id: I0cbafe5daab591da15f86f2658c4edc724ae2561 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364190 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Ian Elliott 1ea22c31 2020-08-25T20:55:54 Vulkan: Fix TRex performance regression TRex invalidates depth but doesn't disable depth before the render pass ends. The render pass isn't ended, but a storeOp of STORE was used instead of DONT_CARE, which causes a performance regression. Bug: b/163854287 Change-Id: Iebd9999ef66c11ff334db3eef2943f58eb2d5053 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377105 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
angle-autoroll 143193d5 2020-08-26T14:01:24 Roll VK-GL-CTS from fb86cfb19849 to 94ee680cab4c (10 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/fb86cfb19849..94ee680cab4c 2020-08-21 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4 2020-08-20 alexander.galazin@arm.com Allow Vulkan CTS 1.2.4.0 2020-08-20 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master 2020-08-20 chrgau01@arm.com Fix incorrect buffer type in some protected memory tests 2020-08-20 tzlatinski@nvidia.com Fix Image layout transitions for diff_attachments_* 2020-08-20 venni.ihanakangas@siru.fi Fix creation of signaled fences in swapchain tests 2020-08-18 peter.quayle@imgtec.com Disable interval watchdog during long shader compiles 2020-08-14 anholt@google.com gles2: Add temporary constant-data shader indexing tests. 2020-08-14 vkushwaha@nvidia.com Add tests for floating-point atomic operations 2020-08-13 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC courtneygo@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: courtneygo@google.com,angle-bots+autoroll-info@google.com Change-Id: I9cf79e76d876ad0359c0d37923a664154d1fe9b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377407 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 3d160951 2020-08-26T09:56:05 Roll third_party/vulkan_memory_allocator/ 431d6e572..065e73907 (5 commits) https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/+log/431d6e57284a..065e739079d9 $ git log 431d6e572..065e73907 --date=short --no-merges --format='%ad %ae %s' 2020-08-26 jmadill Suppress two override suggestion warnings. 2020-06-25 thakis mac: Only call system aligned_alloc() with the 11.0+ SDK. 2020-06-25 thakis Only use system aligned_alloc on mac/ios if the SDK has them. 2020-06-25 thakis Fix argument order for aligned_alloc on mac. 2020-06-25 thakis Make vulkan_memory_allocator build with the MacOSX11.0 SDK. Created with: roll-dep third_party/vulkan_memory_allocator Bug: skia:7647 Change-Id: Ia87c1c2d47547c170ab1f9a3bc84825b1716337d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376892 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll bc993b27 2020-08-26T07:01:25 Roll SPIRV-Tools from 12df3cafeee0 to 2205254cfb50 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/12df3cafeee0..2205254cfb50 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: I8ce381fe7b7d11c15aa9fbcae7da4ecc977e5ed4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377647 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5eaba134 2020-08-26T07:01:23 Roll Vulkan-ValidationLayers from e798df982b1b to 7a71abb602a2 (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e798df982b1b..7a71abb602a2 2020-08-26 locke@lunarg.com tests: Check shader feature enable 2020-08-26 locke@lunarg.com layers: Add has_atomic_descriptors 2020-08-25 s.fricke@samsung.com tests: Add ProtectedSubmitInfo VUs 2020-08-25 s.fricke@samsung.com layers: Add ProtectedSubmitInfo VUs 2020-08-25 s.fricke@samsung.com layers: Label bind2 protected VUs 2020-08-25 s.fricke@samsung.com layers: Label import fence VUs 2020-08-25 s.fricke@samsung.com layers: Label ValidateFenceForSubmit VUs If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-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: If9d99d2e6d56e1983168a1e6b1d1442312c3dd97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377509 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill c5b9c49c 2020-08-25T18:01:29 Vulkan: Fix optimizeRenderPassForPresent regression. gfxbench clears the depth buffer right before the swap. Even though the last draw call that presents the frame didn't ever read or write to depth, the tracking we added thought this depth write meant we had to keep the LOAD_OP as CLEAR. Instead we can refine our check to treat clears specially when enabling the depth-stencil read-only mode instead of changing how the tracking works for clears. This way the tracking can not affect other apps that don't use depth-stencil read-only loops. Also adds a regression test that counts the clears after a swap. Bug: angleproject:4959 Bug: angleproject:4979 Change-Id: I12ece6474019f7519a467f827110ad817f7d4df7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370364 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 3c2454b8 2020-08-25T12:01:12 Vulkan: Only count descriptor set resources once The descriptor set resource counts for monolithic programs already have all of the counts combined for all shader stages, rather than needing to loop through and combine them all like program pipeline objects. Bug: angleproject:3570 Test: CQ Change-Id: Ib8a2fe7af991a8d9d5edcef346352c7bac0703fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375869 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya 9a64f307 2020-08-25T14:06:40 Vulkan: Reserve memory for ResourceUseList::mResourceUses ResourceUseList::add is called repeatedly when we need to track a resource's usage in a context. Instead of a potential memory operation on each add we reserve memory upfront for about 4k SharedResourceUse objects. If the vector grows larger, it will be automatically handled by std::vector's allocator. Bug: angleproject:4950 Change-Id: Ic85ed44a6662819621ee9a47f43dd2542b73114d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375801 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Le Hoang Quyen a4f706b2 2020-08-04T12:08:00 Metal: Use compute to generate 3D texture's mipmap. - Metal's built-in blit based mipmap generator doesn't use box filtering. Hence manual generation using compute is needed. - Compute based mipmap gen can generate up to 4 mips per pass if the base level is power of 2. - This approach can be extended to 2D/cube texture's mipmap generation in future. Bug: angleproject:4921 Bug: angleproject:2634 Change-Id: I7f997669fe39afef075b2bca2406e9424cbb3016 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336120 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Jamie Madill 5d3a4ca4 2020-08-21T13:09:56 Vulkan: Fix dirty state in XFB emulation on EndXFB. This regressed in "Vulkan: Preserve RPs on XFB changes when possible." The bug manifested as incorrect fire rendering in Manhattan. The fix is to ensure we dirty the correct buffer state when we call endXFB. Also adds a regression test. Bug: b/161744596 Bug: angleproject:4622 Change-Id: If16cc22b149526950f300e74c0cc82c0fefae5bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368016 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 18cd3cea 2020-08-25T12:51:19 Revert "Work around dEQP KHR-GLES31 bug with tess/geom support." Fix is now upstreamed, we can remove the workaround. This reverts commit 2ba626dc121339a995a1ffd16a32299bf023cb21. Original CL message: > dEQP was inadvertendly requiring the presence of these extensions to > even run the tests. There's a WIP fix to the dEQP tests and this CL > implements that fix as a temporary workaround until we can update dEQP. > Fixes several tests in KHR-GLES31.core.constant_expressions and > KHR-GLES31.core.shader_macros. They now correctly return unsupported. Bug: angleproject:4143 Change-Id: I4001b30ab609ac4c9be2ce06c2d3c0dca75b64e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375965 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten 85ddcc93 2020-08-24T14:22:22 Vulkan: Convert ProgramExecutableVk::mDescriptorSets to std::array Currently ProgramExecutableVk::mDescriptorSets is a vector, but it's size is bound so it can be a std::array (DescriptorSetLayoutArray). To ensure the size grows correctly in the future, the various descriptor set indexes are also being converted from independent constexpr uint32_ts into the enum DescriptorSetIndex. Bug: angleproject:4898 Test: CQ Change-Id: I7ae8ff3455bcfb61e24b73bd16cc3f8cf9873087 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372664 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill d787149a 2020-08-20T17:33:49 Allow rendering to unused levels of bound Textures. This CL refines the feedback loop check to allow rendering to non- sampled levels of currently bound textures. This is a technique sometimes used to initialize a mip chain of a texture. Also adds a regression test that fails on Vulkan. Bug: angleproject:4500 Bug: angleproject:4690 Change-Id: I5fd370e36a2919c82170abcbd2b0897c075bdcc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2367314 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Ian Elliott 53ee431e 2020-08-21T12:40:03 Vulkan: restore mContentDefined at endRP() CommandBufferHelper will keep a pointer to the depth-stencil RenderTargetVk, and use this to set RenderTargetVk::mContentDefined to true at the end of a render pass. Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.InvalidatingAndUsingDepthDoesNotBreakRenderPass/* Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan Bug: b/163854287 Change-Id: I891381825ee01e141dfa4f9099d07d9ffc943f77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368194 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 295d2ccd 2020-08-24T14:46:31 Vulkan: Generate perf warnings on suboptimal paths Using KHR_debug features, this change creates a performance-warning-generation macro and employs it in a handful of locations to provide useful feedback to application developers. The warnings added in this change are not exhaustive. Bug: angleproject:3461 Bug: angleproject:4900 Change-Id: Id62435d170d90c5be9c1c5cab2d6779ccb58345e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372628 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter d19c08c9 2020-08-25T08:07:31 Fix ASAN issue with FastIntegerMap.BasicUsage ASAN bot caught bug in FastIntegerMap.BasicUsage test. The end() iterator points past the end of the list, accessing end()->first is invalid. rbegin() points at the last element of the list which is what this test intended. Bug: b/166255370 Change-Id: I06e098143d3de9658088cda6f10761d41b17a520 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375305 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi 33f8e4d4 2020-08-25T12:06:35 Fix sub-invalidate of incomplete framebuffers Just like invalidate, this should attempt to sync the framebuffer after nooping incomplete framebuffers. Bug: chromium:1119669 Change-Id: Ie4bc6211bbeb1765674f7e0aef884faf7ceb8cc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375565 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 09924221 2020-08-24T17:17:17 Convert the EGL end2end tests to use RAII types/macros These tests are frequently cloned to make new tests, and so it's good to do a more-global refactor so that these and future tests will use RAII. Bug: angleproject:4947 Change-Id: I2973e70ee075629965b18c685793975537e96b6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372627 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 027f0c38 2020-08-24T15:55:55 Vulkan: Remove Host->device availability barrier. vkQueueSubmit already performs this operation, so this barrier was unnecessary. The only place this is necessary is when the GPU is expected to receive updates from the CPU post-submit. ContextVk::synchronizeCpuGpuTime is the only such use-case in ANGLE. Bug: angleproject:4897 Change-Id: I7297fbd65d3faabd949dddb6bcaa181053a83193 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372631 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 78304b47 2020-08-23T00:39:28 Vulkan: Remove BarrierType This was only used for one ASSERT, which is changed to use a correlated variable. Bug: angleproject:4959 Change-Id: I0eccd2c06c52fcfbff4c533e661735bf1213125d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371222 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Maksim Sisov 6b175c5c 2020-08-19T15:11:16 X11 and Ozone: fallback to X11 backend for tests. USE_X11 && USE_OZONE build is a new config for Chromium/Linux that is going to be enabled soon. However, it breaks angle tests for Linux bots that run these tests. Atm, we don't support Wayland in angle anyway, and always falling back to X11 is the right thing to do. However, it's a bit strange to return false in IsOzone for USE_X11 && USE_OZONE case, but it's something we can do now to unblock switching Chromium to use_x11 && use_ozone config for Linux and resolve the problem later. Bug: angleproject:4977 Bug: chromium:1085700 Change-Id: Id223110cc504d8a4faa38608a96338a297a8cfc3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2367856 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c7645886 2020-08-24T16:47:21 Vulkan: Remove the flipViewportY feature This was featurized as a workaround for Intel/Windows drivers that did not render flipped in comparison to GL per Vulkan spec. This issue has long since been fixed, and due to missing parentheses the feature was accidentally unconditionally true for a long time already. Bug: angleproject:4896 Change-Id: I1db55d298bd47df649ff1f03d287d0cfa7453ea7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372632 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 230d5904 2020-08-25T07:01:26 Roll SPIRV-Tools from 4dd122392f3a to 12df3cafeee0 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4dd122392f3a..12df3cafeee0 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: Ie63aa9a5c776770ac43cdcf798eec7faf6722b2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374226 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c9161dce 2020-08-25T07:01:23 Roll Vulkan-ValidationLayers from 76e8dee41452 to e798df982b1b (20 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/76e8dee41452..e798df982b1b 2020-08-25 locke@lunarg.com layers: Check NULL 2020-08-25 locke@lunarg.com tests: Test overlap and not overlap 2020-08-25 locke@lunarg.com layers: Fix wrong overlap check 2020-08-24 mark@lunarg.com tests: Add test for version-checked pNext structs 2020-08-24 mark@lunarg.com tests: Add TessDomainOrigin pnext version check 2020-08-24 mark@lunarg.com stateless: Version check pNext sTypes 2020-08-24 mark@lunarg.com tests: Fix FramebufferCreateErrors test 2020-08-24 mark@lunarg.com tests: Fix AndroidHwBufferDepthStencil test 2020-08-24 mark@lunarg.com tests: Fix error types for InvalidPipelineSamplePNext test 2020-08-24 mark@lunarg.com tests: Fix error types in message limit tests 2020-08-24 mark@lunarg.com tests: Fix error types for InvalidStructPnext tests 2020-08-24 mark@lunarg.com tests: Fix InvalidGetDeviceQueue invalid struct 2020-08-24 mark@lunarg.com tests: Fix TessDomainOrigin positive test 2020-08-24 mark@lunarg.com stateless: Fix sType check string comparison 2020-08-24 mark@lunarg.com stateless: Fix valid sType list for pMultisampleState pNext ptr 2020-08-24 s.fricke@samsung.com layers: Remove 03269 todo 2020-08-24 s.fricke@samsung.com tests: Add Depth/Stencil BufferImageCopy VU 2020-08-24 s.fricke@samsung.com layers: Add Depth/Stencil BufferImageCopy VU 2020-08-24 s.fricke@samsung.com layers: Add VkCommandPool to COMMAND_POOL_STATE 2020-08-24 s.fricke@samsung.com layers: Fix Descriptor ImageLayout check If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-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: I388405c9186a540933c8d25c57a5bcd8073298f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374348 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f2be8bd3 2020-08-25T07:01:10 Roll Vulkan-Tools from eceb318c06a2 to dda8dabe9eb3 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/eceb318c06a2..dda8dabe9eb3 2020-08-24 jmadill@chromium.org Bump mock ICD surface max extents. 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: I35ddd35aeedb4e33a155ceefe359ed37a5e5d172 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374347 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 7bce5194 2020-08-22T23:52:51 Vulkan: Simplify image read barrier necessity check RAW hazards were being tested for if the layouts were identical, but that's impossible. Bug: angleproject:4911 Change-Id: I73f568b1df2cbffe943217e19b115561e48a56c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370862 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Mohan Maiya f9a062c9 2020-08-16T14:09:41 Vulkan: Add FastIntegerSet and FastIntegerMap class Add FastIntegerSet container to enable fast contains operation for a set of integer keys. The class uses a BitSet vector to achieve performance. Add FastIntegerMap container to improve buffer serial tracking performance. FastIntegerMap uses FastIntegerSet container to track buffer serial keys. It also provides an ensureCapacity method to reserve space, for the expected buffer count, upfront. CommandBufferHelper::mUsedBuffers and ContextVk::descriptorSetCache are now FastIntegerMap CommandBufferHelper::mRenderPassUsedImages is now a FastIntegerSet Based on a CL by Jamie Bug: angleproject:4950 Test: angle_unittests.exe --gtest_filter=FastInteger* Change-Id: Ib58be20143f588baab99acadac796f2435f72d54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2369466 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Le Hoang Quyen 7ce9947d 2020-08-04T12:08:00 Metal: autogen for 3D texture's mipmap generating shader. Bug: angleproject:4921 Bug: angleproject:2634 Change-Id: I5c379d750114e2ca1c5dd0203e94bb63dac1e0bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336125 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll 09b5e6b1 2020-08-24T07:01:23 Roll Vulkan-ValidationLayers from 0d6b4440549b to 76e8dee41452 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0d6b4440549b..76e8dee41452 2020-08-22 locke@lunarg.com tests: Binding and index are different 2020-08-22 locke@lunarg.com layers: Fix wrong index 2020-08-21 mark@lunarg.com layers: Fixed multiview handling in RenderPass code If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ibc6ec188f3decea8a02d1127acfba41c27aa4b5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371318 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c09b3505 2020-08-24T07:01:26 Roll SPIRV-Tools from b79773a35d52 to 4dd122392f3a (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b79773a35d52..4dd122392f3a 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ibb81d2cffb4bf310a344c23e49b3a36a0871ee22 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371280 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9373b50e 2020-08-24T07:01:25 Roll SwiftShader from 44e1791f100c to 622558b02e1a (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/44e1791f100c..622558b02e1a 2020-08-21 srisser@google.com Revert "Add getPhysicalDeviceFeatures2" 2020-08-21 msisov@igalia.com X11 and Ozone: Try to check for display type when creating framebuf 2020-08-21 capn@google.com Perform independent blend state 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ia64a7480274de87da5b21f28e1198637edb3d37c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371319 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8c86f0d9 2020-08-24T07:01:26 Roll glslang from f257e0ea6b9a to 983698bb34ec (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f257e0ea6b9a..983698bb34ec 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Id88987775255ab33cfa7e4704ddc5bcdddfacbc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2371281 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 4f7edbe1 2020-06-03T14:51:50 State: Add dirty object for active textures. Checking sampler completeness after every sampler related state change is inefficient. Defer sampler completeness check to draw time. Based on a CL by hckim.kim@samsung.com. Bug: angleproject:4765 Tests: angle_perftests.exe --gtest_filter=TexturesBenchmark.* Change-Id: I7e971371e40b3044ca3d5ca39bfe7fc600620c3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2268577 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Dirk Pranke 24c2f0e7 2020-08-22T11:18:42 Set use_xvfb where needed in test wrappers. The GN test() template now generates bin/run_ wrappers for targets; this CL ensures that they'll properly declare when the wrappers need to use Xvfb on Linux. Bug: chromium:816629 Change-Id: I4f227eab3306f737f77bbe3341039d710184db96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370337 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen acda9dde 2020-08-08T18:36:57 Metal: Implement GL_OES_texture_3D Bug: angleproject:2634 Change-Id: I8c46493ac28fe1bbfdb29ee3a60b23076bbc4c0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336119 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Le Hoang Quyen f2196ad6 2020-08-04T12:08:00 D3D11: Disable OES_texture_3D. GL_OES_texture_3D requires support for 3D textures at both API and GLSL levels. D3D11 back-end doesn't handle GLSL's added functions (texture3D*) properly. See TextureFunctionHLSL::useTextureFunction() (TextureFunctionHLSL.cpp:1475) Bug: angleproject:4926 Change-Id: Icd669b070c68ec04f5de790d5a531912f5b42d98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336132 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 4f247baf 2020-08-23T22:58:56 Metal: Implement EXT_draw_buffers & ANGLE_framebuffer_blit Bug: angleproject:2634 Change-Id: I769ca7e113e660870e9b31dafb706c313db8ac24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332146 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Charlie Lao 1d331c91 2020-08-19T10:30:14 Vulkan: Use context staging buffer for copyImageDataToBuffer ImageHelper::copyImageDataToBuffer() is called from glCopyTexture*. It allocate staging buffer and write the copy command into command buffer right away. This uses context staging buffer instead of ImageHelper's staging buffer. This has the benefit of able to share staging buffer with other objects (including buffers etc). Bug: b/164511310 Change-Id: I3f680b1cd95df172a442aac573a8cc8d48972b1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364717 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop a2c2a910 2020-08-20T11:41:50 Capture/Replay: Fixes for PUBG:Mobile This CL does the following: * Skip calls from KHR_debug and EXT_debug_marker * Update an assert in setDeletedBuffer * Warn when capturing an invalid call Test: Capture first 2000 frames of PUBG:Mobile Bug: b/165824228 Bug: angleproject:4048 Change-Id: Ib7fa616a1b5c8ed7c83daaaf0779b41acd31a7f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366828 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ea3f501e 2020-08-18T11:13:33 Feedback Loop Redesign 3/3: Remove feedback loop tracking. We now we detect feedback loops by tracking the Framebuffers that the Texture is bound to. We still have the old tracking method that counts sampler and image bindings in the code as well. This CL removes the old front-end tracking for feedback loops. It's no longer used by any back-ends. This removal should reduce CPU overhead around Texture and Program binding changes. Reverts the image binding tracking to the simpler scheme that tracks if a Texture has ever been bound as an Image. This should practically have little or no perf effect and we can reinstate some simpler tracking in the future if required. Bug: angleproject:4500 Bug: angleproject:4959 Change-Id: Idc625d6e4c519919f97a4dc72dd9c35d262706fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363210 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Ian Elliott ba1e049f 2020-08-21T13:13:54 Vulkan: Fix compilation error Two commits conflicted and the bots didn't catch it somehow Bug: b/163854287 Change-Id: Idb4d7802eec71b2112b11e4553e609b532cee070 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2369261 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 296d3bfd 2020-08-21T10:38:32 Vulkan: do not end render pass when invalidating Initially, FramebufferVk::invalidateImpl() was very conservative and always ended a render pass (if the framebuffer is part of the current render pass). This adversely affects PUBG Mobile, which invalidates the depth buffer every frame, causing the render pass to be split. Test: PUBG MOBILE on Android Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.InvalidatingAndUsingDepthDoesNotBreakRenderPass/* Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan Bug: b/163854287 Change-Id: I343dee1db3ebaf039ff92557f9ef25b24bcdcc93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2352627 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 682f9141 2020-08-18T10:57:40 Remove feedback loop support from back-end. Front-end detection still in place and will be removed in a follow-up. Removes the Vulkan feature and the special clear handling. Bug: angleproject:4959 Change-Id: I5d44c3f7dbdb49d8aa0375f54b7148df09732ba2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363208 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 9d8fd36d 2020-08-21T07:01:32 Roll Vulkan-Loader from 2979391e5b0c to e1c7eaa74142 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/2979391e5b0c..e1c7eaa74142 2020-08-20 lenny@lunarg.com loader: Fix invalid cleanup on allocation error 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I1c202b3b886499dd4b33ae1bb8e02f861c5174a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368912 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 97a899f7 2020-08-21T07:01:25 Roll SPIRV-Tools from a711c594b8cc to b79773a35d52 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a711c594b8cc..b79773a35d52 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Iab1da2816a46c4cb658c1560e54b49ab86b21b26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368817 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a2c33e3f 2020-08-21T07:01:25 Roll SwiftShader from cbfd396756c6 to 44e1791f100c (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/cbfd396756c6..44e1791f100c 2020-08-20 srisser@google.com Add getPhysicalDeviceFeatures2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ie0cfc798345d8a176168f16fd6c7189611e0769a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368816 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 4909d08c 2020-08-19T12:21:44 Vulkan: Rename mStagingBufferStorage to mStagingBuffer Rename only to keep it consistency. Bug: b/164511310 Change-Id: I7b00c48010b76bff0b292e6e75b9aff154cdecc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364727 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d3e800e9 2020-08-15T17:26:04 Vulkan: Restart RenderPasses in DS read-only mode. We can combine an initial RenderPass with a read-only RP if the first RP never writes to depth. We can check the depth-write tracking in CommandBufferHelper and substitute in a new Framebuffer/RP Desc in this case as well as issue new layout barriers. We need to disable barrier merging in this special case. This reduces the RenderPass count in the Manhattan trace from 15->13. The performance on the Pixel 4 benchmark goes to ~82% of native for the on-screen version and ~88% for off-screen. There's also a ~5% bump in speed for the desktop trace. Bug: angleproject:4959 Change-Id: I70241824f75eaa1e11b50370f826abc36e91686e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358772 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao 552f0f76 2020-08-14T16:37:03 Vulkan: Use context staging buffer for immutable texture update This uses context's staging buffer for immutable texture TextureVk::setSubImageImpl call and flushes update right away. Bug: b/164511310 Change-Id: I04fee0a9afe0e84617a461fb6cd7137e853adf8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357971 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill e689d316 2020-08-14T22:51:03 Vulkan: Don't end RenderPass on DS feedback loops. Instead of always switching the Framebuffer to mask out depth/stencil loops we now switch the RenderPass to a "read-only" depth/stencil mode. Reduces the RenderPass count in Manhattan from 18->15. There are still a couple extra RenderPasses inserted that we can get rid. We can merge a few RenderPasses by retroactively changing a started RenderPass to "read-only" when there are no prior recorded depth writes or clears. Also adds a test to count the number of RenderPasses ANGLE generates in DS feedback loop situaions. Bug: angleproject:4959 Change-Id: I1855a45959655fc27ccd47a3469c1c672fc8fd9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357973 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll c060d8d6 2020-08-20T07:01:23 Roll Vulkan-ValidationLayers from c97acd1d3e07 to 0d6b4440549b (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c97acd1d3e07..0d6b4440549b 2020-08-20 locke@lunarg.com tests: Push constants and image subresources 2020-08-20 locke@lunarg.com layers: Add VUID-vkCmdDraw-None-02687 2020-08-20 locke@lunarg.com layers: Add VUID-vkCmdDraw-None-02698 2020-08-19 mark@lunarg.com docs: Clarify use of BUILD_LAYER_SUPPORT_FILES 2020-08-19 s.fricke@samsung.com layers: Remove double destroy VUID 2020-08-18 shannon@lunarg.com build: Update known-good files for 1.2.151 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-validation-layers-angle-autoroll Please CC cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I72c8ed763ee7de32272c5bc34806440eac6d6b5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366566 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 08587bcb 2020-08-20T07:01:25 Roll SPIRV-Tools from 3434cb0b006d to a711c594b8cc (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3434cb0b006d..a711c594b8cc 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 cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I106e7a18a3b2ed1b9bcb44a7905e72729c758bea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366567 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a6bf6a72 2020-08-20T07:01:32 Roll Vulkan-Loader from 30b3f3857835 to 2979391e5b0c (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/30b3f3857835..2979391e5b0c 2020-08-19 nathbappai@gmail.com loader: Fix some non-msvc compiler 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-loader-angle-autoroll Please CC cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: Ic0c9fa5e93c83901b8e7e94af775210e74e99de7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366568 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 dff47d5f 2020-07-14T19:10:12 Vulkan: Optimize MSAA using subpass resolve attachments If a user is performing a blit to resolve a multisample color buffer into a single attachment, ANGLE can use subpass resolve attachments to resolve directly into the destination buffer as part of the render pass. This allows the data to remain in tiler memory and reduce the extra bandwidth required to write the multisampled data back to perform the copy. This work also requires restoring/reopening a render pass if it has been finished already, assuming the finished render pass was started and for the framebuffer that is the source for the blit command. Other objects that were created when the render pass was started need to be updated as well, such as the source FramebufferVk's resolve attachment, the CommandBufferHelper's vk::Framebuffer and vk::RenderPassDesc, etc. While this is better than performing vkCmdResolveImage(), there is still another major part of optimizing MSAA using resolve attachments not implemented here: discarding the multisampled image rather than writing it to GMEM, which requires the user to invalidate the read FBO after the blit. This CL was verified with AGI to make sure there are no explicit blits to resolve the multiple sampled image. Bug: b/159903491 Test: FramebufferTest_ES31.*Blit* Test: VulkanPerformanceCounterTest_ES31.MultisampleResolveWithBlit Change-Id: I320a26088d8f614a295e7feec275d71310391806 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298663 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Yuly Novikov 5dff6075 2020-08-19T20:57:36 Roll chromium_revision c8c2c64629..84714fcf81 (796654:799900) Change log: https://chromium.googlesource.com/chromium/src/+log/c8c2c64629..84714fcf81 Full diff: https://chromium.googlesource.com/chromium/src/+/c8c2c64629..84714fcf81 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/1130766620..7076d3be06 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e227df9cd5..855f6eb5b6 * third_party/Python-Markdown: https://chromium.googlesource.com/chromium/src/third_party/Python-Markdown/+log/31ac00b010..ad4fc19d61 * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/0241a1304f..9d4f8005bc * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/7492de9a52..d53accfbd0 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/faabb9a8ea..299e8a2339 * tools/md_browser: https://chromium.googlesource.com/chromium/src/tools/md_browser/+log/7e75775447..60141af360 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/89552acb6e..ee1e244813 DEPS diff: https://chromium.googlesource.com/chromium/src/+/c8c2c64629..84714fcf81/DEPS No update to Clang. TBR=ynovikov@chromium.org, BUG=None Change-Id: Ib0a7b120da430668075b0202456d4c0e170666bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2366112 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 185d9d08 2020-08-14T22:48:15 Re-land "Feedback Loop Redesign 2/3: Track bound FBOs in Texture." Re-land fixes the crash when drawing with no bound Program executable. Currently we track feedback loops by counting the times a Texture is bound as a sampler or image in a particular context. This is a bit tricky because Texture bindings change frequently. Relative to the number of times we need to check for a feedback loop this causes excess overhead. Usually Framebuffers have a low number of Textures bound (in many cases just 1). And Textures aren't usually bound to many different FBOs. So instead of counting the number of times a Texture is bound as a sampler or image we will track the Framebuffers that the Texture is bound to. This CL adds a small vector class to gl::Texture which tracks all the Framebufer Serials of its bound Framebuffers. We can use this set to quickly check if there's any potential feedback loop between the a FBO and this Texture. We also update the feedback loop check to use this new method. We will be able to remove the old counting method when we switch the Vulkan feedback loop handling to use the new tracking in this CL. Bug: angleproject:4500 Bug: angleproject:4959 Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Alexis Hetu a20f5b17 2020-08-18T11:26:50 Silence Control Flow Integrity (cfi) errors The cfi bot is throwing 3 different errors with ANGLE when using the Vulkan backend: - ChoosePhysicalDevice causes a "function with wrong dynamic type" error when using vkGetPhysicalDeviceProperties - In volk.c, using vkGetInstanceProcAddr and vkGetDeviceProcAddr also causes a "function with wrong dynamic type" error - In vk_mem_alloc.h, included from vk_mem_alloc_wrapper.cpp, GetAllocationCallbacks() causes a "unrelated cast" error This cl silences all 3 cfi errors. Bug: chromium:1116053 Change-Id: I864ec8d9e2acaec493f472e01b3987dcc641c58f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363209 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>