src/tests


Log

Author Commit Date CI Message
Gregg Tavares 20ddb802 2021-10-28T11:01:12 Fix Blitting in Metal backend. The Metal backend was clipping in integer space. If the src and dst are not the same size, say src is 3 wide and dst is 4 wide, and src starts at -1, then src will be clipped by one making the src 2 wide. It got 1/3 smaller so the dst get 1/3 smaller making it 2.666 pixels wide. The dst then needs to be expanded to pixels so 3 wide. But, that means the src also needs to be expanded 0.3333 * 3(originalSrcWidth) / 4(originalDstWidth) so its new left edge is -0.245 which is not an integer. Bug: angleproject:6598 Change-Id: I2faa966b18b457f474a3e7f6844ef64bfa66dbe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251683 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Commit-Queue: Gregg Tavares <gman@chromium.org>
Jamie Madill c31855ea 2021-10-28T13:29:17 translator: Always report gl_FragData array size. Previously we would report it as size 1 always if the extension was missing. This was breaking a dEQP. The test may have a bug, but we need to work around the issue until the upstream test is fixed. See https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3259 Bug: angleproject:6566 Change-Id: I5ac654f472f0e227d63804896ecc388081bec5e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251586 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 7bda9d73 2021-10-22T11:53:20 DisplayVkAndroid: Always expose EGL_RECORDABLE_ANDROID. Expose EGL_RECORDABLE_ANDROID in the config for all Vulkan drivers on Android to provide app compatiblity with "My Talking Tom 2" and "My Talking Tom Friends". Don't require config to be unavailable in EGLRecordableTest and request a config with EGL_RECORDABLE_ANDROID enabled, but do not check for results. Bug: angleproject:6612 Change-Id: I25113b7c7f9a4a3b13dc625f01d96ba91cb3c6d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237001 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 5c914b57 2021-10-28T13:27:04 Vulkan: SPIR-V Gen: Fix float+matrix Found by a fuzzer, float+matrix was not handled correctly by the SPIR-V output. Bug: chromium:1264212 Change-Id: I09b13c3e48374621228f5fab4de68c33973ddfd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251585 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten dacfa917 2021-10-28T12:49:33 Disable flaky multithreaded tests The following multithreaded tests are flaky in CQ and are being suppressed: VulkanMultithreadingTest.MultiContextDrawSmallDescriptorPools/ES3_Vulkan MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader Bug: angleproject:5418 Bug: angleproject:6633 Change-Id: I170085064597165972b7206d98130917bb46fcaf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251684 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Brandon Schade 5da062ba 2021-10-06T11:15:00 Translator: Fixed textureGatherOffsets validation The parser only considered the case where the input to the textureGatherOffsets() function is an aggregate constructor node, but not if it is a pre-initialized constant variable. Added code to handle the constant variable case. Tests:KHR-GLES32.core.gpu_shader5.texture_gather_offsets_color KHR-GLES32.core.gpu_shader5.texture_gather_offsets_depth Bug: angleproject:5362 Change-Id: Ib1dd3450071341082ea6f0f2a243c3bb3ef6b95a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217852 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Tim Van Patten e514e159 2021-10-27T17:54:00 win-trace: Skip failing tests The following test is failing on win-trace: ProgramBinaryES3Test.SaveAndLoadDetachedShaders/ES3_Vulkan_SwiftShader MultithreadingTest.MultiContextCreateAndDeleteResources/ES3_Vulkan_SwiftShader MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader MultithreadingTestES3.MultithreadFenceTexImage/ES3_Vulkan_SwiftShader MultithreadingTest.MultiContextDrawWithSwapBuffers/ES3_Vulkan_SwiftShader This CL adds them to capture_replay_expectations.txt. Bug: angleproject:6631 Change-Id: Ibb74afc6ff4b799e15bb8ead4d7fae0ce81620bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248572 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Kyle Piddington db83279a 2021-10-27T10:45:23 Metal: Use 'fast' normalize to match DEQP expectations Normalize' has a fast math option that more conformantly deals with INF in normalize functions. Use metal::fast::normalize instead of metal::normalize This also matches SPIRV-Cross behavior for normalization Bug: angleproject:6629 Change-Id: I61392ecd6f61b612d21f2832e07a135e26b53ad6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248145 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org>
Kyle Piddington c1b42740 2021-10-25T17:45:19 Metal: Use ES3 validation for GL_R/RG8_EXT formats Fix 6 fboCompleteness tests by setting the Metal conformance version to ES3, rather than ES2. This causes ANGLE to select the backwards compatible ES3 validation rather than the ES2 validation. The FBO completeness test may have a bug related to extensions in it, as limiting the Vulkan backend to ES2 conformance causes it to fail in the same manner of Metal. Bug: angleproject:6618 Change-Id: I64d87ea7b9e1957baab05b6380fe09e8271393a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244023 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ca5e6f68 2021-10-27T11:28:08 Vulkan: Fix accessing stale FB cached variable. This would happen when we start a query after deleting a Framebuffer. Bug: chromium:1262091 Change-Id: I595360bf55fe1757779669f168c95be802b70da5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248142 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Gough 1d2752d8 2021-10-26T11:41:58 disable cfguards for all deqp tests Previous attempt[0] to fix this was too precise, this now disables cfguards for angle tests at the angle_deqp (source_set, shared_library, test) level. See crbug.com/1260874 - This works around a codegen bug for Windows x86 that is blocking us landing CFG. Following now all pass: PASS: .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode PASS: .\out\swangle\angle_deqp_egl_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.EGL/functional_color_clears_multi_thread_gles1_other --bot-mode PASS: .\out\swangle\angle_deqp_gles31_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES31/functional_state_query_texture_texture_2d_multisample_texture_swizzle_g_pure_int --bot-mode [0] https://chromium-review.googlesource.com/c/angle/angle/+/3241703 Test: CQ plus above Bug: angleproject:6617 Change-Id: I6d2647340592d3b9b5f2430d4fd077835528ef0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244256 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 55bd8d8f 2021-10-26T10:38:28 Translator: Fix precision bug in HLSL generation Bug: chromium:1263487 Change-Id: I60bc3dc93867e4269756b6f54eb39cf29ad77d5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244887 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Gough 2ca35522 2021-10-25T10:20:17 Disable cfguard for tcu/depq test files These seem to be generated with bad unwinding and cause crashes when exceptions are unwound. Specifically tcu::TestStatus RandomOrderExecutor::executeInner(TestCase *testCase, const std::string &casePath) can be built with __declspec(guard(nocf). Test: CQ .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode Bug: angleproject:6617 Change-Id: Iae75dc0f911a3430276909f4a14944d0f805fdf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241703 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kyle Piddington a02eb809 2021-10-19T20:09:43 Metal: Allow zero-sized scissors Fixes the following ES2 tests: dEQP-GLES2.functional.fragment_ops.scissor.outside_render_* A zero sized scissor is a valid scissor rectangle. Instead of ignoring this call, allow it. Bug: angleproject:6592 Change-Id: Ifc5c145b43deae4a031025b63691eb2b54c598fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233935 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Gregg Tavares <gman@chromium.org>
Geoff Lang a8000240 2021-10-05T13:12:22 Don't release EGLImage refs until backends are respecified orphanImages is called before impl methods to respecify textures and renderbuffers. This can cause the backend objects to reference deleted images. TextureVk::handleImmutableSamplerTransition is one such function that is called using "previousImage". Fix this by having orphanImages return a RAII object that deletes the image when the caller chooses. In this case, after the impl methods have been called to respecify the backend data. Bug: b/194432407 Change-Id: Ifb265b4409ba43478731a1701e2409f089976b1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206430 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Geoff Lang d2c01d2c 2021-09-17T12:57:14 GL: Allow selecting virtualization groups at context creation Rewrite EGL_ANGLE_platform_angle_context_virtualization to EGL_ANGLE_context_virtualization, changing the context virtualization parameter to an identifier for what virtualization group the frontend context should be added to. This allows ANGLE's GL backend to be used by multiple threads if the user creates contexts with different virtualization groups. Bug: angleproject:6406 Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Steven Noonan b638d29d 2021-10-20T18:30:48 TransformFeedbackTest: fix buffer read overrun There were 5 floats there, but not 5 vertices (3x5 floats!). This tripped the AddressSanitizer. Bug: angleproject:6600 Change-Id: Ie3f96437b087b6ab897fdf451a90e9aac62c2403 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235905 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 584f1b78 2021-10-14T17:55:47 metal: fix crash when checking for flat attributes We can frontload the check of whether or not a shader program uses flat interpolation for its attributes. This prevents a crash where an application does: glAttachShader glLinkProgram glDetachShader glDeleteShader and the check tries to look at the shader attachments (which are no longer valid). Also add some tests to ensure that detaching shaders after program link doesn't cause crashes on indexed draws, and that the flat attribute detection works across program save/load. Bug: angleproject:6526 Signed-off-by: Steven Noonan <steven@valvesoftware.com> Change-Id: I70990808fdfd17608b4b720461cae1a0bdd064b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224663 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Steven Noonan fb82ec3c 2021-10-20T16:45:30 FramebufferTest: fix read overruns in glTexImage2D upload The dimensions specified in glTexImage2D did not match the size of the arrays of pixels. This was tripping AddressSanitizer, which noticed it was reading past the end of the arrays. Bug: angleproject:4737 Bug: angleproject:6600 Change-Id: Ie9e1705136a4b7f853b3a897e3c294c953c475f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235904 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 715b95f5 2021-10-20T16:44:47 DrawBuffersTest: fix use-after-free bug The objects returned by toNormalizedVector() go out of scope after the clearColor assignments are finished, so .data() pointers are invalid. This tripped AddressSanitizer. Bug: angleproject:6600 Change-Id: I1534490b38ef52202cead8c57b9462a56d09bf65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235903 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 7ef9ecf0 2021-10-15T14:38:03 Add GL_ANGLE_robust_fragment_shader_output. This extension codifies expected behaviour on Android, where some applications don't declare shader outputs that are active with the Framebuffer. Bug: angleproject:6566 Change-Id: I3538a0aca25b6567e4b11e40d4611f1b240579c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226724 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Steven Noonan 397a27bb 2021-10-20T20:33:20 VertexArray: on destroy, remove observer on element array buffer Otherwise there will be a null pointer dereference in gl::Buffer::onContentsChange(). Signed-off-by: Steven Noonan <steven@valvesoftware.com> Bug: angleproject:6599 Change-Id: I73388b6d0ccc357ca1944452a18ccf462dd8046c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3236206 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop b06606b9 2021-10-20T14:45:02 Tests: Add Zillow trace Test: angle_perftests --gtest_filter="*zillow*" Bug: b/203693727 Bug: angleproject:6596 Change-Id: If1a29c452de60b124b234645953a6a8a53a35b67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235480 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Kyle Piddington 43fd49e6 2021-10-19T14:42:57 Metal: Add Shadow Sampler Grad workaround for AMD This change allows the direct translator to use emulated gradient shadow compare functions for AMD devices, and devices that don't support shadow compare sampler. Bug: angleproject:5107 Change-Id: I8cc8dcb6e6982531c2a858782869283e6dc97052 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232818 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 5ad7ae4a 2021-10-20T11:15:43 Remove Nexus 5X expectations from dEQP tests. Bug: angleproject:2322 Bug: angleproject:3308 Bug: angleproject:3309 Bug: angleproject:3434 Bug: angleproject:3715 Bug: angleproject:3716 Bug: angleproject:5169 Bug: angleproject:5184 Bug: angleproject:5665 Bug: angleproject:6527 Change-Id: If64efe229e12bb2a0bd4fe7f942899000a7aad76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233902 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 066fb91b 2021-10-18T15:31:27 Vulkan: SPIR-V Gen: Handle scalar(const) produced by index clamp Normally scalar(const) is folded into a constant. The index clamp transformation may produce such a code where the index looks dynamic at first (for example `false ? uniform_value : constant`), but becomes constant after folding. This change makes SPIR-V generation robust in that case. A potential future change could avoid the clamp entirely by making FoldExpressions adjust the op of the EOpIndexIndirect node whose index is being replaced with a constant with EOpIndexDirect (and apply the clamp on the argument). Bug: chromium:1260651 Change-Id: I552b7527d821d1cb52e0e53212cc481285674861 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226311 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi ef237faf 2021-10-18T16:22:40 Translator: Validate precision for function args In fragment shaders, float does not have a default precision. Any declaration of this type must therefore specify the precision if a default one is not provided. This was not validated for function arguments. Bug: chromium:1255089 Change-Id: I0d17e226ec88610692ec7dd18793cf4d471f12e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226314 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares bf42f009 2021-10-19T11:25:20 Update bug number for point clipping AMD metal Bug: angleproject:6589 Change-Id: Ibc33b9870ab566c2b36caa2b6ccdeb256078d3cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232286 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 83bb2705 2021-10-19T15:20:41 Update bug numbers in dEQP test expectations Bug: angleproject:6080 Change-Id: Ic0fa2c41b9a132cdebfd81dfd6137cf6623632c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232820 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e637e4c9 2021-10-18T13:54:00 Vulkan: Optimize updating blend state in pipeline desc Updating blend funcs and equations always updated all 8 slots. Now that's only done for the attachments that are present. Bug: angleproject:6298 Change-Id: I58fa7e4dfa27d05fef54cc9d56c7b2aa5ef43dd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3202550 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 4bb0a7af 2021-10-18T12:14:04 Vulkan: Async Queue: Fix signal of external semaphores Per the Vulkan spec: > ... when a semaphore wait operation is submitted to a queue: > > - A binary semaphore must be signaled, or have an associated semaphore > signal operation that is pending execution. It is incorrect for ANGLE to defer the submission that signals an external semaphore, because then it's impossible for the application to know when it can wait on the semaphore. Bug: angleproject:6574 Bug: b/172704839 Change-Id: I5469b500b2f7d402acec31d9848585a9947843c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226308 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny 1d1b7573 2021-10-13T09:24:53 Capture/Replay: Skip binary formats test when none are supported During capture/replay the number of supported binary formats is set to zero, so the test can't run successfully, hence skip it. Bug: angleproject:6559 Change-Id: Iabff38669bd6bbbbec770888ae940be3961b136e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220633 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Shahbaz Youssefi 7f87a326 2021-10-18T13:06:29 Vulkan: SPIR-V Gen: Fix crash in array of struct constant Bug: chromium:1260690 Change-Id: I51fe85a2ebc23c3fcaa3c961c4ebf84688bbed31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226309 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 9a323cd0 2021-10-18T22:02:46 Vulkan: Suppress failing test on AMD/Linux EXTBlendFuncExtendedDrawTest.FragData/* has started flaking for an unknown reason. This test has multiple suppressions for the Vulkan backend on different hardware. Bug: angleproject:6585 Change-Id: I7b97c8210a0846bbc6935812fcad743291c516be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3230522 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten eb1d2474 2021-10-04T20:23:26 Vulkan: Add R8G8B8_UNORM to vk_format_map.json The map of R8G8B8_UNORM -> VK_FORMAT_R8G8B8_UNORM is missing from vk_format_map.json. This leads to attempting to get format bits for angle::FormatID::NONE / VK_FORMAT_UNDEFINED. This CL adds R8G8B8_UNORM to vk_format_map.json, so devices that support it, like ARM, can use it. This allows those devices to import AHBs created with R8G8B8_UNORM. This CL also adds some additional ASSERT() and UNREACHABLE() calls to catch missing formats sooner. This allows the EGL tests to pass on ARM devices, but the tests are still skipped due to Qualcomm not having the necessary support for optimal tiling. Bug: angleproject:6277 Test: dEQP-EGL.functional.image* Change-Id: I41b7ead97a10ae80be4b6048d36d0d85ad71784f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204152 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8996b1e6 2021-10-18T12:13:09 Vulkan: Suppress failing async queue tests Bug: angleproject:6574 Change-Id: I2da6c65a43cc53bd6100c7be1a325d56766a175a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226307 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peter Kasting bcd3ae61 2021-10-18T09:36:49 Fix some instances of -Wshadow. Bug: chromium:794619 Change-Id: I5efe04e64800455585438467bcf6c262e91f398d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3229095 Commit-Queue: Peter Kasting <pkasting@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 87b4f0fb 2021-10-18T08:52:29 Suppress colorspace trace tests. These were recently enabled with a Vk SwiftShader CL. Bug: angleproject:6578 Change-Id: I5f6716f3c8a4c314d0679f8393532b25f9f5c032 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226303 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f3334d03 2021-09-30T23:44:54 Vulkan: Fix importing layered AHBs Bug: angleproject:6475 Change-Id: Iceb0880cadc54552d3f01593d2e12088cafa10cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198733 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares eb9b3f8e 2021-10-14T17:10:23 Update bug for intel metal mip test expectations Bug: angleproject:6571 Change-Id: I3a7c46ad479b4fc5d15e261269a12742c841a955 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224101 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Gregg Tavares 6cd1a0a5 2021-10-14T17:32:42 Metal: Update test expectations for AMD filtering issue Also adjust suppressions for incorrect lodMinClamp application on Intel GPUs. Bug: angleproject:6466 Bug: angleproject:6534 Bug: angleproject:6571 Change-Id: I574e0e92111c8d0a6021fe90f7a2076103435975 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224662 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi 7aba3bc5 2021-10-14T23:14:37 Vulkan: Use a CircularBuffer helper class in SurfaceVk There are two instances of circular buffer in SurfaceVk. A common helper class is introduced by this change to consolidate the implementation. This is in preparation for a follow up change that introduces yet another circular buffer in this class. Bug: angleproject:6401 Change-Id: Id01b585567310a2528888114239a5c80ff93f1ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3225084 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell 9d3ec7d7 2021-10-14T13:50:59 Mac: suppress frequent test flakes on OpenGL backend. Mac/NVIDIA: ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB This test is crashing very frequently for an as-yet-unknown reason. The NVIDIA MacBook Pros are not a critical testing configuration, so skip this test for the time being to stabilize the CQ. Mac/Intel: WebGLCompatibilityTest.L32FTextures WebGLCompatibilityTest.R32FTextures WebGLCompatibilityTest.RGB32FTextures These tests are occasionally failing with incorrect rendered pixel values again for unknown reasons. Mark these as failing on this configuration for the moment. Bug: angleproject:6570 Change-Id: Ic9e3c5f8d06a1555a4b1dfed2d9495e98c32abf1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224361 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1dc2b702 2021-10-13T16:02:37 Vulkan: Pass shader module map to init pipelines. Instead of pulling out the shader modules from the shader map when we start the call chain, pull them out right in the init call. This saves a bunch of boilerplate code. Refactoring change only. Bug: angleproject:6566 Change-Id: Ib8d79bd7284d7ddb83522270f3d4df9086ab7300 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3221134 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f3d5dac3 2021-08-23T17:25:15 Vulkan: SPIR-V Gen: Drop dependency to glslang The SPIR-V gen path is now made default. Compilation through glslang is still supported for debugging, and is enabled on the GLSL* end2end tests for smoke testing. On release builds, glslang is not supported. To test with glslang, add the following gn arg (only necessary if dcheck is disabled): angle_enable_spirv_gen_through_glslang = true Then enable the generateSPIRVThroughGlslang feature. This can be done by setting an environment variable: ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests Binary size saving: - 1.3MB on Linux (SPIR-V gen itself: 240KB) - 730KB on Android (SPIR-V gen itself: 140KB) Perf tests: - LinkProgramBenchmark.Run/vulkan_compile_single_thread * Through glslang: truncated mean: 1287033.36 * Direct SPIR-V Gen: truncated mean: 244495.91 (~80% reduction) - LinkProgramBenchmark.Run/vulkan_compile_multi_thread * Through glslang: truncated mean: 4565894.83 * Direct SPIR-V Gen: truncated mean: 1158164.10 (~75% reduction) Bug: angleproject:4889 Bug: angleproject:6210 Change-Id: I486342702977c8114e90073b97183aba115a8b2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Aditya Kushwah d8471b29 2021-10-02T10:36:33 Fix ASAN bug caused by passing empty label string. This CL will fix the ASAN bug that was caused by passing empty label string to getMultisampledRenderTarget, function of TextureStorage11. Instead, pass mTextureLabel so we can get WebGL labels now. Also to avoid this in future, convert ref mTextureLabel to now store copy. The change in the test reflects the steps to first set the label string and later the label being used to initialize mTextureLabel via texture storage creation. Bug: chromium:1254746 Change-Id: I007bdf1c7a421a2b4b9288aa71fa4368c14cf333 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201030 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Charlie Lao 9a48ad4e 2021-10-05T17:45:48 Vulkan: Add test for acquireAndUpdate Add two new tests to IndexBufferOffsetTestES3 tests that will call bufferSubData with more than 1/2 buffer size, which will force vulkan backend go into a different code path. Bug: b/200067929 Change-Id: Id831982bbb044a529e9711be62d82f3e8c05e1a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213415 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny bb5dbd49 2021-10-05T11:57:44 Capture/Replay: Handle TvoidPointer in specialization Bug: angleproject:6521 Change-Id: I863ad5307498e6394f5fbe3e650ce29c821083b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204960 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao 43be4d9c 2021-10-11T13:50:28 Vulkan: Fix unnecessary performance warnings for two tests Fix two existing tests so that it wont generate performance warnings that is not related to the test and not intended anyway. Bug: b/200067929 Change-Id: I64a9272be077c536627644ae44104d98cecee7cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218270 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill f13731ae 2021-10-06T10:04:24 Enable dEQP EGL + GLES 2/3 tests on Pixel 4. This is in preparation for removing these tests from the N5X. Bug: angleproject:6527 Change-Id: Ib44f876db47845935efd68a1727964834a675cbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208746 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 44bef8ae 2021-10-08T15:01:37 Remove traces of Feature Level 9_3 support from tests. Bug: angleproject:1284 Bug: angleproject:3042 Change-Id: Ic2f77d315e98c3b15c5fc8b0359168bce00867d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213294 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e2d91217 2021-10-08T15:55:58 Vulkan: Lift helper_invocation suppressions Bug: angleproject:4110 Change-Id: Ibfeeb835804b2d8349bd8e3911e4caa83e9cc6b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213299 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 5812f66e 2021-10-08T16:21:13 OpenGL: Lift image buffer windows/intel suppresions Bug: angleproject:3536 Change-Id: Ib342caca706347ba4ff0cf82f0ea580907e5bb33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213304 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi af691fa7 2021-10-08T16:09:48 Vulkan: Lift shader_image_load_store swiftshader suppression Bug: angleproject:4414 Change-Id: I9965ccaeefd526fb01a490ee1b282dd4012aaa14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213303 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 86a67b31 2021-10-08T16:05:51 Vulkan: Lift shader_image_load_store suppression Bug: angleproject:4315 Change-Id: I649402f4c5032727cbd1a4a528ebf11716e9de9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213300 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov c0ab6a77 2021-10-09T00:38:40 Skip crashing pokemon_unite trace on Linux Intel Already skipped on Windows Bug: b/201900915 Bug: angleproject:6494 Change-Id: I4c586d88bb91ff13700157ee5ca585370e7c7887 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213755 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov a364ea59 2021-10-09T01:52:23 Revert "Update old NVIDIA bug suppression." This reverts commit 0b779ac42a53e4656af3bd87fb74af88fb8a58a8. Reason for revert: fails on Win7 NVIDIA http://ci.chromium.org/ui/p/chromium/builders/ci/Win7%20FYI%20x64%20Release%20(NVIDIA)/13643 Original change's description: > Update old NVIDIA bug suppression. > > Only fails now on Linux. Move to expectations file. > > Bug: angleproject:2755 > Change-Id: I28acc569764d94f1095c8eb96e15a1eb19e4695a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212571 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:2755 Change-Id: If6d03c4ee840126cf1347feffdd672999d9bedf8 No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213752 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi 5794073a 2021-10-08T15:20:02 Vulkan: Lift copy_tex_image_conversion test suppressions Issue was fixed in anglebug.com/5502 Bug: angleproject:3817 Change-Id: I1bdebac1e9cca71992818e0cb95ccc023149973f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213295 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop da804530 2021-10-08T12:52:04 Capture/Replay: Skip pokemon_unite on Intel+Windows Test is getting inconsistent results around foliage edges. Test: angle_perftests --gtest_filter="*pokemon_unite*" Bug: b/201900915 Bug: angleproject:6494 Bug: angleproject:6548 Change-Id: I06a72bcd2e471613caf1787ee8e5fd6e7f22817d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214691 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 9aa9f7c2 2021-10-08T14:04:41 Remove vertex attribute test suppressions. Bug: angleproject:2797 Change-Id: I64b17d674e2d4a490c321357474e3260eb46f43c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212897 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao e437c4ad 2021-09-22T09:15:19 Vulkan: Only preserve buffer data when BufferVk has valid data When we receive glBufferSubData call and GPU is still accessing the buffer, we have two code paths to update data. If subData is more than half of the entire buffer range, we choose to acquire a new buffer and use DMA to copy the rest of buffer that outside of subData range from the old buffer back to the new buffer so that existing buffer data is being preserved. Otherwise we stage subData to use GPU buffer to buffer copy later on when buffer is been used. The reasoning behind is to minimize the amount of data copy. The improvement here is that if previously app called glBufferData with null pointer, we really do not have any valid data in the buffer and there is no need to preserve the existing buffer data. This CL tracks whether buffer has any valid data or not and also put this into consideration when we pick which code path to go. We also use this information to avoid preserve the existing data in BufferVk::acquireAndUpdate Bug: b/200067929 Change-Id: I266dd93bed2d3c07e3a5af3e4e613e7f6023b393 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176500 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 0b779ac4 2021-10-07T14:08:10 Update old NVIDIA bug suppression. Only fails now on Linux. Move to expectations file. Bug: angleproject:2755 Change-Id: I28acc569764d94f1095c8eb96e15a1eb19e4695a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212571 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 666fcf38 2021-10-08T12:19:15 Rename functions that overlap with Windows APIs. Bug: angleproject:6283 Change-Id: Ifcd9ea9e3bf729fd2066178eb9429050b2f10518 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212894 Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b03c4753 2021-10-07T13:58:49 Update suppressions for clear test. Bug: angleproject:2689 Bug: angleproject:5165 Change-Id: I3023735058ed11ac9060b4de9c67e20abd387e85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6ffaed86 2021-10-07T13:38:51 Remove N5X workaround in point size test. Bug: angleproject:2553 Change-Id: Id5db6517f86630cd7c6216af8a259399c827707d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212569 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4029a734 2021-10-07T13:34:49 Enable previously slow Android Depth/Stencil tests. Bug: angleproject:2549 Change-Id: I25c6cf2547a7eec544840cc641535048626b2fbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212612 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nico Weber 90403672 2021-10-08T09:50:47 Fix Wbitwise-instead-of-logical warnings `a && b` only evaluates b if a is true. `a & b` always evaluates both a and b. If a and b are of type bool, `&&` is usually what you want, so clang now warns on `&` where both arguments are of type bool. From what I can tell, in ANGLE it wasn't important if we evaluate both branches or not in the places where this fired, so I went with `&&` everywhere. Bug: chromium:1255745 Change-Id: I7ac6a12c37f28a872de1fe9b9b96abf43e39b21c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212889 Commit-Queue: Nico Weber <thakis@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 31426770 2021-10-08T10:18:18 Re-add suppression for TransformFeedbackTest.BufferOutOfMemory This test fails on the Mac Intel/AMD bots. Suppression was removed during the switch to the direct Metal backend but the test still fails. Bug: angleproject:5345 Change-Id: I64da76a5dbfc6337aef036de0977f8b035e5390d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213852 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tim Van Patten 7ddfb565 2021-10-07T19:55:02 Android: Re-enable Texture3DCopy.FloatFormats/*Vulkan The test Texture3DCopy.FloatFormats was skipped on Android+Vulkan. This CL re-enables it. Bug: angleproject:4756 Test: Texture3DCopy.FloatFormats/*Vulkan Change-Id: Ia063b1efb5856f6623f6734f4430f06a8b143ba6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213419 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop 57dd7095 2021-10-07T17:48:06 Capture/Replay: Suppress flaky ES3 test The following test is flaking out: GLSLTest_ES3.ComplexCrossExpression/ES3_Vulkan_SwiftShader Bug: angleproject:6543 Change-Id: Ia615a82727144520e863c686f1f6157aa71f2e58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213420 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop fe943910 2021-10-02T21:55:34 Tests: Add Pokemon UNITE trace Test: angle_perftests --gtest_filter="*pokemon_unite*" Bug: b/201900915 Bug: angleproject:6494 Change-Id: I37b52a8557f135ca4d7e42eb964f17104d004513 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201031 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kyle Piddington af5ea7f9 2021-10-07T12:47:41 PrimitiveRestart tests fail due to incorrect draw commands. Primitive restart draw commands were being encoded incorrectly. Single element ranges were being disregarded, and a maximum draw size was not being enforced when the index buffer was aliased / reused. Bug: angleproject:6535 Change-Id: I5affad4df46c4ab2b3702caa89b483ae685618a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212629 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Charlie Lao 5ab152c6 2021-10-04T14:08:15 Vulkan: Add tests that triggers acquireAndUpdate Add test for shader storage write followed by bufferSubData Add test for image store followed by bufferSubData. Bug: b/200067929 Change-Id: I5895eaa31ee54e79333f0fe26d92e9378f427a3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553171 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Cody Northrop a559c772 2021-10-07T10:27:56 Tests: Add BADLAND trace Test: angle_perftests --gtest_filter="*badland*" Bug: b/202402554 Bug: angleproject:6541 Change-Id: I357b2a7bdb74c74628d5189d701528b60fa000de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212627 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 5862234e 2021-10-07T13:15:31 Remove old AMD/Windows/GLES expectation. Bug: angleproject:2486 Change-Id: Ia7cb1195cabe79b0e93f2787ba627999636a2305 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212609 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0f66c861 2021-10-07T09:32:35 Add test that covers HLSL compiler bug. Bug: angleproject:2445 Change-Id: I820b2dba3748bd10ca516ef47f226ff537b78849 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212328 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 212f4592 2021-09-22T12:02:47 Enable direct-to-metal backend by default We are switching over to Apple's direct-to-metal backend instead of generating SPIRV in the metal backend. This CL enables the direct-to-metal generation by default, but the SPIRV backend is still accessible by overriding the feature directMetalGeneration. This CL comes with a change in test expectations to catch new failures and clean up newly passing tests. Bug: angleproject:6080 Change-Id: I4b10ad93c641b88857079a08fb45d3dc575d71f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3175664 Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Cody Northrop 80e31738 2021-10-07T09:08:51 Capture/Replay: Suppress failing ES2 and ES3 tests Bug: angleproject:6180 Bug: angleproject:6425 Bug: angleproject:6513 Bug: angleproject:6538 Change-Id: I175f3f6d3b333aefc2cfcd8aeeff077ca762d396 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212626 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 27e7c4dd 2021-10-01T13:43:57 Vulkan: Submit commands when Sync objects are initialized This CL calls ContextVk::flushImpl() after the sync object (VkEvent) has been created and initialized, so it has a valid Serial when it's waited on later. This change allows us to remove any tracking of pending sync objects, since all sync objects will be flushed and submitted by the end of SyncHelper::initialize(). Bug: angleproject:6464 Test: MultithreadingTest.CreateFenceThreadAClientWaitSyncThreadBDelayedFlush Change-Id: I47e7ced452727b434ed974368311fb3439a107c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200274 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 62414cf8 2021-10-06T16:07:03 Fix GPU-time-tracking in WebGL perf tests GL_EXT_disjoint_timer_query is not enabled by default in WebGL mode. This change ensures that extension is enabled. Bug: angleproject:4794 Change-Id: I1835f7ed2afd7a155ff9b63fad74a066df59ea4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210626 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 22ec42ac 2021-10-07T08:37:43 Remove Skip for unsupported AMD config. Bug: angleproject:2423 Change-Id: I70237576fa1e458276675d4bcb36ad890b5f5806 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212327 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 7e490550 2021-10-06T11:16:08 Cleanup Android/Vulkan deqp_egl_test_expectations.txt There are several bugs marked as "fixed", but still have tests marked as fail/skip in deqp_egl_test_expectations.txt. This CL cleans those up. Note that "cleanup" in this case means restricting the fail/skip to just NEXUS5X, since many are still failing on that device. This CL doesn't look to make the list exactly correct, since that testing on that device is in the process of being deprecated anyway. Bug: angleproject:2546 Bug: angleproject:2635 Bug: angleproject:2715 Bug: angleproject:3081 Bug: angleproject:3270 Bug: angleproject:6533 Change-Id: I6cb9444727671997b38770f8d7ba5b3c6a1b019a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208512 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 66c89b0f 2021-10-06T16:28:42 Fix and disable MSVC warnings Needed because some warnings are no longer disabled after http://crrev.com/c/3189512. Also includes https://github.com/KhronosGroup/OpenCL-Headers/pull/179, needed after clang upgrade to llvmorg-14-init-5410-gd0473681 Bug: chromium:1257173 Change-Id: I4f844aa972362c488cb6d37244439e2126f2c1c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210629 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 7b19a535 2021-10-06T17:13:52 Fix iOS build Broken in crrev.com/c/3206017. ANGLE roll into Chromium crrev.com/c/3208766 fails on ios-simulator due to unused function OperatingSystemVersionNumbers. Bug: chromium:1255114 Change-Id: I2cca5e3cd922733950a51bbc08bf9f41558f8436 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209207 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jonah Ryan-Davis 207906c1 2021-10-05T15:09:38 Clean up Metal test expectations. Before switching to the direct metal backend, we should clean up some passing test expectations so we can track the new test results post-switch. TBR: ynovikov@chromium.org Bug: angleproject:6467 Bug: angleproject:6466 Bug: angleproject:6485 Change-Id: I33e0bd48b41906eb11cc4de09bf86f3ebd44a24f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206691 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 84f601eb 2021-10-06T13:23:21 Lift Intel specific test expectations. Bug: angleproject:2349 Change-Id: Ib0b6356424452740150b0913e61507839961cf85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209087 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1b669f5d 2021-10-05T15:55:58 Add test names and metric names for BitSetIteratorPerf. New names are like so: [ RUN ] BitSetIteratorPerfTest/BitSetArray_96.Run *RESULT BitSetIteratorPerfTest/BitSetArray_96.wall_time: run= 8609.2511842004 ns .. etc ... Bug: angleproject:2244 Change-Id: I461f52a0ee098875544203c618c6b24598281f73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206257 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nico Weber d78bd836 2021-10-05T16:10:27 win: Remove call to deprecated GetVersionEx Bug: chromium:1255114 Change-Id: Ie0539205d5547b1da05ec957096a369f7d9ababe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206017 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi daaaba0a 2021-10-04T22:28:56 Translator: Fix uniform/struct separation for anonymous arrays When a uniform array of anonymous structs was separated into a struct declaration and uniform array, the uniform symbol was being replaced, but not the intermediate nodes that index it. This caused an AST validation error. Bug: angleproject:4740 Change-Id: Ib9d0115bd01c39d1a007f644e46b5e35c12c9304 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204590 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 27a98cf4 2021-10-04T23:39:16 Vulkan: Allow debug labels inside render pass Debug groups and events were previously recorded to the outside-RP command buffer. With this change, they are inserted in the RP command buffer if render pass has started, or outside-RP command buffer otherwise. This creates a more accurate view of groups the application creates. Bug: angleproject:4597 Change-Id: If165bb88e3e66219bad2fe4acc1cc4653c97fb1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204591 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi dde409be 2021-10-04T22:05:47 Translator: Produce error on func(void, int) If void is specified, another parameter cannot follow. This change ensures that this produces an error. Bug: angleproject:6338 Change-Id: I18602ea4b52c96e498f4f2dc627d4ba2210d6fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203795 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 18aa5d22 2021-10-05T08:40:48 dEQP 3.1: Lift NVIDIA/Win/GL expectation. Should be fixed on the bots now. Bug: angleproject:1665 Change-Id: I70431434ac57dae3330c486d42b964b94a237491 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205796 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 234ebd58 2021-10-05T08:34:12 Lift old AMD/Win/GL expectations. No longer tested on the bots. Bug: angleproject:1643 Change-Id: I5e1ca8b9c2f673ebcb44c67879829f9fd346edf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205795 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 831f017e 2021-10-05T08:05:52 Lift AMD desktop GL DrawBuffersTest expectations. We no longer test on this config. Bug: angleproject:1533 Bug: angleproject:1535 Change-Id: Iba45a9426ba316e5c83f4501918070f6439daae9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205793 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny d4d4808f 2021-10-04T18:15:04 Capture/Replay: Update more expectations and add bugs Bug: angleproject:6180 Bug: angleproject:6221 Bug: angleproject:6286 Bug: angleproject:6425 Bug: angleproject:6510 Bug: angleproject:6511 Bug: angleproject:6512 Bug: angleproject:6513 Bug: angleproject:6521 Change-Id: If360279bfb1d6f9a1cb3be336e85b29f64b580c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200615 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Jamie Madill 9a455825 2021-10-05T07:51:31 dEQP: Enable Android mipmap tests on GLES. These should be running correctly on the Pixel 4. Bug: angleproject:1529 Change-Id: Ieb55b63d8934d8dd2c516c0f1ce71e84584d4471 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205791 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f85ec039 2021-10-05T07:42:41 Lift failing Android expectations. These failures were related to the N5X. Bug: angleproject:1488 Change-Id: I57b8fdeb914a8e33793b0cd011255205baf7858f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205790 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a49394ae 2021-10-04T16:30:58 Lift failing Android test expectations. These were in the fbo.completeness.renderable.texture group. Bug: angleproject:1487 Change-Id: I96f7e4428ebe4e018bdaee7f4ba5fd3bba131405 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203210 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny f00f1009 2021-09-30T18:59:25 Capture/Replay: Fix readback of zero-sized renderbuffers Only read back the renderbuffer content if the renderbuffer has a non-zero size. Add a test to test the capture/replay in this case. Bug: angleproject:6425 Change-Id: I943804884f18a3a2b9de526309dd500de9dd6fd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197572 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang ad8e4d99 2021-09-28T11:48:46 Remove EGL_ANGLE_flexible_surface_compatibility This extension has been superseded by EGL_KHR_no_config_context. Bug: chromium:1253930 Change-Id: Ie299c34baa84e9f47c73ddb5a0636536bf510d72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3190612 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>