Log

Author Commit Date CI Message
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>
Yuly Novikov a357cbab 2020-08-19T20:26:47 Fix manual roll mode of roll_chromium_deps.py Got broken while working on autoroll mode in https://chromium-review.googlesource.com/c/angle/angle/+/2363212 Bug: skia:10572 Change-Id: I0c851aed758e568b080d6c222762f35b8c7adae4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365597 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 7d38b0ba 2020-08-19T17:33:31 Fix manual, disable automatic rolling of googletest and jsoncpp roll_chromium_deps.py didn't handle properly rolling recursedeps for these 2 repos, only rolling the top level repo but not internal. Temporarily disable rolling these 2 repos in roll_chromium_deps.py and roll them properly to the latest revision used by Chrome. Change log: https://chromium.googlesource.com/chromium/src/third_party/googletest/+log/e3c3f879eee34ec81b1e562d8fecd207716d8945..c20c5a3085ab4d90fdb403e3ac98e7991317dd27 https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/f2fb48c3b3d79a75a88a99fba6576b25d42ec528..4fe018038f87675c083d0cfb6a6b57c274fb1753 https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/ec647b85b61f525a1a74e4da7477b0c5371c50f4..30a6ac108e24dabac7c2e0df4d33d55032af4ee7 No change to https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git/+/645250b6690785be60ab6780ce4b58698d884d11 Bug: angleproject:4973 Change-Id: Ie164c5b1adb8684b875f1be4924b295033e2fb4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365023 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Khushal f6fb6da8 2020-08-19T21:04:35 Revert "Feedback Loop Redesign 2/3: Track bound FBOs in Texture." This reverts commit 699bcde0b729853f33474941a313f6d5c9e63faf. Reason for revert: Breaking GLES2WebGLDecoderPassthroughTest.DrawArraysInstancedANGLEEnablement. Here is a sample build : https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28NVIDIA%29/4240 Original change's description: > Feedback Loop Redesign 2/3: Track bound FBOs in Texture. > > 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: I84a2f0ed8480d1da63d5879e0e56a8be4af4e735 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358850 > Reviewed-by: Tobin Ehlis <tobine@google.com> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=tobine@google.com,courtneygo@google.com,jonahr@google.com,jmadill@chromium.org Change-Id: Ica795036895652add37ac8ed319031f9d5a321ac No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4500 Bug: angleproject:4959 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365077 Reviewed-by: Khushal <khushalsagar@chromium.org> Commit-Queue: Khushal <khushalsagar@chromium.org>
Yuly Novikov 0f33d01e 2020-08-18T22:01:38 Adjust roll_chromium_deps.py to work with autoroller. Add --autoroll option which expects an existing git commit by the autoroller, which updates chromium_revision. roll_chromium_deps.py then updates other ANGLE dependencies to the revision of their Chromium counterparts and amends autoroller's commit. Bug: skia:10572 Change-Id: Iddb9296bd1470f4a2113563c5ed3a1c27e16f128 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363212 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis b8c32424 2020-08-19T12:06:53 Fix language inclusivity for SurfaceMtl.mm He->they Bug: b/162834212 Change-Id: I8559120ad77006aaa839b70e00b4c8f12e9e8a44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364192 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
David Reveman 78d10017 2020-08-16T16:13:59 Vulkan: Enable VK_KHR_bind_memory2 extension Don't assume support for VK_KHR_bind_memory2, enable the extension, if supported, during device creation. Also initialize all required extension functions for the memory allocator. Bug: angleproject:4966 Change-Id: I878939fb3324723675a2b7dec18ab453b2a9fc77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359529 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 831056bf 2020-08-19T12:04:59 Fix typo in test harness README Larget->larger Bug: angleproject:3162 Change-Id: I7ee84b714af179f97db1aa61b58ed946b28373bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364191 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen defeda29 2020-08-04T12:08:00 Metal: autogen for EXT_draw_buffers & ANGLE_framebuffer_blit Bug: angleproject:2634 Change-Id: I8f8ee91fb673301b8bd97c359ee39c411e2bf8da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336124 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Amy Liu add9b677 2020-08-17T15:50:20 Delete extra initialization in spirv shader. Only webgl requires initialization of local variables,others don't. Extra initialization in spirv shader may affect performance. Bug: angleproject:4952 Change-Id: I004761779067748d43c1ea2630794491f1389492 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359608 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 27a24f6d 2020-08-17T19:02:09 Vulkan: Check aggregate barrier feature instead of caching. Bug: b/157508684 Change-Id: I6c98cb017d44c1279439d815e77f6ad1a32133e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360903 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill ea1bda26 2020-08-17T14:21:26 Vulkan: Name image layouts. Can be useful for debugging logging. Bug: angleproject:4959 Change-Id: I4bdb72b4c07979fecc2af0ca2a2b2e7cdab36b9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360902 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 6133bb4d 2020-08-19T07:01:25 Roll Vulkan-Tools from 1590d46aaaeb to eceb318c06a2 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/1590d46aaaeb..eceb318c06a2 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-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: I8bb85820739d3f9d881e2559f167f05f7d3ee2ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364248 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 330eb73f 2020-08-19T07:01:13 Roll SwiftShader from 6f74415e2f74 to cbfd396756c6 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/6f74415e2f74..cbfd396756c6 2020-08-18 sugoi@google.com Control Flow Integrity (cfi) fix 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: I04196ff58d26afae7c52d4aebc2a962909a9b846 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364247 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e16e2cf4 2020-08-19T07:01:36 Roll Vulkan-ValidationLayers from 9d431ae2eeb4 to c97acd1d3e07 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9d431ae2eeb4..c97acd1d3e07 2020-08-18 mark@lunarg.com layers: Fix whitespace error in layer settings file 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: I82f83a33bffee7ff6f5ffebca1bd59f726e85012 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364249 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9e17caba 2020-08-19T07:01:53 Roll SPIRV-Tools from e28436f2b8a2 to 3434cb0b006d (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e28436f2b8a2..3434cb0b006d 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: I98c5ba5b5a5ad87051cdadd89ae431412b003405 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364250 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill d286daf1 2020-08-16T23:53:31 Vulkan: Track RP's read/write access for depth/stencil. This generalizes the read tracking into read/write. Knowing the write access can let us determine if we can switch a RenderPass to a read- only mode. And switching to read-only will let us combine some RenderPasses in Manhattan. Bug: angleproject:4959 Change-Id: Ic97547e84fef4a2670437677000d4525006ef69f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358771 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Jamie Madill 699bcde0 2020-08-14T22:48:15 Feedback Loop Redesign 2/3: Track bound FBOs in Texture. 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: I84a2f0ed8480d1da63d5879e0e56a8be4af4e735 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358850 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5b4f6e31 2020-08-15T23:03:34 Vulkan: Add overlay widget for RP buffer count. Can help evaluate when scenes stress out the resource tracking in the RenderPass command buffer. Bug: angleproject:4950 Bug: angleproject:4965 Change-Id: I7da2ad0101a840c5441f2112db4bb61f564afcef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358521 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill d0b270e6 2020-08-14T21:55:17 Feedback Loop Redesign 1/3: Framebuffer Serials. 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. Because FBOs are unique to a Context, a Texture could be bound to two different FBOs with the same ID. In this CL we introduce a new Serial for the FBO which is unique to an EGL Share Group. This way we can ensure we don't make the wrong call when a Texture is referenced by a Framebuffer. It also replaces the old FB serial which was again only unique to a particular Context. Bug: angleproject:4500 Bug: angleproject:4959 Change-Id: I0a9989d861a4132bd3b7ed85f699a4448ff37a4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358849 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 85919ef7 2020-08-08T18:23:47 Metal: autogen format caps from json Bug: angleproject:4940 Bug: angleproject:2634 Change-Id: I1e107e856a50a7eaf685296dd7464af9ad5bcec4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342522 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 594e0e14 2020-08-15T16:35:55 Vulkan: Add DS ReadOnly mode to Framebuffer/RP caches. Allows ANGLE to create Framebuffers and RenderPasses with a read- only depth/stencil layout. Also allows us to transition our Images to this new DepthStencilReadOnly layout. Internal code redesign. No functional change to our command stream. Bug: angleproject:4959 Change-Id: I9b80063bdaec8f5d6c89037e0618c85e1c11b78d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2354280 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen a13f1061 2020-08-14T23:37:21 Metal: Fix missing image view for texture from IOSurface. Image view is used by glTexSubImage*, glCopySubImage* and glCopySubTexture*. This fixed some failed WebGL tests that make use of IOSurface. Bug: angleproject:4846 Bug: angleproject:2634 Change-Id: Iebcf840fdc1be2794feab766957b5848a361a63c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2356107 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 57393152 2020-08-16T00:08:09 Auto-gen more Overlay code. We add a new header where we auto-generate the Widget ID. We also use a new X macro to generate per-widget arrays and tables. Bug: angleproject:4965 Change-Id: Ic53e5d1c47d5712a63c98c481c15f550f1f99692 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358520 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 4cf01e3e 2020-08-18T14:29:03 Clean up Overlay code duplication. Adds common helper functions for Running Graphs and Histograms. Bug: angleproject:4965 Change-Id: I8c7295217c637e377b74b4a336eb151b8a7c9596 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358518 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill ee0a9a34 2020-08-13T15:39:49 Vulkan: Clean up ImageLayout enum. Remove the redundant manual numbering. Also rename AllGraphicsShadersReadWrite to AllGraphicsShadersWrite for consistency. Refactoring change only. Bug: angleproject:4959 Change-Id: I2e7ca00993f192897bbf88f4bdc3f1610bcb345f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2354279 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop c4a82aaa 2020-08-17T11:16:22 Tests: Add COD:Mobile trace Test: angle_perftests --gtest_filter=TracePerfTest.Run/*cod_mobile* Bug: b/164426913 Bug: angleproject:4048 Change-Id: I306714632b635c728fa212ed793f076c6b889227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360047 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 0d421b60 2020-08-18T07:01:50 Roll Vulkan-Headers from 99638d8d7fc6 to 834673eaa34a (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/99638d8d7fc6..834673eaa34a 2020-08-17 mchock@nvidia.com Add VI WSI platform support to vk_icd.h 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 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 Change-Id: I675172be28aaee839ca2ab0547e59b59e2db17b4 Bug: None Tbr: cnorthrop@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2361863 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a14f1c8a 2020-08-18T07:01:03 Roll glslang from 758b30727efc to f257e0ea6b9a (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/758b30727efc..f257e0ea6b9a 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: I17cf464de87a81fa085918f68322425b1b95203b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2361765 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8150670d 2020-08-18T07:01:53 Roll SPIRV-Tools from b8de4f57e983 to e28436f2b8a2 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b8de4f57e983..e28436f2b8a2 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: If8a90870cbf6cc3b0a3a910c12e35524db3de232 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2361526 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4bf2e254 2020-08-18T07:01:09 Roll Vulkan-Loader from 527e67e9d933 to 30b3f3857835 (13 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/527e67e9d933..30b3f3857835 2020-08-17 cnorthrop@google.com loader: Fixes for gn build 2020-08-17 shannon@lunarg.com build: Update known-good files for 1.2.151 header 2020-08-17 Neonfxsh@gmail.com docs: Remove COPYRIGHT.txt from the readme 2020-08-14 lenny@lunarg.com repo: Set appveyor build to use Win10 SDK 2020-08-14 lenny@lunarg.com loader: Move tag to avoid linux warning 2020-08-14 piotr.bialecki@intel.com loader: Fix physical device sorting crash 2020-08-14 lenny@lunarg.com loader: Remove illegal asssignment 2020-08-14 lenny@lunarg.com loader: Fix variable name 2020-08-14 lenny@lunarg.com loader: Fixpossible memory corruption 2020-08-14 lenny@lunarg.com loader: Add reporting for physical device sorting 2020-08-14 lenny@lunarg.com docs: Update loader doc with device sorting info 2020-08-14 lenny@lunarg.com loader: Sort physical devices on Windows 2020-08-14 shannon@lunarg.com build: Update known-good files for 1.2.150 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 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: I0e3d7b270fc9e659ecb1862883cc8231021b89da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2361766 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 366a7334 2020-08-18T07:01:36 Roll Vulkan-ValidationLayers from c1db3b8e7960 to 9d431ae2eeb4 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c1db3b8e7960..9d431ae2eeb4 2020-08-17 s.fricke@samsung.com layers: Fix TransformFeedback size 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 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: I99fb617dfa4e09c29e965b0364ef0f2090567652 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2361525 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 95b26583 2020-08-18T07:01:12 Roll SwiftShader from abe07b943855 to 6f74415e2f74 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/abe07b943855..6f74415e2f74 2020-08-17 amaiorano@google.com Update README to add details on Vulkan and less about GLES 2020-08-17 capn@google.com Don't rely on VectorType::get() default parameter 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: I7e4f009c36170658f58adee8c944478afea69c69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2361524 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 26ae42cf 2020-08-09T00:11:18 Vulkan: Clean up handleDirtyTexturesImpl. Adds a new bitset helper and changes a check to an ASSERT. Refactoring change only. Bug: angleproject:4959 Change-Id: I0de9f1b707c87cfb6fed8a110654783059e55c99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2345025 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill dceaabb1 2020-08-08T17:03:47 Vulkan: Clean up ImageHelper barrier functions. We don't need to explicitly check if a barrier is required for write barriers. Write barriers always require a barrier and read barriers need the layout change check. We introduce a new enum encoding ReadOnly vs Write layout types and call specialized write/read functions instead. Also renames the helper APIs to be more consistent. Refactoring change only. Bug: angleproject:4959 Change-Id: I0ce39ceaca6be588327c381194a580dc6b11f036 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2344744 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Yuly Novikov 863115fb 2020-08-17T19:41:54 Re-enable a dEQP-EGL test on SwANGLE Hopefully no longer flaky. dEQP.EGL/functional_sharing_gles2_multithread_random_egl_server_sync_shaders_compile_9 Bug: angleproject:4495 Change-Id: I121ad4ece0be3e0ab7b0390a1a2c54cfd2bed537 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360904 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 693d0e0b 2020-08-07T21:28:08 Vulkan: Minor cleanup to vk_helpers. Moves some checks into helper functions. Refactor only. Bug: angleproject:4959 Change-Id: I08053a96f99baff75eb3954ecbb77e83483eba0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2343406 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop d488568a 2020-08-17T10:16:45 Capture/Replay: Don't capture unused default uniforms in MEC Test: MEC capture of COD:Mobile Bug: b/164426913 Bug: angleproject:4048 Change-Id: I7f47c8828d57dfcc14bee5994d98c7df5f6a9a71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360046 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao d63bca58 2020-08-06T17:37:18 Vulkan: Add test for RGB texture not break renderpass This adds a test that will use an empty RGB texture. It should not break renderpass. Bug: b/162603208 Change-Id: I90f5aa2fafdbd70c654c9ad0675d6def32b58313 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2338828 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 5f2ba637 2020-08-15T23:50:59 Update commit ID when the git ref changes. Previously we were only regenerating the commit ID when the .git/HEAD file changed. When working on a branch the HEAD file doesn't change. It points to a ref like refs/heads/master that changes. So we can read back the contents of .git/HEAD using GN's read_file command and then mark the commit id as dirty when the ref changes. Should alleviate some of the shader cache problems. Bug: angleproject:4448 Change-Id: I1c39b12af3455e3620d80bec92a15f9921d9163b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358519 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 65ccbd71 2020-08-14T12:40:16 Capture/Replay: Fix 1010102 vertex attrib type name The string for VertexAttribType::Int2101010 was wrong, similar to the fix in ffb31229. Test: Capture and replay first 1200 frames of COD. Bug: b/164426913 Bug: angleproject:4048 Change-Id: I86a9ad844cde211d8273840ef7e8ecb055521316 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357170 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 064bbf29 2020-08-17T07:01:49 Roll Vulkan-Headers from 6eaf979e7366 to 99638d8d7fc6 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/6eaf979e7366..99638d8d7fc6 2020-08-17 oddhack@sonic.net Update for Vulkan-Docs 1.2.151 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 ynovikov@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: Ieb7b233ed32ad9a15878a347890c73f92729aa1f Bug: None Tbr: ynovikov@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358773 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 29271d0e 2020-08-17T07:01:36 Roll Vulkan-ValidationLayers from 1980311465cf to c1db3b8e7960 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1980311465cf..c1db3b8e7960 2020-08-14 locke@lunarg.com layers: Fix has_writable_descriptor 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 ynovikov@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: ynovikov@google.com Change-Id: I998f5a176a70ac4443c396fb9e039cf36e1f0431 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359759 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll db2bf132 2020-08-17T07:01:53 Roll SPIRV-Tools from b4c4da3e7606 to b8de4f57e983 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b4c4da3e7606..b8de4f57e983 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 ynovikov@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: ynovikov@google.com Change-Id: I875cd44f7d1f78df86e3be15cdf35eebc1f7c0ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359760 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d852ad24 2020-08-17T07:01:02 Roll glslang from d253278f9865 to 758b30727efc (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/d253278f9865..758b30727efc 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 ynovikov@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: ynovikov@google.com Change-Id: Ia1a4ab99a1056e25837193d20519a14984ca871b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359757 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop a9b199b0 2020-08-13T17:37:27 Capture/Replay: Add ability to override entry points We don't support populating a texture from an EGLImage, but this feature is in use by games. Instead, populate the texture with null data. In the future, improve this by reading back the data. Test: Capture and play back first 1200 frames of COD. Bug: b/164426913 Bug: angleproject:4048 Change-Id: Ic8c6bdf3c359c89e647c28b8c57b7218bdf05b15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355705 Reviewed-by: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 9ae6d7f2 2020-08-14T11:00:29 D3D: disable to translate uniform block to StructuredBuffer Temporarily disables the feature that translate uniform block to StructuredBuffer on D3D backend for a bug. Adapted from a patch by xinghua.cao@intel.com Bug: chromium:1112112 Change-Id: I3419a0eb8ae619e1fa532ffb29f56a9099f04618 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357752 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e89eb912 2020-08-12T11:21:07 Reduce spam in native perf tests. The QC driver was repeating HIGH priority messages about map flags. Bug: angleproject:4943 Change-Id: I927c38249f840544a7c1f5e595fa34e706e401bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2352472 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2e5647c8 2020-08-14T11:21:14 Vulkan: Switch buffer barrier check. ContextVk::onBufferRead can check for "usesBufferForWrite". Bug: angleproject:4911 Change-Id: Id295c068fd9a4027c3127830c682d62d614718dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355102 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Manh Nguyen 634d1718 2020-08-14T12:34:11 Add unittests of ANGLE commit message format check Mocks depot_tool input_api and output_api for ANGLE presubmit checks' unittests. Adds unittests of ANGLE commit message format check Bug: angleproject:4961 Change-Id: I2a8bc2c3703d9a07b26f7609490dbd80369c73b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2356287 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 456f30bd 2020-08-14T07:01:09 Roll Vulkan-Loader from 61bf3be73c1e to 527e67e9d933 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/61bf3be73c1e..527e67e9d933 2020-08-13 jmadill@chromium.org Fix double delete in loaderScanForImplicitLayers. 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 ynovikov@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: ynovikov@google.com Change-Id: I3fcb28e5cc699e579ca26e296cb5fde48a9da447 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355577 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 27addc78 2020-08-14T07:01:36 Roll Vulkan-ValidationLayers from 6b0de7007af5 to 1980311465cf (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/6b0de7007af5..1980311465cf 2020-08-13 sam.walls@arm.com tests: Add tests for index-buffer fix 2020-08-13 sam.walls@arm.com practices: Fix index-buffer bug in Arm best practices 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 ynovikov@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: ynovikov@google.com Change-Id: I9f3cd14ee51b79eab0005e85c400796242868e05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355579 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Maksim Sisov 0a3233fa 2020-07-29T10:35:04 X11 and Ozone: fix compilation of tests. For use_x11 && use_ozone build, use X11 backend by default. For ozone only, continue using Ozone impl, which is basically gbm. Bug: chromium:1085700 Change-Id: Iac104e983135e566b0d42a58e00d3c83b430d6dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2346276 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 27391a09 2020-08-14T07:01:12 Roll SwiftShader from cda86eff6461 to abe07b943855 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/cda86eff6461..abe07b943855 2020-08-13 swiftshader.regress@gmail.com Regres: Update test lists @ cda86eff 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 ynovikov@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: ynovikov@google.com Change-Id: I697d4d89525fd066b010c77853a2f16fc6d45f35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2355578 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>