|
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>
|
|
61e383dc
|
2025-05-23T18:41:57
|
|
WebGPU: Fix build on iOS and ChromeOS.
Make sure we return a NativeWindowSystem in all branches.
Build the Metal window surface on iOS.
Bug: chromium:419793882
Change-Id: Ic829c83b71c18df9907ef729320377d82958f6ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580168
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
275745ff
|
2025-05-23T12:59:03
|
|
Vulkan: Fix warning about shared present mode support
An incorrect warning was issued about shared present mode being
requested without support for it, even if shared present mode was _not_
being requested.
Bug: b/412446258
Change-Id: I33f4ea9bcbd09695375010da93a68b375cfc8c8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578819
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
525757d6
|
2025-05-22T16:32:32
|
|
Vulkan: Reformat VVL Error Message
Change the error message to use the extraProperties field.
Set the messageContents1 and messageContents2 to nullptr for ease
of clean up later.
Bug: angleproject:394598470
Change-Id: I0b7aec0b7e9a6e5206c89caae712e76db3338c4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581371
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3e9a1375
|
2025-04-30T16:03:03
|
|
Fix unique object duplication warning
Clang has a `unique-object-duplication` warning that warns about objects
which are supposed to be unique (like static- or thread-local
variables), but may be accidentally duplicated across shared libraries
when they have hidden visibility.
This CL addresses instances of that warning by:
1. Ensuring that on non-windows systems, objects that need to be
exported are unconditionally given "default" visibility
2. Satisfy the compiler by marking everything as default visibility when
building a static library, since visibility only matters for shared
libraries
3. Mark functions with static or thread local variables as exported.
Bug: chromium:368047728
Change-Id: Ic60265353bf2b0af2cd1fef884bfa85038e0db02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502093
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
150f1242
|
2025-03-11T18:34:37
|
|
Metal: Provoking vertex conv. reads out of buffer
The provoking vertex helper would encode the addresses of index count
and primitive count variables, not their values. This would cause
the provoking vertex conversion shader to read overly many indices.
Not testable easily from the API, as the excessive read is hard to
test. Would cause context loss on the existing tests when run with
validation.
Bug: angleproject:419755715
Change-Id: Id81ecc66513c0eac1e95d11937f12d9bebb5e11e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578202
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
157a99aa
|
2025-05-20T23:59:29
|
|
Update logic for redeclaring gl_FragDepth.
Update ParseContext logic to handle redeclaration of gl_FragDepth.
Bug: angleproject:419066563
Change-Id: I774d036922ec75ca151f1c871afc243ca09a3061
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6573532
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
571450df
|
2025-05-15T16:24:12
|
|
Depth value not clamped for clearBufferfi and clearBufferfv
Clamp depth values to [0,1] for calls to glClearBufferfi and
glClearBufferfv.
Bug: angleproject:418030862
Change-Id: I6f5393da863a17c5fd1d78f1b800df0e61d3dc60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552161
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c1e806de
|
2025-05-22T15:59:01
|
|
WebGPU: Allow providing an external WGPUDevice.
Update EGL_ANGLE_platform_angle_webgpu with a new parameter which allows
initializing DisplayWgpu with a pre-existing WGPUDevice. The adapter and
instance are queried from this device.
Bug: angleproject:42266898, angleproject:414827222
Change-Id: I3159ebe19750e75c5cf9aa395332f48385fdb4d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578196
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
3cf7a604
|
2025-05-17T19:39:08
|
|
WebGPU: Add extensions for importing external textures
Add EGL_ANGLE_device_webgpu which exposes the adapter and device used
by ANGLE internally.
Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing
external WGPUTexture handles if they share the same device as ANGLE
(queried from EGL_ANGLE_device_webgpu).
Bug: angleproject:418022112
Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8d6d127a
|
2025-05-20T12:26:56
|
|
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>
|
|
26e790f7
|
2025-05-21T14:07:40
|
|
Update the gn arg to avoid warning message in gn desc json file
After this change
https://chromium-review.googlesource.com/c/chromium/src/+/6547915,
using android32_ndk_api_level and android64_ndk_api_level gn args
will results in a warning message generated at the top of the
gn desc json file:
WARNING Build argument has no effect.
android32_ndk_api_level = 26
^-
Did you mean "android_ndk_api_level"?
This causes the json.load() function in generate_android_bp.py failing
when parsing the json file
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Update roll_aosp.sh to use the android_ndk_apk_level to remove the
warning message.
Also update the gn arg from android32_ndk_apk_level and
android64_ndk_api_level to android_ndk_apk_level in other files.
Bug: b/418837345
Change-Id: I12fa48dcb5638b37a9965d0adb339a2dee018297
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6576736
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3f012a43
|
2025-05-14T17:11:06
|
|
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>
|
|
bdaf87cf
|
2025-05-15T00:00:00
|
|
Enforce validation consistency
Asserted that:
* Exactly one error is generated
if validation fails.
* No error is generated
if validation passes.
Supported only for entry points with
autogenerated context support checks.
Lockless entry points are excluded for now.
Bug: angleproject:406922380
Change-Id: I7549c8011768b1aa311d843b1658005ca3aba3b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6568559
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1e45cbe3
|
2025-04-24T00:00:00
|
|
Update entry points autogen template
Used the same template for the always
supported entry points as for entry
points with conditional support.
No functional changes.
Bug: angleproject:409484297
Change-Id: I2077dec903a3bb52a69085acf5781c0df9ea935c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6574234
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c0b2787
|
2025-05-17T19:36:42
|
|
WebGPU: Implement EGLImages
Implement EGLImages for WebGPU. Cube maps, and non-zero mip sources
are not supported yet.
Bug: angleproject:418022112
Change-Id: I59955aee907167a1829f870b7d0730a6269d814c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557130
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
937cf23c
|
2025-05-13T16:11:47
|
|
Vulkan: Remove VertexArrayBufferContentsObservers
When vertex array needs to convert buffer's data, right now it uses
Subject/Observer to subscribe notifications from buffers about the data
change. Since we always dirty all binding point when we bind
VertexArray, or app has to rebind buffer to vertex array if its on the
other context, this notification really is only needed for the current
context's vertex array. In prior CLs we already moved notification from
buffer to the current context's vertex array away from Subject/Observer
usage pattern. This CL did similar things to
VertexArrayBufferContentsObservers::mContentsObservers.
VertexArrayBufferContentsObservers has been deleted in this CL. Each
VertexArrayImpl now tracks the need of content observer with a bit mask
of each bindingIndex (which is tracked by
mContentsObserverBindingsMask). When a buffer's content changes,
gl::Buffer will retrieve this bit mask from backend and pass it to the
current gl::Context, which sends to current VertexArray object, which
then set proper DATA dirty bits on VertexArray based on the binding bit
mask. If back end think it does not need any data conversion, then the
bit mask is zero and nothing will be done. This further removes
dependence on subject observer, which enables us to avoid taking shared
context lock for glEnableVertexAttribArray and
glDisableVertexAttribArray.
Bug: angleproject:400711938
Change-Id: Ieb0c09c042a560dd121242b63ec24478482399b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6549157
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dc43c3ba
|
2025-05-17T19:28:20
|
|
WebGPU: Implement Renderbuffers
Implement the RenderbufferWgpu class. Add the concept of a non-owned
webgpu::ImageHelper for supporting EGLImage in the future.
Fix some missing texture formats that now get tested with dEQP.
Bug: angleproject:418022112
Change-Id: Ie1239ec581e62044e7c8723fc33cb7565d50575c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557129
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f537c6d9
|
2025-04-28T17:30:13
|
|
Allow passing a DawnProcTable to DisplayWgpu.
Bug: angleproject:42266898, angleproject:414827222
Change-Id: Ibf381461881244c9a874f2d24d3248995ea0760c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496389
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
70b90f22
|
2025-05-09T16:51:31
|
|
WebGPU: Use the C API only from the proc table
Define WGPU_SKIP_DECLARATIONS so that errors are generated when using
the global c or cpp functions.
The default proc table getter requires the cpp API is visible. Hide this
in a new wgpu_proc_utils so the rest of the WebGPU backend cannot see
those APIs.
Bug: angleproject:342213844
Change-Id: Ia1e9bfd25b0bb538cebeaa0efe7b9d2eeabc990d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534317
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
720f6bbe
|
2025-05-15T00:00:00
|
|
Fix attribute and uniform name validation
* Fixed null name error messages
to refer to correct parameters.
* BindUniformLocation
* Added name checks for null
and all reserved prefixes.
* Fixed error code for reserved prefixes.
* GetAttribLocation & GetUniformLocation
* Moved reserved prefixes check to the Context.
* Fixed and expanded tests.
Fixed: angleproject:418986804
Change-Id: I62760b3010fd38ee2e31e4ff88d9910647b329dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6568552
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3158d638
|
2025-05-06T17:08:56
|
|
WebGPU: Store the WebGPU proc table in wrappers
Instead of relying on the global WebGPU functions, pass the proc table
to the object wrappers.
Bug: angleproject:342213844
Change-Id: I79a5e819ffac5b366fed0a159a6cef116b5e82b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514676
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
71b58cdc
|
2025-05-17T18:12:33
|
|
Fix feedback loop in ImageTest.SourceRenderbufferTargetTexture*
This test would make a renderbuffer as an EGLImage source and a texture
as the target. It would then try to verify the data in the texture by
sampling but the renderbuffer was currently bound to the framebuffer
creating a feedback loop.
Bug: angleproject:418022112
Change-Id: I456eb541c84d98d99e6b8d8be817ce67d7b1d519
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6556610
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
dcbcee8a
|
2025-05-15T10:39:55
|
|
Tests: Use eglGetPlatformDisplay()
From the EGL 1.5 spec:
Appendix F
Version 1.5
EGL version 1.5 was voted out of the Khronos Technical Working Group
on January 31, 2014, and formally approved by the Khronos Board of
Promoters on March 14, 2014.
EGL 1.5 is the sixth release of EGL. It introduces the following new
features (the EGL extension(s) each feature is based on are also shown
parenthetically):
* Platform support:
– Providing a mechanism for support of multiple platforms (such as
window systems or offscreen rendering frameworks) in a single EGL
implementation at runtime (EGL_EXT_platform_base).
Many tests use eglGetPlatformDisplayEXT() which is provided by the EGL
extension EGL_EXT_platform_base. With the promotion of the
EGL_EXT_platform_base functions to core EGL in version 1.5 and ANGLE
supporting EGL 1.5 (as of at least 2019), update the calls to use
eglGetPlatformDisplay().
This is in preparation for running the ANGLE end2end tests in Android,
which only exposes the EGL 1.5 functions, and not the
EGL_EXT_platform_base functions.
Bug: b/391967165
Test: angle_end2end_tests
Change-Id: I58109c3afe270f46db952e124ee3f5c11200ca35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552257
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
b4d39a07
|
2025-05-19T11:07:08
|
|
Reformat VVL Error Message
Tests failed in this manual roll
https://chromium-review.googlesource.com/c/angle/angle/+/5689521
no longer runs into the SYNC-HAZARD-WRITE-AFTER-WRITE VVL error.
Remove the VVL error from the skipped VVL error list.
Bug: angleproject:352094384
Change-Id: I8b0a4baebd7276fc6d42e0357a3b6f49adb0b4f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6564666
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e7277deb
|
2025-05-19T11:16:56
|
|
Add test to validate eglGetPlatformDisplayEXT()
Add a test to validate eglGetPlatformDisplayEXT() returns a valid
display on devices that support the EGL extension EGL_EXT_platform_base.
Bug: b/279980674
Test: EGLDisplayTest.GetPlatformDisplayEXT/*
Change-Id: I8cbb9c3905deb960e567a07d64e6c9d590a4ae70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6565328
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5fd79e6a
|
2025-05-15T00:00:00
|
|
Remove unused parameter from ValidateGetVertexAttribBase
Bug: angleproject:409484297
Change-Id: I98fdfe8dbaeb6bc08a0c0a7a4a032850fcbdd37f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6558251
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c601f0e7
|
2025-04-08T17:56:22
|
|
Add extra validation of null pointers for certain APIs
Bug: angleproject:409110245
Change-Id: I25dfdbdc52cdb0d7d2a91d773a0f3600e370f139
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6440146
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
30479104
|
2025-04-28T16:01:46
|
|
Add support for GL_EXT_texture_norm16 in glCopyImageSubDataEXT
Add the following compatible norm16 formats in EXT_copy_image:
RGBA16_EXT
RGBA16_SNORM_EXT
Bug: angleproject:412517249
Change-Id: I4939705915940dacaf3168acf1a7cc7abb0870ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6490613
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Mavis Deng <mavis.deng@arm.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
56becf05
|
2025-05-16T16:58:34
|
|
WGPU: texSubImage2D() should mark textures as dirty
TextureWgpu now observes its ImageHelper's edits to staged
subresources and notifies its observers (Texture) that it has
changed, ensuring TextureWgpu::syncState() is called before
draw if glTextSubImage2D() was called earlier.
Also ends the current render pass when flushing subresource
updates, otherwise if the texture is being used by the current
webgpu::CommandBuffer (staged render pass commands), the texture
may be updated before the staged commands are actually submitted
to the GPU.
Bug: angleproject:389145696
Change-Id: I07db566fca970e877a0d3faa3ceb02f8425c799a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502676
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
e6231b0f
|
2025-05-16T10:29:46
|
|
Reformat VVL Error Message
catalyst_black trace no longer runs into the
SYNC-HAZARD-WRITE-AFTER-READ VVL error mentioned in
http://anglebug.com/42266390.
Remove the VVL error from the skipped error list.
Bug: angleproject:42266390
Change-Id: I7e3055e61632e1de42dc24233724f73beefef653
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557942
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
4a5e20f2
|
2025-05-15T11:20:31
|
|
WGPU: Round uniform buffers to the alignment of a uniform struct
The default uniforms are packed into a struct, and structs in WGPU's
uniform address space are always aligned to 16. I.e. RequiredAlignOf
(struct S, uniform) = roundUp(16, AlignOf(S)) and AlignOf(S) is at
most 16.
The uniform buffer should be sized to include all bytes of the struct
including the padding bytes at the end.
Fixes bugs like "The shader uses more bytes of the buffer (224) than
the layout's minBindingSize (212)"
Bug: angleproject:376553328
Change-Id: I7e52e81a6a6f45470d14e891888627ac6d0d9c02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6549155
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3f7bded1
|
2025-05-15T13:35:18
|
|
Add ANGLE_FORMAT_PRINTF to StringPrintf
Bug: b/414880678
Test: verified that the compiler attribute will generate error when
building without crrev.com/c/6543549
Change-Id: If1b57f78370d57969e999b93e17444236f194be1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6551849
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
96c9f065
|
2025-05-15T19:22:29
|
|
WGPU: Flip y for the default framebuffer
Bug: angleproject:389145696
Change-Id: I0d527ad3dc24dbca7e9d914b03edacdc257a568f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6477137
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
db71e8fa
|
2025-05-13T14:16:39
|
|
Use os.path.abspath for the cwd in commid_id.py
os.path.realpath will resolve subst drives to the underlying path,
which is inappropriate when the CWD is actually in the subst path.
This causes os.path.relpath to fail due to a mismatched drive letter.
Example mapping:
D: -> S:\src\D
E: -> S:\src\E
Fixed: chromium:417529141
Change-Id: I70de53d511672dedf9cf2f77006526977b736526
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6546083
Auto-Submit: Robert Liao <robliao@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
b74a4714
|
2025-05-15T10:24:41
|
|
Reformat VVL Error Message
diablo_immortal trace on swiftshader no longer runs into the
SYNC-HAZARD-WRITE-AFTER-READ error mentioned in b/42266309.
Remove the VVL error from the VVL error skip lists.
Bug: angleproject:42266309
Change-Id: I53a5377ea26541a37dc251717d3f2d08f553a3a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6551848
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1fea2d12
|
2025-05-15T09:57:22
|
|
Roll Chromium from 6511b87fb086 to 924b8c206ea6 (678 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/6511b87fb086..924b8c206ea6
Fix warnings detected by Error Prone checks enabled in
https://chromium-review.googlesource.com/c/chromium/src/+/6543826
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 angle-team@google.com,ynovikov@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/e42f899ae7..a4e74b4312
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/077a66f30f..e9b36e9ffb
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/e93dc3dea2..56ef5f113b
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/fd624be2fa..2fa93b2332
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/032eddc73b..f810dae272
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/27ee073016..9aefa1cede
* third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/49f482cb46..36e2b378de
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/c523543cf4..abb422e192
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/86aca59d7b..fbb9ce5767
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/92a5f60019..4e2e7b926a
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f7a506e700..866151e951
* tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/96def2f44c..d88ef9e4de
Clang version changed llvmorg-21-init-9266-g09006611:llvmorg-21-init-11777-gfd3fecfc
Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/92a5f60019f3a9ff63b9388d181fa65047377fb4..4e2e7b926a033fc85695da101404f79b7ce2d7a7/scripts/update.py
Bug: None
Change-Id: I95d7c36f8e9baeb828b24f7d96452363175bba2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6551736
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9b16a3e9
|
2025-05-05T16:43:19
|
|
WebGPU: Remove last references to cpp API
Bug: angleproject:414831373
Change-Id: I25c03de40c579bf984d9a905ecf655c82d239811
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512149
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
147f4810
|
2025-05-05T16:33:19
|
|
WebGPU: Use WebGPU C API for Display and error utils
Bug: angleproject:414831373
Change-Id: I56f90e453a746399c65956cc73eb4fcb020bcb5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512148
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
1faf6ef2
|
2025-05-05T15:18:58
|
|
WebGPU: Use WebGPU C API for Programs and Buffers
Bug: angleproject:414831373
Change-Id: I773f26483f53957bdfb8321b2a557df7febb376c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512147
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
cf0565f2
|
2025-05-14T17:59:41
|
|
WebGPU: Pack render pass descriptors
The render pass descriptors stored in FramebufferWgpu contained
references to textures that were fragile and depended on the
RenderTargetCache keeping the texture views alive.
Refactor the desc so that it does ref counting like the cpp interface
and clean up some FramebufferWgpu logic around copying descs.
Bug: angleproject:414831373
Change-Id: Ibea96e013474cc43aa30909b596b8898ebccef98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6546256
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
6ba47bed
|
2025-05-13T12:44:06
|
|
Vulkan: Use GS input prim type for warmup pipeline
For graphics pipeline creation, the primitive topology should be set
in the input assembly state create info (unless for dynamic state).
This can come from the primitive mode in ProgramExecutableVk
(prepareForWarmUpPipelineCache()). Currently, the patch mode is used
if there is a tessellation shader, and triangle strip otherwise.
However, if there is a geometry shader without tessellation, this
can lead to a VVL error on certain platforms if the primitive mode for
the pipeline does not match the input primitive type for the geometry
shader.
* Updated the primitive mode in the above function for the case of
geometry shader without tessellation shaders, to be set to the input
primitive type of the GS.
* This will be used later for graphics pipeline initialization
for the input assembly state info (in case of vertex input).
* (GraphicsPipelineDesc::initializePipeline())
* Removed the following VVL suppression:
VUID-VkGraphicsPipelineCreateInfo-pStages-00738
Bug: angleproject:303219657
Change-Id: I8d804fd87438033071261a5002a4155e6d62d27c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6541872
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
69841d3c
|
2025-04-30T23:55:16
|
|
WebGPU: Use WebGPU C API for Textures and Framebuffers
Bug: angleproject:414831373
Change-Id: I6b547a726b22e8eb5d407e2d6340b1d18bf39033
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6503024
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f21ec7a0
|
2025-05-14T10:52:50
|
|
Tests: Skip VerifyMutableRenderBufferKHR on Intel+Win
The test
EGLSingleBufferTest.VerifyMutableRenderBufferKHR/ES*_Vulkan_NoFixture is
failing on Intel+Windows and generating VVL errors.
ERR: vk_renderer.cpp:968 (rx::vk::(anonymous
namespace)::DebugUtilsMessenger): [
VUID-VkSwapchainCreateInfoKHR-presentMode-parameter ]
vkCreateSwapchainKHR(): pCreateInfo->presentMode
(VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR) requires the extensions
VK_KHR_shared_presentable_image.
The Vulkan spec states: presentMode must be a valid VkPresentModeKHR
value
(https://docs.vulkan.org/spec/latest/chapters/VK_KHR_surface/wsi.html#VUID-VkSwapchainCreateInfoKHR-presentMode-parameter)
..\..\src\tests\egl_tests\EGLSurfaceTest.cpp(2036): error: Value of:
IsEGLDisplayExtensionEnabled(mDisplay, "EGL_KHR_mutable_render_buffer")
Actual: false
Expected: true
It's not entirely clear where things are going wrong, but appears to be
something in the Intel+Windows driver. Skip the test for now to keep
win-exp-test green otherwise.
Bug: b/417459061
Test: EGLSingleBufferTest.VerifyMutableRenderBufferKHR
Change-Id: Iee848b46cddaf05d0cbb0c2d81d76d07dd0b9bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6548415
Auto-Submit: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d82036f5
|
2025-05-15T09:43:03
|
|
WebGPU: Add missing destructor for object wrappers.
Bug: angleproject:414831373
Change-Id: I65aa17b5cbac2564140491744461bc94e9ae9f2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6551496
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
ad05f93b
|
2025-05-08T00:00:00
|
|
Vulkan: Fix debug marker handling
Used passed length in InsertEventMarker and
PushGroupMarker commands because markers do
not have to be null-terminated.
Bug: angleproject:408709155
Change-Id: I6221223dabc1b01dbc175bfb7f5aeb41b9e67c6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552401
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
1e7442b2
|
2025-04-24T00:00:00
|
|
Fix KHR_debug operations
DebugMessageInsert:
* Used correct error message when the severity parameter
is invalid and aligned parameter validation order with
the command declaration.
DebugMessageInsert and PushDebugGroup:
* Fixed message length validation.
* Fixed message insertion when
the explicit length is zero.
Object[Ptr]Label:
* Fixed label length validation.
Added new tests.
Fixed: angleproject:417621246
Fixed: angleproject:417684698
Change-Id: I00cd939a83c5b9ae7dddefc51222278615bc0df9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6544152
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a06e4d49
|
2025-05-08T00:00:00
|
|
Metal: Implement InsertEventMarker
* Added a missing command buffer call.
* Renamed related symbols to match Metal API.
* Removed ConvertMarkerToString helper because
marker length is now handled in the frontend.
Bug: angleproject:417857731
Change-Id: Ifa9edaafaf16af9913420554e5847a5a25b8d2f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6549282
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
cc02a537
|
2025-05-05T22:12:42
|
|
Vulkan: move the recycled fence reset from fetch to destroy.
move the fence reset from main thread to gc thread to avoid
blocking at gfxstream.
Bug: b/400480303
Change-Id: I7940fcb4a1edad5e388f1afdde97a3261a5cc4d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6519236
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
8d75490a
|
2025-05-08T00:00:00
|
|
Update zero length for debug marker commands
If the marker length passed to InsertEventMarkerEXT
or PushGroupMarkerEXT commands is zero, compute the
actual marker length in the Context so that the
backends could always rely on the passed length.
Bug: angleproject:408709155
Bug: angleproject:417757002
Change-Id: Ifa36d8d16c7c808855a7500556b569587cdc89a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6547538
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74bf9527
|
2025-05-14T13:52:24
|
|
Reformat VVL Error Message
diablo_immortal trace on swiftshader no longer runs into the
SYNC-HAZARD-WRITE-AFTER-WRITE VVL error mentioned in b/42266309.
Remove the VVL error from the VVL error skip lists.
The trace does run into a different SYNC-HAZARD-WRITE-AFTER-WRITE
error and another SYNC-HAZARD-READ-AFTER-WRITE error, which are already
covered by two existing entries in the VVL error skip lists, and this
change updates the comments accordingly.
Bug: angleproject:42266309
Change-Id: I3466d8d8320750c7edef52c6629fb2dd377da284
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6548199
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ad18dc93
|
2025-04-02T16:23:50
|
|
D3D11: Remove the message from Buffer11 to gl::Buffer
This CL removes the D3D back end's usage of Subject/Observer from
Buffer11 to gl::Buffer. BufferFeedback argument has been added to
various functions and directly applied to gl::Buffer object (which will
propagate to VertexArray and texture/XFB if needed).
gl::Buffer::mImplObserver is removed in this CL, and no longer a
Observer.
Bug: angleproject:400711938
Change-Id: Idf4d423904d057ab3a1e52acf8e2496df606cb89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514288
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e69813e0
|
2025-05-13T12:29:46
|
|
Fix the formatting for size_t in perf_test
This will print 64bit unsigned int max properly
Bug: b/414880678
Test: (process memory size SIZE_MAX) *RESULT TracePerf_vulkan.memory_median: black_beacon= 18446744073709551615 sizeInBytes
Change-Id: I27f0e2dd34d7fc7c055bea64ecd786e0567b754a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6543549
Commit-Queue: Xiang Wang <xwxw@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f5f6704c
|
2025-03-27T13:58:14
|
|
Vulkan: Remove mArrayBufferObserverBindings
Right now VertexArray observes gl::Buffer change. Buffer change will end
up with many virtual function calls on VertexArray. GL spec says that
when buffer changes, only the current context's vertex array have to
pick up the changes without any GL API call. All other context's vertex
array must issue bind calls to pick up the buffer's state change. This
CL removes VertexArray::mArrayBufferObserverBindings as gl::Buffer's
observer. The Buffer's change is directly applied to current context's
vertexArray (Note that gl::VertexArray still have mContentsObservers
which is not touched in this CL. Once the content observer also removed,
there will be no observer calls into gl::VertexArray which allows us to
do further optimizations on vertex arrays.)
In order to further reduce the overhead, we also tracks vertex array's
binding index in the buffer. When a buffer is bound to current vertex
array, the bit is set at that index and bit is removed when buffer is
unbound. When vertex array becomes un-current, all bits are cleared.
Since a buffer could be bound to multiple context's current vertex
array, that bitmask is tracked for multiple contexts with the contextID.
Bug: angleproject:400711938
Change-Id: I9ad91573e101d7bf11a742a3d823bd8965f43395
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6419663
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d0616d54
|
2025-04-24T00:00:00
|
|
Autogen support checks for multiview commands
Bug: angleproject:409484297
Change-Id: Ia86f30922480dd1d8793868581629669cc83719f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6547155
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
64888cb8
|
2025-04-24T00:00:00
|
|
Align multiview extensions usage with the specs
As per the specs, the OVR_multiview2 extension requires
and implicitly enables the OVR_multiview extension.
Cleaned up the extension state checks
and added dependency tests.
No functional changes.
Fixed: angleproject:417173927
Change-Id: I67d2c19f4ed2f2450bf7fe2a92625cc9525ca020
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6535750
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
82c75df3
|
2025-04-24T00:00:00
|
|
Fix GetDebugMessageLog validation
Used the same validation for GetDebugMessageLog and
GetDebugMessageLogKHR entry points; added tests.
Simplified validation redirects for:
- ObjectLabel and ObjectLabelKHR
- GetObjectLabel and GetObjectLabelKHR
- ObjectPtrLabel and ObjectPtrLabelKHR
- GetObjectPtrLabel and GetObjectPtrLabelKHR
Fixed: angleproject:417493213
Change-Id: Id1fad6c94db78da403e70f40f44630632d375472
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6543489
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3bbdee0f
|
2025-03-28T11:55:24
|
|
Vulkan: Remove Subject/Observer from BufferImpl
Right now the gl::Buffer back end send message to the front end and then
gl::Buffer propagate the message to the observers (vertex array,
textures, transform feedback). We are seeing many of these kind of
message passing (mainly to vertexArray), and each message is a virtual
function call. The message call also lacks of context information that
we can not do certain optimizations. This CL adopts the new API feedback
argument approach for buffer APIs from the back end to the front end.
The only difficulty I ran into is D3D backend where the message could be
delivered from draw calls. For now the subject/observer code path is
still kept in the gl::Buffer, but no back end will use it except D3D11.
That will be removed in the later CL when D3D11 switch to use feedback
mechanism.
BYPASS_LARGE_CHANGE_WARNING
Bug: angleproject:400711938
Change-Id: I5fb3b660fd4260b9ba691239ad777b575b31e2ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6408892
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e4ec23a0
|
2025-04-24T00:00:00
|
|
Fix query object support in EXT_debug_label
The GL_EXT_debug_label extension must support labeling
timer query objects created on ES 2.0 contexts even if
the GL_EXT_occlusion_query_boolean is not supported.
Expanded and fixed tests.
Bug: angleproject:42263878
Change-Id: If05cf1b6879d44de1cc893ed45d1b877c963dac6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6539570
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9ddb1b7f
|
2025-04-24T00:00:00
|
|
Disable OES_primitive_bounding_box on unsupported contexts
The OES_primitive_bounding_box extension requires
OpenGL ES 3.1 and must not be exposed on lower
context versions.
Also made both EXT and OES versions of this
extension enableable.
Bug: angleproject:42262238
Bug: angleproject:415495316
Change-Id: I5379daa06dba3b2b09d9656ffab15c010fb4870a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6538627
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ed4d7278
|
2025-05-13T10:06:18
|
|
Tests: Skip VerifyMutableRenderBufferKHR on Intel+Win
The test
EGLSingleBufferTest.VerifyMutableRenderBufferKHR/ES*_Vulkan_NoFixture is
failing on Intel+Windows and generating VVL errors.
ERR: vk_renderer.cpp:968 (rx::vk::(anonymous
namespace)::DebugUtilsMessenger): [
VUID-VkSwapchainCreateInfoKHR-presentMode-parameter ]
vkCreateSwapchainKHR(): pCreateInfo->presentMode
(VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR) requires the extensions
VK_KHR_shared_presentable_image.
The Vulkan spec states: presentMode must be a valid VkPresentModeKHR
value
(https://docs.vulkan.org/spec/latest/chapters/VK_KHR_surface/wsi.html#VUID-VkSwapchainCreateInfoKHR-presentMode-parameter)
..\..\src\tests\egl_tests\EGLSurfaceTest.cpp(2036): error: Value of:
IsEGLDisplayExtensionEnabled(mDisplay, "EGL_KHR_mutable_render_buffer")
Actual: false
Expected: true
It's not entirely clear where things are going wrong, but appears to be
something in the Intel+Windows driver. Skip the test for now to keep
win-exp-test green otherwise.
Bug: b/417459061
Test: EGLSingleBufferTest.VerifyMutableRenderBufferKHR
Change-Id: I3bc21dfa059b1c0d7c4e8f7ae0452a3819bedbb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6541387
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
bf837e01
|
2025-04-24T00:00:00
|
|
Disable EXT_multi_draw_indirect on unsupported context versions
The EXT_multi_draw_indirect extension requires
OpenGL ES 3.1 and must not be exposed on lower
context versions.
Bug: angleproject:42264951
Change-Id: I7afc4541268f62f58bba33637df74efba47218c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6533713
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e2352b29
|
2025-05-12T10:55:39
|
|
Reformat VVL Error Message
TraceTest.life_is_strange no longer runs into below VVL error:
{"SYNC-HAZARD-READ-AFTER-WRITE",
"type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, "
"imageLayout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",
"usage: SYNC_FRAGMENT_SHADER_SHADER_"},
Remove the VVL error from the skipped message list.
Bug: angleproject:42266180
Change-Id: Iddaea23b3afd8bb6238caa6aaadc49eb8469da51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534653
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
a9115190
|
2025-05-12T12:22:42
|
|
Add a libGLESv2_thin_static without gl entry points.
This static lib has the GL_X and EGL_X functions but not the glX. This
saves some binary size and avoids multiply defined symbols with other
implementations of GL when static linking.
Bug: angleproject:40268378
Change-Id: I2f92388350786a5fcb4b7fa940cf328aacba5d93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6537086
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
481000fd
|
2025-04-30T16:42:39
|
|
WebGPU: Move pipeline creation to the C API.
Bug: angleproject:414831373
Change-Id: I3c4f7d22bce569d9813a580fd1f3d839ff165976
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6503023
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ce454fee
|
2025-04-30T15:24:34
|
|
Add RAII wrappers for WebGPU C API objects.
To ease the transition, add constructors from the cpp wrappers currently
in use. These will be deleted when we have fully moved to the C API.
Update the WebGPU CommandBuffer code to use the new wrappers and C API.
Bug: angleproject:414831373
Change-Id: I428349d84e1f79725eb836da5bb3d384ae296d75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6501618
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
db33baf4
|
2025-05-09T14:13:08
|
|
Reformat VVL Error Message
life_is_strange no longer runs into the SYNC-HAZARD-WRITE-AFTER-READ
VVL error it used to, remove the VVL from the skipped VVL entries.
The trace does run into another VVL error on Linux AMD GPU, update the
comment.
Bug: angleproject:42266180
Change-Id: I6010ca1540e1d8774992173c853b904c0b3bd117
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534138
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
73dabb85
|
2025-04-29T12:39:12
|
|
Add end2end test for AdvancedSyncVertexArray
This is just a port of the upstream test:
KHR-GLES31.core.shader_image_load_store.advanced-sync-vertexArray
Test: ComputeShaderTest.AdvancedSyncVertexArray
Bug: b/416573908
Change-Id: Id04af0a7efa667b7afc8061a9ccaa044e709fe1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496293
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
506f8a95
|
2025-05-08T17:03:30
|
|
Vulkan: Fix incorrect shaderWrite to shaderWrite detection
There is an optimization we added in
https://chromium-review.googlesource.com/c/angle/angle/+/5719258 that
avoids inserting WAW barrier in between two back to back shaderWrite to
the buffer, unless it is app introduced barrier via glMemoryBarrier call
(i.e, it is app's responsibility to issue such WAW barrier instead of
ANGLE). There is a bug in that logic that if there is a vertex read in
between two shaderWrite, we will incorrectly treat it like two
shaderWrites. That caused we skipped WAR before the second shaderWrite.
This CL fix the logic by also looking at read access on the buffer.
Bug: angleproject:350994515
Bug: angleproject:416573908
Change-Id: I5bbbeff4d7222a644d1c994bffda7fd9ea292c17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6526949
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
214b7ce2
|
2025-05-09T11:35:31
|
|
Remove --use-reclient flag from capture_replay_tests.py
The flag isn't used anymore.
Bug: b/401959048
Change-Id: I6bedc9fcb2c5a5ed152b3da4bcbce0ba4785c883
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6528770
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Junji Watanabe <jwata@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a3f6a9c8
|
2025-05-05T10:16:53
|
|
WebGPU: Don't call destroy on null textures
.Destroy requires a valid texture.
Bug: angleproject:414831373
Change-Id: I9d586f38a3f1b910b4c14552d3c9a6b43b4a5e22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512850
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2f1f9568
|
2025-05-08T12:37:57
|
|
Tests: Run respawnables trace on S24 Xclipse native driver
Their "native" driver is actually ANGLE.
Bug: angleproject:42266627
Change-Id: I53795925219f0be42fbfcb059ce45575f5a98034
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6526326
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
d221cf40
|
2025-04-24T00:00:00
|
|
Adjust EXT_base_instance emulation conditions
* EXT_base_instance may be emulated only on the
GL backend. Other backends either support it
directly or do not support at all.
* EXT_base_instance is never exposed to WebGL.
Bug: angleproject:355645824
Change-Id: I1edea83d83b1e6865eee8022c7110b05ea37d989
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6527730
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
60d6c94f
|
2025-04-24T00:00:00
|
|
Metal: Implement draw_elements_base_vertex extensions
Fixed: angleproject:40096829
Change-Id: I288a38fbfa6a39cd9d683302722ebfaf495ba8db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6527729
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b729fb74
|
2025-05-08T11:35:46
|
|
Reformat VVL Error Message
Test Texture2DTest.UploadThenVSThenNewRPThenFS/ES2_Vulkan
no longer runs into the VVL error. Remove the VVL error from
the skipped VVL message list.
Bug: angleproject:42265925
Change-Id: I5d854b8b091847f136c8e57620f8dd8c72d59503
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6525049
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
16b2bf5e
|
2025-05-06T16:23:24
|
|
Vulkan: Only expose ASTC HDR if 3D textures supported
Not all hardware supports ASTC HDR for 3D textures.
This CL adds a check for each ASTC HDR format, querying the driver
for 3D support, and tracking it as a feature. We use that feature
when deciding to expose GL_KHR_texture_compression_astc_hdr.
Test: dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba
Bug: b/407634958, b/416095435
Change-Id: Iaa6f26e247c7e6c7451f3d4eb8dd7175509bf45f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6515816
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
51dd4087
|
2025-04-24T00:00:00
|
|
Autogen support checks for draw_elements_base_vertex commands
Also fixed command support conditions:
* With an exception of MultiDrawElementsBaseVertexEXT,
command and extension suffixes must match. Updated
tests to account for that.
* DrawElementsInstancedBaseVertex{EXT,OES} additionally
require ES 3.0 or any of the instancing extensions.
* DrawRangeElementsBaseVertex{EXT,OES} additionally
require ES 3.0. Updated tests to account for that.
* MultiDrawElementsBaseVertexEXT additionally
requires GL_EXT_multi_draw_arrays.
Bug: angleproject:409484297
Change-Id: I50b72ebc7d66128bcfd5671334094b7e90cb329c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6524686
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
00845fd6
|
2025-05-06T14:13:18
|
|
WebGPU: Do not reuse windows with multiple surfaces
Multiple Dawn backends do not handle re-creating a surface for a native
window. Instead of working around this by caching in the display, rework
our test runner to recreate the OS window and surface instead of just
the surface.
Release all resources in DisplayWgpu::Terminate. Otherwise they wont be
deleted until the display is reinitialized or the test executable
terminates.
Bug: angleproject:342213844
Change-Id: Ic31264a5e646a54c988ef47ca664d8575fda94eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6515886
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8c8f016a
|
2025-04-15T17:30:01
|
|
Remove part of releaseTexImageInternal in glGenerateMipmap
In glGenerateMipmap, actually clearing the ImageDesc and
releasing texImage in releaseTexImageInternal is not needed.
The following implementation currently is skipped because getImageDesc
would return empty ImageInfo. Remove those part and put the part
of disconnecting the pbuffer from the texture after generating the
mipmap. And end2end test is also added to verify the implementation.
Bug: angleproject:410996562
Change-Id: I0d8ccd628b98aa5063df2688e9899319c32fd97d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6461524
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
86ce0f0e
|
2025-04-24T00:00:00
|
|
Add EXT_multi_draw_arrays stubs
Bug: angleproject:414506477
Change-Id: Idc3ca950b88c9632268922ec7a311936916c2a43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6522405
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
317f81db
|
2025-05-01T14:17:47
|
|
Fix EGL_RENDER_BUFFER query if EGL_SINGLE_BUFFER unsupported
eglCreateWindowSurface() can have the EGL attribute EGL_RENDER_BUFFER
specified:
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.
Client APIs may not be able to respect the requested rendering buffer.
To determine the actual buffer that a context will render to by
default, call eglQueryContext with attribute EGL_RENDER_BUFFER (see
section 3.7.4).
To support EGL_SINGLE_BUFFER, Vulkan surfaces must support the
VkPresentModeKHR value VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR:
VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR specifies that the
presentation engine and application have concurrent access to a single
image, which is referred to as a shared presentable image. The
presentation engine is only required to update the current image after
a new presentation request is received. Therefore the application must
make a presentation request whenever an update is required. However,
the presentation engine may update the current image at any point,
meaning this mode may result in visible tearing.
However, this is only available on Vulkan devices that support the
extension VK_KHR_shared_presentable_image.
Add checking in Surface::initialize() to update Surface::mRenderBuffer
to EGL_BACK_BUFFER if the backend implementation does not support
EGL_SINGLE_BUFFER. This includes adding supportsSingleRenderBuffer() to
query the backend if it supports single render buffer mode, which
defaults to False. The Vulkan backend overrides this and the result is
based on support for VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR.
Bug: b/412446258
Test: EGLLockSurface3Test.WindowMsaaSurfaceReadTest/ES2_Vulkan_NoFixture
Test: EGLSingleBufferTest.VerifyMutableRenderBufferKHR/*
Change-Id: I4e6d56f01a895a5bd887580e6ffa34d574c87fad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6506764
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
618bc398
|
2025-04-24T00:00:00
|
|
Add EXT_draw_instanced stubs
Bug: angleproject:416241733
Change-Id: I6dfb0ff1e941fdd33387e06920c97ba4232e8820
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6519383
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
8ea69d84
|
2025-05-07T12:26:48
|
|
metal: Synchronize imported IOSurfaces with command buffer
We want to skip the various Metal waitUntilScheduled calls in Chromium
on single GPU systems and use only shared events for synchronization.
However, this doesn't work correctly today because ANGLE can do CPU
readbacks from the IOSurface without synchronizing with the command
buffer which contains the shared event wait. This is because ANGLE
doesn't know about the dependency between the IOSurface texture and the
shared event wait in the command buffer.
This CL makes BindTexImage mark the IOSurface texture as used so that we
wait for command buffer execution if we do a CPU readback. It reuses the
setWriteDependency mechanism on mtl::CommandBuffer.
Bug: chromium:40273077
Change-Id: I5d480f2c28abbd6d36cf1e1045461c84b3e4a1f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514098
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
35356d95
|
2025-05-06T12:27:32
|
|
Use a depfile rather than exec_script to list inputs for commit_id.py
Bug: chromium:416002047
Change-Id: Ia7ddd4e5e8ff7cc1e88cce6542f62a314c8e6430
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6511928
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
32f3f043
|
2025-04-28T16:15:15
|
|
Return GL_INVALID_ENUM for invalid target of CopyImageSubData
From spec: INVALID_ENUM is generated if either srcTarget or dstTarget
- is not RENDERBUFFER or a valid non-proxy texture target
- is TEXTURE_BUFFER, or
- is one of the cubemap face selectors described in table 3.17,
if the target does not match the type of the object.
Bug: angleproject:412524049
Change-Id: I2110223059db170e8882efc9666654d318b14ed3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6490614
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Auto-Submit: Mavis Deng <mavis.deng@arm.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8b388145
|
2025-04-24T00:00:00
|
|
Autogen support checks for robust client memory entry points
No functional changes.
Bug: angleproject:409484297
Change-Id: I9d27f8444b01b7881336ffcf3f480018efbe90e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6519381
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d8ab156b
|
2025-04-18T10:57:14
|
|
Fix glValidateProgram() not work as spec
According spec ValidateProgram should detect error: Any two
active samplers in the set of active program objects are of
different types, but refer to the same texture image unit.
Bug: angleproject:414259791
Change-Id: I2ab503b745cffdfb8be1a1ad649432fd8a73f63d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6491669
Auto-Submit: Neil Zhang <Neil.Zhang@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2d61c576
|
2025-04-24T00:00:00
|
|
Autogen support checks for PLS entry points
No functional changes.
Bug: angleproject:409484297
Change-Id: I0224ecc29efde87c92c75a8120d0227c95775c1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512841
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b373892b
|
2025-04-26T20:59:07
|
|
Add test using array of array varyings in tessellation shaders
For per-vertex variables in the Tess shader that support
two-dimensional arrays, when calling GetResourceName,
the string-like tt[0][0] should be returned instead of tt[0].
Bug: angleproject:413447006
Change-Id: Iafd316495ca3c254f9424d84cab71c8385b11e03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6490616
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Robic Sun <Robic.Sun@arm.com>
|
|
5c441a53
|
2025-05-06T13:00:32
|
|
Vulkan: Prefer MSRTSS for QCOM devices
The feature flag `preferMSRTSSFlagByDefault` was originally added
to avoid allocating extra memory if the images are created with the
MSRTSS flag by default. If it is disabled, the image will be recreated
with the said flag only if it bound to an MSRTT framebuffer.
* preferMSRTSSFlagByDefault is now enabled for QCOM driver versions
beyond 0777.0.
Bug: b/329911999
Change-Id: Iea72f864eac5ecfa97b5c99de5bd66ef09c54c0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6516037
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fcfc9760
|
2025-05-06T11:26:40
|
|
Reformat VVL error message
The test
VulkanPerformanceCounterTest_ES31.TextureSampleByDrawDispatchDraw
no longer runs into the VVL error it used to have. Remove the VVL error
from the skipped VVL error list.
Bug: angleproject:42265504
Change-Id: I8eff929524b3e1bd015d96db2cc45b2c8f331170
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514411
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
3cc099da
|
2025-03-20T16:47:46
|
|
Add tests for texelFetch with samplerExternalOES
Add two tests to texelFetch in the vertex shader and fragment shader for
YUV with samplerExternalOES. The fetch results are expected to be RGB
value.
Bug: angleproject:405149439
Change-Id: I0a5809b910ac61c678ab240aea8d303e0c9646e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382116
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7447e8ac
|
2025-05-06T10:33:47
|
|
Vulkan: Driver workarounds on Qualcomm
Dynamic rendering is disabled on 512.800 due to crashes on some devices.
Imageless framebuffers are disabled on 512.805, suspecting cause of
crash on some other devices.
Bug: chromium:415738891
Bug: chromium:415968761
Change-Id: I71f533c7954b628ce897ed1dac478aed119658e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512663
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1c7fa5f8
|
2025-04-24T00:00:00
|
|
Add missing support checks to robust client memory entry points
Ensured that implemented RobustANGLE entry points have
the same command support checks as their base variants.
* ReadnPixelsRobustANGLE requires OpenGL ES 3.2,
or any of the robustness extensions.
* GetQueryivRobustANGLE requires OpenGL ES 3.0
or any of the query extensions.
* GetQueryObjectuivRobustANGLE requires OpenGL ES 3.0
or any of the query extensions.
* GetInteger64vRobustANGLE requires OpenGL ES 3.0
or GL_EXT_disjoint_timer_query.
* GetBufferParameteri64vRobustANGLE requires OpenGL ES 3.0.
* TexImage3DRobustANGLE requires OpenGL ES 3.0
or GL_OES_texture_3D.
* TexSubImage3DRobustANGLE requires OpenGL ES 3.0
or GL_OES_texture_3D.
Bug: angleproject:410108264
Change-Id: I7bd4b07331a4eaee2b80232a7e54bd7370cee045
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6508731
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9812b972
|
2025-03-05T16:25:45
|
|
PLS: Validate rendering feedback loops of PLS planes
Validate that active textures are not bound as PLS planes in WebGL
compatibility mode using the same validation as for regular framebuffer
attachments.
Update the PLS spec to not generate an error for feedback loops but
update the definition of feedback loops to include PLS planes. The WebGL
spec is dependent on this definition and makes this feedback loop an
error.
Bug: angleproject:40096838
Change-Id: I597efef3685da7bfb2a9d149a9ec3bc9d01e6e4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6330519
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Chris Dalton <chris@rive.app>
|