src/tests


Log

Author Commit Date CI Message
Roman Lavrov 64c652d7 2022-08-12T18:14:39 Use stdout instead of (default) stderr in logging.StreamHandler Currently logging output appears before stdout on bots, makes logs so confusing as subprocess logs get out of order with logs from python. Using StreamHandler(stdout) seems to be the common practice in other python scripts in code search. Note: subprocess's stderr is redirected to stdout: https://crsrc.org/c/third_party/angle/src/tests/py_utils/angle_test_util.py;drc=2de8bb42a9ef93dfafe476e7dc81643285fa7ef1;l=92 Bug: angleproject:7299 Change-Id: I825f16d9c479f33a280d8fdbafb8297cda0c18b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827957 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Faye Zhang 4c941149 2022-08-12T11:42:07 External Texture Support In MEC Bug: angleproject:4964 Change-Id: I5cfbadf515a30fb20d75b2d745fdecdafa12268f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812378 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Faye Zhang <ffz@google.com> Commit-Queue: Faye Zhang <ffz@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi 02d79c32 2022-08-12T11:21:04 Skip kotor trace on Swiftshader due to flakiness After changing the driver uniforms to push constants, the kotor trace became flaky on Linux/Swiftshader. In this CL, the flaky test is skipped. Bug: angleproject:7565 Change-Id: Ia3deb1344ce2dfb8cec443d197b0f95788a12599 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3829907 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Kyle Piddington 58392791 2022-04-07T16:14:12 Translator: Fix crashes with monomorphizing loops Monomorphize functions crashes when trying to deep-copy a while loop, and a continue statement. Null check these values before performing a copy, as this is still valid AST syntax. Bug: angleproject:7190 Change-Id: I822c0aa062ed844f86aa2b603899d73cbd48255e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573079 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Chris Dalton 4a636cdd 2022-07-20T22:44:30 Require all PLS formats to consume exactly 4 bytes of storage D3D 11.0 UAVs only support R32_FLOAT, R32_UINT, R32_SINT formats. EXT_shader_pixel_local_storage explicitly states that all PLS variables consume exactly 4 bytes. ESSL images can only have both read and write access if their format is r32f, r32i, r32ui. (We were able to circumvent this via aliasing, but it was a huge source of bugs.) There is a large precedent for only supporting 4 bytes of storage in the capabilities we use for PLS, so this CL removes support for all PLS storage formats that are not 4 bytes. It also implements an "R32" mode for PLS, that does manual packing and unpacking of r32* image formats. If the application wants larger formats, it can always define multiple PLS planes and piece them together. Next up we ought to be able to support rg16* types with more packing/unpacking. With aliasing gone, and with a bit of tweaking, the PLS tests now pass on the Pixel 4 GLES bot. Bug: angleproject:7279 Bug: angleproject:7388 Bug: angleproject:7524 Bug: angleproject:7527 Change-Id: I6b8f62c2428ade6cb5413e33360d734e55dda0eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3782579 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Charlie Lao badfeecd 2022-08-10T14:38:43 Vulkan: Destroy fb1 should not affect fb2 with same attachments If two FBOs has the same attachments. they will share the same VkFramebuffers. Destroy one fbo should not cause trouble for the other fbo. Bug: chromium:1351170 Change-Id: I032da8cc12eb8556c3e325c8fd7a3de9974ae909 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3824302 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Chris Dalton fa3d7d5c 2022-08-05T00:57:40 Make PLS coherent on Vulkan Uses the VK_EXT_fragment_shader_interlock extension to make the shader image implementation of PLS coherent on Vulkan. This extension is supported on AMD, Apple, NVIDIA, and Intel. Bug: angleproject:7279 Change-Id: Ic0253eb20932eb6be0b1f433ba454e48b57be2f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3813816 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kyle Piddington aef9603f 2022-08-02T18:30:08 Separate Struct declarations earlier Metal translator backend asserts with compound struct definitions. Move SeparateCompoundStructDeclarations before SeparateCompoundExpressions. This change does revert some changes for angleproject:6386, but the tests fixed there continue to pass. Bug: angleproject:6489 Change-Id: I6adc606ac0b14453eb5e3e90f6501bf02c2d2768 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806616 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Peng Huang 4cab7f38 2022-08-10T20:33:07 Fix EGL_ANGLE_program_cache_control for eglCreateContext EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE is an attribute for creating EGL context, but ANGLE reads it from mAttributeMap which is not the attribs passed to eglCreateContext(). Bug: chromium:1336126 Change-Id: Id3ea1955f927a7e051285c79b590dcf1f11f22ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3823621 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Peng Huang <penghuang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 87ed2c9d 2022-08-11T11:19:17 TestSuiteTest: Generate more unique result file names. Speculative fix for flaky runs of TestSuiteTest. Flakes appear to read the results of other tests suggesting rand is not unique enough to protect against tests generating the same results file. Bug: chromium:1352134 Change-Id: Icadf64c557e23e6d87fd18aa60aa48373ecec9fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827144 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Roman Lavrov 3d0faa02 2022-08-09T16:48:06 Remove workaround affecting --list-tests --gtest_filter=X. One of the multiple workarounds added in https://crrev.com/c/3062240. It makes `--list-tests --gtest_filter=X` behave as if it was just `--list-tests`. Not sure why this was necessary, bots appear to work without it?.. Could be something that changed since that CL? Bug: angleproject:7508 Change-Id: I9988add40ddf3168e00cea2739e5a9209f633161 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3821374 Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 6d0452b7 2022-08-10T13:34:29 Fix ANGLE_HAS_HISTOGRAMS following crrev.com/c/3817602 Bug: angleproject:7299 Change-Id: I1d6f97e61dfdbea04009cc08a17344a59e438e51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3823618 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 493b5aff 2022-08-09T14:57:24 Vulkan: Workaround ARM bug with stencil write mask Bug: angleproject:7556 Change-Id: I0aa17c178071cc15d8ee15f700b0c4932819c72a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3821367 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov dc82ff15 2022-08-08T16:06:13 Add config angle_maybe_has_histograms to angle_perftests_common. ANGLE_HAS_HISTOGRAMS wasn't consistently defined in compilation targets. I was working on a prototype and ran into crashes due to an inline function in TestSuite (where this class is used) getting invalid offsets in some cases due to this :-O Shabi: """ angle_source_set makes something the equivalent of a temporary .a, so objects are not recompiled for every target that links to it """ Also change ANGLE_HAS_HISTOGRAMS to =1 or =0 as Yuly suggested so that we can check if it's defined in the header to avoid inconsistency. Bug: angleproject:7299 Change-Id: I907184a6ca2bc673f5bffc473b584d78625a11c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3817602 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Geoff Lang 408c5a56 2022-08-09T09:07:41 Mark FormatPrintTest as potentially uninstantiated. Vulkan is not an available backend on iOS. Bug: angleproject:5417 Change-Id: I92afff13bc10a1b6a3faa51a1620fd250972cab0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3819902 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 2c351351 2022-08-07T22:31:40 Vulkan: Don't break render pass on read-only buffer updates When uploading to a buffer that is in use by the GPU, we either acquire a new buffer and copy the contents over, or stage the update and do a GPU copy. Ignoring all other conditions, this decision was made based on whether a small or large part of the buffer is being updated; small updates where staged. However, if the current render pass uses the buffer in read-only mode, the staged update would break it (to apply the update). In this change, this situation is detected and the acquire-and-update path is chosen even for small updates. Bug: angleproject:7534 Change-Id: Ie2c0989449dcc7d03695a003cf6f353920f8fb65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812566 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Greg Thompson 52719c9f 2022-08-05T14:23:24 [fuchsia] Migrate angle_end2end_tests to component framework v2. Bug: chromium:1256503 Change-Id: I28d76dfa721fd6a65e029833050140c487e8006d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812043 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Juan Muraira <jpmuraira@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Greg Thompson <grt@chromium.org>
Shahbaz Youssefi 6f80f0f0 2022-08-06T02:29:19 Translator: Clean up the compile flag passing interface Historically, compile flags were sent to the translator as a bitmask. Recently, we were getting close to running out of bits. Additionally, direct-to-metal work had started to introduce constants to be passed to the translator, which were misplaced in ShBuiltInResources and Caps. Recent work on Pixel Local Storage adds even more constants, aggravating the situation. In this change, the interface to passing compile flags is reworked. A struct is passed (instead of a bitmask) that has one bit for each flag. This can be indefinitely extended. Additionally, the constants needed by metal and PLS are also placed in this struct. In turn, the backends can set these options directly, and don't have to hack them into Caps to further get hacked into ShBuiltInResources. Bug: angleproject:7559 Change-Id: If93f1e1b8818ad3a0ac708ab04ab93b4b397d114 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812562 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8474a95e 2022-08-05T22:15:04 Translator: Don't validate structs on non-root nodes Struct validation needs to know about structs that may have been defined outside the scope of the node, so this validation (similar to variable and function call validation) is disabled when validation a subtree of the AST. Bug: angleproject:7531 Bug: b/239207278 Change-Id: Id6dcee041a40f09f0c36a9ef3bfc238433b69c58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812047 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 2de8bb42 2022-08-03T18:15:52 Converge run wrappers into angle_test_util.RunTestSuite Bug: angleproject:7299 Change-Id: Ifa882028a6f49579b4a9c6893053cb3bee8d83fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808302 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 928c5016 2022-08-04T12:28:12 Vulkan: Fix garbage collection vs outside-RP-only flush In https://chromium-review.googlesource.com/c/angle/angle/+/3379231, an optimization was implemented such that the excessive recorded texture uploads would get flushed early and submitted. This caused a use-after-free bug in the following situation: * Draw with pipeline A * Delete A <--- this puts A in the Context garbage list * Upload a lot of data At this point, the flush threshold could pass and the commands recorded outside of the render pass up to this point would be submitted. Associated with this submission was the current garbage, including pipeline A. However, the render pass that uses pipeline A is still not submitted. Now if after some time the render pass is still open, but the "completed commands" are checked (another set of uploads causing another submission, a query status check, etc), the garbage can be cleaned up. When the render pass closes next and is submitted, the implementation attempts to use the pipeline, which is already deleted. In this change, outside-render-pass-only submissions no longer reference the current garbage. This has the side effect that the temporary buffers used for uploading texture data won't be released early. A future optimization may want to separate the garbage list in ContextVk to render pass and outside render pass garbage. Bug: chromium:1337538 Change-Id: I4d31edc53916785d44420f4d6b4b2578ca3996e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812555 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi d5308602 2022-08-05T15:46:29 Test for ARM bug with dynamic stencil write mask Bug: b/240755039 Change-Id: If7025f3b2450735a099da3cc11524f778f2ac654 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812559 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 146329b8 2022-08-05T15:51:18 run_perf_tests: Allow passing flags to the test. Bug: None Change-Id: I0260bafd91d371d653248ea278b80bd579a12a5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812560 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Faye Zhang 123bd542 2022-08-04T12:56:28 Add Variable Initialization in Base Instance Tests Bug: angleproject:7547 Change-Id: Ic01b933fb1e0291b42c48a6b5bf2ed3bd9267c0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3811873 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Faye Zhang <ffz@google.com>
Chris Dalton 861149c7 2022-08-03T15:43:29 Make PLS coherent on desktop OpenGL Implements ANGLE_shader_pixel_local_storage_coherent using fragment shader synchronization extensions: NV_fragment_shader_interlock INTEL_fragment_shader_ordering ARB_fragment_shader_interlock With these extensions combined, we get coherency all 3 big desktop vendors: NVIDIA, Intel, and AMD. Bug: angleproject:7279 Change-Id: Ie20b251fb772898e89994b799640f1f2806581eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3773990 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9f0cec14 2022-08-03T15:59:45 dEQP: Fix X11 display config name. The name is "x11", not "window", which is a surface type. Bug: angleproject:7396 Change-Id: Ic2ad1f215729bd28d29e921c1712121b9b86e4af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808294 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org>
Eddie Hatfield c54ed790 2022-07-21T10:38:47 Get desktop GL conformance tests to build The target for these tests is angle_deqp_gl_tests. Bug: angleproject:7533 Change-Id: I290822671d99da020f9a6a1f02bee43987644bf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3766435 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Eddie Hatfield <eddiehatfield@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kenneth Russell 448e2275 2022-07-21T16:40:59 (Reland) [Metal] Disable ANGLE's Metal backend on older GPUs. Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on: iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs) macOS and Mac Catalyst: MTLGPUFamilyMac1 and older This is a partial integration of this recent WebKit fix: https://bugs.webkit.org/show_bug.cgi?id=242764 Refactored to eliminate duplicate copies of this code between libANGLE and the test suites. Changes since initial landing: - Explicitly link the angle_common static library against Metal.framework for the definition of MTLCreateSystemDefaultDevice, which was missing on the iOS Simulator. Fixed: angleproject:7514 Change-Id: I25028a298f1235db5b717ac6a1999552121d60c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806252 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 88b05d3c 2022-08-03T15:21:00 Use globals in android_helper to simplify flow. Explicit .Initialize(suite_name) call to detect Android Track suite (apk) that was installed. We use the same package com.android.angle.test in multiple apks (eg system info and perftests) so keeping track of which one is currently installed avoids the need to take care of it manually (with PrepareTestSuite). Bug: angleproject:7299 Change-Id: I4b96f0fb24e38fc42d3814fb0eeda5aae527de5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808292 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Hailin Zhang 553b1334 2022-07-28T23:33:28 Vulkan: fix default msaa framebuffer resolve issue. Bug: b/239217726 Change-Id: I826aad7495814e0a178a586c4cfd5943278cddac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3793304 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e88cab29 2022-08-03T14:28:08 Revert "Skip multi draw indirect tests on Linux/Intel/Vulkan." This reverts commit 351a2a6b658860abfc9402509b132abc6917a58f. Reason for revert: Not needed. Original change's description: > Skip multi draw indirect tests on Linux/Intel/Vulkan. > > This test suite seems to have become flaky. > > Bug: angleproject:7549 > Change-Id: Ib8b8c22fb6b228137fe2e5ca19b00d70ce1fee25 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804749 > Auto-Submit: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: angleproject:7549 Change-Id: I2a4bf67b0f693d2c7d3492e08bd3f904f153b83a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3807755 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov 33c09ba9 2022-08-02T19:01:59 Fix local gold runs broken by previous refactoring. This path isn't triggered on bots. Bug: angleproject:7550 Change-Id: Ie63f8d28a6c830d1b518f916b1398e991f58884f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804753 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Roman Lavrov 05d86e06 2022-08-02T18:30:52 Add temporary logging of gold_session.Initialize stdout. Normally looks like: Loaded 1549 known hashes ... Suspecting that in failure cases it's going to result in something different. Bug: angleproject:7550 Change-Id: I0190d4f679fc4161fc36a3008ba2e7d6d4764277 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804752 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Jamie Madill 351a2a6b 2022-08-02T16:14:08 Skip multi draw indirect tests on Linux/Intel/Vulkan. This test suite seems to have become flaky. Bug: angleproject:7549 Change-Id: Ib8b8c22fb6b228137fe2e5ca19b00d70ce1fee25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804749 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov 19c6600c 2022-08-02T12:45:57 Refactoring: move a few common functions to angle_test_util. Drop ScriptTest, Jamie says no longer needed. Bug: angleproject:7299 Change-Id: I32bdd1d70701f63b578b4f79512868daac3ad520 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3805381 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 13da8b97 2022-08-02T08:52:06 Tests: Add Octopath Traveler trace Test: angle_perftests --gtest_filter="*octopath_traveler*" Bug: angleproject:7543 Change-Id: I6187058f99c1598051a118ac65e0121e9c35ac9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3805739 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill c0f2a5ac 2022-08-02T15:54:40 Skip TimerQueriesTest flakes on NV/Linux. TimerQueriesTest.Timestamp/ES2_Vulkan_AsyncCommandQueue TimerQueriesTest.TimeElapsed/ES2_Vulkan_AsyncCommandQueue Bug: angleproject:7548 Change-Id: I3bd4ccd8241ae230ef074e1c453d4f4d880daf47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804748 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 245198f1 2022-08-02T15:37:34 Skip flaky tests on Linux/Vulkan. FramebufferTest_ES3.SurfaceDimensionsChangeAndFragCoord/* Bug: angleproject:7546 Change-Id: I911ce59305f1ec6bdc2a8ec2b6d9247c60526b4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804747 Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jamie Madill f62b4b94 2022-08-02T15:19:59 Skip flaky image load/store tests on Win/D3D11. Bug: angleproject:7345 Change-Id: I64e752b8959c0fb726ee8fd8ed733bdb469ca511 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804746 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jamie Madill c29100a8 2022-08-02T14:07:40 Skip flaky test on SwiftShader. MultithreadingTestES3.ThreadCWaitBeforeThreadBSyncFinish Flakes on both Win and Linux SwiftShader. Bug: angleproject:7419 Change-Id: Ia5f4ca3ee1bb6aedbcd41fa6d4cefe4b872cae6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804744 Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Jamie Madill <jmadill@chromium.org>
Eddie Hatfield 6e6f3e6d 2022-07-29T11:13:24 Convert GLenum to string for failed trace prereq message Bug: angleproject:5784 Change-Id: I14bc01afe97a2475d8b0f278840a279b663da7db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3794304 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Yuly Novikov 8eaa0ccf 2022-08-02T12:03:21 Revert "[Metal] Disable ANGLE's Metal backend on older GPUs." This reverts commit cc2095d259222de434af06ce8515f17449a8f66d. Reason for revert: breaks rolling into Chromium https://ci.chromium.org/ui/p/chromium/builders/try/ios-simulator/1234241/overview Original change's description: > [Metal] Disable ANGLE's Metal backend on older GPUs. > > Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on: > iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs) > macOS and Mac Catalyst: MTLGPUFamilyMac1 and older > > This is a partial integration of this recent WebKit fix: > https://bugs.webkit.org/show_bug.cgi?id=242764 > > Refactored to eliminate duplicate copies of this code between libANGLE > and the test suites. > > Fixed: angleproject:7514 > Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Kenneth Russell <kbr@chromium.org> Change-Id: If1e78ebc0c8e12a1fa0954d91bdd59fbd734251f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804879 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Kenneth Russell cc2095d2 2022-07-21T16:40:59 [Metal] Disable ANGLE's Metal backend on older GPUs. Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on: iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs) macOS and Mac Catalyst: MTLGPUFamilyMac1 and older This is a partial integration of this recent WebKit fix: https://bugs.webkit.org/show_bug.cgi?id=242764 Refactored to eliminate duplicate copies of this code between libANGLE and the test suites. Fixed: angleproject:7514 Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev c517463a 2022-07-28T00:00:00 Add NoUnclampedBlendColor limitation Although ES 3.0 and ES 2.0 with floating-point color buffer extensions must support unclamped constant blend color, some drivers clamp it anyway. To let applications know the effective behavior, ANGLE state management has been expanded to simulate what the OpenGL ES driver is doing. So far, this bug has been confirmed only on Adreno GPUs. Unconditionally enabled this limitation on D3D9 as it cannot support unclamped blend color by design. Bug: angleproject:7536 Change-Id: I7e28a5553e79669d8482d48c6e79bdd811971ade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3791350 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Cody Northrop 606a9239 2022-07-31T21:01:31 Tests: Add Ni no Kuni trace Test: angle_perftests --gtest_filter="*ni_no_kuni*" Bug: angleproject:7507 Change-Id: I129a9f053dab24f277c42d22876732b83e4de933 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3802565 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Roman Lavrov d6acced1 2022-07-25T18:11:20 Add flag --save-screenshots (implied by --screenshot-dir). --screenshot-dir and --render-test-output-dir behave differently on Android. --screenshot-dir is passed as is and therefore means a device directory, and --render-test-output-dir has special handling in Android wrappers that substitutes this flag with a temporary location on the device then copying files to the local directory set by this flag. Cody pointed out that there are many docs referring to --screenshot-dir so behavior should be preserved. So --save-screenshots is implied when this flag is set. Otherwise, it defaults to false, so --render-test-output-dir just on its own won't save screenshots, only when --save-screenshots is added as well. This also allows to produce other artifacts without necessarily producing screenshots by using --render-test-output-dir without --save-screenshots. Bug: angleproject:7299 Change-Id: Ib1a268ddeb7eba9f120e3f37a429ea0e4bbe2411 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785296 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi f000215d 2022-07-26T21:16:14 Vulkan: Optimize transform feedback buffer tracking Prior to this CL, if transform feedback was active at the time of render pass closure, its buffers were cached in ContextVk. Later, these buffers were used to close the render pass if they were used for any other reason (such as vertex attribute). However, this meant that the render pass could close unnecessarily if transform feedback was ended right after the render pass is closed. The closure of the render pass was an awkward place to cache the used transform feedback buffers (because at that point, the buffers are actually no longer used). Instead, this change makes sure that the buffers are cached when transform feedback buffers are first used by the render pass, and the cache is cleared at the end of the render pass. Bug: angleproject:4622 Change-Id: I31c0a1e20d48f2e261e2cf37adb0a46db683e6fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788309 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Peng Huang 3dd6f5f7 2022-07-24T18:49:44 Reland "Disable share context lock for Chromium" This is a reland of commit e1741f4ba7dae4f6f09829b9152360544c912d1f Original change's description: > Disable share context lock for Chromium > > Bug: chromium:1336126 > Change-Id: I93b4e738a8816e6b318e5d5823bc9130f17deb37 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781368 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Peng Huang <penghuang@chromium.org> Bug: chromium:1336126,angleproject:7537 Change-Id: I15811bc2fef0ba22f6ac13d51c72ed96b2a12507 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792046 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 08df7ce4 2022-07-28T10:59:30 Test Runner: Disable --bot-mode on Fuchsia. This flag is a bit hard to get going because of the differences in the Fuchsia system APIs. Disable it explicitly for now to avoid issues when we switch bot configs. Bug: angleproject:7312 Change-Id: I47cd038b198f265a6b60893faf6f50f02be49fda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792163 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 80022b96 2022-07-26T21:07:04 Vulkan: Fix xfb buffer redefine to smaller size In 89e11878b275b15735eaf273ababfa6fd43a2e3d, a use-after-free bug was fixed where glBufferData redefined a buffer, leading to a change in storage. This was only tested for the case where the new buffer was larger than the old buffer. When the new buffer is smaller however, another issue remains where the buffer size as cached by the transform feedback object used the old object's size. This is worked around in this change, with a fix for the real issue (that the buffer state is updated after calling into the backend instead of before) coming up. Bug: chromium:1345042 Change-Id: I6c9e9344705fefe49926a14cf6ce73ce84305872 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788308 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov fb97cfcd 2022-07-27T11:49:41 Roll chromium_revision 1201dfbc62..85c57e6023 (1027387:1028671) Skip failing dEQP-EGL.functional.image.api.create_image_gles2_android_native_* tests Change log: https://chromium.googlesource.com/chromium/src/+log/1201dfbc62..85c57e6023 Full diff: https://chromium.googlesource.com/chromium/src/+/1201dfbc62..85c57e6023 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/f14f6d206b..faf85adb8b5817fd75744e98c450f2b9e46ed7a2 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/fe57e98eeb..af18ab7c6f * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/eb79671bfb..6c8f712bc4 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/b954e3e656..039323b945 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/955e2ff5fb..2a908eebb7 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/1f497ac0b0..844e20e207 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/13bb7f697c..fabdc7fefb * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/8f37aa7698..d76d39e8c8 * third_party/android_sdk/public: tRoD45SCi7UleQqSV7MrMQO1_e5P8ysphkCcj6z_cCQC..-VRKr36Uw8L_iFqqo9nevIBgNMggND5iWxjidyjnCgsC * third_party/android_sdk/public: gMHhUuoQRKfxr-MBn3fNNXZtkAVXtOwMwT7kfx8jkIgC..9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC * third_party/android_sdk/public: g7n_-r6yJd_SGRklujGB1wEt8iyr77FZTUJVS9w6O34C..RSI3iwryh7URLGRgJHsCvUxj092woTPnKt4pwFcJ6L8C * third_party/android_sdk/public: lL3IGexKjYlwjO_1Ga-xwxgwbE_w-lmi2Zi1uOlWUIAC..eo5KvW6UVor92LwZai8Zulc624BQZoCu-yn7wa1z_YcC * third_party/android_system_sdk: oSfDIvHlCa6W0gS79Q5OOfB9E4eBg3uAvi3BEDN21U0C..RGY8Vyf8jjszRIJRFxZj7beXSUEHTQM90MtYejUvdMgC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..84a7988038 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/debf6402b3..2cd48234f1 * third_party/fuchsia-sdk/sdk: version:9.20220720.2.1..version:9.20220726.2.1 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3d8d88e8bb..184bc29dd8 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/15fc47eb8b..8c41d19417 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8e7aadf254..8f4235f7ff DEPS diff: https://chromium.googlesource.com/chromium/src/+/1201dfbc62..85c57e6023/DEPS Clang version changed llvmorg-15-init-15652-g89a99ec9:llvmorg-15-init-17529-ga210f404 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/3d8d88e8bb600789ba3e798f38ff314521aac524..184bc29dd86c3994a02b4f3feca125ffe785319c/scripts/update.py Bug: chromium:1347817 Change-Id: I6b80fc411a6986d116e121921fcb5223c1964184 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3789322 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Steven Noonan b8e741d2 2022-06-23T13:36:17 Vulkan: allow selecting render device by PCI device/vendor IDs The EGL_ANGLE_platform_angle_device_id extension is deliberately vague about the meaning of "device ID high" and "device ID low", stating it's platform-specific. We can use these for representing the PCI device/vendor IDs that can be discovered via various (OS-specific) external means. Bug: angleproject:7460 Change-Id: Iff462687749e815fa074ef8ff392b6730ef46fa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3720733 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b968b6c9 2022-07-26T14:34:41 Test Utils: Get executable path from command line. This simplifies the process fork test and will allow the test to work on Fuchsia. Bug: angleproject:3161 Change-Id: I5bb5424c44957f2faef1970b3cbc5e52b8aff630 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788297 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Stephen White 3f59c285 2022-07-12T17:29:36 D3D11: implement image load/store format reinterpretation. Reinterpretation requires all UAV textures to be in a TYPELESS format. Implement an ensureUnorderedAccess() that converts the texture's storage to one with the D3D11_BIND_UNORDERED_ACCESS flag, which, prior to this change, was set unconditionally for all textures in an >= ES 3.1 context. If this flag is set at D3D texture creation time, use the appropriate TYPELESS format. Implementation uses a BindFlags struct, which subsumes the existing renderTarget for clarity. Factor out the relevant bits of ensureRenderTarget() into an ensureBindFlags() helper function, and make ensureRenderTarget() and ensureUnorderedAccess() wrappers around it. Add the corresponding typeless formats to the texture format table. Bug: angleproject:7501, angleproject:7520 Change-Id: Id21b9db3229aceca121da6ba6507704417034ec4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780588 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Jamie Madill 83dfd839 2022-06-07T11:57:07 dEQP: Allow running against system GL. Bug: angleproject:7396 Change-Id: I6d6231ebfdea0f1df483c5764b086b14f8384d3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3692266 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 5c5a14c3 2022-07-19T16:03:08 Tests: Add Battle Of Polytopia trace. Test: angle_perftests --gtest_filter="*battle_of_polytopia*" Bug: angleproject:7529 Change-Id: Ib9ad862fa5d2a3cd761bdbf42b2b91c2fe63f99b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780915 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 4e046256 2022-07-25T17:17:28 Translator: Fix deep copy of loops and branches Fixed nullptr dereference when the loop or branch doesn't have an expression. Bug: angleproject:7518 Change-Id: Ib888634e409dcbc27ef060bb46017e8911097eef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785294 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 54da2952 2022-07-25T16:00:47 Remove suppressions added due to VK_ATTACHMENT_UNUSED bug This was affecting old Qualcomm-based phones only. Bug: angleproject:3423 Change-Id: Id18c95f8df562d572177035a8cb88327d9f2d200 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785292 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 673a41ae 2022-07-25T12:41:40 dEQP: Isolate headers in tcuANGLEPlatform.h. Refactoring change only. Will simplify future dEQP changes. Bug: angleproject:7396 Change-Id: I034bf5c421902c53f279e01b0727490909da3990 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785286 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 8e63c6e8 2022-07-25T15:10:11 Remove suppressions for tests which pass with Intel Mesa 20.0.8 Bug: angleproject:3616, angleproject:3614, angleproject:2782 Change-Id: I220d71593270164f77bda92f533608e431c6c9b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780159 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev df879d49 2022-07-22T00:00:00 Return INVALID_VALUE for online BC compression As per discussion with OpenGL ES WG, implementations are allowed to generate INVALID_VALUE when online BC compression is not supported. Bug: angleproject:6441 Change-Id: I0e282c970f1e03afbc590dc9a46b8ce38d869691 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780923 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Yuxin Hu b23ea680 2022-07-22T12:06:42 Vulkan: Re-enable multisample framebuffer fetch Bug: angleproject:7351 Bug: angleproject:3586 Bug: angleproject:6195 Bug: angleproject:7512 Bug: b/234173199 Change-Id: Ib70732f8c075de777e534f950a7e421e75969f59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781613 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 2b43d630 2022-07-22T14:19:05 Remove unused (and incorrect on Android) mTestSuiteName. On Android it ends up being just: _ Bug: angleproject:7299 Change-Id: I3dabcfcbacc3f43338b6fa91ebd9917e43f783ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780587 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Chris Dalton 90fa855b 2022-07-22T10:11:01 Suppress the early_fragment_tests PLS test on Pixel 6 Bug: angleproject:7279 Change-Id: Id56d43f9061e9f6d08388ff49b2f65a88408c145 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3782862 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov adeb750d 2022-07-21T18:49:00 Validate that skipped tests are skipped by suite. Before this change, any test failing to produce trace files would be marked as "Skipped" regardless of whether it was skipped by suite or just failed to produce trace files for some other reason. This change adds FailedToTrace status to differentiate between the two cases. If a test is FailedToTrace it will need to be explicitly added to the capture_replay expectation file (probably SKIP_FOR_CAPTURE). This change caught that OcclusionQueriesNoSurfaceTestES3.SwitchingContextsWithQuery/* was incorrectly specified as NOT_RUN when the intent was to SKIP. Bug: angleproject:5133 Bug: angleproject:7516 Change-Id: I451b4d5fd799d15ef92fab678aa20d2b6cc42c9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781902 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov c95e2b7d 2022-07-21T17:03:19 Remove a few cases that are skipped by end2end. Following https://crrev.com/c/3780583. A few obvious NOT_RUN cases where bugs and skipped tests match those in angle_end2end_tests_expectations.txt Bug: angleproject:7516 Change-Id: I63a78b0800d2e4fedfe7d4730df6b55b22508dc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3779645 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Chris Dalton d57ce815 2022-07-16T16:33:08 Use "readwrite" PLS images when possible We actually only need readonly/writeonly aliases on ESSL, non r32f/r32ui. For all other cases, this change updates the compiler to emit a single readwrite image. We also optimize this image with the "restrict" qualifier since PLS specifically disallows aliasing. Removing the aliased load and store also eliminates our issue with an Intel driver bug, and all the PLS tests now pass without any workarounds. Bug: angleproject:7279 Bug: angleproject:7398 Change-Id: I350b239793647da33add96509b8f4b1bbef02245 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3767537 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Chris Dalton aa7e6751 2022-07-15T23:33:30 Automatically enable early_fragment_tests when PLS is declared When PLS is polyfilled by shader images, we need early_fragment_tests in order to match the same depth/stencil behavior as when it is implemented as framebuffer fetch. Bug: angleproject:7279 Change-Id: I37f5a8682cc96a14ef247d53ed243e4aceb15f39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3767535 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Chris Dalton 77aa34ae 2022-07-16T13:08:00 Add support for PLS as function arguments Bug: angleproject:7279 Change-Id: I89d5c02148cbdbbd02dc4840ffada2c96c2a849b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3767534 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Roman Lavrov 3a0d7249 2022-07-21T13:38:21 Ignore tests skipped by the suite. This way we don't have to add skipped tests to capture_replay_expectations as well. Bug: angleproject:5133 Bug: angleproject:7512 Bug: angleproject:7516 Change-Id: Iabc5f4738b51ce23890c07b8a0548cbc6bec1274 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780583 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuxin Hu d0fe12db 2022-07-20T10:16:38 Vulkan: Disable Multisample Framebuffer Fetch Disable the multisample framebuffer fetch temporarily to unblock the angle to chromium roller. Will re-enable after https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/1240846/overview is resolved. Bug: angleproject:7351 Bug: angleproject:3586 Bug: angleproject:6195 Bug: angleproject:7512 Bug: b/234173199 Change-Id: I435b257dd07d973d06d5cacd779e943eed32097b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3777059 Reviewed-by: Roman Lavrov <romanl@google.com>
Yuly Novikov 115d8361 2022-07-21T13:59:48 Switch Linux Intel testing to UHD 630 GPU Replacing 0x5912 HD 630 with 0x9bc5 UHD 630. Also updating Mesa from 19.0.2 to 20.0.8. Since no problems were observed on the new configuration during the experiment, removing max-processes and flaky-retries workarounds. Bug: chromium:1342945 Change-Id: I51150092c67802ffd54796dd3b067cd6473dfb86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780922 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Chris Dalton c460c299 2022-06-21T11:20:45 Implement GLSL additions for ANGLE_shader_pixel_local_storage Specs out, implements, and thoroughly tests the GLSL additions for ANGLE_shader_pixel_local_storage. Adds a simple transformation that rewrites PLS directly into shader images. Updates the existing PLS tests to use the newly built-in PLS features and ensures they continue passing. For now, applications call glBindImageTexture to configure their pixel local storage. The OpenGL ES API side of this extension will follow shortly. Bug: angleproject:7279 Change-Id: I141183069b5cbfcca01cbb77b5b36d3e5f834bf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3761876 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Yuly Novikov 1e619503 2022-07-20T11:55:49 Skip TracePerfTest vulkan_car_chase on Linux Intel Flaky VK_ERROR_DEVICE_LOST on Intel UHD 630 Mesa 20.0.8 Bug: angleproject:7125 Change-Id: I7e99819a586e3f146728f49dfdeebf9e8ddcb219 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3777097 Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao 53d40aed 2022-07-15T15:03:25 Vulkan: Destroy descriptorSet cache when BufferHelper destroyed For atomic counter buffers or other cases, dynamic descriptor is not been used. Right now when such buffer is destroyed, the cache is still lingers around. With this CL, when a new cache entry has been created, we record the cache entry in the BufferHelper. When BufferHelper is destroyed, we also immediately destroy the cache entry since the cache will no longer reused. Bug: b/237686097 Change-Id: I26eee96318fbc003e65318c0b8263dc61092f350 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3764044 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao c7459a46 2022-07-15T09:55:03 Vulkan: Destroy descriptorSet cache when BufferBlock destroyed When a new cache entry has been created, we record the cache entry in the BufferBlock. When BufferBlock is destroyed, we also immediately destroy the cache entry since the cache will no longer reused. This CL also removes DescriptorCacheResult from various APIs since it is now redundant with newSharedCacheKey argument. Bug: b/237686097 Change-Id: I14fa8906fdbe7d9226c8e8ecddef2beb05fbaa5c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3756694 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Charlie Lao <cclao@google.com>
Lubosz Sarnecki 45e5cf01 2022-06-03T14:29:23 Vulkan: Implement ASTC emulation. Implement ASTC emulation using the astc-encoder library. Add copy_image tests to deqp_gles31_test_expectations for desktop cards. Add emulatedAstc limitation. Don't expose emulated ASTC from WebGL contexts. Introduce ANGLE_HAS_ASTCENC define to check for build availability. Only build on angle_standalone configurations. DEPS: Add astc-encoder. image_util: Decode ASTC to RGBA. TracePerfTest: Skip car_chase and genshin_impact on NVIDIA. Bug: angleproject:7415 Change-Id: Ib2f3fd3f710164a2ecd5d5edf780227031bbfb84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697999 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Eddie Hatfield f1dac70d 2022-07-12T15:56:10 Remove platform skips for cookie_run and real_cricket These traces now work after being updated in restricted_traces.json. Bug: angleproject:7420 Change-Id: I57be700afb0a9232ce88bf2eed5f5104256b94f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3759428 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Eddie Hatfield <eddiehatfield@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 3baa867c 2022-07-14T23:08:42 Vulkan: Fix image arguments passed to functions in GLSL It's impossible to provide the format qualifier to an image function parameter in GLSL, because `layout()` is not acceptable there. SPIR-V doesn't accept formatless image parameters without the StorageImageReadWithoutFormat and StorageImageWriteWithoutFormat capabilities, which are not universally available. Instead, this change monomorphizes functions with image parameters. Note that this was already previously done for R32F images for emulation purposes. Bug: angleproject:7484 Change-Id: Id287c4a93b32deb3fd8be982c32fa58fd2c848d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3763074 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 2c3c45ee 2022-07-18T12:37:57 Roll VK-GL-CTS from ef9a6635208b to 692df061716d (12 revisions) Includes suppression of new render_sample_texture_array dEQP tests on Android. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/ef9a6635208b..692df061716d 2022-07-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-07-15 jan-harald.fredriksen@arm.com Avoid dependency on geometry shaders for VK_ARM_rasterization_order_attachment_access 2022-07-15 michal.jakubek@mobica.com Global Priority Queue Families Tests 2022-07-15 rgarcia@igalia.com Test resetting queries after copying results 2022-07-15 piotr.byszewski@mobica.com Remove some RT SkipTriangles tests 2022-07-15 piotr.byszewski@mobica.com Enable FSR basic tests for Vulkan SC 2022-07-15 toni.merilehti@siru.fi Add tests for array comparisons 2022-07-15 yiyfan01@arm.com Add Texture2D array test in which Texture2D array is rendered and sampled. 2022-07-15 michal.jakubek@mobica.com Fix for attachment count in EXT_color_write_enable tests. 2022-07-15 piotr.byszewski@mobica.com Fix maxImageView(MipLevels/ArrayLayers) bug in SC 2022-07-15 skirank@nvidia.com Fix vkwsi Display control tests 2022-07-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/main 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 angle-bots+autoroll-info@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: angleproject:7506 Change-Id: I0b674a424cc109126b5a590430546942c6db3740 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3769550 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Eddie Hatfield 466fc0c6 2022-06-30T15:47:14 Add new prerequisite type for GL_ENUM integers This check is not applied in this commit. Bug: angleproject:7420 Change-Id: Ie84600c21aa4829c8d8c798643719c3084597af4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3759423 Commit-Queue: Eddie Hatfield <eddiehatfield@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kyle Piddington c4004751 2022-06-23T14:35:21 Metal: texture allocation failures handled incorrectly When allocating large textures, allocation may fail if textures exceed the Metal memory limit. When a nil texture is returned, we should check texture allocation before assigning it as a backing object ANGLE port of the following bug https://bugs.webkit.org/show_bug.cgi?id=240790 Bug: angleproject:7459 Change-Id: Ib94f42d25df28a31513ab78fc42c6523bfbc5f76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3722601 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org>
Amirali Abdolrashidi 496bddf3 2022-07-14T20:58:03 Skip mutable texture upload tests through feature * Added a condition in the mutable texture upload tests in VulkanPerformanceCounterTest.cpp, to skip the test if the feature `MutableMipmapTextureUpload` is disabled on that platform. Bug: angleproject:7308 Change-Id: Iff1985cabb463dc82ef15340cf3c485a0b680f0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3765180 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Chris Dalton 15cc0013 2022-07-14T23:32:05 Add a GL_ANGLE_shader_pixel_local_storage extension Plumbs through "GL_ANGLE_shader_pixel_local_storage" and "GL_ANGLE_shader_pixel_local_storage_coherent" extension strings advertised by ANGLE and stubs out an initial spec document. This change doesn't add any new procedures or shader constructs, but it does allow the PLS tests to start checking for the real extension strings and requiring the GL_ANGLE_shader_pixel_local_storage extension. Bug: angleproject:7279 Change-Id: I36877fe4117185a2121f803288123cd69a447cf3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739590 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Shahbaz Youssefi 1ae7a56c 2022-07-14T13:11:16 Vulkan: Fix double clear of AHBs Originally when deferred clears were implemented, it was assumed that it's impossible at glClear time to have a render pass open without any commends. This assumption was broken under two circumstances: - Clear of 3D attachments that don't include all layers - Clear of AHBs In these cases, the clear immediately opened a render pass with nothing but loadOp=CLEAR. If another clear followed, an assertion would fire. In this change, open render passes without commands are handled such that clears are accumulated in the loadOps. Bug: b/223456677 Change-Id: If99bcf9e24454b0c9e140cb93df7e7f76f175363 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3763169 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Lingfeng Yang <lfy@google.com>
Yuly Novikov ebf14fe3 2022-07-14T17:19:15 Return EXIT_FAILURE from run_perf_tests.py if any test failed Previosly EXIT_FAILURE was returned only for exceeding max_errors, which made Swarming erroneously believe that the task succeeded, even though some tests in it could have failed. Bug: angleproject:7498 Change-Id: I896fe97e7d24549202663351d5b61b206afbe6b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3762456 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi ea138236 2022-07-12T15:51:05 Remove suppression for passing dEQP tests Numerous GLES3.2 tests are now passing. Bug: angleproject:5557 Bug: angleproject:5579 Bug: angleproject:5978 Bug: angleproject:6441 Change-Id: I6e42a3590390ff984432586c1cd642b20fcd758f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3758704 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi d9763c60 2022-07-14T14:42:27 Disable mutable texture upload on Win/Intel devs After adding the mutable texture upload CL, we are experiencing some instances of flakiness in the form of lost context/device errors in the perf tests in Win/Intel cases. * Added mutableMipmapTextureUpload as an ANGLE feature, which is used to determine if onMutableTextureUpload() should be called. * It is disabled on Windows when using an Intel GPU. * Disabled the related unit tests on Win/Intel cases. Bug: angleproject:7308 Bug: b/202744914 Change-Id: Ib8c1bddc39cc4354468831a4a599a7c343d05f0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3764460 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Brandon Schade 5911243c 2022-07-06T15:55:28 Fix linkValidateTransformFeedback for glLinkProgram From OpneGLES 3.2 spec. 11.1.2.1: A program will fail to link if the count specified by TransformFeedbackVaryings is non-zero, but the program object has no vertex, tessellation evaluation, or geometry shader. Add check in validation to account for this. Bug: angleproject:5557 Tests: ProgramPipelineTest32.CreateProgramWithTransformFeedbackVarying Change-Id: Ia86cbe8e85cb6a69fd35ddc4bc6ee37b9500c78f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3723861 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 01092c48 2022-07-12T10:11:22 Vulkan: Destroy descriptorSet cache when shader image is destroyed Similar to texture descriptor set, this applies to images used as shader resource. When a texture is used in a shader resource descriptorSet, we record it. When texture is destroyed, we also destroy that shader resource descriptorSet cache. Bug: b/237686097 Change-Id: I475982fcec45535cc285a4aebca922d01efc7ed2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3758884 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Kyle Piddington eaf77ef3 2022-07-07T10:25:16 Metal fails to compile uniform blocks in ternary statements When creating an intermediate type for type expansion, Metal was copying over information about which uniform block a type appeared in. This led to a later pass, RewriteNamelessUniformBlocks, failing. This patch helps address a compile failure in the Godot engine. Bug: angleproject:7487 Change-Id: If0724f93017e41260ff11e59a5c28e8578563891 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3751106 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Gregg Tavares <gman@chromium.org>
Yuly Novikov 5d59c0eb 2022-07-14T15:04:41 Skip EGLBufferAgeTest.QueryBufferAge on Linux Intel Vulkan Fails on Optiplex 7080 Mesa 20.0.8 Bug: angleproject:7497 Change-Id: I413c9dd7a1d97b4120f4d65de3b2b0107cde15ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3762469 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 16e7226d 2022-07-13T17:56:36 Propagate device type in ReuseUnterminatedDisplay. Fixes the issue with SwiftShader from https://crrev.com/c/3717277 Bug: angleproject:7494 Change-Id: Icb83087caf789518b0c3f30b10b543b299a500bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3759712 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov b038605c 2022-07-13T17:45:49 Fix test dependency on EGL initialization elsewhere. The current implementation only works because RegisterContextCompatibilityTests in EGLContextCompatibilityTest.cpp initializes EGL beforehand. Bug: angleproject:7494 Change-Id: I739ea8cdcddb1d8ea37204f5a1fa6c3844620d1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3761276 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
Amirali Abdolrashidi 32c5fd8a 2022-05-13T14:31:03 Reland "Vulkan: Flush texture updates more often" This is a reland of 8bb7c35c2159de2fa9e9a008679c692edd4402a6 * Added a condition to make sure the previous texture is not immutable when performing the optimization. * Fixed the issue where mipmap textures with unequal dimensions were not flushed. * Added related tests. * Added kEnableMutableMipmapTextureUpload, a flag to enable/disable the feature (enabled by default). Original change's description: > Vulkan: Flush texture updates more often > > * Added a pointer to the previous texture in ShareGroupVk so we can > flush the texture updates once we switch to a new texture. > > * We check if mip levels 0 and 1 are conformant in terms of > size, format and number of samples. > > * As a part of size check, we also check depths if the texture > target is either 3D, 2D array, or cube map array. For the former > two, they have to conform to mip scaling similar to width and > height. For the latter, the depth represents layer-faces and does > not change for mipmaps. > > * Added a test to ensure the pointer to the previous texture is > deleted when the corresponding texture is deleted, so the old value > is not accessed by a future mutable texture. > > * Added tests to make sure the mutable texture is uploaded with > the appropriate mip level attributes, and not uploaded in cases of > size/format inconsistencies, incompleteness, and no base level. > > Bug: b/202744914 > Change-Id: I9c2c1af87a8a49e75d3ad25523436b0cd51a7e81 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3606329 > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bug: b/202744914 Change-Id: I2bdbcd0182a57c18c1a18968396251a2e366731b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3646959 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuxin Hu 0d3ecf46 2022-06-24T16:37:17 Vulkan: Multisample Framebuffer Fetch Implement Multisample Framebuffer Fetch. This should fix the deqp failure dEQP.GLES31/functional_blend_equation_advanced_msaa_colorburn Bug: angleproject:7351 Bug: angleproject:3586 Bug: angleproject:6195 Bug: b/234173199 Change-Id: Idd7559dcba3d91e36d8f253f1554fb931a7a6775 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3724165 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Mohan Maiya 12efe5b2 2022-06-21T15:43:42 Cleanup invalid EGL handles only if app called eglTermiate Maintain set of active threads instead of a global refCount and free display's invalid EGL resources iff - 1. app previously called eglTerminate on that display 2. there are no more active threads associated with that display Bug: angleproject:6723 Test: EGLMultiContextTest.RepeatedEglInitAndTerminate* Test: EGLMultiContextTest.ReuseUnterminatedDisplay* Change-Id: I868491bbbf0664e9129dcb0d1fa9e2243ef36d82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3717277 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Alexey Knyazev 5897d6f5 2022-07-07T00:00:00 GL: Add emulateCopyTexImage2D workaround Using texImage2D + copyTexSubImage2D seems to be more stable than using copyTexImage2D directly. Added missing HALF_FLOAT fix to the code path that requires target texture initialization. Fixed target texture dimensions when initialization is not required. Fixes Apple GPU crashes in: * CopyTexImageTest.DeleteAfterCopyingToTextures * conformance/textures/misc/texture-copying-and-deletion.html * conformance/textures/misc/texture-copying-feedback-loops.html Bug: angleproject:5038 Bug: angleproject:5360 Bug: chromium:1130703 Change-Id: I5cce087983601e768902f01b3462ec2106e2500a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3749921 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Constantine Shablya b47603e0 2022-06-14T05:47:54 Implement GL_NV_read_depth_stencil The implementation will perform two readPixels calls, once for each aspect, and then interleave and pack the result. Bug: angleproject:4688 Change-Id: I46390df893de50b93e855e9333ffab567215a2bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3702686 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com>
Gregg Tavares 82ff27bf 2022-07-08T12:38:41 Add Metal to the perf tests Bug: angleproject:7296 Change-Id: I69cd17c464d48b933c51466bf9d21c278438c4e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753277 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>