src


Log

Author Commit Date CI Message
angle-autoroll a318b3d6 2021-03-05T16:38:47 Roll VK-GL-CTS from 9cdde06fb38a to 9be79728eafb (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/9cdde06fb38a..9be79728eafb 2021-03-02 ynovikov@google.com Fix Windows build 2021-03-01 alexander.galazin@arm.com Update Vulkan headers 2021-02-25 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2021-02-25 rgarcia@igalia.com Pipeline bind point tests 2021-02-25 rgarcia@igalia.com Add tests for sparseImageFloat32Atomics 2021-02-25 anholt@google.com Fix more spurious failures in KHR-GL*.transform_feedback.api_errors_test 2021-02-25 anholt@google.com Fix spurious failures on KHR-GL30.transform_feedback.api_errors_test 2021-02-25 tapani.palli@intel.com Print ints for pixel values instead of chars in error message 2021-02-25 thomas.spurden@broadcom.com Fix exit code for cts-runner 2021-02-25 mikko.tiusanen@siru.fi Tests for GLES3 framebuffer completeness 2021-02-25 alexander.galazin@arm.com Support GL 4.5 in the Program interface query tests 2021-02-25 lionel.g.landwerlin@intel.com Silence validation layers warning on missing sType 2021-02-25 mika.vainola@siru.fi Allow wildcards in waiver vendor strings 2021-02-25 boris.zanin@mobica.com Add a list of unused shaders into log 2021-02-25 boris.zanin@mobica.com Add concurrent transform feedback streams query tests 2021-02-24 gleese@broadcom.com Remove a waiver for a non-existant device 2021-02-23 mika.vainola@siru.fi Add tests for implicit unmap on free 2021-02-23 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC jonahr@google.com,angle-bots+autoroll-info@google.com,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: angleproject:5684, angleproject:5722 Tbr: jonahr@google.com,angle-bots+autoroll-info@google.com,ynovikov@google.com Change-Id: Ibd432a2135665ed89f93549e24923c108a08f97b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739041 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov a1f86b4d 2021-03-05T16:55:47 Skip vulkan_car_parking_multiplayer on Win Intel Internal Vulkan error (-4): The logical or physical device has been lost. Bug: angleproject:5724 Change-Id: I80eb21d087341fac23393d7365bd5ea4c5ac6e05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739387 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 8a48f4de 2021-03-05T14:33:16 Skip CopyTextureVariationsTest failing on Ozone CopyTextureVariationsTest.CopyTexture CopyTextureVariationsTest.CopySubTexture Bug: angleproject:5723 Change-Id: Iad62344b9bc503a2553647877c5975b03bb6829d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2738602 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Amy Liu 0ee360de 2021-03-05T06:02:25 Revert "Compression of the data from vkGetPipelineCacheData." This reverts commit cc5083e071e9e0663979c02376e7848c7de11765. Reason for revert: Re-land this patch after fixing the performance regression of big blob cache (discussed in angle issue 4722). Original change's description: > Compression of the data from vkGetPipelineCacheData. > > The size of pipelineCacheData sometimes is greater than > 64k which cannot be saved because of the Android blob cache > limitation (single cache data size should be < 64k). > Implement the compression to store more cache data. > > Bug: angleproject:4722 > Change-Id: I435b086d70d0e6378f1141464ae2bafbe076f193 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2631511 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:4722 Change-Id: Ie4de10eabf5cd8f0b4748e2c1a4c3ab6b8ea092c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739098 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev 32bf7d41 2021-03-05T13:40:53 Fix Apple GPU detection for M1 Renamed supportsIOSGPUFamily to supportsAppleGPUFamily to match official naming. Bug: angleproject:5672 Change-Id: Ic02c0f01bc30c12cef594cc2eb4f9932c22c1e33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739459 Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki d96b9ffa 2021-03-04T09:57:53 capture_replay_tests: Don't skip tests that pass. These tests were skipped due to compilation problems, but do now fully pass on SwiftShader ES2. Remove PointSpritesTest.PointWithoutAttributesCompliance/* Remove ExplicitContextTest.GetProcAddress/* Remove RobustBufferAccessBehaviorTest.EmptyBuffer/* Remove EGLSyncTest.AndroidNativeFence_WaitSync/* Bug: angleproject:5721 Change-Id: I3f50272c69ba78e2432f4278753e5d48d8601910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739723 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e366e2c3 2021-02-27T01:00:02 Vulkan: Keep dynamic buffer's free list trimmed ContextVk's staging buffer never gets a chance to free its free buffer list. During application load time, a large amount of memory may be allocated from this buffer to stage texture updates and they would remain throughout the life of the application. This change ensures that the free buffer list doesn't grow unbounded. In the Manhattan trace, this saves >1GB of memory on Linux. There are now three policies for vk::DynamicBuffer: - Always reuse buffers: This is useful for dynamic buffers that make frequent small allocations, such as default uniforms, driver uniforms, default vertex attributes and UBO updates. - Never reuse buffers: This is for situations where the buffer is unlikely to be used after some initial usage, such as texture data upload or vertex format emulation (as the conversion result is cached, so it's never redone). - Limited reuse of buffers: For the staging buffer in the context which is shared by all immutable texture data uploads, it's useful to keep a limited number of buffers (1 in this change) to support future texture streaming while allowing a large number of buffers allocated in a burst to be discarded. Bug: angleproject:5690 Change-Id: Ic39ce61e6beb3165dbce4b668e1d3984a2b35986 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725499 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya fe2efefa 2021-02-27T08:28:03 Add FramebufferAttachmentPerfTest Two tests are added to measure the overhead involved in the Observer/Subject interface - 1. FramebufferAttachmentBenchmark - stresses repeated attach/detach of observers to subjects. 2. FramebufferAttachmentStateUpdateBenchmark - stresses state updates to subjects and their propagation to observers. Bug: angleproject:5692 Change-Id: I6e573f3a948ef2b20c56091e549eb871051e0103 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725740 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Eng 8092ed72 2021-03-04T21: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>
Mohan Maiya 58c35d42 2021-03-02T09: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>
Jason Macnak 60ad763d 2021-03-01T15: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>
Shahbaz Youssefi 2f737c25 2021-02-25T16: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>
Yuly Novikov a6b16d29 2021-03-02T19: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>
Xiaoxuan Liu 5c09c1f8 2021-03-03T17: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>
Alexey Knyazev 54294c9a 2021-03-02T22: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>
Shahbaz Youssefi 0224e848 2021-03-03T14: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>
Shahbaz Youssefi 49211c31 2021-03-02T11: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>
Shahbaz Youssefi 90db6049 2021-03-02T13: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>
Stephen White d8557cc8 2021-03-03T10: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>
Cody Northrop 71c7e346 2021-03-02T21: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>
Peng Huang a73818aa 2021-03-03T12: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>
Cody Northrop 18314bce 2021-03-03T10: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>
Shahbaz Youssefi 07025aa3 2021-03-02T00: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>
Jonah Ryan-Davis cdef22a5 2021-03-03T10: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>
Cody Northrop fbbd143b 2021-02-27T17: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>
Cody Northrop 1de8b5a6 2021-03-02T14: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>
Cody Northrop 210a464e 2021-03-02T12: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>
Jeff Vigil 22fc9523 2021-02-03T15: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>
Lubosz Sarnecki c11186c2 2021-03-02T14: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>
Jonah Ryan-Davis 6edba641 2021-03-02T11: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>
Cody Northrop 87b1875c 2021-03-01T19: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>
Cody Northrop 3e017cfe 2021-02-26T15: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>
Ian Elliott 6af0c03f 2021-02-25T18: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>
Yuly Novikov 5b82fa2e 2021-02-28T11: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>
Gert Wollny fb7a2445 2021-02-12T09: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>
Cody Northrop a6d46239 2021-01-25T11: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>
Yuly Novikov 4f639a7e 2021-02-27T17: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>
Yuly Novikov 73afaf1e 2021-02-26T18: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>
Mohan Maiya c508e707 2021-02-25T15: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>
Shrek Shao 2b55f876 2021-01-29T18: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>
Shahbaz Youssefi da4aa8b8 2021-02-25T16: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>
Mohan Maiya 67333608 2021-02-25T14: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>
Mohan Maiya b5af8bde 2021-02-24T09: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>
Stephan Hartmann 46df78dc 2021-02-25T20: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>
Stephen White a476d16b 2021-02-24T12: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>
Cody Northrop bdd1ac23 2021-02-25T16: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>
Yuly Novikov f9c595b4 2021-02-26T11: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>
Lubosz Sarnecki 4f07f9b8 2021-02-24T13: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>
Drew Davenport 868a41e9 2021-02-17T11: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>
Lubosz Sarnecki 33907625 2021-02-24T12: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>
Lubosz Sarnecki d24398b3 2021-02-25T15: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>
Shahbaz Youssefi 77637f2d 2021-02-19T15: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>
Yuly Novikov d3cde02d 2021-02-24T16: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>
Yuly Novikov ba233b6a 2021-02-25T13: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>
Lubosz Sarnecki 46a955f8 2021-02-25T16: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>
Mohan Maiya 9b1c569b 2021-02-24T11: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>
Mohan Maiya 550f2a3e 2021-02-24T09: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>
Shahbaz Youssefi 3013f27c 2021-02-23T22: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>
Shahbaz Youssefi 4a24786e 2021-02-23T23: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>
Shahbaz Youssefi 999da35e 2021-02-18T17: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>
Cody Northrop 7ff605a5 2021-02-23T21: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>
Cody Northrop a833f200 2021-02-23T17: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>
Jamie Madill 6623a70f 2021-02-19T17: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>
Lubosz Sarnecki 4a782eaf 2021-02-11T16: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>
Shahbaz Youssefi d81e5d17 2021-02-18T16: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>
Shahbaz Youssefi 39d7fc18 2021-02-17T00: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>
Shahbaz Youssefi 5d7f4e80 2021-02-18T17: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>
angle-autoroll 016c5ff0 2021-02-23T11: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>
Shahbaz Youssefi df0a92e6 2021-02-22T06: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>
Lubosz Sarnecki 1330aa2c 2021-02-12T15: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>
Lubosz Sarnecki 37752956 2021-02-11T16: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>
Shahbaz Youssefi 1a70e5a0 2021-02-22T06: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>
Shahbaz Youssefi c2d14d03 2021-02-18T13: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>
Shahbaz Youssefi 4a95488c 2021-02-18T12: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>
Yuly Novikov 2be24692 2021-02-21T21: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>
Yuly Novikov 6eb7ae4f 2021-02-21T19: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>
Shahbaz Youssefi bd9a3b29 2021-02-18T11: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>
Shahbaz Youssefi 454194e4 2021-02-17T23: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>
Shahbaz Youssefi c342647f 2021-02-17T22: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>
Shahbaz Youssefi 8f65bb39 2021-02-17T17: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>
Shahbaz Youssefi 6e8cdd39 2021-02-17T00: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>
Yuly Novikov c03a4235 2021-02-20T16: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>
Yuly Novikov 5c931b61 2021-02-20T13: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>
Shahbaz Youssefi d3d30921 2021-02-17T16: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>
Yuly Novikov be943b3b 2021-02-19T15: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>
Shahbaz Youssefi e96d1744 2021-02-12T14: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>
Jamie Madill 6af603e1 2021-02-19T11: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>
Cody Northrop 4b608a6c 2021-02-17T22: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>
Mohan Maiya 4afd0f27 2021-02-17T13: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>
Austin Sullivan f18b92ad 2021-02-17T19: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>
Corentin Wallez dceb2412 2021-02-18T16: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>
Cody Northrop 9d83517b 2021-02-17T23: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>
Austin Sullivan fd132e4e 2021-02-18T18: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>
Corentin Wallez 95584459 2021-02-18T09: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>
Corentin Wallez 2d3402eb 2021-02-18T09: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>
Shrek Shao 027bc47c 2021-01-29T18: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>
Tim Van Patten bd276beb 2021-02-12T10: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>
Jamie Madill 7e990ef4 2021-02-16T18: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>
Cody Northrop 51c5137a 2021-01-05T16: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>
Shahbaz Youssefi 7ae8531b 2021-02-17T15: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>