src/tests


Log

Author Commit Date CI Message
Kimmo Kinnunen ec773865 2024-11-19T14:46:29 Qualifier in const for sampler2D fails validation The commit 039660a0757e8e5b661c1850747b688b6642f56d failed to special cased "const in". Fix by special casing also on EvqParamConst. Bug: angleproject:379762012 Change-Id: Ife6966ea536972874645ae22b504712249817638 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035505 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 99d5d4d5 2024-11-21T09:02:32 Tests: fix replay failure handling in linux/win-trace Bug: angleproject:42264614 Change-Id: I752fb914b82222392bf88b51351217cd4d063cd6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039443 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 594a11ac 2024-11-20T16:55:06 Tests: Add Need For Speed: No Limits trace Test: angle_trace_tests --gtest_filter="*need_for_speed_no_limits" Bug: b/380107298 Change-Id: I216574367e8e495a69c63de2ec04a6c9e3c73ff4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037637 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi 770242db 2024-11-20T17:03:07 Translator: Remove the `gimage1D` base type This is a desktop GL type, whose removal was left out of b16d105fc6. Bug: angleproject:370937467 Change-Id: I0bda5453b95ddf924ba0583de346902b333603a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037776 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 1f0ac74a 2024-11-20T16:43:50 Translator: Remove SubpassInputMS ANGLE never generates multisampled input attachments, because it cannot know if the shader will be used with a single-sampled or multisampled framebuffer. The SPIR-V transformer takes care of changing the type and ops to be multisampled if needed. Bug: angleproject:37093746 Change-Id: Ic9c3057536c0a5d543512dbd3c347033453a29f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039437 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi c4533e0a 2024-11-20T16:21:40 Translator: Remove the `double` base type This is a desktop GL type, whose removal was left out of b16d105fc6. Bug: angleproject:37093746 Change-Id: I185beef71099aafc3e350efc3dad019e2a72c0e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039436 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi ecfa4874 2024-11-20T00:41:03 Assert no GL errors at the end of image tests Bug: angleproject:42265697 Change-Id: Iac9241d0fbe384b10fc0b0f6b2f764efca674ac3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6032805 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 99aac4b9 2024-11-20T09:24:07 Capture/Replay: Remove implied exts from RequiredExtensions Support for the EXT_compressed_ETC1_RGB8_sub_texture extension can be implied from the presence of OES_cmpressed_ETC1_RGB8_texture, so remove it from the trace's RequiredExtensions entry in its json file. Test: angle_trace_tests --gtest_filter=*need_for_speed_no_limits* Bug: b/380026310 Change-Id: Ia80ae4d78c1f7f7f246ce7a5cfd00bfc0e9734a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037487 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Igor Nazarov c4ec8dbb 2024-11-19T17:01:42 Vulkan: Expose EGL_ANDROID_front_buffer_auto_refresh Original CL implemented the functionality without exposing the corresponding extension. This CL exposes the extension on Android and adds necessary validation. Bug: angleproject:42265697 Change-Id: Ia01c68f04c41a850e531aa7b889de9e561f3a9db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035186 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang d8e183ab 2024-11-19T13:23:35 Skip the antutu_refinery perf test on Windows/Intel This test times out on this bot due to the excessive complexity and memory requirements of the trace. Bug: angleproject:379886383 Change-Id: I1ecf12429cd70f436fc83cf89a84c225d315aac6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6033296 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov e961f7ab 2024-11-19T16:28:07 Skip KHR-GLES31.core.texture_stencil8.multisample on S22 Bug: angleproject:379700129 Change-Id: Idc6a1fef8c66b375cae12409b54c2ead1159ea29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035510 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 42f9c200 2024-11-19T08:50:35 Comments: www.anglebug.com -> anglebug.com The former doesn't work. Bug: None Change-Id: Ib16b005adb5b61a3a1277588e240c3d68705205c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034293 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 518e162e 2024-11-15T00:07:14 Fix validation for 3D depth/stencil textures They should fail with GL_INVALID_OPERATION: > Textures with a base internal format of DEPTH_COMPONENT, DEPTH_STENCIL > or STENCIL_INDEX are supported by texture image specification > commands only if target is TEXTURE_2D, TEXTURE_2D_MULTISAMPLE, > TEXTURE_2D_ARRAY, TEXTURE_2D_MULTISAMPLE_ARRAY, TEXTURE_CUBE_MAP or > TEXTURE_CUBE_MAP_ARRAY. Using these formats in conjunction with any > other target will result in an INVALID_OPERATION error. Bug: angleproject:379674017 Change-Id: Icdd4cea24601f6744a3a85bdf8ef07946569a16f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6019830 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 174694c1 2024-11-16T02:15:55 Manual roll VK-GL-CTS from f674555ab03e to b27686793f88 (29 revisions) Manual roll requested by yuxinhu@google.com https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/f674555ab03e..b27686793f88 2024-11-14 syoussefi@google.com Use std functions instead of de* wrappers (deString.h) 2024-11-14 mateusz.bahyrycz@mobica.com Add coverage for instanced draws with tessellation 2024-11-14 rgarcia@igalia.com Test alpha-to-coverage with sample shading 2024-11-14 mateusz.gawrysiak@intel.com Fixed ycbcr_sampler.graphics array tests by adding combinedImageSamplerDescriptorCount multiplication 2024-11-14 scerveau@igalia.com EncodeTests: rework the result queries 2024-11-14 scerveau@igalia.com EncodeTests: set the decoder to use layeredDpb 2024-11-14 mateusz.gawrysiak@intel.com Fix imageFormatProperties check before VK_FORMAT_G8_B8R8_2PLANE_420_UNORM array creation 2024-11-13 yuxinhu@google.com Add #include <cmath> in glcTextureStorageTests.cpp 2024-11-08 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (draw_buffers_test1), PART 14 2024-11-08 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11 into vk-gl-cts/main 2024-11-08 piotr.byszewski@mobica.com Test operations which must always preserve denorms 2024-11-08 ziga@lunarg.com Add image concurrent copy tests 2024-11-08 piotr.byszewski@mobica.com Test DRLR with DS attachments that use one aspect 2024-11-08 ziga@lunarg.com Add host image copy tests with array and depth offsets 2024-11-08 benjamin.cheng@amd.com Create encode DPB image without TRANSFER_SRC usage 2024-11-08 benjamin.cheng@amd.com Fix video-profile-independent DPB creation 2024-11-08 lionel.g.landwerlin@intel.com Enable device-only events in sync2 tests 2024-11-08 kamil.goras@mobica.com KHR-Single-GL46.enhanced_layouts.varying_locations breaks spec and requires more than GL_MAX_GEOMETRY_INPUT_COMPONENTS components in geometry stage for some test cases. Such cases are skipped. 2024-11-08 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (texture_stencil8_gl44), PART 16 2024-11-08 gleese@broadcom.com Revert "Fix support check for dynamic state tests" 2024-11-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-11-04 gleese@broadcom.com Fix frag_coord_conventions test when not supported 2024-11-01 michal.jakubek@mobica.com Make vktComputeBasicComputeShaderTests.cpp buildable 2024-10-31 mateusz.bahyrycz@mobica.com Remove commented code 2024-10-31 piotr.byszewski@mobica.com GPL with unusual multisample states 2024-10-31 mateusz.bahyrycz@mobica.com Add coverage for indirect draws with tessellation 2024-10-31 javed@igalia.com Add coverage for mesh shader with GPL/ESO 2024-10-31 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (texture_storage_compressed_texture_data), PART 15 2024-10-31 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,solti@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com,yuxinhu@google.com Change-Id: I617a3b8a149bd157e3d922b0dc726bf395a4b27e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6027274 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 828e2d19 2024-11-16T14:41:10 Tests: Add Block Blast trace Test: angle_trace_tests --gtest_filter="*block_blast*" Bug: b/379456572 Change-Id: I751b69320f68dc4afaa6fdd29e054fb543c43d22 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6026306 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Tingwei Guo f21cfcd6 2024-11-07T14:54:12 Add a corner case for framebuffer fetch Add a defect test to test that when a shader reads from gl_LastFragDepthARM or gl_LastFragStencilARM and no image is attached to the depth or stencil attachment, respectively, results should be undefined, instead of generating an error. Bug: angleproject:376572258 Change-Id: I7ea0e5021ec370374c4da532b0fa58277f3e959e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5999877 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 51ff063c 2024-11-16T12:03:28 Skip real_racing3 trace on Linux NVIDIA SYNC-HAZARD-WRITE-AFTER-WRITE with 535.183.01 driver Bug: angleproject:377923479 Change-Id: I5791445bc36dacd6b71cd001d4c454d8b495f7bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022951 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 33dc1606 2024-11-16T11:39:22 Skip end2end failures on S22 FramebufferFetchES31.DrawNonFetchDrawFetchInStorageBufferThenClear_ARM FramebufferFetchES31.DrawNonFetchDrawFetchInStorageBufferThenClear_Coherent FramebufferFetchES31.MultiSampled Bug: angleproject:377923479 Change-Id: I85d781cff5f87dc2d6bdacce5759bcc93c8cd702 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6025225 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov f3404c4d 2024-11-14T18:47:18 Tests: improve Windows support in android_helper * Avoid using the Linux binary from platform-tools when running from a trace bundle, use adb.exe from PATH instead * Remove dependency on aapt with reading apk as zipfile * handle CRLF from adb shell output Bug: b/376300037 Change-Id: I4428e66aaa782d3e582c2562ebb3f6c206c4de5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6021260 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi e3b3dd68 2024-11-14T23:00:52 Vulkan: Optimize color clears vs read-only depth/stencil switch When switching to read-only depth/stencil mode, if the aspect that intends to be in read-only mode has a deferred clear, the clear is flushed separately beforehands (as that would be a write operation). Prior to this change, _all_ deferred clears were flushed for simplicity. In this change, only the aspect that is switching modes is cleared, leaving the other aspects free to be optimized as loadOp of the following render pass. Bug: angleproject:378058737 Change-Id: Iba4371590bee99f5022575c09b0d32231562488c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6019829 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi adb80cbb 2024-11-12T22:38:38 Vulkan: Optimize read-only depth/stencil switch after clear Prior to this change, if color is cleared then read-only depth/stencil mode is enabled, ContextVk::switchToReadOnlyDepthStencilMode eagerly flushed the deferred clears (starting a render pass). However, if the render pass is marked dirty for any reason afterwards, for example because we want to flush the render pass after a query ends, the render pass that is just started above is unnecessarily closed. In this change, `switchToReadOnlyDepthStencilMode` only detects if a new render pass is needed and marks the appropriate dirt bits. This way, the render pass can only be restarted once. Bug: angleproject:378058737 Change-Id: I83a5ebae6c223882eafea338eeec19895d87e5c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6023414 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ba81145f 2024-11-08T15:45:44 Vulkan: Emulate coherent framebuffer fetch everywhere Many apps expect coherent framebuffer fetch to be available, and multiple downstream emulators end up forcing coherent framebuffer fetch enabled despite the hardware not being coherent. This change attempts to do a best-effort emulation of coherent framebuffer fetch by automatically inserting barriers before framebuffer fetch draws. While this doesn't correctly handle self-overlapping geometry, it works well enough in practice for the applications. As a result, framebuffer fetch is practically enabled everywhere after this change. Bug: angleproject:377923479 Change-Id: I3900a1de0f4db755b7e70871f57df3ea112073f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004336 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 33c86fde 2024-11-14T14:33:21 Tests: Add SimCity BuildIt trace Test: angle_trace_tests --gtest_filter="*simcity_buildit*" Bug: b/379097986 Change-Id: I8753014ebcf6ab1ea55868141a527429e8fb4f8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6021680 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 7ba69645 2024-11-14T10:07:31 Fix unnamed outs w/ initializeUninitializedLocals Fix translator initializeUninitializedLocals pass for anonymous out parameters. The parameters should be initialized to zero, similar to named but unassigned parameters. Initialization would be skipped on GLSL output, assert on Metal. Functions need to be replaced if their parameter names change. In case the function had a prototype declaration, that has to be replaced too. All calls to old functions must be replaced with calls to new function. Bug: angleproject:378584780 Change-Id: I9a990fa3840f6e26cd30f35bf6c99d9a8816f272 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6020245 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen df61fc7f 2024-11-14T13:31:24 Avoid reordering structs when separating from func Avoid reordering structs when separating struct declarations and function declarations. Consider: struct S1 { ... }; struct S2 { S1 a; } f(); SeparateStructFromFunctionDeclarations would insert the S2 to the beginning of the containg block, so before S1 definition. Fix by not inserting the structs to the parent block. Instead, return the nodes from multi-replacement, so that the struct definition is inserted at the site of the replaced function. Bug: angleproject:378966971 Change-Id: I47582660610c1fcb28a9b5bd592ac020b5c48e34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022856 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 54e8e665 2024-11-12T12:53:54 Trace tests: generate and use trace list according to gn args Generates out/<config>/gen/trace_list.json which contains the list of traces included in the build according to the angle_restricted_traces gn arg (or all traces if not set). Test runner uses that file instead of the full restricted_traces.json. Android runner pushes that file to the device to the usual location (e.g. /sdcard/chroimum_tests_root/gen/trace_list.json) This also fixes the issue where `angle_trace_tests --list-tests` lists all traces, not just those that were selected with the gn arg. Similarly, running all traces without a filter would be limited to the same list. This transitively applies to trace bundles. Bug: b/376923930 Change-Id: I63506a074d766a51b860472f7211842f8a080ecd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011956 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen a402f9cb 2024-11-11T15:08:41 Metal: Do not use number digit separator in .mm The review system turns ' to strings for Obj-C syntax highlighting. Bug: angleproject:378421872 Change-Id: I201f6561def7c4b945f37e3e02ec0b8915954e8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011209 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Rafay Khurram 924ee1ba 2024-08-28T02:16:55 CL: Enable CTS over GTest interface * Enables all CTS test suites excluding test_subgroups * Creates one gtest-based executable per OpenCL CTS executable Bug: angleproject:372722560 Change-Id: Iae96c2f12716b3c21d5035fbf6c9d838cb812025 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938948 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 817b7d20 2024-11-13T10:41:49 Trace Tests: Skip solar_smash on Intel Windows Non-deterministic on Intel Windows. Bug: b/378900717 Change-Id: I393bf4fbeb6764ecb3cba61e012036f8f69605c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017397 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Solti Ho <solti@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Matthew Denton 4a835cf2 2024-11-01T13:31:00 WebGPU: send uniforms to GPU for use in shader Basic uniforms should now be accessible in the shader during a draw call, rather than just via glGetUniform*(). This is unoptimized and creates a new GPU-side copy of all the uniforms, every time any uniform changes. This sets up the bind group layout for a pipeline and sets the bind groups in the renderer pass. Right now these bind groups only contain the default uniform blocks, but in the future will need to contain textures, samplers, and non-default uniform blocks (UBOs). Bug: angleproject:376553328 Change-Id: I50891b81ab2ee374d674213257f76319c0222120 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980972 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Amirali Abdolrashidi 4707e5bb 2024-11-05T10:59:46 Unskip mini_world for other QCOM devices Currently, mini_world is being skipped for all QCOM devices. However, it seems to be working on more recent devices. Therefore, the skip could be limited to P4/P4XL due to image diffs and errors respectively. * In the case of P4XL, it is not confirmed if the original error still persists. Bug: b/331271522 Change-Id: I7ee00a74131ea47463a513121b15e445bddb9289 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5994385 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Kimmo Kinnunen c46e6bac 2024-11-12T13:55:01 Make intermediate output symbol names consistent Make intermediate output symbol names consistent across uses in parameter names, struct names, variable names: - built-in without quotes - '' empty - #satb ANGLE internal - 'a' user-defined Previously empty parameters would output the symbol id-generated name ("sabb"), which was surprising when this is used only when the symbol is in AngleInternal namespace, and not in Empty namespace. Bug: angleproject:378584780 Change-Id: I87b13cf964a1ae3ee54b8f4ef7a00eddcd474760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011018 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen b8b962d2 2024-11-08T14:53:00 Parse function parameters into TPublicType Parse function parameters into TPublicType instead of TType. TType holds the type info, TPublicType holds the type specification info. This helps in moving the TType::isStructSpecifier into the AST nodes, away from the type system which it is not part of. Removes duplicated code where unnamed unsized arrays would cause different error message than named unsized arrays. Bug: angleproject:377330017 Change-Id: I102b9e87823a545f7e64f971aafbdcd313a542fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000009 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 0d02f857 2024-11-07T09:32:28 Test SeparateDeclarations This makes it easier to fix issues with SeparateDeclarations Bug: angleproject:377330017 Change-Id: I53b9ca06971e0272563b6b3c752e0438c5802193 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000533 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen efcb94ab 2024-11-06T15:55:02 Output the type of constant union Output the type of the constant union node in OutputTree output. This makes it easier to understand typing bugs related to the constant union. Adds a node nesting level for constant unions. This makes it easier to understand consecutive constant unions. Bug: angleproject:377330017 Change-Id: Ia83072b78c4d1713f839fd136692b254f6d2c517 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000532 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi e3011d96 2024-11-08T16:17:07 Translator: Optimize size calculation for variable arrays Bug: angleproject:373924024 Change-Id: Id3a8b844b8274c19c0c2c833842fb8b501f50174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004338 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 7fea539c 2024-10-23T11:40:51 Vulkan: Remove extra non-conformant flag checks It may be possible to remove the flag check and simply rely on the checks performed in CanSupportGLES32() to determine support for ES 3.2. The non-conformant flag can remain utilized for certain features until the relevant issues are resolved and this flag is no longer needed. * Removed the checks from getMaxConformantESVersion(). * Removed the flag check in Renderer::getMaxSupportedESVersion(). * Added exception to the blend extension when using the non-conformant flag for Win/Intel. * Skipped the related tests on this platform that now fail. * Added a new feature flag to force-enable ES 3.2 on certain platforms for testing. * exposeES32ForTesting * If the bots are updated to support ES 3.2, it can be removed from using this flag. * Skipped some VVL errors when the flag is enabled. * Skipped end2end ES 3.2 tests on SwS. * Skipped some dEQP tests on P4 and SwS that would use ES 3.2 features that are not available on those platforms. Bug: b/374841339 Bug: b/376899587 Change-Id: Ifd405457ab8bf2076eb8fb5c92c5316f4d520595 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5958147 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Ho Cheung d30d81d0 2024-11-06T16:08:28 [code health] Remove underscores from test names in ANGLE (1/N) In the GoogleTest framework, underscores are not allowed. [1] ANGLE has underscores in many test names, and those should be changed. At the same time, add a comment to a test case according to the requirements of the Presubmit check. ```` *************** ANGLE requires a comment describing what a test does. *************** ```` [1] https://github.com/google/googletest/blob/main/docs/faq.md#why-should-test-suite-names-and-test-names-not-contain-underscore Bug: angleproject:377543127 Change-Id: I90e634bd985ca518eca43e2c919a3a8bca91a55b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5997835 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Ho Cheung <hocheung@chromium.org>
Yuxin Hu 094a0b11 2024-11-07T17:45:50 Skip KHR-GLES31.core.tessellation_shader.single.primitive* on win Bug: angleproject:377993076 Change-Id: I7d7d99b87b51911bbb3046b4e7353afb18060d5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003811 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 2c7e9830 2024-11-04T10:05:25 restricted_trace_perf: Setup and wrapper support This CL adds support for installing and setting up traces. Also allows running via the wrapper in http://crrev/c/5985570 With this change, if you run without using the wrapper, you must provide the --build-dir flag. It allows running the script from any directory: --build-dir ../../../out/Android Bug: b/376300037 Change-Id: I2259ee120b2af5e1917a2a57a27fa3dcfca761e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5983806 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov bdebee8c 2024-10-29T17:08:11 Tests: add repro for running out of outside RP serials Bug: b/375661776 Change-Id: I2cd82710bdf5b00a6165ddad6ef21f30150aa5bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5977123 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 750d9a24 2024-11-06T17:28:19 Skip SourceAHBTarget2DGenerateMipmap* tests on S22 There is a vulkan driver bug on S22 device: https://chromium-review.googlesource.com/c/angle/angle/+/5966623/comments/44b72fb9_3ba112c5, causing ImageTestES3.SourceAHBTarget2DGenerateMipmap* to fail. Skip these tests on S22 until the vulkan driver of the device is updated. Bug: angleproject:40644776 Change-Id: Id5e68aa4ad8f2172c5cdda9adb26af60da87b905 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6001577 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov d01f5101 2024-11-01T18:45:55 Tests: add wrappers for restricted_trace scripts Example use: out/Android/restricted_trace_gold_tests \ --bypass-skia-gold-functionality \ --filter=dota_underlords:dragon_raja out/Android/restricted_trace_perf --flags Bug: b/376300037 Change-Id: Ic3e8cb241af25a770f5d1888538d13482f877b6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985570 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 6cda99d8 2024-11-07T09:53:01 Tests: fix run_angle_android_test.py and trace bundle The output_directory arg is provided when invoked by the wrapper, but not when running with run_angle_android_test.py, in which case cwd has been historically used such as: cd out/AndroidPerformance; ../../src/tests/run_angle_android_test.py ... Move the import added in https://crrev.com/c/5985232, as 1) it now imports protobufs which is not included with python3 and requires an additional package 2) build/ is excluded from trace bundles where running traces with the Chromium runner isn't supported. Bug: b/377875190 Change-Id: Ie092dc6382e74ac7413a42acffaf507c05b73514 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6002496 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi f44427b5 2024-11-05T15:18:59 Vulkan: Fix MSAA glReadPixels into PBOs The temporary image used to resolve the MSAA framebuffer during glReadPixels did not have the SAMPLED usage bit. Additionally, the image was supposed to be garbage collected afterwards but ImageHelper's release() function was accidentally immediately destroy()ing it. This was not an issue with blocking glReadPixels paths, because the command buffer was immediately flushed and the GPU work was waited on before the image was destroyed in RendererScoped's destructor. Bug: b/377437834 Change-Id: I1dca47172d6f363277059a848fe9446ac2a872d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5995530 Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov cc2edfd1 2024-11-05T15:37:21 Fix getPerfMonitorCounterData maxResults, skip AsyncCommandQueue test Skips TextureDataInLoopManyTimes on SwS AsyncCommandQueue. Add more debug info to the test although without the AsyncCommandQueue variant we likely won't be see flakes. Bug: angleproject:377503738 Change-Id: I372531451c280b04ffed84b020463657440fca08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5995531 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
Mohan Maiya 17a01469 2024-10-26T06:07:31 Vulkan: Bugfix TextureVk::generateMipmap Add support for generating mipmaps of textures that are EGLImage texture targets with colorspace overrides Bug: angleproject:40644776 Tests: ImageTestES3.SourceAHBTarget2DGenerateMipmap* Change-Id: I9b4ff802f4118a42d54dc8d80ab30e2f9958bfee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966623 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Roman Lavrov 1daf17b5 2024-11-04T11:05:46 Tests: restore angle_end2end_tests --help on Android https://crrev.com/c/5985232 added support for choosing the test runner, but that inadvertently changed behavior with --help (or with certain flags). This CL restores that behavior. parse_known_args() exits the process by default, so add manual --help handling. Bug: b/344849382 Change-Id: I87f197f90a161ec141a6e1f46ba81cfbf01a2fec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987387 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 47fafdb9 2024-11-04T10:05:12 Disable tracegz (trace interpreter) by default, remove from CI Trace interpreter is incomplete and we've been punting on it. Can be re-enabled with angle_enable_tracegz=true in gn args. This avoids accidentally pulling trace sources into builds. Bug: b/376300037 Change-Id: Ib755fa9f57885216b02a481fd670a1bb0266f0db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987382 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov e43d3591 2024-11-01T16:23:27 Tests: allow choosing Chromium/our test runner + screen checks Chromium test runner (build/android/test_runner.py) is currently the default runner for most suites. One exception is angle_trace_tests where we're always using our scripts instead (android_helper.py etc). We do that by setting android_test_runner_script to our runner for that angle_test instance. This CL supports setting android_test_runner_script to our script but then choose whether to run with the Chromium runner or android_helper depending on the command-line arg (--angle-test-runner) This CL also adds a check for the screen state which will be performed regardless of the runner. This is to have a fast and clean failure when the device wasn't properly initialized by the infra (see bug). The check is based on the output of `dumpsys deviceidle | grep mScreen` (this is the most generic check I found, I previously used nfc but that depends on nfc and turns out the output is device-dependent) This CL enables this mode for angle_end2end_tests. Bots will continue to run with Chromium runner as before (but with the added screen checks). Locally, we will now be able to switch to our scripts directly: out/Android/angle_end2end_tests \ --gtest_filter='*ClearTextureEXT2DMSStencil*' \ --angle-test-runner Now when running end2end tests locally (regardless of the runner) with a locked device screen, we'll see the following error right away instead of sporadic failures or stuckness during execution: Exception: Unexpected device screen state: ['mScreenOn=false', 'mScreenLocked=true']; expected: ['mScreenOn=true', 'mScreenLocked=false'] The plan is to enable this mode for all suites, after which the current local script run_angle_android_test.py will no longer be needed. Bug: b/344849382 Change-Id: I77e7733804ab37e2f3d26bf3574a52a9553e4274 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985232 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen eccfec93 2024-11-01T11:49:11 Metal: gl_ClipDistance fails validation Failure is "Found child with two parents". Result from reusing gl_ClipDistance in: float gl_ClipDistance[8]; ClipDistance_0 = gl_ClipDistance[0]; ... Fix by creating new node for each symbol access. Bug: angleproject:376718272 Change-Id: I7a866a10e389cc25d0cff4e6f18ae9c70ab376e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979781 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Chris Dalton a05a0e15 2024-09-25T22:33:36 Validate PLS shaders against context state Add shader introspection for PLS uniforms and validate that they match context state during draw calls. Bug: angleproject:40096838 Change-Id: I76cdf8add03de8f8b0b3e772c15c0087c1d97e98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893962 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen b03f0148 2024-11-01T10:26:04 Metal: interpolateAtOffset fails validation Fix validation error Found function prototype with an invalid qualifier. The offset parameter was created with "global" qualifier. Bug: angleproject:376718268 Change-Id: I6f314a42fe1d35d54bb673cfa7d58eba526c9ea5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979778 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 2156cd6e 2024-10-31T14:22:31 Metal: Fix rewritten array variables clashes It was possible to generate MSL name clashes by declaring arrays, such as in: mat3 a[1] mat2 a_0; Complex GLSL outputs need to be linearized into primitive MSL types. This would happen for struct outputs, arrays and matrices. For these new MSL variables, the translator needs to invent new names that match, generated from both VS and FS. The clashes were due to the encoding scheme: For arrays, the MSL vertex output variable was named with _0 suffix for the array and _0 for the matrix row 0. In the example above, this would create a clash since also non-array mat would be linearized row-wise. For structs, field `a.b` would be encoded as `a_b`. By selecting different a and b, clashes could be generated trivially. It is redundant to encode named semantics in the out variable names. The only needed element is the discriminator which associates VS variables to FS variables. Currently this is done by using the user-provided root field name. Fix by encoding only the root variable name to the MSL variable name. The rest of the field discriminators are just a running number. Each GLSL name `a` is unique. MSL names get fixed suffix form `a_X`, and thus all of them are unique too. This is a continuation of following fixes that turned out to be incomplete: 6fe8a399dd Metal: Fix rewritten out variables with underscores 27423bffff Metal: Generate names for rewritten inputs Bug: angleproject:376417347 Change-Id: I407db373d201b3e321c6d8414bafdbecfd82cf19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979774 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Amirali Abdolrashidi 6b9d3762 2024-08-22T15:29:00 Vulkan: Optimize full texture clears Currently, a full texture clear (glClearTexImageEXT()) is treated as a special case of a partial clear (glClearTexSubImageEXT() with image dims as the input). However, it can be further optimized by treating it as a clear update. * For full clears from EXT_clear_texture, the clear update path is taken. * It leads to a more optimized path, including the usage of the following APIs: * vkCmdClearColorImage() * vkCmdClearDepthStencilImage() * It uses the following enum: ClearTextureMode * If a partial clear uses the extents for the entire image, it is treated as a full clear. * Updated the method to determine if a texture is renderable in clearSubImageImpl(). * Added perf counter: fullImageClears * Added new unit tests * Single 3D texture full clear (Clear3DSingleFull) * 2D RGB SNORM clear (Clear2DRGB8Snorm) * Added Vulkan perf counter test for 2D and 3D color image clear. * Updated the related skipped tests on Pineapple. Bug: angleproject:42266869 Bug: angleproject:375425839 Change-Id: I12ef3002dee190d7f8f43204f7d3f76e05d0b54f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806207 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 91ea8aef 2024-10-31T12:33:35 scripts: Add restricted_trace_perf as data dep This gets it in to angle_trace_bundle.py. Bug: b/376300037 Change-Id: Iebffb105d24bd45c346d6d7085051c432039e2ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980801 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 8d12b278 2024-03-15T15:39:39 Make separated anonymous in/out structs work better Fixes failing case for other backends than GLSL output: VS: out struct { .. } a, b; FS: in struct { .. } a, b Make the ANGLE VS-FS interface matching work by using the anonymous name as the variable structOrBlock name. Bug: angleproject:42267047 Change-Id: If8107387c02b5520134857fb210a27a8f92a2db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5372727 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen b8d546b2 2024-10-30T15:40:58 Fix immutable string concats with ints `BuildConcatenatedImmutableString("a", 10, "b")` would construct "a\nb" because the implementation lacked int overloads and ints would be promoted to chars implicitly. Fix by implementing simpler way to calculate digits for numbers and then add useful overloads. Remove ImmutableStringBuilder::appendDecimal() since the code is already expecting << for all other types, and the bug was due to this expectation. Bug: angleproject:376417347 Change-Id: Iea5e14a6e2fede068b704754b9203db794dd5bf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972641 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Cody Northrop 7bb1e0f6 2024-10-29T13:18:49 restricted_trace_perf: Allow use of system ANGLE libs This change allows the perf script to use built in ANGLE libs, including from the system partition, instead of requiring a separate package. By default, the script will now use the ANGLE libs packaged in the test APK (com.android.angle.test). OpenGL/EGL calls will still go though the platform EGL loader, but you no longer need to install a separate ANGLE APK containing libs. To use the system libs, add the following flag: --angle-package system You can use it to point to *any* package that is queryable and contains ANGLE libraries. To get the previous behavior, you'd use: --angle-package org.chromium.angle Also two small unrelated fixes: * Fix typo when clearing shader cache * Broaden the 'MODEL' skip in thermal throttling Bug: b/376300037 Change-Id: I762cfd7516026e903a6a5de2949d50e96e766d48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5976899 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Neil Zhang 236e0f48 2024-10-22T18:33:23 Add fix for create multi-window surfaces cause crash This patch fix crash when created multiple window surfaces, and not call corresponding eglDestroySurface, also added related test. Bug: angleproject:374797737 Change-Id: I58941660130e84e213cf9d78806027d56d6efc8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981430 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 913251aa 2024-09-25T17:42:59 Add clear tests related to layered image * Added tests to bind a layered framebuffer to a 3D image and clear it. Bug: angleproject:42266869 Change-Id: I488a26883d3e05daf0cc746ccf4b409ba470cb4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889409 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 1652f8ed 2024-10-17T13:35:39 Vulkan: end2end tests when descriptorSetCache is disabled Some end2end tests are testing specific descriptorSet cache behavior. When cache is disabled, these tests failed. In this CL these perfCounter based tests haven been modified to check total allocation to ensure the descriptorSets are properly reused instead of cache hit/miss. Bug: angleproject:372268711 Change-Id: I1d2f4cfcf622b05cdcb3317c8804416a80e72c48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3735732 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov a7ef6444 2024-10-29T09:39:24 Tests: skip D3D11 dEQP-GLES2.functional.polygon_offset Got re-enabled in https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/0d2b73e3a4b70d3117abca393e2b86ccf99f4c31 The GLES3 version is already skipped for this config Bug: angleproject:42260109 Change-Id: Ief290695dd97d7ecf84f2e06f352d9135e0748b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5974494 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen 4397ff2f 2024-10-25T16:55:30 Metal: SeparateCompoundStructDeclarations fails validation Consider GLSL: struct S { int i; } s; s=s; SeparateCompoundStructDeclarations would rewrite this to: struct S { int i; }; S s'; s=s; The interm rewrite would rewrite the specification and declaration of s, but not the use sites. The use sites would use the old type, and thus something that was not in the tree anymore. This would fail the validation. This kind of bug was previously fixed for SeparateDeclarations in commit 18fa02bebf901dd8501de3176f6052ae4ce984be. Fix by adding the logic to SeparateDeclarations, as it is already doing almost the exact task, separating `struct S { ..} a, b`. The separation is tested in GLSLTests.StructInShader and various other draw tests. These pass with MSL, but these would also fail validation if that was enabled. Bug: angleproject:375523825 Change-Id: I1697103d0ba47616dbd3159f36f9e71cb2831c4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5964899 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 4a5b0284 2024-10-24T11:46:54 Disallow discarded uniform block references Uniform block instances cannot be used by themselves, as there is no way to refer to their type. Disallow the only typeless access pattern, discarding via expression statement: uniform MyBlock { int x; } b; void main() { b; 0, b; } Explained as disallowed in newer GLSL 300: https://github.com/KhronosGroup/WebGL/issues/3644 The comma expression form would ASSERT in CollectVariables. Bug: angleproject:42267026 Change-Id: I6c8b835482fd551bd97576c1bd24f005874da6af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961498 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 898a1c12 2024-10-24T13:09:36 Metal: Fix ToposortStructs validation == failures ToposortStructs would convert mat, vec, struct == to ANGLE_equals() calls. However, the functions called were not in AST. This would cause "Found node calling previously undeclared function <validateFunctionCall>" validation error and ASSERT. Mat, vec equality calls would use prelude ANGLE_equals implementations. The MSL emit already does the conversion from == to ANGLE_equals for these builtins. For user-defined structs the logic would be: - collect struct decls, structs, create equality functions - toposort - for each sorted struct: - insert struct decl - insert equality function Move the equality function creation after the toposort: - collect struct decls, structs - toposort - for each sorted struct: - insert struct decl - create equality function - insert equality function This way the sort ensures that nested struct equality functions can refer to previously introduced equality functions. Bug: angleproject:375352601 Change-Id: I59efed98bca6d99b198abc2b5c7577cf5d1d5d83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961281 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi 08c1724f 2024-10-11T14:29:00 Vulkan: Support GL_ARM_shader_framebuffer_fetch_depth_stencil Bug: angleproject:352364582 Change-Id: I63fd78314fa7ebccbf366c252e309a9c0f09c8c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938150 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 65fcf9c4 2024-10-26T10:53:18 Vulkan: Remove redundant dependent feature checks Since [1], when a feature is overriden, the dependent features automatically take the override into account. Tests no longer need to account for dependent features, neither does the logic in the code. [1]:https://chromium-review.googlesource.com/c/angle/angle/+/4749524 Bug: angleproject:42266725 Change-Id: I5440aba4a89cffbe710e26ad7de4cfee783e9bdf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967414 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov c13e9963 2024-10-28T15:19:09 Tests: skip mac intel dEQP-GLES2.functional.polygon_offset Got re-enabled in https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/0d2b73e3a4b70d3117abca393e2b86ccf99f4c31 The GLES3 version is already skipped for this config Bug: angleproject:40096462 Change-Id: I8b6eca1faec9442c6de323000cd223b0c169e35d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972595 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Yuxin Hu ba65fc48 2024-05-01T15:53:20 ANGLE unit test to check const expression in a shader with uniform Bug: b/338287961 Change-Id: I81586122fdb6cdfe650b9c9094582276220741f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5507766 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 0d5c0bd1 2024-04-25T10:26:08 ANGLE end2end test to check const expressions are handled correctly Bug: b/337046547 Change-Id: I1bd368f8c95a9676aba13fe91313d0eaba32db03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5490170 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi a0586d6e 2024-10-26T00:32:27 Remove feature description / condition strings These strings show up in chrome://gpu so they can marginally be useful, but are otherwise dead weight for most uses of ANGLE / users of ANGLE. While slightly less convenient, the feature name can always be linked back to the source code if needed so the presence of such metadata is not necessary either. This shaves 40KB from the binary size of ANGLE when built with Vulkan only on Android. Bug: chromium:371512561 Change-Id: I3959961bb7de95cc60a85130d0ff38a7fd533fb7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5968453 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4353d25c 2024-10-25T16:16:58 Fix ASAN bug in GLSL test Bug: chromium:375344329 Change-Id: Id275ba7877c5092bf7b55c06fcfa80614886985c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967933 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3a265f14 2024-10-24T17:34:15 Android tests: raise if --render-test-output-dir doesn't exist For convenience when testing locally, otherwise we get an obscure error later on Bug: angleproject:370089935 Change-Id: I94f52aef90afb600baae45540e0e53f899554ee9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5960260 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov ec262a32 2024-10-22T12:34:15 Trace tests: offscreen gles1 fix framebuffer binding handling gles1 traces can call glBindFramebufferOES (ex: plague_inc) so we need to intercept that for offscreen gles1 traces. Also OES_framebuffer_object does not provide "read" bindings, only a single framebuffer binding, so we need to special-case binding handling in the gles1 case. Bug: angleproject:370508393 Change-Id: Ia17df21ed67aa8a1e0aa45fe9bb929ce42852ba2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953095 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 12584049 2024-10-21T14:04:55 Make SimplifyLoopConditions testable Add ShCompileOptions::simplifyLoopConditions, so that tests can turn it on. Later edits to simplify loop condition logic are simpler to review when the testing related edits are landed separately. Test the feature by having ESSL as the input and ESSL as the natural output, to reflect how AST changes. To make the test expectations more deterministic across code changes, change SymbolTable::kLastBuiltInId to SymbolTable::kFirstUserDefinedSymbolId. This is simpler as no code needs to know exact last built in id, so we can just ensure that the user defined symbol ids do not clash with the builtin ids. Bug: angleproject:374585769 Change-Id: Iea0efb8ac2878691d0fd5ff5cfe9a49ac754515d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5946724 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Roman Lavrov 922147f9 2024-10-22T18:20:44 Trace tests: offscreen sRGB traces use sRGB format Without this offscreen screenshots end up darker. Currently applies to 7 traces, can be found with: % egrep 'DrawSurfaceColorSpace.*0x3089' src/tests/restricted_traces/*/*.json Bug: angleproject:370089935 Change-Id: I4a05782de2e7400fcfcb5757d18acf758749d6ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953096 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 47c66901 2024-10-21T12:47:22 Vulkan: Set gl_Layer to 0 if the framebuffer is not layered Bug: angleproject:372390039 Change-Id: I29067c9488e06f6dd2e90f207fecb843267fb77c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949263 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi bbe68963 2024-10-21T15:11:27 Vulkan: Fix `precise` vs `mat4(...)[index]` Bug: angleproject:374801303 Change-Id: I45550abe406aaaf4d2c5eb5d7d694b2b30ab8e4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949528 Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 5c2a2fd5 2024-10-21T16:00:25 Vulkan: Fix `vec4(...).zxwy[index]` The code was actually correct, but included an unnecessary assertion. The code incorrectly assumed `.zxwy[index]` is pre-processed with a lookup table and turned into `[index']`, but it wasn't if the LHS is a constructor. The change just removes the assertion because it was correctly handling that already. Bug: angleproject:40096715 Change-Id: Ib1365f95a255ce3654831af55429361d35c026c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949527 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi ef55ca0a 2024-10-17T14:44:22 Update copy validation regarding ext textures * Updated the validation functions for the following function to accept TEXTURE_EXTERNAL_OES: glCopyImageSubDataEXT() * Updated unit test CopyTextureTestES3.CopyImageSubDataToEGLImage * Using TEXTURE_EXTERNAL_OES as target for glFramebufferTexture2D() requires EXT_YUV_target. Therefore, the texture related to it is used instead. Bug: angleproject:361372990 Change-Id: I905d4cf89522ae3158516b42b15705d1044c6e97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5940404 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Jiaqi Li ff455e8c 2024-10-17T13:19:09 Add tests to check copy image with TEXTURE_EXTERNAL_OES According to spec of EXT_copy_image, GL_TEXTURE_EXTERNAL_OES should be accepted by glCopyImageSubDataEXT. Add two tests to check copy image from gles texture to EGLImage and from EGLImage to gles texture by API glCopyImageSubDataEXT. As ANGLE does not support this currently, skip these two tests on all platforms. Bug: angleproject:361372990 Change-Id: Iceacb2d6af2277a314a215220c3ccdf47665561c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5940214 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Le Hoang Quyen 182aa407 2024-08-14T19:52:30 Reland "Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format." This is a reland of commit f102d75a39ec8980a617c179034c24f337b12d1c Nothing changed, it's just that the root cause was already fixed in https://chromium-review.googlesource.com/c/angle/angle/+/5937060. Original change's description: > Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format. > > Currently when IOSurface is bound to a pbuffer with GL_RGB internal > format, we asign angle format=B8G8R8A8_UNORM/R8G8B8A8_UNORM to it. > And then disable alpha write to the respective MTLTexture. > > However, when an implicit MSAA texture is created for the above > pbuffer, it will be assigned B8G8R8A8_UNORM/R8G8B8A8_UNORM angle format > but has no knowledge about alpha write disable. Consequently, when a > render pass uses this implicit MSAA texture, its alpha channel won't be > cleared properly and would contain garbage values. > > In order to avoid the above bug, we should use > B8G8R8X8_UNORM/R8G8B8X8_UNORM angle format for the IOSurface pbuffer. > > This will fix the render corruptions found in chromium:358957665. > > Bug: angleproject:42261786 > Bug: chromium:358957665 > Change-Id: I8aa1e24ace2de80dd08e21711445515ba4b339ff > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5788801 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Bug: angleproject:42261786 Bug: chromium:358957665 Change-Id: I1e090886ed493eafce35d2ba98010c3be7bc16c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5937061 Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Stephen White 4b1e58d9 2024-10-17T09:33:53 Fix for float constant precision in the GLSL backend. Increase the precision of floating point values written out via std::ostringstream. 8 digits is not sufficient to represent all floating point values. Note: the reason the locale test was modified is because it was using a value of 1.9, which has no exact fp32 representation. Increasing the precision causes it to print as 1.8999998 instead of 1.9, failing the test. I've adjusted the value to 1.5, since this does have an exact fp32 representation. (However, note that I couldn't get the test to fail when I removed the locale setting, with either 1.9 or 1.5. Perhaps the locale is being handled at a different level.) Bug: angleproject:374013421 Change-Id: Icb79eb9acd562c83d079f2cc2cdba253220e581e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938473 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5b96316b 2024-10-17T14:00:41 Revert "Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format." This reverts commit f102d75a39ec8980a617c179034c24f337b12d1c. Reason for revert: Suspecting this caused an GPU memory regression on Mac. Bug: chromium:374072906 Original change's description: > Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format. > > Currently when IOSurface is bound to a pbuffer with GL_RGB internal > format, we asign angle format=B8G8R8A8_UNORM/R8G8B8A8_UNORM to it. > And then disable alpha write to the respective MTLTexture. > > However, when an implicit MSAA texture is created for the above > pbuffer, it will be assigned B8G8R8A8_UNORM/R8G8B8A8_UNORM angle format > but has no knowledge about alpha write disable. Consequently, when a > render pass uses this implicit MSAA texture, its alpha channel won't be > cleared properly and would contain garbage values. > > In order to avoid the above bug, we should use > B8G8R8X8_UNORM/R8G8B8X8_UNORM angle format for the IOSurface pbuffer. > > This will fix the render corruptions found in chromium:358957665. > > Bug: angleproject:42261786 > Bug: chromium:358957665 > Change-Id: I8aa1e24ace2de80dd08e21711445515ba4b339ff > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5788801 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Bug: angleproject:42261786 Bug: chromium:358957665 Change-Id: I29238588f78f2d01c77a317b2a22670a8036d2e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5939455 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 323187d9 2024-10-11T13:48:51 Vulkan: Fix color attachment limit with framebuffer fetch ANGLE incorreclty assumed that the input descriptor limit is at least as big as the color attachment limit. This is not true on Intel/windows where 8 color attachments are available but only 7 input descriptors. With this change, the color attachment limit is dropped to 7 in such a case so that framebuffer fetch can continue to be supported. Bug: angleproject:372873263 Change-Id: If836563b47399a23b293b74815f6bccb21aaf47c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5919759 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 8d86ae9f 2024-10-16T14:38:57 Skip flaky end2end test ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB on Win Intel GL Bug: angleproject:373818282 Change-Id: I92ea2ca5aa5423a13d9912a7da964c315b862ec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938873 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi e40d8581 2024-10-16T10:57:39 Vulkan: Fix render pass revival vs framebuffer fetch and DR Bug: angleproject:352364582 Change-Id: I86548251fc1dec75031a23e3461bf296c852919c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5937412 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mavis Deng 68ba532b 2024-10-09T14:38:01 Add validation for ObjectLabel The validation of ObjectLabel is empty. Move the validation in ValidateObjectLabelKHR to a new ValidateObjectLabelBase (except the extension check), and make ValidateObjectLabel and ValidateObjectLabelKHR both call ValidateObjectLabelBase after the version/extension check. An end2end test is added Bug: angleproject:360903471 Change-Id: Iabfd3c16c5423b2ab2fe5e417fe75eed00237c92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5919129 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9e8b104e 2024-10-14T00:00:00 Do not test OpenGL backend on iOS Added Metal platform to tests that require instantiation. Bug: angleproject:40050022 Bug: angleproject:42264029 Bug: angleproject:42266119 Bug: angleproject:42266226 Bug: angleproject:42266239 Bug: angleproject:42266249 Bug: angleproject:359136169 Fixed: angleproject:373478551 Change-Id: I915f09c7f24acce27bf0d489932645338ac3fbe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5932659 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jiaqi Li 0dbe85f3 2024-10-15T13:54:36 Increase the size of vector WriteImages to max ANGLE limits the size of vector which represents the write images when resolving images. So when blit a multisample buffer to mrt, the sum of write images is more than 1 and app will abort while checking the size of the vector. This patch increases the size of vector WriteImages to max. Add end2end test to test blit multisampled framebuffer to MRT framebuffer. Bug: angleproject:361369302 Change-Id: I2d892bcd3411f2bca2ff514f6f0b6055d872668a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872512 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 059f66be 2024-10-15T10:04:23 Bugfix in UnitTest_DMSAA_dst_read Skip UnitTest_DMSAA_dst_read test if GL_EXT_sRGB_write_control extension is not supported Bug: angleproject:40644776 Change-Id: I4e8ec6d184b033308b7cd33551555d480bdc8107 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5933569 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Amirali Abdolrashidi 91391c06 2024-10-02T16:07:02 Vulkan: Vertex attribute hole crash workaround * Added condition to bypass reading from a streaming attribute if the source pointer is null. * Added unit test that crash if a vertex pointer is not defined for an enabled vertex attribute. * VertexAttribPointerCopyBufferFromInvalidAddress * Credit for the original test: tingwei.guo Bug: angleproject:359729255 Change-Id: I2592fed66f0eba8c7003ec02cc8ca802833f23b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5899978 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov f1296738 2024-10-15T14:27:43 Skip end2end tests failing on iOS BlitFramebufferANGLETest.BlitWithMissingAttachments/ES2_OpenGL Texture2DTestES3.UnitTest_DMSAA_dst_read/ES3_Metal Texture2DTestES3.UnitTest_DMSAA_dst_read/ES3_OpenGL Bug: angleproject:40644776, angleproject:371987004 Change-Id: I414bfa065faa0bbd20cb7d46d00e30d9d92f7f53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5933825 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll e7341113 2024-10-14T23:37:31 Manual roll VK-GL-CTS from 179dd9f858f0 to 5e9887eb393c (20 revisions) Manual roll requested by abdolrashidi@google.com * Added common source files for FragCoordConventionsTests. * Suppressed a failing must-pass test for Pixel 4. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/179dd9f858f0..5e9887eb393c 2024-10-11 piotr.byszewski@mobica.com Test texture LoD query in combination with base level 2024-10-11 mateusz.bahyrycz@mobica.com Add missing coverage for sparse binding multisampled images 2024-10-11 mateusz.bahyrycz@mobica.com Add tests for multiple bind sparse infos 2024-10-11 ziga@lunarg.com Only use depth clamp control create info if extension is enabled 2024-10-11 kamil.goras@mobica.com Split KHR-GL46.framebuffer_blit.framebuffer_blit_functionality_multisampled_to_singlesampled_blit 2024-10-11 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (fragment_coord_conventions_multisample), PART 13 2024-10-11 gleese@broadcom.com Fixes for mandatory feature and feature_consistency tests 2024-10-11 lordalcol@users.noreply.github.com Create vulkan-cts-withdrawal-2024-10.txt 2024-10-10 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-10-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-10-03 ziga@lunarg.com Add more tests for VK_EXT_swapchain_maintenance1 2024-10-03 ziga@lunarg.com Test dynamic sample locations without create info 2024-10-03 piotr.byszewski@mobica.com Coverage for extremely long debug labels 2024-10-03 Tyler.Schneider@amd.com Add sanity check in Ray Query Stress Tests 2024-10-03 cwabbott0@gmail.com Revert "Fix crash in local read max input attachments test" 2024-10-03 scerveau@igalia.com Update vk_video_samples external sources 2024-10-03 rgarcia@igalia.com Add shader module identifier tests with mesh shaders 2024-10-03 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2024-10-02 gleese@broadcom.com Remove mandatory_features.txt 2024-09-30 lorenzo@khronosgroup.org Set Amber back to google:main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:373475678 Tbr: abdolrashidi@google.com Change-Id: I2c31b1a15cdafc4c2e528d65a1a67a2672b932d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5932584 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov 4c35748f 2024-10-14T16:30:55 Skip MultisampleTestES3.CopyTexImage2DFromMsaaDefaultFbo on S22 Bug: angleproject:372059358 Change-Id: Ide36309be0310f1449bf4aedce42c60c0fda55c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5928718 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov a8d9d813 2024-10-08T15:31:37 Trace perf: save individual screenshots in offscreen With --offscreen, _frameN.png is now the Nth frame, by reading the offscreen buffers pixels. This is more consistent with onscreen. Previously we would only get _frame24.png, _frame48.png etc with the grid of frames from framebuffer 0. Now we get these as _grid1.png, _grid2.png etc, and _frameN.png are individual frames. gles1 is an exception as we don't have grids and only render a single frame to framebuffer 0. Bug: b/370508393 Change-Id: Ia8cb13120f21ef92fa3e6662b5e2cffa918983d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916767 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0f2ce2cd 2024-10-11T12:58:53 Tests: Add Supreme Duelist trace Test: angle_trace_tests --gtest_filter="*supreme_duelist*" Bug: b/372883450 Change-Id: I87931895ea67b437c36bb99e8ab4fa8e1dae3a3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5926174 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Alexey Knyazev ab1cdd22 2024-10-03T00:00:00 Translator: Support EXT_texture_query_lod No backend support yet. Bug: angleproject:368275901 Change-Id: I10bbc03feca485908315633cbc0f955e82994657 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5920240 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 68de0042 2024-10-08T05:41:37 Vulkan: Support glCopyTexImage2D from MSAA default framebuffer Add support for glCopyTexImage2D when the source is an MSAA default framebuffer by enhancing UtilsVk::copyImage(...) to support multisampled source images. Bug: angleproject:372059358 Tests: MultisampleTestES3.CopyTexImage2DFromMsaaDefaultFbo* Change-Id: I9b5d39f6f75ca8056f8be18b1e68eb0161c99903 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5914629 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>