|
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>
|
|
27cfdf8e
|
2025-04-24T00:00:00
|
|
PLS: Allow type conversions in state queries
The OpenGL ES spec requires data conversions when a query
command is issued that returns a data type different from
the actual type of the requested state.
* Updated PLS state queries to follow the main spec.
* Removed PLS state query dependencies on interruptions.
* Fixed non-robust command declarations in the extension spec.
* Added missing extension support checks to robust commands.
* Drive-by: Fixed invalid use of assertions in PLS tests.
Fixed: angleproject:414361744
Fixed: angleproject:414506466
Change-Id: I573ab66d194d5666fd9c8845ac0ab262a714c5cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6507065
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3540a326
|
2025-05-05T16:47:30
|
|
Tests: Skip black_beacon trace on S24
Bug: angleproject:415852525
Change-Id: Ibf4d3f63e96da9cf43c34110654f9383f9ba82f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512773
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c6e0448b
|
2025-05-05T10:49:32
|
|
Reformat VVL error message
The SYNC-HAZARD-WRITE-AFTER-READ VVL error is no longer observed
on TraceTest.special_forces_group_2, removed the error message from
skipped VVL error list.
The TraceTest.special_forces_group_2 now runs into a different
SYNC-HAZARD-READ-AFTER-WRITE VVL error, on Linux AMD GPU. An existing
entry in the skipped VVL error list already covers this error message.
Reformat that entry by adding the extraProperties, and changing the
messageContents1/messageContents2 fields to nullptr for ease of clean
up later.
Bug: angleproject:42264123
Bug: angleproject:397775556
Change-Id: I1681cd7f76dd2090e78584b08c25224d5b05d963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514289
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
2ca90dab
|
2025-05-02T22:38:38
|
|
Vulkan: Don't calculate vertex input state when dynamic
When vertex input state is dynamic,
VkGraphicsPipelineCreateInfo::pVertexInputeState can be nullptr. This
change makes sure time is not wasted calculating this state at pipeline
creation time.
The change also ensures drivers don't rely on info provided at compile
time by mistake.
Bug: angleproject:42265637
Change-Id: I54da8be7769f0dd0767df6d7774baa956475bf8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6510082
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
95813607
|
2025-05-05T10:53:08
|
|
Manual roll VK-GL-CTS from dd7e71367795 to eeeebaca3f2e (10 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/dd7e71367795..eeeebaca3f2e
2025-04-25 mateusz.bahyrycz@mobica.com Multiple queue test runner
2025-04-25 lorenzo@khronosgroup.org Add missing mandatory features for
VK_KHR_cooperative_matrix using auto-generation from XML
2025-04-25 piotr.byszewski@mobica.com Separate tests for
gl_BaseVertexARB and gl_BaseInstanceARB
2025-04-25 piotr.byszewski@mobica.com Update spirv-tools and fix
validation errors
2025-04-25 kamil.goras@mobica.com Add OpenGL tests for textureQueryLod
2025-04-25 rgarcia@igalia.com Force position-independent code in
vulkan-video-samples
2025-04-25 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2
into vk-gl-cts/main
2025-04-23 michal.jakubek@mobica.com Fix "Linux link failures" on
Windows build
2025-04-23 michal.jakubek@cognizant.com Linux compile failure when
commenting out some test additions
2025-04-23 piotr.byszewski@mobica.com Remove temporary entries from
Android*.bp files
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,geofflang@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Change-Id: I9d56381e80b6a89f307573ffc7f5c790c9ff4153
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512791
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
671f55d8
|
2025-04-03T22:54:44
|
|
Vulkan: Fix texelFetch(externalSampler) behavior
GLES expects YUV decoding to happen with texelFetch when an external
sampler is used, but texelFetch's translation (OpImageFetch) does not do
such a thing. A transformation is added to replace that with a texture
call at the right coordinate.
Bug: angleproject:405149439
Change-Id: I3a8d07a6399705ec07718b38085ee4bc1ad2af6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6431570
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c60d98ce
|
2025-05-03T01:06:02
|
|
WGPU: Ship driver uniforms in the bind groups to the shader
This writes driver uniforms to a WGPU buffer and ships that
buffer to the shader. Right now this creates a new buffer every time
a driver uniform changes.
Bug: angleproject:389145696
Change-Id: Icfbce4d995ef593e703a597bb96e72173ec29cda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6477136
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
ce795fa8
|
2025-04-28T15:31:25
|
|
Reformat VVL error message
Set messageContents1 and messageContents2 fields to nullptr,
for ease of clean-up in follow-up changes.
Make the extra properties fields more specific.
Bug: angleproject:42265363
Bug: angleproject:415382790
Bug: angleproject:415383266
Change-Id: I032bc82c6aeb16281c868778db827318fa833005
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496650
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
18ec8824
|
2025-05-02T12:42:26
|
|
Vulkan: Exclude RADV from global cache preference
* Added exception for AMD/RADV machines from the following flag:
preferGlobalPipelineCache
* (Due to no information regarding the effect of this flag on
those platforms)
Bug: b/411442610
Change-Id: Ifd9e2fe02e488d51cbb9e070106e86ac21e8533d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6509821
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
f6e1d4d7
|
2025-05-02T12:02:09
|
|
Fix include header case mismatches
This CL fixes the include header names to be aligned with the actual
file names. It's problematic for cross compile on Linux, where file
system is case sensitive.
Context:
Goma/Reclient's deps scanner was able to handle those case mismatches.
But, Siso's builtin remote execution doesn't resolve them automatically.
Bug: b/401959048
Change-Id: I98282899e31ea801058f82d4cad770413634f4f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6508684
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Junji Watanabe <jwata@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d4c83ace
|
2025-04-30T12:05:19
|
|
Fix the test to use the right uniform location
mTexture2DUniformLocation and mTextureCubeUniformLocation are
uniform locations retrieved from the TextureCubeTest.mProgram.
We should get the location from the shader program that the current
test uses.
Bug: angleproject:401546698
Change-Id: I7c5f022a9fab58572cae2e78fc328c1c0f74f977
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502892
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
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>
|
|
998b5693
|
2025-04-30T11:05:52
|
|
Fix ExternalBufferTest end2end test
The application or test should be responsible for managing the lifetime
of external buffer ensuring that the external buffer is not deleted as
long as there are any GL buffer objects referring to it.
https://registry.khronos.org/OpenGL/extensions/EXT/EXT_external_buffer.txt
Bug: b/396231708
Change-Id: Ib8e7e2ef0349cadc42b839019e2b2334b4cc5085
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502674
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
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>
|
|
6bdbe9cc
|
2025-05-01T12:33:41
|
|
Manual roll Chromium from dd275389e023 to cf3a960742c3 (1975 revisions)
Use third_party/depot_tools/gn.py instead of gn to accommodate
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6504176
Manual roll requested by ynovikov@google.com
https://chromium.googlesource.com/chromium/src.git/+log/dd275389e023..cf3a960742c3
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,geofflang@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/88030b3203..aaf578b4fc
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/0f32cb9025..6d4e129ac6
* buildtools/linux64: git_revision:90478db6b59b9bebf7ca4cf912d860cf868e724c..git_revision:487f8353f15456474437df32bb186187b0940b45
* buildtools/mac: git_revision:90478db6b59b9bebf7ca4cf912d860cf868e724c..git_revision:487f8353f15456474437df32bb186187b0940b45
* buildtools/win: git_revision:90478db6b59b9bebf7ca4cf912d860cf868e724c..git_revision:487f8353f15456474437df32bb186187b0940b45
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/fe092931f1..35b04da37d
* third_party/android_build_tools/error_prone/cipd: -IrkxgAkj3RxGNBPp6b4r9OWZC6_dTbI-jC3c3UPgq8C..2t_u1XEjof609BQE4czlCQzEqRliKS_qY35FOu_VckgC
* third_party/android_build_tools/lint/cipd: gx4NrAApWUVG5HG3WJRIIzZrTssD6H5uGbKe0g77mucC..TEDRB0F7VgCgyepd8FsIxPRqvKjvWQ_YkLV-ybx-GQYC
* third_party/android_build_tools/manifest_merger/cipd: HhXknpcPosMUDHZQD-8Ogve-HaG4HmJ4p082zKKAcnMC..fPGWiT0LVG2_ifxOpHb5KNwTL-_7lb7tYOsB_ZoIiskC
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/1ea2115b17..a86aaa9531
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/000f47cfa3..1591e813b6
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1fcc527019..5982a1aeb3
* third_party/fuchsia-sdk/sdk: version:27.20250424.2.1..version:27.20250501.3.1
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/917609c669..62724eb55f
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/912274164f..bf95cc5da6
* third_party/r8/cipd: bA3htCoEd_EArHekDGQSNpmBzQrcby2ioG6SFyl3AtwC..sxgLKZyJNZMVi8cot5yvRzqCFQxX_HbbR0psaeto5RcC
* third_party/r8/d8/cipd: 6qLey8EBp9ivhThnqVPWy2ZDGpsf5Y29EsTbi_rZ1pMC..bA3htCoEd_EArHekDGQSNpmBzQrcby2ioG6SFyl3AtwC
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/926ec54499..7c098b791b
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/1e85c01b15..6f9b4e6192
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/60443ebac3..e4c0da2094
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6c4f037a98..5ae6e4bfb4
* tools/luci-go: git_revision:fd48b8efe637ea5f431fc371f1617b215b7ba1a2..git_revision:a9a10995e2889126ace91faf4052949e38c69d33
* tools/luci-go: git_revision:fd48b8efe637ea5f431fc371f1617b215b7ba1a2..git_revision:a9a10995e2889126ace91faf4052949e38c69d33
* tools/luci-go: git_revision:fd48b8efe637ea5f431fc371f1617b215b7ba1a2..git_revision:a9a10995e2889126ace91faf4052949e38c69d33
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3b0c718c2d..e3589a5831
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/9c8188cae9..1a0049ce09
* tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/fa679ed68e..7e70cdf64e
* tools/skia_goldctl/linux: M9CSmdri8G3miQpGPQeqstBvQ3TtlngrsiF5GdSTYs0C..srGbc-O6bVQmBoT6VLvP66h6Be4A-nffx4UhixUJ9w0C
* tools/skia_goldctl/mac_amd64: Txs7Izu5kRGbcoAc9qESynBnBHo8RdRIyim5zF9rWbgC..tZvHxy8AcDJhO9A-5UuZKL_-5vfE_wC-RBkElqWZpM4C
* tools/skia_goldctl/mac_arm64: LTzU4UbKV4zw61tWyttEX62vyq7nErr2gD8-jiH8IhgC..2br8hIWKHDAaOt77siYyRUclHBYUZX6dj8jtogL90nwC
* tools/skia_goldctl/win: UKiySjywM8juGVuMwWbOdaBXFD1TbzUOWcGGVTYfem0C..zasiUhQIHGZ2e60_M6g41oz8mYgPta5JmOWV5LwFjGMC
No update to Clang.
Bug: chromium:414330998
Change-Id: I5ce14c5574391c1dd638787c09789f0577ee26a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6503456
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9bcfb38f
|
2025-04-30T23:12:19
|
|
Vulkan: Disable MSRTSS on buggy qualcomm drivers
Bug: chromium:413427770
Change-Id: I62499c3aa04f3786a0deb6afcaafb7976f2a6446
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6501621
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
3b77a177
|
2025-04-23T15:47:07
|
|
Optimize vertex attribute and buffer state change
Bug: angleproject:386749841
Change-Id: I25968902282f6a201510e2ee17ea85fd71ef57c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6483915
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
e93c143a
|
2025-04-28T15:39:35
|
|
tests: Prepare capture_replay_tests for Siso migration
- Adds --use_remoteexec as an alias of --use_reclient.
- Adds --use_siso to add `use_siso=true` GN arg.
- Changes the out dir to out_CaptureReplayTest, so that the build dir
depth will be 2 for Siso remote execution rules.
- Cleans up build dir when switching from Ninja to Siso.
Bug: b/401959048
Change-Id: Id698644f16c161e86d1d1b42828281cb5fb690ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6489896
Auto-Submit: Junji Watanabe <jwata@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
128c9682
|
2025-04-24T00:00:00
|
|
Make GL_ANGLE_texture_rectangle non-toggleable
This extension is not meant to be disabled.
Bug: angleproject:40096622
Change-Id: Iea87210ab1bf3800759a3c65c566af67dada75f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6494384
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cac1e824
|
2025-04-29T18:27:36
|
|
WGSL: Output driver uniform and UBO structs
This is the WGSL half of the change to implement driver uniforms.
Driver uniforms are implemented as a UBO and reuse the default
set of driver uniforms. User-provided UBOs don't yet have
variables outputted for them.
This requires moving MSL's ReduceInterfaceBlocks to the tree_ops
dir in order to change interface block definitions into struct
definitions.
Bug: angleproject:389145696
Change-Id: I27f3837b3d115f2ffac66cc545f3b60ca9f01cb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6477564
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4b69ba93
|
2025-04-28T16:45:56
|
|
WGPU: upload texture bind groups and configured samplers
GLSL samplers are split into separate sampler/texture variables
in WGSL. Before this CL, the WGSL translator generated shaders
that look like:
@group(1) @binding(@@@@@@) var ANGLE_sampler_samp2D :
sampler;
@group(1) @binding(@@@@@@) var ANGLE_texture_samp2D :
texture_2d<f32>;
@group(1) @binding(@@@@@@) var ANGLE_sampler_sampCube :
sampler;
@group(1) @binding(@@@@@@) var ANGLE_texture_sampCube :
texture_cube<f32>;
This CL replaces those with actual binding numbers
@group(1) @binding(0) var ANGLE_sampler_samp2D :
sampler;
@group(1) @binding(1) var ANGLE_texture_samp2D :
texture_2d<f32>;
...
Such that @binding(n*2) is the WGSL sampler variable corresponding
to the n-th GLSL sampler and @binding(n*2+1) is the WGSL texture
variable corresponding to the n-th GLSL sampler.
This CL then generates binding group layouts matching the above,
and uploads textures and configured samplers in bind groups.
This makes some of the deqp_gles2 tests 2d texture tests pass,
though some fail because they need a flipped y coordinate.
Not yet supported:
1. arrays of samplers
2. shadow samplers
3. cube textures
Bug: angleproject:389145696
Change-Id: I2ab18ae5ebb4d1289101266bd9451576aa04ce2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382272
Reviewed-by: Liza Burakova <liza@chromium.org>
Auto-Submit: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c884460a
|
2025-04-24T16:43:04
|
|
Vulkan: Fix deferred clears vs noop multidraw
Bug: chromium:407828338
Change-Id: I5da22aeb72605bb7943fa5ae079ae297d00888f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6488794
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9e6f44bc
|
2025-04-18T00:00:00
|
|
Autogen support checks for extension entry points
As a side effect, added missing support checks
for the following extension entry points:
- GL_ANGLE_memory_object_flags
- TexStorageMemFlags2DMultisampleANGLE
- TexStorageMemFlags3DANGLE
- TexStorageMemFlags3DMultisampleANGLE
- GL_EXT_buffer_storage
- BufferStorageEXT
- GL_EXT_external_buffer
- BufferStorageExternalEXT
- GL_EXT_robustness
- GetnUniformfvEXT
- GetnUniformivEXT
- ReadnPixelsEXT
- GL_EXT_separate_shader_objects
- ProgramUniform4ivEXT
- ProgramUniform4uivEXT
- GL_MESA_framebuffer_flip_y
- FramebufferParameteriMESA
- GetFramebufferParameterivMESA
- GL_OES_matrix_palette
- CurrentPaletteMatrixOES
- LoadPaletteFromModelViewMatrixOES
- MatrixIndexPointerOES
- WeightPointerOES
- GL_OES_query_matrix
- QueryMatrixxOES
- GL_OES_texture_cube_map
- GetTexGenf*OES
- TexGen*OES
- GL_QCOM_framebuffer_foveated
- FramebufferFoveationConfigQCOM
- FramebufferFoveationParametersQCOM
- GL_QCOM_texture_foveated
- TextureFoveationParametersQCOM
Bug: angleproject:409484297
Change-Id: I7fe05afe2a4575ae5d913bf9f60d5575404f808b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6494399
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f6da7aed
|
2025-04-18T00:00:00
|
|
Fix UniformTest.GetUniformNoCurrentProgram
Added the extension check and
the result re-initialization.
Fixed: angleproject:414491366
Change-Id: I04abc847a7fd48c411e62208e88c19d9d3f6ec50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6494452
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
846dcf86
|
2025-04-18T00:00:00
|
|
Autogen context version checks for 2.0 entry points
Bug: angleproject:409484297
Change-Id: I03b323ba5b8f9d45d41c0ff0188b3f7a7004722e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6490226
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
828bec45
|
2025-04-26T16:12:56
|
|
Vulkan: Fix SPIR-V gen for constant constructors
... inside non-constant constructors of different basic type.
The SPIR-V generator proactively casts the elements of the inner
constructor to the type of the outer constructor, but it was mistakenly
using the original inner constructor's type id for the constant instead
of the cast type id.
Bug: chromium:413775106
Change-Id: I95e8b1dcc1ba36777eb4475042f0d106a6abe109
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6489041
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
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>
|
|
50707ca6
|
2025-04-18T00:00:00
|
|
Remove duplicate validation declarations
Removed redundant function declarations and
aligned function definitions with the
autogenerated declarations.
Bug: angleproject:409484297
Change-Id: Ieb49399ff28e64c4e6a84180a3190895f3c08e20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6491475
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
84e3b8f1
|
2025-04-18T00:00:00
|
|
Fix GetInteger64vRobustANGLE validation
* Removed incorrect validation code.
* Implemented capture support.
* Added a new test.
Fixed: angleproject:413595073
Change-Id: Ib84ae410fbd7a18d4a8bbb2545fe2952938088e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6491648
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ef61ff8d
|
2025-04-24T16:18:34
|
|
Improve the judgement of texture and attachment completeness
When the GL_TEXTURE_MIN_FILTER is not mipmap, that is GL_LINEAR or
GL_NEAREST, ANGLE should allow the texture's base level greater than the
max level. The spec does not consider this situation as texture
incomplete.
Also, attachment completeness should ignore mipmap completeness when
selected level is the base level. Hence, increase a constriction in
CheckAttachmentCompleteness and end2end test
Texture2DBaseMaxTestES3.Fuzz545ImmutableTexRenderFeedback.
Bug: angleproject:42267266
Change-Id: I6a41f7d0716a7c9506b82390e2c0b083ab1626a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6197735
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
|
|
4429afe9
|
2025-04-23T23:47:26
|
|
Tests: Add Black Beacon trace
Test: TraceTest.black_beacon
Bug: b/413215850
Change-Id: Iecbb4d2b4a251943857fd3d945318cec29c1b37f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6487386
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d08e9e9c
|
2025-04-18T00:00:00
|
|
Fix use of OpenGL ES 2.0 commands in ES 1.0 tests
Bug: angleproject:409484297
Change-Id: I0186e23074ec7ac6cfae9d04645923d6acb163f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6487928
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e5680ba6
|
2025-04-14T17:43:07
|
|
Fix mInFlightCommands.empty() assert in CommandQueue destroy
When initialize a higher priority shared Context, ANGLE internal call
updateContextsPriority to submit previously flushed commands. This
submission is not tracked by any Context. Add
Renderer::mSubmittedResourceUse to record submitted queue serials not
belonging to any Context to fix the assertion.
Bug: angleproject:410996556
Change-Id: I7a91e47c0233832b8806637f295dffd1ff54f729
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6458623
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Neil Zhang <Neil.Zhang@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ff110c86
|
2025-04-23T15:42:34
|
|
Early-return instead of rebinding the same subject
Bug: angleproject:386749841
Change-Id: I190f9bd7a7c492bdd263a624e835abefabfab560
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6484560
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
4c1c7c08
|
2025-04-18T00:00:00
|
|
Include entry point names in error messages
Moved entry point name injection to ErrorSet::validationError
to ensure that error messages handled via GL_KHR_debug always
contain the corresponding entry point names.
Updated affected tests.
Fixed: angleproject:412384507
Change-Id: I9e898cadca0634505d70b36dbbb00feedb6c10b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6480177
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
56b62c62
|
2025-04-18T00:00:00
|
|
Include entry point names in context lost error messages
Also added "likely" hints to valid context branches.
Bug: angleproject:412384507
Change-Id: I6fc2c4a5934b767f55742f4657fec7ae954f1387
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6479959
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>
|
|
cdcf6a63
|
2025-04-22T10:19:33
|
|
Add R10X6G10X6B10X6A10X6 support on angle
Bug: angleproject:409355677
Change-Id: I8115ca73a038360f673552532e9d9b87ff846867
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6438114
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
555038b8
|
2025-04-23T12:47:02
|
|
Translator Fuzzer: Enable required options
Bug: chromium:409603851
Change-Id: I73067fcd3855f6cdcb6eea05b06bafa45d23fb19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6482917
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d698500d
|
2025-04-08T09:05:42
|
|
Fix an ASSERT() crash in ExternalFence SyncWaitFd().
https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html
If pGetFdInfo->handleType is VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
and the fence is signaled at the time vkGetFenceFdKHR is called, pFd
may return the value -1 instead of a valid file descriptor.
So when above scenario happens, ANGLE will get a -1 fd from
vkGetFenceFdKHR(), and then Angle will call SyncWaitFd() with the
invalid fd, it will cause an ASSERT() crash.
Bug:angleproject:409342980
Change-Id: I48d4d21d531e40f8ba275918454632ae14fec04b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6439303
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
691140da
|
2025-04-22T21:05:44
|
|
Vulkan: Do not skip VUID-vkQueueSubmit-pSignalSemaphores-00067
... when "VK_EXT_swapchain_maintenance1" is enabled.
Original problem is a VVL bug, introduced in:
62e9314e2eb9c58af42f6f1b613d200d5362598d
layers: Track semaphore is in use by swapchain
It was later partially fixed in:
88934ae6acf0c8b8ae169df9607e779ac4a70239
layers: Fix waiting on present fence did not have effect
Bug is only fixed when using present fences (when
"VK_EXT_swapchain_maintenance1" is enabled).
Without present fences, VUID error still prints the following:
Swapchain image 0 was presented but not re-acquired, so VkSemaphore
0x41c700000041c7 may still be in use and cannot be safely reused with
image index 0.
a) Use a separate semaphore per swapchain image. Index these
semaphores using the index of the acquired image.
Since problem only happens in a shared present mode, re-acquiring the
image causing "VUID-vkAcquireNextImageKHR-surface-07783". It is also
unclear from the Vulkan spec if the image may be re-acquired in shared
present mode, but it is currently not necessary.
When not using present fences, ANGLE tracks present semaphores by
attaching submit serial to the previous present operation when same
image is presented. This guarantees to use more than one present
semaphore (in a shared present mode) and not to reuse semaphore with
signal operation pending. This is more strict synchronization than what
is suggested by the VUID error in the item (a).
However, it is debatable if this is ANGLE's or VVL error. If it is not
a VVL error, it at least should provide correct message of how to fix
the problem in case of a shared present mode. Theoretically, ANGLE may
fix this error by only using present semaphore for the initial present,
and skip it for all subsequent present operations, since image is
already shared with the presentation engine and present operation is
only used for notification purposes.
Bug: angleproject:408190758
Change-Id: Id0dc3c0efcba72e844ba6b2c241d0076f70fcd51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6480175
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6f9f343a
|
2025-04-16T14:45:33
|
|
Reland "Vulkan: Prune superseded updates during host-image-copy"
This is a reland of commit f8a8adf63c5834a725d1bd752acc6d63c3f45c05
Original change's description:
> Vulkan: Prune superseded updates during host-image-copy
>
> Bug: angleproject:42266771
> Change-Id: I7aa8e85720a54537389df615b575ddfa9951770d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6462475
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:42266771
Change-Id: I95e6f1d2421327a6394e627f03ef5b4cddf4a1e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6480011
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c554454
|
2025-04-03T16:55:11
|
|
Incorrect BUFFER_DATA_SIZE and UNIFORM_OFFSET for ACB array of array
The buffer size and offset calculation for the atomic counter buffer
defined as an array of arrays is incorrect. The issue occurs with the
following declaration:
layout (binding=0, offset=0) uniform atomic_uint ac[2][2];
Observed Results:
GL_BUFFER_DATA_SIZE -> 8;
GL_UNIFORM_OFFSET of "ac[1][0]" -> 0;
Expected Results:
GL_BUFFER_DATA_SIZE -> 16;
GL_UNIFORM_OFFSET of "ac[1][0]" -> 8;
Bug: angleproject:407564097
Change-Id: Ibf99ccd5412629f0feb74a9a34337b82894e74c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6429625
Auto-Submit: Mavis Deng <mavis.deng@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
abe3c63a
|
2025-04-16T15:30:10
|
|
Add CubeMapBug2 test to trigger Angle bug in validation
Add one extra texture sampler in fragment shader
and adjust texture binding unit for textures
Bug: angleproject:401546698
Change-Id: Ib5c3482a243075a98f1ce1b1f4d4cc9884f5f980
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6458622
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
61bfe86c
|
2025-04-04T00:00:00
|
|
Autogen context version checks for 1.0 entry points
* Added missing extension support checks for
glPointSizePointerOES and glDrawTex*OES.
* Removed incorrect validation
from ValidateDepthRangex.
* Removed unused functions.
Bug: angleproject:409484297
Change-Id: I9c12be4c0ed60f943fa3c16a8e23693d8fb7a76f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6479833
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3f88a505
|
2025-04-03T17:29:20
|
|
GenerateMipmap encode and decode sRGB when GL_SKIP_DECODE_EXT is set
According to the spec, if TEXTURE_SRGB_DECODE_EXT is set before
GenerateMipmap for a texture with format sRGB, mipmap generation should
skips the encode and decode steps during mipmap generation, matching the
mipmap generation for a non-sRGB texture.
Bug: angleproject:406829410
Change-Id: Icea8c27a1ab2f20e9fd6c8d79187c0c5cfe8e789
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6428506
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Tingwei Guo <tingwei.guo@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
|
|
50a4ad19
|
2025-04-22T09:29:17
|
|
Revert "Vulkan: Prune superseded updates during host-image-copy"
This reverts commit f8a8adf63c5834a725d1bd752acc6d63c3f45c05.
Reason for revert: Has a bug in the calculation of image layers whose
updates should be dropped.
Bug: angleproject:42266771
Original change's description:
> Vulkan: Prune superseded updates during host-image-copy
>
> Bug: angleproject:42266771
> Change-Id: I7aa8e85720a54537389df615b575ddfa9951770d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6462475
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:42266771
Change-Id: I2b992c8598f58c40386338ade3cf59ffdb03abd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6480413
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
69a0fc24
|
2025-04-04T00:00:00
|
|
Use dedicated error messages for context version checks
To highlight that the command itself is not
supported rather than any of its parameters.
Bug: angleproject:409484297
Change-Id: I573e935b3179bb1001267b383a1efa4cf48a7197
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6479832
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
db12f43b
|
2025-04-04T00:00:00
|
|
Autogen context version checks for 3.0 entry points
* Added a missing version check for the
GetBufferParameteri64v entry point.
* The following commands are now rejected
on ES 2.0 even if the GL_OES_texture_3D
extension is enabled:
* CompressedTexImage3D
* CompressedTexSubImage3D
* CopyTexSubImage3D
* TexImage3D
* TexSubImage3D
Bug: angleproject:409484297
Change-Id: I82374157596fd292efbf67c6bb582eb874348b73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6469895
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
81f1a733
|
2025-04-04T00:00:00
|
|
Fix use of OpenGL ES 3.0 commands in image tests
Fixed tests that used OpenGL ES 3.0 commands instead
of extensions when running on lower context versions.
Bug: angleproject:409484297
Change-Id: Ie220acbf8d1d287e3e19a52307ac3625d2f29c9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6469896
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
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>
|
|
07eeca12
|
2025-04-17T20:58:19
|
|
Metal: prevent padding in state cache's structs.
Fixed: angleproject:411845677
Change-Id: I8a9635634e66f86c132205f75825a916481f7ad0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6468239
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
f6a350de
|
2025-04-17T20:43:08
|
|
Metal: fix rasterSamplecount not used in comparing render passes.
RenderPassDesc's rasterSamplecount was not used to comparing two
render passes' descriptors.
Note: no reported bug found related to this missing comparison yet.
This bug most likely affects render passes without any attachment
(PLS?). Because if the 2 render passes have the same attachments, their
rasterSamplecount values must also be equal.
There was also a missing rasterSamplecount comparison in
RenderPipelineOutputDesc::operator==. However, this function is not
used. When comparing two render pipelines,
RenderPipelineDesc::operator== is used instead, which is currently
implemented using memcmp. So removing the former to avoid confusions.
Bug: angleproject:411845677
Change-Id: Ic9b1867226561d096c1fb8ca2194b657d29daa18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6468238
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
f8a8adf6
|
2025-04-16T14:45:33
|
|
Vulkan: Prune superseded updates during host-image-copy
Bug: angleproject:42266771
Change-Id: I7aa8e85720a54537389df615b575ddfa9951770d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6462475
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a9f2f87f
|
2025-04-15T13:46:34
|
|
Vulkan: Update version macros
* Updated the deprecated version macros
* VK_VERSION_MAJOR -> VK_API_VERSION_MAJOR
* VK_VERSION_MINOR -> VK_API_VERSION_MINOR
* VK_VERSION_PATCH -> VK_API_VERSION_PATCH
* VK_MAKE_VERSION -> VK_MAKE_API_VERSION
* Added a separate case for QCOM drivers in getVersionString().
* The major version is now OR-ed with 512.
* (New drivers seems to have a major version of 512, which falls
not within the major field, but the variant field, when using
the VK_API_VERSION_x macros.)
Bug: angleproject:42267006
Change-Id: Ic9b761d182ff49c3ede43c7bd14f366f945fbf36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6460682
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4b9525b2
|
2025-04-04T00:00:00
|
|
Remove all getClientMajorVersion helpers
Client version checks should use
proper struct compare operations.
Bug: angleproject:408843436
Change-Id: I92cd91d1e7e6daa761f79060835aa534c5671264
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6467460
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9db4bf6e
|
2025-04-04T00:00:00
|
|
Autogen context version checks for 3.1 & 3.2 entry points
As a side effect, added missing version checks
for the following OpenGL ES 3.2 entry points:
* BlendEquationi
* BlendEquationSeparatei
* BlendFunci
* BlendFuncSeparatei
* ColorMaski
* Disablei
* DrawElementsBaseVertex
* DrawElementsInstancedBaseVertex
* DrawRangeElementsBaseVertex
* Enablei
* GetDebugMessageLog
* GetPointerv
* IsEnabledi
* MinSampleShading
* PopDebugGroup
* PrimitiveBoundingBox
* PushDebugGroup
Bug: angleproject:409484297
Change-Id: I6be7e3a4a8ba9b99595f4930d9c3a1fa1b4c6154
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6441552
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b86d7d8f
|
2025-04-14T15:37:47
|
|
Android: Add Galaxy S24 support (Xclipse)
Bug: b/410630704
Change-Id: I97fd649de4278f447893a01fbe5ceeee02dd100e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6456664
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
53279e92
|
2025-04-16T16:04:55
|
|
Traces: Update traces that need ES 3.2
With Alexey's change to autogen ES version checks, he found that some
traces required 3.2 without requesting it: http://crrev/c/6441552
This likely happened due to a combination of apps assuming it is
supported, and get_min_reqs reliance on errors thrown to detect when
an ES version is needed.
This CL updates the traces identified to properly request ES 3.2 and
any extensions. It also removes redundant extension requests from
TracePerfTest.cpp now that they show up in JSON.
Test: Trace tests with autogen fixes
Test: retrace_restricted_traces.py get_min_reqs
Bug: angleproject:409484297
Change-Id: Ia19d70316f5e6422d027c1ce135593391abce378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6465695
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
ccabbbca
|
2025-04-16T23:52:32
|
|
Suppress flaky test on Nvidia/D3D
Bug: angleproject:411157348
Change-Id: I08542c9ca0d332ab2f88a3174ab42e08d9a21f31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6466885
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a6a7de5a
|
2025-04-16T14:28:13
|
|
Vulkan: Sync perf counters in finishImpl(...)
.. instead of finish(...) so other code paths like onDestroy(...)
have a chance to update perf counters before decoupling from the
sharegroup
Bug: angleproject:386749841
Change-Id: Ib0f847dda2274686ed9e5d3c8211ee5a364e4b65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6463366
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
408f5853
|
2025-04-04T00:00:00
|
|
Make gl::Version data members private
* Further simplified gl::Version implementation by
making data members private and merging them.
* Used proper version struct comparisons instead
of accessing individual version components.
* Moved known version constants to Version.h
for broader availability.
* Removed no longer used helpers:
* PrivateState::getClientMinorVersion()
* State::getClientMinorVersion()
* Context::getClientMinorVersion()
Bug: angleproject:408843436
Change-Id: I3ae8f495269d649253fa2381ecbfc018a184fa20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6460787
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b64d380e
|
2025-04-15T00:54:22
|
|
Vulkan: Ghost texture's image backing if overwritten
If the texture's image is in use by the GPU but is overwritten
completely, this change releases the old image and creates a fresh one.
If the texture was used in a render pass, this avoids breaking the
render pass. Otherwise, it allows the new image to be initialized with
VK_EXT_host_image_copy functionality. In the very least, an unnecessary
barrier is avoided.
As a targeted optimization, this functionality is limited to non-array
2D color textures which are known to benefit from this ghosting in
applications. Other texture types can be easily added, but need lots of
tests to be added.
Bug: angleproject:42265356
Change-Id: I18a7587599e36f9f70109264ddc1003b24b8b2df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6456345
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0ed51ec7
|
2025-04-10T22:41:22
|
|
Vulkan: Disable color attachment usage for LUMA formats
Bug: angleproject:42265356
Change-Id: If97fd59e85febfdf345a36097901a2015aa4183b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6447236
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ca0457f6
|
2025-04-15T13:10:58
|
|
Vulkan: Fix parsed QCOM major version
When running tests on QCOM, the major driver version in the
renderer string is shown as 512 (e.g, 512.777.0). However, the
parsed driver version from the device shows it as 0 (i.e., 0.777.0).
Since the features limited on QCOM use 512 as the driver version
cap, they would be initialized incorrectly, as they would always
be seen as smaller than the cap. This change will remedy this.
* Updated ParseQualcommVulkanDriverVersion() to set the major version
for the new QCOM drivers as 512 after parsing.
Bug: chromium:371512561
Change-Id: I9cd5cf6d3dec50eb900429e4fdda6c563f670f7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6460066
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
49d0a332
|
2025-04-08T16:07:17
|
|
Vulkan: Remove ring buffer allocators
* Removed the ring buffer allocator functionality from ANGLE:
angle::RingBufferAllocator
* Also removed the related common files.
* (Pool allocators will be used at all times.)
* Removed the placeholder functions from the pool allocator.
* Removed the following BUILD flag:
angle_enable_vulkan_shared_ring_buffer_cmd_alloc
* Removed redundant line from ContextVk.
Bug: b/410036490
Change-Id: I368fb93a66ddfd192018b09f65004a32339abd5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6442640
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cf7eeec2
|
2025-04-04T00:00:00
|
|
Simplify client version compare operations
Packed client context version struct into two bytes
and defined specialized compare operations instead
of using std::tie.
Bug: angleproject:408843436
Change-Id: Ic7d91f171a3bce40d46b9cfd3c65d1fc3d3f568c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432439
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
838c6596
|
2025-04-14T16:46:42
|
|
Add EGL image tests where source texture is modified
Covering the following cases:
* The source texture is changed with glTexImage2D. In this case, the
image is orphaned and the siblings point to the old image.
* The source texture is used in a compute shader. In Vulkan, the
internal image backing is recreated, and siblings should continue to
track the new image (which they don't, due to a bug).
* The source texture is completely overwritten. This is in anticipation
of a follow up change in the Vulkan backend that similarly may
recreate the backing image of the texture (and should not be affected
by the same bug).
* The source texture's base level is completely overwritten while the
image is in use, and glGenerateMipmap is called. This is also in
anticipation of another follow up change in the Vulkan backend that
may recreate the backing image.
Bug: angleproject:42265356
Bug: angleproject:410584007
Change-Id: I2d5f7f668d77ec6940d34bdf80eb7c885fc6a59d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6454132
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
33e035f9
|
2025-04-04T00:00:00
|
|
Enforce correct usage of gl::Version
In preparation for the implementation update,
ensured that gl::Version struct is always
initialized with 8-bit values.
Bug: angleproject:408843436
Change-Id: Idcc925b49cadc7fdc4f05ff2acaed8020e72a32e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6458758
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e39bcdc3
|
2025-04-09T17:26:34
|
|
Support GLES query counter bits
ANGLE only support query GL_QUERY_COUNTER_BITS_EXT
with TIME_ELAPSED_EXT or TIMESTAMP_EXT, but other targets
should also be supported. Since the values are stored in
32 bits, we just return 32 for other target. An end2end
test is added.
Bug: angleproject:409674598
Change-Id: I98941f4dd36ef62c57bcb87475ebb9f626c1bbf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6437686
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
4be3143c
|
2025-04-10T15:18:52
|
|
Vulkan: Vertex attribute hole crash workaround
When the start vertex index of glDrawArrays is not 0, this hole
case will crash again.
* Added a condition to bypass the attribute update if the
attribute pointer is null.
* Added a glDrawArrays(GL_TRIANGLES, 3, 3) in unit test
VertexAttribPointerCopyBufferFromInvalidAddress
Bug: angleproject:359729255
Change-Id: I1d7f50dc56080ef0b4e48c4c3c983189a26171c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6445172
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Mavis Deng <mavis.deng@arm.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ac8607a9
|
2025-03-27T16:46:21
|
|
Vulkan: Disable graphics pipeline on ARM due to performance loss
ARM is investigating on Graphics Pipeline Library(GPL) on contents
whose performance loss is unacceptable. Therefore, it's recommended
to disable GPL until the problematic area gets fixed and the final
performance data is acceptable.
Bug: angleproject:404581992
Change-Id: I2bcb5f8bca3d64be0e947d7262a615ef867532ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400174
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a3f2545f
|
2025-04-11T14:03:08
|
|
Tests that exercise overwriting textures while in use
The first three tests are credit Cheryl Wei <@arm.com>, adopted from
https://chromium-review.googlesource.com/c/angle/angle/+/3366193
The change also exposed the fact that the force_fallback_format with
ASTC leads to assertion failure if ASTC emulation is not built. This
change adjusts the format table to fix that as well.
Bug: angleproject:42265356
Change-Id: Ib68355f317472d8cc3f035b492b273ac452a8217
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6447202
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d32c6c03
|
2025-04-11T15:12:24
|
|
Vulkan: Treat present SURFACE_LOST_KHR as OUT_OF_DATE
... when in shared present mode.
Handle `VK_ERROR_SURFACE_LOST_KHR` the same way as
`VK_ERROR_OUT_OF_DATE_KHR`, because on some platforms (observed on
Android) swapchain recreate still succeeds making this error behave the
same as OUT_OF_DATE. In case of a real surface lost, following
swapchain recreate will also fail, effectively deferring the failure.
This will avoid generating swap buffers failure unnecessarily, which may
cause abortion of the application.
Bug: angleproject:409809766
Change-Id: Ie8abd6b10f160254c94abc0f799195d7414681e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6450580
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
a5d750fb
|
2025-03-25T14:24:19
|
|
Add test to check EGL_KHR_platform_android
Add an end2end test to check that eglGetPlatformDisplayEXT
can use EGL_PLATFORM_ANDROID_KHR to get display. Also, to
follow the spec, ValidateGetPlatformDisplayCommon should
set EGL_BAD_PARAMETER for unsupported platform.
Bug: angleproject:404581995
Change-Id: I20a962adb2dab4434141417b11c959924aff1597
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6369995
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
96628296
|
2025-04-04T00:00:00
|
|
Fix GL_OES_texture_3D entry points validation
* Added missing checks to the extension
entry points to generate proper error
messages.
* Ensured that the extension entry points
are invalid on unextended OpenGL ES 3.x
contexts.
* Fixed invalid usage of the extension entry
points in PLS tests.
Fixed: angleproject:409959473
Change-Id: If579e6171751dea1049e1ed85020f485d1e9deb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6449807
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@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>
|
|
d5ab1331
|
2025-04-09T20:26:47
|
|
Reland^2 "Enable VVL on vulkan instance created in GetSystemInfoVulkanWithICD"
This is a reland of 16c852917d0e384fdba780ee6239ab40c3652a7a
vkGetPhysicalDeviceProperties2 can be null on devices where
VkPhysicalDeviceProperties.apiVersion < VK_API_VERSION_1_1.
Even the vkEnumerateInstanceVersion returns VK_API_VERSION_1_1,
it doesn't mean the actual device supports VK_API_VERSION_1_1.
It only means the loader can handle vulkan instance creaion
requests up to VK_API_VERSION_1_1, so we shouldn't assume the
device also supports VK_API_VERSION_1_1 and fail vulkan
instance creation if vkGetPhysicalDeviceProperties2 is null.
Instead, we should proceed with instance creation, and only check
vkGetPhysicalDeviceProperties2 is not null when the actual device
supports VK_API_VERSION_1_1.
Original change's description
> On Fuchsia, it is possible that there is no vulkan driver and
> vkCreateInstance() triggered VVLDebugUtilsMessenger.
> "vkCreateInstance: Found no drivers" is a
> VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT message. We should only
> care about VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT message
> type. Remove VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT and
> VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT from the
> VkDebugUtilsMessengerCreateInfoEXT.
> Add code to print the VVL message in the log so we know what's wrong.
> Add a condition to only assert when the VVL message severity is
> VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT.
> Bug: angleproject:407116232
> Change-Id: I1ffc4041368782641fc605366ff7cf03e43eb53f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6435033
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:407116232
Change-Id: I138933a235c4e638fac73559903cf77ecef9159a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6444660
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
78048112
|
2025-01-15T15:13:14
|
|
Fix IndexRange::vertexIndexCount calculation
Use only one loop.
Avoid redundant primitive restart index parameter.
Avoid calling GetPrimitiveRestartIndexFromType() because the algorithm
relies on the value being numeric_limits<T>::max().
Fixes a bug where primitive restart case would process the value
after first primitive restart twice, once in both for loops. This would
result in incorrect vertexIndexCount.
Fix by removing IndexRange::vertexIndexCount, and instead using
IndexRange::mCount == 0 to signify empty range.
Bug: angleproject:401284933
Change-Id: Ifaeb9949f2e852fb7c5ef80bc47f72bfabba21a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6333541
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
1c0bcb06
|
2025-04-08T18:42:43
|
|
Reformat VVL error
angleproject:42265363:
dead_by_daylight hits the VVL error covered by another
entry in the skip list. Move the dead_by_daylight comment
above the other entry.
angleproject:42265427:
VVL error added to the skip list in this bug still
occurs on blade_and_soul_revolution and FramebufferFetch*
tests. Change the VVL error message to use the new formats:
remove the messageContents1 and messageContents2, and add more
extraProperties.
Bug: angleproject:42265363
Bug: angleproject:42265427
Change-Id: Ie913a7345b9f16580507894edd4a2befa29e9418
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6442305
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3dcf109d
|
2025-04-10T17:19:09
|
|
WebGPU: Refactor syncClientArrays.
This change adds a few helper methods for syncClientArrays
to improve readability
Bug: angleproject:401499251
Change-Id: Ida427f80e07f469b83ff12850169b2110e65743c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6441946
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|