kc3-lang/angle/src

Branch :


Log

Author Commit Date CI Message
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>
c7ae5d28 2021-02-17 15:57:37 Suppress ClearThenMaskedClearFramebufferTest on Linux AMD VK The test has been failing on that configuration since it was introduced. TBR=syoussefi@chromium.org Bug: angleproject:5655 Change-Id: If852bcd574fa0cd4018220b7d6749b95a717a7c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698117 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
3c28b2a0 2021-02-10 16:49:32 Vulkan: Remove render pass check from setupDraw() ... and move it to handleDirtyGraphicsRenderPass. Bug: angleproject:5528 Change-Id: I416b2fedb1cd924d04fa739aecb65193fd845f6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686441 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
e8c0aa81 2021-01-26 23:40:36 Vulkan: Clean up transform feedback extension pause/resume 1. The xfb counter buffer barrier issued was wrong, following a typo in the spec. This barrier is now correctly issued using the usual barrier APIs. 2. A mechanism was added to automatically pause/resume transform feedback when a program pipeline needs to be rebound. This is incorrect as it misses the xfb counter buffer barrier. The render pass is broken instead if transform feedback is active/unpaused and the program pipeline is changed. 3. The transform feedback counter buffers are now disposed of when transform feedback is ended. This avoids an unnecessary barrier that this change would have otherwise incurred (and hence render pass break) in Manhattan which repurposes the same transform feedback object. Bug: angleproject:5528 Change-Id: I1ffe8b4b8975645ba43afd70e9cdbb0765529da5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2651647 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
60b03e62 2021-02-16 14:31:19 Create getRotatedExtents() and related methods Created: - WindowsSurfaceVk::getRotatedWidth() - WindowsSurfaceVk::getRotatedHeight() - RenderTarget::getRotatedExtents() - ImageHelper::getRotatedExtents() - ImageHelper::getRotatedLevelExtents2D() Note: The FramebufferVk class doesn't use any of these methods Bug: b/175793022 Change-Id: I64395688bfdb172d32853763743fc5f266a6b792 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686102 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
741f4039 2021-02-16 17:00:31 Fix spelling in capture owners Bug: None TBR: geofflang@chromium.org Change-Id: I60fd6bc18d8c86087d7640eb1145d575c4008edb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697986 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
2b69462e 2021-02-12 15:55:00 Vulkan: Consolidate image format list initialization code HardwareBufferImageSiblingVkAndroid, RenderbufferVk, SurfaceVk and TextureVk all had similar code to initialize VkImage with VK_KHR_image_format_list extension support. Consolidate all of them into a helper. Bug: angleproject:5520 Change-Id: Ib7ac582a35a26c0da15879e688bcaf0c2a92ea87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2692641 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
d7037aa2 2021-02-11 14:35:30 Vulkan: noop glMemoryBarrier(CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT) CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT requires a memory barrier: shader buffer write -> host read. According to the spec, the data is only available after a call to glFinish or wait on sync: > The application must call MemoryBarrier with the > CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT set and then call FenceSync with > SYNC_GPU_COMMANDS_COMPLETE (or Finish). Then the CPU will see the > writes after the sync is complete. When a buffer is written to by the GPU, ANGLE calls onHostVisibleBufferWrite(), which ensures a "memory write -> host read" barrier is issued at the end of the command buffer. Additionally, persistently mapped buffers use VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, so there's no need for a call to vkInvalidateMappedMemoryRanges. As a result, there's nothing necessary in ANGLE to do for this barrier bit. Note that should persistenly mapped buffers start using non-coherent memory, this barrier should imply a call to vkInvalidateMappedMemoryRanges for the persistently mapped buffers. Bug: angleproject:5070 Change-Id: Iaeae019dadfa659a47d2dac41c0c09f1c15e584b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689380 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
79ae52dd 2021-02-11 14:18:41 Vulkan: Fix missing visibility barrier for host-visible buffer writes See https://chromium-review.googlesource.com/c/angle/angle/+/1661252 for context. This was accidentally broken during the command graph rework. This will eventually be validated by syncval. See https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2329. Bug: angleproject:5070 Change-Id: Ic16fa900e554d46e54b42fc3fbe0f96d5327fa0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689379 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
30622479 2021-02-16 12:33:40 Vulkan: Fix crash with deferred clears and MSRTT The following scenario was mishandled: - MSRTT draw with an unresolve operation (i.e. has two subpasses) - Deferred clear - Flush deferred clear with MSRTT framebuffer not needing unresolve (i.e. has one subpass) Bug: chromium:1178693 Change-Id: If3548e99897d698d61dfafbe9f86193723d06e5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697648 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
e153063d 2021-02-16 18:34:25 Add timvp to ANGLE, vulkan and capture owners. Bug: None Change-Id: Ic23994efa3f4184c471eb21e7f3bb039f6b45057 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697947 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
9c450bee 2021-02-12 14:23:42 Use the default build target vulkan_memory_allocator Bug: chromium:1170339 Change-Id: I00c868e205a16a889e193383c35b2ed42d8a61ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693028 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
91b6c3b1 2021-02-16 11:14:18 Revert "Link angle_util statically into angle_system_info_test" This reverts commit 804226dffd9b35f88c4a64672fea2cd29c2bc6e8. Reason for revert: breaks compilation on android-archive-dbg. See https://ci.chromium.org/ui/p/chromium/builders/ci/android-archive-dbg/7802/overview (seems the egl symbols can't be found?) Original change's description: > Link angle_util statically into angle_system_info_test > > Otherwise ANativeActivity_onCreate is not found in component build. > > Bug: angleproject:4483 > Change-Id: Ic4a9f66e5b7d150a3740529f866de9995550ea68 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689370 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. TBR=ynovikov@chromium.org Bug: angleproject:4483 Change-Id: I7f16f77979f7d8b1e5e5f61e48b379b910f3a743 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697067 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
65f2f302 2021-02-16 12:59:57 Suppress Bus Simulator Indonesia on Linux AMD GLES too. Bug: angleproject:5629 TBR=ynovikov@chromium.org Change-Id: Iafae8a8022b1c3de7b6ff52be9889ba96a1fc865 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697069 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
21cced7f 2021-02-16 12:20:34 Fix suppression for a SimpleStateChangeTestES31 on Linux AMD It should be suppressed on Desktop GL and not GLES TBR=syoussefi@chromium.org Bug: angleproject:5649 Change-Id: I9752e0219e39cc9a8f3c1b90e15525d7e0384a91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697068 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
ca6573eb 2021-02-13 21:21:26 Vulkan: Fix dirty bit bug when closing RP in setupDraw() Bug: angleproject:5644 Change-Id: I2e1fa8c4db8eba1beb74c83dcb24cbe2e70ddca6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2694076 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
14ec0d2c 2021-02-15 17:14:08 Suppress a SimpleStateChangeTestES31 on Linux AMD GLES SimpleStateChangeTestES31.DrawThenSampleWithCompute was failing since it was introduced. TBR=syoussefi@chromium.org Bug: angleproject:5649 Change-Id: I46f531724bd4f12c760675de5038f2345eb21aac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2692816 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
031dd5c5 2021-02-11 14:56:43 Vulkan: Add fast path for pack buffer copies When vkCmdCopyImageToBuffer is possible, it is used to implement glReadPixels with PBO instead of a CPU readback. A few tests are added to verify synchronization between pack/unpack and compute shader writes. Bug: angleproject:5070 Change-Id: Ia5da0feb31348f6b52d164b973ff95e2a0510582 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2691466 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
2b15062b 2021-02-11 12:52:39 Allow more formats as texture attachments in GLES 1 This change allows all formats in the GLES 1.1 spec, table 3.4 to be used as a texture attachment. Also normalize values passed into glColorPointer if the format is of type GL_UNSIGNED_BYTE. These changes are needed for the android app, Kick the Buddy to render correctly. Bug: angleproject:5599 Tests: *DrawTextureTest.ColorArrayDifferentTypes* *FramebufferObjectTest.TextureObjectDifferentFormats* Change-Id: Ie9d27fc24d94106651262cf9b2080dd3f05af1c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690920 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
545d0051 2021-02-11 13:59:08 Add a number of glMemoryBarrier tests Bug: angleproject:5070 Change-Id: I835a4e936cb50d3f4b1187bebbe1d1adc49d0b52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689366 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
19e4cf86 2021-02-09 21:49:42 Capture/Replay: Some fixes for capturing WebGL Bug: angleproject:5635 Change-Id: I756471fbad34660c494fb7f9ba1144accd5c08b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686119 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
3500b434 2021-02-13 09:14:08 Update assert in BitSetArray::Iterator::prepareCopy Prior to a mutation of the bitset, mCurrentIterator would have been from mParent but post-mutation subsequent iterators are obtained from mParentCopy. Assert that the end() markers for both containers are the same. Bug: angleproject:3877 Change-Id: Ia29abd2acc0014522ef5856a88d8ec227cf9f19d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693813 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
12990d73 2021-02-11 11:37:03 GetBitSet now uses BitSetArray instead of IterableBitSet Remove the now unused IterableBitSet class. Bug: angleproject:3877 Change-Id: I161e5d062c8183e30a7eb9040f3018116fe6e69e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2683494 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
dfd2a881 2021-02-11 11:26:18 Add more functionality to BitSetArray class Add support for more unary and binary operators. In order to support setLaterBit and resetLaterBit in BitSetArray::Iterator there were 2 choices - 1. Make a copy of BitSetArray only if it is a mutating usecase 2. Always perform a copy in the constructor BitSetIteratorPerfTest was run with both patches - 1) Copy only when necessary - RESULT BitSetIteratorPerf.wall_time: run = 116.1067374961 ns 2) Copy always - RESULT BitSetIteratorPerf.wall_time: run = 242.7446459439 ns We settled on the copy only when necessary path. Bug: angleproject:3877 Change-Id: If1d3cc428c68c84857952b46237aa5f206f080cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690912 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
a2fad5ea 2021-02-11 22:49:33 Mark uninstantiated tests This problem was discovered by attempting to roll googletest past CL 315255779, which 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: I17c7cae1121079219f632cbbcf8cfc65a27bfdb7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2691459 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
baf64903 2021-02-03 14:02:55 Allow small compressed mip level copies Update ValidateCopyImageSubDataBase() to take into consideration if the entire mip level is being written, even if the size of the mip level is smaller than the compressed block size. This also uncovered a bug in ImageHelper::initializeNonZeroMemory() where the image extents are not at least as large as the compressed format block size: VUID-vkCmdCopyBufferToImage-imageExtent-00207 This CL adds isAllocateNonZeroMemoryEnabled() to allow skipping the test when that feature is enabled while that bug is chased. Bug: angleproject:5592 Bug: angleproject:5634 Bug: angleproject:5643 Test: Texture2DTestES3.CopyCompressedImageMipMaps Change-Id: I0381e0d3490fb148604b61dc3bae8f96ba8b5f8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673069 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
a9de5d99 2021-02-04 20:44:15 Vulkan: setAllDefaultUniformsDirty after createPipelineLayout The default uniform descriptor set is reset while recreating the pipeline layout during handling of immutable samplers and then is never re-allocated and bound before the next draw. The call stack to allocate the program uniforms descriptor set: ProgramExecutableVk::allocUniformAndXfbDescriptorSet ProgramVk::updateUniforms ContextVk::setupDraw ContextVk::drawArrays Context::drawArrays Unfortunately, this occurs before the pipeline layout is reset (and the descriptor sets are reset) due to the presence of an immutable sampler: ProgramExecutableVk::reset <<---- mDescriptorSets.fill(VK_NULL_HANDLE); ProgramExecutableVk::createPipelineLayout ContextVk::updateActiveTextures ContextVk::invalidateCurrentTextures ContextVk::syncState Context::syncDirtyBits Context::prepareForDraw Context::drawArrays This CL calls setAllDefaultUniformsDirty() for the Program/PPO to ensure the default uniforms descriptor sets are re-allocated and re-bound before the next draw command. Bug: b/178424566 Bug: angleproject:5624 Test: CtsCameraTestCases Change-Id: If54a9f2cc09809a5103bc3eac641c77f56362229 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2677385 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
46203e32 2021-02-10 18:41:06 Workaround context lost for Adreno 42x and 3xx Bug: chromium:1171371 Change-Id: I8c2e13f3f35bf1f780526ad1d9d483226ce5ea34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2688901 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
0a99bc39 2021-02-12 14:33:02 Remove dEQP expectations for tests removed from masterpass In https://chromium-review.googlesource.com/c/angle/angle/+/2690142 https://github.com/KhronosGroup/VK-GL-CTS/commit/7630a653d152f5da673e3992c0a1597d605c955f Bug: angleproject:5648 Bug: angleproject:3466, angleproject:3317, angleproject:4235 Change-Id: Ic4ee1d8b69319e839dbed192ce74811d0281b60e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2692513 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
1094d324 2021-02-12 03:14:38 GL: Add allow_etc_formats workaround Enable ETC2/EAC formats on newer Intel GPUs. Bug: angleproject:1552 Change-Id: I240b07d6d81d48e1e03dfcd56aad6fa9f1d7817f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690952 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
8b624c6d 2021-02-05 15:33:52 Use constexpr initializer list for bitsets Allows setting/resetting multiple bits to be coalesced into one operation. Bug: angleproject:5528 Change-Id: Ibf2dff8c81441a75c268d95066d23da1b2a3c810 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2678885 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
cf8c71de 2021-02-11 16:32:00 Supress failing capture/replay test. StateChangeTest.DrawAfterFlushWithNoStateChange/* Bug: angleproject:5530 Change-Id: I8e9365219a617b8c6dd6d5c767e40ecde100a76d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689378 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
804226df 2021-02-11 14:53:43 Link angle_util statically into angle_system_info_test Otherwise ANativeActivity_onCreate is not found in component build. Bug: angleproject:4483 Change-Id: Ic4a9f66e5b7d150a3740529f866de9995550ea68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689370 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
bae53d96 2021-02-10 16:28:14 Only define test suites when TEST_Ps defined The EXTClipCullDistanceForVertexShaderCompileFailureTest and EXTClipCullDistanceForFragmentShaderCompileFailureTest test suites each contain only one test, which is defined iff ANGLE_ENABLE_VULKAN is defined. This results in UNINSTANTIATED_PARAMETERIZED_TEST errors. This problem was discovered by attempting to roll googletest past CL 315255779, which causes test binaries to fail when they include test suites / parametrized tests that are not instantiated, and when they include empty test suites. Bug: chromium:1163396 Change-Id: Ie1837bc2879c14ad9f51a4a757ee1edc7e603c61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686377 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
e281fbb0 2021-02-11 15:37:43 Revert "GL: Cache the results of glGetString" This reverts commit 27906e9c9f8a6767fb8af22d9f80264d8672243a. Reason for revert: Causes failures in mac_optional_gpu_tests_rel Original change's description: > GL: Cache the results of glGetString > > To reduce the amount of queries to the driver, we can cache the > results of glGetString. On Mac, we need to invalidate this cache > on GPU switch. > > Bug: chromium:1173672 > Change-Id: I039172068aec35034a87881a8804f52c080ce4ce > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676882 > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org Change-Id: I5799c5d287dd01b946446bd66d4c89aef6756d3a Bug: chromium:1173672 Bug: angleproject:5639 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690145 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
537cd0d5 2021-02-11 12:38:10 Capture Tests: Update path to capture/. Bug: angleproject:5530 Change-Id: Ibbabab2bcc03c196c6c51e5bf67d81df8bad4925 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689364 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
5af5808b 2021-02-10 13:06:36 GL: Do not support ETC1 textures on Desktop GL As pointed out in WebGL issue 3014, ANGLE has been exposing ETC1 texture support on desktop GL when GL_ARB_ES3_compatibility or GL 4.3+ is available. However, it is very likely that none of these platforms actually have hardware support for this format, and are only supporting it for compatiblity with ES3. We shouldn't expose this so that desktop clients can use a better format instead. Bug: chromium:1048244 Change-Id: I53837a05719d0ca3ff390b5b45b61a1f9c72a535 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2687466 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
807d1ad7 2021-02-10 23:30:56 Metal: fix incorrect default viewport size with contentsScale>1 The correct metal layer's drawable size should be calculated after mMetalLayer.get().contentsScale is set during initialization to allow initial viewport to be computed properly on front-end side. Bug: angleproject:2634 Change-Id: If278f40c0b6800bbe12fb5ea94986f728381bc00 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2687300 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
d0e8c636 2021-02-10 04:08:28 Roll VK-GL-CTS from 28d3d98b040d to fd70e387953e (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/28d3d98b040d..fd70e387953e 2021-02-05 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 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 syoussefi@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Change-Id: I8f160df11b65f88e79010c37aeb7a89aa70b84e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690142 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
45a493ea 2021-02-05 13:48:48 Vulkan: Use a dirty bit to start the render pass Some dirty bits need to run before the render pass starts. An upcoming change for example needs to break the render pass when the program pipeline is changed while transform feedback is active. Another upcoming change may need to do the same based on a preceding glMemoryBarrier. This change adds a new dirty bit to start the render pass after some dirty bits have already been processed. Bug: angleproject:5528 Change-Id: I993c9efefed4c8fee268b218a8dd66a582d4e7cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2678863 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
dccec125 2021-02-08 16:21:30 Vulkan: Clear mCurrentGraphicsPipeline after createPipelineLayout() Set mCurrentGraphicsPipeline = nullptr when the pipeline layout is recreated if immutable samplers are used to prevent a use-after-free. For a fuller discussion on why this is necessary, see: Vulkan: clear mCurrentGraphicsPipeline during invalidate | https://chromium-review.googlesource.com/c/angle/angle/+/2647746 Bug: b/178424566 Bug: angleproject:5624 Change-Id: I70679bda85cd587dbd8893a4576ee5d33aee2b70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2683041 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
393c44f1 2021-02-01 15:45:24 EGL: Trim requested config parameters to EGL. ANGLE requests a config with several uneccessary parameters. I suspect these parameters are causing issues in the wild where eglChooseConfig fails. Try requesting ES3 then fall back to ES2 configs. Skip config caveats, floating point configs and multisample configs, we provided the default parameters. The resulting config is very similiar to the one Chrome requests in gl_surface_egl.cc Bug: chromium:1173161 Change-Id: Ifa78ff8081e3d86e823036981e1e2b5f8f751fed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665888 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Peng Huang <penghuang@chromium.org>
0e8f7727 2021-02-10 15:03:10 Fix crash in gl::Context::unMakeCurrent() gl::Context's ctor may need to create a native EGL context and it can fail. If it fails, the context->mImplementation will be nullptr, and it will cause crash elsewhere. Fix the problem by checking it after create a gl::Context instance. Bug: chromium:1171371 Change-Id: Ic57f088dcbf9716b85fee92bf54d557eb94642d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686439 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
6fc10389 2021-02-10 11:20:16 Move Frame Capture to capture/ folder. This will make it easier to trigger the trace tests when these files are modified. Bug: angleproject:5530 Change-Id: I5f0c450595b380cd91b20c1477dc1845bee35dd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686120 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
27906e9c 2021-02-04 16:54:56 GL: Cache the results of glGetString To reduce the amount of queries to the driver, we can cache the results of glGetString. On Mac, we need to invalidate this cache on GPU switch. Bug: chromium:1173672 Change-Id: I039172068aec35034a87881a8804f52c080ce4ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676882 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
a8a2a71b 2021-02-01 17:18:18 Vulkan: Support y-flip with no driver support. We can reuse the surface rotation matrix code to do the y-flip. This requires the SPIR-V transformation support. Because not all rotations are encoded into the table we can only support rotation with the driver support for y-flip (currently). Includes some very minimal regression testing. This work is targeted towards supporting vk-portability implementations which are not as up-to-date with Vulkan features. Bug: angleproject:5596 Change-Id: I270fa1efc03267551d28df33ddac9972e1343d60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665892 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
80308e20 2021-02-08 16:16:36 Vulkan: Match min/magFilter to chromaFilter VkSamplerCreateInfo.magFilter and minFilter must match VkSamplerYcbcrConversionCreateInfo.chromaFilter. VkSamplerYcbcrConversionCreateInfo.chromaFilter is currently hard-coded to VK_FILTER_NEAREST in HardwareBufferImageSiblingVkAndroid(), so force magFilter and minFilter to VK_FILTER_NEAREST in SamplerDesc::init() if an externalFormat is being used. Bug: b/178424566 Change-Id: Ia1f7fc21e3faa4e57f837ed3ae70608134150aea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2683038 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
bb062070 2021-02-09 15:30:04 Vulkan: Fix updates to element buffer If glBufferSubData results in a new vk::BufferHelper allocation, VertexArrayVk::mCurrentElementArrayBuffer needs to be updated. VertexArrayVk::syncState was working under the assumption that DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA cannot result in a vk::BufferHelper pointer change. This assumption was broken in https://chromium-review.googlesource.com/c/angle/angle/+/2204655. Bug: b/178231226 Change-Id: I969549c5ffec3456bdc08ac3e03a0fa0e7b4593f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2685439 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
c3887991 2021-02-03 13:52:32 Capture/Replay Don't capture invalid commands Special Forces Group 2 issues invalid OpenGL ES commands, which are currently captured by ANGLE's frame capture. These invalid commands generate errors on both ANGLE and the native driver, causing the test to be marked as "failed". This CL updates FrameCapture::captureCall() to not capture invalid commands, which prevents replay errors. However, the other work related to the call is still performed, including: - maybeOverrideEntryPoint() - maybeCapturePreCallUpdates() - maybeCapturePostCallUpdates() This work is necessary, otherwise calls that update necessary members like FrameCapture::mClientArraySizes may be missed, causing leading to compilation failures related to missing symbols. For example, mClientArraySizes is updated via the following call stack: captureClientArraySnapshot() maybeCaptureDrawArraysClientData() maybeCapturePreCallUpdates() It's necessary for mClientArraySizes to contain non-zero values, so that the variable gClientArrays[] is output by WriteCppReplayIndexFiles(). Otherwise a compilation error will occur when it's referenced by a glVertexAttribPointer() call in the capture. Bug: angleproject:5592 Change-Id: I625a074e035eb75267d8384dc61ce6de1717af91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673068 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
f6784006 2021-02-08 16:39:04 Modify data type of ActiveTextureMask and ImageUnitMask ActiveTextureMask and ImageUnitMask need more than 64bits. We can now use the BitSetArray datatype and avoid the perf penalty of using std::bitset Bug: angleproject:3877 Tests: angle_perftests.exe --gtest_filter=TexturesBenchmark* Change-Id: Ic82e09d1aa2c1904d06ad48ba6200f35896665ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664734 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
f1cbcaba 2021-02-07 13:37:49 Use const reference when possible When retrieving BitSet masks return a const reference of the mask to avoid invoking the copy-constructor. Bug: angleproject:3877 Change-Id: I9f724a4864f3db17aa6f1ab74b81053c65313764 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2681767 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
ad60c22d 2021-02-09 13:22:09 Add an option to use "metal" as ANGLE_DEFAULT_PLATFORM. Bug: angleproject:5632 Change-Id: Id470993a01609ace851372b1bbe01fee8cde274b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684635 Commit-Queue: Stephen White <senorblanco@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
60c3f404 2021-02-03 18:12:06 Tests: Add Bus Simulator Indonesia trace Bug: angleproject:5612 Test: angle_perftests --gtest_filter=TracePerfTest.Run/*bus_simulator_indonesia* Change-Id: I067795b237fc32406d63785e347324b423978768 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2674305 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
a7df19c8 2021-02-09 10:37:41 Roll VK-GL-CTS from b29bf0434c16 to 28d3d98b040d (82 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/b29bf0434c16..28d3d98b040d 2021-02-05 alexander.galazin@arm.com Remove GLES-only tests from the GL 4.5 package 2021-02-05 alexander.galazin@arm.com Support GL 4.5 in the Separate shader tests 2021-02-04 alanbaker@google.com VK_KHR_zero_initialize_workgroup_memory tests 2021-02-04 alexander.galazin@arm.com Update Vulkan headers 2021-02-03 alexander.galazin@arm.com Update glslang 2021-02-03 ari.suonpaa@siru.fi Change gradient generator for pipeline image tests 2021-02-03 gleese@broadcom.com Add tests for multisample texture size 2021-02-03 piotr.byszewski@mobica.com Fix memory scope in OpControlBarrier tests 2021-02-03 marcin.kantoch@amd.com VK_KHR_fragment_shading_rate pixel consistency 2021-01-29 ruoyu@amd.com Adjust texture data and threshold 2021-01-29 rgarcia@igalia.com Fix validation in mismatched format tests 2021-01-29 venni.ihanakangas@siru.fi Test descriptor set layout binding ordering 2021-01-29 ari.suonpaa@siru.fi Add descriptor update stress test 2021-01-29 antto.makinen@siru.fi Coverage tests for undefined values 2021-01-29 rgarcia@igalia.com Test attributes beyond static vertex stride 2021-01-28 gleese@broadcom.com Check for astc_sliced_3d extension in negative API tests 2021-01-28 rgarcia@igalia.com Disable dithering in nearest edge test cases 2021-01-28 rgarcia@igalia.com Check sparse image format support before creation 2021-01-28 rgarcia@igalia.com Additional conditional rendering tests 2021-01-28 estea@igalia.com Expand tests for image queries of null descriptors 2021-01-22 gleese@broadcom.com Stop dEQP-GL45 tests falling back to ES3.1 2021-01-22 apinheiro@igalia.com Add VariablePointerFeatures requirement for amber test requiring it 2021-01-22 apinheiro@igalia.com Avoid querying YCbCr combined sampler count in RGBA 2021-01-22 rgarcia@igalia.com Check unsupported formats with sparse AMD bias/lod 2021-01-22 mika.vainola@siru.fi Add command line option for filtering by runner 2021-01-22 antto.makinen@siru.fi Fix a Graphicsfuzz coverage test not to depend on an undefined value 2021-01-22 antto.makinen@siru.fi dEQP-VK.graphicsfuzz.cov-tail-duplicator-infinite-loops 2021-01-22 mika.vainola@siru.fi Add FrexpStruct comparison tests 2021-01-22 ari.suonpaa@siru.fi Use target environment for Amber shaders 2021-01-22 alexander.galazin@arm.com Add gitattributes 2021-01-22 piotr.byszewski@mobica.com Test negative depthBiasClamp values 2021-01-21 Kyle.Griffiths@imgtec.com Threshold Consistency for ES2 FBO Tests 2021-01-21 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the GetTexLevelParameter tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the multisample interpolation states tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the Shader state query tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the Stencil texturing tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the Synchronization tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in various multisample tests 2021-01-21 cheryl.wei@arm.com Fix ReadPixels format 2021-01-20 alexander.galazin@arm.com Support GL 4.5 in the Texture buffer syncronization tests 2021-01-20 alexander.galazin@arm.com Support GL 4.5 in the Texture Specification Tests 2021-01-20 alexander.galazin@arm.com Support GL 4.5 in the Query vertex attribute binding state tests 2021-01-20 greg@lunarg.com Add minimum nonUniform tests to descriptor indexing texts 2021-01-19 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Texture size tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Shader Image Load & Store Tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the gl_HelperInvocation tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the GL_EXT_shader_framebuffer_fetch tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Common function tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Opaque Type Indexing Tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Internal format queries tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Layout binding tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Integer state query tests 2021-01-19 alexander.galazin@arm.com Suppotr GL 4.5 in the sRGB write control tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Cube map array texture tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the base vertex extension drawing tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the indexed draw buffers tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the default vertex array object test 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Boolean State Query tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the atomic operation with image tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the draw_indirect tests 2021-01-17 alexander.galazin@arm.com Notice of withdrawal of Vulkan CTS 1.2.1.x 2021-01-13 Alexander.Galazin@arm.com Merge "Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master" 2021-01-13 thomas.spurden@broadcom.com Add --force option to fetch_sources.py 2021-01-13 estea@igalia.com Fix checks for conditional rendering support 2021-01-13 slawomir.cygan@intel.com Check for VK_KHR_portability_subset extension before checking it's features 2021-01-13 estea@igalia.com Add striped 3D blitting tests 2021-01-11 estea@igalia.com Add tests for logical operations 2021-01-08 ruoyu@amd.com Disable-SeamlessCubeMap-In-Reference-ES2Context 2021-01-08 gleese@broadcom.com Test invalid Lods in the textureSize tests 2021-01-08 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-01-07 rgarcia@igalia.com Fix sync problems in conditional_rendering.draw_clear tests 2021-01-07 cwabbott0@gmail.com Don't access arrays out-of-bounds in robustness2 tests 2021-01-07 anholt@google.com pipeline statistics test: Fix compute shader setup in !GL4.3 case. 2021-01-06 rgarcia@igalia.com Clarify depth/stencil resolve write access sync 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in the texture test utils 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in the blend_equation_advanced tests 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in the 'negative' tests 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in geometry/tesselation shader tests 2020-12-29 alexander.galazin@arm.com Support GL 4.5 context in the precision and draw tests 2020-12-29 alexander.galazin@arm.com First steps towards running ES3.1 functional tests on GL4.5 drivers 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 geofflang@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:3687 Bug: angleproject:3688 Change-Id: I8de830ec9f56ab6a29218f83caaf96b86ceba648 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2679296 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
224e3c14 2021-02-08 13:00:16 Support optimized bitsets that need more than 64bits For usecases that needed more than 64bits we were using std::bitset container. This has slower perf compared to the BitSetT container. Add a new class that can support large bitsets by wrapping an array of BitSet32/BitSet64 objects, depending on CPU bitness, as the container. Bug: angleproject:3877 Tests: angle_unittests.exe --gtest_filter=BitSetArrayTest* angle_white_box_perftests.exe --gtest_filter=BitSetIteratorPerfTest* Change-Id: I3f4a635f9e6974a99db7a4b592ab206aad754760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664733 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
54242b8f 2021-02-04 12:20:57 Vulkan: Leverage ExtendedDirtyBitType Expand ExtendedDirtyBitType to include bit for clip distance, mipmap generation hint and shader derivative hint. Handle these dirty bits in ContextVk::syncState Bug: angleproject:5611 Change-Id: If8d1646334e737f81ac72cdddb8fe3ba613b4b94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676173 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
41a1920e 2021-02-08 22:04:10 Tests: Reduce capture_replay_test exception list Remove some tests that no longer fail to compile. Test: capture_replay_tests.py --gtest_filter=*ES2_Vulkan_SwiftShader Bug: angleproject:5630 Change-Id: If04787494e58afad0a98d0ee7f37e00d2e77ec1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2683543 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
4968f6f2 2021-02-04 16:40:36 Move getRendererDescription from ContextImpl to DisplayImpl The other backend description strings are in DisplayImpl. This will help with caching the result of glGetString in the GL backend. Also Update the getters to not be const in order to allow caching. Bug: chromium:1173672 Change-Id: I43df35688762b23429f47f169c04482cf4cd089a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676881 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
e174c358 2021-02-04 15:14:10 GL: Consolidate glGetString calls First step for cacheing the result of glGetString calls is mostly cleanup. Bug: chromium:1173672 Change-Id: I47281a09b9bd5859655d16376977a6eabcfbb3c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676203 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
6b20e1c8 2021-02-07 14:42:54 Tests: Add Hill Climb Racing trace Test: angle_perftests --gtest_filter="*hill_climb_racing*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5626 Change-Id: I64a52a56569ef1e1a219c5d7e931620dcb438f4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2681837 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
8dae4007 2021-02-07 14:18:22 Tests: Add Worms Zone io trace Test: angle_perftests --gtest_filter="*worms_zone_io*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5625 Change-Id: I38bf148409aec4ae15bdf0759676518f44a98359 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2681835 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>