Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 8092ed72 | 2021-03-04 21:29:55 | Revert "Add support for Linux GPU info with Vulkan backend" This reverts commit 5c09c1f882f15e1a77577f1a62d861355aac90a4. Reason for revert: Breaks the Chrome OS build. Original change's description: > Add support for Linux GPU info with Vulkan backend > > 1. Add support for Linux GPU info with vulkan backend: for > dev board without PCI support, try vulkan backend to get > GPU info. > 2. Fix getVulkanInstance() issue when loading non-exist lib: > return NULL instance if open lib failed. > > Bug: angleproject:5717 > Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5717 Change-Id: I97a27295818371556fd09837485a9132f74748c6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2737557 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org> | ||
| 58c35d42 | 2021-03-02 09:00:55 | Vulkan: Unmap buffer when adding to mBufferFreeList The commit b5af8bde13 moved the unmap call on a buffer to when it is placed in mBufferFreeList. There was one place that was missed, rectifying that oversight here. Bug: angleproject:5689 Change-Id: Iaed2916de374d55ab59276e2679c23ed7ef9c4e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733476 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 60ad763d | 2021-03-01 15:29:51 | Vulkan: Enable EGL_ANDROID_recordable for EGL configs on SwiftShader There does not seem to be a way to query the Gralloc and Vulkan drivers for recordable support so keep this as a narrow hack restricted to SwiftShader. Bug: b/181163023 Test: `cts -m CtsMediaTestCases` on Cuttlefish w/ SwANGLE Change-Id: I0bfee01d43ea8e3d9965f5bfaa578a285d37db29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727874 Commit-Queue: Jason Macnak <natsu@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 2f737c25 | 2021-02-25 16:55:14 | Translator: Rename GLSL to SPIR-V in Vulkan and Metal output Preparation for actual SPIR-V output instead of GLSL. Bug: angleproject:4889 Change-Id: Ic279b23d3a817bd5dca66a844905378207afdbac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2721194 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| a6b16d29 | 2021-03-02 19:04:57 | Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Ozone We only support ES2 on Ozone, so tests that depend on ES3 or ES31 support are not instantiated there. Bug: chromium:1183147 Change-Id: Id58bcd9b44a5b9a70b5ae8115e27c44f5dc81226 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726550 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 5c09c1f8 | 2021-03-03 17:56:07 | Add support for Linux GPU info with Vulkan backend 1. Add support for Linux GPU info with vulkan backend: for dev board without PCI support, try vulkan backend to get GPU info. 2. Fix getVulkanInstance() issue when loading non-exist lib: return NULL instance if open lib failed. Bug: angleproject:5717 Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 54294c9a | 2021-03-02 22:15:05 | Partially upgrade codegen to Python 3 Bug: angleproject:5707 Change-Id: I4e26c2c7ba4a36185b28ecd6e87be1161b60431a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2729567 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0224e848 | 2021-03-03 14:31:07 | Vulkan: Fix overlay graph widgets Bug: angleproject:5690 Change-Id: I9a63fd91c7403f8bf1ee6ef25fc636aecfbe6ea0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2732533 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 49211c31 | 2021-03-02 11:22:28 | Vulkan: Fix Overlay for prerotation Bug: angleproject:5690 Change-Id: I906a259767c54e3ac9f3ac822b6d5ed5dcaa0bd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725768 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> | ||
| 90db6049 | 2021-03-02 13:02:07 | Vulkan: Workaround Overlay draw issue on Android On Android vector[n] translates to vector[0] likely due to a driver bug. This resulted in text such as: 12345678abcdefghijklmnopqrstuvwx to render as: 1234123412341234ijklijklijklijkl It also made graph data flicker. As a workaround, the shader now does an if-else on the value of n and uses a constant to load the appropriate component of the vector. Bug: angleproject:5690 Change-Id: Idb891e726fafa896a1064ef7b2941b8fd1c41ed1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725769 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d8557cc8 | 2021-03-03 10:17:46 | Fix for readPixels() to PBO fast path. Include the "pixels" (data) pointer as offset. Bug: angleproject:5702 Change-Id: Idc9f3ee4c0dbb1cc9308393bbf877d6137598486 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2732789 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org> | ||
| 71c7e346 | 2021-03-02 21:52:35 | Tests: Add Rope Hero: Vice Town trace Test: angle_perftests --gtest_filter="*rope_hero_vice_town*" TBR: jmadill@google.com,timvp@google.com Bug: b/181727986 Bug: angleproject:5711 Change-Id: I11021ae91f968bd453b98a35c60cab90d71e5ed6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2731288 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| a73818aa | 2021-03-03 12:41:58 | Workaround a GL_OES_depth32 bug on Android emulator Bug: chromium:1184261 Change-Id: I7aac7c696ff2d08dc2aaac86abc1c3b0e54cda1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733287 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 18314bce | 2021-03-03 10:28:07 | Tests: Skip car_parking_multiplayer on Nvidia The trace doesn't cause any errors, which would have blocked landing it. But it does spew undefined behavior warnings which fills the log. See the bug for details, skipping for now. Test: angle_perftests --gtest_filter="*car_parking_multiplayer*" Bug: angleproject:5613 Change-Id: I54bf63eeb7c5212b6ce40cf2b45354822e8456e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733089 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 07025aa3 | 2021-03-02 00:28:32 | Overlay: Widget for vk::DynamicBuffer allocations Bug: angleproject:5690 Change-Id: Idfa591903627bbebffe306b387e95cbec1195338 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725767 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| cdef22a5 | 2021-03-03 10:19:31 | Skip TransformFeedbackTest.MultiContext on Metal This test is flaky on the metal backend. Bug: angleproject:5713 Change-Id: I1d789825e0322f00b017a60f8fd1cef02b5b3088 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2732787 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fbbd143b | 2021-02-27 17:42:05 | Tests: Add Talking Tom Hero Dash trace Test: angle_perftests --gtest_filter="*talking_tom_hero_dash*" TBR: jmadill@google.com,timvp@google.com Bug: b/181415750 Bug: angleproject:5614 Change-Id: I6110f5e3e6bbc60706c448ad3643de73b3c2eca2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726134 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 1de8b5a6 | 2021-03-02 14:42:22 | Tests: Add Car Parking Multiplayer trace Test: angle_perftests --gtest_filter="*car_parking_multiplayer*" TBR: jmadill@google.com,timvp@google.com Bug: b/181696940 Bug: angleproject:5710 Change-Id: I50366e0bb993c1f19906aa5d96f47a00247a24f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2729605 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 210a464e | 2021-03-02 12:05:08 | Test: Add Standoff 2 trace Test: angle_perftests --gtest_filter="*standoff_2*" TBR: jmadill@google.com,timvp@google.com Bug: b/181681788 Bug: angleproject:5708 Change-Id: I36314d1addc880cc4fb0dc321cda4ba3eabab000 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2728662 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 22fc9523 | 2021-02-03 15:32:48 | EGL: implement EGL_EXT_buffer_age Add extension flag. Add Validation check to surface query. Enable extension for vulkan. Modify AcquireNextImage to ++frame count and tag images with frame number. Buffer age is the difference between current frame count and the tagged frame number on the buffer. getBuffeAge may need to trigger AcquireNextImage to be current. Pass through egl extension and query. Add EGLBufferAgeTest Test: angle_end2end_test --gtest_filter=EGLBufferAgeTest Test: angle_deqp_egl_tests --deqp-case=dEQP-EGL.functional.buffer_age.* Bug: angleproject:3529 Change-Id: I0cb94be1c3e85d6f33e82a6a1ccdc9731b6a7f23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684724 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| c11186c2 | 2021-03-02 14:42:08 | capture_replay_tests: Fix MemoryObjectTest. Add gles_ext_params Capture functions for MemoryObjectsEXT. Add case for GLCreateMemoryObjectsEXT to MaybeCaptureUpdateResourceIDs. Don't skip MemoryObjectTest, as it passes now on SwiftShader ES2. Bug: angleproject:5703 Change-Id: I930fab675cf0848f46a846388955a6bd3274a587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2729004 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 6edba641 | 2021-03-02 11:36:59 | VK: Suppress VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979 This validation is blocking the vulkan-deps roll. Suppressing until we fix the issue. Bug: chromium:1183542 Change-Id: I05ca95af8bcf77ddb70f01049e5cb07967420c25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727645 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 87b1875c | 2021-03-01 19:17:35 | Tests: Add Among Us trace Test: angle_perftests --gtest_filter="*among_us*" TBR: jmadill@google.com,timvp@google.com Bug: b/181616715 Bug: angleproject:5698 Change-Id: If52ee0e989c6b4a3c21b4a2bc0b77dbbea2a3d6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2728564 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 3e017cfe | 2021-02-26 15:37:41 | Tests: Use context version from trace Test: Capture and replay ES 3.2 apps Bug: angleproject:5652 Change-Id: Ib46250acd8a50390f0cbd40853623cdf31bd0203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698392 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 6af0c03f | 2021-02-25 18:15:21 | Vulkan: Always write to swapchain alpha channel This fixes an issue with the "Ragnarok M: Eternal Love" game, which uses a GL_RGB8 format for its window, which is actually backed by a GL_RGBA8 format (a.k.a. "emulated alpha"). The game does no explicit clear per frame. Therefore, ANGLE selects a render pass loadOp=DONT_CARE, which leaves the alpha channel undefined (0.0 on a Pixel 4 XL). That causes SurfaceFlinger to show (blend or alternate vsyncs) what should have been covered up by the game (e.g. the Android launcher and live wallpaper). The solution is to prevent loadOp=DONT_CARE for emulated alpha. Test: ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB Test: dEQP-GLES2.functional.fbo.render.stencil_clear.tex2d_rgb_stencil_index8 Bug: b/180139027 Change-Id: Ied97b57c93d41326cb3294ff246691e09f316791 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704949 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| 5b82fa2e | 2021-02-28 11:11:34 | Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Win AMD GTest complains that we don't run some tests on D3D/Vulkan backends. They only run on GL backend, which is disabled on Win AMD per http://anglebug.com/5123 Bug: chromium:1183147 Change-Id: I95fdd9a24aff69aa60e2f60613d8300ae1019a27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726576 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| fb7a2445 | 2021-02-12 09:29:11 | libANGLE: Declare copy operator if copy constructor is defined If the copy constructor is defined then the copy assignment must also be defined, but we can use the default here. v2: Don't inline because the chromium-style errors out on this Bug: angleproject:4486 Change-Id: Iec0f63342244249da32b455b49a0b89b6558cab9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690953 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a6d46239 | 2021-01-25 11:40:47 | Capture/Replay: Support CaptureGetQueryObject Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: Icc95faeebbe1fa850f25252c90a5ef8b68634ea0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2702153 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 4f639a7e | 2021-02-27 17:36:25 | Fix Ozone backend build flags. Broken by http://crrev.com/c/2405806 ANGLE_USE_GBM must be defined in Display.cpp, not just GL backend. This also requires depending on libdrm for its headers. Bug: angleproject:3943, chromium:1181952 Change-Id: I4650d7806435413184b36c820cc6d06992f7f5cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726575 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 73afaf1e | 2021-02-26 18:08:08 | Add EGL_WINDOW_BIT to all Ozone configs' EGL_SURFACE_TYPE Ozone's EGL windows are emulated, so we can always create one, thus setting EGL_WINDOW_BIT in all configs is safe. This is now required because in http://crrev.com/c/2378922 EGL_WINDOW_BIT becomes a requirement to be able to run tests. Previously Ozone's configs copied native EGL_SURFACE_TYPE, which was either 0 or having just EGL_PBUFFER_BIT. Bug: chromium:1181952, chromium:1034840 Change-Id: Ic2b14b43b3c32b47ea05d9d8da9fba7439f14d19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725273 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| c508e707 | 2021-02-25 15:40:11 | Vulkan: Avoid using assign with BitSets FastIntegerSet::clear() now calls reset() instead of assign(). std::vector::assign(...) invokes the copy-constructor. For better performance, especially with BitSet*, we can leverage the reset() method. This removes 1.2% CPU overhead from a Manhattan30 offscreen run Bug: angleproject:5689 Change-Id: Ib1a760587ffe18341b8ed892a732c506fc50c82b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2723494 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 2b55f876 | 2021-01-29 18:02:21 | Reland "Workaround for Mac Intel drawArraysInstanced with first > 0" This is a reland of 027bc47ca5b7b291fbda907173eefa05ad3d45a8 Original change's description: > Workaround for Mac Intel drawArraysInstanced with first > 0 > > Workaround by forcefully set instanced arrays (divisor > 0) > as streaming attributes and apply extra offset at front. Recover > those attribute bindings when first == 0 and other draw calls > (drawElementsInstanced) > > Bug: chromium:1144207, chromium:1144247, chromium:1144373 > Change-Id: Ie7836cc71b45a290513f34f90d49bd15b14ddba8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2661095 > Commit-Queue: Shrek Shao <shrekshao@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: chromium:1144207 Bug: chromium:1144247 Bug: chromium:1144373 Bug: angleproject:5271 Change-Id: Id0b818b25a605376c98c2366c1f2029e2490c6cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704799 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| da4aa8b8 | 2021-02-25 16:26:53 | Vulkan: Move SPIR-V validation function to common/ For future use by the translator. Bug: angleproject:4889 Change-Id: I051ad48e6edb58ce3055c5fd276c18a6e29a66ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2717020 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 67333608 | 2021-02-25 14:15:33 | Vulkan: Check texture type before calling into feedbackloop check In ContextVk::updateActiveTextures we end up calling this method shouldSwitchToReadOnlyDepthFeedbackLoopMode(...) for every active texture. Since color textures are more numerous than depth, check the texture type beforehand to decrease function stack depth. This removes 0.5% CPU overhead from a Manhattan30 offscreen run Bug: angleproject:5689 Change-Id: I14758b031e58b269392b4f450a5bb1ba8edabb44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2723493 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| b5af8bde | 2021-02-24 09:47:43 | Vulkan: No need to unmap buffer when adding to mInFlightBuffers When we move a BufferHelper to the mInFlightBuffers list don't try to unmap it there, instead do that when it gets added to mBufferFreeList This removes 0.75% CPU overhead from a Manhattan30 offscreen run Bug: angleproject:5689 Change-Id: I01a52cdf4803fb8364140b01bedbd3d0e6cc61fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2723492 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 46df78dc | 2021-02-25 20:30:42 | GCC: add missing static constexpr member definition C++14 requires to definition of static constexpr members to emit a linker symbol. Bug: chromium:819294 Change-Id: I06b7f1f7a6260982cf07a71c67295789c1f03084 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2720261 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| a476d16b | 2021-02-24 12:58:56 | Check that pixel store params are 0 for fastUnpack path on D3D. Bug: angleproject:5679 Change-Id: I4b4d0e2340592383e20849ad6be99c1608c048c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2716705 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org> | ||
| bdd1ac23 | 2021-02-25 16:31:25 | Capture/Replay: Add CubeMapArray support Test: Recapture Lego Legacy: Heroes Unboxed Bug: angleproject:5685 Change-Id: I41a5ceb72724ab28ce3d57a85108d3dd806d976f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2721103 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| f9c595b4 | 2021-02-26 11:53:30 | Skip 3 SimpleStateChangeTestES31 DrawWithTextureThenDrawWithImage on Win Intel GL ClearThenSampleWithCompute on Linux AMD GL TransformFeedbackThenReadWithCompute on Win AMD Vulkan Bug: angleproject:5686, angleproject:5687, angleproject:5688 Change-Id: If380074389382bc7e9a8b8668c83fb9c8ef2084d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2723291 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 4f07f9b8 | 2021-02-24 13:50:18 | gles_ext_params: Implement CaptureGetTexLevelParameterivANGLE. As seen in CaptureGetTexParameteriv_params from capture_gles_2_0_params.cpp. Bug: angleproject:5645 Change-Id: Id687f73fd5d898e64e8a8bebe92ca50a0e096990 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2718044 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 868a41e9 | 2021-02-17 11:34:22 | Query revision id for GPU devices Add revisionID to GpuDeviceInfo and populate it through libpci. Bug: b/170372516 Change-Id: I0953ba5dfc7d973c7b7216d942952a3ffd908bcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703734 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 33907625 | 2021-02-24 12:41:07 | gl_angle_ext: Add param groups to glGetTexLevelParameterivANGLE. As seen in glGetTexLevelParameteriv from gl.xml. Bug: angleproject:5645 Change-Id: I1d8445f2178632b0edb0652e63984b31a1e34c48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2718043 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d24398b3 | 2021-02-25 15:07:00 | gl.xml: Annotate glDiscardFramebufferEXT with param groups. Remove tests from expectations list, as it now passes on SwiftShader for ES2 and ES3. Bug: angleproject:4401 Change-Id: If05b16e40632154a0ba2c22f1c3bf29e12113389 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2720259 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 77637f2d | 2021-02-19 15:18:52 | Vulkan: Generate xfb support code in SPIR-V for emulation path This change moves the code generation at link time from source code to SPIR-V. As a result, transform feedback extension and emulation paths are more similarly handled before SPIR-V transformation (they both store information identically in the ShaderInterfaceVariableInfoMap). This change gets rid of the @@ XFB-OUT @@ marker. With no source code generation at link time, shader compilation can be moved to glCompileShader time. Bug: angleproject:4888 Change-Id: I8cdb89c22b57ce48cf5d226b8e41622d9d550d46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2713269 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| d3cde02d | 2021-02-24 16:50:35 | Cleanup EGLMakeCurrentPerfTest instantiation Bug: angleproject:2735, chromium:1180570 Change-Id: Iddf97121c36a0e27bda5676212690574efe8a83d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2716613 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| ba233b6a | 2021-02-25 13:44:32 | Suppress 1 VulkanExternalImageTest on Linux AMD Vulkan VulkanExternalImageTest.TextureFormatCompatChromiumMutableNoStorageFd Bug: angleproject:5682 Change-Id: Id2aa15f4943f9132d133eeb540e35e405896a3b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2718530 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 46a955f8 | 2021-02-25 16:06:05 | gen_vk_internal_shaders: Don't include full path on Python 3.4+. Since Python 3.4 `__file__` represents an absolute file path: https://docs.python.org/3.4/whatsnew/3.4.html#other-language-changes We only want the basename in the generated scripts. Bug: angleproject:5516 Change-Id: Ia4009419ef627aa1ce12f9a944539c054edc3a6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2720260 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9b1c569b | 2021-02-24 11:32:39 | Vulkan: Handle vertex count and primitive mode error cases in TS When handling tessellation shaders these 2 requirements need to be met - 1. TCS - vertex count should be declared at least once 2. TES - primitive mode should be declared at least once After translating TCS/TES check whether these requirements are met and error out if they are not. Bug: angleproject:5557 Test: dEQP-GLES31 - functional.shaders.linkage.es31.tessellation.varying.rules.unspecified_* KHR-GLES32 - core.tessellation_shader.compilation_and_linking_errors.te_lacking_primitive_mode_declaration Change-Id: I727d548ad446646bbece1fb78197639537b5f395 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2714465 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| 550f2a3e | 2021-02-24 09:49:42 | Vulkan: Shader support for EXT_shader_framebuffer_fetch_non_coherent Translator can accept gl_LastFragData and 'inout' variable to gain access to framebuffer attachment data. The Vulkan translator replaces it with the SubpassInput type variable. Note that this works only for the noncoherent version of the extension. Bug: angleproject:5454 Test: *EXTShaderFramebufferFetchNoncoherent*.* Change-Id: I392f84ee3ad3eb9fbd09d0b7ff83731a9a3f33f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598060 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| 3013f27c | 2021-02-23 22:37:42 | Vulkan: Fix missing visibility barrier for glReadPixels glReadPixels uses a temporary buffer for readback and was missing an onBufferTransferWrite() call. Bug: angleproject:5669 Change-Id: I3c6daba176e332711fa1ab51e279526717486dd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2717005 Reviewed-by: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 4a24786e | 2021-02-23 23:32:48 | Vulkan: Fix PBO read pixels with unaligned output pitch Vulkan takes the output pitch in texels instead of bytes in VkBufferImageCopy::bufferRowLength. This means that it's impossible to use vkCmdCopyImageToBuffer when the pitch is not a multiple of texel size. This change makes sure the fallback path is taken. Bug: angleproject:5667 Change-Id: I3f2ef312bb8288de8ca3c6730d85a3c14858812e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2717006 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 999da35e | 2021-02-18 17:29:20 | Vulkan: Optimize glMemoryBarrier more The implementation assumed that the X_BARRIER_BIT bits implied two barriers; write->X and X->write. However, they only imply write->X, with the exception of SHADER_IMAGE_ACCESS_BARRIER_BIT and SHADER_STORAGE_BARRIER_BIT which handle X->write for images and buffers respectively. As a result, the other bits no longer set the MEMORY_BARRIER dirty bit as they don't guard against X->write usage. Bug: angleproject:5070 Change-Id: Id23904c455a5f56dc45fc6832a74fdfbba6a4827 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705702 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 7ff605a5 | 2021-02-23 21:45:40 | Capture/Replay: Fix compressed texture level caching Before this commit, the following sequence would cause an assert: glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_ASTC_8x8, ...); glCompressedTexImage2D(GL_TEXTURE_2D, 1, GL_COMPRESSED_RGBA_ASTC_8x8, ...); This is due to code we added that clears the compressed texture cache when it detects we already have an entry for the texture level. This is allowed in GL, to respecify a texture level by simply calling glCompressedTexImage on it again. The problem is we would clear the entire texture from the cache, not just the level being respecified. Test: Recapture Asphalt 8 Bug: angleproject:5678 Change-Id: I473d6ea1cb8823bfec680ddd78c3457b93ecc431 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2716639 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| a833f200 | 2021-02-23 17:23:31 | Docs: Update ANGLE trace creation steps Bug: angleproject:5677 Change-Id: I76ff3991f2124b27cd5c0cd9bad3754ae875cfc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2717102 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Paul Thomson <paulthomson@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 6623a70f | 2021-02-19 17:28:10 | Stubs for OpenCL entry points. Bug: angleproject:5653 Change-Id: I7ec9692a47be2556fef5bdd7630b422cc2d369b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2708343 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 4a782eaf | 2021-02-11 16:13:33 | Remove redundant (c) from license headers. According to the Chromium C++ style guide, there must be no `(c)` after `Copyright`. Bug: angleproject:5516 Change-Id: Id5b170b99a1aaf95ab7fabb35ed644b99b756ce1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690948 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| d81e5d17 | 2021-02-18 16:02:35 | Add a test for sample after deferred clear To ensure that deferred clears are flushed before sampling. Bug: angleproject:5070 Change-Id: I72bfef752074eb1e722c669edaa2d0b5ddfd20b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705027 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 39d7fc18 | 2021-02-17 00:18:41 | Vulkan: Don't break the render pass on dispatch calls The only reason a dispatch call may need to break the render pass implicitly is for read-after-writes where the write originates from the render pass but is not through a storage buffer/image. There are only two such scenrios possible: - Framebuffer attachment write -> texture sample - Transform feedback write -> ubo read All other uses of the buffers and textures that require breaking the render pass are handled by `glMemoryBarrier`. Bug: angleproject:5070 Change-Id: I92b50d69d8782097ee8ff477ac57da6209c326a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698998 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 5d7f4e80 | 2021-02-18 17:06:12 | Remove incorrect memory barrier tests The tests were written with the assumption that the X_BARRIER_BIT implied two barriers, write->X and X->write. However, they only imply write->X, with the exception of SHADER_IMAGE_ACCESS_BARRIER_BIT and SHADER_STORAGE_BARRIER_BIT which handle X->write for images and buffers respectively. Bug: angleproject:5070 Change-Id: Ic9bfac997d0663b70f1d40baca6c111a4dc300c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705701 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 016c5ff0 | 2021-02-23 11:34:30 | Roll VK-GL-CTS from 1a524349f06b to 9cdde06fb38a (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/1a524349f06b..9cdde06fb38a 2021-02-23 alexander.galazin@arm.com Merge pull request #241 from enunes/gles2-EXT_texture_rg 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 ynovikov@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: angleproject:5674 Tbr: ynovikov@google.com,angle-bots+autoroll-info@google.com Change-Id: Ie6e73c958321b224de7338c1bd5c3e7c719accb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2714485 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> | ||
| df0a92e6 | 2021-02-22 06:39:32 | Assert valid when using SPIR-V ids Useful for debugging when an uninitialized id is used in the SPIR-V transformer. Bug: angleproject:4888 Change-Id: If446187a8a27a06f5958d5df5bc00d02e98d20e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2713268 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 1330aa2c | 2021-02-12 15:21:31 | capture_replay_tests: Fix repository path retrieval. Use relation to retrieve angle repository path. The previous way of detecting the root repository folder failed to detect a correct path if the angle directory was in a path that contained the string angle. e.g. `/home/user/code/angle/angle` Other paths that would fail with the current implementation: `/home/user/my-angle-workspace/angle` `/home/tangled/workspace/angle/` `/home/user/code/angle-android` This way the path is constructed with the known relation of the script path inside the repository. Another advantage of this way is that the `angle` repository could be checked out with a different name. The disadvantage of this method is that whenever the script was moved, the relative path must be updated. Bug: angleproject:5645 Change-Id: I9a56aeba449b248273087382adceb0d6fba5a494 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2715323 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 37752956 | 2021-02-11 16:12:48 | Generators: Use fixed year in license headers. Remove dynamic year generation from generator scripts, as required by the Chromium C++ style guide. The dynamic year values were replaced by the current year at the time the file was created according to git log. The code to dynamically generate the year was removed. This patch also refreshes generated files and hashes. Bug: angleproject:5516 Change-Id: I735028bccb5c83217e92c380538f1abf0a906b2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690950 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 1a70e5a0 | 2021-02-22 06:38:18 | Add const to optional parameters of SPIR-V instruction builders Bug: angleproject:4888 Change-Id: I70274042794a7d56db48490d9e3930e1eace02bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2713267 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| c2d14d03 | 2021-02-18 13:55:23 | Vulkan: Refactor prerotation out of SPIR-V transformer The SPIR-V transformer performs multiple transformations in one pass. This is part of a series of refactoring changes that detangle these transformations and encapsulate them, while allowing the transformation to remain single-pass. Bug: angleproject:4888 Change-Id: Ia971da6d814b5d7c4f51132fe63b58675163c15f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705026 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 4a95488c | 2021-02-18 12:21:26 | Vulkan: Refactor xfb codegen out of SPIR-V transformer The SPIR-V transformer performs multiple transformations in one pass. This is part of a series of refactoring changes that detangle these transformations and encapsulate them, while allowing the transformation to remain single-pass. Bug: angleproject:4888 Change-Id: I3e3164803863c4d477364f5b2ed0679ed501ea3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705025 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 2be24692 | 2021-02-21 21:14:35 | Skip more flaky crashing dEQP tests on Nexus 5X Bug: angleproject:5665 Change-Id: I29f7cdd39c13d105c52ab0803e6241205fc743fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2710908 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 6eb7ae4f | 2021-02-21 19:43:44 | Suppress 2 failing dEQP GLES3 tests on Mac AMD Metal Bug: angleproject:5666 Change-Id: Ie4b62868ebca6806bb40f78ce49f1fbf70f96fcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2710907 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| bd9a3b29 | 2021-02-18 11:52:39 | Vulkan: Refactor varying precision fix out of SPIR-V transformer The SPIR-V transformer performs multiple transformations in one pass. This is part of a series of refactoring changes that detangle these transformations and encapsulate them, while allowing the transformation to remain single-pass. Bug: angleproject:4888 Change-Id: I587d601e02164c1372a09565d1713aac27cfbebb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705024 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 454194e4 | 2021-02-17 23:14:30 | Vulkan: Refactor inactive varying removal out of SPIR-V transformer The SPIR-V transformer performs multiple transformations in one pass. This is part of a series of refactoring changes that detangle these transformations and encapsulate them, while allowing the transformation to remain single-pass. Bug: angleproject:4888 Change-Id: Ifd52be302c25392d3e8fc1c589795c113e44d354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703792 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c342647f | 2021-02-17 22:46:09 | Vulkan: Refactor gl_PerVertex trimming out of SPIR-V transformer The SPIR-V transformer performs multiple transformations in one pass. This is part of a series of refactoring changes that detangle these transformations and encapsulate them, while allowing the transformation to remain single-pass. Bug: angleproject:4888 Change-Id: I41ba9165336487819dcf915af0d1ed868f73f724 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703791 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 8f65bb39 | 2021-02-17 17:11:44 | Vulkan: Typed return value in SPIR-V transformer transform funcs Use an enum class instead of a bool for readability. Bug: angleproject:4888 Change-Id: I5fddec4ccc1cb7e28940c0566979f5fd5e051d60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2702652 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 6e8cdd39 | 2021-02-17 00:17:17 | Vulkan: Don't break the render pass on indirect calls The render pass is now only broken if the indirect buffer was used as transform feedback. Any other write to the indirect buffer is synchronized with `glMemoryBarrier`. Bug: angleproject:5070 Change-Id: I67868ae9a8f08e1ab186440a3cbdc7439c66808e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698996 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| c03a4235 | 2021-02-20 16:14:37 | Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Nexus 5X GTest complains that we don't run some tests on GLES backend. Bug: chromium:1180570 Change-Id: I9427ac25c3b6f06f3c042caa3c0afc7000cf1599 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2710783 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 5c931b61 | 2021-02-20 13:18:32 | Skip more flaky crashing dEQP tests on Nexus 5X Bug: angleproject:5665 Change-Id: I17da18f451c90a767ac957ea03e1ce0eb38302d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2710623 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| d3d30921 | 2021-02-17 16:33:20 | Vulkan: Refactor ID-discovery out of SPIR-V transformer The SPIR-V transformer performs multiple transformations in one pass. This is the first of a series of refactoring changes that detangle these transformations and encapsulate them, while allowing the transformation to remain single-pass. Bug: angleproject:4888 Change-Id: I327f693d99496a0b89028abe627119e4a2b07c42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2702651 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| be943b3b | 2021-02-19 15:23:54 | Skip flaky crashing dEQP tests on Nexus 5X Bug: angleproject:5665 Change-Id: Ifccd1d11edcbdfc57765144ba5dc65d12de53af2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705766 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e96d1744 | 2021-02-12 14:14:02 | Vulkan: Optimize glMemoryBarrier Previous to this change, glMemoryBarrier was processed as it is issued. This made it impossible to know whether a draw call would follow or a dispatch call, and what resources it would use. The render pass was conservatively broken due to this limitation. To address this limitation, handling of glMemoryBarrier is deferred until the next draw or dispatch call. Note that glMemoryBarrier acts as two barriers: - An execution+memory barrier: shader writes are made visible to subsequent accesses - Another execution barrier: shader accesses are finished before subsequent writes An important observation is that for most resources, ANGLE actually necessarily has to issue memory barriers automatically to conform with Vulkan. In terms of memory barrier thus, ANGLE already does the right thing except for when there's no binding change. This means WaW hazards (i.e. storage buffer and image writes) with no binding change require a memory barrier as a result of glMemoryBarrier. In all other cases, it's enough for glMemoryBarrier to break the render pass if necessary and ensure that corresponding bindings are marked dirty (for the execution or memory barriers to happen automatically later). Bug: angleproject:5070 Change-Id: Ide359c43362f8a78805ecf797a91de7aa79221f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693473 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 6af603e1 | 2021-02-19 11:56:34 | Vulkan: Secondary sort shader enums by name. This preserves the primary sort by bits. If bits are equal we then sort by name to produce a more stable sort. Bug: angleproject:5653 Change-Id: I4cdbc21094fcbd1bb7ad17e124074949bdbf0439 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704825 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 4b608a6c | 2021-02-17 22:14:18 | Tests: Add Messenger Lite trace Test: angle_perftests --gtest_filter="*messenger_lite*" Bug: b/180562361 Bug: angleproject:5659 Bug: angleproject:5663 Change-Id: I9938b925962ea13fd626f2b82676655d07d78c0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703733 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 4afd0f27 | 2021-02-17 13:35:57 | Vulkan: Add VK_KHR_image_format_list support to initExternal The code for initializing a VkImage with VK_KHR_image_format_list extension support is now internal to initExternal. Also provides a flag to inform callers when VK_KHR_image_format_list support is enabled. Bug: angleproject:5520 Change-Id: Ie2ade93d1403ab3f9cbcf7d80684bbca201d5d8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2702159 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| f18b92ad | 2021-02-17 19:40:53 | testing: Mark uninstantiated GL & EGL test suites googletest CL 315255779 causes test binaries to fail when they include test suites / parametrized tests that are not instantiated, and when they include empty test suites. This CL uses the GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST() macro to annotate the suites / tests that are causing test failures. This is necessary to get googletest rolled past CL 315255779. Bug: chromium:1163396 Change-Id: I05c0619186ffc265b8e32e8b69d6680a6acdbb48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2701292 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| dceb2412 | 2021-02-18 16:44:37 | Roll VK-GL-CTS from eab348e95425 to beffa5287574 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/eab348e95425..beffa5287574 2021-02-18 alexander.galazin@arm.com Support GL 4.5 in the Built-in Constant Tests 2021-02-18 ari.suonpaa@siru.fi Add tests for mixing matrix packing in nested structs 2021-02-18 gleese@broadcom.com Extend CopyImage tests to test astc_sliced_3d 2021-02-18 mika.vainola@siru.fi Fix undefined behavior in FloatToHalf 2021-02-18 mikko.tiusanen@siru.fi Add tests for all ES 3.0 internal formats Bug: angleproject:5661 Bug: angleproject:5662 Change-Id: Iab7a28e17523e0b69fb76fbd6281423db63569fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703517 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 9d83517b | 2021-02-17 23:20:03 | Tests: Add AliExpress trace Test: angle_perftests --gtest_filter="*aliexpress*" TBR: jmadill@google.com,timvp@google.com Bug: b/180565449 Bug: angleproject:5660 Change-Id: I61ac0e7dbfbe6fd23c71b63fa6f8c00b20a94006 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703735 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| fd132e4e | 2021-02-18 18:21:32 | testing: Mark uninstantiated perftests googletest CL 315255779 causes test binaries to fail when they include test suites / parametrized tests that are not instantiated, and when they include empty test suites. This CL uses the GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST() macro to annotate the suites / tests that are causing test failures. This is necessary to get googletest rolled past CL 315255779. Bug: chromium:1163396 Change-Id: I13ffa09c4263a6dc8baf1749c3df5d2c54904e68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704800 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 95584459 | 2021-02-18 09:32:16 | Revert "Workaround for Mac Intel drawArraysInstanced with first > 0" This reverts commit 027bc47ca5b7b291fbda907173eefa05ad3d45a8. Reason for revert: InstancingTests fail on Mac FYI Release (Intel UHD 630), see https://ci.chromium.org/ui/p/chromium/builders/ci/Mac%20FYI%20Release%20(Intel%20UHD%20630)/1729/overview Original change's description: > Workaround for Mac Intel drawArraysInstanced with first > 0 > > Workaround by forcefully set instanced arrays (divisor > 0) > as streaming attributes and apply extra offset at front. Recover > those attribute bindings when first == 0 and other draw calls > (drawElementsInstanced) > > Bug: chromium:1144207, chromium:1144247, chromium:1144373 > Change-Id: Ie7836cc71b45a290513f34f90d49bd15b14ddba8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2661095 > Commit-Queue: Shrek Shao <shrekshao@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: chromium:1144207 Bug: chromium:1144247 Bug: chromium:1144373 Change-Id: Ia4a6026a8c446490346b373c33fe2b1724c1761f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704052 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 2d3402eb | 2021-02-18 09:05:02 | Revert "EGL: Merge DisplayAndroid into DisplayEGL." This reverts commit 2cb6671534ddc6efe9664a2fb30be2b2fb13c8ef. Reason for revert: Make DisplayGbm fail to compile. See: https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/636833/overview Original change's description: > EGL: Merge DisplayAndroid into DisplayEGL. > > These two classes have a lot of duplicated code for no reason. > > Bug: angleproject:5563 > Change-Id: Ia9d8efeb50f3e52ffb1df6a6e462efdb20fd4a9a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636678 > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Peng Huang <penghuang@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: angleproject:5563 Change-Id: Ic39071130727b37cc2a168d4b8e3c50f3e7184a5 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704051 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 027bc47c | 2021-01-29 18:02:21 | Workaround for Mac Intel drawArraysInstanced with first > 0 Workaround by forcefully set instanced arrays (divisor > 0) as streaming attributes and apply extra offset at front. Recover those attribute bindings when first == 0 and other draw calls (drawElementsInstanced) Bug: chromium:1144207, chromium:1144247, chromium:1144373 Change-Id: Ie7836cc71b45a290513f34f90d49bd15b14ddba8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2661095 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| bd276beb | 2021-02-12 10:58:43 | Vulkan: Don't wait on unflushed sync objects without a Context The app "Car Parking Multiplayer" issues a ClientWaitSync() command without having already flushed the sync object and without an active context. We should return TIMEOUT immediately rather than attempting to wait on the sync object, since we can't flush it and it'll never be signalled. Bug: angleproject:5613 Bug: angleproject:5656 Test: MultithreadingTest.NoFlushNoContextReturnsTimeout Change-Id: Ieaf675ca9144f9c851c73b9ca399daaf4ed1cd0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693375 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 7e990ef4 | 2021-02-16 18:15:43 | Clean ups to generate_entry_points. Switches to Python 3 support. Made a change to run_code_generation to support this. Affects several generators. Also updates the generator to make a few other small cleanups. Bug: angleproject:5653 Change-Id: I045173c9ca85947c4eac22285701032c09f4c8d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2699187 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 51c5137a | 2021-01-05 16:58:50 | Capture/Replay: Add texture buffer support Test: Fortnite MEC Bug: b/180418810 Bug: angleproject:5658 Change-Id: I2025f0b88f7488a827159029e6d04a4cf4e9a1b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2611558 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 7ae8531b | 2021-02-17 15:20:07 | Vulkan: Fix crash with 0-sized element buffer VertexArray::syncState syncs all dirty bits, including DIRTY_BIT_ELEMENT_ARRAY_BUFFER even for draw calls that don't use this buffer, such as glDrawArrays. If the element buffer is given 0 size, this caused a crash in the Vulkan backend. Bug: chromium:1172577 Change-Id: I02d78c9660c07b896f7403867b648901478251fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2701831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 436b43a6 | 2021-02-16 14:28:06 | Add comprehensive memory barrier tests Optimizing glMemoryBarrier can get very tricky. This change adds tests for every glMemoryBarrier bit in different scenarios for a total of about 1500 tests. With the current implementation, there are no syncval errors running these tests. Bug: angleproject:5070 Change-Id: I5358bfeed84f586a67c90ba5ab0fe624db6820b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698288 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 907a3cee | 2021-02-17 08:07:45 | Vulkan: Add support for EXT_shader_framebuffer_fetch_non_coherent EXT_shader_framebuffer_fetch_non_coherent is implemented using subpass input attachments. The extension will be enabled in a follow up change that adds required changes to the Vulkan translator. Bug: angleproject:5454 Test: FramebufferFetchNonCoherentES31.*Vulkan Change-Id: Ic73c66a476c4a21db5269431166a198841f1dc0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598059 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d6e0b0ca | 2021-02-17 15:59:52 | Remove a debugging code in renderergl_utils.cpp Bug: chromium:1171371 Change-Id: I7cf00edbc337150e40e7afb4f6c5fc88862f0734 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2700332 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org> | ||
| 2cb66715 | 2021-01-19 12:42:38 | EGL: Merge DisplayAndroid into DisplayEGL. These two classes have a lot of duplicated code for no reason. Bug: angleproject:5563 Change-Id: Ia9d8efeb50f3e52ffb1df6a6e462efdb20fd4a9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636678 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 82337b00 | 2021-02-17 16:47:48 | Add suppressions for failing tests on Linux Nvidia GL The following failing without a clear reason (asides from PartitionAlloc changes in Chromium maybe). This CL suppresses them while we find what the issue is. TBR=syoussefi@chromium.org Bug: angleproject:5651 Change-Id: I6cba67351dfba37fd6d86a07ac748b7998665361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2700511 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| e99828e4 | 2021-02-16 19:13:44 | Remove DllMain() from static angle library Bug: chromium:1179061 Change-Id: I89167eb9c6ed244072e00500b47c7df83ac2e80d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2699188 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org> | ||
| 64b5b3d3 | 2021-02-12 17:31:58 | Vulkan: Further restrict enabling LINE_RASTERIZATION_MODE_BRESENHAM The app "Car Parking Multiplayer" enables GL_SAMPLE_ALPHA_TO_COVERAGE, which leads to a VVL error when LINE_RASTERIZATION_MODE_BRESENHAM is also enabled: VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766: The Vulkan spec states: If the lineRasterizationMode member of a VkPipelineRasterizationLineStateCreateInfoEXT structure included in the pNext chain of pRasterizationState is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT or VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT and if rasterization is enabled, then the alphaToCoverageEnable, alphaToOneEnable, and sampleShadingEnable members of pMultisampleState must all be VK_FALSE. This CL adds the additional checking to GraphicsPipelineDesc::initializePipeline() to ensure those conditions are met before setting lineRasterizationMode to VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT. Bug: angleproject:5613 Test: StateChangeTest.AlphaToCoverageEnable Change-Id: Ie2286078f6916c01a19ae6f932321a86619bd4e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2694094 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 0fa6c307 | 2021-02-04 11:23:06 | Enable ES 3.2 in ANGLE's loader Test: Capture and replay ES 3.2 apps Bug: angleproject:5652 Change-Id: I2dac84d3cf6534ee1b10889ba1312ae247ae8f62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698391 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> |