|
c1ae67dc
|
2025-08-18T17:26:21
|
|
cl/vk: Introduce Int64 Atomic support
Checks for VK_KHR_shader_atomic_int64 and
enables/reports the following if supported:
cl_khr_int64_base_atomics
cl_khr_int64_extended_atomics
Bug: angleproject:447192709
Change-Id: I47102efd3e269d518558993f6068bfc4f9dd79b6
Signed-off-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981099
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ea35293a
|
2025-04-14T15:52:02
|
|
CL/Vulkan: Dump commandstream on request
Dump the command stream to stdout when feature flag
`debug_cl_dump_command_stream` is enabled.
Bug: angleproject:446112158
Change-Id: I58ea7eec4c842aee382568c7f41c99a242d29680
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6975004
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
b276d1f8
|
2025-10-03T08:56:54
|
|
Vulkan: Add supportShaderPixelLocalStorageAngle feature
Don't expose GL_ANGLE_shader_pixel_local_storage extension for Samsung
Bug: angleproject:386749841
Change-Id: Ia22a6e8d8625db2abc7e7e9816ac34b7a7dec92c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7006000
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
c4e942d6
|
2025-09-25T02:47:45
|
|
Tidy up some README.chromium files in Angle.
Backfills the Update Mechanism field for dependencies
and cleans up some of the other fields which are out of
date.
Bug: chromium:379934539
Change-Id: I9a952e905ce00c379c4d593dd67b7e0fc6f1794e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981101
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6218bbd4
|
2025-09-26T12:20:39
|
|
Vulkan: Make min submit command count dynamic
* Turned the constant submit count threshold to a variable that can
be set for different devices independently.
* Added feature flag to enable forcing submission for certain GL
commands, such as Clear and Invalidate.
* If disabled, it would treat all commands the same and submit at
the count threshold without exception.
Bug: b/422507974
Change-Id: Ib13d36adfdcf75aa865dafadc279287f4a4bd1c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6990531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a59f1e3d
|
2025-09-23T23:56:39
|
|
Update the bug link in the UpdateMechanism for Stackwalker.
Bad copypaste from the original bug for this which ommitted the
.com value, creating an invalid link.
Bug: b/446257992
Change-Id: If50392f9098a4f3c9fcaaf6447b639c738ee9527
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6976600
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Rachael Newitt <renewitt@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
50927761
|
2025-09-19T14:45:24
|
|
Vulkan: Add externallySynchronizePipelineCacheAccess feature
Acquire renderer's pipeline cache mutex IFF
externallySynchronizePipelineCacheAccess feature is enabled
Bug: angleproject:386749841
Bug: angleproject:445240187
Change-Id: I91804e2713944768a5379adc3113ce7632a17111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6969910
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
02b53738
|
2025-09-08T08:55:23
|
|
Trace/Replay: Fix context grouping issues
In tracing Harry Potter Magic Awakened, issues related to context
grouping were found affecting shader and program state. While these
objects are shared among all contexts, their state is not. This led to
race conditions in object lifetimes as well as incorrect states for
operations dependent on stader/program state.
Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened
Bug: b/445208963
Change-Id: I8dbb22f72c917103f947cd34d088c4db0cd39731
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6950247
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9fdc7a13
|
2025-09-19T03:50:13
|
|
Adds a freshness exemption for StalkWalker.
Bug: chromium:422917292
Change-Id: Ie36fc10ac94b0f5e9c657f649cc96ed26b04de12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6968094
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7217890d
|
2025-06-17T11:51:08
|
|
CL/VK: Add SerializedExecution feature knob
Feature allows for each enqueue-able CL command
to submit and wait for fence (debugging aid).
Bug: angleproject:444491489
Change-Id: I16b7e74f2a321680a81ab3c8a18dd9534a64ce1a
Signed-off-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6941617
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c292f292
|
2025-09-10T14:34:14
|
|
Vulkan: Remove compressVertexData feature
This feature was added for performance reason. It was used years ago to
improve performance of lego legacy. That entire game dashboard feature
was disabled a few years ago. So this code path is no longer been used
now, and not been tested on bots as well. This CL deletes this feature
and related code path so that we don't just leave it bit rotten.
Bug: b/167404532
Bug: b/439073246
Change-Id: I384fc97021592da57d38e8c1771892071ae68a89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6935271
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5c1ba222
|
2025-08-22T14:59:58
|
|
Vulkan: Add feature flag preferBGR565ToRGB565
* This flag will let certain platforms to prefer using BGR565 instead
of using RGB565 for better performance in a follow-up change.
Bug: b/409867243
Change-Id: If89eea1e801ca9d1c10021213862e967231a7343
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876528
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
acb59de1
|
2024-10-26T13:13:34
|
|
Vulkan: Add VK_KHR_buffer_device_address feature
Add to check VK_KHR_buffer_device_address is supported to query a
64-bit buffer device address value for a buffer, which can be used to
access the buffer memory via the PhysicalStorageBuffer
Bug: angleproject:442950569
Change-Id: Ic86f448c1cb5cef40757406d0ce6259838f77fdb
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916339
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fee5826f
|
2025-09-05T11:23:23
|
|
Vulkan: Enable VK_KHR_unified_image_layouts
Functionality of the extension is not used by this change.
Bug: angleproject:422982681
Change-Id: I68c8b93e69eb47b1d4287edad105514edd36dfcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6918517
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
3d8dff0a
|
2025-08-26T20:23:21
|
|
Suppress unsafe buffers on a file-by-file basis in util/
Bug: b/436880895
Change-Id: I299247e38853bb16afd466e3f6521342c0a2b0f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6891980
Auto-Submit: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7d6aa630
|
2025-08-13T15:50:24
|
|
Reland: Rename enums to fix GCC -Wchanges-meaning error
This is a reland of commit dc24ecca9ed920c0269e9d62dfcac4b3f3e5a4d4
Original change's description:
> Renamed enums Key and MouseButton to enum class KeyType and
> MouseButtonType to avoid name conflicts with union members in
> Event.h on GCC, and to follow the ANGLE style guide preference
> for scoped enums.
>
> BUG: angleproject:438226513
> Change-Id: I8892b438b3b05a3ce4e14f8c0769b81722688da8
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845484
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
BUG: angleproject:438226513
Change-Id: Ifc1a7bad661881a1a71bd5380fe431270bc68686
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6874206
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8ef76b6a
|
2025-08-04T12:34:17
|
|
CL/Vulkan: cl_khr_external_memory extension (pt.2)
- Make this extension visible if Vulkan implementation support
features supportsExternalMemoryFd and/or
supportsExternalMemoryDmaBuf
- Implemented APIs clEnqueueAcquireExternalMemObjectsKHR and
clEnqueueReleaseExternalMemObjectsKHR
- Updated clCreateBufferWithProperties to handle external memory
file descriptor.
Bug: angleproject:378017028
Change-Id: I1751982c8e9b2cd07b7e251cc54db5dcd1bcda20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6843980
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f83d739
|
2025-08-01T16:59:11
|
|
Expose VK_EXT_global_priority and VK_EXT_global_priority_query
To implement EGL_NV_context_priority_realtime,
VK_EXT_global_priority and VK_EXT_global_priority_query
should be exposed. With these extensions,
we can query supported global priority and set
global priority for the Vulkan queue.
Bug: angleproject:397474813
Change-Id: I83f9f19d46f3c81b02246aae2892f7a9c1a09d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6857671
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ccbc9e9b
|
2025-08-20T05:28:12
|
|
Revert "Rename enums to fix GCC -Wchanges-meaning error"
This reverts commit dc24ecca9ed920c0269e9d62dfcac4b3f3e5a4d4.
Reason for revert: breaks ios-simulator build when rolled to Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/6863632
https://ci.chromium.org/ui/p/chromium/builders/try/ios-simulator/2446924/overview
[10968/78005] OBJCXX obj/third_party/angle/util/angle_util_static/IOSWindow.o
sdk/xcode_links/iPhoneSimulator18.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSDictionary.h:17:38: error: reference to 'KeyType' is ambiguous
17 | - (nullable ObjectType)objectForKey:(KeyType)aKey;
BUG: angleproject:438226513
Original change's description:
> Rename enums to fix GCC -Wchanges-meaning error
>
> Renamed enums Key and MouseButton to enum class KeyType and
> MouseButtonType to avoid name conflicts with union members in
> Event.h on GCC, and to follow the ANGLE style guide preference
> for scoped enums.
>
> BUG: angleproject:438226513
> Change-Id: I8892b438b3b05a3ce4e14f8c0769b81722688da8
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845484
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:438226513
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Iff0d925b9fa608215cff0e472074a0315f14e861
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6863019
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
dc24ecca
|
2025-08-13T15:50:24
|
|
Rename enums to fix GCC -Wchanges-meaning error
Renamed enums Key and MouseButton to enum class KeyType and
MouseButtonType to avoid name conflicts with union members in
Event.h on GCC, and to follow the ANGLE style guide preference
for scoped enums.
BUG: angleproject:438226513
Change-Id: I8892b438b3b05a3ce4e14f8c0769b81722688da8
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845484
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
df13b2bd
|
2025-08-13T16:04:28
|
|
Include cstring for strstr declaration in util_gl.h
Fixes GCC build error where strstr was not declared due to missing
<cstring> include. Added <cstring> to util_gl.h and updated call to
use std::strstr.
BUG: angleproject:438226513
Change-Id: Ia780db7806059301186bbce206886ff34bdafdbf
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845485
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
25f5e2cf
|
2025-08-13T17:03:19
|
|
Vulkan: Add support for built-in gl_PrimitiveShadingRateEXT
Add support for built-in gl_PrimitiveShadingRateEXT and relative const
value.
Bug: angleproject:397255625
Change-Id: I25d51f5805697e137b232175ee790808c45850b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845515
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9034e29b
|
2025-08-14T13:25:39
|
|
Vulkan: add a feature flag controlling float uniforms 16-bit transform
Add a feature flag that will guard whether we want to transform
mediump / lowp float uniforms from 32-bit to 16-bit in SpirV.
The feature flag is enabled when VK_KHR_16bit_storage extension is
supported, and uniformAndStorageBuffer16BitAccess vulkan feature is
supported.
The feature flag is initialized to false in this change. It will be
turned on in a later change when it is being used.
Bug: angleproject:405795981
Change-Id: I37c77270fbd391cc97f58890065b66faf77766c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6852395
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
7ad67712
|
2025-08-13T16:33:03
|
|
CL/Vulkan: Enable cl_khr_integer_dot_product extension
- Enabled extension string and corresponding opencl_c features
- Updated packed_cl_enums.json with three new enums
- Enabled support for this extension in function clGetDeviceInfo
- Add support for CL_DEVICE_OPENCL_C_FEATURES API query through
clGetDeviceInfo corresponding integer_dot_product extension
- Updated vk_features.json with new ANGLE Feature
supports_shader_integer_dot_product
- The changes in autogen files are generated by running the
run_code_generation.py script
Tests-Passing:
ocl_cts: test_integer_ops integer_dot_product
ocl_cts: test_compiler features_macro
VK-GL-CTS:dEQP-VK.spirv_assembly.instruction.compute.opsdotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsdotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotaccsatkhr.*
Bug: angleproject:433980939
Change-Id: Iae7a7753d0556beeb85c254c61a37a0d047df058
Signed-off-by: Hareesh Karada <hareesh.k@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785089
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
91fa29be
|
2025-08-04T11:08:20
|
|
Add a feature to force contexts into debug mode
Bug: angleproject:423956139
Change-Id: Ie166b40eb9c241140daf4a35df3391829c64f84e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6817467
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cd969c3e
|
2025-07-28T16:27:12
|
|
Vulkan: Disable clipCullDistance ext if GS/TS
The extension GL_EXT_clip_cull_distance also interacts with geometry
and tessellation shaders. These features are currently in development.
* Added temporary flag: supportsClipCullDistanceInGSAndTS
* Currently disabled by default
* clipCullDistanceEXT can only be enabled if this feature is enabled,
or if the device does not support geometry or tessellation shaders.
* After the features become available, this flag can be removed.
Bug: angleproject:42264006
Bug: b/415288635
Change-Id: Iac5c672fd980710519407c482bc95d2b0019aea2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6795025
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a6699c9f
|
2025-07-23T13:33:48
|
|
Android: Stop polling messages when app destroy requested
The Chromium Android testing app enters an infinite loop to poll for
messages to run the tests. However, this prevents the app from
gracefully shutting down when the DESTROY event is received, because
android_main() never returns, so the NDK function android_app_free()
never sees android_app->destroyed become true. This prevents using
Android instrumented tests in CTS, because the instrumentation never
sees the ANGLE app complete the handling of the DESTROY event and
exit cleanly.
To fix this, check sApp->destroyRequested after each event and break
from the infinite loop if the app is being destroyed.
Bug: b/279980674
Change-Id: I63edaa6d64e57cd99b6b63a9631c30a65c416220
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6781760
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
13f6df49
|
2025-07-17T20:40:19
|
|
Fix the format of the "License" field in README.chromium files.
Add missing license for util/android/thrid_party based on license at the
source url.
Bug: chromium:421988485
Bug: chromium:421989135
Bug: chromium:421988956
Bug: chromium:421988537
Bug: chromium:421988894
Bug: chromium:421989250
Bug: chromium:421988522
Bug: chromium:421988185
Bug: chromium:421989147
Bug: chromium:421988875
Bug: chromium:421988779
Bug: chromium:421988799
Bug: chromium:421988324
Bug: chromium:421988930
Bug: chromium:421988996
Change-Id: I4008229b3031734dd2dc991026cdebe0894c352c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6768429
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Jordan Brown <rop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7181239d
|
2025-04-04T14:13:58
|
|
Add long ANGLE traces feature
Enables very long Android captures by swapping binary
data chunked buffers to/from disk.
Bug: b/425728227
Change-Id: I539f72590eece03cfc69d42fc34be9825a9ff1fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6476924
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
b7582680
|
2025-02-24T18:04:32
|
|
Reland: GL: Allow untranslated shaders to pass through on GLES
Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
uses the NULL translator and passes the original shader to the driver.
The parser is still used for shader reflection.
Always enable the null compiler backend. It has almost no binary size
cost and is now potentially used when the null ANGLE backend is not
enabled.
Bug: angleproject:398857482
Change-Id: Id528189ccbbacb1c444eacb151baadfda9fcc04b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6488609
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7b36840b
|
2025-07-17T18:12:53
|
|
Fix missing includes
This is to fix some errors in
https://ci.chromium.org/ui/p/chromium/builders/ci/linux-modules-compile-fyi-rel/42032/overview
Bug: chromium:40263312
Change-Id: I278fd42062a52cbfe7e778f98d3e72cdd490847f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6765303
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03356f06
|
2025-07-10T19:21:04
|
|
Vulkan: Skip VK_KHR_maintenance9 warning
A warning has been added about behavior that will
change if VK_KHR_maintenance9 is enabled.
Since we can't make this change until drivers support
the feature, let's add warning that will fire when we
do decide to turn it on.
This CL:
- Adds a feature for maintenance9
- Adds a VVL skip if isn't enabled
- Updates our skip code to check for message IDs
Test: Traces
Bug: angleproject:429339330
Change-Id: I5763cbc5f343ef165ff8810b9b60b8c809075b8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6724905
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
74321385
|
2025-07-03T14:36:54
|
|
Add a missing include for std::pair
Bug: chromium:40263312
Change-Id: Id2609c9cae7dedec537cb0d0db130d608166c148
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6701872
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4e0537ce
|
2025-06-13T11:23:58
|
|
EGLWindow: Query the Context version after creation
Move GetCurrentContextVersion() from
src/tests/egl_tests/EGLBackwardsCompatibleContextTest.cpp to
util/util_gl.h, so it can be used by both the test and EGLWindow.
Without EGL_ANGLE_create_context_backwards_compatible and specifying
EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE = EGL_FALSE, ANGLE will
create a context with the maximum conformant version the display
supports. If the extension is not supported, we need to query the actual
context version, so each test can behave accordingly.
EGL 1.5 Spec
3.7.1.1 OpenGL and OpenGL ES Context Versions
The context returned must be the specified version, or a later version
which is backwards compatible with that version.
It is expected that EGL_ANGLE_create_context_backwards_compatible is
*not* supported when testing the system EGL. This change also adds a log
message when the requested context version does not match the actual
version.
Bug: b/279980674
Change-Id: I58c0779db72c2afcc39c7d88a9a559b37698c994
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6653853
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
e738f5bc
|
2025-06-30T16:54:25
|
|
EGLWindow: Fix eglGetError in initializeSurface()
From the EGL 1.5 spec:
# Chapter 3 EGL Functions and Errors
## 3.1 Errors
Additional information about the success or failure of the most recent
EGL function called in a specific thread[1], in the form of an error
code, can be obtained by calling
EGLint eglGetError(void);
[1] Note that calling eglGetError twice without any other intervening
EGL calls will always return EGL_SUCCESS on the second call, since
eglGetError is itself an EGL function, and the second call is
reporting the success or failure of the first call. In other words,
error checking must always be performed immediately after an EGL
function fails.
EGLWindow::initializeSurface() is checking the status of
eglCreateWindowSurface() with eglGetError() and then calling
eglGetError() again in the error log message. This results in the error
message always containing 0x3000 (EGL_SUCCESS), as the spec states.
Fix this by capturing the value of eglGetError() and then using the
captured value in both the conditional and the log statement.
Bug: b/279980674
Change-Id: I6310996b83960752a9b0d5e0bf40f5aab23174c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6692271
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
16e0dfd9
|
2025-03-20T10:59:26
|
|
Vulkan: Add feature flag to recycle VkEvent
This CL adds a feature flag to enable/disable the VkEvent recycling.
Given ARM prefers taking CPU overhead of creating and destroying VkEvent
when last reference count to VkEvent goes away instead of the extra GPU
overhead comes with vkCmdResetEvents, VkEvent recycling is disabled on
ARM.
Bug: angleproject:409441956
Change-Id: I288be6f7cfcbc4dd9c4701d20fba44349f25befc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6376784
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a3b20796
|
2025-04-25T13:12:08
|
|
Vulkan: Add flag to prefer renderer pipeline cache
* Added the following feature: preferGlobalPipelineCache
* The renderer's pipeline cache will be used to create pipelines,
including for warm-up.
* mPipelineCache in the program is not saved when this flag is
enabled.
* Currently enabled for NVIDIA and AMD.
* Impact on captured trace (w/ compiling inactive shaders)
* Decrease in peak system memory usage on Windows/NVIDIA:
* ~7600 MB -> ~3900 MB
* Decrease in peak RES memory usage on Linux/NVIDIA:
* ~7100 MB -> ~3600 MB
Bug: b/411442610
Change-Id: I04929569f0f8d59a77c52505072faa0244ef1393
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6495155
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c52183bd
|
2025-04-11T11:17:10
|
|
Reset sample coverage after fbo change on Adreno
Adreno drivers cache some internal value based number of samples in
currently bound FBO and glSampleCoverage value, but doesn't update it on
FBO change.
So if we set sample coverage to 1 when FBO with 1 samples bound and then
switch to FBO with 4 samples it behaves like coverage is 0.25 instead of
1.
To avoid this, reset sample coverage after each FBO change.
Bug: chromium:408364831
Change-Id: I7d5e36926e8568f4c652049b43ecdbe382ddc293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6447878
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
|
|
ae70513d
|
2025-04-18T00:00:00
|
|
Remove NamedBufferStorageExternalEXT entry point
OpenGL ES does not support DSA.
Bug: angleproject:407932145
Change-Id: If5f544de2b43e05888415a4fc805ad6065d4408b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6495409
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cdb34025
|
2025-04-25T12:09:14
|
|
Move robust APIs for PLS into robust_client_memory sections.
These two entry points are at the intersection of
GL_ANGLE_shader_pixel_local_storage and GL_ANGLE_robust_client_memory.
Move them into the robust_client_memory section to simplify
autogenerated validation.
Rerun code generation.
Fixed: angleproject:413597061
Change-Id: Icac160dbc7ab4088ee90471af60bb2e5ab3e1b87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6492427
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d392eeae
|
2025-04-22T10:54:13
|
|
Vulkan: Force host-image-copy for LUMA textures on ARM
Bug: angleproject:42266771
Change-Id: I79a8fe14ba389195d5846261752be847bc13bcf4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6479371
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f355e2b3
|
2025-04-15T18:58:25
|
|
Vulkan: Remove preferDriverUniformOverSpecConst
This was practically true for every vendor on Android (where rotation
matters). For Qualcomm, it was also true due to a bug in version
checking and didn't seem to be causing any concerns. Where pre-rotation
is supported, it is better to enable this feature to avoid excessive
pipeline creation.
This change removes the feature and makes sure ANGLE always uses
uniforms for rotation instead of spec consts. While technically this
may have an adverse effect on platforms that never need pre-rotation,
the ability is retained for all vendors since pre-rotation is finding
its way into more platforms and would likely eventually be needed
everywhere anyway.
Bug: angleproject:42265878
Bug: angleproject:42262166
Change-Id: I4b64c04da46db08cfdd44b60789b66d93d8e8b17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6459025
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5dd05578
|
2025-04-14T07:34:57
|
|
Revert "GL: Allow untranslated shaders to pass through on GLES"
This reverts commit 4e77552b86a89b449ada6d6c18f84285f5812b1d.
Reason for revert: breaks ChromeOS and fuzzers
Bug: angleproject:398857482
Original change's description:
> GL: Allow untranslated shaders to pass through on GLES
>
> Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
> uses the NULL translator and passes the original shader to the driver.
> The parser is still used for shader reflection.
>
> Bug: angleproject:398857482
> Change-Id: I7c5fcc318c7e11931f78c08dcbf4764bf77d397d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297527
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:398857482, angleproject:410423936
Bug: chromium:410114655, chromium:410100607, chromium:410121218
Bug: chromium:410052365, chromium:410290507, chromium:410178288
No-Presubmit: true
Change-Id: I45b01960637a1cda05d21a7df6d07465f6a8f5e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6448984
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4e77552b
|
2025-02-24T18:04:32
|
|
GL: Allow untranslated shaders to pass through on GLES
Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
uses the NULL translator and passes the original shader to the driver.
The parser is still used for shader reflection.
Bug: angleproject:398857482
Change-Id: I7c5fcc318c7e11931f78c08dcbf4764bf77d397d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297527
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f798b0d2
|
2025-04-04T08:17:57
|
|
Vulkan: Remove enablePreRotateSurfaces feature
Removed to simplify the code and to avoid the problem for which
`presentSubOptimalReturnedOnTransformChange` feature was added.
Platforms without the per-rotation support always have
`VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR` as the `currentTransform`, so
the code will perform the same as when the feature was disabled.
Add `warmUpPreRotatePipelineVariations` to explicitly control
per-rotation pipeline warm up.
Bug: angleproject:42262166
Change-Id: I44f6c221c11105f01f62f62622987b1955bc58aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433586
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
b77f8af7
|
2025-04-02T19:01:48
|
|
Vulkan: Ignore SUBOPTIMAL on Android without pre-rotate
Android returns `VK_SUBOPTIMAL_KHR` when window orientation changes,
while ignores size changes. When "enablePreRotateSurfaces" is disabled,
each present will return `VK_SUBOPTIMAL_KHR` if `currentTransform` is
not `VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR`, causing swapchain recreate
on each swap. This behavior makes disabling "enablePreRotateSurfaces" on
Android worse than suboptimal.
New "presentSubOptimalReturnedOnTransformChange" feature is currently
enabled only on Android for the reason described above. It may be
enabled for other platforms in the future if required.
Change also improves error handling, by moving `deferAcquireNextImage()`
call right after the `queuePresent()`, before any other call that may
fail. This will avoid repeated present of the same image if something
fails after successful `queuePresent()` call.
The `checkForOutOfDateSwapchain()` and `computePresentOutOfDate()` was
combined into a single method to improve error handling and to simplify
the code.
Bug: angleproject:397848903
Bug: angleproject:42266082
Bug: angleproject:42262166
Change-Id: I7ba2389ad2ddafc0c77c3068cd85ac9b9251ccdd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6424753
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
eb52b568
|
2025-03-28T00:00:00
|
|
Remove unsupported 1D and DSA entry points
OpenGL ES does not support 1D textures,
removed TexStorage1DEXT.
OpenGL ES does not support DSA, removed
EGLImageTargetTextureStorageEXT.
Added an explicit command blocklist.
Added hashes for *_vulkan_secondaries_* def files.
Fixed: angleproject:407932145
Change-Id: Iec34fa475f34a0fa832a49223c51ff1f87b1915d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6426049
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
bbf92d12
|
2025-03-21T12:43:14
|
|
Vulkan: Add workaround flag for extra submit fence
This change is a workaround for some devices exhibiting a
device-lost error related to the fence usage in the command
batches when working with EGL sync objects, such as a cycle
similar to below:
- <Some GL work>
- eglCreateSyncKHR()
- glFlush()
- eglDupNativeFenceFDANDROID()
- eglDestroySyncKHR()
- <More GL work>
(The exact point of error and the reason for the device-lost
remain unknown.)
This change is meant to mitigate such errors on those devices if
needed. However, for the rest, the feature will remain disabled.
* Added a new feature flag: enableExtraSubmitFence
* Modified the usage of mFence in CommandBatch
* It is also used when enableExtraSubmitFence is enabled, even if
there is an external fence.
* When there is an external fence, this object is used to create
an empty submission after the primary commands are submitted
using the external fence.
* Added the config to enable EnableExtraSubmitFence for the following
suite: EGLSyncTest
Bug: b/384477641
Change-Id: I05f8bdcc804967c4984416af802326d22afd7a46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6378778
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8cf89716
|
2025-03-14T20:17:07
|
|
Vulkan: Remove perFrameWindowSizeQuery feature
Feature was enabled for all platforms in order for surface to be resized
before acquire next image (not only after swap). Remove it, as if it's
always enabled to simplify the code.
Bug: angleproject:397848903
Bug: angleproject:42262287
Bug: angleproject:42262286
Bug: angleproject:40096601
Change-Id: I768772e30f5f38f68992e5b82c84430732aa77d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354166
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
081934f6
|
2025-03-12T15:22:31
|
|
Vulkan: Add avoidInvisibleWindowSwapchainRecreate feature
There is a bug on some NVIDIA drivers on Linux X11 when
`vkAcquireNextImageKHR()` constantly returns `VK_ERROR_OUT_OF_DATE_KHR`
if recreate the swapchain while window is not visible.
If not recreate the swapchain after window resize - nothing happens,
acquire and present works without errors. But if recreate the swpahchain
to the `VkSurfaceCapabilitiesKHR::currentExtent` the next
`vkAcquireNextImageKHR()` will return `VK_ERROR_OUT_OF_DATE_KHR`. ANGLE
will retry to recreate the swapchain one more time and fail the call.
Enabling the "avoidInvisibleWindowSwapchainRecreate" feature will avoid
swapchain recreation when window size changes while it is not visible.
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.ResizeInvisibleWindow/*
Bug: angleproject:397848903
Bug: angleproject:42264022
Bug: angleproject:42263074
Change-Id: I48588bf467d15c0e84b923092e06a42c22084dcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6348739
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
e339f91c
|
2025-03-21T10:22:59
|
|
Vulkan: Split asyncCommandBufferResetAndGarbageCleanup into two
Right now this one feature flag controls garbage clean up and command
buffer reset. If this is enabled, we are seeing command buffer reset
some times runs on small core and some times gets blocked by mutex lock
inside vulkan driver. This could take quite long while main rendering
thread is blocked by ANGLE's CommandPoolAccess lock. This CL splits this
feature flag into two separate feature flag: asyncGarbageCleanup
controls garbage clean up in the async thread or not.
asyncCommandBufferReset controls commandBuffer.reset in the async thread
or not.
This CL also disables commandBuffer.reset in async thread only on ARM
given there is no data shows other GPUs suffer form the same problem.
Bug: angleproject:378718508
Change-Id: Ice87b5b91568a0a95e0064da2b70243516ff6753
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6381893
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d3c9719b
|
2025-03-24T19:48:17
|
|
[fuchsia] Simplify connecting to service
Use helper function that automatically opens the service root and
connects to the named service inside. This avoids the need to keep a
handle around. This is being done as part of the io2 migration, where
opening the /svc directory requires PERM_READABLE in most cases.
Bug: fuchsia:324111518
Bug: fuchsia:376575307
Change-Id: I3731719f46b7b7cb028e03b936cdf9716f3a8f81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388875
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
ac242c1a
|
2025-03-20T11:18:45
|
|
Vulkan: Fix the feature flag typo
Bug: b/333987915
Change-Id: Iea21592532352d95c69c0cf8dfcad96b58563ec5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6377544
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
6bd7a518
|
2025-03-19T13:35:48
|
|
Vulkan: Allow pipelineStatisticsQuery substitute PGO
Some devices are missing VK_EXT_primitives_generated_query
extension and primitivesGeneratedQuery (PGO) feature, which are
required for GLES3.2 extensions geometryShaderEXT and
tessellationShaderEXT. On such devices, when app requests to create
a GLES 3.2 context, the eglCreateContext call will fail due to not
able to support GLES 3.2.
We add a new feature flag
allowPipelineStaticsForPrimitivesGeneratedQuery,
and enable it on devices where we can fallback to using
pipelineStatisticsQuery (PSQ) as an approximation for
VK_EXT_primitives_generated_query, to broaden support for GLES 3.2
contexts. This is an opt-in feature for vendors that can functionally
substitute PGQ with PSQ.
Expose geometryShaderEXT and tessellationShaderEXT
extensions if allowPipelineStaticsForPrimitivesGeneratedQuery feature
is enabled.
Bug: b/333987915
Change-Id: I9f0affbc3cc383ed6c50bcfc5d4d6f7f8a708aaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6362627
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
578ee168
|
2025-03-12T13:50:53
|
|
Do not wait for ConfigureNotify event when window is invisible
XUnmapWindow does not produce ConfigureNotify event (only UnmapNotify
and FocusOut), waiting on this event causes soft lock.
Bug: angleproject:40096853
Change-Id: I00e327b15ee09b7dd6c6d3a3f74f589b9b1bc315
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6347282
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
e6a27504
|
2025-03-07T20:14:50
|
|
Vulkan: Swapchain recreate workaround for shared present mode
On Android, `vkCreateSwapchainKHR` may return
`VK_ERROR_NATIVE_WINDOW_IN_USE_KHR` if use `mLastSwapchain` as an
`oldSwapchain` when in shared present mode. This happens on three
different devices: SM-G996B (Mali-G78), SM-S921B (Xclipse 940), SM-S921U
(Adreno 940).
Bug: angleproject:397848903
Bug: angleproject:42262606
Change-Id: I1541c06c254f3e8231b165fb0c53eff5d810e8bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6329488
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b343e8f
|
2025-03-11T11:35:08
|
|
Vulkan: Remove support for Stadia
Bug: angleproject:42262714
Change-Id: Icae5fe828fe4e0bcd287d297df1bc586708ef86e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6344390
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e0216987
|
2025-03-04T16:44:31
|
|
Preserve window format when resizing on Android
On some devices acquiring next swapchain image after window format
change (without resize) does not return VK_ERROR_OUT_OF_DATE_KHR.
Further rendering into the acquired image and/or presenting that image
may produce undefined results. Try to preserve current window format to
avoid such problem. Note, window format is automatically set after
swapchain create based on the create info imageFormat.
Bug: angleproject:397848903
Bug: angleproject:42260362
Change-Id: Ibada10befd2938f1bcf018c399ce8cc015541e60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6322789
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
412bd05c
|
2025-03-06T19:26:11
|
|
Implement workaround for MAX_COMBINED_SHADER_OUTPUT_RESOURCES.
Implement a GL Feature to force MAX_COMBINED_SHADER_OUTPUT_RESOURCES to
be the sum of MAX_COMBINED_SHADER_STORAGE_BLOCKS,
MAX_COMBINED_IMAGE_UNIFORMS, and MAX_COLOR_ATTACHMENTS.
Enable the feature for NV and PowerVR Rogue.
Bug: angleproject:401232345
Change-Id: I03a113eed364617303f4ee59d90c853258865259
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6330671
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
ae567733
|
2025-02-26T19:09:14
|
|
Vulkan: Make use of VK_EXT_device_fault if exists
This Vulkan extension, if available, can provide further details
about the device in case of VK_ERROR_DEVICE_LOST.
* Added the following ANGLE feature: supportsDeviceFault
* It shows whether the extension VK_EXT_device_fault is supported
and that the deviceFault bit is enabled on the physical device.
* Added the Vulkan entry point for the following function:
* vkGetDeviceFaultInfoEXT
* Added the following to the renderer:
* mFaultFeatures (device feature)
* retrieveDeviceLostDetails(); to log information regarding the
following if the appropriate support is available:
* Address faults
* Vendor-specific faults
* Vendor binary dump (logged in hex format)
* Added RetrieveDeviceLostInfoFromDevice() to vk_renderer.cpp
to be used in Renderer::retrieveDeviceLostDetails().
* Updated ContextVk::handleError() to try to retrieve more info in
case of DEVICE_LOST.
Bug: b/399478440
Change-Id: If8d8e04001dabbe775c023f9922c44ef2205317e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6305888
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd8bc105
|
2025-02-19T18:08:32
|
|
vulkan: disable pipeline cache data serialization for nvidia device.
we still see the big cache data issue after driver version 520.
rename hasEffectivePipelineCacheSerialization to
skipPipelineCacheSerialization.
Bug: b/358380399
Change-Id: Idd8354f95c3eb4c2e58678a4cf50c8b6af20f371
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6284126
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
65343c4c
|
2025-02-27T11:23:04
|
|
Vulkan: Improve ConvertImageLayoutToVkImageLayout()
This CL removes supportsMixedReadWriteDepthStencilLayouts feature flag.
This feature flag was introduced when ANGLE only requires vulkan 1.0.
But now we require vulkan 1.1 and this is part of vulkan 1.1 core spec.
So it is no longer needed and wasting CPU cycles to check this every
time ConvertImageLayoutToVkImageLayout() is called.
With supportsMixedReadWriteDepthStencilLayouts removed, convert from
ImageLayout to VkImageLayout no longer needs renderer parameter. The
layout information in kImageMemoryBarrierData is never modified by
renderer at run time. So the renerer arguments has been removed in a lot
of places, avoids another pointer de-reference.
Bug: b/384839847
Change-Id: I5a89a890c0c0a1f99d2fdc1b2a85baf7de5c28bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6310839
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f974ffa8
|
2025-01-27T11:06:30
|
|
Vulkan: Add stubs for expose VK_KHR_swapchain_mutable_format
Bug: angleproject:386688871
Change-Id: I77a45e342ee46f65c4f2947071c713f914a937a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6196939
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c0d806b4
|
2025-02-10T23:01:33
|
|
CL: OpenCL support for ANGLE Capture/Replay
Implementation of OpenCL Capture/Replay tool in ANGLE.
Brief notes about the change:
- Most meaningful changes for the capture process are
made in src/libANGLE/capture/
- Most meaningful changes for replay are made in
util/capture/ and src/tests/perf_tests/
- Many autogenerated files are changed/added to allow
the capture of OpenCL objects & calls
- The following applications were captured/replayed:
benchmark_model, GeekBench Compute, GeekBench ML,
AI-Benchmark, various OCL CTS tests
- End2end test added to capture_tests.
CapturedTestCL.MultiFrameCL/ES3_Vulkan
Bug: angleproject:383841335
Change-Id: I55fdaa6cd6c7ba740aaa2351e4d29050059d6d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102105
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
869dde72
|
2025-02-07T15:44:12
|
|
Remove code paths for invoking the offline Metal compiler
We experimented with invoking the Metal shader compiler directly to
create cacheable shader libraries but the project did not show useful
gains.
It is currently all dead code, remove it.
Bug: b/391990604
Change-Id: I6d13278d1a27d8b3ae961a0846f31292f2506b23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6245258
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4ce8b71e
|
2025-02-05T08:06:09
|
|
LSC updating angle License ids
This is based on the existing id and the license file provided.
Bug: b/358504615
Change-Id: I0f0956806f27f8bfed6589157b583d159a25a3d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232605
Owners-Override: Jordan Brown <rop@google.com>
Auto-Submit: Jordan Brown <rop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
02bd7ad6
|
2025-01-29T12:18:08
|
|
Revert "Force logging ANativeWindow events for debugging."
This reverts commit 08365628f4fdb72308757574f7ae414875150f9b.
Reason for revert: no longer needed
Original change's description:
> Force logging ANativeWindow events for debugging.
>
> Temporarily switch from LOGV to LOGI,
> so that logs from these events show in release builds of ANGLE:
> onNativeWindowCreated
> onNativeWindowDestroyed
> onNativeWindowRedrawNeeded
> onNativeWindowResized
>
> These are only printed in ANGLE tests.
>
> Bug: chromium:339457761
> Change-Id: I0d81b05348ee3184fdc90da1a16e69704bcc084a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5526470
> Reviewed-by: Roman Lavrov <romanl@google.com>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:339457761
Change-Id: I63bd69945ef997374f2184d7c72cf2cc3e301a04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6215272
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
e330d959
|
2024-04-09T15:13:48
|
|
CL/Vulkan: Add native builtins to clspv compiler
Add a set of native builtins that are known to perform better for
Samsung devices.
A feature condition `uses_native_builtin_cl_kernel` is setup in
`vk_featurs.json` for control of the selection. The following files are
autogenerated
- FeaturesVk_autogen.h
- angle_features_autogen.cpp
- angle_features_autogen.h
Bug: angleproject:361717757
Change-Id: I10ffad0cbf1d4c2e9bfeea768311d90b0f65af2d
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092036
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c317940
|
2025-01-16T17:51:12
|
|
Vulkan: Add feature flag to use VkEvent for buffer barriers
Bug: angleproject:360274928
Change-Id: Ie6e48a0a57c016571a1e94c0105a231c749c76f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180394
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
73e226cb
|
2024-10-17T16:37:52
|
|
Vulkan: Add check for uniform buffer standard layout feature
Add to check uniform buffer standard layout is supported.
Bug: angleproject:387306731
Change-Id: I543c46a6b504a4df7e9937365c9b28e6328f0619
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6137319
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bbc0d702
|
2024-12-27T07:44:01
|
|
Vulkan: Add entry points to lock the Vulkan queue
... which can be retrieved via EGL_ANGLE_device_vulkan. Otherwise the
application is unable to use the VkQueue that is retrieved out of ANGLE
from other threads (such as Chromium's DrDC feature).
Bug: chromium:380295059
Change-Id: Ife80f54440777486f72fc61697a68fb0c2b2d0f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6116046
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
59162e2e
|
2024-12-30T12:22:10
|
|
Vulkan: Update a few features and extensions for Samsung
Enable
disableProgramCaching
Disable
rgbxInternalFormatANGLE
clipDistanceAPPLE
cacheCompiledShader
preferMonolithicPipelinesOverLibraries
Bug: angleproject:386749841
Change-Id: Iea8033e2999c65b8715c6069d2096a709f78f438
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6133540
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
c75bd915
|
2024-12-10T23:01:44
|
|
Vulkan: Remove asyncCommandQueue
It's been years and it never showed an advantage. In the meantime,
performance without this feature seems close to native drivers (i.e. the
feature has lost its appeal) and it's frequently a source of
complication and bugs.
Bug: angleproject:42262955
Bug: angleproject:42265241
Bug: angleproject:42265934
Bug: angleproject:42265368
Bug: angleproject:42265738
Bug: angleproject:42266015
Bug: angleproject:377503738
Bug: angleproject:42265678
Bug: angleproject:173004081
Change-Id: Id8d7588fdbc397c28c1dd18aafa1f64cbe77806f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084760
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fb743105
|
2024-11-26T14:37:39
|
|
Add stubs for EGL_EXT_surface_compression
This patch adds stubs for EGL_EXT_surface_compression to
ANGLE, including new API eglQuerySupportedCompressionRatesEXT and
adding EGL_SURFACE_COMPRESSION_EXT in EGLQuerySurface and
EGLCreateWindowSurface/EGLCreatePlatformWindowSurface.
Bug: angleproject:375496226
Change-Id: I1962a11e8e3e5eb2cd5b13c5ba0f685781dfd015
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073354
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
95756ae2
|
2024-12-04T15:47:19
|
|
Expose VK_EXT_image_compression_control_swapchain
To implement EGL_EXT_surface_compression,
VK_EXT_image_compression_control_swapchain should be exposed.
With this extension, we can put VkImageCompressionControlEXT
to the pNext of VkSwapchainCreateInfoKHR
Bug: angleproject:375496226
Change-Id: I3f62040be3ba3e5cc051164cb9ace1934e61dead
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073353
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
808cb91c
|
2024-12-03T15:30:22
|
|
Log when glGetPerfMonitor* calls fails or is missing data
Flakes in tests hitting assertion reading the data later, one
possibility is getting an error in these calls. Also log additional info
when GetPerfCounterValue is missing data.
Bug: angleproject:382094011
Change-Id: Ia7e9353ab32399534c1cb9d0a16a31eace0db7d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6064152
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
e3427ac7
|
2024-12-03T16:40:32
|
|
Add missing README.chromium fiends to ANGLE and DEPS
Bug: chromium:378273739
Bug: chromium:365319754
Bug: chromium:378273453
Bug: chromium:365320292
Change-Id: I2faa54c6d796ebe86537e633fdfd8aeb3c0898a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6062491
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f51170b3
|
2024-11-21T16:30:40
|
|
Enable GL_KHR_texture_compression_astc_hdr
Vulkan supports GL_KHR_texture_compression_astc_hdr,
so this extension can be enabled in Angle.
Bug: angleproject:379186304
Change-Id: I438a120c3f884a7eefcd883ad71abf68f81cb473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038457
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5d3d299d
|
2024-11-25T16:35:51
|
|
Expose the required GLES1.0/1.1 extensions in ANGLE
Exposed below extensions:
GL_OES_texture_mirrored_repeat
GL_OES_blend_subtract
Bug: angleproject:380704155
Change-Id: Ib095f9bfaabda92bb2c588d633f1512e118f066e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038450
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9eab301c
|
2024-11-12T17:24:57
|
|
Enable GL_KHR_texture_compression_astc_sliced_3d
ARM supports GL_KHR_texture_compression_astc_sliced_3d,
so this extension can be enabled in Angle.
Bug: angleproject:378507964
Change-Id: I545ac57b4d6065a9ef99a7884555da47a1d50261
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6014004
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0757254b
|
2024-11-22T10:21:29
|
|
Tests: Add crash callback to test Replay (e.g. linux-trace)
Prints a backtrace on trapped signals. Didn't help with the issue on the
bug as it was an OOM -> SIGKILL which can't be trapped but generally
nice to have.
Also adds stdout flushes to the signal handler as stdout redirection is
by default _not_ line-buffered, so without a flush the printfs just go
into the buffer and don't actually show up in the redirected output
(including on bots). This might be the reason we were missing backtraces
in some other cases.
Bug: angleproject:380296979
Change-Id: I9fbba35e3bf4e6d863139ceb533f51973fe2f98d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044040
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a2b60b2
|
2024-11-06T17:13:16
|
|
Add stubs for GL_EXT_texture_storage_compression
Bug: angleproject:352364583
Change-Id: I607c19c0c9bec7f0e3dd325e44b42e73f826b61c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998012
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
29855942
|
2024-11-06T16:01:28
|
|
Vulkan: Add stubs for expose VK_EXT_image_compression_control
Bug: angleproject:352364583
Change-Id: Ia8292eee6620db6d0c4b0c6162de95583c1e416d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998011
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
54e8e665
|
2024-11-12T12:53:54
|
|
Trace tests: generate and use trace list according to gn args
Generates out/<config>/gen/trace_list.json which contains
the list of traces included in the build according to the
angle_restricted_traces gn arg (or all traces if not set).
Test runner uses that file instead of the full restricted_traces.json.
Android runner pushes that file to the device to the usual location
(e.g. /sdcard/chroimum_tests_root/gen/trace_list.json)
This also fixes the issue where
`angle_trace_tests --list-tests`
lists all traces, not just those that were selected with the gn arg.
Similarly, running all traces without a filter would be limited to
the same list.
This transitively applies to trace bundles.
Bug: b/376923930
Change-Id: I63506a074d766a51b860472f7211842f8a080ecd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011956
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c7a43ec8
|
2024-10-28T12:26:05
|
|
Capture/Replay: Track framebuffers by context
Some game titles treat framebuffer objects as shared. Framebuffer
objects are now tracked per-context to avoid conflicts.
Test: angle_trace_tests --gtest_filter=TraceTest.limbo --offscreen
Bug: b/371985732
Change-Id: I34ae5b54d569eec75ad86b7b363f7a84d56d955c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973639
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
7fea539c
|
2024-10-23T11:40:51
|
|
Vulkan: Remove extra non-conformant flag checks
It may be possible to remove the flag check and simply rely on the
checks performed in CanSupportGLES32() to determine support for ES 3.2.
The non-conformant flag can remain utilized for certain features until
the relevant issues are resolved and this flag is no longer needed.
* Removed the checks from getMaxConformantESVersion().
* Removed the flag check in Renderer::getMaxSupportedESVersion().
* Added exception to the blend extension when using the non-conformant
flag for Win/Intel.
* Skipped the related tests on this platform that now fail.
* Added a new feature flag to force-enable ES 3.2 on certain platforms
for testing.
* exposeES32ForTesting
* If the bots are updated to support ES 3.2, it can be removed from
using this flag.
* Skipped some VVL errors when the flag is enabled.
* Skipped end2end ES 3.2 tests on SwS.
* Skipped some dEQP tests on P4 and SwS that would use ES 3.2 features
that are not available on those platforms.
Bug: b/374841339
Bug: b/376899587
Change-Id: Ifd405457ab8bf2076eb8fb5c92c5316f4d520595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5958147
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|