|
b9cec916
|
2025-08-12T19:44:18
|
|
WGSL: default uniforms gathered in interface block
The default uniform struct was being manually output by
OutputUniformBlocksAndSamplers(), which did not add the appropriate
@align(16) annotations to lay the struct out according to WGSL's
uniform address space layout requirements.
This CL uses Vulkan's method of gathering the default uniforms
into an interface block. The interface block will be output
normally by the traverser, including @align() annotations.
The variable declaring an instance of the interface block is
still output by OutputUniformBlocksAndSamplers() because it needs
special @group() and @binding() annotations.
Bug: angleproject:376553328
Change-Id: Ib3be7d51ffedefe5ec579a1c9aaf0a535146c694
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6795028
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
17e99163
|
2025-08-25T21:19:08
|
|
Tests: Add Ace Racer trace
Test: angle_trace_tests --gtest_filter="*ace_racer*"
Bug: b/441170882
Change-Id: I8a244b2db1c9e62bd401e40ac911e868088c7dba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6882667
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
25390156
|
2025-08-21T00:13:19
|
|
Suppress unsafe buffers on a file-by-file basis in src/ [1 of N]
In this CL, we suppress many files but stop short of actually
enabling the warning by not removing the line from the
unsafe_buffers_paths.txt file. That will happen in a follow-on
CL, along with resolving any stragglers missed here.
This is mostly a manual change so as to familiarize myself with
the kinds of issues faced by the Angle codebase when applying buffer
safety warnings.
-- Re-generate affected hashes.
-- Clang-format applied to all changed files.
-- Add a few missing .reserve() calls to vectors as noticed.
-- Fix some mismatches between file names and header comments.
-- Be more consistent with header comment format (blank lines and
trailing //-only lines when a filename comment adjoins license
boilerplate).
Bug: b/436880895
Change-Id: I3bde5cc2059acbe8345057289214f1a26f1c34aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6869022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
616a341b
|
2025-08-26T13:56:40
|
|
Vulkan: Set EGL_NATIVE_VISUAL_ID for EGL_KHR_platform_gbm
Spec requires EGLConfig on GBM platform to report a GBM color format in
EGL_NATIVE_VISUAL_ID. Previously this field was left unset. This change
ensures compliance by assigning the appropriate GBM color format.
Bug: angleproject:7829
Change-Id: I6c5a23374824c444e0de0b6592ea31eb855722e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6882716
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
611f9ac0
|
2025-08-20T16:10:13
|
|
Lower the cap of max element index
Currently, ANGLE follows vulkan spec and returns UINT_MAX -1
for GL_MAX_ELEMENT_INDEX. However, ANGLE stores vertex index
in int, so even if we use index a little less than the limit,
ANGLE would still catch the overflow error. Modify the cap to
2^30 - 1 to make it safer. An end2end test is also added.
Bug: angleproject:440227026
Change-Id: Ie089c9847f3908f0e8a1b7c4b83c8fea1cde262e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6870270
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
19483cc6
|
2025-08-25T19:27:26
|
|
Tests: Add Bingo Blitz ANGLE trace
Test: angle_trace_tests --gtest_filter=*bingo_blitz
Bug: b/441137178
Change-Id: Ia463fbc93090d2c55a3f35f7cd34ca6267273c7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6882619
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
677d8281
|
2025-08-25T15:59:46
|
|
Vulkan: Pass ContextVk to view-creation functions
In preparation for moving the ycbcr conversion cache to the share group.
This change is a no-op.
Bug: angleproject:440364873
Change-Id: I0c18062259b07813dd04ec02650bb6fab48947ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6879204
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
2b45ec65
|
2025-08-24T12:26:12
|
|
CL/VK: Fix default LWS when GWS is less than 64
In the case where LWS is NULL and GWS is smaller than 64,
the runtime produces a useless uniform region info.
Thus, this change clamps LWS to the GWS to avoid this edge-case.
Bug: angleproject:42267067
Change-Id: I418c7d503918f4f082825924b463c266bfd862dc
Signed-off-by: kyongjoo.oh <kyongjoo.oh@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6877794
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
fee2bf73
|
2025-08-25T15:54:50
|
|
Vulkan: Limit EGL_NV_context_priority_realtime to Android
Device creation fails on Linux when a REALTIME queue is requested,
likely due to permission issues.
Bug: angleproject:397474813
Change-Id: I0451db1dac9cbf2795439b251274f1a8057cbd6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6880530
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5fed937e
|
2025-08-24T12:21:53
|
|
CL/VK: Add a compile option "-inline-entry-points"
When processing the -cl-std=CL2.0 option,
ensure that the processed options string includes
both "-cl-std=CL2.0" and "-inline-entry-points".
This change addresses a CLSPV's compiler option check failure
where the -inline-entry-points flag was not being added
when the -cl-std=CL2.0 (using generic address space) was specified.
Bug: angleproject:440814992
Change-Id: Ie3e8907e367f21830e58cd5c405de06ba2cbd1da
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6877793
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
943aed8c
|
2025-08-25T17:37:34
|
|
Skip fake device with remote desktop on Windows
When connecting with remote desktop on Windows, a fake device with same
vendorId, deviceId, and driverVersion may be reported. This commit adds
logic to skip such device to fix end2end tests.
Bug: angleproject:440892567
Change-Id: Ie3b602385424bf4a77a302793b34eb06b610bbc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6878724
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d65058be
|
2025-08-18T11:01:11
|
|
Vulkan: Add support for GL_EXT_fragment_shading_rate_primitive
Add support for built-in GL_EXT_fragment_shading_rate_primitive and
tests.
Bug: angleproject:397255625
Change-Id: I0f37a87a73e869a91e39402f01e53166b359ec3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6850353
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Panfeng Hou <panfeng.hou@arm.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f63751db
|
2025-08-22T10:34:45
|
|
Fix the UniformSortComparator not following strict weak order
If one uniform is lowp and the other uniform is mediump, then the
compare(a, b) and compare (b, a) both return true. This violates the
strict weak order rule where:
If comp(a, b) == true then comp(b, a) == false
This change fixes the bug.
Bug: angleproject:405795981
Change-Id: I47e2668fc0fa87ecea9d3f9bce511c9823a39929
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876519
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
0af6e4ee
|
2025-08-13T06:16:01
|
|
Vulkan: Check format compatibility to enable mip levels
If redefining the texture level is needed while respecifying the
image storage, the base level could be incompatible with the max
level count.
Enabling the whole level count can cause a null pointer dereference
when copying an image that does not support `pixelReadFunction`.
To handle the problem, this CL checks the format compatibility and
enables only the effective base level.
Bug: b/435727832
Test: angle_end2end_tests --gtest_filter=DXT1CompressedTextureTest.*
Test: angle_end2end_tests --gtest_filter=Texture2DTestES3.*
Change-Id: I01060332f282ef9b2856390d0d7296811a464795
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6813835
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
51cffa97
|
2025-08-13T14:23:51
|
|
Implement EGL_NV_context_priority_realtime
In this extension, new attribute value EGL_CONTEXT_PRIORITY_REALTIME_NV
is accepted for EGL_CONTEXT_PRIORITY_LEVEL_IMG. In ANGLE,
this extension should depend on VK_EXT_global_priority and
VK_EXT_global_priority_query. The implementation of creating device
queue is also modified for this new attribute value. New end2end
test is added to check if this new attribute works.
Bug: angleproject:397474813
Change-Id: I68316fe371f5a495dbc78b106fc89787be18e086
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6857673
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9280c6b9
|
2025-08-20T08:04:15
|
|
Roll VK-GL-CTS from ad59a18f2ce0 to 0a3dad34ebb4 (60 revisions)
Skip
dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.*.texture2d_array_to_texture3d
dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.*
dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.*.texture2d_array_to_texture3d
on Pixel 4 Vulkan
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/ad59a18f2ce0..0a3dad34ebb4
2025-08-15 lorenzo@khronosgroup.org Merge "Merge vk-gl-cts/github-main
into vk-gl-cts/main" into main
2025-08-15 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3
into vk-gl-cts/main
2025-08-14 mateusz.bahyrycz@mobica.com Add tests for copying invalid
binding
2025-08-14 ziga@lunarg.com Add HIC tests for all formats and reduce
other variations
2025-08-14 rgarcia@igalia.com Test buffer and image capture&replay
re-usage with descriptor buffer
2025-08-14 mateusz.bahyrycz@mobica.com Add tests for writting unused and
invalid binding
2025-08-14 mateusz.bahyrycz@mobica.com Add tests for image to buffer
copy for color formats
2025-08-14 rgarcia@igalia.com Modify suspend/resume FDM offset tests to
use consistent offsets
2025-08-14 ziga@lunarg.com Fix image barrier issues in render_to_image
tests
2025-08-14 ziga@lunarg.com Fix invalid access mask in buffer_view
compute tests
2025-08-14 ziga@lunarg.com Fix image layout transitions in image
2d_array_compatible tests
2025-08-14 lorenzo@khronosgroup.org Update SPIR-V sources: replace
gl_SemanticsRelaxed in atomicStore when used with non-zero storage class
semantics
2025-08-14 piotr.byszewski@mobica.com Fix
hlsl_functionality1.counter_buffer on spirv-tools TOT
2025-08-14 syoussefi@google.com GLES: Fix debug tests not clearing the
error (if no message)
2025-08-11 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_shader_untyped_pointers' into main
2025-08-11 lorenzo@khronosgroup.org Update Vulkan headers to v1.4.325
2025-08-08 ziga@lunarg.com Test presenting image from retired swapchain
2025-08-08 piotr.byszewski@mobica.com Test computing LOD from explicit
cubemap derivatives
2025-08-08 gleese@broadcom.com Enable some low-bit-depth bitfield tests
without maint9
2025-08-08 ziga@lunarg.com Fix maintenance9 check in query pool
get_create_reset tests
2025-08-08 ziga@lunarg.com Add missing barrier in sample locations tests
2025-08-08 ziga@lunarg.com Fix layer count in geometry layered tests
2025-08-08 ziga@lunarg.com Fix reading from image in undefined layout in
query pool tests
2025-08-08 david.rosca@amd.com Don't require all modifiers to be
compatible with video
2025-08-08 lorenzo@khronosgroup.org Complete automatic JSON generation
for all remaining KHR extensions
2025-08-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3
into vk-gl-cts/main
2025-08-05 lorenzo@khronosgroup.org Update Vulkan headers to 1.4.324
2025-08-01 zzoon@igalia.com Replace the customized parser with one in
VVS Khronos.
2025-08-01 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12
into vk-gl-cts/main
2025-08-01 lorenzo@khronosgroup.org Add JSON files for
VK_KHR_present_id2 and VK_KHR_present_wait2
2025-08-01 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_present_id2' into main
2025-08-01 abdolrashidi@google.com Shift fixed-point value if between
accepted values
2025-08-01 rgarcia@igalia.com Test descriptor buffer with 3-plane image
formats
2025-08-01 rgarcia@igalia.com Check baseTriangle is honored in opacity
micromap tests
2025-08-01 rgarcia@igalia.com Test large number of compute and task DGC
sequences
2025-08-01 rgarcia@igalia.com Check maxMipLevels/maxArrayLayers in
compressed image copy tests
2025-08-01 david.rosca@amd.com Don't call vkCmdFillBuffer on unsupported
queues
2025-08-01 michal.jakubek@mobica.com Reduce link time and disk space for
Capabilities
2025-08-01 michal.jakubek@mobica.com Unwritten attachments with
dual-source blending
2025-08-01 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3
into vk-gl-cts/main
2025-08-01 lorenzo@khronosgroup.org Auto-generate JSON for
VK_EXT_fragment_density_map_offset
2025-08-01 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_EXT_fragment_density_map_offset' into main
2025-07-25 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6
into vk-gl-cts/main
2025-07-25 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12
into vk-gl-cts/main
2025-07-25 ziga@lunarg.com Fix bad merge
2025-07-25 ziga@lunarg.com Add tests for ms input attachment feedback
loop
2025-07-25 ziga@lunarg.com Test OpImageSampleImplicitLod with
RelaxedPrecision and ycbcr image
2025-07-25 nikigupta@google.com Add test for gl_Position not declared
inside built-in block in geometry shader
2025-07-25 marcin.zajac@cognizant.com Degenerate triangles in AS update
2025-07-25 david.rosca@amd.com Skip unsupported AV1 encode tiling tests
according to maxTiles cap
2025-07-25 ziga@lunarg.com Fix errors in maintenance9
2d_array_compatible image tests
2025-07-25 ziga@lunarg.com Test writes to partially bound ds attachments
are discarded
2025-07-25 gleese@broadcom.com Fix identity checking in subgroup scan
tests
2025-07-25 lorenzo@khronosgroup.org Add auto-generation for existing KHR
extensions (simple ones)
2025-07-25 scerveau@igalia.com VideoEncodeTestsAV1: keep same name for
input filename
2025-07-25 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3
into vk-gl-cts/main
2025-07-24 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3
into vk-gl-cts/main
2025-07-24 lorenzo@khronosgroup.org Add logging and checking for missing
JSONs for VK_KHR extensions
2025-07-24 lorenzo@khronosgroup.org Add
VK_KHR_video_encode_intra_refresh JSON
2025-07-23 okuznetsov@google.com Add full image level copy tests to
es31fCopyImageTests
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,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:440743718
Change-Id: I9313b003dc8ae2a1dd64d264fa2b7847ae2b02ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6865062
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
061a43c6
|
2025-08-13T16:35:20
|
|
CL/Vulkan: Implement cl_khr_priority_hints
cl::CommandQueue contains queue priority from
clCreateCommandQueueWithProperties.
Similar to EGL_IMG_context_priority, a queue with a pre-assigned
priority is selected when submission.
Bug: angleproject:433980937
Tests-Passing: OCLCTS.test_api queue_hint
Change-Id: I3a7bcc62e5d8186b51f771ab2c01cc18ddfcd195
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785088
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
8d43d9b9
|
2025-08-21T21:15:06
|
|
Tests: Add Hunter Assassin ANGLE trace
Test: angle_trace_tests --gtest_filter=*hunter_assassin
Bug: b/440565036
Change-Id: I502db22ba7967406f61ffa1437865992b05c1a34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876526
Auto-Submit: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
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>
|
|
d4d42356
|
2025-08-22T11:30:42
|
|
Remove the duplicated branch
There is no code difference in the if and the else branches,
remove the duplicated branch.
Bug: angleproject:405795981
Change-Id: If593476d2b5cd02567ed1896625072128cf21b0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876346
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
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>
|
|
01cfb98f
|
2025-08-14T14:17:28
|
|
Add a new property to LinkedUniform struct
The new property isTransformedFloat will be used by front end
API to determine if we should transform 32-bit float to 16-bit float
before writing to memory, and transform 16-bit float to 32-bit float
after reading from memory. The property value will be passed from
UsedUniform (child struct of ShaderVariable) object in
UniformLinkder::getResults().
This CL is no op.
Bug: angleproject:405795981
Change-Id: Ic4908712f5fa56cb657206a25d9d618b51ac6322
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6851554
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
20dca0b9
|
2025-08-14T13:54:37
|
|
Add a new TInterfaceBlock class member to hint ANGLE default Uniform
In later change, we will transform floats in ANGLE default uniform
struct from 32-bit to 16-bit in SPIRV. The new class member
mIsDefaultUniformBlock will help us identify this special struct.
This change is no op.
Bug: angleproject:405795981
Change-Id: I939caf7491ab5d7de130ba6a2fd8b1202958c375
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6852398
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ef80e82f
|
2025-08-22T15:07:59
|
|
Skip slow test on Mac Metal AMD
GLSLTest_ES3.ManySamplerFieldsInStructComplex/ES3_Metal
takes 38 seconds and causes batch timeouts.
Bug: angleproject:440536251
Change-Id: I53ad821bc4da4696609f9b8c0f5cbee1ed94dbd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6874571
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>
|
|
86a8d11c
|
2025-08-11T16:45:39
|
|
Metal: Fix potential incorrect format used for texSubImage
TextureMtl caches the most recent format used for a texture
redefinition in mFormat. During subImage calls, this format may not be
the same as the image being uploaded to.
Pass ImageDefinitionMtl to these functions which reference mFormat, it
contains the format of the image being updated.
MacOS OpenGL is skipped because the driver generates errors in
glCompressedTexImage2D.
Bug: chromium:435683799
Change-Id: Idec6f71870c2d376cad3a5e3628b957009bdced9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6838878
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d0ba2fb9
|
2025-08-20T12:16:07
|
|
Tests: Add Onmyoji ANGLE trace
Test: angle_trace_tests --gtest_filter=*onmyoji
Bug: b/440323747
Change-Id: Ia549dcfa370fac23785364adb717babde8b8ca4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6871872
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6c160cad
|
2025-08-04T12:32:36
|
|
CL/Vulkan: cl_khr_external_memory extension (pt.1)
- 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: Idff08808bc0227b5f98b84c2086b68541665146d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785087
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
995c4c4d
|
2025-08-20T12:14:47
|
|
Capture/Replay: Target GLES3.1 to avoid SSO limitations
Retracing with get_min_reqs can produce results which limit trace
portability. Modify retrace script to detect when
GL_EXT_separate_shader_objects is required, and then to increase
min_version to 3.1 where this ext was moved to core and remove
the ext from the required list.
Test: angle_trace_tests --gtest_filter=*onmyoji --use-gl=native
Bug: b/440102792
Change-Id: I36258fd7b9b5c5aa3e87ad9908849ef2a900e898
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6866639
Auto-Submit: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
03068e0c
|
2025-08-20T17:36:22
|
|
[WebGPU] Implement direct copy for images.
This CL implements CopyImage specifically in cases
where the source is the same size and format as the
destination.
Bug: angleproject:438268609
Change-Id: Icf5f3685bb2f49874d996883c839515314f1c189
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842317
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5d9d9b9b
|
2025-08-19T17:12:03
|
|
test: Use eglGetPlatformDisplay()
From the EGL 1.5 spec:
Appendix F
Version 1.5
EGL version 1.5 was voted out of the Khronos Technical Working Group
on January 31, 2014, and formally approved by the Khronos Board of
Promoters on March 14, 2014.
EGL 1.5 is the sixth release of EGL. It introduces the following new
features (the EGL extension(s) each feature is based on are also shown
parenthetically):
* Platform support:
– Providing a mechanism for support of multiple platforms (such as
window systems or offscreen rendering frameworks) in a single EGL
implementation at runtime (EGL_EXT_platform_base).
Until https://crrev.com/c/6552257, many tests used
eglGetPlatformDisplayEXT() which is provided by the EGL
extension EGL_EXT_platform_base. With the promotion of the
EGL_EXT_platform_base functions to core EGL in version 1.5 and ANGLE
supporting EGL 1.5 (as of at least 2019), the calls were updated to use
eglGetPlatformDisplay().
Unfortunately, EGLContextPassthroughShadersTest was missed.
Bug: b/409384875
Test: angle_end2end_tests
Change-Id: I5c620bce98c8e76113588f4c94b77d95a5223171
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6862841
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
6ff016fb
|
2025-03-31T09:52:14
|
|
CL/Vulkan: Update caps for image1d_buffer max size
Updated max number of pixels for a 1D image created
from a buffer object to come from VK implementation.
Bug: angleproject:406022415
Change-Id: I56e9821895245c3a3655ca0c4afbe49ed89baded
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6386422
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
da5a5628
|
2025-08-11T10:53:06
|
|
bitset_utils: Fix GCC shift-count-overflow warning
GCC triggers a -Werror=shift-count-overflow when kDefaultBitSetSize
is 64, due to the constructor compiling a branch with `value >>= 64`.
Although this path is never executed at runtime, GCC still inspects
the code and emits the warning as an error.
Refactored the constructor to:
- Move common reset() into a single place
- Split initialization into initFromValue<S>() overloads
enabled only for S < 64 or S >= 64 via std::enable_if_t
- Avoid generating any shift code when S >= 64
This change ensures GCC does not instantiate invalid shift operations
and keeps the initialization logic cleaner.
BUG: angleproject:438226513
Change-Id: I1ed0b42540f1bfce469d5738757045bc6d92ac61
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845475
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
68baeeeb
|
2025-08-12T15:51:07
|
|
State: avoid GCC -Waddress by using constexpr null-check helper
GCC with -Waddress warns that the static_assert comparing
`handlers[0] != nullptr` is always true when MakeDirtyObjectHandlers()
fully initializes the array. During constant evaluation, handlers[0]
is replaced with the specific member function address
(&State::syncActiveTextures), which can never be null, making the
comparison tautological.
This change replaces the direct `handlers[0] != nullptr` check with a
constexpr helper that iterates over all handlers and verifies none are
null. By comparing each element in a loop, the check still runs at
compile time (constexpr), but avoids a direct “function address vs
nullptr” pattern that triggers -Waddress.
BUG: angleproject:438226513
Change-Id: Iaa8441000f8b2aa28c44d17730ca223fd4d4595b
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845477
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
39265327
|
2025-08-13T08:05:24
|
|
Fix BindDescriptorSetParams bit-field size and -Wpadded warning
Replace pipelineBindPoint : 8 with full VkPipelineBindPoint to hold all
enum values. Reorder members and adjust bit-field widths to pack within
32-bit units, adding explicit padding to eliminate compiler-inserted
padding and silence -Wpadded.
BUG: angleproject:438226513
Change-Id: I8950fcb10d5796bd8485791f63980a2905179324
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845479
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9bd6785d
|
2025-08-12T15:19:08
|
|
Revert "Tests: Skip CapturedTestCL to unblock vulkan-deps roll"
This reverts commit 2a5ad67c883a28436d7399d73a2ccdb9ef53c641.
Additionally, this modifies CapturedTestCL.cpp so there is no
failure coming from the vulkan-deps roll.
Bug: angleproject:438220619
Bug: angleproject:438195622
Change-Id: I6cf2d11d7ff77ce4513948b22b8c59d970c7810b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842222
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1622d4ad
|
2025-08-13T07:22:13
|
|
Fix -Wparentheses in unlockAndRelease
Add parentheses around (valid && owns_lock()) to clarify the intended
grouping and silence GCC -Wparentheses warning.
BUG: angleproject:438226513
Change-Id: I0d4f3e0153c277c96ec85f255f844bab085f9550
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845478
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
119ffd44
|
2025-08-13T16:07:52
|
|
Fix -Wreturn-type in ShadowSamplerFunctionsTest::FunctionName
Add UNREACHABLE() and a fallback return to ensure the non-void function
always returns when switch does not cover all enum values.
BUG: angleproject:438226513
Change-Id: I3904dd59b323b90930d9251b060ab7067ff412c7
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845486
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3474d4f3
|
2025-08-13T08:13:31
|
|
Guard overlayVk->onPresent call in drawOverlay
GCC warns "'this' pointer is null" (-Wnonnull) when overlayVk could be
null at the call site. Wrap the call with an explicit null check to
avoid dereferencing a null overlay and silence the warning.
BUG: angleproject:438226513
Change-Id: I3c719d703277c0a888eac9fb9edaaac77cf76a85
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845481
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a06cb368
|
2025-08-12T11:45:43
|
|
Fix GCC -Wdangling-pointer warning in NodeStackGuard
The previous implementation stored the address of a local member
(oldNodeStack) into ConsList::tail, which triggers the warning even
though the lifetime is safe within the guard's scope.
This change allocates a copy of the previous nodeStack on the heap
using std::make_unique, and stores that pointer in tail. This ensures
the referenced ConsList object has a lifetime tied to the guard object
itself and is not considered a dangling pointer by GCC's static
analysis.
BUG: angleproject:438226513
Change-Id: Ifea04515db7b1988dff6ec41c60799158b753128
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845476
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
2b8f216c
|
2025-08-13T08:44:34
|
|
Fix GCC -Wdeprecated-copy warning in ImageLoadContext
Add an explicit copy assignment operator to ImageLoadContext to replace
the implicitly-declared, deprecated version. This makes the intended
assignment behavior explicit and silences the GCC warning when assigning
a default-initialized value.
BUG: angleproject:438226513
Change-Id: I44d9b8bf12c5e3172d30ce5413460d881e61449b
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845482
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7febacfe
|
2025-08-13T08:10:11
|
|
Remove unused compressionProp in TextureVk::initImage
compressionProp was declared and sType initialized but never used,
triggering -Werror=unused-but-set-variable with GCC. The query path
uses compressionInfoVar instead, so drop the dead variable and its
initialization.
BUG: angleproject:438226513
Change-Id: Ib81f418a570b1a7fd858eec4cee4250db49cdd08
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845480
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6b03372e
|
2025-08-13T08:58:35
|
|
Fix GCC -Wconversion-null error in WriteParamValueReplay
Replace insertion of NULL with the string literal "NULL" to prevent
GCC -Wconversion-null.
BUG: angleproject:438226513
Change-Id: I7048bc43f282d94e72a5e090176c805d2baa5b06
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845483
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4c834956
|
2025-04-09T20:30:43
|
|
CL/Vulkan: Add fp16/64 to extension list if supported
The checks for fp16 and fp64 support are already setup on the vulkan
backend and clspv side. Add them to the reported extension list.
Also added "-d" flag to bruteforce smoke to toggle
off 64-bit precision testing
(i.e. just test single precision in smoke for now)
Bug: angleproject:433980941
Change-Id: Icbbde7500cf43e5c0a256411f001252bfec5ad24
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785092
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
806c80ec
|
2025-08-14T13:41:58
|
|
Add a new ShaderVariable struct property
Add a new ShaderVariable struct property isTransformedFP16FloatUniform.
This property will be set by compiler when the corresponding shader
variable data type in shader code is transformed from 32 bit to
16 bit. The property value be later passed to LinkedUniform so that
the frontend knows if it should transform the data from 32 bit to 16
bit before writing to memory, and if it should transform the data
from 16 bit to 32 bit after reading from memory.
This change is no op.
Bug: angleproject:405795981
Change-Id: Iaae15baa8ab9f7c3295071fa1e1ab04752bd69bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6852396
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
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>
|
|
240f6af8
|
2025-08-12T14:32:40
|
|
Capture/Replay: Pick up API SSBO binding changes
GenerateLinkedProgram pulled uniform block bindings from
inShaderBindings, but for trace this does not pick up API-side
changes to the bindings with glUniformBlockBinding calls for
example, resulting in missing geometry in some games.
Test: angle_trace_tests --gtest_filter=*onmyoji
Bug: b/438231427
Change-Id: I1b95c004c4fd856dc8b3a91cdef3e9251a275ca6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842217
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
1d8279a2
|
2025-08-13T13:35:02
|
|
Do not sort ANGLE internal uniforms or built-in uniforms
On Mac, for webGL app on chrome, if the uniforms added by ANGLE
are not placed at the top of the ANGLE_UserUniforms struct, the user
defined uniforms in the same ANGLE_UserUniforms struct seem to be
messed up and not read correctly by shader code. This change fixes
it by moving the sortUniforms() function call to the place before we
add ANGLE internal uniforms. That way ANGLE internal uniforms will
be inserted later and stay on top of ANGLE_UserUniforms struct.
Bug: chromium:437678149
Change-Id: I34a0d3dcb98c5fe30ad248381ecb5f7f78252275
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6847281
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
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>
|
|
63d8f74c
|
2025-08-12T19:39:03
|
|
WGSL: move DeclareDefaultUniforms() out of SPIR-V
WGSL needs the same thing (default uniforms gathered into
an interface block).
Changes 3 things in the file move:
1. Now capable of adding a named interface block (Vulkan's
is nameless) to hold the default uniforms.
2. Removes inactive uniforms
3. Deals with the case where there are no active default
uniforms, by not declaring an interface block at all.
Bug: angleproject:376553328
Change-Id: Ia25318b4db93068010c3c44414cd00803b783799
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6843929
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
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>
|
|
2eef3701
|
2025-08-11T20:25:42
|
|
FrameCapture: Handle null texture in MEC
When interating through a UnsafeResourceMapIter, we need to
check for null entries before dereferencing.
Test: Fortnite MEC
Bug: b/180418810
Change-Id: I0dc234234f9bb219026b2b67febb32e8af19e8b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6839286
Reviewed-by: Xiang Wang <xwxw@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Xiang Wang <xwxw@google.com>
|
|
edb05627
|
2025-08-12T12:17:36
|
|
Fix sort uniform bug
Current sort doesn't take care of the case when both uniforms
are struct specfiers. Given that struct types are easily broken by
sort, make the sort not reordering uniforms if both are structs.
Bug: b/437825940
Change-Id: Idda1810ac4234f7e1547735e4e09658ab0a57eed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842936
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
899f3505
|
2025-08-07T09:59:19
|
|
TestSuite: Android: Call onCrashOrTimeout() on test crash
Currently, when a test crashes on Android we don't get any results for
tests that ran or for the crashing test itself. This makes it difficult
for developers to debug the issue, since they don't know which test
crashed.
Add signal handlers which call onCrashOrTimeout() when a test crashes.
Typically, crashes occur within the individual tests rather than in the
test runner (TestSuite), so it should be "safe" to attempt to dump the
results up to and including the crash to aid with debugging.
This is still risky since things are in a bad state, but we expect
(essentially) all crashes to be in the individual tests, ANGLE, or the
underlying driver code, rather than in the TestSuite instance, so
writing the results JSON file should have a good chance of succeeding.
Worst case, we just crash again and get nothing (like we have before
this change).
Bug: b/279980674
Change-Id: Ifd5f3b97d5af731586e7bbf765bb60b3cb4f503b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6827986
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Solti Ho <solti@google.com>
|
|
cfeea900
|
2025-08-12T17:23:32
|
|
Vulkan: Don't require COLOR_ATTACHMENT_BLEND_BIT for YUV format
The only way to render to yuv texture is via EXT_yuv_target, but
EXT_yuv_target spec
https://registry.khronos.org/OpenGL/extensions/EXT/EXT_YUV_target.txt
explicitly said you have to disable blend: "Blending applies only if the
color buffer has a fixed-point format and non YUV space format color
buffer.". Thus when we check if format supports rendering, we should
exclude VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT if its YUV format.
Bug: b/432398245
Change-Id: If5bfa58db30465ab707f63f34dd6487d8a03652f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6843926
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ef4bc113
|
2025-08-07T14:20:08
|
|
Add DIR_METADATA to specific buganizer_public component_id
Currently LUCI Analysis file bugs for angle test flaky issue under the
top level Chromium component, example: http://crbug.com/401993176
These bugs should filed directly under the Public Trackers > ANGLE, to
avoid engineers updating the component manually.
Bug: b/437142709
Change-Id: Ie8fa4f02fea10c49cb94d736f674f655fe9f791b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6829151
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d1edb4e
|
2025-08-08T18:21:03
|
|
Fix the assert on texture target to allow GL_TEXTURE_CUBE_MAP_ARRAY
Add anend2end test to verify glCopyImageSubData works.
Bug: b/419863436
Test: TextureCubeTestES32.CopyImageSubDataCubeMapArray
Change-Id: I2a569680ed20f05b4182045cb4bdf08d4c66d8df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6832639
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Xiang Wang <xwxw@google.com>
|
|
7e28089b
|
2025-07-31T18:44:01
|
|
WGSL: support bvecs in uniforms
WGSL does not allow booleans in the uniform address space.
The last CL uses u32s to represent bools in the uniform address
space, and this CL uses vecN<u32> to represent bvecN.
Bug: angleproject:376553328
Change-Id: Ibf9f1fbf230ca03dd3d4661ba599e5fb1cb26ac4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6808955
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
f92d6f4b
|
2025-04-07T17:42:46
|
|
CL: Route API trace to logcat for Android
For better logging when running Android APKs
Bug: angleproject:433980940
Change-Id: Ib924262a92728d0a9711a5b98f051634341859d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785090
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5fb77159
|
2025-08-12T15:21:25
|
|
Add stubs for GL_ARM_texture_unnormalized_coordinates
Bug: angleproject:352345942
Change-Id: I05e2b0c83f07bfe35eb58fc657b834f6253d4cb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6839660
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shufen Ma <Shufen.Ma@arm.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
316e6831
|
2025-08-08T14:14:20
|
|
Vulkan: Support KHR versions of surface/swapchain_maint1
They are straight promotions of the EXT versions of the extensions.
Bug: angleproject:430106352
Change-Id: I889dfda99d8ad35de1672914e7cc73b2879be6a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6832392
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a5ad67c
|
2025-08-12T10:23:10
|
|
Tests: Skip CapturedTestCL to unblock vulkan-deps roll
Test: angle_end2end_tests --gtest_filter=CapturedTestCL.*
Test: capture_tests.py
Bug: angleproject:438195622
Change-Id: I9dd0f861ce4325c29305aa8de598f3434ec86ab3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842935
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b2e2766c
|
2025-08-12T11:08:46
|
|
Translator: Reject bool < bool
This is not allowed per the GLSL ES spec.
Bug: chromium:437983671
Change-Id: I9bd46718a35917dcdf6382cd51253ca2b68d5636
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842555
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3643c21d
|
2025-08-11T15:02:18
|
|
Suppress oclcts NonUniform Workgroup failures pt.2
Suppress 2 other non-uniform workgroup
smoke tests (as a stop-gap) until we root-cause
the issue.
Unblocks:
https://chromium-review.googlesource.com/c/angle/angle/+/6831861/1
Bug: angleproject:42267085
Change-Id: I956d3706e160f38e33e5789e70abdc343fac8b54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6838877
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
555b2328
|
2025-08-08T13:32:13
|
|
BindVertexBuffer should pick up buffer change in other context
Buffer is modified in the first context and calling glBindVertexBuffer()
of the same buffer on the second context should pick up the buffer
changes made in first context.
Bug: b/433331119
Change-Id: I694f66b38b11b87e0efa8d9b939f8384120823af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6830125
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
9a23635c
|
2025-08-09T18:17:33
|
|
Tests: Add Frost and Flame trace
Test: angle_trace_tests --gtest_filter="*frost_and_flame*"
Bug: b/437598600
Change-Id: Icf8c5ce3e0e1f0cadc442aedc8b38a70efb1e3f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6834277
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
5f5baf86
|
2025-08-08T10:22:07
|
|
Reduce WebGLCompatibilityTest::L32FTextures test time
This test is looping formats. Within each loop it compile the same
program which makes this test take very long to finish. This CL caches
the programs so that it only compile/link once. This reduce this test
run time on my local gLinux box from 1633 ms to 326 ms.
Bug: angleproject:40096431
Change-Id: I32d7ad4fd25e1e4130766578fff21b1a2058c183
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6830119
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9367369d
|
2025-08-08T16:56:58
|
|
Tests: Add Kingshot trace
Test: angle_trace_tests --gtest_filter="*kingshot*"
Bug: b/437417676
Change-Id: I6c4a7a095266f6f99b0810854acbbfb50024d52f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6832638
Reviewed-by: Solti Ho <solti@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ca3d732d
|
2025-07-24T16:22:31
|
|
WGSL: support bool in uniforms
WGSL does not allow booleans in the uniform address space.
This CL changes the translator to substitute u32 for bool
in the uniform address space, and convert it to bool on use.
Arrays of bools are obviously arrays of u32s, and those
will need special conversion functions to convert the entire
array<u32> to array<bool> if necessary.
This also includes the optimization of an array<bool> in a
uniform--when indexing into it, only the indexed element
will be converted to a native bool, instead of converting
the entire array and then indexing.
Note that substituting u32 for bool matches std140, so this
change requires no changes to layout of uniforms.
Also note that WGSL really likes explicit casts, so there's
not really a way to avoid inserting explicit casts everywhere
when using u32.
Bug: angleproject:376553328
Change-Id: I8f72e55c6b401c28ff622622df7a450b7032721f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785609
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
41e44587
|
2025-08-06T20:04:23
|
|
BufferBindingMask in VertexArray::onBufferChanged are same buffer
The bufferBiningMask bits received from VertexArray::onBufferChanged()
must point to the same buffer, in case of one buffer is bound to
multiple binding points. We can do some minor optimization here when we
loop the BufferBindingMask bits: We only need to calculate hasConflict
once when we call updateCachedTransformFeedbackBindingValidation().
Bug: b/433331119
Change-Id: I9f7cfa543deb46cd369915293b97f5d3122e1708
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6826782
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d63cff37
|
2025-08-06T13:31:02
|
|
Fix bug when rebind the same buffer not pick up the change
Buffer is modified in one context and rebind the same buffer on the
second context should pick up the buffer changes.
Bug: b/433331119
Change-Id: I8085fe826c339692881f2d3d6515efb19bbc4a88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6825767
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
8796f68c
|
2025-08-07T14:25:19
|
|
Tests: Add Top Heroes: Kingdom Saga trace
Test: angle_trace_tests --gtest_filter="*top_heroes_kingdom_saga"
Bug: b/437162076
Change-Id: Ia690266b34f0da0c23fbd099ed28f20657529644
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6828593
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7c8e357c
|
2025-07-15T17:24:25
|
|
Fix NULL handling in glGetAttachedShaders and ShaderPrecisionFormat
Fix the case where passing NULL to the shaders parameter in
getAttachedShaders and to the range and precision parameters in
getShaderPrecisionFormat would trigger assertions.
Bug: angleproject:431900689
Change-Id: I0d01bbb0d13f9a4704b47066c85ac7c1368534a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6733749
Auto-Submit: Tingwei Guo <tingwei.guo@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
b778f1ce
|
2025-08-07T15:31:01
|
|
Balance test shards to 10 minutes
Shards increased due to googletest roll:
angle_end2end_tests on Win ASAN: 10 -> 14
angle_deqp_gles3_tests on Linux ASAN and TSAN: 8 -> 11
Drive-by shards increase for slowness which was not investigated:
angle_end2end_tests:
on Linux Intel and Windows and Linux NVIDIA: 2 -> 3
on Win Intel experiment (UHD 770, 2 processes): 3 -> 5
on Win Intel (UHD 630, 1 process): 4 -> 10
angle_restricted_trace_gold_tests
on Linux Intel and Windows and Linux NVIDIA: 1 -> 3
on Win Intel UHD 770: 1 -> 4
on Win Intel UHD 630: 1 -> 5
angle_trace_perf_vulkan_tests
on Win Intel UHD 770: 2 -> 4
on Win Intel UHD 630: 2 -> 3
Skip EGLDisplayTest.ContextLeakAfterTerminate on Linux Intel,
which started failing with the new sharding.
Bug: angleproject:428697844, angleproject:437259106
Change-Id: I3ba458aa7b68bddf9786bb9fcbc2a3ed7479556c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6827389
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d8dc3cc2
|
2025-08-02T12:02:20
|
|
Remove shared context lock from glVertexAttrib{I}Format
This CL removes shared context lock from glVertexAttribFormat() and
glVertexAttribIFormat() APIs, since they no longer access anything
outside VertexArrayPrivate. The main problem I had run into is
validation code. Before this CL, ValidateIntegerVertexFormat() needs
context's mStateCache for mCachedVertexAttribTypesValidation and
mCachedIntegerVertexAttribTypesValidation. Given these two cached value
are constant after initialization, in this CL, I have moved them to
PrivateStateCache. PrivateStateCache argument is added to
ValidateVertexAttribFormat() and ValidateVertexAttribIFormat() to get
them access to mCachedIntegerVertexAttribTypesValidation.
Bug: b/433331119
Change-Id: Ifc3fbed32b4d3722c335dd2c393bc6519ed0b544
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6822032
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
61ddca79
|
2025-08-07T11:16:29
|
|
Tests: Add Gossip Harbor ANGLE trace
Test: angle_trace_tests --gtest_filter=*gossip_harbor
Bug: b/437087719
Change-Id: Ia0d313b3e34074df8e24ad3eae63b4718ed2bfc7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6828000
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c39f1d0f
|
2025-08-01T15:44:11
|
|
Move updateCachedTransformFeedbackBindingVali* to VertexArray
Since updateCachedTransformFeedbackBindingValidation needs buffer
argument, this is now moved from VertexArrayPrivate to VertexArray class
to make it obvious. Also mCachedTransformFeedbackConflictedBindingsMask
is per bindingIndex, so I have changed it from AttributeMask to
VertexArrayBufferBindingMask.
Bug: b/433331119
Change-Id: I321267637ba661b18ef236260a17e6e8f7043eb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6814158
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ae4aead5
|
2025-07-24T16:35:38
|
|
Remove sharedContextLock from glVertexAttrib{Divisor|Binding}
With prior CLs all the functions used by glVertexAttribDivisor*,
glVertexBindingDivisor and glVertexAttribBinding only access
VertexArrayPrivate. This CL removes shared context lock from these APIs.
Bug: b/433331119
Change-Id: Ib1632797c53d2cd7a31c21e93c0e69385c71a27f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6814157
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
328a205f
|
2025-08-07T11:02:12
|
|
Revert "Fix bug when reattach the same buffer not pick up the change"
This reverts commit a93f4c8d29c8d214e4823032e6e2c061d5dab1b1.
Reason for revert: https://issues.chromium.org/437092065
Bug: b/433331119
Original change's description:
> Fix bug when reattach the same buffer not pick up the change
>
> Added a test that the same buffer is used in two contexts. Buffer is
> modified in one context and reattached the same buffer on the second
> context's vertex array should pick up the buffer changes. This test
> exposed the bug and it is fixed in this CL.
>
> Bug: b/433331119
> Change-Id: Ia5675581857a642fe9727f196326da9af43d52cf
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6821923
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/433331119
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Iaa14b5dbbdb02c69bb060d5073072ec6ddd473ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6827998
Auto-Submit: Charlie Lao <cclao@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
1943d505
|
2025-08-06T10:03:45
|
|
Tests: Add Seaside Escape ANGLE trace
Test: angle_trace_tests --gtest_filter=*seaside_escape
Bug: b/436801950
Change-Id: Iedc4b03317ef02585ccf86b54494f1938379a68a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6823580
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Mark Łobodziński <mark@lunarg.com>
|
|
a93f4c8d
|
2025-08-05T16:45:21
|
|
Fix bug when reattach the same buffer not pick up the change
Added a test that the same buffer is used in two contexts. Buffer is
modified in one context and reattached the same buffer on the second
context's vertex array should pick up the buffer changes. This test
exposed the bug and it is fixed in this CL.
Bug: b/433331119
Change-Id: Ia5675581857a642fe9727f196326da9af43d52cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6821923
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
7a193b06
|
2025-08-06T13:50:50
|
|
Unthrottle validation error messages for all of Chromium
Chromium uses the debug callback to check if there were any errors
instead of glGetError(). With the previous change that throttled error
messages, some webgl tests failed to correctly recognize that an invalid
call did actually fail validation, as well as passthrough command
decoder fuzzer tests.
Bug: angleproject:423956139
Bug: chromium:436292490
Change-Id: Ida254c9bdd2137afcc9483cc1860254781338dbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6823824
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
88de021d
|
2025-08-01T17:15:22
|
|
tests: Skip PbufferDifferentConfig on system EGL
Skip the test EGLBackwardsCompatibleContextTest.PbufferDifferentConfig
when testing the system EGL, because not all platforms expose
ANGLE-specific extensions.
Bug: b/409384875
Test: angle_end2end_tests \
--gtest_filter=EGLBackwardsCompatibleContextTest.PbufferDifferentConfig/ES2_Vulkan_NoFixture
Change-Id: I1556d7981d1e6c8c6fc1803cafcb76fa1052dcef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6814161
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
bc7e86b1
|
2025-07-30T14:55:34
|
|
tests: RequestedRendererCreated: Get created context version
If the driver being tested does not support the ANGLE extension
EGL_ANGLE_create_context_backwards_compatible, then the Context version
returned may not match the requested version.
Update the test RendererTest.RequestedRendererCreated to query the
current Context's version if the extension is not supported so the
renderer string is checked against the correct value. Continue enforcing
the renderer string has the expected value if the extension is
supported.
Bug: b/409384875
Test: angle_end2end_tests
--gtest_filter=RendererTest.RequestedRendererCreated/*
Change-Id: Iad1b6d36a31b7d79e8fc5fae9e4cc9769b55edb8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6803326
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c2316adb
|
2025-08-05T10:43:09
|
|
Add support for ARM to expectations file
Add support for skipping tests on ARM devices with the tag "ARM".
Bug: b/279980674
Change-Id: If310955c5dfb2af19493f8af70f4f6c00c97fcc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6821832
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
da8462d4
|
2025-08-06T05:44:28
|
|
Unthrottle validation error messages in WebGL
Chromium uses the debug callback to check if there were any errors
instead of glGetError(). With the previous change that throttled error
messages, some webgl tests failed to correctly recognize that an invalid
call did actually fail validation.
Bug: angleproject:423956139
Bug: chromium:436354527
Change-Id: Ic65761f412d3548fedd63f48d36357c9568c0b53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6822578
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f1c6e1a8
|
2025-08-04T19:55:02
|
|
Vulkan: Disable EXT_fragment_shading_rate
Due to a few dEQP failures, this extension will be
temporarily disabled. It can be reverted once the issues
have been resolved.
* Disabled fragmentShadingRateEXT for Vulkan.
Bug: b/436169197
Bug: angleproject:420310117
Change-Id: I94fbbb8b0a0866465e8c67e34c214b465fc35558
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6820702
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
394df705
|
2025-08-01T14:03:17
|
|
Cache per bufferIndex buffer properties in VertexArrayPrivate
This is another preparation CL. This CL caches per bindingIndex buffer
properties in VertexArrayPrivate: mCachedBufferPropertyMapped and
mCachedBufferPropertyMutableOrImpersistent. The only difference between
these and mCachedMappedArrayBuffers /
mCachedMutableOrImpersistentArrayBuffers is that one indexed by
attribIndex and another is indexed by bindingIndex. With this, when
attribute binding changes, we no longer need to make buffer access. With
this, we can move setVertexAttribBinding and setVertexBindingDivisor
from VertexArray into VertexArrayPrivate class and Context argument is
also removed.
Bug: b/433331119
Change-Id: I666544ee0585727ca92d640f372f5a64d1d85576
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6814156
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
5f42ce7e
|
2025-08-05T11:57:54
|
|
Enable KHR-GLESEXT tests on bots
* Enabled several bots to run the khr_glesext tests.
* Skipped some failing tests for Vulkan.
Bug: b/436389014
Change-Id: If0c43f508eb04c21307f75c6dc62e3ef30b0556e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6821642
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
71b7b5ee
|
2025-08-04T18:44:35
|
|
Add KHR-GLESEXT test suite
* Added rules to build new dEQP test binary to run KHR-GLESEXT tests:
angle_deqp_khr_glesext_tests
Bug: b/436389014
Change-Id: I53b74605d3c2a9a5f6a8fece17bc3f7656a6772c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6820701
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f3b4b716
|
2025-08-05T14:28:04
|
|
TracePerfTest: Disable debug callbacks for GLES1 on Android
We're seeing nullptr crashes when running GLES1 traces through
the Android EGL loader with debug callbacks enabled.
The callbacks are only enabled for Debug builds.
Current theory is that the loader exposes the extension, but
doesn't actually connect the call for GLES1 contexts.
For now, expand the existing ARM skip to all Android devices.
Test: restricted_trace_perf.py --renderer vulkan -f minetest
Bug: b/352386141
Bug: b/436624755
Change-Id: I8ebe8f53c5efdecb2169ce017886753779ef5219
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6821913
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bafe39e2
|
2025-07-14T16:07:51
|
|
Vulkan: Use BindIndexBuffer2 when available
This Vulkan API becomes available with VK_KHR_maintenance5. In
addition to the original args, it also takes the index buffer size.
* Added the necessary functions to use the following API:
vkCmdBindIndexBuffer2KHR()
* handleDirtyGraphicsIndexBuffer() now uses this API if maintenance5
is available.
Bug: angleproject:394337110
Change-Id: I9a650ac5a033b449da05e0c226e2cfb6df74a75c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6735725
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
eca5244d
|
2025-07-30T16:59:16
|
|
Remove buffer from VertexArrayState::setAttribBinding
In later CLs we try to remove shared lock from glVertexAttribBinding().
One of the lockers for that is right now setAttribBinding() references
"buffer" for size. This CL caches the per binding index bufferSize in
VertexArrayPrivate (i.e, std::vector<size_t> mCachedBufferSize).
setAttribBinding() moved from VertexArray to VertexArrayPrivate since it
no longer needs buffer access, but uses mCachedBufferSize instead.
This CL also changes std::vector to std::array for mVertexArrayBuffers
Bug: b/433331119
Change-Id: Ie34aef82379af8f04099cdc20ebdf354d2787a65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6803592
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
fc0e0397
|
2025-07-31T13:15:45
|
|
Translator: Fix location validation for inout
Without this validation, a shader using an inout variable can
write into a memory beyond the limit set by MaxDrawBuffers when
shader framebuffer fetch is enabled.
* Extended the location check in visitSymbol() to include InOut
qualifiers (EvqFragmentInOut) as well (in ValidateOutputsTraverser).
* Moved RewritePixelLocalStorage() after ValidateOutputs() to avoid
issues related to locations not being specified in the InOut nodes
from the PLS implementation.
* Added a unit test to test that this case results in a compilation
error: GLSLTest_ES3.CompileFSWithInoutLocBeyondMaxDrawBuffers
Bug: chromium:435139154
Change-Id: I44c729377a2e1d3126c2d279172217b2ab92b57b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6806230
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
be43e317
|
2025-07-31T17:40:24
|
|
EXT_external_buffer should have DYNAMIC_DRAW usage
EXT_buffer_storage requires that BUFFER_USAGE must be DYNAMIC_DRAW.
EXT_external_buffer only mentions that the buffer can be sourced from an
external EGLClientBuffer. Therefore, the BUFFER_USAGE should still be
DYNAMIC_DRAW.
Add an end2end test.
Bug: angleproject:436046320
Change-Id: Ie79a1b1f8be0df4566bff26800599b192c4f70b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6817076
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
35023c8a
|
2025-07-31T17:40:45
|
|
Throttle validation error messages in release builds
Some apps make invalid but harmless calls every frame. ANGLE inserts a
debug message for each validation failure which comes with a performance
cost. This change makes ANGLE stop reporting validation failure messages
after a handful have already been reported. This is only done when
assertions are disabled and when the context is not a debug context.
Bug: angleproject:423956139
Change-Id: Ie3fb121b2686cddf7da98fc23422b5d12097c6fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6805901
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fa29f604
|
2025-07-02T13:23:31
|
|
Remove sharedContextLock from {Enable|Disable}VertexAttribArray
VertexArray objects are per context objects. In theory they do not need
to protected by shared context lock. The reason we are taking locks
because all these functions end up accessing Buffer object which are
shared. In prior CLs we have removed subject observer usage from
VertexArray which means VertexArray no longer accessed from other
thread. In prior CLs we also split VertexArray into two classes:
VertexArrayPrivate which has no buffer, and VertexArray which is
subclass from VertexArrayPrivate and owns buffer. In this CL,
glEnableVertexAttribArray and glDisableVertexAttribArray calls no longer
take shared context lock. ContextPrivateEnableVertexAttribArray and
ContextPrivateDisableVertexAttribArray are called from these two APIs
and they only have access to StatePrivate. State Private holds a
VertexArrayPrivate pointer, which means they do not have anyway to
access buffer objects. The main challenge I run into here is
mCachedActiveClientAttribsMask, mCachedActiveBufferedAttribsMask,
mCachedActiveDefaultAttribsMask, mCachedHasAnyEnabledClientAttrib,
mCachedNonInstancedVertexElementLimit,
mCachedInstancedVertexElementLimit. These StateCache variable needs to
be updated when these two APIs are called, and calculating these
variable needs access to buffer object. The solution here is adding a
bool mIsCachedActiveAttribMasksValid in the PrivateStateCache so that
instead of immediately update these mCached* variable, we just set
mIsCachedActiveAttribMasksValid to false. Then whenever any of these
mCached* variable is needed, we will check
mIsCachedActiveAttribMasksValid and calculate these cached variables. It
adds one if check when accessing these caches, but the other benefit is
that we may have avoided duplicated calculation when multiple states
changed.
Bug: b/433331119
Change-Id: I3227c72bc40501712db93fb3d540b835f07150b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4514436
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
2ef85c24
|
2025-07-09T17:13:52
|
|
Vulkan: Add support for GL_EXT_fragment_shading_rate
Add support for GL_EXT_fragment_shading_rate.
Bug: angleproject:420310117
Change-Id: I7b368afc45baf8551c222b2569991269117d385b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6726817
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Panfeng Hou <panfeng.hou@arm.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
279652e3
|
2025-07-21T16:21:28
|
|
Vulkan: Flush more often due to render pass count
Accumulating too much workload before submission can lead to
stuttering and reduced quality in rendering. In this change,
a threshold is set for the number of render passes in order to
submit the command buffer.
* Added the following to ContextVk: mRenderPassCountSinceSubmit
* It is incremented every time a render pass begins in the command
buffer.
* When the count reaches the following threshold at the RP closure,
there is a submission: kMaxRenderPassCountPerCommandBuffer
* (Currently set to 128)
Bug: b/426439980
Change-Id: I4cde223fb81e6a27a61f78c924d3c9f2a082e995
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6775626
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a1d5d102
|
2025-07-22T02:15:43
|
|
WGSL: Allow matrices as in/out vars in shaders
WGSL only supports scalars and vectors in in/out vars in shaders,
matrices will need to be broken into column vectors and then
put back together at the beginning (or end) of the shader.
Arrays also need to be split, which will be done in another CL.
Bug: angleproject:42267100
Change-Id: If1ba28c1b687ae0a3a5a554479f0ff0b5d9df39c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6777201
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|