src/tests


Log

Author Commit Date CI Message
Mohan Maiya 1d9b8d80 2023-01-24T16:50:32 Reland "Add support for glShaderBinary" This is a reland of commit 228973e73135924ddf6116e0b63eff5a1ccbf232 with the following fixes - 1. Apply patch from Yuly to fix chromium build errors 2. Fix ShaderBinaryTest instantiation call 3. Add ShaderBinaryTest to expectations file for IOS Original change's description: > Add support for glShaderBinary > > This patch adds the following - > 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token. > 2. Compiler support to generate shader binaries. > 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for > Vulkan translator. > 4. Support to load GL_SHADER_BINARY_ANGLE binaries. > 5. end2end tests for glShaderBinary. > > Tests: ShaderBinaryTest* > Bug: angleproject:7833 > Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: mohan maiya <m.maiya@samsung.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:7833 Change-Id: I21135c52e2bae955342a99aff5631ba0e687eff1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195852 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mike Schuchardt 6938b883 2023-01-26T13:57:00 Tests: Add Dragon Ball Z Dokkan Battle trace Test: angle_trace_tests --gtest_filter=TraceTest.dragon_ball_z_dokkan_battle Bug: angleproject:7980 Change-Id: If7a69d81d7256a90420fad65739ff61e907f5d16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4198477 Commit-Queue: Mike Schuchardt <mikes@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop bed19c47 2023-01-26T10:41:23 Tests: Add Bubble Shooter and Friends trace Test: angle_trace_tests --gtest_filter="*bubble_shooter_and_friends*" Bug: b/266823872 Change-Id: I6dfec3b3349675791e3cb7c41bed52b146cb7bee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195848 Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev ef0fe638 2023-01-16T00:00:00 Implement EXT_polygon_offset_clamp * Added polygonOffsetClamp to the RasterizerState * Adjusted State::setPolygonOffsetParams * Added PolygonOffsetClampTest end2end tests * Added StateChangeTestES3.PolygonOffsetClamp test * Suppressed the affected dEQP test as it has a bug Capture * Updated serialized rasterizer state * Updated CaptureMidExecutionSetup OpenGL * Rely on the EXT extension defined both for desktop and ES contexts * On desktops, might as well use the ARB extension or GL 4.6 once ANGLE supports them D3D11 * Requires FL10_0 or higher * Maps to D3D11_RASTERIZER_DESC.DepthBiasClamp * Drive-by cleanup of extensions init code Vulkan * Requires depthBiasClamp physical device feature * Maps to the depthBiasClamp parameter of the vkCmdSetDepthBias command Metal * Maps to the clamp parameter of the setDepthBias command Bug: angleproject:7957 Change-Id: If6b28df4084f0a81db29f75fb434e75d394c8730 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4169945 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Sean Risser 0133b6f1 2023-01-20T16:02:27 Add GL_ARM_shader_framebuffer_fetch builtins Bug: b/242419750 Bug: angleproject:7882 Change-Id: I85582ad21e58e448b740789ec88f783c8b95ee01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4189028 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Sean Risser <srisser@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 862e3e95 2023-01-26T10:01:23 Skip failing capture/replay multithreaded test Bug: angleproject:7423 Change-Id: If193d7d2cdbec661c4d73cd039341333f8f1936d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4197835 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 0c9cbf39 2023-01-26T12:07:51 Revert "Add support for glShaderBinary" This reverts commit 228973e73135924ddf6116e0b63eff5a1ccbf232. Reason for revert: breaks compile on ANGLE into Chromium roll https://cr-buildbucket.appspot.com/build/8790942326644064097 https://cr-buildbucket.appspot.com/build/8790942759045412865 https://cr-buildbucket.appspot.com/build/8790942417069789217 Leaks detected on ASAN https://cr-buildbucket.appspot.com/build/8790946657703508337 Original change's description: > Add support for glShaderBinary > > This patch adds the following - > 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token. > 2. Compiler support to generate shader binaries. > 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for > Vulkan translator. > 4. Support to load GL_SHADER_BINARY_ANGLE binaries. > 5. end2end tests for glShaderBinary. > > Tests: ShaderBinaryTest* > Bug: angleproject:7833 > Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: mohan maiya <m.maiya@samsung.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:7833 Change-Id: Ice19576acbc1351810ff0cd769ac17ad6c0abdf3 No-Try: true No-Presubmit: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4197375 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov b64b573b 2023-01-25T18:25:27 Capture/Replay: disable more multi-threaded tests. EGLMultiContextTest tests similar to the already-disabled tests in MultithreadingTestES3 Something flaked in https://ci.chromium.org/ui/p/angle/builders/try/win-trace/4839/overview Bug: angleproject:7423 Change-Id: I4a484954bca727a053437d1d6e52562f2b1344a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4191998 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 228973e7 2023-01-24T16:50:32 Add support for glShaderBinary This patch adds the following - 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token. 2. Compiler support to generate shader binaries. 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for Vulkan translator. 4. Support to load GL_SHADER_BINARY_ANGLE binaries. 5. end2end tests for glShaderBinary. Tests: ShaderBinaryTest* Bug: angleproject:7833 Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao 6a5e61cd 2023-01-11T16:49:52 Vulkan: Make ThreadSafeCommandQueue's wait without lock This CL makes all wait functions in ThreadSafeCommandQueue class to wait without holding the lock, so that other contexts can still submitting commands or make calls into CommandQueue. To make this work, Shared<Fence> has been refactored into SharedFence class which is RAII and manages refcounted VkFence object. It's copy constructor simply adds a reference to the underline fence object, so that the local copy of a SharedFence object guarantees underline vkfence will remain valid. RAII makes sure that local copy of SharedFence will not leak refcount. The ThreadSafeCommandQueue wait functions makes a local copy of SharedFence so that it can unlock and wait and then relock. This CL also adds a new test for this: EGLMultiContextTest.ThreadBCanSubmitWhileThreadAWaiting Bug: b/261106868 Change-Id: I96ecfa1d9f7a3dc646ff2287d789313a9f8fb75d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4159871 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuxin Hu c9094ca6 2023-01-25T11:46:44 Skip flaky tests dEQP-GLES31.functional.image_load_store.buffer* Skip these flaky tests on OpenGL backends on Windows and Linux: dEQP-GLES31.functional.image_load_store.buffer.atomic. comp_swap_r32i_return_value; dEQP-GLES31.functional.image_load_store.buffer.atomic. comp_swap_r32ui_return_value Bug: b/266710445 Change-Id: I78684e661ec789ff116658c06c8c341b4db8aa9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194034 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 9a72a98e 2023-01-19T13:17:42 Vulkan: Fix the VVL error for shaderRead to shaderRead barrier When we use image from fragment shader read to vertex shader read, we detect the case (same layout with only shader stage change) and just merge the barrier into one. But that can only done if these two usages are for the same render pass. If it is different render pass, then you still have to issue a new barrier. Previously there is no way to detect that the barrier was issued for which render pass. With the fix in crrev.com/cl/4136948, we now know which render pass issued the last barrier. With that we are able to limit the shader stage consolidation only if they are for the same render pass, thus fixing the VVL errors. Bug: angleproject:6663 Change-Id: I3d884336e8cf1f3cf16fc3e5a3423357ae2ed3c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4182542 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jeff Vigil 6338909e 2023-01-19T13:18:41 EGL: Remove protected content test case Remove Protected content test: Protected context with unprotected texture since it is a spec violation to render to an unprotected texture from a protected context Bug: angleproject:7967 Change-Id: I40ce205a962614fe726417b0ed921b3a5133c079 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4182560 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Jeff Vigil <j.vigil@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 057997e4 2023-01-20T16:47:00 Tests: Add CSR2 Drag Racing trace Test: angle_trace_tests --gtest_filter="*csr2_drag_racing*" Bug: b/266249089 Change-Id: I61e4d44fa9ed4bfc5cce1177189d93397cc8a8ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184944 Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov 77e995c0 2023-01-20T15:03:45 Tests: Add Family Island trace Bug: b/266228507 Change-Id: I077236dad048662f093f65a7702a27b09205bdd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4185155 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 134acaba 2023-01-20T11:34:55 Tests: Add Royal Match trace Test: angle_trace_tests --gtest_filter="*royal_match*" Bug: b/266220659 Change-Id: I7fcc81611dd2a566ba9b6f7cc97ea6efdc345339 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184935 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Cody Northrop d2be1163 2023-01-18T23:10:26 Tests: Add Words of Wonders trace Test: angle_trace_tests --gtest_filter="*words_of_wonders*" Bug: angleproject:7965 Change-Id: I6fa9176a1ae90a85421aed6ed5a2101155bbe87b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4179705 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Jamie Madill 2c4de3a7 2023-01-03T16:07:35 Trace Interpreter: Support Genshin Impact. Includes a couple fixes: - parsing hexidecimal values instead of enums - support sharing strings and functions between modules - support 32-bit int pointers Bug: angleproject:7887 Change-Id: I6e20a64a862c45c17ccde78a58d6069d83b31867 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4135797 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill c0931807 2023-01-18T12:26:35 Fix flaky Capture/Replay FenceSyncTests. These tests were flaky because of the window size. Bug: angleproject:6510 Change-Id: Ib3fc9de75ab3ffa2c4ff95e6ac9fedea1055c993 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178013 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 90b6d511 2023-01-13T10:06:12 Vulkan: Add support for AHB usage FRONT_BUFFER flag AHB usage flags have been updated to include front buffer usage. AHBs tagged with this flag need to be handled similar to single-buffered window surfaces especially w.r.t glFlush semantics. Account for the new usage flag when deferring flushes. Bug: angleproject:7956 Test: Android VTS GraphicsFrontBufferTests.* Change-Id: I79440d8447ac569c3d785de191815d2d2f3f069f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4167063 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Jamie Madill fb94622c 2023-01-18T14:47:56 Trace Tests: Clean up desktop skips. These were confusing SwiftShader and ANGLE / Native drivers. Fix these by using helper variables. This isn't an issue on Android because our Android tests don't have SwiftShader. Bug: angleproject:7887 Change-Id: I414f59a8eb1155aaf8b98bf5c3104273cbb5b72d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178015 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 2ce5a632 2023-01-18T11:01:41 Log screen state if log=debug. Prints either of: mScreenState=ON_UNLOCKED mScreenState=ON_LOCKED mScreenState=OFF_LOCKED Oddly, there doesn't seem to be a standard way to do this on Android, so using the nfc trick with "|| true" to ignore potential failures. Also setup logging using the util in run_angle_android_test as the current way seems to no longer be working. Bug: chromium:1405504 Change-Id: I448be86e8f0d72905948e68ffb076605273fa958 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178011 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Qin Jiajia e58e77f5 2022-11-10T12:49:03 Support timestamp behind flag enableTimestampQueries All timestamp queries happen in the same disjoint query in one Context11. The whole design is that we start a disjoint query in D3D11 at the first timestamp request and keep it continuously running in current context. Only end it and read it back when the user queries if there is a disjoint. We cache the frequency and assume it doesn't change. For the first timestamp, we create a temporary D3D disjoint query and end it so we have a frequency to convert the ticks to nanoseconds. This task is taken over from https://chromium-review.googlesource.com/c/angle/angle/+/3694732 Bug: angleproject:7367 Change-Id: I747c9b00e10ac58362df66332efd01a24aa395f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4021139 Commit-Queue: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 24527150 2023-01-12T12:55:59 Fix test teardown in ProgramPipelineTest31. We were deleting objects in the test desctructor, which could cause crashes in TSAN. Bug: angleproject:7944 Change-Id: Ib9d4f236cc79bcb20c971feca86d053120440769 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4162557 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao 410d8ba5 2022-12-21T13:27:00 Vulkan: Cleanup ContextVk::hasStartedRenderPass APIs ContextVk has a few hasStartedRenderPass APIs which interpret "start" inconsistently. A RenderPassCommands' life should be notStarted, started, requestEnd, and end (which is equivalent to notStarted). When someone calls onRenderPassFinished on a started renderpass, it does not immediate endRenderPass, but it will set DIRTY_BIT_RENDER_PASS dirty bit so that next draw call will trigger endRenderPass and start a new renderPass. We do not have a name for this state, which adds some confusion. This CL renames the stage between start and onRenderPassFinished to be "active" renderpass, when you have mRenderPassCommandBuffer pointer being valid and you can actively adding draw commands into the renderPass. For this purpose, I haves renamed hasStartedRenderPass to hasActiveRenderPass. This CL also simplifies hasStartedRenderPass implementation to only check mRenderPassCommandBuffer and turned mRenderPassCommands.started as assertion. This CL also changes hasStartedRenderPassWithQueueSerial to actually check mRenderPassCommands.started instead of being "active", so that name reflects what it is actually checking. This CL also changed hasStartedRenderPassWithCommands to hasActiveRenderPassWithCommands to make name and implementation consistent. One added benefit of this is that after this CL we now allow load/store optimization on a started but inactive renderPass as well (for example glInvalidateFramebuffer call after glFenceSync call, or invalidate after FBO blit as demonstrated by MultisampleResolveTest.ResolveD32FSamples tests). Bug: angleproject:7903 Bug: angleproject:7551 Change-Id: I8c8ec4c0d54b9ad0a9e373108dfce6b151c8fe0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119693 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev 8f1a7190 2022-12-23T00:00:00 Accept clip distance enums for simple queries State variables for which IsEnabled is listed as the query command can also be obtained using any of the simple queries. Bug: angleproject:4452 Change-Id: I075db600b772e5370c72c0f4de9b35e007259987 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4158331 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill e21b95ed 2023-01-11T12:56:29 Fix bad ANGLE GL tests. These tests were calling GLES functions in the destructor, which would lead to nullptr deferences. This was only caught in TSAN for some reason. Bug: angleproject:7947 Change-Id: I47dd0edba19d029757c8ddb282ca06a7e1baab45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4157174 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi f1872822 2022-12-22T17:17:37 Vulkan: Fix imageless framebuffer VVL issue In some tests, including some blink tests, there were cases of VVL messages spamming the output log, even though they did not always cause a failure. Investigation showed that in some cases, the call to EGL_CreateImageKHR() was not setting all the attributes in the ImageHelper object that is used later for an imageless framebuffer, specifically the one created in VkImageImageSiblingVk::initImpl(). * Added the usage flags and view formats in the new image created in VkImageImageSiblingVk. * Added a Vulkan image test to make sure the error is fixed. Bug: b/261473248 Bug: angleproject:7845 Change-Id: I1874b2930e9ce62e5b603cf7acff6fd78b957d5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117584 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev d0c936cf 2022-12-23T00:00:00 Check clip and cull distance storage qualifiers When redeclared, these built-ins must be outputs in vertex shaders and inputs in fragment shaders. Bug: angleproject:4452 Change-Id: I811764009669ec358f05eb7a26297742baf2de63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4120264 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Constantine Shablya e6057341 2023-01-11T00:35:34 Add test coverage for CL 3906392 Test: angle_end2end_tests --gtest_filter="*ColorMaterialTest*" Bug: angleproject:6201 Change-Id: Ic92a185f60180d6e88a5a414626e3d9b4585e2b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152532 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell 70b5620e 2023-01-10T17:16:41 Metal: skip out variable rewrite for array element references. ANGLE_elem_ref already returns a reference which is incompatible with the ANGLE_out and ANGLE_inout builtins. Skip the rewrite for this builtin, similarly to swizzle_ref for which it was already skipped. Add a small regression test which catches this bug. Fixed: angleproject:7939 Change-Id: Iff8ead697220466ceb063ea2f8eebdb7d9e5896d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152866 Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0d06cb47 2023-01-10T15:33:30 Disable ContextCompatibilityTests on TSAN. Registering these tests causes issues with local runs on Linux. Bug: angleproject:7944 Change-Id: I7ec9ac45bb0d66e3b934bab0d06dbfa3f1ab5d0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153010 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Roman Lavrov 2b1bc4fd 2023-01-09T12:17:17 Upload angle metrics to the gs bucket in skia perf format. ConvertToSkiaPerf converts the data format from angle_metrics.json to what skia perf ingests. Injestion happens automatically when the gs bucket is updated. Example data from this CL on non-perf bots with upload enabled (smoke mode so actual values aren't meaningful): https://angle-perf.skia.org/e/?queries=buildername%3Dlinux-test%26metric%3Dwall_time%26test%3Dtrex_200 Bug: angleproject:7299 Change-Id: Ica700b586e08c205968fbc3c1d15cf742ad537f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4148167 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Akihiko Odaki bec220f6 2022-11-01T22:05:30 Translator: Fix operand component specifications Before this change, TIntermConstantUnion::foldUnaryComponentWise always used the first operand component for some operators. Use the operand component corresponding to the result component. Bug: angleproject:7801 Change-Id: I99a941a9eee0c10a4bcb3f515aa5cbf5accc0d52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996520 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Auto-Submit: 小田喜陽彦 <akihiko.odaki@gmail.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Cody Northrop fa612d04 2023-01-09T19:38:42 Tests: Add MARVEL SNAP trace Test: angle_trace_tests --gtest_filter="*marvel_snap*" Bug: angleproject:7941 Change-Id: Ie028c3184966d2f10717ed6fd0fabe8ecad75c8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4149929 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 493f3f31 2022-11-11T17:01:40 Reland "Vulkan: Only allocate default attribute if needed" This is a reland of commit 85c98a92bb763452133bd7b4580d80625bb2c75d Original change's description: > Vulkan: Only allocate default attribute if needed > > mDirtyDefaultAttribsMask has all bits set when starts. > ContextVk::handleDirtyGraphicsDefaultAttribs() is looping all dirty bits > and try to allocate buffer for it, which means we are looping 16 > times when app starts. This CL changes to allocate a buffer only if used > by program. > > Bug: b/258862506 > Change-Id: I2f0a75d1fe141c9ac3101088fdc4ce4f60b0c4ee > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024544 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: b/258862506 Bug: angleproject:7866 Change-Id: Iad0b6a6ce5ec42e48461a199773eb8dc9976265e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4144938 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev 9d5d619c 2022-12-26T00:00:00 Adjust clip distance compiler state and validation The internal uniform, which is used for passing GL state on some platforms, could be removed by GL drivers when built-ins are not accessed; this may lead to failed frontend assertions. Refactored relevant compiler state and validation helpers to avoid ambiguous usage. Added ClipCullDistanceTest.Unused test. Bug: angleproject:4452 Change-Id: I06fdf9a69e01afb2ad11fa12e0510d8b0421e4bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143839 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 6e3f4048 2023-01-09T11:13:34 Log free space on device (df -h) if log=debug. Bug: chromium:1405504 Change-Id: I4c4f2e291bf10669b55adcd08bc57e338ca8ae62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4147388 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuly Novikov 1f997cef 2023-01-06T19:09:37 Skip crashing final_fantasy trace perf on Pixel 6 native Bug: angleproject:7936 Change-Id: Ied2399e66052d3b3f2b26f39c32aaf3950579eea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143838 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuly Novikov ca0489f0 2023-01-06T13:13:55 Skip couple flaky trace perf tests on Win Intel beach_buggy_racing on Vulkan aliexpress on native Bug: angleproject:7934 Change-Id: I78f78174e95aa0a4bab6685efb62b52f87e6e4f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143158 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 341f2908 2023-01-04T16:17:17 Vulkan: Remove the car_chase skip This should now be fixed by crrev.com/c/4133548. Re-enable the test for pixel6. Bug: angleproject:7916 Change-Id: Ice0adc2c81c797f31354e086e5606744941de311 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137290 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 2662f28f 2022-12-30T17:26:22 Vulkan: Fix imageRead from RP and outsideRP simultaneously When a texture is been sampled from both fragment shader and compute shader, you will have the same VkImageLayout. We will not try to end renderPass, which means you end up running into similar situations with OutsideRenderPassCommandBufferHelper::bufferRead where an image is already read accessed by a started renderPass and now read accessed by an outsideRenderPassCommands. Since renderPass has greater queueSerial, we should not tag it with outsideRenderPassCommands' queueSerial. This CL also adds two tests, one for color texture and another for depth texture (which is car_chase uses). Both exposes the same bug. Bug: angleproject:7916 Change-Id: I840ca8947caeb7a96c4c9ccb7c9eca2476837c9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133548 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Yuly Novikov d88464de 2023-01-05T17:27:48 Skip 2 slow trace perf tests on Win Intel five_nights_at_freddys on Vulkan pubg_mobile_launch on native Bug: angleproject:7929 Change-Id: Ie6ebcc3db616a55fdbb9f1a0d67c950b80dc2010 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133268 Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuxin Hu 5f1ab1d1 2023-01-03T11:48:51 Fix Deferred Flush Bug On Android Hardware Buffer When does app read from Android Hardware Buffer is outside of ANGLE's control. If we defer glFlush, it is possible that when the app is reading from AHB, the commands have not been flushed and executed, causing app to read unexpected data. This change adds a check to not defer glFlush when the Framebuffer draw attachment is Android Hardware Buffer. Bug: b/262886794 Change-Id: Ie0606f71b1a4f4f20511b7327e7ffb8c096ac727 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126700 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Jamie Madill 968c429e 2023-01-04T14:18:11 Tests: Use ISOLATED_OUTDIR for test artifact directory. This should fix the missing CAS outputs on the bots. Bug: angleproject:7926 Change-Id: Id09e5ccc19a454e2c0bf63076788187f3c7ef24f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4135158 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 056f8044 2022-10-11T11:58:20 Perf tests: write metrics to file and read from merge script. The idea behind is to save metrics in a structured output with full context so that we don't have to parse stdout and reconstruct that context (e.g. which test was running when the output was printed etc). Note: we already have a "histogram" file (addHistogramSample) written but it is structured using some UUID-based ids making its digestion more complicated (https://anglebug.com/7299#c3). This CL just writes events as one-json-per-line simplifying downstream handling and debugging. Just a sanity check / logging in the merge script for now. Bug: angleproject:7299 Change-Id: I56dada643eceef180ce9bb1aa9ae6a641ea41e4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3945112 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop b354667e 2022-12-24T12:21:17 FrameCapture: Fix tracking of glCopyImageSubData When tracking texture updates during glCopyImageSubData, choose an enum supported by PackedEnum when looking up the textureID. Also add a test for a common pattern used by the Unreal Engine that trips up FrameCapture. Test: CopyImageTestES31.CubeMapCopyImageSubData/* Bug: angleproject:7913 Change-Id: I6c0fee69064cc6dc81177093ec9461dd5ccc152a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126449 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a0939325 2023-01-01T17:41:33 Tests: Add Catalyst Black trace Test: angle_trace_tests --gtest_filter="*catalyst_black*" Bug: angleproject:7921 Bug: angleproject:7924 Change-Id: I626d6790ef602f3ca09c9c9a4e03c5df32a985ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133886 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 7c08f0a5 2023-12-03T00:00:00 Skip ClipCullDistanceTest.SizeCheckCombined on TSAN Bug: angleproject:7922 Change-Id: I19c9ce729be8bf7a68517f340cd001332f22be08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4134844 Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop b5a8cb42 2022-12-30T21:00:54 Tests: Add Cut the Rope trace Test: angle_trace_tests --gtest_filter="*cut_the_rope*" Bug: angleproject:5823 Bug: angleproject:7920 Change-Id: I6c607c593d828623afadff5677e0a8324e6b89f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129086 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Jamie Madill 71e89320 2023-01-03T09:10:08 Tests: Support multiple filters with ":". Now we can run multiple traces per invocation, e.g.: "trex_200:among_us" Bug: angleproject:7775 Change-Id: I8e8176d444f20ae97234469ab8c553543b81b331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4132944 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop e5efa2a7 2022-12-30T17:10:37 Tests: Add Portal Knights trace Test: angle_trace_tests --gtest_filter="*portal_knights*" Bug: angleproject:7919 Change-Id: Ie11fd45afdd2cb70d1caef2e0006ba26ac5fdf25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129107 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 8e2b87ac 2022-12-29T21:19:29 Tests: Add MU Origin 3 trace Test: angle_trace_tests --gtest_filter="*mu_origin_3*" Bug: angleproject:7917 Change-Id: Ic00a42d3c8b7c6c92a66c09c258a32d22e5f4805 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129866 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Cody Northrop b9e38879 2022-12-28T21:00:57 Tests: Add Agent A: A puzzle in disguise trace Test: angle_trace_tests --gtest_filter="*agent_a*" Bug: angleproject:7914 Change-Id: I3be5192a64c400b341b313e92211126e3ad1fd38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4128940 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 4a8bc146 2022-12-29T17:26:05 Skip angle_restricted_trace_gold_tests.car_chase asserts on Pixel 6 Assert failed in setSerial Bug: angleproject:7916 Change-Id: I05a91cfd29194e29e6c512c9001c064951dcf466 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4127959 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Yuly Novikov fe704fb5 2022-12-27T18:34:43 Crash end2end tests when loading driver library fails Switch from GTests's ASSERT_NE(), which allowed to continue execution and hid the error from Swarming, to ANGLE's ASSERT(), which makes bots to report this error. Bug: angleproject:7885 Change-Id: I7937a9419f3fbfd9f6ab2d696e40771bde763a1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126355 Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 309269ce 2022-12-23T18:10:22 Fix ReadOnlyFeedbackLoopTestES31 not instantiated on iOS Bug: angleproject:7899 Change-Id: I0641574cae2f74315297df8eac0268ab5676dd3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116926 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 6c41793f 2022-12-20T15:20:50 Vulkan: Use read/write depth/stencil layouts This allows an application to have depth in read-only feedback loop while stencil is being written to for example. Bug: angleproject:7899 Bug: b/192477489 Change-Id: Ic2e11d32da7c7e3a7f3cd86dbafc5c56a0dbbfd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116730 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 067ace47 2022-12-21T00:00:00 Add ANGLE_clip_cull_distance extension Added an extension spec. Trivially exposed it on GL, Vulkan, and D3D11. Adjusted tests and validation to allow no cull distance support for this extension string. Removed extra built-in variable definitions. Bug: angleproject:7904 Change-Id: Ic60772dfe28132c316eaa29aadc1afd66e3b0fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114290 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao 295f6830 2022-12-21T10:56:03 Vulkan: bufferRead should accommodate deferred endRenderPass ContextVk::onSyncObjectInit() will request end of current renderPass but deferred (in this case, mRenderPassCommandBuffer is nullptr but mRenderPassCommands->started() still returns true). The next draw call will actually end current renderPass and starts a new renderPass. But if next call is glCopyBufferSubData, it will not actually trigger endRenderPass. This CL modifies OutsideRenderPassCommandBufferHelper::bufferRead logic to accommodate this deferred endRenderPass scenario by checking mRenderPassCommands->started() instead of hasStartedRenderPass so that the answer to "if this buffer been used by current renderPass or not" will return correct result. Bug: angleproject:7903 Change-Id: Ie5c9977ccf083e7d355a2cd8fd08e9077049ee9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119692 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Mohan Maiya cc34aa73 2022-12-19T14:03:27 Move BinaryStream to common and expose ShaderState to compiler This is a refactor change in preparation for adding support for glShaderBinary. Move BinaryStream to common so that it is accessible by both libANGLE and the Compiler. Extract members that hold the result of compilation from ShaderState and move into new CompiledShaderState struct. Move helper functions & classes relevant to ShaderVar serialization to the CompiledShaderState header. Tests: EGLBlobCacheTest* Bug: angleproject:7833 Change-Id: I7ec575247eccb3afbc6ab6bfa24d36e69d4576f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4080998 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Cody Northrop 9bcb8f7d 2022-10-24T21:13:13 Tests: Add Grimvalor trace Test: angle_trace_tests --gtest_filter="*grimvalor*" Bug: angleproject:7787 Change-Id: I87768d0ca0fd97bc1239841dacdf6f7ae62e588d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976065 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 7d8cbb60 2022-12-21T00:00:00 Fix typo in EXTClipCullDistanceForFragmentShaderTest Bug: angleproject:5747 Change-Id: I26baa29302472821706c0354ea855183608ebc5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116721 Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop e4935563 2022-12-20T23:34:26 Tests: Add Wayward Souls trace Test: angle_trace_tests --gtest_filter="*wayward_souls*" Bug: angleproject:7905 Change-Id: Ib7922df51411140f71481a0d5bdb4f54274b6f05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117139 Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 91a5635a 2022-12-16T00:00:00 Support arbitrary clip and cull distance array sizes Removed limitSimultaneousClipAndCullDistanceUsage cap. Enhanced HLSL translator to support all valid combinations of clip and cull distances. Validate that these arrays are sized explicitly or by using only constant indices; adjusted link program error message. Enhanced tests to cover all possible combinations of implicit and explicit array sizes for both built-ins. Bug: angleproject:4452 Change-Id: I704db6dc3c8951e5ba482a3e4dad09e5b0182f9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111645 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Cody Northrop 8668cac1 2022-12-17T20:24:13 Tests: Add My Friend Pedro trace Test: angle_trace_tests --gtest_filter="*my_friend_pedro*" Bug: angleproject:7898 Change-Id: Iae0427ac714704214dec292199cd1c5d2097b17f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114830 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 88e94b20 2022-12-19T12:20:51 Skip Flaky Timeout InstancingTestES3.LargeDivisor on Windows Swangle Bug: angleproject:7900 Change-Id: Ic5522b54b53e3e2eca664a0b7050de0e586e7a51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117133 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cody Northrop d53ba51f 2022-12-17T16:31:31 Tests: Add Disney Mirrorverse trace Test: angle_trace_tests --gtest_filter="*disney_mirrorverse*" Bug: angleproject:7897 Change-Id: I1b49c253e606f08c5af80f8f9b60b8948a0d5121 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114829 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Mohan Maiya 6769ef2b 2022-12-16T15:34:21 Vulkan: Bug fix in setupIndexedDraw Reset ContextVk::mCurrentIndexBufferOffset to 0 after a call to ContextVk::convertIndexBufferCPU(...) irrespective of whether the buffer binding is dirty. Bug: angleproject:7896 Test: DrawElementsTest.DrawElementsWithDifferentIndexBufferOffsets* Change-Id: I70a63b7e432aaa9f8c647e56bd162312143abd65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113446 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Gregg Tavares be9e8e7b 2022-12-14T14:13:39 Add EGL_ANGLE_wait_until_work_scheduled extension We're changing eglReleaseTexImage so it calls flushCommandBuffer(mtl::NoWait) instead of flushCommandBuffer(mtl::WaitUntilScheduled) and then adding an extension to allow us to WaitUntilScheduled. This is because Chrome calls eglReleaseTexImage for every canvas and having it WaitUntilScheduled per call is very slow. So instead we'll call eglWaitUntilWorkScheduledANGLE once which will effectively wait just once. Bug: angleproject:7890 Change-Id: I87bc9f9a1a7f4a0f99d93736cc3083799e76afeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109311 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Cody Northrop eea7a553 2022-12-16T00:32:33 Tests: Add Sonic Forces trace Test: angle_trace_tests --gtest_filter="*sonic_forces*" Bug: angleproject:7892 Change-Id: I2a8dabf1be14dc4eb1f9393290941821700ac57e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113290 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 4704eb49 2022-12-15T23:16:45 Tests: Add 20 Minutes Till Dawn trace Test: angle_trace_tests --gtest_filter="*20_minutes_till_dawn*" Bug: angleproject:7891 Change-Id: Id626ca865ed8a0d55367de2e1753fbafdbfe6ee1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112765 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 2ce2146b 2022-12-12T15:31:29 Fix --render-test-output-dir to work in TestSuite. https://crrev.com/c/3956937 introduced the issue where this flag is consumed by ANGLEPerfTestArgs.cpp logic which runs before the TestSuite constructor and removes the flag so we end up with an empty mTestArtifactDirectory in TestSuite. Bug: angleproject:7755 Change-Id: Ic32d3a2ddceca7842a0aebe5a1e40cbedaedf2eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097325 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 001ba94e 2022-12-14T20:10:44 Tests: Add Plants vs. Zombies Heroes trace Test: angle_trace_tests --gtest_filter="*plants_vs_zombies_heroes*" Bug: angleproject:7848 Change-Id: Ieb8721401aa3d270b459d60944f12468ea2dbd28 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109319 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 77c95de4 2022-11-16T21:12:28 Vulkan: Threaded monolithic pipeline creation With this change, once a pipeline is created out of libraries, a task is scheduled (if necessary) to asynchronously create a corresponding monolithic pipeline. Once the task is complete, the linked pipeline handle is replaced by the monolithic one, gaining back any performance that might have been lost due to the use of libraries. Bug: angleproject:7369 Change-Id: I525fb1e09f8bedc61b9dbef19f9cce7026ff9c53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031151 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 65e3ec8e 2022-12-13T14:01:45 Revert "Re-enable dEQP-EGL.functional.resize.surface_size on Linux." This reverts commit e4b55b85bc8c0680c58daf2d312f0174db14f755. Reason for revert: Still flaky https://ci.chromium.org/ui/p/angle/builders/try/linux-test/10487/overview Original change's description: > Re-enable dEQP-EGL.functional.resize.surface_size on Linux. > > These were flaky, let's see if recent X11 related changes fixed this. > > Bug: angleproject:5753 > Change-Id: I9f112f8d01cb838bc588b818a0a7d0a4ec5fd087 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097404 > Auto-Submit: Roman Lavrov <romanl@google.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: angleproject:5753 Change-Id: Ia3042f65754f1436eca6d8ce014cc73245c4c7e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4100406 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Amirali Abdolrashidi 052277fc 2022-11-30T15:18:11 Fix the input arg after the trace_tests change * Added angle_trace_tests as an acceptable input for run_angle_android_test.py after the change to split trace tests from perf tests. Bug: angleproject:7755 Change-Id: Ia95d20c1ba8479c14055aa1515c1c4b6dc264a86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068354 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov e4b55b85 2022-12-12T10:22:09 Re-enable dEQP-EGL.functional.resize.surface_size on Linux. These were flaky, let's see if recent X11 related changes fixed this. Bug: angleproject:5753 Change-Id: I9f112f8d01cb838bc588b818a0a7d0a4ec5fd087 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097404 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov f08fd32d 2022-12-12T15:44:39 Skip DrawElementsIndexOutOfRangeWithDynamicDraw on Win Intel Bug: angleproject:7866 Change-Id: I0eb403e8217da5a9bd1602e3297b581ed34be28e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4096988 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov f98d3f6c 2022-12-12T15:18:37 More PixelLocalStorage skips on iOS Bug: angleproject:7756 Change-Id: I90865aec0bb5b685396962c1a4376adca99c6537 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4096987 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 55670895 2022-12-08T10:50:27 Vulkan: Move desc set updates cache to share group This ensures that if one context batches updates to a descriptor set, that other contexts in other threads are able to flush them if necessary. This is necessary as descriptor sets are themselves shared between contexts. Bug: b/261552549 Bug: angleproject:7881 Change-Id: Id1a895b05fe31d118e8fb3fa64e5ccd67cff7923 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088904 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Shahbaz Youssefi fd75686e 2022-12-07T16:40:54 Vulkan: Fix EGL image queue change vs threads ANGLE records commands (a queue transfer and layout transition) when an external image is bound to a texture or a renderbuffer. If another thread starts using these resources, the recorded commands should have been flushed. The application is not required to synchronize between the threads in this case (or at least, there are applications that don't). Bug: b/261552549 Change-Id: I9f345316269baf5f10576dbef73b86924efd5c6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088903 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Yuly Novikov cc6a8536 2022-12-09T18:01:53 Skip couple non-deterministic angle_restricted_trace_gold_tests on Win Intel Vulkan. black_desert_mobile the_gardens_between produce slightly different images each run. Bug: angleproject:7879 Change-Id: I3a7c218b8e67b4800b4620ab7d1dc6ee15a5a089 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4092915 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 104faff5 2022-12-09T15:01:54 Enable angle_restricted_trace_gold_tests retries on Win Intel UHD630 Flaky 4x8 pixel artifacts like with older GPU/driver. Also expand flaky Texture2DTestES3.NonZeroBaseEmulatedClear skip. Bug: angleproject:5415, angleproject:7866 Change-Id: Iea11f7dcb75e71f89dcf83f0cdde7ff74d6385f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4092005 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Chris Dalton eb1a13d8 2022-12-06T21:56:42 Improve PLS load and store op tokens Define more new tokens that are more clearly named, as opposed to recycling tokens that were meant for a different purpose. Bug: angleproject:7279 Change-Id: I840e5ea168235c49eec2693b2231c2d329027b0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4082057 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 54176f07 2022-12-08T15:58:05 Better support for "vulkan-null" backend in trace tests. This allows running the "null" Mock ICD with the Vulkan secondaries version, and allow you to specify "vulkan-null" as an ANGLE back-end generally. Bug: angleproject:7852 Change-Id: Id8c59a167345a6079bd71916ae6ef9c41a6039a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089449 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org>
Alexis Hétu c9e7fd9c 2022-12-08T22:20:32 Revert "Skip AssignAssignmentToSwizzled on SwS Linux/Win" This reverts commit 0f7471ff610f3de0a9ef7f28b4bfc4bbbf693dc1. Reason for revert: Attempting a Revert to see if the tests are now fixed. Original change's description: > Skip AssignAssignmentToSwizzled on SwS Linux/Win > > Bug: angleproject:7863 > Change-Id: I9921e2e08834f793071ea07b211941bc8887b313 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4082150 > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bug: angleproject:7863 Change-Id: I341da5b2c51fe7f22fc1958680cb7a955ee10c7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4090823 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Yuly Novikov 28290e34 2022-12-08T16:11:55 Skip Texture2DTestES3.NonZeroBaseEmulatedClear/ES3_Vulkan on Win Intel Bug: angleproject:7866 Change-Id: I747d30d9774e237f9733eed0e0007d0c10b553cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088983 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 81a3c71e 2022-12-01T18:51:39 Enable tests on Win Intel Optiplex 7080 experimental bot Suppress failing end2end tests and run single process Suppress VUID-VkDescriptorImageInfo-imageView-06711 Bug: chromium:1349828, angleproject:7874 Bug: angleproject:7865, angleproject:7866, angleproject:7872 Change-Id: I18c9099af6635cf41f5368960dc1d35d9decc48c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4071925 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 583fc6a7 2022-12-07T16:21:36 Skip FramebufferExtensionsTest.ColorBufferHalfFloat on iOS Bug: angleproject:7853 Change-Id: I25f2a37a64ac2445b4eb5eb567acf32834f5e55f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4085142 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Amirali Abdolrashidi dad69cc7 2022-12-06T12:00:39 Suppress rgb_to_hsl_vertex test on Pixel 6 Bug: angleproject:7867 Change-Id: I2678c0db19fafb780245f818f365e88c7736c5ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4083524 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Amirali Abdolrashidi 0f7471ff 2022-12-05T16:28:41 Skip AssignAssignmentToSwizzled on SwS Linux/Win Bug: angleproject:7863 Change-Id: I9921e2e08834f793071ea07b211941bc8887b313 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4082150 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev 87815de2 2022-12-01T00:00:00 Adjust GetFramebufferAttachmentParameterivBase validation GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT state queries should be allowed for ES 2.0 clients when floating-point color buffer extensions are enabled. Bug: angleproject:7853 Change-Id: I4a0a3b336e44648635233be54f598a3ab20cf717 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4071926 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2031e215 2022-12-02T15:30:54 Fixes for Vulkan secondaries build. Includes the defined name of the alternate library in every build, so that platforms without Vulkan still have access to the library name define. Also fixes checks for the ANGLE driver in the tests to work with the new secondaries enum. This will let developers run trace tests with the vulkan secondaries library. Bug: angleproject:6811 Change-Id: If3846d68e532238f0b1c1c506638867a23fb4357 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4076513 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao f17cb883 2022-11-30T17:23:12 Vulkan: Add two tests for per context queue serial work SubmittingOutsideCommandBufferTriggersEndRenderPass: This test is added to test outside command buffer uploads that triggers endRenderPass works properly. CreateMultiSharedContextAndDraw: This test is added to test draw with shared vertex buffer in the shared context group works properly. Bug: b/255414841 Change-Id: I8b4f343fe220a9f0b7c6e042f4663e23ae6f4c9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4064148 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill aaee3c23 2022-11-30T14:24:13 Build and test ANGLE with Vulkan secondary CBs. This will allow us to run tests with both permutations of ANGLE (custom secondaries & Vulkan secondaries) in the same build directory. It will also allow us to run these configs as tests on our infra. This CL adds a few simple test to CI. Bug: angleproject:6811 Change-Id: I053f8cc5bafc2a7ab7d0665da9301f0ba7f8417f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4067806 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Chris Dalton 9bd9c1c2 2022-11-03T11:49:33 Workaround for AMD [[raster_order_group()]] bug Metal [[raster_order_group()]] does not work for read_write textures on AMD when the render pass doesn't have a color attachment on slot 0. To work around this we attach one of the PLS textures to GL_COLOR_ATTACHMENT0, if there isn't one already. Bug: angleproject:7792 Bug: angleproject:7803 Bug: angleproject:7818 Change-Id: I7567ed28ed30c7e3ca23dc52778ed90f2fdff965 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4004529 Reviewed-by: Kyle Piddington <kpiddington@apple.com> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Nicolas Capens 938f4372 2022-11-30T15:30:23 Move trace_event into anglebase This originates from Chromium's base/trace_event/ so it doesn't need to be under a third-party folder. Bug: b/260093525 Change-Id: Iab7a40569b6c1f91454f099c07bf51e3ce4b65df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068342 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Nicolas Capens c991eb22 2022-12-01T14:05:07 Move the anglebase folder up a level This code originates from Chromium's base/ directory so it doesn't have to be under a third-party folder. Bug: b/260093525 Change-Id: I0bf6950095c685f36c5c237093980a64cf6e74f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068339 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Chris Dalton a4db9477 2022-10-06T10:35:39 Implement pixel local storage with metal::read_write textures Metal's programmable blending feature isn't available on non-Apple Silicon, so on these devices we have to polyfill pixel local storage using read_write textures, which can also be coherent if raster_order_groups are supported. This change leverages the existing PLS transformation to images, and implements just enough shader image functionality in Metal to support the pixel local storage usecase. Missing shader image features are marked with UNIMPLEMENTED(). Bug: angleproject:7279 Bug: angleproject:7792 Bug: angleproject:7794 Bug: angleproject:7797 Bug: angleproject:7803 Change-Id: Ia96a714693d352d57351a1bae4f45437dde000e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993363 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Kyle Piddington <kpiddington@apple.com>