src/tests


Log

Author Commit Date CI Message
Mark Lobodzinski 0d886b62 2023-07-14T11:24:53 Check that MRTSS bit is supported by format Bit was added without checking ImageFormatProperties causing failures in some end2end tests. Bug: angleproject:8262 Test: Texture2DTestES3.TexStorage2D*/ES3_Vulkan* Change-Id: I7f9a4ee7c14610ee239ab1f86e4ba2c649ce76b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4684549 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 7f6e5354 2023-07-31T13:02:35 Vulkan: Skip vertex conversion if the draw has 0 vertices. If the draw call start vertex is beyond the end of the buffer, vertex conversion will no-op and no conversion buffer is created. Just skip the entire conversion process in this case and bind the empty buffer. Fix GetVertexCount not taking 0 stride into account. Bug: chromium:1464690 Change-Id: Iaffcd329595c3319fe9cd5317aef2402f9db6b1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4734811 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 143fa68f 2023-07-27T00:00:00 Disallow read type conversions for signed 16-bit color buffers Signed 16-bit color buffers should not be converted to unsigned or 8-bit pixel types during readPixels operations. Bug: angleproject:8048 Change-Id: I27eaeb3d543732b5079bd53ef4fad1711ce3c3ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4727392 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alan Zhao 391bfa35 2023-07-27T16:43:09 Fix a missing symbol issue with CaptureReplayTests The constructor for PlatformMethods is declared with __declspec(dllimport) when included in CaptureReplayTests.cpp, Ordinarily, this would fail to link on Windows because this test doesn't link against a library that has an exported definition. This test currently builds on Windows because Clang generates an available_externally definition in the object file for CaptureReplayTests.cpp for inlining. However, this doesn't build if inlining is disabled, and will no longer build once an upcoming Clang change is rolled in. To fix this, we add the config libANGLE_config to the test to change the symbol declaration to __declspec(dllexport), which appears to be what other ANGLE tests do. Bug: chromium:1468150 Change-Id: Ia92dde31ab624bbfe64d2e81fad18956abebc41b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4728461 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Steven Noonan 613eefa3 2023-06-23T03:28:14 D3D11: fix invalidation of depth/stencil attachments This caused a crash when invalidating the depth/stencil attachments of the default framebuffer. But for non-default framebuffers, discarding depth/stencil just did nothing because "rtv.valid()" would be false. Bug: angleproject:8228 Change-Id: Ic22a29f521256af0ed4fc9c203cd6d750fcc00e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4639494 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Charlie Lao 5446e87e 2023-07-24T16:46:56 Improve ProgramExecutable::load performance We are calling push_back for each vector inside ProgramExecutable. This causes c++ run time to constantly re-allocate storage and copy the vector over to new storage, and impacts performance negatively. Since the vector size is know when we load program from cache, this CL calls resize to the correct size first and then update each element as we walk over, thus reduces the vector storage reallocation. This CL reduces blade_and_soul_revolution frame time from 4.48 ms to 4.35 ms on pixel 7 pro. This CL also changes ProgramBinaryTest tests to use slightly more complicated program instead of the simplest program. Bug: b/275102061 Change-Id: I8d92117b07a9ad2d0851850e473ea1b86f9868f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4713685 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov d5ddb710 2023-07-27T15:27:52 Suppress 2 end2end tests on iOS Metal GLSLTest_ES3.LiteralInfinityOutput/ES3_Metal GLSLTest_ES3.LiteralNegativeInfinityOutput/ES3_Metal Started failing when testing was switched to iPhone 14 iOS 17.0 Bug: angleproject:8278 Change-Id: Ieca08edd02ea4350fc8362cf98d43d8ab4f0adb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4725466 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 2d999f74 2023-07-24T11:53:02 Android: Add a way to prepare traces without running tests Example: % out/Android/angle_trace_tests --gtest_filter='*gacha_life' --prepare-only ... Prepared traces: {'gacha_life'} Can be used as a setup for running restricted_trace_perf.py Bug: b/292249127 Change-Id: I901c086a19e1d182c64ec4150ced98c198e21c4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4711826 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mohan Maiya 4515b270 2023-07-18T14:39:42 Account for implementations that support large gl_PointSize values The PointSizeAboveMaxIsClamped end2end test intends to render a point with gl_PointSize that is 2x the implementation's max value to test if this value is clamped correctly. However, when the max gl_PointSize is large enough, like with AMD drivers, it results in the center of the point being outside of the viewport which according to the spec can be discarded. Update the test to render to a framebuffer, instead of the default window surface, one large enough to contain a point of implementation defined max point size. Bug: angleproject:2113 Test: PointSpritesTest.PointSizeAboveMaxIsClamped* Change-Id: I724440495bf5a3c93c76cc28109937a56c45f274 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4697681 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Hailin Zhang 6eea5ff4 2023-07-18T12:52:37 Vulkan: fix default MSAA framebuffer clear issue. Bug: b/290813597 Change-Id: I134c5a99382ca30dbd885a17dfa3c7ac227480ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4698113 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Shahbaz Youssefi 52fe3116 2023-07-17T16:20:54 Vulkan: Deduplicate share group's context set tracking Bug: angleproject:8224 Change-Id: I7a59a37229682fb91ff777f31e02e05d7ab2b80f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690345 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 85095480 2023-07-17T12:31:48 Android: Update script with sync progress When running lots of traces, there can be a long pause when syncing traces to the device. Add a small update so it is clear that work is happening. Example output: I12:21:51.806619Z Syncing 1945_air_force trace (1/238) I12:21:52.178401Z Syncing 20_minutes_till_dawn trace (2/238) I12:21:52.463608Z Syncing 2_3_4_player_mini_games trace (3/238) ... Test: angle_trace_tests Bug: b/276742336 Change-Id: Id81d69b3fc678cb94c2e683a907c44950ead2117 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690745 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Saifuddin Hitawala a64537f9 2023-07-14T17:06:37 Angle: Copy multiplanar d3d11 texture for readPixels This change performs a copy to an intermediate texture for multiplanar d3d11 textures before reading from the source texture. This is needed as we cannot read a plane directly from a multiplanar d3d11 texture. It also passes the correct format for the plane for multiplanar formats when initializing the texture instead of getting the format using the internal format. We also add a unittest performing glReadPixels for NV12/P010/P016 formats. Bug: angleproject:7998, chromium:1463924 Change-Id: I9a1708f5a846ace28ac3b6593ea80f1863348333 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688118 Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org> Auto-Submit: Saifuddin Hitawala <hitawala@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 0518a3ff 2023-07-14T14:53:39 Android: Simplify power metrics collection Also check for missing values and dupes Bug: b/291604008 Change-Id: I909ca2bf53d3aa0bf5ba66f7168e9925cfd7da3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685323 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi bebb83d9 2023-07-14T12:30:15 Translator: Limit variable sizes vs uint overflow Bug: chromium:1464680 Change-Id: I90e204db1ce57c87ed5fe19912e4c157cee18a90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685236 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 05ea1147 2023-07-14T16:49:24 Vulkan: Bugfix in gl_FragData array redeclaration Both OpenGL ES and Vulkan spec allows implementations to limit the number of output attachments when dual-source blending is enabled. Account for this limit when setting gl_FragData array length by re-declaring the gl_FragData array size to match maxFragmentDualSrcAttachments value. Bug: angleproject:5537 Test: EXTBlendFuncExtendedDrawTest.FragData/ES2_Vulkan Change-Id: I5a462344f4c4faf850f56e9c5d4c392370d3d010 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688396 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Roman Lavrov c0f2f71e 2023-06-27T16:00:09 Use VK_EXT_legacy_dithering when available instead of emulation Yields improvement in gpu power: http://b/284462263#comment45 Bug: b/284462263 Change-Id: I5bfd115557b6baac17c05639118feaebf19c5cd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4652590 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuly Novikov d04dda15 2023-07-17T14:29:44 Skip WebGL2CompatibilityTest.DrawWithZeroSizedBuffer on iOS GL Bug: angleproject:8264 Change-Id: Icac83200b8e9aa35ba3e85be8b34bd45e616a8bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685572 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov c5b7fc36 2023-07-14T15:39:25 Ensure settings get cleaned up on exceptions Before this change, Ctrl-C or another exception leaves settings behind Bug: b/284462263 Change-Id: I5694cbb2ca7d43a4173099d126e6695e07ec9d2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685238 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 97368229 2023-07-14T17:09:15 Skip dEQP-EGL.functional.native_[color|coord]_mapping.native_window.* Skip on all platforms instead of the individual suppressions, that let test failures to slip into build failures. Bug: angleproject:8261 Change-Id: I16a5eaceb5fe49dc4e23233bfe4fe146b77a95f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685567 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi 5032f08b 2023-07-13T15:23:49 Translator: Unconditionally limit variable sizes ... instead of just for WebGL. This is to avoid hitting driver bugs that were prevented with this check for WebGL on a compromised renderer that can create non-WebGL contexts. Bug: chromium:1464682 Change-Id: I47a9d9690bd1ca9d701391fb7d70932f2dbe7334 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685307 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mohan Maiya 19c4e885 2023-07-13T15:24:03 Update input color in YUVSampleLinearFiltering test This test uses narrow range encoding (as can be seen from the color value for black) but the Cr component for red is greater than 240. On some platforms with different clamping logic the output color after conversion ends up not being red. Update the input colors to account for different implementations. Bug: b/210526871 Test: ImageTestES3.SourceYUVAHBTargetExternalYUVSampleLinearFiltering* Change-Id: Ib9b76c9433b07f5ce8a129779e77bc682bb341ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4684018 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 817f4b81 2023-07-10T00:00:00 Restrict color writemasks for RGB9_E5 color buffers Per-channel write operations to shared exponent color buffers are loosely defined and may cause driver validation errors. Restricted the set of allowed color writemasks for RGB9_E5 color buffers so that RGB channels must be either all enabled or all disabled. Added a Metal-specific adjustment to ignore alpha writemask for RGB9_E5 color buffers. Removed an unused function from RenderPipelineColorAttachmentDesc. Bug: angleproject:8043 Change-Id: I902c3b70ddc6d8e65069d98a4a02a82122f413a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685566 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 435d575c 2023-07-10T00:00:00 Skip component type validation of non-existent draw buffers The default framebuffer is initialized with just one draw buffer slot so WebGL-specific validation causes an assertion when clearing not present draw buffers. Bug: angleproject:2831 Change-Id: I23ceb3f31dd8bae005fe8497cf20c49880f37938 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4683451 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Cody Northrop cdb822e7 2023-07-13T09:45:00 Revert "Android: Assert that CFI is disabled" This reverts commit 43ef50f389e97131dc487081d6c8c02373e4a22c Reason for revert: LLVM bug is fixed upstream. Fix: https://reviews.llvm.org/rG92fbb602f3b635110417e40e2f774b31798b0b1d LLVM Roll: https://chromium.googlesource.com/chromium/src/tools/clang/+/243d4473a3739d43cab35eeb0b4934bf5f7a7d05 CLs in the roll: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/7586aeab..0c545a44 Original change's description: > Android: Assert that CFI is disabled > > There appears to be a bug in the interaction of CFI and > relative vtables. On armv9 it results in a crash with SIGILL > when loading traces. > > Since we can't overwrite the flags used to control this > just assert that it is correct in GN args. > > To avoid the assert, add the following to your GN args: > > arm_control_flow_integrity = "none" > > Test: Build and run traces on armv9 devices > Bug: b/278955379 > Bug: chromium:1441148 Test: angle_trace_tests on ARM v9 device with flag removed from GN Bug: b/278955379 Bug: chromium:1441148 Change-Id: Ib90405a143503896041c2522f484c234a943a6fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4684008 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Charlie Lao f5986fbb 2023-07-11T12:11:20 Vulkan: Dont break RP if there is actual render feedback loop There is a bit terminology confusion here that will be fixed in next CL. If a depth attachment is read only, then there is no feedback loop, we should not call feedback loop for read only depth attachment. The real depth render feedback loop mode is formed when we write to depth and sample from depth at the same time. In this condition, the content is undefined per OpenGLES spec section 9.3.1 (https://registry.khronos.org/OpenGL/specs/es/3.2/es_spec_3.2.pdf). The shouldSwitchToReadOnlyDepthStencilFeedbackLoopMode() implementation handles the usage case that the same render pass has depth write and then switch to read only. Under this usage there is no actual feedback loop, and we should still work properly by end current render pass and start a new render pass with read only depth attachment. This implementation also treating the actual feedback loop case exactly the same way by ending render pass first, even though this is undefined behavior. gangstar_vegas has the exact this undefined behavior usage case, where it write and sample from depth buffer at the same draw call. Native driver is not ending the render pass but ANGLE currently does. This puts ANGLE into worse performance. Since this is undefined behavior, either way is correct. This CL checks if there is an actual feedback loop in the current render pass and if yes, we adopt the native driver's behavior that keep the current render pass going. This improves gangstar_vegas frame time from 4.365ms to 3.89ms, and interestingly, yield the same golden image. Bug: b/289436017 Change-Id: Ifc04ecd8ad6455a88e8615bd5452b9cce88c6687 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4679361 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 2a08c33b 2023-07-10T17:47:49 Vulkan: Avoid flushCommandsAndEndRenderPass for readonlyDS switch When we switch to read only depth stencil mode, right now we always call flushCommandsAndEndRenderPass, even though the started render pass is empty and loadOp is load. This flush will cause render pass actually submitted and color attachment being cleared and then color attachment gets loaded in the subsequent render pass. In this CL, we only flush if the depthStencil attachment has clear or written This CL save one renderPass for the following app traces: antutu_refinery, aztec_ruins, manhattan_10, manhattan_31. Bug: b/290833623 Change-Id: I13b7a968d797b4c913f1cfbe9677d9b8abe791d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4674087 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 9b63700b 2023-07-11T10:25:40 Translator: Reorganize files This change makes the translator files more organized by: - Grouping files that are specific to a certain output under their own directory, - Moving transformations under tree_ops - Removing Direct from metal translation now that that SPIR-V Cross path is removed Bug: angleproject:6394 Change-Id: Iaf5bb8d5604b84748dece029821b1f77b2813967 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678780 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4e6124da 2023-06-23T14:46:28 GL: Ensure all instanced attributes have a buffer with data Apple OpenGL drivers sometimes crash when given an instanced draw with a buffer that has never been given data. It's not efficient to check if the attribute is both zero-sized and instanced so just ensure that every time a zero-sized buffer is bound to an attribute, it gets initialized with some data. Bug: chromium:1456243 Change-Id: I66b7c7017843153db2df3bc50010cba765d03c5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4642048 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi f5ad056b 2023-07-10T22:13:34 GL: Fix ScalarizeVecAndMatConstructorArgs and move to gl/ This transformation was buggy and was disabled. Originally, it was intended to be used everywhere. It is now needed for a GL driver workaround. This change reimplements this transformation and uses it as a GL workaround. Bug: chromium:1420130 Change-Id: I42d63fa5844bcf683ac41e61925aa637e033ca2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4676634 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi b0e262fb 2023-07-10T11:33:53 Group Texture3DTestES2 skips on iOS GL Bug: angleproject:8213 Change-Id: Ib00bd8d28aa58a56012f2b46f4ac153481d1be38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4674080 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 10194966 2023-07-10T13:56:13 Skip 2 flaky Perf tests on Win Intel Vulkan pubg_mobile_launch flaky timeout monster_hunter_stories flaky context lost Bug: angleproject:7929, angleproject:7557 Change-Id: I45d7b22bd3186419a584314c6c1f52ed0427ec8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4674342 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Yuly Novikov b2b1363a 2023-07-10T12:29:03 Skip Texture3DTestES2.DefineTexture2DArrayShouldFail on iOS GL Bug: angleproject:8213 Change-Id: I5487bd7b0a8033445d5552bb8d86dc3af80f1305 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4674340 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Alexey Knyazev b57d5638 2023-06-29T00:00:00 Reland "Cleanup multiview support" This is a reland of commit 9a7c0b88ba68e328d3f5f7991a6df0ab5de92311 Original change's description: > Cleanup multiview support > > * Removed remaining mentions of ANGLE_multiview > > * Removed AST transformations used only in > the side-by-side multiview implementation > > * Changed the type of the internal ViewID_OVR > variable to use the dedicated qualifier > > * Removed side-by-side multiview support > from the D3D11 renderer > > * Removed an unused helper for side-by-side > multiview support from the OpenGL renderer > > * Removed obsoleted test suppressions Fixed: angleproject:3341 Change-Id: I3ce9304c79c0873462c73e8cf02b85f7a1aaf874 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4669604 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Roman Lavrov 5997f1d7 2023-07-07T16:01:36 Fix little_cpu_power collection. Currently always getting 0, significantly undercounting cpu power at least in some cases (e.g. I saw 1700 vs 4300 in fishdom) Bug: b/284462263 Change-Id: Idd525f25cfc419a4a9d23a3fc99e938e99e1e715 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672592 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 9cd1205f 2023-07-07T12:22:14 Skip street_fighter_iv_ce on SwiftShader keyframe=86, runs very slow on SwS: https://anglebug.com/8243#c1 Bug: angleproject:8243 Change-Id: Iae3c758ea6b6e6a2a68f91a1355c10bc9c92f432 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672588 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 44acab29 2023-07-07T12:02:51 Use latest build-tools from android_sdk (same as catapult) https://crsrc.org/c/third_party/catapult/devil/devil/android/sdk/build_tools.py;drc=8a3feaaaab63b383fb6b138be2986e9ad6dcaca2;l=61 Also do not fall back to just 'aapt' as that isn't hermetic. Bug: angleproject:7670 Change-Id: Ided9dfe16d6c6815c3425bdc64b2d572bbe564c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672808 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Anne Redulla 66c2e4fc 2023-07-04T17:02:07 [ssci] Added Shipped field to READMEs This CL adds the Shipped field (and may update the License File field) in Chromium READMEs. Changes were automatically created, so if you disagree with any of them (e.g. a package is used only for testing purposes and is not shipped), comment the suggested change and why. See the LSC doc at go/lsc-chrome-metadata. Bug: b/285450740 Change-Id: I770554248e33c1e50938cc32daee36a83b643ec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672125 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi fede75ff 2023-07-06T11:38:35 Fix multi-draw's gl_DrawID in non-multi-draw draws The uniform value for gl_DrawID was never reset, so if a program was first used with multi-draw and then without it, gl_DrawID would not contain zero. Test credit info-tibo@orange.fr Bug: angleproject:8245 Change-Id: I73a613ab2858cde4633fadf6a1a523e462167eb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662137 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 0892420b 2023-06-28T23:03:51 Vulkan: Optimize PBO download between RGBA and BGRA Google Meet hits this path in Chrome when blurring the background. The CPU readback was particularly slow on Intel/Mesa where readback from the temp buffer took hundreds of milliseconds. This change adds a compute shader that directly copies from the image to the pack buffer in simple but common cases. Bug: b/286882707 Change-Id: I9877ea01e3d8377db96f2539362aca67cf832b4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4657058 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu c934d86b 2023-06-28T16:29:10 Update dEQP-GLES mustpass List 1. Reordered gCaseListFiles. 2. Added below must pass list as they are required by the Khronos CTS: gles2-khr-noctx-master.txt gles32-khr-noctx-master.txt gles32-khr-single.txt 3. Added new test package to run the tests in these mustpass lists: angle_deqp_khr_noctx_gles2_tests angle_deqp_khr_noctx_gles32_tests angle_deqp_khr_single_gles32_tests Newly added tests will not be executed on bot yet. There will be follow-up CL to add these tests on bot. Bug: b/286921997 Change-Id: Ibc7dbf81dca67ad7be440d559f5b4ee0211c6c41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4654841 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi f0deadab 2023-07-06T15:19:03 Revert "Cleanup multiview support" This reverts commit 9a7c0b88ba68e328d3f5f7991a6df0ab5de92311. Reason for revert: Suspected cause of crash on Canary Original change's description: > Cleanup multiview support > > * Removed remaining mentions of ANGLE_multiview > > * Removed AST transformations used only in > the side-by-side multiview implementation > > * Changed the type of the internal ViewID_OVR > variable to use the dedicated qualifier > > * Removed side-by-side multiview support > from the D3D11 renderer > > * Removed an unused helper for side-by-side > multiview support from the OpenGL renderer > > * Removed obsoleted test suppressions > > Fixed: angleproject:3341 > Change-Id: I5e0706cbf26ea820b51400124ddbf2624b738f17 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4660046 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Bug: chromium:1462504 Bug: chromium:1462505 Bug: chromium:1462506 Bug: chromium:1462478 Bug: chromium:1462531 Change-Id: Ie0e76b1c6823db19f68bb67fdfc8abc00cc62f88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666209 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Ian Elliott d2d44dda 2023-07-05T17:29:57 Mac: Suppress flaky/crashing test Bug: angleproject:8091 Bug: angleproject:8244 Change-Id: I5825d6268ec0f5b6e31dabad6ecb6bfff1a48677 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4667811 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 67994c6f 2023-07-05T16:18:44 Workaround app bug with using ESSL 100 extension in ESSL 310 An app has been found that uses GL_OES_EGL_image_external and GL_OES_texture_3D which are ESSL-100-only extensions in an ESSL 310 shader. Workaround this app bug by allowing these extensions to be used in all versions. Bug: b/285871779 Change-Id: I82262fc407db48d1fdd66967681c8102029cd0b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666351 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop ec8fb51b 2023-07-03T11:44:26 Tests: Add Evony: The King's Return trace Test: angle_trace_tests --gtest_filter="*evony_the_kings_return*" Bug: b/266237531 Bug: b/275096133 Change-Id: I32daa8b1bd4f3253887d02a5127ef4682df4951a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4664602 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kenneth Russell 9d9ca90b 2023-06-30T15:31:03 Properly validate _ADJACENCY primitive modes. After a refactoring in Issue angleproject:5483 and Issue chromium:1185267, the _ADJACENCY primitive modes were being validated as legal in context versions where they were not supported. Thanks to lehoangquyen@ for an initial version of this CL and one of the two new tests. Verified locally on an ASAN build on macOS (by manually disabling SwiftShader, where ASAN does not work) that the new tests pass cleanly. Test: SimpleOperationTest.PrimitiveModeLinesAdjacentNegativeTest Test: SimpleOperationTest.DrawsWithNoAttributeData Bug: chromium:1457840 Change-Id: Icb0945e0081ca6f97355dc60f75d60c3f4f68565 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661672 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 8a8c8fc2 2023-07-05T13:19:25 Roll chromium_revision ad19957265..e506ce09ba (1165395:1165897) Change log: https://chromium.googlesource.com/chromium/src/+log/ad19957265..e506ce09ba Full diff: https://chromium.googlesource.com/chromium/src/+/ad19957265..e506ce09ba Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e0690c7c78..f87ccdf42a * buildtools/linux64: git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d..git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7 * buildtools/mac: git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d..git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7 * buildtools/win: git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d..git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7d4c4bf473..b5862634ee * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/f5874af13b..ea2e39562f * third_party/android_sdk/public: -VRKr36Uw8L_iFqqo9nevIBgNMggND5iWxjidyjnCgsC..YK9Rzw3fDzMHVzatNN6VlyoD_81amLZpN1AbmkdOd6AC * third_party/android_sdk/public: RSI3iwryh7URLGRgJHsCvUxj092woTPnKt4pwFcJ6L8C..HWVsGs2HCKgSVv41FsOcsfJbNcB0UFiNrF6Tc4yRArYC * third_party/android_sdk/public: eo5KvW6UVor92LwZai8Zulc624BQZoCu-yn7wa1z_YcC..u-bhWbTME6u-DjypTgr3ZikCyeAeU6txkR9ET6Uudc8C * third_party/android_system_sdk: RGY8Vyf8jjszRIJRFxZj7beXSUEHTQM90MtYejUvdMgC..4QeolYaSKWBtVTgzJU4tHUfzA9OJTDM8YUcD426IctwC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..48b31edbfc * third_party/jdk: 2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC..-1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC * third_party/jinja2: https://chromium.googlesource.com/chromium/src/third_party/jinja2/+log/264c07d7e6..515dd10de9 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/36a80749cf..75c7faf556 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/422351564c..159b3b88fd DEPS diff: https://chromium.googlesource.com/chromium/src/+/ad19957265..e506ce09ba/DEPS No update to Clang. BUG=None Change-Id: I4b8366a4585826221f2843682088ac100dd44f2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661021 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Yuly Novikov c67d97ba 2023-07-04T15:11:14 Expand dEQP-EGL suppression dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.* fail also on SwiftShader Windows. Bug: chromium:1462139, b/286921997 Change-Id: If20b217ba47f3c3cc0da7a17478424798b406408 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4664801 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev 9a7c0b88 2023-06-29T00:00:00 Cleanup multiview support * Removed remaining mentions of ANGLE_multiview * Removed AST transformations used only in the side-by-side multiview implementation * Changed the type of the internal ViewID_OVR variable to use the dedicated qualifier * Removed side-by-side multiview support from the D3D11 renderer * Removed an unused helper for side-by-side multiview support from the OpenGL renderer * Removed obsoleted test suppressions Fixed: angleproject:3341 Change-Id: I5e0706cbf26ea820b51400124ddbf2624b738f17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4660046 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mohan Maiya 75813905 2023-06-30T08:47:29 Update ANGLEExtensionAvailability test expectation ANGLEExtensionAvailability test should allow vendors that support VK_EXT_image_2d_view_of_3d Vulkan extension to expose EGL_KHR_gl_texture_3D_image extension string with the Vulkan backend. Bug: angleproject:7320 Test: ImageTest.ANGLEExtensionAvailability* Change-Id: I3f6d407e100827604124e312bb61a59dbfb50dac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4658874 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 20cc4a9b 2023-06-26T00:00:00 D3D11: Fix non-trivial blits for snorm buffers Bug: angleproject:8048 Change-Id: Ifec7ea71e0ab88f545ae088b0faae4b95512a207 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4654315 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 0e7c79e3 2023-06-29T00:00:00 Vulkan: Fix resolve with multiple targets of different formats Ensure that the appropriate code path is taken when resolving into multiple target buffers of different formats. Bug: chromium:1123524 Change-Id: Ic25a52ba069a2209c907226613fde1109823c094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4650561 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Steven Noonan 113f847b 2023-06-26T12:07:52 centralize basic OS/platform detection functions We had multiple different places that defined these, and with varying naming schemes. Centralize them to be defined in platform_helpers.h. Also renaming the IsApple(uint32_t) functions to IsAppleGPU(uint32_t) to avoid ambiguous meaning: "IsApple" should mean "is Apple-vended OS" while "IsAppleGPU" should mean "is Apple GPU vendor ID". Bug: angleproject:8229 Change-Id: If4e3fc5ac1b5b8ad416663950a1b2ee912ccad99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4647291 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Steven Noonan <steven@uplinklabs.net> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi b1b12d4a 2023-06-22T15:27:48 Vulkan: Move device OOM tests to new test suite * Moved the device OOM tests from VulkanImageTest to a new test suite, VulkanMemoryTest. * It is instantiated for ES3. * Moved the slow tests in the expectation file to the end. Bug: b/280304441 Change-Id: Icc958b5eb071567f8e6671661302760c7f5e3621 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4639041 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Mark Lobodzinski 5f6d7848 2023-06-15T12:31:26 Android: Add/update MaliG710 expectations and tests Fixed End2End tests causing valiadation errors where VK_EXT_primitives_generated_query was being enabled without enabling VK_EXT_transform_feedback. Consolidated the DEQP-GLES3 expectations for the functional.transform_feedback* tests, updated some changed test names. These test expectations were collected from the 43.0 driver version. Bug: b/285628492 Bug: angleproject:8212 Change-Id: I224a2eec33ee56b7303d17aebd998de65354106c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4626241 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Constantine Shablia 0e3d200d 2023-06-21T07:01:42 Tests: Add paletted formats glGetTexImageANGLE tests Test: angle_end2end_tests --gtest_filter=GetImageTestES1.PalettedTexImage* Bug: angleproject:7710 Change-Id: I1c7edcbeae86d88076deffb2b8484ecd85a4b773 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4629690 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com>
Mohan Maiya 122b292d 2023-06-26T14:32:32 Fix bug in ProgramPipelineObjectBenchmark Bug: angleproject:5102 Test: ProgramPipelineObjectBenchmark* Change-Id: I8d596ce7d6d9866b3333e675b40d9aad470525e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4647096 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Amirali Abdolrashidi 232506e1 2023-05-15T19:19:39 Vulkan: Free the garbage memory before realloc The previous CL added the feature of freeing garbage memory in the event of device OOM. However, it was for image allocations only. * Extended finishing commands and freeing the garbage to buffers. * Added unit test to allocate buffer after freeing memory space on the device. Bug: b/280304441 Change-Id: I540b27a41b34d1ceb1cd3119213341c9f290ea38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4540209 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi 5f9548c3 2023-05-19T11:51:04 Vulkan: Free the garbage memory before realloc Currently image allocations fall back to system memory in case of a device OOM. However, in some cases, it is also possible to gain some memory by freeing garbage memory from the device. This allows us to keep the allocation on the device memory. * Updated the image allocation fallback, so we will try cleaning the garbage memory through the renderer before retrying the allocation. * finishOneCommandBatchAndCleanup() in RendererVk, which will call a similar function in its CommandQueue. It will be called until there are no more in-flight submissions. * The existing finishOneCommandBatchAndCleanup() in CommandQueue has been renamed to finishOneCommandBatchAndCleanupImpl(). * Updated the flags used for VMA image allocations. If any device memory is freed after garbage cleanup to make enough space for the new allocation, it will take precedence over the system memory. * Added unit tests in which a new image allocation could happen on the device after freeing the garbage memory. * They use a 2D texture and a 2D texture array for garbage. Bug: b/280304441 Change-Id: Ia5e605e180833b44af8c77550ab1b0b8ba21724e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4547941 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi cba77bce 2023-06-26T14:30:58 Disable device OOM tests for Linux/NVIDIA * Disabled the device OOM test in VulkanImageTest for Linux/NVIDIA systems, due to potentially affecting other tests with flakiness. Bug: angleproject:8236 Change-Id: I4dc0e4f22149507350093708031e05ded5e5c18e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4647294 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi 61eda436 2023-06-15T14:47:35 Fix TexImage3D validation for 2D arrays below ES3 Currently if we try to define a 2D texture array in ES2, a crash occurs during its validation. Since texture3DOES only adds support to 3D textures, we should make sure the validation only passes if ES3 and above are used. * Added check for 2D texture array usage in validating glTexImage3D(). Bug: angleproject:8213 Change-Id: Ib477d8b6eec89c35d605a1b575bfb5519d19452e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4618955 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 4a4b13cc 2023-06-26T14:55:01 Fix SixteenBppTextureDitheringTestES3 formats Copy-paste mistake from https://crrev.com/c/4628974 Bug: b/284462263 Change-Id: Id9f78386a0c1495c4c2e32d0c5b18a8e2f5cc74a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4645735 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 2283d2d0 2023-06-15T18:40:28 Update the mustpass list that dEQP-EGL tests uses Android CTS and Khronos CTS use different set of dEQP tests. android/cts contains mustpass lists for Android CTS. We have test coverage in the Android CTS in Android testing infra, and we would like ANGLE standlone deqp test runner to cover the Khronos CTS. Update the dEQP-EGL test runner to use the mustpass list that Khronos CTS uses. Since the test lists changed, some tests in expectation files are no longer needed, as they are not within Khronos CTS mustpass list. Keeping them in the expectation file will cause test runner exception as the test runner does check if the test listed in the expectation file is in the mustpass list. Bug: b/286921997 Bug: angleproject:6277 Bug: angleproject:7506 Bug: angleproject:6528 Change-Id: I7851b854322985f564cbb56d804f04f663d947aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4619627 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Chris Forbes <chrisforbes@google.com>
Mohan Maiya a31e8c30 2023-06-24T15:53:57 Refactor Image colorspace tests for better readability 1. Always upload color values encoded in sRGB colorspace for sampling tests and linear colorspace for rendering tests. Depending on attribute list, the test will either expect color decoded in linear space or sRGB color value as is 2. Add helper functions that determine expected output color for a given attribute list and EGLImage usage Refactor TEST and helper functions to account for the above updates Test: ImageTest*_Colorspace* Bug: angleproject:3756 Change-Id: I54ae22b2d379e6fdfa04429849de5efe9684caf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4643452 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Shahbaz Youssefi 764f31be 2023-06-22T23:52:43 Add more BitSetArray tests Bug: angleproject:8224 Change-Id: I8835da245df52e1be2e3e4ea17e32ce8c438e51e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4636870 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Amirali Abdolrashidi 7169dc5f 2023-06-23T12:02:19 Fix vsync and offscreen for restricted_trace_perf * Updated the command used to run the trace so it would use the mode input, which includes --vsync and --offscreen. Bug: angleproject:8234 Change-Id: Ia761e369993183dcdfb66383f3006cf660044add Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4641272 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Gregg Tavares bc2d5ed0 2023-06-22T14:24:46 Fix wrong size computation in test Bug: angleproject:8227 Change-Id: Idde149465de57db4091847dfdb213a63bc4e3e2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4638742 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov e431b3e4 2023-06-20T16:42:16 Add pixels checks to bandingTest on Android +toggle GL_DITHER Bug: b/284462263 Change-Id: I69122d1d53d03a2e75d498e77a669099a568ab3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4628974 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 6e99d6bc 2023-06-22T09:14:11 Only build angle_capture_tests_trace when building traces Some PGO build failed in Chromium. Standalone ANGLE testing is currently sufficient. Bug: chromium:1456291 Change-Id: I5a685020afdfe152348d282a28379c3b628d5964 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4636681 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi bbcf54bc 2023-06-16T16:02:08 Vulkan: Refactor uniform/block binding duplication code Previously, resource binding assignment was done as such: ``` for each shader stage assign bindings to textures assign bindings to blocks assign bindings to images etc ``` To deduplicate bindings when the same resource was used in multiple stages, a map was used, keyed by the resource's name, to detect when an already visited resource is encountered in a future stage. This was both inefficient and unnecessarily complicated. With this change, resource binding assignment is done as such: ``` for each texture assign one binding to all shader stages for each block assign one binding to all shader stages for each image assign one binding to all shader stages etc ``` The aforementioned map is removed. Because the resource bindings are now changed, the rest of the code (which sets up the pipeline layout, updates descriptor sets, sets dynamic buffer offsets, etc) are all updated to follow the above pattern. As a result, nested loops are avoided and duplicate entries in the variable map are never visited. Bug: angleproject:7220 Change-Id: Iaff7b5f8b2bada8ac5078d21e5c790bf0d27aca7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4622011 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Steven Noonan 508eb865 2023-06-19T11:54:06 Vulkan: avoid crash on AMD drivers with MSRTT emulation If you have a multisampled color+depth framebuffer and discard depth before the end of the render pass, ANGLE skips assigning pDepthStencilResolveAttachment. Doing so is fine on most vendors, but on AMD drivers, the application will crash in the user mode driver when calling vkCreateRenderPass2KHR. Simply not adding the depth/stencil resolve structure to the PNext chain avoids the crash and allows the application to function normally. Bug: angleproject:8217 Change-Id: I0dc14c03d2b999e280a4d363e0296fd10812540c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4627280 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 262784f4 2023-06-19T17:56:04 D3D11: unbreak instanced indirect multidraw with ushort indices The baseInstance parameter was not being passed in the unsigned short index case. Bug: angleproject:8216 Change-Id: If660c6d4125bfd2aff8f4fd3a9171194635d21c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4627281 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 5aa818fd 2023-06-20T15:08:03 Assert !is_official_build in Android builds. Bug: angleproject:7381 Change-Id: I658cb0389fc5a12726ea873c3a2d5afb006b6953 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4628674 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 174742fd 2023-06-18T13:07:00 Roll VK-GL-CTS from 7fcb3c6e0082 to f29bd2feeaff (19 revisions) Suppress dEQP-EGL failures. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7fcb3c6e0082..f29bd2feeaff 2023-06-18 lorenzo@khronosgroup.org Merge vk-gl-cts/github-main into vk-gl-cts/main 2023-06-16 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-06-16 piotr.byszewski@mobica.com Split pipeline.txt in vksc-default 2023-06-16 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-06-16 alexander.galazin@imgtec.com Fix check_build_sanity.py error 2023-06-16 lorenzo@khronosgroup.org Add missing line in AndroidGen.mk for vktFragmentShadingRateMiscTests.cpp 2023-06-16 rgarcia@igalia.com Test FSR in a pipeline without fragment shader 2023-06-16 ziga@lunarg.com Add xfb test drawing outside of xfb begin 2023-06-16 piotr.byszewski@mobica.com Test RT interaction with flags added by GPL 2023-06-16 rgarcia@igalia.com Test gl_SampleMaskIn with sample shading 2023-06-16 rgarcia@igalia.com Test enabling and disabling VRS statically 2023-06-16 rgarcia@igalia.com Test allocation and binding offsets with index buffers 2023-06-16 pdaniell@nvidia.com Remove the "Error:" prefix with NotSupported results 2023-06-16 jenatali@microsoft.com Fix skipping when synchronization2 is unsupported on Windows 2023-06-16 gleese@broadcom.com Remove 64-bit test code for builtins which don't support it 2023-06-16 jenatali@microsoft.com Don't include windows.h in the vk namespace 2023-06-16 rgarcia@igalia.com Disallow direct linking of GLES libraries by default 2023-06-16 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-06-15 younggwan.kim@arm.com Merge dev/EXT_shader_tile_image into 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-team@google.com,syoussefi@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:8214 Change-Id: I84598fb784adf1e30abbeaac3c53dcd97108d58a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4624553 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e394cb46 2023-06-10T23:12:35 Vulkan: Refactor framebuffer fetch shader emulation This change fixes simultaneous usage of EXT_shader_framebuffer_fetch and ARM_shader_framebuffer_fetch, which previously declared two identical input attachment variables. The code is additionally greatly simplified. Bug: angleproject:8196 Bug: angleproject:8197 Bug: angleproject:8198 Change-Id: Iaaa2a5539a95727e67001a4da1d45092c9db4f2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4615187 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski de28b89a 2023-06-15T12:31:26 Android: Add Pixel 7 entries to End2End expectations Bug: b/285628492 Bug: angleproject:8212 Change-Id: I205ff24f53c03c0a0634b35b6a7e76b79f21d622 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4617583 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Roman Lavrov 58055032 2023-06-16T10:33:26 Remove _shardN suffix from tests when it's not necessary. My understanding is that we only need this for --split-shard-samples. Otherwise we still get _shardN suffix from the shard but the test only ran on a single shard so there is no point in that. _shardN added in https://crrev.com/c/3937044 --split-shard-samples disabled in https://crrev.com/c/4605335 Example of _shardN: https://ci.chromium.org/ui/p/angle/builders/ci/linux-nvidia-gtx1660-perf/1704/overview Bug: angleproject:7671 Change-Id: Iaec4eb81e6ebad424cfc2ebfcbc7eda312cd1bba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4615538 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
Roman Lavrov 46ff02f8 2023-05-18T13:52:29 Capture/Replay: Initial setup for angle_capture_tests Implements the first part (FrameCapture) of the proposal go/frame-capture-and-interpreter-testing Adds a basic test (CapturedTest) with a few frames. This test gets captured by capture_tests.py into a temporary directory and the resulting files are diff'ed with the files under expected/ A diff fails the test. When capture changes, the workflow would be to run the command indicated by the error message in the test which will overwrite the files with new ones so that they can be added to the CL. Example test failure on capture change: https://chromium-swarm.appspot.com/task?id=62b5f4034527c610 when testing https://crrev.com/c/4598046/3 Tests in CI: https://screenshot.googleplex.com/77o8vZVuj8AbFRj Also adds a "angle_capture_tests_trace" lib with the trace just to test that this capture also builds, the lib is not currently loaded by anything. Bug: b/286067106 Change-Id: I7d5f6eed088d84f9e3eb8a72b24b1d92515fff38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545408 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu ecc287a8 2023-06-10T22:20:02 Clean up skipped deqp khr gles32 tests on Pixel 6 Remove deqp khr gles32 test suppression on Pixel 6 that are no longer failing. Remove suppression of below tests KHR-GLES32.core.texture_buffer.texture_buffer_texture_buffer_range KHR-GLES32.core.compressed_format.api.texstorage_accepts_compressed_format KHR-GLES32.core.compressed_format.api.invalid_inconsistent_data_size KHR-GLES32.core.compressed_format.api.invalid_inconsistent_data_size_array KHR-GLES32.core.compressed_format.api.invalid_offset_or_size Remove suppression of below tests on Android Vulkan KHR-GLES32.core.constant_expressions.*geometry KHR-GLES32.core.shader_macros.fragment_precision_high_geometry KHR-GLES32.core.texture_cube_map_array.stencil_attachments_*mutable_layered KHR-GLES32.core.texture_cube_map_array.*tessellation* KHR-GLES32.core.texture_cube_map_array.sampling Restrict suppression of below tests on Pixel4 Vulkan KHR-GLES32.core.geometry_shader.* KHR-GLES32.core.texture_cube_map_array.*geometry* KHR-GLES32.core.separable_programs_tf.geometry_active KHR-GLES32.core.texture_cube_map_array.color_depth_attachments KHR-GLES32.core.texture_cube_map_array.fbo_incompleteness KHR-GLES32.core.tessellation_shader.* KHR-GLES32.core.texture_cube_map_array.*tesselation* KHR-GLES32.core.constant_expressions.*tess_control KHR-GLES32.core.constant_expressions.*tess_eval KHR-GLES32.core.separable_programs_tf.tessellation_active KHR-GLES32.core.shader_macros.fragment_precision_high_tess_* KHR-GLES32.core.texture_border_clamp.* KHR-GLES32.core.gpu_shader5.*clamp*_border KHR-GLES32.core.gpu_shader5.*clamp*_edge Restrict suppression of below tests on Pixel6 Vulkan and Windows Nvidia Vulkan: KHR-GLES32.core.texture_border_clamp.Texture2DDC16Linear KHR-GLES32.core.texture_border_clamp.Texture2DDC32FLinear Add test suppression on Pixel 6 Vulkan KHR-GLES32.core.tessellation_shader.vertex.vertex_ordering KHR-GLES32.core.tessellation_shader.tessellation_shader_tessellation.gl_InvocationID_PatchVerticesIn_PrimitiveID KHR-GLES32.core.tessellation_shader.tessellation_shader_quads_tessellation.degenerate_case KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule2 KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule5 KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule6 KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule4 KHR-GLES32.core.tessellation_shader.tessellation_shader_point_mode.points_verification KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_tessLevel KHR-GLES32.core.tessellation_shader.vertex.vertex_spacing KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule7 KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_in KHR-GLES32.core.tessellation_shader.tessellation_shader_triangles_tessellation.inner_tessellation_level_rounding KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.data_pass_through KHR-GLES32.core.tessellation_shader.tessellation_shader_tessellation.TCS_TES KHR-GLES32.core.tessellation_shader.tessellation_shader_quads_tessellation.inner_tessellation_level_rounding KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule3 KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize KHR-GLES32.core.tessellation_shader.tessellation_shader_triangles_tessellation.identical_triangles KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule1 Bug: b/224537784 Bug: angleproject:5579 Bug: angleproject:5557 Bug: angleproject:5978 Bug: angleproject:3577 Bug: angleproject:3573 Bug: angleproject:6441 Change-Id: Ia734217c340fd927a93ea385120d0cf952cd428d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606544 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 9f158eb5 2023-06-10T22:14:16 Clean up skipped deqp khr gles31 tests on Pixel 6 Remove deqp khr gles31 test suppression on Pixel 6 that are no longer failing. Remove the suppression of below tests: KHR-GLES31.core.texture_buffer.texture_buffer_texture_buffer_range Restrict the suppression of below tests on swiftshader, windows nvidia vulkan, and pixel6 vulkan KHR-GLES31.core.texture_border_clamp.Texture2DDC16Linear KHR-GLES31.core.texture_border_clamp.Texture2DDC32FLinear Remove the suppression of below tests KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength* Restrict the suppression of below tests on swiftshader KHR-GLES31.core.arrays_of_arrays.ConstructorsAndUnsizedDeclConstructors1 KHR-GLES31.core.arrays_of_arrays.ConstructorsAndUnsizedDeclConstructorSizing1 Bug: angleproject:3573 Bug: angleproject:5978 Bug: angleproject:4107 Bug: angleproject:4300 Bug: angleproject:4108 Bug: angleproject:4188 Bug: angleproject:4190 Bug: angleproject:4240 Bug: angleproject:6295 Bug: b/224537784 Change-Id: I2c4d67ad3c50381ece4ed6241657b79402c91d3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606543 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 8df249d7 2023-06-10T22:09:12 Clean up skipped deqp khr gles3 tests on Pixel 6 Remove deqp khr gles3 test suppression on Pixel 6 that are no longer failing. Restrict the suppression of below tests on Pixel4 Vulkan KHR-GLES3.packed_depth_stencil.clear_buffer.depth32f_stencil8 Restrict the suppression of below tests on NVIDIA Vulkan and Android Vulkan KHR-GLES3.packed_pixels.varied_rectangle.* Restrict the suppression of below tests on NVIDIA Vulkan and Android Vulkan KHR-GLES3.packed_pixels.pbo_rectangle.r8_snorm KHR-GLES3.packed_pixels.pbo_rectangle.rg8_snorm KHR-GLES3.packed_pixels.pbo_rectangle.rgba8_snorm KHR-GLES3.packed_pixels.rectangle.r8_snorm KHR-GLES3.packed_pixels.rectangle.rg8_snorm KHR-GLES3.packed_pixels.rectangle.rgba8_snorm Bug: angleproject:3683 Bug: angleproject:6678 Bug: angleproject:8048 Bug: b/224537784 Change-Id: Id24591e3bc21fa263fa64d3bd812d82209b8c5fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606542 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 57cccfd4 2023-06-10T22:05:56 Clean up skipped deqp gles31 tests on Pixel 6 Remove the deqp gles31 test suppression on Pixel 6 that are no longer failing. Below tests no longer fails on win-test bot, remove them from the expectation file: dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48 dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36 Restrict the suppression of below tests on NVIDIA Vulkan dEQP-GLES31.functional.image_load_store.3d.*single_layer Restrict the suppression of below tests on Pixel4 Vulkan dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2* dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5* Remove the suppression of below tests on Android Vulkan dEQP-GLES31.functional.stencil_texturing.misc.base_level Remove the suppression of below tests on Pixel6 dEQP-GLES31.functional.shaders.linkage.es31.tessellation.varying.rules.internal_different_precision Bug: b/224537784 Bug: angleproject:3445 Bug: angleproject:6021 Bug: angleproject:4080 Bug: angleproject:5277 Bug: angleproject:7488 Change-Id: I9baff33ade443d2ad28d1bc7a1333e0c672942c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606541 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 5ff9d931 2023-06-10T22:00:41 Clean up skipped deqp gles3 tests on Pixel 6 Remove deqp gles3 test suppression on Pixel 6 that are no longer failing. Undefined behaviors in below test should have been addressed by the upstream change in VK-GL-CTS: https://github.com/KhronosGroup/VK-GL-CTS/commit/5d286e0daeac8afaafc46b16d28991fab971240b Remove the suppression of them: dEQP-GLES3.functional.shaders.operator.unary_operator.minus.lowp_uvec4_vertex dEQP-GLES3.functional.shaders.operator.unary_operator.minus.mediump_uvec4_vertex Restrict the suppression of below tests on NVIDIA and MAC dEQP-GLES3.functional.fbo.completeness.renderable.*.r8_snorm dEQP-GLES3.functional.fbo.completeness.renderable.*.rg8_snorm dEQP-GLES3.functional.fbo.completeness.renderable.*.rgba8_snorm Bug: b/224537784 Bug: angleproject:1101 Bug: angleproject:6214 Bug: angleproject:8048 Change-Id: Ic227be3e08b85f9f812171faafbbb1d421e9c30a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606540 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu d73ce6e3 2023-06-10T21:57:43 Clean up skipped deqp gles2 tests on Pixel 6 Update comments to explain why the test dEQP-GLES2.functional.flush_finish.* need to be skipped. Bug: b/224537784 Bug: angleproject:1034 Change-Id: I09dbf3134006a76129e6e4e483ac43616c550418 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606539 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 97e3851d 2023-06-10T21:52:28 Clean up skipped deqp egl tests on Pixel 6 Remove the deqp test suppression on Pixel 6 that are no longer failing. Restrict suppression of below tests on Android Vulkan and Pixel 4 GLES dEQP-EGL.functional.native_color_mapping.native_window.* dEQP-EGL.functional.native_coord_mapping.native_window.* Restrict suppression of below tests on Pixel 4 Vulkan dEQP-EGL.functional.image.api.create_image_gles2_android_native_rgb8 dEQP-EGL.functional.image.create.gles2_android_native_rgb8_read_pixels dEQP-EGL.functional.image.create.gles2_android_native_rgb8_texture dEQP-EGL.functional.image.create.gles3_android_native_array_rgb565_texture_array dEQP-EGL.functional.image.create.gles3_android_native_array_rgb8_texture_array dEQP-EGL.functional.image.create.gles3_android_native_array_rgba8_texture_array dEQP-EGL.functional.image.modify.android_native_rgb8_renderbuffer_clear_color dEQP-EGL.functional.image.modify.android_native_rgb8_tex_subimage_rgb8 dEQP-EGL.functional.image.render_multiple_contexts.gles2_android_native_rgb8_read_pixels dEQP-EGL.functional.image.render_multiple_contexts.gles2_android_native_rgb8_texture dEQP-EGL.functional.image.create.gles3_android_native_array_*_render_sample_texture_array Restrict suppression of below tests on Swiftshader and Nvidia Vulkan dEQP-EGL.functional.create_context_ext.gl_30.* dEQP-EGL.functional.create_context_ext.robust_gl_30.* Bug: b/224537784 Bug: angleproject:6533 Bug: angleproject:6277 Bug: angleproject:7506 Bug: angleproject:7533 Change-Id: I769bb1ef15c187ae0de62cc901f907cb095dc73a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4602771 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 82151df0 2023-06-13T15:55:04 Android: Pixel 7 and Oppo Flip N2 device support Add device detection for test expectation files. Bug: b/285628492 Bug: angleproject:8205 Change-Id: Ia4ed8f7adc4f65ebb36c3248edadb3900b4caf58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4615663 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Mike Schuchardt af1768a4 2023-06-13T15:11:17 Android: Add Galaxy A34, A54 and Oppo Find X6 Adds device detection for use in expectation files Bug: b/285047631 Bug: b/285047394 Bug: b/285630872 Change-Id: I30361d7bc1a0a08441c8b5afe64d4b5f22ae4ddb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4611333 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Yuxin Hu 3a3a3c65 2023-05-31T23:06:57 Remove override test31Context.cpp Remove the override test31Context so that 1) we can run deqp test suites on Pixel devices with the same configuration as Android CTS test runner. 2) those deqp tests that require a GLES 3.2 context will not be skipped and can execute on devices that supports GLES 3.2. Since the deqp test runner overrides the feature exposeNonConformantExtensionsAndVersions with "true" value, a context is created regardless of whether the device supports GLES 3.2. However, not all of the devices are GLES 3.2 conformant, we will suppress those tests that are failing on non-conformant devices. Bug: b/224537784 Bug: angleproject:3687 Bug: angleproject:3688 Bug: angleproject:6678 Change-Id: I2a549537bdbb2c0356fcccaa96291229c699ed0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4559445 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Ian Elliott 14339812 2023-06-13T10:00:39 Merge Galaxy A23 and S23 e2d expectations where can Many of the Samsung Galaxy A23 and S23 (all Qualcomm GPU) expectations were common, and so they are merged into a common GALAXYQUALCOMM ID. Bug: b/285045753 Bug: angleproject:8185 Change-Id: I5eb44f5de969763df290a938935a3a76ea3aab98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4610479 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3a42d024 2023-06-13T13:37:35 Only import xvfb on Linux. Allows to run certain scripts with python3 (instead of vpython3) on Windows. Same as testing/scripts/common.py: https://crsrc.org/c/testing/scripts/common.py;drc=dfebdf76453bb843c0910d8a3e74468f6ab4a474;l=25 Bug: b/286067106 Change-Id: I57f5478082c2147bb5e9cf98baae762b8b844cec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4610084 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Ian Elliott 7e075469 2023-06-12T18:34:05 A23: Improve end2end SKIP lines and add FAIL lines Bug: b/285045753 Bug: angleproject:8185 Change-Id: I863878e06495c0431c07113d9de702b0bb7dd8ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606370 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi f1e19872 2023-06-12T14:38:23 Vulkan: Fix read pixels with RGBX Typically, the format used for data uploads and downloads as well as the storage format are consistent. That is unfortunately not the case for GL_RGBX8_ANGLE where data uploads are through 3-byte RGB pixels while downloads are through 4-byte RGBX pixels. This change swaps out RGBX for RGBA on the read pixels path. Test credit of Jason Macnak <natsu@google.com> Bug: b/246008627 Test: atest CtsSkQPTestCases Change-Id: I531ebd8318bf4fe5ac09c623068b790a7e301428 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608488 Reviewed-by: Jason Macnak <natsu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov cf095dfb 2023-06-12T14:27:57 Tests: disable TraceTest.respawnables on native Win & Linux Bug: angleproject:8191 Change-Id: Ie61adc4b15c7db20aa890fad36c079e301f9ffc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608487 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 21f16cb1 2023-06-09T17:30:38 Disable clang-format on ANGLE features autogen outputs Updates the script to produce reasonably formatted code without clang-format. Autogen files moved to autogen/ sub-directories because clang-format does not support per-file settings ;( This allows to run this codegen very quickly (~50ms on my machine) Bug: angleproject:8193 Change-Id: Ie84282090d574ebb4debe3edcfd82f983f27a5ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604578 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 43ef50f3 2023-06-08T15:35:17 Android: Assert that CFI is disabled There appears to be a bug in the interaction of CFI and relative vtables. On armv9 it results in a crash with SIGILL when loading traces. Since we can't overwrite the flags used to control this just assert that it is correct in GN args. To avoid the assert, add the following to your GN args: arm_control_flow_integrity = "none" Test: Build and run traces on armv9 devices Bug: b/278955379 Bug: chromium:1441148 Change-Id: I71bf93dca9bd15d6c66ad2a7223d9bbd0c54392e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4602027 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Mark Lobodzinski 72df4283 2023-06-09T10:54:31 Tests: Add Lotsa Slots trace Test: angle_trace_tests --gtest_filter=TraceTest.lotsa_slots Bug: b/286514838 Change-Id: I8756a21596f2a09abff8262b3a9489b638d3522d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603714 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Roman Lavrov 55f3d3c7 2023-06-09T11:48:00 Tests: disable TraceTest.respawnables on native Bug: angleproject:8191 Change-Id: Ib6dec981830c0a6748e1e1f88dd6727b27592c52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4605334 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov b508f8ab 2023-06-08T10:51:09 Inline remaining _angle_trace_common* vars Used only once after these rules were reorganized. Bug: b/276474703 Change-Id: Ie01f20781ee1ca6f04fd19a9f37769d66561bde8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4600614 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 52152933 2023-06-06T15:36:36 Add trace_interface: functions and callbacks for traces Defines the interface between the test suite (or an other TraceLibrary class user) and trace libraries. TraceFunctions defines entry points for calls suite->trace, such as SetupReplay() or SetBinaryDataDir(). TraceCallbacks defines entry points for calls trace->suite, for example for loading .angledata.gz files. These are set up via the exported SetupEntryPoints() call. Functions like SetupReplay etc no longer need to be exported from the trace library. TraceInfo (parsed representation of the trace json) is moved to trace_interface as is. This is convenient for further changes to the fixture that will allow to easily move some of the captured parameters to json. This also moves Decompress functionality (and memory ownership) to test suite entirely, which avoids Decompress/Delete callbacks - the trace just calls LoadBinaryData via TraceCallbacks and TraceLibrary releases the memory either on FinishReplay or in its destructor. This should also take care of the memory leak described in https://crrev.com/c/3858185 Bug: b/286072760 Change-Id: Ibc6f6f64156ad805b1917c8fc41a3b0d2c0d6375 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594445 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mohan Maiya cfb5d2de 2023-04-06T16:06:35 Remove thread from mActiveThreads during eglTerminate When eglTerminate is called remove the thread from the active thread set if there is no context current. This allows for proper cleanup of invalid EGL objects during certain EGL terminate related end2end tests. Also perform appropriate cleanup in EGLBlobCacheTest test. Bug: angleproject:6723 Bug: angleproject:6798 Test: EGLMultiContextTest.ReuseUnterminatedDisplay* Change-Id: I5a637938d463d6556f594d8bb0cf457efca92355 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4408364 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Roman Lavrov <romanl@google.com>