|
3c41ca3e
|
2025-06-26T20:36:03
|
|
Bugfixes in YUV tests
- There is no mechanism to query dataspace of AHB, ensure
all color values are narrow range compatible
- Ensure AHB usage flag reflects actual usage
- Define YUV reference colors at the top and reuse in tests
Bug: angleproject:386749841
Change-Id: I29d095055ede67653f89a11bae845c086c690b1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6679988
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
56e9bfff
|
2025-06-19T00:00:00
|
|
GL: Remove obsolete macOS workarounds
Bug: angleproject:427600175
Change-Id: I8bfc062b71f1a34de09cbf76b504293ccd081fe0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6676022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
ca893fdf
|
2025-06-23T13:41:33
|
|
Search only for png files while pulling screenshot
restricted_trace_perf.py should only look for png files in temp dir and
then assert only for 1 screenshot to be present.
Bug: b/427963936
Change-Id: I0692aded39f7c3bd5b0c30ee4a7b613db08eac04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6680727
Auto-Submit: Shashank Sharma <shawshanks@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
dcc715ee
|
2025-06-19T15:35:53
|
|
Enable EGL_PLATFORM_GBM_KHR platform with device selection
FunctionsEGL.cpp:
- Allow EGL_PLATFORM_GBM_KHR platform and explicit device selection.
- Skip getPreferredDisplay if an explicit device is specified.
Display.cpp:
- Use DisplayEGL impl with EGL_PLATFORM_GBM_KHR.
- Wayland can use GBM platform, and OPENGLES.
angle.gni:
- Rename ozone_platform_gbm to ozone_platform_drm since its deprecated.
Bug: angleproject:425569857, b/396434686
Change-Id: I9493118f9dc95f78ebe46277bb4fcfeb7a29d465
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6663699
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kramer Ge <fangzhoug@chromium.org>
|
|
d5babf99
|
2025-06-23T12:46:51
|
|
Vulkan: Fix unhandled deferred clears after glGetMultisamplefv
Issue was introduced in the commit that implemented deferred clears.
The `glGetMultisamplefv()` synchronizes draw framebuffer which defers
possibly staged clears. Since API is not handling deferred clears they
are left untouched, causing the ASSERT.
This change fixes the issue by not deferring clears for the
`glGetMultisamplefv()` command during flushing staged updates of dirty
framebuffer attachments.
Changes:
- Add `gl::Command::GetMultisample` enumeration for clarity.
- Add `gl::CommandBlitBuffer::CommandBlitBufferDepthStencil` enumeration
to improve code readability.
- Add `command` parameter into `gl::State::syncDirtyObject()` method to
use actual command enum instead of `Other`.
- Remove `previousDeferredClears` local variable and update ASSERT in
the `FramebufferVk::syncState()` method. New assert ensures empty
`mDeferredClears` instead of just checking dirty attachments, since
it is easy to make all attachments dirty making old and new assertions
act the same.
- Replace logic in `FramebufferVk::syncState()` that decides whether
need to defer attachments or not with switch-case. This makes the
logic more clear regarding handling individual commands and simplify
updating this handling in the future. Except of the bug fix with
`GetMultisample` command, handling of other command is uncached.
- Remove `flushDeferredClears()` from `FramebufferVk::readPixels()`
because `mDeferredClears` are not expected (now it's more clear after
the refactoring). And even if there are `mDeferredClears` (in case of
a bug or after API failure), `flushDeferredClears()` only flushes
clears for the draw framebuffer, while checking `mDeferredClears` of
the read framebuffer. This is a problem in case if read and draw
framebuffers are not the same.
Bug: angleproject:40644727
Test: angle_end2end_tests --gtest_filter=TextureMultisampleTest.GetMultisamplefvAfterClear/*
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.GetMultisamplefvAfterClear/*
Change-Id: I376a62de52de5e17dbc63cc7ddb0506741a69266
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6661958
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b3ec3a5f
|
2025-06-23T14:51:13
|
|
Track active uniform and storage buffer blocks
Track active uniform and storage buffer block indices
so we can process updates to only active buffer blocks
Bug: angleproject:426412564
Change-Id: I54fa6fbe795073887646d672303d231ed4317b65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6663825
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e15d293c
|
2025-06-16T16:24:09
|
|
tvOS: Disable child process creation code
tvOS does not support multi-process applications. As a result,
the code that creates a new process causes build failures when
building ANGLE unit tests on tvOS. This CL disables that code
to prevent the build from breaking.
Bug: b/424256388
Change-Id: Ib638d3f75b2839e1a75efc571645921f0d336e55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6640919
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Solti Ho <solti@google.com>
|
|
beae1b4a
|
2025-06-19T00:00:00
|
|
Metal: Remove obsolete workarounds
Removed Intel-specific Metal workarounds
that are not used on macOS 12 and later.
Removed a redundant version check.
Bug: angleproject:427600175
Change-Id: I34c7e53108f7e030512c9436ab2b9ae38ad17946
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6672312
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
79ac1a8c
|
2025-06-23T11:11:10
|
|
Revert "Vulkan: Move VertexArray::ElementBuffer away from observer"
This reverts commit 3f012a43ee2c101543785720eedfeaa80708479d.
Reason for revert: https://issues.chromium.org/427064102
Bug: angleproject:400711938
Original change's description:
> Vulkan: Move VertexArray::ElementBuffer away from observer
>
> Right now, VertexArray's element buffer is always observing buffer's
> change. In previous CLs, we have moved vertex array away from
> subject/observer usage. This CL moves element buffer away from
> subject/observer as well. Since the gl::Buffer tracks buffer's binding
> to each context's current vertex array's binding point,
> kElementArrayBufferIndex is added to VertexArrayBufferBindingMask bits
> so that the element buffer is tracked exactly the same as other vertex
> array buffer bindings. The VerextArray code has been modified to handle
> this special bit, since element buffer has its own binding point
> VertexArrayState::mElementArrayBuffer as opposed to
> VertexArrayState::mVertexBindings. After this CL, VertexArray object
> should be completely off subject/observer usages.
>
> Bug: angleproject:400711938
> Change-Id: I662ddfabc95034bdc7734939c944ab033f41801c
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552160
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: angleproject:400711938
Change-Id: I9487ba8b108baaeda1c8a27189dba64f77616774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6663539
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5df85793
|
2025-06-23T11:08:49
|
|
Revert "Vulkan: Avoid some loops in VertexArray::onBufferChanged"
This reverts commit 8d6d127acc1072488e5b57ba4e7e93da2d94bfda.
Reason for revert: https://issues.chromium.org/427064102
Bug: angleproject:400711938
Original change's description:
> Vulkan: Avoid some loops in VertexArray::onBufferChanged
>
> Before this CL, VertexArray::onBufferChanged() loops over
> bufferBindingMask bits and calls onSubjectStateChange. In this CL,
> VertexArray::onSubjectStateChange is embedded into
> VertexArray::onBufferChanged(). DIRTY_BIT_ELEMENT_ARRAY_BUFFER and
> DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA is re-arranged so that we can map
> bufferBindingMask directly to VertexArray::mDirtyBits. This especially
> useful when one buffer is bound to multiple indices in the VertexArray.
>
> This CL also removes angle::ObserverInterface from VertexArray, since it
> no longer observes anything.
>
> ASSERT is added in gl::Buffer::mContentsObservers to ensure it only
> contains BufferTexture, since vertexArray is no longer using the
> subject/observer.
>
> Bug: angleproject:400711938
> Change-Id: Ie6e7159d7a89f0da5e1b7ca0a9dbe60a1e6c682f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6569638
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:400711938
Change-Id: I3b8e77db7b3d06b9ed875bfe7787904ac753da11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6664161
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
2fd033d0
|
2025-05-22T04:21:11
|
|
Vulkan: Optimize updates to uniform buffers
... when only the offset is modified. Most of the work done when
handling dirty uniforms can be skipped since the buffer bindings
haven't changed
Bug: angleproject:386749841
Tests: UniformBufferTest31.UniformBufferBindingRangeChange*Vulkan
Change-Id: Ic811bd71f0f2993f88ce9bcf93f9e8e46dfc6d99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581359
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
d59dd3e4
|
2025-06-23T10:17:46
|
|
Unskip passing tests
The spec change to varying packing in Vulkan is reverted and so is the
SPIR-V validation change that enforced it.
Bug: angleproject:404418769
Change-Id: I6eb82b8285121f65a4ac071ad6ede106dfe07988
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6661620
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5220e634
|
2025-06-16T11:14:22
|
|
Fix glCopyImageSubData validation check part 2
For compressed texture, we also need to check if the copy subregion
starting points (offset) are aligned with the compressed block.
This change also moves *FillsEntireMip check to the
ValidateCompressedRegion() function, as it is easier to do a
per-dimension check.
Bug: b/419048313
Bug: angleproject:42264179
Bug: angleproject:42265887
Change-Id: I0f415e575bbc77bdf5178e2b5fc1260c43e7de4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6648198
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3b7528e1
|
2025-05-20T12:31:28
|
|
Support running the full end2end suite against the System EGL
Update the end2end test instantiation to either fully target the
packaged ANGLE libraries or the system EGL, but not a combination of
both simultaneously.
The GN argument |angle_test_enable_system_egl| controls which driver
is being tested by all the instantiated tests. It's default value is
"false", which means the tests target the ANGLE libraries by default:
kDefaultGLESDriver = GLESDriverType::AngleEGL
When |angle_test_enable_system_egl = true|:
kDefaultGLESDriver = GLESDriverType::SystemEGL
This allows for testing the system EGL with the full end2end test suite,
which is useful on devices where ANGLE is the system EGL (e.g.,
Android). It also allows for specifying which backend to use (or all)
during system EGL testing, when ANGLE is the EGL driver.
This also includes removing the various ESx_EGL() functions, because the
end2end tests must now fully commit to testing either the ANGLE driver
or system driver, rather than a combination of both. This is similar to
many other test suites, such as the Khronos CTS (dEQP), which only test
validate a single driver per invocation.
Bug: b/279980674
Test: angle_end2end_tests
Change-Id: I4f7dc2ccb4f26b3bd02767d0a0d2876f8612f2ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580876
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
6bb47e67
|
2025-06-17T13:42:47
|
|
Vulkan: Limit finalizing foreign image layouts
Currently, any submission results in finalizing all foreign images.
However, if the submission is only limited to the outside render pass
command buffer, this would result in oldLayout VVL errors (01197), as
it would be too early to finalize the layout of such images at those
times. At this time, this type of submission can occur if the size of
buffer-to-image updates exceeds the following threshold:
kMaxBufferToImageCopySize
In this change, finalizing the foreign image layouts would only occur
when all commands are being submitted.
* In ContextVk::submitCommands(), finalizeAllForeignImages() is now
called only when the submission type is Submit::AllCommands.
* Added new submit tests for foreign images to ImageTest:
* UploadForeignUntilSubmitDoesNotBreakRenderPass
* CopyToForeignUntilSubmitDoesNotBreakRenderPass
Bug: b/425987310
Change-Id: Ia345e176be79017ba18ef52a57256eeeb298e39a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6653602
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
98bd576f
|
2025-06-19T08:01:25
|
|
Roll VK-GL-CTS from 53a925d9098c to 9390207187c6 (28 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/53a925d9098c..9390207187c6
2025-06-17 kamil.goras@mobica.com Add OpenGL tests for
textureQueryLevels
2025-06-16 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.3
into vk-gl-cts/main
2025-06-16 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_EXT_shader_float8'
2025-06-16 lorenzo@khronosgroup.org Update external sources (Vulkan
1.4.318)
2025-06-16 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12
into vk-gl-cts/main
2025-06-13 ziga@lunarg.com Fix missing submit infos in sync multi queue
tests
2025-06-13 rgarcia@igalia.com Fix DeprecationWarnings in
fetch_sources.py
2025-06-13 scerveau@igalia.com CMake: add additional pc checks
2025-06-13 rgarcia@igalia.com Test conditional rendering with ray
tracing commands
2025-06-13 rgarcia@igalia.com Test "unaligned" buffer<->image copies
2025-06-13 jbolz@nvidia.com Add cooperative vector tests for readonly
loads w/bounds checking
2025-06-13 rgarcia@igalia.com Test maintenance5 default point size
without large points
2025-06-13 rgarcia@igalia.com Fix missing largePoints capability for
multiview tests
2025-06-13 vikram.tarikere@imgtec.com Honour undefined behaviour from
OpSDiv.
2025-06-13 lorenzo@khronosgroup.org Fix dependencies checks for
extensions and functions
2025-06-13 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3
into vk-gl-cts/main
2025-06-12 kamil.goras@mobica.com Add negative tests that texture lookup
function bias parameter is not accepted in any other shader than
fragment shader.
2025-06-11 lorenzo@khronosgroup.org Add VK_EXT_shader_float8 JSON
2025-06-11 lorenzo@khronosgroup.org Add VK_KHR_maintenance9 JSON
2025-06-11 lorenzo@khronosgroup.org Add VK_KHR_video_decode_vp9 JSON
2025-06-11 lorenzo@khronosgroup.org Add VK_KHR_unified_image_layouts
JSON
2025-06-11 lorenzo@khronosgroup.org Update external sources
2025-06-11 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_maintenance9'
2025-06-10 scerveau@igalia.com video: VP9 decode tests: update public
repo
2025-06-09 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_video_decode_vp9' into main
2025-06-09 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_unified_image_layouts' into main
2025-06-09 lorenzo@khronosgroup.org Update external sources (Vulkan
1.4.317)
2025-06-06 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6
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,geofflang@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Change-Id: I1f614f11f0f5cb73c24dd4346a837ec6dc88b0bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6658499
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cb432540
|
2025-06-19T17:00:27
|
|
WebGPU: Expand dEQP test expectations
This lowers our unexpectged passes from ~8k to ~3.5k.
Bug: angleproject:356399840
Change-Id: Idb9d4aee9103bc18783a7283d938c368c7efbe5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5875956
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
98d2d5d8
|
2025-06-19T14:44:21
|
|
WebGPU: Add missing WebGPU suffix for perf tests.
Bug: angleproject:419821694
Change-Id: Ic509df3fbd270ffc2a8f91c1565d673fb82a6bd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6652900
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5d124404
|
2025-06-17T17:04:12
|
|
WebGPU: Fix bind groups leaking in CommandBuffer.
Wrap all per-submission member variables in a struct so that we can
reset everything at once using the default constructor. This avoids
similar leaks in the future.
Bug: chromium:413078308
Change-Id: I3f926c82905b73b27d6b751cfe2878a41ced916a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6652290
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ad7f595d
|
2025-06-19T18:20:15
|
|
Set src/common/base "Update Mechanism"
Bug: chromium:419410757
Change-Id: Ib2a980edd6e7c9b9790c31c8fb6002d58da4a08f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6650800
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
f48fcb46
|
2025-06-19T07:11:48
|
|
Revert "Metal: Wraparound int arithmetic for add, sub"
This reverts commit 2f6f0514563d81e439e04ba09eee9e8a1d6ca8d1.
Reason for revert: Leads to MSL compiler errors:
> error: non-const reference cannot bind to vector element
Bug: angleproject:382215759
Original change's description:
> Metal: Wraparound int arithmetic for add, sub
>
> Implement wraparound int arithmetic for
> int, ivec +, -, +=, -=, ++, --.
>
> All of the added tests pass also without the changes.
>
> Bug: angleproject:382215759
> Change-Id: I7605582ab2931e63010c34fba474797f7edd19f9
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578729
> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Bug: angleproject:382215759
Bug: chromium:425746892
Change-Id: I831d96c6ee7b8bcdeaa08fbf32d430def87a3c30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6656001
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
41144603
|
2025-06-06T10:56:03
|
|
WebGPU: Handle Dawn breaking change in CreateInstance
Needed in order to update Dawn to match the standard webgpu.h, here:
https://dawn-review.googlesource.com/c/dawn/+/245242
Bug: chromium:414868137
Change-Id: I2bdf5bd5747a8da8ed0612a99d70eee8a3d09ecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6652516
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
|
|
59281334
|
2025-05-22T17:13:22
|
|
Vulkan: Reduce kMaxEmptySlots for SharedDescriptorSetCacheKey
There is report that addKey is still showing up in simpleperf. This CL
breaks addKeyImpl into three functions so that SharedFramebufferCacheKey
will still have the same behavior. SharedDescriptorSetCacheKey is
changed to track 64 cache key at maximum, and updateEmptySlotBits() is
never called in SharedDescriptorSetCacheKey. This means the shared cache
key tracking is further limited to usage case where a buffer/texture is
only involved in less than 64 descriptorSets. Otherwise we will not
track the remaining DescriptorSets, which means if this buffer is
released, the corresponding descriptorSet will not immediately
destroyed, and we will rely on cache eviction code to take care of DS
growing problem.
Bug: b/384839847
Change-Id: I99abd17966446377babace6d06cc8f380a71c084
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581492
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
dea162cc
|
2025-06-09T15:43:05
|
|
WebGPU: Finalize command blocks when starting a new one
The command buffer abstraction would not finalize blocks of commands
when creating a new block, leading to possible infinite loops when
processing the commands.
Bug: chromium:413078308
Change-Id: Idf4e95a5ccc71f3ddc9a4202e5e000c0e2cd5f87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6629473
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9d70781f
|
2025-06-17T07:06:37
|
|
Vulkan: Bugfix in TextureVk::initImage(...)
Account for compute based mipmap generation during initImage
Bug: angleproject:405840226
Tests: ImageTestES3.SourceAHBTargetTexture2DGenerateMipmap*
Change-Id: Ic2f6c4576ec8ff464a5d60c4a49aeb87be3a5785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6650712
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
9e000857
|
2025-02-04T16:12:47
|
|
Vulkan: Utilize VkBufferUsageFlags2 for bufferview
* Added the following struct to bufferview createInfo in case of
VK_KHR_maintenance5 support: VkBufferUsageFlags2CreateInfoKHR
* Limited VVL 08779 to platforms without KHR_maintenance5 support.
Bug: angleproject:394353300
Change-Id: I46beac693cda3216afc497c8ed74cbf51b72e549
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231512
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a2b84cc0
|
2025-06-17T09:47:58
|
|
Fix bug in translator fuzzer.
We were incorrectly checking a type against a spec.
bug: angleproject:425580663
Change-Id: I7a57852b143ea26a41414015414d43720e2e53b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6650788
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
243ebfa7
|
2025-06-16T16:07:06
|
|
WebGPU: Allow glReadPixels from non-base mip levels.
Before, the WebGPU backend always read from the base level
of the texture attached to the current framebuffer.
Bug: angleproject:42267090
Change-Id: Ibe5b8575f6fa90c1942ba566485b6175ee10f808
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6634558
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Matthew Denton <mpdenton@chromium.org>
|
|
db70fca6
|
2025-06-11T16:59:36
|
|
Add a separable program test
ES 3.2 spec section 7.4.1 Shader Interface Matching is vague about
the case when a program has more than one shader whose interfaces
do not match and the program is set to GL_PROGRAM_SEPARABLE by
glProgramParameteri API. Angle implementation thinks it is not
right and the program is not linked. But since the shaders are
attached to one program, the program should have enough information
to link.
Bug: angleproject:424050949
Change-Id: Icb9c8cbff906671beb6679309795f5c1b3acec6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6636452
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shufen Ma <Shufen.Ma@arm.com>
|
|
dfefcbc6
|
2025-06-09T16:30:55
|
|
glGetProgramiv should return the properties in effect
glProgramParameteri can set values to
GL_PROGRAM_BINARY_RETRIEVABLE_HINT. However, this setting will not be in
effect until the next time glLinkProgram or glProgramBinary has been
called successfully. Also, glGetProgramiv returns the properties
currently in effect for program. Therefore, we need to add a variable to
record the ineffective value and copy it at the stage of glLinkProgram
or glProgramBinary.
Bug: angleproject:421219220
Change-Id: Ib564e6df03d34f3fc7389f926795cb3e64cbf687
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6606372
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
94ee620d
|
2025-05-22T10:07:05
|
|
Metal: Allow optimization of simple loops
Reimplement the feature to avoid undefined behavior of infinite loops.
Add EnsureLoopForwardProgress rewrite pass that inserts a volatile
variable access to all loops that it cannot analyze as being finite.
Detect loops of form `for (; i <op> x; ++i)` as being finite.
The <op> can be any of <,<=,>,>=,==, != operator.
The i can be int or uint.
The ++i can be -- or ++, -=1, +=1.
This assumes that backends using the feature emit signed int arithmetic
with defined wraparound semantics.
Uses volatile write instead of asm("") due to asm not forcing the
behavior in some compiler versions. The volatile variable access is
defined in C++ as forward progress, and by inheritance this works in
MSL.
Later commits may remove injectAsmStatementIntoLoopBodies if
ensureLoopForwardProgress is appropriate for all use-cases.
Bug: angleproject:418918522
Change-Id: Ic9c29f57044b792195386483208632354d24c854
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575051
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
79ec8b34
|
2025-06-12T14:32:42
|
|
Fix glCopyImageSubData validation check
When checking if the copy subregion meets the compressed texture
alignment requirements, we should consider if the copy subregion
covers the entire width and height of texture level. It is not required
to make texture size aligned with compressed texture block size when
creating the texture image (e.g. width and height do not have to be
multiple of 6 when calling glTexStorage2D for
GL_COMPRESSED_RGBA_ASTC_6X6 textures). If the copy subregion width
and height equals to the width and height of the texture level, even
if they are not aligned with the compressed texture block size, the
copy is allowed. This is currently covered by
fillsEntireMip check. However, fillsEntireMip enforces copy subregion
width, height, and depth all equal to the texture level width, height,
and depth, where we should not check depth because we don't enforce
depth alignment for compressed texture. For example, for a 2D texture
array that has dimension of 32*16*2 in current level, a copy region
with width=32, heigh=16, depth=1 should be considered as
fillsEntireMip.
In the spec, it says: "The source and destination subregions must be
contained entirely within the specified level of the corresponding
image objects". Right now we only check if width and height are within
the image bounds, this change adds a check to make sure depth is also
within the image bounds.
Bug: b/419048313
Change-Id: I6e5339cfdfd5785f935a059638c22c9646c12162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6634232
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
26d5d4e2
|
2025-06-13T14:24:29
|
|
Avoid OOB access in Load* functions
Bug: angleproject:424695342
Change-Id: I245612a41d55026c615ca0185af76a153c9fe3ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6642699
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c53c908c
|
2025-06-11T15:36:48
|
|
Refine GetProgramiv validation
An INVALID_OPERATION error is generated if TESS_CONTROL_OUTPUT_-
VERTICES is queried for a program which has not been linked
successfully, or which does not contain objects to form a
tessellation control shader.
An INVALID_OPERATION error is generated if TESS_GEN_MODE,
TESS_GEN_SPACING, TESS_GEN_VERTEX_ORDER, or TESS_GEN_POINT_MODE
are queried for a program which has not been linked successfully,
or which does not contain objects to form a tessellation evaluation
shader.
Bug: angleproject:424050946
Change-Id: I9d6110d2783efb21efbcb62d9da7b35590c89f61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6637010
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shufen Ma <Shufen.Ma@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
10b7414f
|
2025-06-12T17:03:51
|
|
Vulkan: Do not skip VUID-vkQueueSubmit-pSignalSemaphores-00067
... when "VK_EXT_swapchain_maintenance1" is disabled.
Problem only happened in shared present mode and is now fixed by VVL:
69b41e6fbe16619526daa861444cbb3eb8fcedce
layers: Do not report in-use error for shared present mode
Bug: angleproject:408190758
Change-Id: I4453de01ee239a0cb4cfd0269adfcb283a00866b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6641915
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fdff1170
|
2025-06-06T10:46:03
|
|
tests: SystemEGL: Skip tests needing unsupported ANGLE EXTs
The system EGL may not expose ANGLE extensions, even if it *is* ANGLE,
due to platform EGL restrictions (e.g., Android platform EGL).
Skip any tests requiring ANGLE-specific extensions during test setup,
rather than failing them.
This also requires refactoring ANGLETestBase to derive ::testing::Test
so it has access to Test::IsSkipped().
Bug: b/279980674
Change-Id: I8e424509c41fa5a69dee9fc8e0c92da58e4758fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6622112
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
005336e4
|
2025-06-11T17:17:16
|
|
WGPU: Basic texture cubes
Allows uploading to texture cube faces and sampling from them
in shaders using samplerCube.
Bug: angleproject:420782526
Change-Id: I45d4370fcc418f39afb225114d13632a78c7c200
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593999
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
5d63c8d5
|
2025-06-11T13:01:25
|
|
Reformat VVL error message
Update the VVL error message to use the new format.
Remove the unused VVL error.
Bug: angleproject:42264926
Bug: angleproject:42263911
Bug: angleproject:42265079
Bug: angleproject:42264496
Change-Id: I151960942c1bbf346693f250ec57f01fa3432784
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6634225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d8c15499
|
2025-05-27T03:46:24
|
|
Vulkan: Clear depth and stencil unresolve separately
To take into account two situations.
1. LoadOp for depth and stencil attachments are set differently.
2. depth and stencil unresolves could be different between the
previous render pass and the current render pass.
Bug: angleproject:42266019
Change-Id: I9e069b3972f86abb84eee6280919e6bba2901225
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6590197
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d9818437
|
2025-05-22T12:52:29
|
|
tests: Cleanup build_angle_end2end_tests_library block
1. If Vulkan is enabled, always include the Vulkan tests in the end2end
tests, rather than excluding them when build_angle_end2end_tests_library
is 'true'.
2. Remove NDK include. It's unnecessary, because the 'angle' target
already manages its own include_dirs.
Bug: b/279980674
Change-Id: Ibf3c29a5f90f161a7c9a69f5c4736ea4c3ef49ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580875
Reviewed-by: Solti Ho <solti@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3c2bff4b
|
2025-05-22T12:33:12
|
|
Rename angle_end2end_tests_aosp to angle_end2end_tests_library
Rename the GN arg angle_end2end_tests_aosp to
angle_end2end_tests_library, because while building the end2end tests is
relevant for Android, it's not restricted or specific to Android.
Bug: b/279980674
Change-Id: I8f03e0fe264ac918cb34c379be85b65d7bfc0ab1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580873
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f9053516
|
2025-06-10T14:24:13
|
|
MultiviewTestBase: Remove setWebGLCompatibilityEnabled(true)
Remove setWebGLCompatibilityEnabled(true) from MultiviewTestBase since
it's not required and prevents running the tests when the extension
EGL_ANGLE_create_context_webgl_compatibility is not available.
Bug: b/279980674
Test: angle_end2end_tests --gtest_filter=*Multiview*
Change-Id: I32a95b110e17afcb0d45c0c8447d43f456310fee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6635032
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0d441eda
|
2025-05-29T12:04:46
|
|
util: Give all ConfigParameters default values
ConfigParameters has a mix of 'bool' and 'Optional<bool>', with some
tests setting the Optional<> values to the default value, inadvertently
creating a dependency on the associated extension.
To reduce the dependency on various extensions and allow more tests to
run, update ConfigParameters to only contain raw bools and initialize
them to the default values defined by the associated spec. This allows
EGLWindow to only require the necessary extension when a non-default
value is set by a test.
This also requires updates to a handful of tests which were relying on
the state of extensions due to non-default values.
Bug: b/279980674
Change-Id: I77a7e102559e4393aadcdbf37886ae80cbbb9e29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6618033
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c6b3440b
|
2025-06-06T23:34:33
|
|
Vulkan: Add G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 support.
Add support for YCBCR_P010 format.
Bug: b/408996471
Change-Id: I899533b604e5b2fd0ad1fb1e940dd1f119179794
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6628658
Reviewed-by: Solti Ho <solti@google.com>
Auto-Submit: Shashank Sharma <shawshanks@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c39f4a5c
|
2025-06-05T15:35:06
|
|
Vulkan: Update border color assignment for stencil
In texture border clamp, if the border color is assigned together
stencil mode (both using glTexParameter()), its red component is used
to set up a border color to be used in each backend:
* (Set up in AdjustBorderColor())
In the Vulkan backend, this is used when updating SamplerDesc, which
is then used later to set up the custom border color:
* (VkSamplerCustomBorderColorCreateInfoEXT)
According to the spec, in case of undefined format, integer border
color, and stencil image, the implementation is required to use either
the first or the second component of the custom color, although it is
recommended to use the first. However, at the moment, only the first
component is being populated, while using the second component is also
valid.
* Added feature: usesSecondComponentForStencilBorderColor
* Added bit to SamplerDesc: mUsesSecondComponentForStencil
* It is set based on the feature flag above and the texture format.
* When setting the custom border color info, the second component will
be used based on the above flag.
* Added test suites to test this on ES31 and ES32:
TextureBorderClampTestES3*.CustomBorderColorWithStencil*
* Updated capture params for glTexParameterIuivEXT().
* Suppressed the ES32 version for the following:
* P4
* Linux/NVIDIA (due to out-of-date driver)
Bug: b/390710636
Change-Id: Ie50c19e8ea66da40dc8b8db49d7e622a582637a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6626416
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
65159c4e
|
2025-06-05T15:05:46
|
|
Update pipeline desc when sample count changes
* If the sample count changes when calling
glFramebufferTexture2DMultisampleEXT, we need to update pipeline desc
to ensure it is the same as the API requires.
* Add a new end2end test to verify.
Bug: angleproject:422611722
Change-Id: I7de7d3d17513cf03f5e24baa2db83633a229b4b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6623419
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1e613fec
|
2025-05-27T16:59:26
|
|
Compiler: sort uniforms by precision
This change reoreders the AST sequences so that uniform declarations
with lower precisions are places in front of uniform declarations with
higher precisions. This is to prepare for the upcoming change that
converts uniforms declared with mediump or lowp to 16-bit and pack them
to 32-bit integeter using packHalf2x16().
Bug: b/405795981
Change-Id: I5e1e293399dc8b51b9a6e83115f95beb0c4a7b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594255
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c45e7c83
|
2025-05-22T04:14:52
|
|
Vulkan: Optimize uniform and storage buffer updates
Maintain a map between buffer block index and its DescriptorDesc index
in WriteDescriptorDescs and look up the map instead of repeatedly
calculating it when updating DescriptorDesc
Bug: angleproject:386749841
Change-Id: I74d14f6205f07992fae1e338697998d04de1c563
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6603986
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
b888dc2b
|
2025-06-09T16:58:38
|
|
OcclusionQueriesTest: Convert to ANGLETest<>
Convert OcclusionQueriesTest to an ANGLETest<> and remove calling
ANGLETestSetUp() directly. This can be error-prone if ANGLETestSetUp()
doesn't complete, but the test still executes GL commands either in
SetUp() or testSetUp(), before the test itself can be skipped. In that
case, there may not be a current Context, leading to calls like
glGetString() returning nullptr.
This also includes some additional cleanup to remove the GetParam()
calls.
Bug: b/279980674
Change-Id: I5604836c78845424b82b693bc1b74e84b6b557d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6631025
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0ac62dd7
|
2025-06-09T16:47:22
|
|
MultiviewRenderTest: Return if test should be skipped
MultiviewFramebufferTestBase::FramebufferTestSetUp() may not complete if
ANGLETestBase::ANGLETestSetUp() determines the test needs to be skipped
due to (for example) missing extension support. In that case, there may
not be a current Context, leading to calls like glGetString() returning
nullptr.
Check if the test is marked "Skipped" before continuing in
MultiviewRenderTest::SetUp().
Bug: b/279980674
Change-Id: Iba869029bc26fc5528853be0323fd3c50037a493
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6631023
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ef85f283
|
2025-06-10T10:45:06
|
|
Test for deferred clear vs robust init vs invalidate
Bug: b/381284577
Change-Id: I15effe1f216523a51af83a154ad27d2921e52258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6633791
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
de00cc6b
|
2025-05-28T17:06:59
|
|
tests: Move wglWindow to a guard statement
WGL tests are currently disabled. Refactor the check to be a guard
statement earlier in ANGLETestBase::ANGLETestSetUp(), so it bails out
sooner. This also allows for pulling everything in the else-block out,
reducing indentation and improving readability.
Bug: b/279980674
Change-Id: Id91b68e2a2e5ffd301a7c49733940b7f08892dce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6604937
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
a7877665
|
2025-06-02T08:13:30
|
|
Fix drm format and modifier handling
Move functions to private
Change case on methods to lowercase per style guide
Change related methods to use set instead of vector,
this saves a copy from set to vector.
Initialize formats before supportsDmaBufFormat because
queryDmaBufModifiers can be called before queryDmaBufFormats
and need to initialize at supportsDmaBufFormats.
Bug: angleproject:412730346
Change-Id: I8575bee6e7a6a09d9065ed81acff899e73004764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6610088
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
d84248ce
|
2025-06-09T10:40:37
|
|
Revert "Disable unused private field for dEQP compilation"
This reverts commit b670d47b7aaff94d3a9e2e1b975e73d0ea336d85.
Reason for revert: Warnings resolved on the tests
Bug: angleproject:420728429
Original change's description:
> Disable unused private field for dEQP compilation
>
> Incoming VK-GL-CTS rolls are failing due to the following error
> for some dEQP targets:
> "private field 'm_size' is not used [-Werror,-Wunused-private-field]"
> This warning can be suppressed for this target temporarily, allowing
> the autoroller to merge new changes. Once the issue has been addressed
> on the CTS code, this change should be reverted.
>
> * Added -Wno-unused-private-field to gles2 and gles31 targets.
> * This is a temporary change. It should be removed once the issue
> has been addressed.
>
> Bug: angleproject:420728429
> Change-Id: I0177ded84ad58a148884e8abfac3aea9a1ff7d43
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6604679
> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:420728429
Change-Id: I6b655a37568f42fabf710380c82ab775b126bdc7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6630278
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9a436772
|
2025-06-04T16:47:51
|
|
Vulkan: Add entry points for GL_EXT_fragment_shading_rate
Bug: angleproject:420310117
Change-Id: I8a8efad6cad810b2cb0b600106f6496070495605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6620340
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
65091427
|
2025-06-05T14:08:01
|
|
Query draw buffer should return NONE for no surface default FB
When querying the draw buffer state via glGetIntegerv(GL_DRAW_BUFFER)
on the default framebuffer with no surface bound, GL_NONE should be
returned.
Bug: angleproject:422631118
Change-Id: Iad2f1662692b0a92563e4cfd7fe09437cb40f0c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6619453
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Mavis Deng <mavis.deng@arm.com>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a15fab0
|
2025-06-05T13:47:18
|
|
Add tests for per-sample shading state tracking
Add tests to cover usecases exposed by these optimizations -
- https://chromium-review.googlesource.com/c/angle/angle/+/6622156
- https://chromium-review.googlesource.com/c/angle/angle/+/6619019
Bug: angleproject:386749841
Change-Id: I848ed68afe00757a10c8c970ee1f9a9b4646e9ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6622107
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
db962407
|
2025-06-03T08:00:43
|
|
Vulkan: Optimize FramebufferVk::getSamples()
Cache value of samples during syncState(...) and return this value
on subsequent queries
Bug: angleproject:386749841
Change-Id: I21fb2221187c7b2159fed1b271da642ba2552348
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6619019
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
f6b40bc8
|
2025-05-15T00:00:00
|
|
Add a missing compile macro
Bug: angleproject:406922380
Change-Id: If2d4cc1472b490b3507591f0a6ac940369df5ccb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6624377
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c48b502
|
2025-06-05T02:09:54
|
|
Vulkan: Fix deferred clear vs robust init vs invalidate
The DIRTY_OBJECT_DRAW_ATTACHMENTS bit, when handled, goes over
framebuffer attachments and requests that they be cleared. This is done
only with robust init.
The DIRTY_OBJECT_DRAW_FRAMEBUFFER bit, when handled, results in staged
updates to be applied to the attachments.
When syncDirtyObjects is called, the above bits are handled. If we end
up in a situation where DIRTY_OBJECT_DRAW_ATTACHMENTS is set, but not
DIRTY_OBJECT_DRAW_FRAMEBUFFER, the following happens with Vulkan:
- Handle DIRTY_OBJECT_DRAW_ATTACHMENTS
- TextureVk::initializeContents
- ImageHelper::stageResourceClearWithFormat
- Observer message to TextureVk->Texture->Framebuffer->Context
- Context sets DIRTY_OBJECT_DRAW_FRAMEBUFFER
- However syncDirtyObjects does not notice this bit, as it has cached
the dirty objects and is in the middle of looping over them
In the above scenario, the call that results in syncDirtyObjects does
not process the draw framebuffer (if not already dirty for some other
reason), meaning the clear is not applied _before_ the current operation
but after it (whenever framebuffer is synced next).
In this change, I attempted to ensure that if
DIRTY_OBJECT_DRAW_ATTACHMENTS is ever dirty,
DIRTY_OBJECT_DRAW_FRAMEBUFFER is also dirty. There were a few
operations that could theoretically lead to this which are fixed by this
change. The particular one that revealed the bug was
State::syncDirtyObject syncing only the FRAMEBUFFER bit and leaving the
ATTACHMENTS bit for the unsuspecting following operation.
The aforementioned assertion is not included in this change however, as
it revealed one unresolved issue with the d3d backend where
DIRTY_OBJECT_DRAW_ATTACHMENTS is not set, but processing
DIRTY_OBJECT_DRAW_ATTACHMENTS sets it while dirty bits are being
processed.
Bug: b/381284577
Change-Id: If3c35fbade069ae75f66dd6d4df5d73882a08a93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6621059
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92dec961
|
2025-05-15T00:00:00
|
|
Enforce validation consistency for lockless entry points
Bug: angleproject:406922380
Change-Id: If4e6051d0ac465f4ae8abca0a62cad14d1d739b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6624114
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b6579180
|
2025-05-15T15:29:28
|
|
Add test case for CS writes without barriers
* Added the following test to ComputeShaderTest:
WriteToSeparateSSBOComponentsWithoutExplicitBarrier
* Based on KHR-GLES31 test:
.core.shader_storage_buffer_object.advanced-switchBuffers-cs
* It involves writing to different components of an SSBO without
explicit barriers in between.
Bug: b/417769912
Change-Id: I9f6170937c9ccf3487d8f9e7758196c950252ea3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552162
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
ef31b3ed
|
2025-06-04T12:00:04
|
|
Vulkan: Selectively dirty DIRTY_BIT_SAMPLE_SHADING
When program executable changes dirty DIRTY_BIT_SAMPLE_SHADING bit
if either the current or previous program enabled per sample shading
Bug: angleproject:386749841
Change-Id: I82aa7df29473e455aa68dfba9fefdb1bc712a78d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6622156
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
23097376
|
2025-06-03T22:26:05
|
|
Update src/common/base's README
Bug: chromium:378273323
Change-Id: Iaa40abac52fdb2d5f8e3a65333d589097cb98834
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6617103
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
88ea74bf
|
2025-05-30T14:17:09
|
|
Add another condition to call copyBufferDataToImage directly
To directly copy from a buffer, it's necessary that the buffer does not
need conversion. Add this condition to the check function.
Add related end2end test.
Bug: angleproject:421288695
Change-Id: Id57df32f91a8f385bc07b2788149cc4478ccbab4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6605140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Jiaqi Li <Jiaqi.Li@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
87217c88
|
2025-06-03T08:01:03
|
|
Manual Roll VK-GL-CTS from 2231585b0204 to 832d82a93cb1 (1 revision)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/2231585b0204..832d82a93cb1
2025-05-30 kamil.goras@mobica.com Add missing coverage for
ClearTex[Sub]Image for OpenGL
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/421940612
Tbr: yuxinhu@google.com
Change-Id: I5b57cfc7b1d23b30fd8764db735eb5cf516ddc20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6616574
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e877e655
|
2025-06-02T17:02:36
|
|
Reland "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904"
This reverts commit 8c75960e034a09bad67ece528c99e202bed69b64.
Reason for revert: retry dry-run without revert
Bug: b/303441816
Original change's description:
> Revert "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904"
>
> This reverts commit f8f9847771fa86589da29527c806d89e6f92c7a9.
> As the issue is no longer reproducible on a P25 device with
> latest ANGLE.
>
> Bug: b/303441816
> Change-Id: Iae86b3f4e30609cd5b1aedb4293192b06be71919
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614157
> Commit-Queue: Xiang Wang <xwxw@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Bug: b/303441816
Change-Id: Ib447a5af33bd17f891a8db99766fc8f275162a6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614164
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Xiang Wang <xwxw@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
af6313f5
|
2025-06-02T10:31:27
|
|
Check redundant statements for comma op in MSL translator.
Bug: angleproject:421891565
Change-Id: I0475476f360f103a3da4df263dae9c604a8bfef5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6610091
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
ac596fd8
|
2025-06-03T03:50:01
|
|
Revert "Tests: Add Aquarium trace"
This reverts commit 537d40dcac601e051e9954ed8b08cafd2cc55ff0.
Reason for revert: increases linux-asan-test compile time by 2 hours
Bug: b/420699380
Original change's description:
> Tests: Add Aquarium trace
>
> Test: angle_trace_tests --gtest_filter="*aquarium*"
> Bug: b/420699380
> Change-Id: I30e0b0cbf2520b98dc265a6686e81cc3280f5555
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594253
> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Bug: b/420699380, angleproject:421425259
Change-Id: I2931dec718e603c4e7903cfaa268ef1fb7aa3370
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6617080
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
8c75960e
|
2025-05-30T16:06:54
|
|
Revert "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904"
This reverts commit f8f9847771fa86589da29527c806d89e6f92c7a9.
As the issue is no longer reproducible on a P25 device with
latest ANGLE.
Bug: b/303441816
Change-Id: Iae86b3f4e30609cd5b1aedb4293192b06be71919
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614157
Commit-Queue: Xiang Wang <xwxw@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7644c9db
|
2025-06-02T11:44:38
|
|
test: Remove EGLSingleBufferTest.VerifyMutableRenderBufferKHR
The test is enforcing that specifying/querying EGL_SINGLE_BUFFER
requires the extension EGL_KHR_mutable_render_buffer. However,
EGL_RENDER_BUFFER/EGL_SINGLE_BUFFER were introduced in EGL 1.4,
removing any extension requirements for devices that support EGL 1.4+.
3.5 Rendering Surfaces
3.5.1 Creating On-Screen Rendering Surfaces
...
EGL_RENDER_BUFFER specifies which buffer should be used by default for
client API rendering to the window, as described in section 2.2.2. If
its value is EGL_SINGLE_BUFFER, then client APIs should render
directly into the visible window. If its value is EGL_BACK_BUFFER,
then all client APIs should render into the back buffer. The default
value of EGL_RENDER_BUFFER is EGL_BACK_- BUFFER
The extension itself requires a minimum of EGL 1.2, meaning only
versions 1.2 and 1.3 require EGL_KHR_mutable_render_buffer to use
EGL_SINGLE_BUFFER.
Remove the test since it doesn't gives us any information anymore since
we always expose EGL 1.5 anyway.
Bug: b/417459061
Change-Id: I060e196600e6ece6179a164d9125a8b98c0d8498
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6613123
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b1359277
|
2025-05-14T22:53:36
|
|
Declare lavapipe device type
Fixes 'Unknown GPU architecture' warning when using
lavapipe driver with guest side ANGLE enabled on the
emulators. Also treats lavapipe similar to swiftshader
for test coverage purposes.
Bug: b/417791087
Test: run goldfish emulator with '-gpu lavapipe'
Change-Id: I40002ce191aa49f08d887c066321c4d0c27f2738
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6547537
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f000acf8
|
2025-05-28T12:37:20
|
|
Vulkan: Remove suppressed VVL errors that no longer applies on bots
All the devices on bots support VK_ATTACHMENT_STORE_OP_NONE.
To pass the bot, we no longer need to suppress the VVL errors that
only occur on devices where VK_ATTACHMENT_STORE_OP_NONE is not
supported. Remove the error messages from the suppression list.
Bug: angleproject:42264496
Bug: angleproject:42265159
Change-Id: I47bfcb6cff77ae68b1755e8e0105411f31f713e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6598217
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ef29d42e
|
2025-05-22T15:52:49
|
|
Support ASTC decode mode extensions in ANGLE
Added support for GL_EXT_texture_compression_astc_decode_mode and
GL_EXT_texture_compression_astc_decode_mode_rgb9e5 in ANGLE. Also added
corresponding end-to-end tests for ASTC decode mode queries, including
ASTC decode mode queries and rendering with ASTC texture formats with
different decode modes on GL_TEXTURE_2D works.
Bug: angleproject:419403188
Change-Id: I0f2dced8468c4e25597740d1de346b2f699bb81e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575285
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
20b08f95
|
2025-05-29T10:14:33
|
|
Roll VK-GL-CTS from c9d2e24d1a6d to 7be6d4540af2 (27 revisions)
* Added gl4cTextureBufferTests files to deqp.gni.
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c9d2e24d1a6d..7be6d4540af2
2025-05-26 rgarcia@igalia.com Test vkGetPhysicalDeviceFormatProperties2
pNext chain
2025-05-26 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2
into vk-gl-cts/main
2025-05-26 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12
into vk-gl-cts/main
2025-05-23 kamil.goras@mobica.com Add test texture buffer size clamping
2025-05-23 piotr.byszewski@mobica.com Tests null FS with cull distance
and sample mask
2025-05-23 piotr.byszewski@mobica.com Use bad
VkPipelineRenderingCreateInfo when it is not needed in GPL
2025-05-23 boris.zanin@amd.com Verify stride is non-constant value in
OpCooperativeMatrixStore/Load
2025-05-23 petermcneeley@google.com Amber tests for NClamp spir-v
extended instruction
2025-05-23 david.rosca@amd.com Fix film grain flag for
dEQP-VK.video.decode.av1.argon_filmgrain_10_test1019_*_dpb
2025-05-23 ziga@lunarg.com Fix enabling extensions in swapchain
maintenance1 tests
2025-05-23 lionel.g.landwerlin@intel.com Fix default SampleMask value in
VK_EXT_shader_object tests
2025-05-23 mateusz.bahyrycz@mobica.com Fix for missing synchronization
in BufferViewTestInstance
2025-05-23 piotr.byszewski@mobica.com Port selected tests to new
capabilities system
2025-05-23 michal.jakubek@mobica.com Reduce createCustomInstance()
calls.
2025-05-23 michal.jakubek@mobica.com Capabilities system for custom
device creation
2025-05-23 rgarcia@igalia.com Test multistream rasterization with XFB
2025-05-23 rgarcia@igalia.com Test image-to-image copies for 96-bit
formats with linear tiling
2025-05-23 rgarcia@igalia.com More DGC conditional rendering tests
related to preprocessing
2025-05-23 rgarcia@igalia.com Test sampling
VK_FORMAT_A1R5G5B5_UNORM_PACK16
2025-05-23 rgarcia@igalia.com Add tests with additional commands on
secondary command buffers
2025-05-23 rgarcia@igalia.com Fix verification thresholds in sampling
tests for small formats
2025-05-23 rgarcia@igalia.com Test copying immutable samplers
2025-05-23 rgarcia@igalia.com Add ldexp tests with non-32-bit exponents
2025-05-23 rgarcia@igalia.com Add XFB tests with primitive restart
2025-05-23 rgarcia@igalia.com Test arbitrary matching queue family
values in barriers
2025-05-23 rgarcia@igalia.com Test geometry shader side effects always
happen
2025-05-23 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2
into vk-gl-cts/main
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com 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:420728429
Tbr: abdolrashidi@google.com
Change-Id: Iee73fa63e10dd084a4c67bcae7ab1779f8efdbcf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6601054
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b670d47b
|
2025-05-29T13:37:27
|
|
Disable unused private field for dEQP compilation
Incoming VK-GL-CTS rolls are failing due to the following error
for some dEQP targets:
"private field 'm_size' is not used [-Werror,-Wunused-private-field]"
This warning can be suppressed for this target temporarily, allowing
the autoroller to merge new changes. Once the issue has been addressed
on the CTS code, this change should be reverted.
* Added -Wno-unused-private-field to gles2 and gles31 targets.
* This is a temporary change. It should be removed once the issue
has been addressed.
Bug: angleproject:420728429
Change-Id: I0177ded84ad58a148884e8abfac3aea9a1ff7d43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6604679
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
58f21f8f
|
2025-05-29T07:53:02
|
|
Vulkan: Optimize ProgramExecutableVk::bindDescriptor(...)
Cache valid descriptor set indices in a bitset, this helps eliminate
branches within loops and makes for more readable code
Bug: angleproject:386749841
Change-Id: I06fbf529ceb6c8ece9313b3b5e9edd6c6b63542b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6601733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
433906d7
|
2025-05-29T16:22:18
|
|
WebGPU: Protect against null compilation info.
compilationInfo is an optional parameter of this callback.
Bug: chromium:413078308
Change-Id: I12770c566b3daad5eaf8d6c8b66e464a85da06f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596988
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7ddc219f
|
2025-05-28T22:25:37
|
|
WebGPU: Handle Dawn breaking change in QueueWorkDoneCallback
Needed in order to update Dawn to match the standard webgpu.h, here:
https://dawn-review.googlesource.com/c/dawn/+/243697
Bug: chromium:414868699
Change-Id: Ib52c0e32b685ef3f9f05fe1fe549ab16e8eec610
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6600550
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
|
|
8dbb0997
|
2025-05-15T00:00:00
|
|
Autogen support checks for ANGLE_base_vertex_base_instance
Bug: angleproject:409484297
Change-Id: Id730b55709e27910f2908294637e17cde9a791b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6597178
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7855312a
|
2025-05-15T00:00:00
|
|
Adjust multi draw validation
* Fixed validation of negative drawcount
for all MultiDraw*ANGLE entry points.
* Added missing extension checks to
MultiDraw*BaseInstanceANGLE entry points.
Fixed: angleproject:420956723
Change-Id: I3a058471446cd96a883970d4e38ba5af2fa07a8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6597176
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
79cef542
|
2025-05-15T00:00:00
|
|
Autogen EGL image extension entry points
Bug: angleproject:409484297
Change-Id: I0e4a83c5e902f010a66fefa4fa6cc4169ab5529f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596617
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e7118451
|
2025-04-15T09:55:48
|
|
restricted_trace_perf: Script fixes
Minor fixes.
Tests: restricted_trace_perf
Bug: b/404239853
Change-Id: I429f2c69c47bd9a8dc725ac3f499143827755de6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6455541
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4c964bc7
|
2025-05-15T00:00:00
|
|
Roll third_party/OpenGL-Registry/src/ 5bae8738b..200cea403 (74 commits)
https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry/+log/5bae8738b23d..200cea4030cb
Additional changes:
* Removed obsolete workarounds for mismatching
signatures between CreateShaderProgramvEXT
and CreateShaderProgramv.
* Aligned GL backend bindings for GL_OVR_multiview
entry points with the specs.
* Updated include/GLES2/gl2ext.h.
Bug: angleproject:409484297
Change-Id: Ifbb63dcc4bad312b22a368455a121e088b346fab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596941
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
537d40dc
|
2025-05-27T12:43:55
|
|
Tests: Add Aquarium trace
Test: angle_trace_tests --gtest_filter="*aquarium*"
Bug: b/420699380
Change-Id: I30e0b0cbf2520b98dc265a6686e81cc3280f5555
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594253
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
6462880b
|
2025-05-15T00:00:00
|
|
Autogen support checks for query extensions
Bug: angleproject:409484297
Change-Id: I91e6b7318c62868e65d48ceb380b7c2d53c447ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596569
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
392dc591
|
2025-05-15T00:00:00
|
|
Remove GL_CHROMIUM_sync_query
Fixed: angleproject:420627279
Change-Id: I26dac7c55a7cf6b04121658144e1387be65d2569
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593552
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
88f1a668
|
2025-05-20T10:35:36
|
|
Query sample count by getting image format props
ANGLE should query the image format properties to set
TextureCaps.sampleCounts based on internalformats.
Bug: angleproject:418815176
Change-Id: I7718121008acd9bb9bbb9964af5842646d7a689a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6564528
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Robic Sun <Robic.Sun@arm.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
bc2c85a6
|
2025-05-27T11:40:33
|
|
Translator: Set correct qualifiers on user-declared gl_PerVertex
Bug: angleproject:409439499
Change-Id: Ia4bc1335d977f2b138af877e5d698914b182ff52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6592612
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
90668ecf
|
2025-05-25T10:51:52
|
|
Vulkan: Reset uniform buffer dirty bit on program change
When a program changes all of its non-texture shader resources are
invalidated, there is no need to re-invalidate uniform buffers.
Bug: angleproject:386749841
Change-Id: I7e941784c40046cef3a2ce297e6941a963b3a8dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6583476
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
eafcbbf9
|
2025-05-27T11:24:17
|
|
Vulkan: Reformat VVL error message
Remove the VVL skip messages that no longer apply.
Set the messageContents1 and messageContents2 to nullptr for ease of
clean up later.
Bug: angleproject:399191283
Change-Id: I6d4477a6c401e6b7d2915b1fc574413be31fdc9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594251
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
6542fea9
|
2025-05-07T17:28:45
|
|
Vulkan: Fix SpirV Error in Tessellation Control Shader
When feature varyingsRequireMatchingPrecisionInSpirv is enabled,
in the generated SpirV, if the shader output varying precision
needs to be adjusted, we create a new shader varying to replace the
original shader output varying, and save the original shader output
varying to the replacement shader output varying at the end of the
function. However, this does not work for tessellation control shader,
because the SpirV generated will perform following equivalent peudo
code:
layout (vertices=3) out;
in mediump float tc_in[];
out mediump float tc_out[];
highp float original_out[];
void main()
{
original_out[gl_InvocationID] = tc_in[gl_InvocationID];
// some other code in between
tc_out = original_out;
}
The last line will attempt to write to all indice of tc_out. However,
according to the spec, "each tessellation control shader invocation may
write only to those outputs corresponding to its output patch vertex.
Tessellation control shader must use the special variable
gl_InvocationID as the vertex number index when writing to per-vertex
output variables."
This change fixes the problem by keeping the precision of tessellation
control shader output as it is, and adjust the precision of
tessellation evaluation shader input instead.
Bug: b/42266751
Change-Id: I398545e2cbbf703c716d6738f1ba278baac4171f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6521225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
27a1b2c9
|
2025-03-13T09:10:54
|
|
Metal: Fix crash with 3d tex, alpha, depth
Fix a crash when generating mipmaps for a 3d texture that has
mipmaps with w,h == 1, i.e. depth > max(2*w, 2*h).
Bug: angleproject:419755713
Change-Id: I7bf7f1f71c03b2bf6f8a30df30dc77ad06d433fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580167
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
dac0ef51
|
2025-05-27T18:36:56
|
|
WebGPU: Add a feature to avoid wgpuInstanceWaitAny
Synchronous waiting is not available in Chrome's renderer process yet.
Add a temporary feature to avoid some WaitAny calls and just log errors
instead.
Bug: angleproject:413078308
Change-Id: I67e54dfcfc093fd250da8cc616c05d44b78c8d64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593531
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2f6f0514
|
2025-05-22T15:59:19
|
|
Metal: Wraparound int arithmetic for add, sub
Implement wraparound int arithmetic for
int, ivec +, -, +=, -=, ++, --.
All of the added tests pass also without the changes.
Bug: angleproject:382215759
Change-Id: I7605582ab2931e63010c34fba474797f7edd19f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578729
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
2a18fdbf
|
2025-05-21T16:14:51
|
|
Fix sync issue between XFB output and UBO input
For the following scenario, where the first draw writes to the
transform feedback buffer and the second draw reads from the
same buffer as UBO, it is necessary to end the render pass
between the two draws and add a barrier.
// xfb write
glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, xfb);
glBeginTransformFeedback();
glDrawArrays();
glEndTransformFeedback();
// Draw with same buffer as UBO
glBindBuffer(GL_UNIFORM_BUFFER, xfb);
glDraw();
Bug: angleproject:418568423
Change-Id: Ia294d174111c6104b55762590ec26056ee759b53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6572198
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7470cae4
|
2025-05-15T00:00:00
|
|
GL: Do not emulate EXT_base_instance
If a driver does not support the corresponding
commands, do not expose the extension at all,
regardless of the enabled features.
Bug: angleproject:355645824
Change-Id: Ideaae32e401c169690ca3aca6e437443a4b038f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580170
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f0c46b2a
|
2025-05-25T10:44:23
|
|
WebGPU: Do not set autoresizingMask on the iOS Metal Layer
autoresizingMask is not a member on iOS builds. This mirrors the window
surface in the Metal backend.
Bug: angleproject:342213844
Change-Id: I8b5cfbb2b7f7af4f3284ddd7055e68e762c77883
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6584993
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ec4d8f8e
|
2025-05-23T11:00:03
|
|
Changes to support sdk35
Set the sdkVersion to 35, which forces edge to edge mode.
Edge-to-edge mode without changes causes the ANGLE Preferences
settings page to render the title bar on top of the content.
The fix is to add an inset listener in the fragment, to adjust
the window's marginTop by the inset amount.
The preferences page that was being used had been deprecated as it used
the old ListView, so I updated it to the new way, using
PreferenceFragmentCompat which uses a RecyclerView.
This fragment change cascaded a few changes with the Activity itself,
and the theme, all of which are updated for this change
to use PreferenceFragmentCompat.
Tested: Built in the Android tree, flashed on a Pixel device.
Tested in portrait and landscape, light and dark modes.
Bug: b/403455598
Change-Id: I012b2ea2f9f0973f3e0a926a93d2c3b31daeccca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581364
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Solti Ho <solti@google.com>
Auto-Submit: Brian Johnson <hibrian@google.com>
|
|
4b375fe5
|
2025-05-23T18:44:54
|
|
WebGPU: Fix NoOpErrorScope constructor.
We would always build with asserts enabled on our bots and missed that
this constructor did not match the ErrorScope constructor.
Bug: angleproject:342213844
Change-Id: Ieb73e6e1b0a0359b0ad336f14b7b9580c2ecc00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580169
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|