src/tests


Log

Author Commit Date CI Message
Amirali Abdolrashidi cc7d0220 2024-07-31T14:22:38 Vulkan: Fix serial mismatch during mid-loop flush Currently, if the total buffer updates to the image surpasses a certain threshold, it results in a flush. However, this can cause discrepencies in the queue serial, which can result in incorrect behavior on some platforms. * Updated flushStagedUpdatesImpl() so that the image serial after applying the updates matches that of the current outside command buffer. * That includes when there is a flush in the middle of the update loop, resulting in submission and new queue serial for the CB. * Added a unit test to check if a large texture can uploaded and deleted after a second small texture is uploaded. * Texture1UploadThenTexture2UploadThenTexture1Delete * Added a unit test for flushing when uploading cubemap textures. Bug: b/351650806 Bug: b/356192937 Change-Id: I7f9b20e4b7fd49115f22081a9733b4d44b740e4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5744377 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 451d78d9 2024-07-25T11:56:25 Prune trivial infinite loops in WebGL contexts Bug: chromium:350528343 Change-Id: I4be19c1ffe41fc86889b49b4a0e29d8bc9c940ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5738743 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3cda3527 2024-07-30T14:28:17 Capture/Replay: fix CaptureProducedRequiredFiles bottleneck Turns out repeatedly listing/checking files was a huge bottleneck, especially on Windows. Example from win-trace GLES 3.0. Before this change almost 10 minutes!: I09:59:03.198422Z Running 2255 capture tests, worker_count=8 batch_count=1 I10:00:36.627151Z RunCaptureInParallel finished I10:10:20.380077Z CaptureProducedRequiredFiles finished I10:10:20.396174Z Building replay tests After: I11:02:57.679244Z Running 2255 capture tests, worker_count=8 batch_count=1 I11:04:33.078232Z RunCaptureInParallel finished I11:04:35.331878Z CaptureProducedRequiredFiles finished I11:04:35.344066Z Building replay tests win-trace timing expected to improve from ~30 minutes to ~15 minutes. Bug: angleproject:42264614 Change-Id: Ie1903d89d54ab5c6464d3ddb993ec3007e7604ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5749745 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Le Hoang Quyen 2bc1519c 2024-07-28T05:16:07 Metal: fix base/max level change for mutable textures. Previously, the following scenario would accidentally delete and recreate the native texture storage for a non-immutable TextureMtl: 1. set a texture base/max level. 2. attach the texture to a FBO and clear it. - native storage is created. 3. sample the texture. - native storage is accidentally deleted and recreated. This happened because front-end only notifies the backend about the base/max level dirty bits at step 3. At this point, Metal backend thought that the native storage created at step 2 is no longer valid and attempted to recreate the storage. This CL fixes the bug by checking whether the base/max level is still compatible with the existing native texture storage. If it is then the dirty bits result in no-op. Bug: chromium:355605685 Change-Id: I1daac80a74219109631a101e18e944560606d926 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5741121 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov aaf39d92 2024-07-23T17:56:56 FrameCapture: fix (nil) showing up in linux-trace capture Without this we get the generic fallback ostream << value which apparently works differently across platforms and produces (nil) on Linux but something compile-able on Windows. Bug: angleproject:42264614 Change-Id: I2bce988b661cf65ba0651d78081aaf3240d87d52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736060 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 15b354d5 2024-07-28T21:30:11 Unsuppress ASAN/UBSAN suppressions for fixed tests Bug: angleproject:42265173 Bug: angleproject:42265224 Change-Id: Id695c0893bb7676cb1f129f45932a1c95708e3e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742430 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov da864294 2024-07-18T18:44:55 Capture/Replay: rework capture_replay_tests, enable linux-trace Changing the way capture_replay_tests orders its stages. Previously, build, capture and replay would all run concurrently in multiple processes sometimes causing difficult to understand interaction between those stages. This CL changes it so that the test follows stages sequentially: * Build end2end tests * Run all capture tests (in parallel) * Check captured files and produce a single build for replay * Build replay binary and all tests * Run all replay tests (in parallel, but _one by one_) Note that running replay tests one by one avoids the confusing batch failures altogether. Now when a replay test is broken, the logs will specifically identify which one caused the issue. This also noticeably improves CI time as ninja builds of bigger batches are more efficient and possibly less linking is happening. Additionally, xvfb is supported directly in the script without relying on testing/xvfb.py, in a way that reuses xvfb displays instead of starting/stopping xvfb for each test and avoids races that are possible when running testing/xvfb.py concurrently (such as picking which display to use). This appears to significantly improve stability on linux-trace which have had to be disabled due to the flakiness. Bug: angleproject:42264614 Change-Id: I38a5547250cf5f63b8b9e4879f02cd715d8df0a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5721996 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao bd3a3308 2024-07-22T14:03:20 Vulkan: Remove implicit image barrier for shader write When app uses compute or fragment shader to write to an image and makes multiple dispatchCompute or draw calls, right now we are inserting an implicit barrier to ensure WAW is hazard free. But Spec says that "Explicit synchronization is required to ensure that the effects of buffer and texture data stores performed by shaders will be visible to subsequent operations using the same objects". This CL records the bits from the last glMemoryBarrier call and will skip the barrier calls in ContextVk::updateActiveImages if there is no layout change, unless there is requirement from prior glMemoryBarrier. Bug: angleproject:350994515 Change-Id: I8bdeeb658993824369824aaa0f25cb4b6e3785f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5719024 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 554cc484 2024-07-29T10:03:50 Tests: end2end tests process test args before TestSuite() This fixes --use-config=<config> which allows to select a configuration before tests are registered and avoid looping through all configs. Bug: angleproject:42264614 Change-Id: Ia19d52a09debdd738577b8a12da82878302f3888 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746710 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 568caaa0 2024-07-23T15:07:59 Prune switch(constant) with no matching case Bug: chromium:350528343 Change-Id: Iabb475b230f22086de482bbdcf2fa00b0d986622 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5735815 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 57202584 2024-07-26T13:07:44 Vulkan: Fix dispatch-after-closed-render-pass bug Bug: b/355567160 Change-Id: I4bc6acec53a50330507bfadcc0a4c1093366aae6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5741786 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Geoff Lang a0a832de 2024-07-26T12:33:37 Revert "GL: Forward client-side arrays to the driver when possible" This reverts commit a6c2b4346516f228054b5bdd754bbc6f3ba1cba7. Reason for revert: Fails some Chrome tests on Android after rolling: https://chromium-review.googlesource.com/c/chromium/src/+/5742024 Original change's description: > GL: Forward client-side arrays to the driver when possible > > The OpenGL dirver can handle client-side arrays when the context is > OpenGL ES or a desktop GL compatability profile. When in these > sitatuions, use the driver default VAO for all frontend context VAOs > and forward client-side data directly to the driver. > > Bug: angleproject:355034868 > Change-Id: I21a4459c4f7db780b51441d76e63d17bf737c101 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736058 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: angleproject:355034868 Change-Id: I76f95d66ca277bcbb67300179e49287b433c1ede No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742647 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Mark Lobodzinski d306e048 2024-07-24T15:03:04 Tests: Add Shovel Knight Pocket Dungeon trace Tests: angle_trace_tests --gtest_filter=*shovel_knight_pocket_dungeon bug: b/355399059 Change-Id: I5b2193db9814d0867ab95efab7588540fca6198d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742394 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang a6c2b434 2024-07-23T16:36:10 GL: Forward client-side arrays to the driver when possible The OpenGL dirver can handle client-side arrays when the context is OpenGL ES or a desktop GL compatability profile. When in these sitatuions, use the driver default VAO for all frontend context VAOs and forward client-side data directly to the driver. Bug: angleproject:355034868 Change-Id: I21a4459c4f7db780b51441d76e63d17bf737c101 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736058 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 81086a18 2024-07-23T15:51:35 Manual roll VK-GL-CTS from 5b2dfe7c775a to 5a542d2049d7 (1 revision) Manual roll requested by solti@google.com https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/5b2dfe7c775a..5a542d2049d7 2024-07-19 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (CoverageGL21), PART 8 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 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 Manual edits - Patchset 2: fetched the original roller generated CL - Patchset 3: added missing parts, and run "python3 scripts/run_code_generation.py" - Patchset 4: suppress the failures: KHR-GLES3.api.coverage and KHR-GL46.api.coverage. see https://anglebug.com/355292302 Bug: b/354737043 Bug: angleproject:355292302 Tbr: solti@google.com Change-Id: Ie38a65c6db0b3330e970971bd1325e3c419b6248 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5739577 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Solti Ho <solti@google.com>
Mohan Maiya 7b0dc666 2024-07-19T15:39:42 Vulkan: Enable explicitlyEnablePerSampleShading for most vendors Bug: b/267953710 Bug: angleproject:40096890 Tests: SampleMultisampleInterpolationTest.SampleMaskInPerSample* Change-Id: I51cc393934e7fd24146ab5c94893bb3014c5c044 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5726628 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 0d458614 2024-07-18T00:00:00 Vulkan: Fix PBO readbacks with small row length Use CPU path when the row length is smaller than the source area width. Fixed: angleproject:354005999 Change-Id: I5c4686ca5387a98c6137868afb19c333aed8ac21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5724591 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 975674ea 2024-07-18T00:00:00 Metal: Fix PBO readback failures with small row length Do not use blits when the row length is smaller than the source area width to avoid Metal validation failures. Bug: angleproject:354005999 Change-Id: Ifa0f29a0d1d2fb3275ea254957c24f36807e6f66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5724790 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cody Northrop 93491ae3 2024-06-21T08:04:24 FrameCapture: Handle active texture in MEC When restoring texture bindings and contents, we need to first set the correct GL_ACTIVE_TEXTURE, otherwise it will use existing active texture bindings and update the wrong textures. Test: Grand Mountain Adventure MEC Bug: angleproject:345851268 Change-Id: I7c6c4a918513d4216405efe51774fcce4b49b45e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647491 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Devon Loehr 1fe50b44 2024-07-16T20:12:06 Make implicit `this` capture explicit When declaring a lambda with a value-capture default [=, ...], the this pointer is implicitly captured by value as well. This results in potentially-unintuitive behavior and has been deprecated in C++20. It produces a warning in newer versions of clang (https://reviews.llvm.org/D142639). This CL prevents the warning by explicitly `this` for each lambda. To maintain compatibility with previous C++ standards, it also removes the = capture default and captures each variable explicitly. It does not change the compiled code at all, since it's just removing some syntactic sugar. Bug: chromium:351004963, angleproject:42266730 Change-Id: I0f17a442262e2da22a1951d590291806554e66ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5714410 Auto-Submit: Devon Loehr <dloehr@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 327796df 2024-06-24T10:58:28 FrameCapture: Add a new CapturedTest for glActiveTexture This CL adds a new test focused on Reset of glActiveTexture. It doesn't just add a new frame since the original test was getting quite cluttered. This should provide a blueprint for adding more tests in the future. Test: capture_tests.py Bug: angleproject:345851268 Change-Id: Ieac29031f55ca133d81ce5ba26d45199de38e874 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5714395 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 0e598a0c 2024-07-17T09:49:19 FrameCapture: Unbind PIXEL_UNPACK_BUFFER for texture restore When restoring textures, we need to ensure the PIXEL_UNPACK_BUFFER is not bound, as that will influence where we pull data from. Allow per-context reset to restore the correct binding. Test: Grand Mountain Adventure MEC Bug: angleproject:345851268 Change-Id: I636f3780f8454d04152ff7bf7ba15d039ee41872 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5718285 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 98ff1c14 2024-07-17T09:45:03 FrameCapture: Improve buffer binding reset We aren't correctly tracking and resetting buffer bindings, which are per-context. To restore them, we need to track the bindings at the beginning and mark them dirty. Before this we were doing it in ResetReplayContextShared based on the object dirty state. Test: Grand Mountain Adventure MEC Bug: angleproject:345851268 Change-Id: Ic3db583c88bec9c680197f71ff11fdf69efdf630 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610332 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a5db20f7 2024-02-21T10:48:26 Traces: Switch to regex for power rails The rails have been rearranged on some devices. Update the way we scan for output to find them in either case. Bug: angleproject:354006406 Change-Id: Ia3999fc2c07a726f4832e451af93a40949f87335 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5722949 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Devon Loehr 80149a7f 2024-07-18T18:46:08 Replace variable-length array with vector Variable-length arrays allow allocating an unbounded amount of memory on the stack. This replaces a VLA with a vector, also provides better consistency with the rest of the containers in the function. Bug: chromium:349656479 Change-Id: I1e18f9a8985de84b82da58fa5465c98dbca51e8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5721320 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 86b22745 2024-07-17T19:05:51 Vulkan: Fix mPipelineCache is not initialized after terminate Very old regression: https://chromium-review.googlesource.com/c/angle/angle/+/1683807 Problem happens only if call `eglInitialize()` again on terminated display without also calling `eglGetDisplay()`. Note: calling `eglGetDisplay()` on terminated display will call `setupDisplayPlatform()`, which will destroy old `mImplementation`. Test: angle_end2end_tests --gtest_filter=EGLDisplayTest.InitializeDrawSwapTerminateLoop* Bug: angleproject:3318 Change-Id: I94bc7eba97be2d9b194c1a22a37662a2836f60b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717753 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9968e98c 2024-07-16T00:00:00 Metal: Fix compute path for 16-bit PBO readbacks Added 16-bit normalized pixel formats to internal copy shaders. Fixed and simplified floatToNormalized usage for signed inputs. Bug: angleproject:352700368 Change-Id: Icbb79381991c6621004d53706b97662d33c25cd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717929 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 43dc24dd 2024-07-17T16:05:59 Skip couple non-deterministic angle_restricted_trace_gold_tests on Win Intel Vulkan. animal_crossing black_clover_m produce slightly different images each run. Bug: angleproject:353690308 Change-Id: I22f2353b2cd83801b857b281ee873c83804864af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717931 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 1db80b88 2024-07-10T12:47:42 Reland "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]" This is a reland of commit c379ff48043a47e444c388c45270db40d3172d50 Original change's description: > Vulkan: Use VK_KHR_dynamic_rendering[_local_read] > > Bug: angleproject:42267038 > Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:42267038 Change-Id: I083e6963b5421386695e49a9872edbb2016c9763 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691342 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 1f87cbc9 2024-07-15T13:07:35 Vulkan: Fix late-added resolve attachment tracking Resolve attachments may be added after the fact to a render pass due to glBlitFramebuffer or eglSwapBuffer. Previously, only the resolve image views were tracked by the render pass, and otherwise the state tracking (layout, content defined, etc) treated the resolve images as generically written-to by the render pass. As a result, the render pass was unable to finalize the layout of the resolve images early. Optimizing the layout of the swapchain image when the surface is multisampled for example was not done due to this issue. In this change, when resolve attachments are added late, they are tracked identically to when they are added at the beginning of the render pass, fixing the issues described above. Bug: angleproject:42265625 Bug: angleproject:42266019 Change-Id: I765560762bb8caf39ba1096fb028177201c082d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5707470 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 468fcbe0 2024-07-15T15:46:12 Manual roll VK-GL-CTS from 43432bf265e3 to 5b2dfe7c775a (17 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/43432bf265e3..5b2dfe7c775a 2024-07-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2024-07-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11 into vk-gl-cts/main 2024-07-12 marcin.zajac@mobica.com MSAA Images in 64 bit Atomic + Shader Storage Images 2024-07-12 piotr.byszewski@mobica.com Add tests for subgroup uniform descriptor indexing 2024-07-12 ziga@lunarg.com Add shader object tests using all stages with nextStage 0 2024-07-12 MengYang.Liu@amd.com Add test cases for 256 bytes PushConstantsSize 2024-07-12 javed@igalia.com Fix 'unused shader' message 2024-07-12 kamil.goras@mobica.com Split KHR-GL46.cull_distance.functional 2024-07-12 syoussefi@google.com Remove incorrect usages of DE_NULL in VK framework 2024-07-12 syoussefi@google.com Remove incorrect usages of DE_NULL in GL tests 2024-07-12 syoussefi@google.com s/DE_NULL/0 in makeStridedDeviceAddressRegionKHR 2024-07-12 rgarcia@igalia.com Test line rasterization parameters do not affect non-lines 2024-07-12 javed@igalia.com Add option to enable/disable spir-v validation 2024-07-12 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 into vk-gl-cts/main 2024-07-11 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 into vk-gl-cts/main 2024-07-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 into vk-gl-cts/main 2024-07-01 lorenzo@khronosgroup.org Update KC CTS 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,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: b/353358652 Tbr: yuxinhu@google.com Change-Id: I1c787be2812017f14aff669d42bf55f2696d5de1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5710888 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 3540f8e8 2024-07-15T00:00:00 Fix gl::floatToNormalized for negative inputs Bug: angleproject:352963106 Change-Id: If353ff4126c6203ef6c1267d2b5c85b927964f15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5710508 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev f9af6f1c 2024-07-11T00:00:00 Add ReadPixelsTextureNorm16PBOTest Test that ReadPixels with a pixel pack buffer object bound works for 16-bit color buffers. Bug: angleproject:352584420 Bug: angleproject:352700368 Bug: angleproject:352963103 Bug: angleproject:352963106 Change-Id: I97457fefa86fad3f9444a24870bfd0431a87d64b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5703580 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang c4274d54 2024-04-29T11:47:34 WebGPU: Add pipeline creation and caching. Bug: angleproject:342213825 Change-Id: I303f193d30fd6b9820efaefcae64e11042888009 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5497535 Reviewed-by: Liza Burakova <liza@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 85875b96 2024-07-11T14:59:27 Fix validation regarding cube map array dims When defining cube map array textures, the depth represents the number of layer-faces, and does not change with mip level. * Updated validation for glTexImage3D(). * The width and the height for a mip level should not exceed the max cube map size for that mip level. * The depth limit has been set to max 3D texture size (similar to glTexStorage3D()) * The spec states that this limit should be at least the value of the implementation-based constant MAX_RECTANGLE_TEXTURE_SIZE. * Added unit tests to check multiple cases for cube map array validation for TexStorage3D, TexImage3D, and TexSubImage3D. Bug: b/338621235 Bug: angleproject:42262247 Change-Id: I0857e68de02238ffd288e34879fb7dfa6e3f545f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5698571 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 43ecf2bd 2024-07-15T12:16:30 dEQP tests: skip comp_swap r32i/r32ui on Pixel 6 Bug: angleproject:352610491 Change-Id: Id4d9c31d08ce4953c022c5314b163d55152edcd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5707469 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov df90bbc5 2024-07-12T18:04:53 Refactoring: move angle::HashMap and HashSet to own header Underlying abseil includes pull in a large set of headers Bug: angleproject:42266508 Change-Id: Icee47143a8a59bb0795a054b67c0aa4ddcfca4d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5704137 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 2997e354 2024-07-09T17:38:56 Start Win Intel UHD 770 experiment - Suppress failing tests. - Disable UHD 630 workarounds on experimental bot - Reduce deqp_gles2_d3d11 and end2end parallelism Use-Permissive-Angle-Pixel-Comparison: True Bug: chromium:331316080, angleproject:352085732, angleproject:352528974 Change-Id: I80eca02f1def11e60b857968a7b0c8fe93a1b4d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5688794 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Roman Lavrov 245c1243 2024-07-12T14:28:31 Revert "Disallow read color type conversions for norm16 formats" This reverts commit e5b442dedd8030d64a6ca2cb34ba0ec37895adfa. Reason for revert: Broke Skia tests; possibly not going for this any more, as discussed on https://issuetracker.google.com/351644552#comment11 Original change's description: > Disallow read color type conversions for norm16 formats > > OpenGL ES is not supposed to convert 16-bit color buffers to > 8-bit pixel types or vice versa during readPixels operation. > > Fixed: angleproject:351644552 > Change-Id: I9e51ddc82f62f958b983b5d4609f7e983a941e83 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686233 > Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:351644552 Change-Id: Ib0222e4cc5eae944db96fdd3f72c8980dfe09adf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5702736 Reviewed-by: Solti Ho <solti@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Alexey Knyazev a93476a1 2024-07-11T00:00:00 D3D11: Pass 3D slice index to Image11::copyWithoutConversion 3D slice range is passed in a D3D11_BOX structure for CopySubresourceRegion. Fixed: angleproject:352467349 Bug: angleproject:352496176 Change-Id: Ie96d9567cf73b0612bfb1cbd7fbacc6c0f01dec4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5697425 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Roman Lavrov eda67d7e 2024-07-11T11:16:08 Avoid including fstream from angleutils.h SaveFileHelper is mostly useful for / specific to FrameCapture, so move it there. The other couple of uses just write a string. Bug: angleproject:42266508 Change-Id: Ia1dcd4531f9d5671f40611a1887dcfe7c5dbc1ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5696025 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 590010b6 2024-07-04T00:00:00 D3D11: Cleanup stale CopyTexImageTestES3 suppressions Bug: angleproject:42262446 Change-Id: Id49b380b4dbf22efc0637605bbf7a67f317e7247 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691437 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 7d461b21 2024-07-10T14:11:53 Revert "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]" This reverts commit c379ff48043a47e444c388c45270db40d3172d50. Reason for revert: Regresses CPU perf and memory when _not_ using DR Original change's description: > Vulkan: Use VK_KHR_dynamic_rendering[_local_read] > > Bug: angleproject:42267038 > Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:42267038 Change-Id: I3865f0d86813f0eeb9085a92875a33bd449b907f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691337 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev e5b442de 2024-07-04T00:00:00 Disallow read color type conversions for norm16 formats OpenGL ES is not supposed to convert 16-bit color buffers to 8-bit pixel types or vice versa during readPixels operation. Fixed: angleproject:351644552 Change-Id: I9e51ddc82f62f958b983b5d4609f7e983a941e83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686233 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 6052d0f4 2024-07-03T15:17:23 Vulkan: Fix EGL_EXT_buffer_age with single buffered surface The specification: 4) What is the buffer age of a single buffered surface? RESOLVED: 0. This falls out implicitly from the buffer age calculations, which dictate that a buffer's age starts at 0, and is only incremented by frame boundaries. Since frame boundary functions do not affect single buffered surfaces, their age will always be 0. Test: angle_end2end_tests --gtest_filter=EGLBufferAgeTest.SingleBuffer* Bug: angleproject:3529 Change-Id: Iab5da26d1bce56d928398cc250d900465fc5d261 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5675986 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c379ff48 2024-06-10T22:01:57 Vulkan: Use VK_KHR_dynamic_rendering[_local_read] Bug: angleproject:42267038 Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Alexey Knyazev 2763d520 2024-07-04T00:00:00 Do not rely on 16-bit color read conversions in tests, Part 2 These conversions are not specified. ImageClearTestMetal should assert that all bits are cleared. Bug: angleproject:351644552 Change-Id: I362e244078ad44b777cf926e9512c6af9fe48106 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5684692 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 0a7e1daf 2024-07-05T16:05:20 Tests: fix MultithreadFenceDraw, MultithreadFenceTexImage Before this CL, pixels _after_ swapBuffers() were checked and in a way that was causing a data race on mDrawGreen access. It seems to have passed in certain special-case scenarios but was mostly broken, which might explain the numerous issues that it caused. After this CL, pixels are checked on each of 5 iterations _before_ swapBuffers() and mDrawGreen race is eliminated by ensuring read happens before the background thread is unblocked. Bug: b/338429767 Bug: b/42265212 Bug: b/42264513 Bug: b/267953710 Bug: b/42266622 Bug: b/328156792 Bug: b/42266649 Bug: b/40096752 Bug: b/42263977 Change-Id: Id0fa72ea69e29c6fd5abdb225ff1dbadb18b221b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5675283 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 640e3716 2024-07-04T00:00:00 Do not rely on 16-bit color read conversions in tests These conversions are not specified. D3DTextureClearTest should assert that all bits are cleared. Texture2DNorm16TestES3.TextureNorm16*TextureTest should not use 16-bit framebuffer attachments as they are tested separately. Bug: angleproject:40096653 Bug: angleproject:351644552 Change-Id: Ib22e9fcc3b643725f25f6ed880569888107928ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5683107 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi db00dee5 2024-07-05T21:11:53 Vulkan: Fix SPIR-V gen for literally indexed swizzles Translation did not take into account the fact that a swizzled vector can be indexed by a literal (like `vec.zzxy[2]`, which should translate to `vec.x`). Since this issue affects MSL generation too, such expressions are folded before they reach the output generators. Bug: b/351102615 Change-Id: I048aca165cdf22ef8cd7ccd9a8e503ccf636a55f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680354 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev 58dc069c 2024-07-04T00:00:00 Rename 16-bit EXPECT_PIXEL test helpers Do not use UI suffix as the format is normalized. Bug: None Change-Id: Ib635397f2cdec02806c2c31484820b9b6964a066 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680605 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 1dd3a4c4 2024-07-04T00:00:00 D3D11: Use built-in position for gl_FragCoord.z on SM 4.0+ If supported, used built-in pixel position input for the gl_FragCoord.z value. Exposed GL_EXT_clip_control only on feature level 10_0 or higher. Fixed: angleproject:347737886 Change-Id: I272ccce04cf6ad7921aa6cd5dc13f0de2f9ae561 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5679787 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Geoff Lang fcf3a1c0 2024-07-02T16:33:28 GL: Allow shader compilation with cached translated source Write the translated shader source when serializing shaders. This does not increase the size of the shader cache because Vulkan only uses the compiledBinary field. Spawn a ShaderTranslateTask for loading shaders so the GL backend can compile the shader on the native driver. Bug: angleproject:350779978 Change-Id: I14413a7ca2a0d99653a1082f2c8b4a94cf58626a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5672740 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Igor Nazarov 7d61980e 2024-06-26T18:39:53 Vulkan: Rename DescriptorSetLayoutDesc update() to addBinding() The `update()` method is never actually used to update the exiting bindings (but rather to add new ones), this change renames the method to `addBinding()` and adds few ASSERTs for clarity. Also, after recent changes in `DescriptorSetLayoutDesc` class, some changes made by `update()` method are irreversible. It is possible to have different descriptions that will produce same layout if use `update()` to rewrite the existing structure. Bug: angleproject:8677 Change-Id: If85eb2b271bc06843ee9326c024d73801d3da091 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5676345 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev b7d4c5d1 2024-07-04T00:00:00 Metal: Disable fast math if isinf or isnan are used Fixed: angleproject:42266714 Fixed: angleproject:42267063 Change-Id: Ibf6508ffc7d458a6b91b9218b2b488b6aa5b1001 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5678416 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll f2ee319d 2024-07-03T07:02:13 Roll Chromium from 51d79108bbb3 to 34f452e68b67 (970 revisions) Due to http://crrev.com/c/5651996: 1. Don't use Xvfb for angle_unittests. 2. Force --use-xvfb in restricted_trace_gold_tests. https://chromium.googlesource.com/chromium/src.git/+log/51d79108bbb3..34f452e68b67 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-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 Chromium: https://bugs.chromium.org/p/chromium/issues/entry 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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/feff4a53b0..229704c27a * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2984b8fcc4..819c7ae6e8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/106f24b1e1..bf1591ad6e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/36641ab0e3..e190315d54 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6a00e594c9..ca091f0d16 * third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/6ede1ccc9e..fb9afbafc7 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/144e2174e9..0312683647 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/8b7eff801b..68e57e619c * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/66f8276b4e..a05e27145f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/7e2aebd75d..303336503e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/7c0882a310..04455f259c * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/aaadc0d4ed..04ec6d97b6 No update to Clang. Bug: chromium:40257169 Change-Id: Ibe9a6bd3906df8cedb42f56adfe5085046b68bd2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5673851 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Amirali Abdolrashidi e86ba9ab 2024-06-26T13:38:18 Vulkan: Fix querying support of prim restart patch * Added a cap to reflect support for primitive restart for patches. * primitiveRestartForPatchesSupported * In Vulkan, it is determined through the following component from the existing related device feature: * primitiveTopologyPatchListRestart * Updated querying PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED via glGet(). * Now it is only available on ES 3.2 or if tessellation shaders are supported. Otherwise, there will be a validation error. * It returns primitiveRestartForPatchesSupported. * Added a unit test that queries this value and ensures that it remains the same regardless of whether primitive restart is enabled. Bug: angleproject:349610458 Change-Id: If43a5326f0886cf10e38b4e73a868f46b1052533 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5661108 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 46dd6457 2024-06-25T15:56:15 Vulkan: Use DONT_CARE ops for missing D/S aspects Simplifies op tracking with dynamic rendering. Bug: angleproject:42267038 Change-Id: I394c154d94458c470190fea66d82c408e6f33725 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5655873 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Matthew Denton 35f01e7f 2024-06-26T14:30:27 ESSL -> WGSL: Support basic control flow If/else, while, do/while, for. Return, break, continue, discard Bug: angleproject:42267100 Change-Id: I0c8ef30b45aec639a07323e333db970d4c42dec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5661103 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Matthew Denton 89ef2812 2024-06-26T11:19:54 ESSL -> WGSL: unary and binary exprs, operators, array access Array indexing is always checked to be within bounds. For runtime-sized arrays, this requires emitting a clamp(). For now this includes a bug the left-side-expression (the array itself) has any side effects, which shouldn't actually be possible but may be in future versions of WGSL. Implementing unary, binary, and remaining aggregate expressions requires implementing operators, many of which do not have exact corresponding versions between GLSL and WGSL. This implements many operators but for simplicity leaves some unimplemented and some half-implemented. See WGSLOutput_test.cpp for some code examples. Bug: angleproject:42267100 Change-Id: I3737abb5dffd156deba0429fa86570270d711d3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651994 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 0bf157f1 2024-06-26T07:44:43 Tests: Update expectations for new deqp test name Test was split into a bunch of subtests, have to stop checking for exact string match. Added wildcard to compensate. Bug: angleproject:349569335 Change-Id: I0787208db0823d7ac1547cc03e04cd6bfed944ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5659336 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Geoff Lang 85e2e6a9 2024-05-08T12:31:37 WebGPU: Add Window and Pbuffer surfaces. Bug: angleproject:342213844 Change-Id: I58465bdf895b4bab63ec3c74e326c6be4827bf60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525974 Reviewed-by: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 04632734 2024-06-20T17:23:27 Add EGL query option for minor version * Added the following: * EGL_CONTEXT_MINOR_VERSION * Added since EGL 1.5 * EGL_CONTEXT_MAJOR_VERSION * Another alias for EGL_CONTEXT_CLIENT_VERSION. * Added unit tests to query major and minor versions. Bug: angleproject:349179609 Change-Id: I99989c0f9f6659995caf9d7987551b97d477f22f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5648675 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi 8b1daa18 2024-06-24T14:22:22 Vulkan: Fix MSRTT failure from undef addnl format In TextureVk::initImage(), for formats that do not have an SRGB equivalent, such as some D/S formats, additionalViewFormat becomes VK_FORMAT_UNDEFINED. For those textures, FormatSupportsUsage() returns false for MSRTSS, which leads to an error in some test cases. * Added the condition that, to determine MSRTSS support, additional format is ignored if it is undefined. * Unsuppressed affected tests that should now be fixed. Bug: angleproject:348181798 Change-Id: I739b630ac7d0230e2506f6f13b8cb9b3b50d175f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651860 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Amirali Abdolrashidi 0c5b327a 2024-06-18T13:48:06 Extend advanced blend tests to cover core and KHR * Added AdvancedBlendTestES32. * (AdvancedBlendTest will now use ES 3.1 with the KHR extension.) * Currently disabled on Intel (Windows and Linux) * (ES 3.2 is expected to include advanced blend equations.) Bug: angleproject:42262258 Change-Id: I691786c2b54ae6c1efa02299667978ddbc526819 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5640674 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Geoff Lang 0ccc018e 2024-06-20T10:20:08 Reland GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm Track if the output location and index came from a layout qualifier or from a call to glBindFragDataLocation[Indexed] and only call glBindFragDataLocationIndexed in the latter case. Re-binding a location that was already specified in the shader is not allowed. Qualcomm can fail when trying to bind locations using the API when the output variable is an array or uses a non-zero index. Only call glBindFragDataLocationIndexed when the user specifically uses it to avoid failed links when all outputs should be implcitly assigned. Assign the ProgramOutput::pod::index field when doing output assignment to mirror how the location is assigned. Bug: angleproject:42267082 Change-Id: I72cdb73dd4c5edea4ad1229ca75c0c7926344d1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645123 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Matthew Denton 7ca9f46a 2024-06-21T13:09:24 ESSL -> WGSL: Emit func calls, struct access, constants Also includes constructor calls, swizzles, and a slightly incorrect version of the ternary operator. The ternary operator doesn't exist in WGSL, only a non-short-circuiting select() builtin. For now the ternary is implemented with select() but that isn't correct if any of the true/false expressions have side effects, and may have perf implications by computing both true/false expressions. Constants are mostly done after this, however NaN and infinity are not valid constants in WGSL and it's unclear what we can do about this as WGPU implementations are allowed to assume NaNs and infinities are never operated on. Bug: angleproject:42267100 Change-Id: Ie6190091a7b95d3d372736ab7cea45868846e7be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5648990 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
ericali 016ef60d 2024-06-24T17:41:30 ValidateAST asserts when refers to builtIn struct type name Refers to build in type name looks allowed by GL but currently VK and Metal backends do not support, i.e.: refers to gl_DepthRangeParameters, this change is to add temporary check to make using reserved type name an error during parsing. Bug: angleproject:348313398 Change-Id: I6522566b1f590fe2b24534fb065625c4ac3b06c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645265 Auto-Submit: Erica Li <lerica@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Yuxin Hu dd25e193 2024-06-14T12:14:52 Add a texture copy test that does multiple layer copies Add a test that does multi-layer copy between a 2D array texture and a 3D texture of different formats. Bug: b/347306270 Change-Id: I972ae83f568450c27295a565af13f8e6d2332f66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634376 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya beb75984 2024-06-21T17:33:51 Fix incorrect verification for SimultaneousUploadAndDraw MultithreadingTestES3.SimultaneousUploadAndDraw was verifying its results incorrectly, resulting in incorrect failures. Bug: angleproject:8341 Change-Id: Ie9268391c7b65a904a05c428c13be1041e8a7383 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647496 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov e095c06f 2024-06-24T17:51:54 Suppress end2end MultisampledRenderToTexture* failures Started on Pixel 6 AP1A.240405.002 after https://chromium-review.googlesource.com/c/angle/angle/+/5644215 MultisampledRenderToTextureES31Test.DrawCopyThenBlendAllAttachmentsMixed MultisampledRenderToTextureES3Test.DepthStencilAttachment MultisampledRenderToTextureES3Test.DepthStencilClearThenDraw MultisampledRenderToTextureES3Test.DrawCopyDrawAttachDepthStencilClearThenDraw Bug: angleproject:348181798 Change-Id: I4290e7ea0ba2352feed538c02d798e612d7fd616 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651062 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 15b95b4a 2024-06-24T13:21:50 Skip WebGL2UniformBufferTest.LargeArrayOfStructs Times out on Mac NVIDIA GL. Bug: chromium:346561003 Change-Id: If2eb106024a2c693c57f0ea351f981fc73d0af82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5646492 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>
Geoff Lang 48969c95 2024-05-31T16:34:07 GL: Implement QCOM_tiled_rendering Bug: angleproject:343900918 Change-Id: I01612e11795d7aa8ee20f6e9bd5ef62fe40e2910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588630 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 3be15cb0 2024-06-21T13:52:20 GL: Limit uniform block size to 64KB This change works around an inefficiency in ANGLE when the uniform block has a large size. That will be fixed in a follow up, but in the meantime this clamping makes ANGLE more uniform on different vendors (most of which expose this limit as 64KB already). This also aligns with the strategy adopted by the Vulkan backend. Bug: angleproject:346561003 Change-Id: Id23a1f1bbbc1c7224c432d5bee1c4989ff2c92b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645627 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 12028222 2024-06-20T00:00:00 Metal: Clear visibility result buffer before use Ensured that the current visibility pool buffer does not contain previous results if it was used before. Fixed: angleproject:348206830 Change-Id: I8dbc36626ef8267d5466c96405dac0da2754cb6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5643453 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e3c8d57b 2024-06-21T11:55:21 GL: Fix glClearTexImage for LUMA textures We need to transform the format and type before handing it off to the driver for emulated texture formats. Bug: angleproject:347047859 Change-Id: Ifa2c92179a49fbd8ae152a365c2915091102e4e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645626 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 3f572905 2024-06-19T17:46:38 Add basic begin/end support for perf counters The AMD_performance_monitor extension has explicit begin/end calls to capture counters. This was not implemented in ANGLE and the tests were relying on ANGLE always capturing counters (incurring a small overhead). This change does not complete the implementation of that extension, but does add basic support for starting and stopping perf counter measurements. While inactive, most counters are not updated. Bug: angleproject:42267038 Change-Id: I3ff6448b22ca247c217401cb2d76ef4142c9d759 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639343 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi a1dea207 2024-06-13T11:40:39 Implement KHR_blend_equation_advanced_coherent * Updated the validation for glBlendBarrier() and ~KHR(). * GL state now includes mBlendAdvancedCoherent. * Updated glEnable() to accept GL_BLEND_ADVANCED_COHERENT_KHR. * It can be queried via glGetIntegerv(), etc. * EXTENDED_DIRTY_BIT_BLEND_ADVANCED_COHERENT added. * Added a corresponding bit to ExternalContextState. * If coherence is supported, there should be no need to use blend barriers, as, based on the spec, the advanced blend ops should then follow order like the basic blend ops. * Relevant tests: *GLES31.functional.blend_equation_advanced.coherent* * On Linux/NVIDIA: From "Not supported" to "Passed" Bug: angleproject:42262258 Change-Id: I7e0e43bdc71524eec111c2d3b024fe73c9795e55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634381 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 800ca8d3 2024-06-19T21:04:11 Revert "GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm" This reverts commit e768aed37e77dfcba0fe8ec7027348ade2069c85. Reason for revert: Breaks WebGL tests. Original change's description: > GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm > > Track if the output location and index came from a layout qualifier > or from a call to glBindFragDataLocation[Indexed] and only call > glBindFragDataLocationIndexed in the latter case. Re-binding a > location that was already specified in the shader is not allowed. > > Qualcomm fails to bind any location that is not specified with a > layout qualifier. Skip tests that do this behaviour and log warnings > that the driver is unable to handle this case. > > Assign the ProgramOutput::pod::index field when doing output assignment > to mirror how the location is assigned. > > Bug: angleproject:42267082 > Change-Id: Icdf83bb93f63a6375b5a6062690e53905c9ffe71 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5415796 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Bug: angleproject:42267082 Change-Id: Ifb866878aa6489b809ba6db4152ea5942274dc45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5641895 Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 92148c2c 2024-06-17T11:13:46 GL: Implement GL_EXT_clear_texture. This extension is useful because it allows clearing textures without changing the framebuffer. Chrome uses this on Android when it's available. Bug: angleproject:347047859 Change-Id: I765d9991c4549b3655446d9f51847d1095792dbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5631810 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski 37b2487b 2024-05-03T09:55:04 Add LunarG api dump layer to ANGLE vulkan back-end Bug: angleproject:8623 Change-Id: Ia4dbd5915c5fe918cd65e09b468e0b8d094522f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601070 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 1917377f 2024-06-07T17:02:33 Capture/Replay: Write comments to the capture Useful for tracking why things are happening in the frame, from the perspective of the tracer. Allows for entries like this: // DEBUG: AttachShader called, checking for IDs; glAttachShader(gShaderProgramMap2[6943], gShaderProgramMap2[1531]); // DEBUG: AttachShader called, checking for IDs; glAttachShader(gShaderProgramMap2[6943], gShaderProgramMap2[1511]); Good for debugging or knowing we've skipped invalid/unsupported calls. This CL includes one use of comments to mark calls we've skipped, meaning the app or ANGLE submitted them, but omitted from capture. Bug: angleproject:345851268 Change-Id: Ied917c7480704afc3fdfb8cbb617b323eb7403a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233876 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov aeff80f1 2024-06-17T18:42:43 Android perf tests: add ATrace counters for trace loops TraceLoopFrameTimeAvgUs: frame time averaged over last loop, in us. Traced after each full loop is finished. TraceStage: tracking trace stage 0 (implicit) - before app and warmup starts 1 - initial warmup 2 - extended warmup for short traces 3 - running a trial 0 - trial finished (exit if single trial, or back to 3 if another trial) Intended for use with perfetto tracing, needs this in ftrace_config: atrace_apps: "com.android.angle.test:test_process" Useful for looking for correlations with other events, such as gpu frequency changes. Bug: b/319871513 Change-Id: I4bc273b7c7b3a6ee4d3a137b39a3b54fa7dd723e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637158 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Matthew Denton a04239d8 2024-06-18T11:38:52 ESSL -> WGSL: Emit most types and function params This emits struct declarations, as well as array/matrix/vec types. As a result this also emits function parameters. Bug: angleproject:42267100 Change-Id: Ib9c7e543fd38f7c1dfa64d8e63b054fc5111b336 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5598298 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Geoff Lang e768aed3 2024-05-28T15:45:50 GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm Track if the output location and index came from a layout qualifier or from a call to glBindFragDataLocation[Indexed] and only call glBindFragDataLocationIndexed in the latter case. Re-binding a location that was already specified in the shader is not allowed. Qualcomm fails to bind any location that is not specified with a layout qualifier. Skip tests that do this behaviour and log warnings that the driver is unable to handle this case. Assign the ProgramOutput::pod::index field when doing output assignment to mirror how the location is assigned. Bug: angleproject:42267082 Change-Id: Icdf83bb93f63a6375b5a6062690e53905c9ffe71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5415796 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi ba341ef8 2024-06-18T13:21:42 Add Revision: fields to third parties Bug: chromium:347134201 Bug: chromium:347135533 Bug: chromium:347136084 Bug: chromium:347136140 Bug: chromium:347861251 Bug: chromium:347862586 Change-Id: I82794c4868b92bb747f376d7da93701589f6d144 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639873 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e1f0cb94 2024-06-18T09:40:17 Replace issue ids post migration to new issue tracker - 2 This change replaces NNNN ids in expectation files. Bug: None Change-Id: I618bf37c1c36eb691f6ebd06a213e5c7022ce09e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637913 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d193d51b 2024-06-17T22:46:08 Replace issue ids post migration to new issue tracker This change replaces anglebug.com/NNNN links. Bug: None Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 10a98f44 2024-06-18T00:00:00 Add ClipControlTest.DepthFragCoord test Bug: angleproject:347737886 Change-Id: Id10b0f99b0a87a746f99ddf77c095861b1c72f74 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5638710 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev d521dd08 2024-06-13T00:00:00 Metal: Set write dependency when calling fillBuffer Ensured that resetting the visibility buffer completes before next operations. Fixed: angleproject:347193640 Change-Id: Ib44322ca36c056a71a828e45cea435f51394cc0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5632318 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev c7f2f84e 2024-06-14T00:00:00 Skip CopyTextureTest.CopyOutsideMipmap/ES2_OpenGL on NV Bug: angleproject:347282472 Change-Id: I811c2009bb777df32b5dfee615c877cb98731839 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5630381 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Geoff Lang 2d8e15f8 2024-05-31T14:25:12 Add stubs for GL_QCOM_tiled_rendering Bug: angleproject:343900918 Change-Id: I77d742949565ebfecb5f4446db3510af4f94033c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588629 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 06f1b72f 2024-06-03T08:59:46 Vulkan: Bugfix in MSRTT emulation Transient multisampled images should have no mips. Enforce this requirement when MSRTT is being emulated Bug: angleproject:4836 Tests: MultisampledRenderToTexture*MultipleLevelsMultisample* Change-Id: I6df21bbb49a4c45aa3ee321f7d49b81f55352562 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5601347 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 479c950e 2024-06-06T00:00:00 D3D11: Implement fragment shader image2D layout updates Checked for updated image2D bind layout when triggering program recompilation. Included image2D bind layout variants into D3DPixelExecutable cache. Added tests for binding 2D array texture layers. Fixed: angleproject:8124 Change-Id: I228a29b5bb175bbf0f8b13e70d1f09e8eb4ebb2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5630654 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Amirali Abdolrashidi a4e3c3c1 2024-06-11T20:12:52 Skip tessellation shader PrimitiveID test for S22 * Skipped the following KHR-GLES31 test: * ~.gl_InvocationID_PatchVerticesIn_PrimitiveID Bug: b/267953710 Change-Id: I5f8e76b0993ab6c367cef7ffbf2faa4f057a01e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5620740 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi 37a93190 2024-06-11T17:08:58 Skip OES_geometry_shader GLES test on Pixel4 After adding a test to compile and attach a geometry shader using the related OES extension, it was seen that the test fails on Pixel4 while using OpenGLES. * Skipped the related test on Pixel4. Bug: b/346650202 Change-Id: I25b97603cad6c83875d57fda98c9a779b8fdef07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5622987 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuxin Hu dc8c924b 2024-06-11T15:22:49 Remove test suppression that is no longer failing Bug: angleproject:7327 Change-Id: Iefb0316ec4838a5e7371cebe661f305e06db0ecb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5623850 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov 15c182f9 2024-06-11T09:47:07 Vulkan: remove deferFlushUntilEndRenderPass feature, always on This only applies to Qualcomm chipsets, the feature was already enabled for all other devices. It was previously causing a manhattan 3.0 perf regression on some Qualcomm devices, but my tests on S24 both with ANGLE trace manhattan_31 and running gfxbench manually do not show any obvious regression. It was also not expected that this would result in a regression. As we do not aim to improve perf on older devices, removing the feature altogether so that defers are always enabled. This change resulted in a change in gold images on these traces on pixel 4 bots: pokemon_masters_ex - text was missing and now is rendered street_fighter_iv_ce_frame86 - shadow was missing and now is rendered So it looks like the feature may have been working incorrectly. Bug: b/346378481 Change-Id: I2b0d15b89e11c67dea7c316a42bc807441c43b0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5622115 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi 544b108a 2024-06-07T16:26:29 Add unit tests for geometry shader OES and ES32 * GeometryShaderTest is now the base for ~ES32. * Added "Core" to APIExtensionVersion. * Added unit test for compiling and attaching a geometry shader for the OES version and core ES 3.2. Bug: angleproject:42262233 Change-Id: I035a2dddfe5e91d8ba4426c6d10e76cf2a32b1b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610272 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 6554cd32 2024-06-07T16:26:10 Add validation for FramebufferTexture FramebufferTexture() was added as part of the geometry shader extension. However, it has become core in GLES 3.2. * Added validation for glFramebufferTexture(). * Added unit tests to check for validation errors for the OES and 3.2 core versions. Bug: angleproject:42262233 Change-Id: I2696d37bb54a26f0fe455107dca472cc05063fa6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5605108 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>