src/tests


Log

Author Commit Date CI Message
Geoff Lang 166b72c9 2024-09-30T19:07:26 GL_ANGLE_blob_cache implementation. Bug: chromium:370538323 Change-Id: Ic51a951e78b48b315e36f518bcc39ff2d54660a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5900761 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 770dc68f 2024-10-04T13:05:24 Tests: Add Thief Puzzle trace Test: angle_trace_tests --gtest_filter="*thief_puzzle*" Bug: b/371518149 Change-Id: I593964bdf4a39edf2445a54a400f5faddd4fcaff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5909872 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 37c69bd6 2024-10-07T11:00:14 Tests: gold tests assert that filter matches a test As described on the bug, test retries result in an unexpected value passed to --isolated-script-test-filter, which doesn't match any traces. Assert that there is a match as a (permanent) workaround. Bug: chromium:371977204 Change-Id: I415507ea999005a9ac04489582cf77b7d3e29e2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912615 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev cd10ad46 2024-09-30T00:00:00 Metal: Rework allowSamplerCompareGradient feature * AMD drivers may fail when a sample_compare function is used with explicit derivatives. To avoid such failures, the effective level is computed from the texture size, passed derivatives, and texture coordinates, if needed. The level value is then used for sample_compare instead of the explicit derivatives. * Apple2 GPUs do not support setting texture sampler compare state via Metal API. As a result, all sample_compare functions including those without LOD options do not work on Apple2 GPUs. This feature was attempting to incorrectly emulate a subset of sample_compare functions with a hard-coded compare state. There are no plans to support shadow samplers on Apple2 GPUs, as it would require non-trivial emulation, so this feature is no longer relevant for that platform. * Metal on macOS 10.15 only supports constant zero as the level parameter for sample_compare functions. Ignoring the passed derivatives and using zero LOD on old OS versions is a better fallback than dropping the derivatives altogether because many applications use the derivatives to set the level to zero anyway. Bug: angleproject:365066518 Bug: angleproject:368059227 Change-Id: I4028421b785ae49328b72658e0a9783275461779 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5903970 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mohan Maiya b3d85cce 2024-09-30T14:28:35 Vulkan: Consolidate write colorspace override states ColorspaceState struct is now used to cache write colorspace related states to determine the colorspace of Vulkan draw image views. ImageViewHelper methods are called during initialization and when colorspace related states are toggled dynamically which in turn process these states and determine the final write colorspace. We can now fully support rendering to EGLImages, with colorspace overrides, via texture or renderbuffer EGLImage targets Bug: angleproject:40644776 Tests: ImageTest*Colorspace*Vulkan MultithreadingTestES3.SharedSrgbTextureMultipleContexts*Vulkan ReadPixelsPBOTest.SrgbUnorm*Vulkan Change-Id: I2be2cd3b5b2b4ac8ecb803c34cde2b846cbd1cbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5901256 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Yuly Novikov 95379bb4 2024-10-07T14:14:16 Suppress flaky end2end test on Linux NVIDIA Vulkan SixteenBppTextureTestES3.RGB5A1UploadRGBA8 Bug: angleproject:362486580 Change-Id: I2e2f36cce2e98e92b6b84d816cf09dd778a5e21d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5913434 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Mohan Maiya b38cc7fa 2024-09-30T12:43:09 Vulkan: Consolidate read colorspace override states ColorspaceState struct is now used to cache read colorspace related states to determine the colorspace of Vulkan read image views. ImageViewHelper methods are called during initialization and when colorspace related states are toggled dynamically which in turn process these states and determine the final read colorspace. Bug: angleproject:40644776 Tests: ImageTest*Colorspace*Vulkan SRGBTextureTest.SRGB*TextureParameter*Vulkan SRGBTextureTestES3.SRGBDecodeTexelFetch*Vulkan Change-Id: I16b3666cd80865936b826dc0738fc9210dabeda9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5901255 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya 605c2f85 2024-09-27T12:00:58 Vulkan: Bugfix in FramebufferVk::blit(...) If any color attachment of GL_DRAW_FRAMEBUFFER is already in use in the currently started renderpass, don't reuse the renderpass for blit. Bug: angleproject:40644776 Tests: Texture2DTestES3.UnitTest_DMSAA_dst_read* Change-Id: Ib4266fc65d0ac7151f362f263e9e706adb1231ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895158 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop f1458429 2024-10-04T09:50:38 Tests: Add Going Balls trace Test: angle_trace_tests --gtest_filter="*going_balls*" Bug: b/371526637 Change-Id: I4fad1ef0e7ec450b22f86767398d3283e2c89427 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5908703 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 3f132f0c 2024-10-03T19:36:20 Tests: Add Woodoku trace Test: angle_trace_tests --gtest_filter="*woodoku*" Bug: b/371501416 Change-Id: I766aac5f0409ab65264955685ac2267c2de457eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5908693 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Yuly Novikov c861f0d6 2024-10-04T14:18:52 Skip KHR-GLES3.framebuffer_blit.scissor_blit on S22 Started failing after VK-GL-CTS roll. https://chromium-review.googlesource.com/c/angle/angle/+/5903935 https://ci.chromium.org/ui/p/angle/builders/ci/android-arm64-exp-s22-test/1316/overview Bug: b/267953710 Change-Id: I63e09c9c1d73a230cf2c12fc079793390d00b095 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905074 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> 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>
Shahbaz Youssefi b16d105f 2024-10-03T10:25:32 Remove Desktop GL front-end support For Desktop GL applications, please use Zink! Bug: angleproject:370937467 Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428 Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 6024e9c0 2024-10-02T08:01:43 Manual roll VK-GL-CTS from 65470ff2e321 to 179dd9f858f0 (27 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/65470ff2e321..179dd9f858f0 2024-09-30 lorenzo@khronosgroup.org Fix build 2024-09-30 mark@igalia.com Support standalone executable builds on Android 2024-09-30 javed@igalia.com Add tests for draw count clamping with null index buffer 2024-09-30 piotr.byszewski@mobica.com Capture replay tests for VK_EXT_descriptor_buffer 2024-09-30 javed@igalia.com Add tests vkCmdDrawIndexedIndirectCount draw count clamping 2024-09-30 rgarcia@igalia.com Add R8 and R16 large image tests in host image copy test group 2024-09-30 ziga@lunarg.com Add missing linked shader object test case 2024-09-30 tapani.palli@intel.com Fix issues with GLX reset notification strategy 2024-09-30 kamil.goras@mobica.com Split KHR-GLES32.core.tessellation_shader.vertex.vertex_spacing 2024-09-30 jimblackler@google.com Handle resize events in EGL bounding box tests. 2024-09-30 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 into vk-gl-cts/main 2024-09-30 lorenzo@khronosgroup.org Merge remote-tracking branch 'vk-gl-cts/dev/VK_EXT_depth_clamp_control' into main 2024-09-30 lorenzo@khronosgroup.org Update Vulkan spec to 1.3.296 2024-09-30 lorenzo@khronosgroup.org Merge remote-tracking branch 'vk-gl-cts/dev/VK_KHR_compute_shader_derivatives' into main 2024-09-20 lorenzo@khronosgroup.org Update SPIRV-Tools, SPIRV-Headers, glslang, Vulkan-Docs, Vulkan-ValidationLayers external sources 2024-09-19 piotr.byszewski@mobica.com Check limits before running mapping_to_large_index DRLR test 2024-09-19 ziga@lunarg.com Test pipeline without render pass or VkPipelineRenderingCreateInfo 2024-09-19 piotr.byszewski@mobica.com Remove invalid dynamic rendering local read tests 2024-09-19 piotr.byszewski@mobica.com Fix pipeline binary graphics tests 2024-09-19 piotr.byszewski@mobica.com Fix pNext chain loop in FSR tests 2024-09-19 kamil.goras@mobica.com Split KHR-Single-GL46.arrays_of_arrays 2024-09-19 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (glGetUniform), PART 11 2024-09-19 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (scissor_blit), PART 12 2024-09-19 marcin.zajac@mobica.com Suballocated DRM images 2024-09-19 piotr.byszewski@mobica.com Test feedback loop with dynamic rendering local read 2024-09-19 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 into vk-gl-cts/main 2024-09-18 jimblackler@google.com Fix error in test logging in all CtsDeqpTestCases 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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Change-Id: Idbc50f78119327844e1488db25d58c1c588f9ff6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5903935 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Mark Lobodzinski 9edd74e2 2024-10-02T09:31:31 Tests: Add Traffic Rider trace Test: angle_trace_tests --gtest_filter="*traffic_rider*" Bug: b/370733451 Change-Id: I35703fcbc350fbbcaf3544ba6143d5bbb1966483 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5902662 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop f680925b 2024-10-01T14:07:03 Tests: Add Warhammer 40000 Freeblade trace Test: angle_trace_tests --gtest_filter="*warhammer_40000_freeblade*" Bug: b/370798324 Change-Id: I77b95721363f3d2cc97a52b2e83ffe5d92e40305 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5902286 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi 572fd30e 2024-09-25T13:33:01 Clean up LineLoopIndirectTest The helper test function runTest() for LineLoopIndirectTest includes some special cases in its args that are not used in all cases, such as consecutive indirect calls. This CL aims to split this function into separate test cases to make each test more readable. * Added functions for some of the common procedures. * Split runTest() into each test suite with the help of the common functions and values as well as the special cases for each. * Removed runTest() from this test suite. * Updated an old bug number (667 -> 42265165). Bug: angleproject:360758685 Change-Id: I98e1facff0a6bad0ee2deca9313644379345d9c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5892535 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi 67a5ea45 2024-09-23T16:09:12 Vulkan: Fix the error from multiple lineloop draws Since Vulkan does not support line-loop draws natively, such a draw call requires the conversion of the related buffers to prepare them for this operation. For glDrawElementsIndirect(), the index and the indirect buffers would need conversion. However, what currently happens in this case is that the original buffer pointer is overwritten after the conversion, removing the link to the original buffer. Therefore, if there is a second line-loop call just after the first, it will try to use the converted buffer as the new source, which leads to errors due the buffer already being in use. The index buffer for the draw is bound when the related dirty bit is handled. Therefore, instead of using the draw index buffer directly for handling the line-loop scenario, we can use the index buffer in the form of a local pointer passed between functions. Then, in order to reconcile line-loop with the other cases, the draw index buffer is set just before setting up the indexed draw. * Functions handling line-loop draws do not modify the element array buffer in VertexArrayVk directly, but use local buffer pointers to pass the current element array pointer to further processing and drawing. * Added mCurrentElementArrayBuffer for ContextVk to be bound to the index buffer to used for draw instead of the one from its vertex array object. * Before the indexed draw, mCurrentElementArrayBuffer is set to the last destination index buffer. * Added unit test that makes a line-loop draw and then a non-LL call using the same element array. Bug: angleproject:360758685 Change-Id: I6d6328f6326c1a1f9f80e5ef346aa077c867d344 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5878764 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov 03b5ea39 2024-09-27T14:03:16 Traces: --offscreen syncs on N-2 frame GPU completion This avoids the issue described on the bug where an app's assumption about double buffering can create a race. This prevents the replay from getting too far ahead rendering to offscreen framebuffers. Also correct mOffscreenFramebuffers to use mTotalFrameCount as the use of mOffscreenFrameCount appears accidental. Bug: angleproject:370089935 Change-Id: I30f438eb66201fe77d61710cbe6e90d47e839dd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895974 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 7c811715 2024-09-25T11:09:44 Vulkan: fix crash when clearing stencil with ClearBuffer Follow up to [1] which fixed a crash with glClear, but the bug remained with glClearBufferiv. This change refactors the "is stencil write masked out" query to always take the framebuffer's stencil bit count into account (practically always 8), which also happens to make the rest of the code checking this query more accurate in the presence of nonsense masks where the bottom 8 bits are 0. [1]: https://chromium-review.googlesource.com/c/angle/angle/+/3315158 Bug: chromium:40207259 Bug: angleproject:42266334 Change-Id: I68a6b0b75c67ed2cdc8c4d03b243efe5495efce1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889788 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski 7b0212b3 2024-09-27T10:02:58 Retrace cod_mobile for minimum requirements Test: angle_trace_tests --gtest_filter=*cod_mobile Bug: b/369984808 Change-Id: Ibf3b5c446311d27b0a78867cbd8cc523f76adcbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895156 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shufen Ma 0621c95c 2024-09-09T09:43:43 Add test for repeated indirect line loop draws This test is used to verify that two indirect draws drawing line loop and sharing the same index buffer works. Bug: angleproject:360758685 Change-Id: I4386e404ed0e0accf0dbb1edab8671e7f2d9939d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5855003 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Mark Lobodzinski 0ec8a7f1 2024-09-26T11:06:25 Prevent multiple solutions when retracing with get_min_reqs Skip extensions that implicitly enable other extensions in the retracer script when running to determine minimum requirements. Test: Retrace cod_mobile with get_min_reqs Bug: b/42266279 Change-Id: Iee6f629d1b338362809ff8880d8a5d9ed7c574de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893959 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi 05c62ebc 2024-09-24T13:41:57 Fix check for whether stencil write is masked out The stencil write mask is the only thing that decides what bits get written to. Previously, this was masked with the reference bitmask to determine if any bits get written to, which is incorrect. The effect of this was that the Vulkan backend would use the READ_ONLY layout for the depth/stencil attachment even though stencil could have been written to the attachment. Bug: angleproject:42266334 Change-Id: Ice6a35f4691fc8e09c7d5e1db6439c3079dfa039 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5887905 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 7e249881 2024-09-25T17:31:18 HLSL: Emulate mix functions when the last parameter is a bool. Add emulation for the ESSL 310 variants of mix that use int and uint vectors and a bool selector. Bug: angleproject:369533080 Change-Id: I0491c50c65529b9d922d4745c0989131b9981048 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5892352 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: dan sinclair <dsinclair@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton 966739ac 2024-09-19T23:49:06 Drop PLS support for EXT_shader_pixel_local_storage Supporting this backend drastically increased the complexity of the codebase, with little return. We don't support memoryless attachments on the web anyway, and since this extension requires us to literally draw the load/store operations, input attachments on Vulkan perform better. Once this implemention is completely removed, we will delete the PLS allow list, which isn't required for the other PLS implementations. Bug: angleproject:7279 Change-Id: Ibb036d36cbd33467e7a94398ce171cda7349e4f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874412 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Matthew Denton a6ee4641 2024-09-25T11:41:47 WGSL: Output default uniform block and accesses to it Default uniforms are put into a WGSL struct, and all accesses of those uniforms now output struct accesses. Similarly to I/O vars and builtins, these are outputted in a pre-pass, but in the future it might make sense to do what Vulkan does and do an AST transformation to put the default uniforms into a UBO which should be outputted similarly. This does not handle bool, matCx2, or array of element size < 16. Bug: angleproject:42267100 Change-Id: If29e2895a8aba3212b581813316af87273c1515c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5878759 Reviewed-by: Liza Burakova <liza@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Yuly Novikov fe6c13d7 2024-09-25T13:34:49 Skip dota_underlords on Linux NVIDIA Recently became flaky on GTX 1660 driver 535.183.1.0. Bug: angleproject:369533074 Change-Id: Ieba8657366687f742812643cb25cadfd7ba09817 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889565 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov f1843343 2024-09-25T14:36:04 Skip flaky end2end test on Metal AMD PolygonModeTest.DrawLinesWithDepthOffset flaky on MacBookPro16,1 Bug: angleproject:369540617 Change-Id: I4c67fde9824817b63215496410490e071d61d278 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5890845 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuxin Hu eaffa034 2024-09-24T20:56:04 Revert "Vulkan: Consolidate colorspace override states" This reverts commit bffcd235ba6c031603d798daaa98f1cf9a3f3e46. Reason for revert: Breaks Android test `org.skia.skqp.SkQPRunner#UnitTest_DMSAA_dst_read`. Details: https://b.corp.google.com/issues/369388539. Original change's description: > Vulkan: Consolidate colorspace override states > > ColorspaceState struct is now used to cache colorspace related states > and used to determine the colorspace of Vulkan image views. > ImageViewHelper methods are called during initialization and when > colorspace related states are toggled dynamically which in turn process > these states and determine the final read and write colorspaces. > > We can now fully support rendering to EGLImages, with colorspace > overrides, via texture or renderbuffer EGLImage targets > > Bug: angleproject:40644776 > Tests: ImageTest*Colorspace*Vulkan > MultithreadingTestES3.SharedSrgbTextureMultipleContexts*Vulkan > SRGBTextureTest.SRGB*TextureParameter*Vulkan > SRGBTextureTestES3.SRGBDecodeTexelFetch*Vulkan > ReadPixelsPBOTest.SrgbUnorm*Vulkan > Change-Id: I1cc2b5bd834b519b83deab4d80a2fcaabeb271d6 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5841290 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: mohan maiya <m.maiya@samsung.com> Bug: angleproject:40644776 Change-Id: I5bf6cf2ed0c8ec22fc02d8c3da92673ee85fe002 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5888506 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov 75297ee9 2024-09-24T13:30:55 Skip dEQP GLES3 crashes on Metal AMD dEQP-GLES3.functional.shaders.builtin_functions.precision.* crash on MacBookPro16,1 Bug: angleproject:369219143 Change-Id: I3ec2ea9e0aef7600dcadd0d939934da9d27a227c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5887047 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cody Northrop ff5dfad5 2024-09-20T11:23:07 restricted_trace_perf: Change loop order Before this CL we are doing: For each renderer For each loopcount For each trace Do the test Write out summary of all results We don't get useful data unless the entire script completes. We are seeing some devices disconnect more often, so let's change the order to preserve data. The loop becomes: For each trace For each iteration For each renderer Do the test Write out summary for the trace Output becomes: native_1945_air_force vulkan_1945_air_force native_1945_air_force vulkan_1945_air_force etc. The final output is unchanged. Raw data will be in a different order. Bug: b/369203495 Change-Id: I09b189b5c578dd520123e4ac850018e75b219aa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5884633 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Mohan Maiya 49ea6f00 2024-09-08T11:32:16 Cleanup ImageTest skip conditions Early-return with a compiler guard prevents a test from being recorded in the skip test list log. Make sure to use the "ANGLE_SKIP_TEST_IF" macros for AHB tests. Bug: angleproject:40644776 Change-Id: I3e15203b8e17512ecb89abc7e53769c06b770213 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842744 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya bffcd235 2024-09-13T14:58:00 Vulkan: Consolidate colorspace override states ColorspaceState struct is now used to cache colorspace related states and used to determine the colorspace of Vulkan image views. ImageViewHelper methods are called during initialization and when colorspace related states are toggled dynamically which in turn process these states and determine the final read and write colorspaces. We can now fully support rendering to EGLImages, with colorspace overrides, via texture or renderbuffer EGLImage targets Bug: angleproject:40644776 Tests: ImageTest*Colorspace*Vulkan MultithreadingTestES3.SharedSrgbTextureMultipleContexts*Vulkan SRGBTextureTest.SRGB*TextureParameter*Vulkan SRGBTextureTestES3.SRGBDecodeTexelFetch*Vulkan ReadPixelsPBOTest.SrgbUnorm*Vulkan Change-Id: I1cc2b5bd834b519b83deab4d80a2fcaabeb271d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5841290 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Charlie Lao 86a24b84 2024-09-20T09:36:02 Add TraceFrameIndex atrace counter This adds TraceFrameIndex atrace counter so that we can identify the exact frame index in the trace. Bug: b/319871513 Change-Id: I6cd20dd78746dd03b43ecea2ac7b102902e82d37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874417 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Yuly Novikov 2ca686d2 2024-09-20T13:48:04 Suppress flaky test on Linux NVIDIA Vulkan dEQP-GLES2.functional.texture.completeness.cube.npot_mirrored_repeat Bug: angleproject:362486580 Change-Id: If1255fd052e8d0e80ef694733af3676414c5beee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873134 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> 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>
Amirali Abdolrashidi f0f65290 2024-09-10T15:30:30 Translator: Add check for atomic counter offset For GLSL shaders, atomic counter offset should not exceed the maximum atomic counter buffer size. This issue was seen on a dEQP test when increasing the LimitToInt() limitation from INT_MAX/2 to INT_MAX+1 or INT_MAX. * Added check to the translator to make sure the offset does not go beyond the max atomic counter buffer size. * Packed the existing checks into a single function. * (checkAtomicCounterOffsetIsValid()) * Added mMaxAtomicCounterBufferSize to TParseContext for the check. * Also added the related cap (maxShaderStorageBlockSize) for D3D11. * Increased the limitation in LimitToInt() to (INT_MAX / 2 + 1). * Added test based on dEQP test that failed on some platforms as a result of updating said limitation. * From KHR-GLES31.core.shader_atomic_counters.negative-large-offset Bug: angleproject:361369308 Change-Id: Id6128c75e12445b2a0029f4a2eb2bdb379cad48d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851650 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski 04c2879e 2024-09-18T11:30:07 Modify retracer script to output min requirements json diff After the ANGLE retracer script runs with the get_min_reqs option, ouptut the json file diff. Bug: b/42266279 Change-Id: Ia744e4e36fb9f8b7e8d498d44412af733c7ed9b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874161 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 260953c3 2024-09-19T14:30:12 Suppress flaky test on Linux NVIDIA Vulkan KHR-GLES31.core.pixelstoragemodes.teximage3d.rgb10a2.16_16_1 Bug: angleproject:365974429 Change-Id: Ic2fe52a7a3adcb3dbdf9e2e585831dfab4d04699 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5875723 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> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Amirali Abdolrashidi e38d25b1 2024-06-21T18:22:32 Vulkan: Implement EXT_clear_texture * Added new functions to TextureVk to clear the image. * clearImage() * clearSubImage() * Both implemented via clearSubImageImpl(), with the former a special case of the latter. * For multisample or renderable images, stagePartialClear() from ImageHelper is called to add the update. * For single-sampled non-renderable images, a buffer is filled with the pixel data and applied to the image as a buffer update. * Added new update type: ClearPartial * Used for renderable textures. This includes multisample textures. * LOAD_OP_CLEAR is used in a render pass to perform the clear. * UtilsVk::clearTexture() * (Uses ClearTextureParameters) * Uses the following functions to get the VkClearValue from the input data and format: * GetVkClearColorValueFromBytes() * GetVkClearDepthStencilValueFromBytes() * ClearPartial updates can also be superseded and removed similar to Buffer updates. * Updated UtilsVk::startRenderPass() to accept a VkClearValue* as an input arg. If used, the render pass will use LOAD_OP_CLEAR. * Enabled the feature "clearTextureEXT" on Vulkan. * Added new unit tests in ClearTextureEXTTest for various formats and pixel sizes. * Added related multisample tests in FramebufferTest.cpp. * FramebufferTest_ES31.ClearTextureEXT* * Disabled some of the new tests failing using OpenGL. * Disabled stencil-only-related tests on Pineapple. Bug: angleproject:42266869 Change-Id: I89c631d68a4ed63d9991abe1783333255ade20dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5778348 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi 3f89dfc2 2024-08-20T17:31:43 Update validation for EXT_clear_texture * Added the validation condition that the texture level to be cleared should have been defined beforehand. * Added the condition to clearTexSubImage() at the frontend to return if any clear extent was zero. * In the validation tests, added checks for the following: * Clearing a texture level before defining it. * Clearing a compressed texture, which is not allowed. * Added setConfigAlphaBits() to ClearTextureEXTTest setup. * Replaced EXPECT_PIXEL_COLOR_EQ with EXPECT_PIXEL_RECT_EQ for ClearTextureEXTTest tests for better coverage. Bug: angleproject:42266869 Change-Id: Ieeb49e9005eba6ef9156d49ff46c71cdf4f04162 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5801655 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Mark Lobodzinski a98f83bc 2024-09-13T10:49:08 Add pre-upload Required Extensions check to trace sync script Add a check to make sure that a new ANGLE trace has been run through the retracer with the 'get_min_reqs` argument before uploading to CIPD. Bug: b/42266279 Change-Id: Id6f847faf22a42062ab189ea9bc7fb9c3506e66b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860299 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Matthew Denton 7e462c22 2024-09-17T15:32:41 WGPU: Implement SetUniform() enough so GetUniform() works Lays out a shadow buffer for basic uniforms per-shadertype in std140, which is close to matching WGPU's layout. This does not actually pass the buffer to WGPU as a uniform buffer. GetUniform() just reads from the shadow buffer. This is copied from the VK backend and so some code is deduplicated. Bug: angleproject:42267100 Change-Id: I727dc9e09a7ccabbb617f148dd68590469883b07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5867444 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org>
Shahbaz Youssefi e8b8749d 2024-09-18T12:00:46 Fix use-after-out-of-scope in CapturedTest The pointer passed to glVertexAttribPointer goes out of scope in frame2(), but was in use by frame3(). Bug: chromium:367752715 Change-Id: Idd8a2d0cced047776efff7015f6548b6f4969aba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873528 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 1a97e039 2024-09-17T11:40:29 restricted_trace_perf: Support multiple users This CL adds some tracking data for the current user and storage locations. It moves away from using sdcard at all. Test: restricted_trace_perf.py with non-default user Bug: b/361388557 Change-Id: Ifff9b5e4ba9b184cc5a4339417723ecb7d35a4a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5869168 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev b98e6bc0 2024-09-12T00:00:00 Translator: Add EXT_texture_shadow_lod functions Added translator support for functions defined in the GL_EXT_texture_shadow_lod extension. Trivially enabled on GL and Vulkan backends. Bug: angleproject:365066518 Bug: angleproject:365108862 Change-Id: Ie1fc8f50e321a559d4506c479d9cebbb48802091 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5867416 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 6e0ae899 2024-09-17T12:12:03 Vulkan: Suppress more rasterizer-discard VUs due to VVL bugs Bug: angleproject:42266678 Change-Id: I7321c28362d1a2be529b9d173c8429c757c26fd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5869444 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 0f4c807a 2024-09-16T12:55:40 Tests: disable batching in gold tests on Android setRequestedOrientation from a previous trace appears to affect pixels. We often see this on CI when a new trace is added which reshuffles traces. For example, in this sequence the first trace sets landscape orientation and the second one goes back to portrait: angle_trace_tests --gtest_filter=TraceTest.dota_underlords:TraceTest.dragon_raja \ --run-to-key-frame --save-screenshots --verbose \ --render-test-output-dir=/tmp/g When the second trace is run independently, the resulting pixels are slightly different. This CL disables batching tests on Android so each trace runs as a new instrumentation/activity. This way the previous trace orientation does not seem to matter. The impact on shard runtime seems minor. Bug: b/367401313 Change-Id: If1c41e45d063d434f92d46be8dd381e645a3ff0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866850 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 44bbfbda 2024-09-16T09:59:56 Tests: deqp no longer logs unused test expectations Similarly to https://crrev.com/c/5238992, deqp is the only suite that does this. Also, this applies only to the current platform (for example, unused expectations with tag VULKAN are not logged when running under Swiftshader). If we actually want to check for unused expectations we should revisit the approach and do it consistently across suites. Logging can cause obscure issues as described in b/361100186#comment3: Tests are executed by first listing the tests, then splitting the list into chunks and executing sequentially with filter=*test1:test2:...testN. The problem is that first part, "listing the tests", is pretty clunky, and instead of using a proper format we usually just parse stdout somewhere. So what's probably happening is "Line 20: expectation was unused." gets printed while listing tests, and the first word, Line, is assumed to be a test name, so we end up with filter=*Line Bug: b/361100186 Change-Id: Id7836640877e3adae04b53f03867028103f159b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866130 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 6d58359b 2024-09-12T00:00:00 Add shadow sampler LOD tests for cubemap arrays Added tests for GLSL 3.10 shadow samplers in fragment shaders with TEXTURE_CUBE_MAP_ARRAY target (with an extension). Bug: angleproject:365066518 Change-Id: I0d47b0af24383177d428ebace045e77f5563593c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866449 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3cabe8c2 2024-09-16T11:09:45 Tests: fix python assertion android_helper.py:43: SyntaxWarning: assertion is always true, perhaps remove parentheses? assert (cls.current_user != None, "Call _GetCurrentUser before using IsMultiUser") This does "assert x" where x=tuple (bool, str) and is never falsey Bug: b/361388557 Change-Id: I79a2d07ac59d611cf5e47f54f3ddb6a336322655 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866133 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Alexey Knyazev b5280aa3 2024-09-12T00:00:00 Add shadow sampler LOD tests for cubemaps Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_CUBE_MAP target. Bug: angleproject:365066518 Change-Id: I2b8577310ea5c258d4d13611607f5c4d9be57e04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865112 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 5e45d53f 2024-09-15T11:12:01 Tests: Add Downwell trace Test: angle_trace_tests --gtest_filter="*downwell*" Bug: b/367019385 Change-Id: Iad12378a0d770e24b5a74db9eee78b0d8cbaa094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5863490 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 005345d4 2024-09-16T11:02:37 Suppress flaky dEQP GLES2 test dEQP-GLES2.functional.texture.filtering.cube.linear_mipmap_linear_nearest_clamp_etc1 on Linux NVIDIA 535.183.01 driver. Bug: angleproject:362486580 Change-Id: Icdf6add6fe4c1f27c8903df12eb42e8b91bffa57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865110 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Alexey Knyazev 9decad75 2024-09-12T00:00:00 Add shadow sampler LOD tests for 2D arrays Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_2D_ARRAY target. Bug: angleproject:365066518 Change-Id: Iab68d7de6709e470ae6a4cd7d94682b454ed2880 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861427 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 27738fe4 2024-09-04T19:53:01 Fix retracer script error due to blank argument Traces fail when running the retracer script if the --request-extensions argument is passed with a blank value. Bug: b/42266279 Change-Id: I1e465caaaa7a5f8d8048c09890b5d01eeb2d0df1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860298 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev e90de4b2 2024-09-05T00:00:00 Add shadow sampler LOD tests Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_2D target. Bug: angleproject:365066518 Change-Id: I5b93d030cd14a388541acaff9f7a707ad599dba3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845491 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 1205d218 2024-09-12T11:46:48 Suppress flaky failures on new Linux Intel and NVIDIA drivers Intel Mesa 23.2.1: Texture2DTest.NegativeAPISubImage/ES2_WebGPU NVIDIA 535.183.01: KHR-GLES32.core.texture_cube_map_array.image_op_compute_sh KHR-GLES31.core.texture_cube_map_array.image_op_fragment_sh Bug: angleproject:362486580, angleproject:360083331 Change-Id: I5038f867ccda43331def4b6ee4253b580a1a6f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854328 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev f0919be3 2024-09-05T00:00:00 GL: Reset color mask before clearing textures Some OpenGL drivers may apply last used color mask state to ClearTexImage operations. Bug: angleproject:347047859 Change-Id: I0bbf103793857b96e50fae8d6dfafc96b8dfe224 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854319 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Yuly Novikov 9f002018 2024-09-11T16:31:50 Suppress flaky test on Linux NVIDIA Vulkan KHR-GLES31.core.draw_buffers_indexed.color_masks Bug: angleproject:365974429 Change-Id: Ib7d1a38aa0d4af999975957791d88b90c770f4a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854322 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> 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>
Cody Northrop 3c93f29b 2024-09-10T20:27:16 Test: Add Chrono Trigger trace Test: angle_trace_tests --gtest_filter="*chrono_trigger*" Bug: b/365875548 Change-Id: Ifd9f2c09f93716341fb36b79e7c7ae5291fa9ed2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5852912 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 8a8ca298 2024-09-10T14:34:11 Tests: Add Brawlhalla trace Test: angle_trace_tests --gtest_filter="*brawlhalla*" Bug: b/365824633 Change-Id: If3a5213661ffb041903a84a12713e04588b516e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851640 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Matthew Denton c2a9300c 2024-09-10T19:33:33 WGSL: Rewrite input/output variables GLSL builtin variables and in/out variables correspond to WGSL's main function params and return value, so rewrite them accordingly. This is done by generating structs to use as main function params and return values, generating similar global structs, and copying the former into the latter so the rest of the program can just use the variables stored in the global structs. Bug: angleproject:42267100 Change-Id: Ic3e1196f6fb95b963ce03845096a59ea7599d608 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5835347 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Yuxin Hu 61a255cb 2024-09-10T10:56:58 Skip the critical_ops trace on S22 This trace crashes on S22: https://chromium-swarm.appspot.com/task?id=6bf09c55e48e1710. Skip it to keep the bot green and investigate the crash offline. Bug: b/267953710 Change-Id: Id8fc9f4b014ed3d97ca7cce2f56bc49cd9ef380f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851574 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Rafael Cintron 6655e94f 2024-09-09T15:41:09 Remove Feature Level 9_3, part 2 Remove all of the remaining feature level 9_3 code. Bug: angleproject:355462523 Change-Id: Ifd15d8f5486d3e7f8f2e134f23872abf4a8ea51c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5847452 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Dan Glastonbury d40d1a67 2024-09-05T14:56:46 Metal: Fix OverrideMTLClearColor handling of no texture It's possible for OverrideMTLClearColor to be called with no texture. This can happen with multiple draw buffers where the bound program executable and framebuffer has incompatible component types. When the render pass is prepared by a drawing command, these incompatible attachments are skipped. As demonstated by the new test case, when switching to the framebuffer that has previously been prepared by such a draw, if the state is clean, the render pass attachments are not updated and |texture| is unavailable for use in determining any emulated clear color. Fixed: angleproject:364687937 Change-Id: I1ec9b564dc8cdb5faf7a1ed0f935d38502ca5514 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836314 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Dan Glastonbury a0126d55 2024-09-06T11:58:58 Metal: Clear mRenderPassesSinceFlush to avoid infinite recursion When there is more than kMaxRenderPassesPerCommandBuffer render passes with active occlusion query, it's possible for the Metal backend to end up in infinite recursion of the following call sequence: `ensureCommandBufferReady` -> `flushCommandBufferIfNeeded` -> `flushCommandBuffer` -> `endEncoding` -> `endRenderEncoding` -> `prepareRenderPassVisibilityPoolBuffer` -> `getBlitCommandEncoderWithoutEndingRenderEncoder` -> `ensureCommandBufferReady` This recursion is caused by the checks in flushCommandBufferIfNeeded not being disarmed once the flush has started and is most likely caused by |mRenderPassesSinceFlush| exceeding |kMaxRenderPassesPerCommandBuffer|. This change moves the clearing of |mRenderPassesSinceFlush| to the top of of `flushCommandBuffer`, before any calls to `endEncoding`, breaking the need to call `flushCommandBuffer` via `getBlitCommandEncoderWithoutEndingRenderEncoder`. Additionally, |OcclusionQueryPool::mUsed| is set to false before the results are cleared. This will also break the recursion and is added for the `mCmdBuffer.needsFlushForDrawCallLimits` case in `flushCommandBufferIfNeeded`. Change-Id: Ib54c0a87ae9c5365ae56d487b6bef99b681d9f59 Fixed: chromium:362791944 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5839224 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop bda33598 2024-09-08T16:08:04 Test: Add Critical Ops trace Test: angle_trace_tests --gtest_filter="*critical_ops*" Bug: b/365417418 Bug: b/365524876 Change-Id: I3e6f3278a9c6ea819d61a0136986631b19170018 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5843583 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop e19377af 2024-08-21T14:52:09 Tests: Support multiple users on Android On most Android platforms, the userId is '0' and many of our defaults just work. But on some, the default is non-zero, and that complicates things. To support this, we have to specify which user is correct, which can be determined with: adb shell am get-current-user Update everywhere we were using sdcard directly and use: Before: /sdcard After: /storage/emulated/<userId> Incorporate the userId to find the application's home directory: Before: /data/data/com.android.angle.test After: /data/user/<userId>/com.android.angle.test This CL: - Starts using a user flag in our Android scripts - Updates where tests look for test data and binaries - Updates where scripts use temp and external storage - Updates script to not use sdcard at all when root - Disables run-as when user is not default Bug: b/361388557 Change-Id: I0fb556ecb2d0f6bc6569a858c290b127217d4638 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825122 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov 49a8d05c 2024-09-05T17:41:07 Tests: Add end2end test .so library to AOSP build m[mm] external/angle:libangle_end2end_tests__library produces libangle_end2end_tests__library.so I tested that integration with Chromium wrappers works with some manual patches; no integration is included in this CL. googlest/gtest dependencies replaced with platform libgtest, libgmock TestSuite heavily depends on rapidjson so it is currently excluded, only the standard gtest implementation is included (--gtest_list_tests, --gtest_filter, --gtest_output etc) This also disables support for expectation files as it is piped through TestSuite instance. Bug: b/279980674 Change-Id: I35cb2328d74a3ac778e1d93bb4fe4ac044920b6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5838526 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mark Lobodzinski 61c26fd6 2024-08-29T10:11:00 Tests: Add Passmark benchmark Unity trace Add trace of the 'OpenGL ES using Unity ' benchmark case of the Passmark performance test suite. Test: angle_trace_tests --gtest_filter=*passmark_unity* Bug: b/362801313 Change-Id: I15a57fefdb4959e60196646aa5053b6fa5960bcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825785 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Rafael Cintron d1a4b0ff 2019-05-04T17:15:42 Remove Feature Level 9_3 code Feature Level 9_3 was originally added for developers creating apps for devices which did not have the DirectX 9 API and are no longer supported. Hence, we can remove the corresponding code in the 11 backend. Bug: angleproject:355462523 Change-Id: I22db15640b435c61db4d82a815edbc65cecc4e12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824661 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Igor Nazarov 177d15b3 2024-08-23T19:34:34 Vulkan: Simplify WindowSurfaceVk::prepareSwap() method In case of swapchain recreate inside `prepareSwap()`, perform unlocked ANI call as usual. ANI processing will be done late in `swap()` or `getBufferAge()`. This is possible, because surface `getWidth/Height()` is no longer require valid `mColorRenderTarget`. Because of the above, `swapchainRecreatedOut` parameter was removed. Additionally, `getBufferAge()` now uses `doDeferredAcquireNextImageWithUsableSwapchain()` in order to process possible VK_ERROR_OUT_OF_DATE_KHR error and recreate the swapchain, instead of failing. Test: angle_end2end_tests --gtest-filter=EGLSingleBufferTest.AcquireImageFromSwapImpl* Bug: angleproject:6851 Bug: angleproject:8133 Change-Id: Ieb375781da2b1108d0a5e11dbb012885a946688e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806335 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Cody Northrop 21b286a1 2024-08-28T15:06:10 Trace replay: Call glFinish before screenshots On some platforms we're getting partial or no results in the screenshot, even though it ends up displaying correctly on screen. Adding a glFinish before glReadPixels clears up the issue. Bug: b/42263221 Change-Id: Id5d2384c01fece1f7cd4d79b7cc599d082fb2864 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824180 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Cody Northrop 56ea2edc 2024-08-30T11:01:48 Traces: Update regex for power rails Bug: b/354006406 Change-Id: If014c49ccdbb6e0a57c0dc88833511049c3578ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828131 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao e4be31ca 2024-08-29T14:30:11 Test: Add VertexAttribPointer test with different offset The first test draw with VertexAttribPointer with smaller offset and then followed by draw with VertexAttribPointer with larger offset. The second test draw with larger offset and then followed by draw with smaller offset. They will exercise logic in backend that may reuse the conversion buffers (when forced format fallback is used). Bug: b/357622380 Change-Id: If325a0547e5f80305125f448e9f987896f3e35bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5827285 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Yuly Novikov 4dfba10a 2024-08-30T15:05:44 Skip passmark_complex on Linux Intel Bug: b/362801312 Change-Id: I743261c7f5086d5aaf98d28c1b32fa494c0fc2e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5822715 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kimmo Kinnunen 8c211b10 2024-06-20T13:51:20 Metal: Clear depth pbuffers to 1 for robust init Robust resource initialization would init depth pbuffers as 0.0 instead of 1.0. This would differ from the FBO initialization, where the uninitialized depth buffers would be initialized to 1.0. Bug: angleproject:348199042 Change-Id: I0f251e85d6e08ce992fe323b257a0906d237f5b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5642763 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Mark Lobodzinski 28d82804 2024-08-29T10:05:09 Tests: Add Passmark benchmark Complex trace Add trace of the 'Complex' benchmark test of the Passmark perofrmance test suite. Test: angle_trace_tests --gtest_filter=*passmark_complex* Bug: b/362801312 Change-Id: Ic85874140fa22f97c13b1be043120e8ccc428c96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5826921 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski c3309dbd 2024-08-23T15:47:27 Tests: Add Passmark benchmark Simple trace Add trace of the 'Simple' benchmark case of the Passmark performance test suite. Test: angle_trace_tests --gtest_filter=*passmark_simple* Bug: b/362784518 Change-Id: I387efb5cc0d7b1ee8c731f2fdedc56806701169c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824181 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Brian Sheedy c094d4bc 2024-08-26T18:00:50 Enable tests on linux-exp-nvidia Enables tests on the new linux-exp-nvidia builder. Bug: chromium:357573052, chromium:362545033, chromium:362486580 Bug: chromium:362728695 Change-Id: Ib2f1c2edb139be1b3b2225dd9a9ec88df2bf1a84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5814931 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Mark Lobodzinski fc4f0ac0 2024-08-21T12:54:13 formatutils: Allow 16-bit formats for renderbuffer with ext in GLES1.0 These format/use combinations should be available before ES 2.0 if the GL_OES_framebuffer_object extension is present: GL_RGBA4 GL_RGB565 GL_RGB5_A1 An E2E test is included. Test: angle_end2end_tests --gtest_filter=*FramebufrerObjectTest.RenderBufferObject* Bug: b/361370571 Change-Id: I0bc4cf43733a312c2847ebd63075338b365571d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5805221 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev b52f281a 2024-08-20T00:00:00 Metal: Remove unused and obsolete availability macros * Both usages of ANGLE_APPLE_AVAILABLE_XC are obsolete. * ANGLE_APPLE_AVAILABLE_CI and ANGLE_APPLE_AVAILABLE_I are unused. * iOS and tvOS SDK version ranges are supported without redefinitions. * Mac Catalyst is defined in the supported SDK versions. Bug: angleproject:360147119 Change-Id: I8e7730c31f73c03d491373a0a5d316432513d8a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5817148 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev be4532be 2024-08-20T00:00:00 Metal: Update availability macros in tests IsMetalTextureSwizzleAvailable is always false on Simulator. IsMetalCompressedTexture3DAvailable is always true on the supported platforms. Bug: angleproject:360147119 Change-Id: I297f7649071143b0cf3c20d5adc8fc3deca88910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816830 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 2177be94 2024-08-26T17:32:22 Manual roll VK-GL-CTS from 21ff94426906 to 824d14748364 (13 revisions) Manual roll requested by syoussefi@google.com * KHR-GLES3: * Removed outdated test names to resolve the unused expectation warning. * (After test name changes, they no longer exist in the mustpass test list.) * KHR-GLES31: * Unsuppressed a test that no longer fails. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/21ff94426906..824d14748364 2024-08-23 ziga@lunarg.com Fix build on windows 2024-08-23 MengYang.Liu@amd.com Add test cases for maxPushConstantsSize queried from device 2024-08-23 mate@rastergrid.com Fix waiver mechanism for Vulkan SC testing 2024-08-23 gsweet@broadcom.com Check fillModeNonSolid before using non-solid fill modes 2024-08-23 gleese@broadcom.com Add extra fast-math decoration in OpPhi tests 2024-08-23 ziga@lunarg.com Test pipeline using compatible render pass without resolve attachment 2024-08-23 ziga@lunarg.com Fix crash in local read max input attachments test 2024-08-23 gleese@broadcom.com Revert "Test mismatched dimensionality" 2024-08-23 ewerness@nvidia.com Default --deqp-terminate-on-device-lost to enable 2024-08-23 kamil.goras@mobica.com Split KHR-GL46.shading_language_420pack* 2024-08-23 kamil.goras@mobica.com Split KHR-GL46.packed_pixels.* 2024-08-23 syoussefi@google.com Fix missing GL barriers in `LoadStoreMachine` tests 2024-08-23 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 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 abdolrashidi@google.com,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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: b/350994515 Bug: angleproject:40096882 Tbr: abdolrashidi@google.com,syoussefi@google.com Change-Id: I9db95cedef583120733c34c8630864fbad3c36f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5812210 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Geoff Lang e10e31ed 2024-08-26T12:56:42 WebGPU: Add error handling macros for debugging. Add a ANGLE_WGPU_SCOPED_DEBUG_TRY to create an error scope, execute some commands and pop the scope in builds with assertions enabled. A follow-up with full error handling at frame boundaries is still needed. Bug: angleproject:362191737 Change-Id: I4af9e1587f6d70bf14a3f6435b487e26424624ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5813006 Reviewed-by: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 8281af52 2024-08-15T16:26:02 Skip timing out end2end tests on Samsung S24 Xclipse. Add GALAXYS24 expectation tag and skip: FramebufferTest_ES31.ChangeFBOSizeAndAttachmentsCount FramebufferTest_ES31.ChangeFBOSizeWithNoAttachments FramebufferTest_ES31.CreateNoAttachmentFBOWithDifferentSize FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments Bug: angleproject:359904354 Change-Id: If88fa3876b7fcf534d99fee75b5aa4fa6da140c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5808948 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 6f97a8b3 2024-08-21T13:25:28 Vulkan: Add two tests for vertex conversion Two glBufferSubData calls and then use the buffer (get down to the vertex conversion code path, at least with forced fallback config). The test will exercise the logic regarding the conversion with multiple dirty ranges. Two tests are added in this CL, one with two overlapping range and another with non-overlapping range. Bug: b/357622380 Change-Id: Id8fa23a6e1511e2f03c002782ab99f167416ca02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5805244 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 41309a2f 2024-08-20T08:01:27 Manual Roll VK-GL-CTS from 50e83129b558 to f105fd7ea388 (16 revs) Added deqp.gni changes for: gl3cPrimitiveRestart.hpp/cpp es3cDriverErrorTests.hpp/cpp https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/50e83129b558..f105fd7ea388 2024-08-16 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 into vk-gl-cts/main 2024-08-16 ziga@lunarg.com Fix race condition in EGL multithreading tests 2024-08-16 younggwan.kim@arm.com Add coverage for depth bound test without depth attachment 2024-08-16 tomek.bury@broadcom.com Fix dEQP-EGL.functional.fence_sync.valid.egl_fence_persistent_buffer 2024-08-16 okuznetsov@google.com New tests group for known driver error tests 2024-08-16 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (primitive_restart_mode), PART 10 2024-08-16 piotr.byszewski@mobica.com Test DRLR remapping while using shader object 2024-08-16 ziga@lunarg.com Test drawing with stencil test and without vkCmdSetFrontFace 2024-08-16 rgarcia@igalia.com Reuse scratch buffer creating acceleration structures back-to-back 2024-08-16 rgarcia@igalia.com Test preemption with VK_KHR_global_priority 2024-08-16 rgarcia@igalia.com Removed ESO compute tests using Amber 2024-08-16 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11 into vk-gl-cts/main 2024-08-14 syoussefi@google.com Remove DE_NULL's definition 2024-08-05 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2024-08-05 ziga@lunarg.com Fix broken build on windows 2024-08-04 michal.jakubek@mobica.com VK_DEFINE_PLATFORM_TYPE macro doesn't accept nullptr 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,cnorthrop@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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I71223610821b102501a78eea2abecb95d10f4910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5799167 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Le Hoang Quyen f102d75a 2024-08-14T19:52:30 Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format. Currently when IOSurface is bound to a pbuffer with GL_RGB internal format, we asign angle format=B8G8R8A8_UNORM/R8G8B8A8_UNORM to it. And then disable alpha write to the respective MTLTexture. However, when an implicit MSAA texture is created for the above pbuffer, it will be assigned B8G8R8A8_UNORM/R8G8B8A8_UNORM angle format but has no knowledge about alpha write disable. Consequently, when a render pass uses this implicit MSAA texture, its alpha channel won't be cleared properly and would contain garbage values. In order to avoid the above bug, we should use B8G8R8X8_UNORM/R8G8B8X8_UNORM angle format for the IOSurface pbuffer. This will fix the render corruptions found in chromium:358957665. Bug: angleproject:42261786 Bug: chromium:358957665 Change-Id: I8aa1e24ace2de80dd08e21711445515ba4b339ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5788801 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Geoff Lang 2f2cdbb8 2024-08-19T11:05:22 D3D11: Fix uniform setting for mat3 followed by float A single float following a float3x3 will pack tightly in the last row of the matrix. The uniform setting code for matricies would write a full row stride's worth of data for the last matrix row, overwriting the float packed at the end. Update ExpandMatrix to only write colsSrc worth of values in the last row. Bug: angleproject:42266878, chromium:345525082 Change-Id: Ieb616972387501cd8c30f02b267f86a7f81cf01a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5796631 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Le Hoang Quyen 1a191b1d 2024-08-16T17:31:38 Metal: add an option to emulate DontCare loadOp with randomized Clear. This is useful for testing undefined initial values caused by DontCare MTLLoadAction on non-tiled GPUs. Bug: angleproject:42261786 Change-Id: Id5c4a9ee8510a8a9143bdd67e276bfcf2bd7eaa5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5791386 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Roman Lavrov 2f28264e 2024-08-15T18:05:43 Trace perf: add origin/main revision to summary if != HEAD Bug: None Change-Id: Iacacd98993d7dc5fbea8489b46236e939f465689 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5792199 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 31ad61c4 2024-08-15T16:31:23 Skip end2end WebGPU tests flaky crashing on Linux Intel Seen on UHD630 Ubuntu 22.04 Mesa 23.2.1 experiment. Bug: angleproject:360083331 Change-Id: I63f1eda1dc3ef7f64e3b5e37b678a31ac9a190af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5786999 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> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mark Lobodzinski 77616aa3 2024-08-14T13:22:32 Tests: Add Gwent Witcher Card Game trace Test: angle_trace_tests --gtest_filter="*gwent_witcher_card_game*" Bug: b/359910003 Change-Id: I6b93d36ac58df7639f07b7f21107f4d4522f6cee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5789276 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang da572160 2024-07-23T16:36:10 Reland: GL: Forward client-side arrays to the driver when possible The OpenGL driver can handle client-side arrays when the context is OpenGL ES or a desktop GL compatibility profile. When in these situations, use the driver default VAO for all frontend context VAOs and forward client-side data directly to the driver. Fix synchronizing the default VAO state for external contexts. There is no valid VertexArrayStateGL for external VAOs so make sure it's nulled and the VAO dirty bits are set so the correct VAO state is reapplied. Disable syncing to the default VAO for external contexts. The only VAO that they can share with ANGLE's internal state is the default VAO so avoid having to save and restore its state. Bug: angleproject:355034686 Change-Id: I015bbbc854938fe4bc1e92d0ca8fe04628d0db16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5743284 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6fddb18d 2024-07-26T12:44:23 GL: Disable heavily emulated extensions for non-WebGL. The multidraw and base vertex base instance extensions are heavily emulated in ANGLE's GL backend, manipulating vertex arrays multiple times per draw. This is often a performance improvement for deep pipelines such as WebGL but slower for shallow stacks like Chrome's rasterization. Mark these extensions as "emulated" and disable them in the frontend for non-WebGL contexts. Only EXT_base_instance can have true native support. Add a frontend feature to re-enable these extensions and use it in the existing end2end tests. Bug: angleproject:355645824 Change-Id: I897559fb270e2aa0f476d7784d25d97574e28f43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5743837 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang b36d94dc 2024-08-02T16:23:03 WebGPU: Implement viewport and scissor Tested using samples. dEQP tests covering viewport and scissor require more shader translation to be completed. Bug: angleproject:0 Change-Id: Ia76f2edeea5a07af1881704a21fafb64ab7df43a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5756127 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov c1767fd9 2024-08-13T12:37:18 Suppress deqp_khr_gles31 failure on Samsung S22 KHR-GLES31.core.shader_image_load_store.basic-allTargets-loadStoreCS regressed in http://ci.chromium.org/ui/p/angle/builders/ci/android-arm64-exp-s22-test/912 http://chromium-review.googlesource.com/c/angle/angle/+/5719258 Bug: angleproject:350994515 Change-Id: I342043208cd85acf2877399f9a528c3dd428631b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5785959 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 1735415a 2024-08-13T10:14:57 Remove unused deqp_khr_gles3 expectations KHR-GL33.cull_distance.functional was split into individual cases in https://chromium-review.googlesource.com/c/angle/angle/+/5710888 Also move SWIFTSHADER expectations added in that CL to be after VULKAN ones, to avoid conflicts due to VULKAN expectations applying to SWIFTSHADER as well. Bug: b/353358652 Change-Id: Idebfba9ef90b7e882d7072538722a591c9dc007b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5785955 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 3d6cf23c 2024-08-12T16:26:03 Skip end2end tests failing on iOS simulator Bug: angleproject:359136169 Change-Id: Ic1100d74f308c6d8a3d2f450e8b5f46e8539f2a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5782861 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> 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>