|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
b81b7115
|
2025-04-04T00:00:00
|
|
Fix entry point replacements in TracePerfTest
The same entry point name, including its suffix,
must be used when replacing command arguments
for perf testing to avoid validation errors.
Fixed: angleproject:409576882
Change-Id: I076f476a7fec3fcd6a6d5e59016a67bf2cdc1aa5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6446633
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
cb60429d
|
2025-04-04T00:00:00
|
|
Fix BlitFramebuffer entry point validation
* Fixed validation for BlitFramebufferNV
and BlitFramebuffer (ES 3.0).
* Updated tests.
Fixed: angleproject:409579363
Change-Id: I11ef69433a5ae947c0deb069bd0abfa0144e9661
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6444471
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4f450985
|
2025-04-09T14:34:01
|
|
Skip 3D texture unpack test on Mac
* Skipped the following test on the Mac bots (for AMD):
Texture3DTestES3.PixelUnpackParamsChangeTexImage/ES3_OpenGL
* Example of error on the bots:
https://ci.chromium.org/ui/p/angle/builders/ci/mac-exp-test/2475
Bug: angleproject:406566447
Change-Id: Iea584dd8526ac1773c6a0bd22ea8ad3e1ef05b14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6444358
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
76561acc
|
2025-04-04T00:00:00
|
|
Fix use of OpenGL ES 3.2 commands in tests
Fixed tests that used OpenGL ES 3.2 commands instead
of extensions when running on lower context versions.
Bug: angleproject:409484297
Change-Id: I1d032a8ed4df429e564c24321101b4dfcd5d1ba8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6441554
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
02ae054c
|
2025-04-07T13:48:29
|
|
Translator: Fix init of inactive output variables
Bug: chromium:398401939
Change-Id: I0df494b945b8d0e805a62cf7645d06bf233f36ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6438495
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a6f44806
|
2025-04-01T17:30:53
|
|
Wrong condition to call copyBufferDataToImage
In function copyBufferDataToImage, it call vulkan vkCopyBufferToImage
directly. To call copyBufferDataToImage directly, it needs that there's
no overlap when copy.
If mImage is not valid, it will assert in mImage->getActualFormatID().
Need to check its validation at beginning.
Bug: angleproject:406566447
Change-Id: I875c2a97bec52251b9c5b3d196466e8bf5ce662d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400313
Auto-Submit: Jiaqi Li <Jiaqi.Li@arm.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
3207b535
|
2025-04-08T12:50:19
|
|
Tests: Skip new denorm test on Pixel 6
Test: GLSLTest_ES3.DenormFloatsToIntValues
Bug: b/406827038
Change-Id: I9202e750dc5f80f1ed0d9c2153cdc2c73b72c1d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6441469
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2fcd88e1
|
2025-04-08T09:30:59
|
|
Tests: order bot mode batch configs alphabetically
Currently ordered by hashmap key ordering which shuffles the order even
with --max-processes=1. Adding a sort to make this deterministic.
Bug: angleproject:408276172
Change-Id: Ice96e350ba4247a1f40870e275d04d2f654bc4f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6438024
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
8424dd22
|
2025-04-08T13:39:59
|
|
Suppress end2end test on iOS Metal
PixelLocalStorageTest.FlushFinishSync added in
https://chromium-review.googlesource.com/c/angle/angle/+/6427324
Bug: angleproject:40096838
Change-Id: Ibd357a357823e757c71c0d4527db774f721b28f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6440285
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
1a1978fd
|
2025-04-08T13:29:12
|
|
Suppress dEQP-GLES2.functional.debug_marker.random on Linux SwANGLE
Bug: angleproject:42266920
Change-Id: Ib45f9c6f5c64c6fab5310f8ea24b5da308097c66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6439421
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
d27a1fd0
|
2025-04-03T19:59:20
|
|
Compiler: Allow denorm float values in the lexer
This adds an option to preserve denorm values in the lexer,
skipping the explicit zero conversions for below range floats.
There are applications in the wild that expect to be able to
use denorm float values. They are typically immediately converted
to integer values, not used in floating point operations.
The option is only enabled for Vulkan backends.
Test: FloatLexTest, DenormFloatsToIntValues, app traces
Bug: b/406827038
Change-Id: Iab5a1a69a540b78ccbce8ea90b532d2d4976e29e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432237
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
79832ea3
|
2025-04-07T10:33:17
|
|
Revert "Suppress 5 dEQP EGL tests on Pixel 6 Vulkan"
This reverts commit 87950668c45a0b5df6045d750afd4fd3c0502be2.
Reason for revert: should be fixed by
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/9860
Original change's description:
> Suppress 5 dEQP EGL tests on Pixel 6 Vulkan
>
> Report VUID-vkGetDeviceFaultInfoEXT-device-07336 after VVL roll
> https://chromium-review.googlesource.com/c/angle/angle/+/6430461
>
> Bug: angleproject:408225528
> Change-Id: I5208e5b4a8eea598feb0a155a6dadb3e1e722143
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432451
> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bug: angleproject:408225528
Change-Id: Ie832e7cb6856184e51a26d27c372753e2e597137
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6439031
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
0f356a34
|
2025-04-02T14:14:43
|
|
Update invalidation commands to disable PLS
Previously, commands that flush or invalidate tiled memory were
specified to generate an error if issued while PLS was active.
Remove all provisions around Flush(), Finish() and ClientWaitSync(),
and add a test to ensure these commands have no effect on PLS.
The reason we can make this change now is because we no longer support
EXT_shader_pixel_local_storage, which previously prevented us from
allowing these 3 commands.
Update the invalidation commands to disable PLS instead. This is more in
line with the general design pattern of PLS. Update the wording of the
spec to reflect this better organization.
Also clean up some legacy code that was no longer used.
Bug: angleproject:40096838
Change-Id: I9687deaf17a583f8757ffcd050eda154b4e7a949
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6427324
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
3818d37d
|
2025-04-04T15:07:59
|
|
CL: Add end_capture to capture/replay tool
Many different applications don't explicitly make it clear
the ending frame of what's being run. With the end_capture
utility, when the user sets end_capture to 0, the application
automatically finishes the capture immediately.
Example OpenCL applications where this is useful:
AI-Benchmark, Geekbench Compute, Geekbench AI
Bug: angleproject:402174922
Change-Id: I1710ae1b1703f710865a9862c4cf3de753c2ccbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6339791
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
c9e90490
|
2025-03-27T18:26:19
|
|
Capture: Keep binary data in memory in chunks
This is needed for taking large captures out of Chromium, because its
memory allocator refuses to allocate objects bigger than 1~2GB.
Incidentally, it also optimizes taking large captures by avoiding
frequent calls to `vector::resize` while the vector is very large.
Bug: b/381284577
Change-Id: I4ccd3c8ea50df59520334f70e99083847da20c9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6406214
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f798b0d2
|
2025-04-04T08:17:57
|
|
Vulkan: Remove enablePreRotateSurfaces feature
Removed to simplify the code and to avoid the problem for which
`presentSubOptimalReturnedOnTransformChange` feature was added.
Platforms without the per-rotation support always have
`VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR` as the `currentTransform`, so
the code will perform the same as when the feature was disabled.
Add `warmUpPreRotatePipelineVariations` to explicitly control
per-rotation pipeline warm up.
Bug: angleproject:42262166
Change-Id: I44f6c221c11105f01f62f62622987b1955bc58aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433586
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
87950668
|
2025-04-04T10:38:07
|
|
Suppress 5 dEQP EGL tests on Pixel 6 Vulkan
Report VUID-vkGetDeviceFaultInfoEXT-device-07336 after VVL roll
https://chromium-review.googlesource.com/c/angle/angle/+/6430461
Bug: angleproject:408225528
Change-Id: I5208e5b4a8eea598feb0a155a6dadb3e1e722143
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432451
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
0f9feb49
|
2025-03-15T23:51:04
|
|
Metal: Use render passes for B2T PBO copies.
This would make it possible to avoid setting ShaderWrite usage to all
textures in future.
Bug: chromium:392521084
Change-Id: I25145f3578589c71ee469df08162d3a3f17c8cbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6356129
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
f56c8e02
|
2025-03-28T00:00:00
|
|
Fix & cleanup advanced blend equations support
* Made advanced blend equation extensions
enableable to facilitate better testing.
* Made initial BLEND_ADVANCED_COHERENT state to be
unconditionally true regardless of the extension
support. If the coherent extension is unsupported,
that state must not be observable anyway.
* Ensured that advanced blend equation functionality
is supported on unextended OpenGL ES 3.2 contexts.
* Removed redundant ES 2.0+ context version checks
because these extensions must never be enabled
on ES 1.x contexts.
* Fixed ValidateBlendBarrierKHR to set the correct
error code and properly mark invalid calls.
* Added more negative test cases and enabled
tests on OpenGL ES 3.0 contexts.
Bug: angleproject:42262258
Bug: angleproject:406922380
Change-Id: I709376ad40b09972a31a691ca3813e87dd2c8165
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421857
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
45de9be0
|
2025-03-27T16:38:28
|
|
num_views layout qualifiers are allowed only in vs
Bug: angleproject:385038758
Change-Id: I415c9d83b227673f9fbeeb30e8f51d69c34212ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6414749
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Robic Sun <Robic.Sun@arm.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
eec873ed
|
2025-03-28T00:00:00
|
|
Fix FramebufferTexture2DMultisampleEXT validation
Generate an error when the samples value is negative.
Bug: angleproject:406922380
Change-Id: I508f3ddf82e30291fdcc3086ab19ebfa4f84947c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421716
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
bbf92d12
|
2025-03-21T12:43:14
|
|
Vulkan: Add workaround flag for extra submit fence
This change is a workaround for some devices exhibiting a
device-lost error related to the fence usage in the command
batches when working with EGL sync objects, such as a cycle
similar to below:
- <Some GL work>
- eglCreateSyncKHR()
- glFlush()
- eglDupNativeFenceFDANDROID()
- eglDestroySyncKHR()
- <More GL work>
(The exact point of error and the reason for the device-lost
remain unknown.)
This change is meant to mitigate such errors on those devices if
needed. However, for the rest, the feature will remain disabled.
* Added a new feature flag: enableExtraSubmitFence
* Modified the usage of mFence in CommandBatch
* It is also used when enableExtraSubmitFence is enabled, even if
there is an external fence.
* When there is an external fence, this object is used to create
an empty submission after the primary commands are submitted
using the external fence.
* Added the config to enable EnableExtraSubmitFence for the following
suite: EGLSyncTest
Bug: b/384477641
Change-Id: I05f8bdcc804967c4984416af802326d22afd7a46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6378778
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0d1478f3
|
2025-03-27T18:40:05
|
|
Fix dFdx() dFdy() in frag shader not work as expected
When render to FBO0, Y axis will flipping, Angle's compile module
will handle this, but only when glsl version > 300, that's a mistake
as glsl 100 also have dFdx/dFdy when have GL_OES_standard_derivatives.
Bug: angleproject:406819301
Change-Id: I656cfcfdeff1e80db374cfa083578adda6064e69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6407233
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Neil Zhang <Neil.Zhang@arm.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
de71760b
|
2025-03-28T00:00:00
|
|
Ensure ValidateGetMemoryObjectParameter entry point consistency
Invalid calls must not reach the context.
Bug: angleproject:406922380
Change-Id: I6b4fadabe93215839fcd6c8d35952f37d5a6755b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6417007
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
4536457b
|
2025-03-28T00:00:00
|
|
Ensure ValidateCompressedTex[Sub]Image*Robust consistency
Invalid calls must not reach the context.
Bug: angleproject:406922380
Change-Id: I3c3849c08f17fda76f4cf1f2b4ec989d3da81431
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6415818
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
64dc6096
|
2025-03-28T00:00:00
|
|
Ensure ValidateDelete{Program|Shader} consistency
Deleting program zero is valid.
Deleting shader zero is valid.
Bug: angleproject:406922380
Change-Id: I2a26be8200585fae3a70c0a904be96ff590ebe7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409251
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b1eecd41
|
2025-03-28T16:54:49
|
|
Skip flaky BlitFramebufferTest on Linux Intel GL
Bug: angleproject:404958319
Change-Id: I287723feeb7ba3a526a9b4eab91ef53d16f436bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409092
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
9542be7f
|
2025-03-28T16:37:15
|
|
Allow uninstantiated ContextNoErrorTestES31
No ES31 on iOS Metal.
Bug: angleproject:406935597
Change-Id: I754c8bb7ba6a1798f7c55411ad5332eca8c7b86a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409091
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
184a389f
|
2025-03-27T00:00:00
|
|
Ensure program state for indirect draw entry points
If the currently bound program is being relinked,
Context::prepareForDraw needs to wait until it's
ready before syncing the backend state.
Added the required logic and no-op handling
to indirect draw entry points.
Fixed: angleproject:406935597
Change-Id: I82fb426b02a275bc67f71f9bd07484fa5802bc09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6404481
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0bd4e4fe
|
2025-03-20T17:34:47
|
|
Add EGL siblings check in eglCreateImage
If a renderbuffer/texture is created from an EGL image, then it is
an EGL target and considered as an EGL sibling. If it is used to
create EGL image, then it would also be an EGL source.
EGL_BAD_ACCESS should be returned. An end2end test is also added.
Bug: angleproject:406029225
Change-Id: I51fe5b70d8a6d1939ae1defc02edfe5cf8167684
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6389218
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
799d301f
|
2025-03-27T00:00:00
|
|
Ensure program state for multi-draw entry points
If the currently bound program is being relinked,
Context::prepareForDraw needs to wait until it's
ready before syncing the backend state.
Aligned all three no-op draw context helpers.
Fixed: angleproject:406814763
Change-Id: I10eed90bb2fe853b558291fc8fe17d13652e0420
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6405536
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7fb1ac40
|
2025-03-10T20:28:56
|
|
Support EGLImageTargetTexture2DOES + GenerateMipmap
According to the spec, If an application adds mipmap levels
to a texture originally created with EGLImageTargetTexture2D,
OpenGL will allocate new memory for the updated texture,
copying existing data, including from the EGLImage source.
So, relevant support is added.
Bug: angleproject:405840226
Change-Id: I4495df2d8ee1e18b4482808a290dcd861ef85b77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6335305
Auto-Submit: Robic Sun <Robic.Sun@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
8cf89716
|
2025-03-14T20:17:07
|
|
Vulkan: Remove perFrameWindowSizeQuery feature
Feature was enabled for all platforms in order for surface to be resized
before acquire next image (not only after swap). Remove it, as if it's
always enabled to simplify the code.
Bug: angleproject:397848903
Bug: angleproject:42262287
Bug: angleproject:42262286
Bug: angleproject:40096601
Change-Id: I768772e30f5f38f68992e5b82c84430732aa77d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354166
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
081934f6
|
2025-03-12T15:22:31
|
|
Vulkan: Add avoidInvisibleWindowSwapchainRecreate feature
There is a bug on some NVIDIA drivers on Linux X11 when
`vkAcquireNextImageKHR()` constantly returns `VK_ERROR_OUT_OF_DATE_KHR`
if recreate the swapchain while window is not visible.
If not recreate the swapchain after window resize - nothing happens,
acquire and present works without errors. But if recreate the swpahchain
to the `VkSurfaceCapabilitiesKHR::currentExtent` the next
`vkAcquireNextImageKHR()` will return `VK_ERROR_OUT_OF_DATE_KHR`. ANGLE
will retry to recreate the swapchain one more time and fail the call.
Enabling the "avoidInvisibleWindowSwapchainRecreate" feature will avoid
swapchain recreation when window size changes while it is not visible.
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.ResizeInvisibleWindow/*
Bug: angleproject:397848903
Bug: angleproject:42264022
Bug: angleproject:42263074
Change-Id: I48588bf467d15c0e84b923092e06a42c22084dcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6348739
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
caf14998
|
2025-02-25T17:28:05
|
|
Vulkan: Fix window surface resize and size query
Added `mSizeState` enum member. When it is not `Resolved`, surface size
is not yet resolved and may change any time in response to native window
resize. Otherwise, surface size is resolved and will not change until
next swap.
Updated `getUserWidth()`/`getUserHeight()` methods. They return
current window size when surface size is not resolved, or current
surface size, otherwise. Window size is queried either by
`getCurrentWindowSize()`, when surface is sized by swapchain, or
by querying vulkan surface capabilities.
The "perFrameWindowSizeQuery" feature controls when `mSizeState` is
updated. Initially it is not resolved. Marked as not resolved in
`invalidateSwapchain()`, and in `deferAcquireNextImage()` when the
feature is enabled. It is marked as resolved after swapchain is created
when feature is disabled, or in `AcquireNextImageUnlocked()` function
after acquire next image, otherwise.
Enabled some tests that were previously failing. Replaced old resize
tests with new versions.
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.Resize*/*
Bug: angleproject:397848903
Bug: angleproject:373659619
Bug: angleproject:153329980
Bug: angleproject:42266013
Bug: angleproject:42265843
Bug: angleproject:42265529
Bug: angleproject:42264022
Bug: angleproject:42263074
Bug: angleproject:42261800
Bug: angleproject:40096826
Change-Id: I3ad836960a68229fab6c94624022f1a0aaf2c3e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6300645
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e44357c6
|
2025-03-25T15:50:15
|
|
Vulkan: Do not defer ANI in shared present mode
Calling ANI in shared present mode is not necessary after the initial
acquire. Skip calling `deferAcquireNextImage()` in that mode.
For code simplicity and as a preparation for (anglebug.com/400711938),
the `invalidateSwapchain()` method is now also defers ANI and notifies
`SubjectMessage::SurfaceChanged` to the parent class. `Framebuffer`
message handling was updated to also reset color buffer dirty bit and
to notify `SubjectMessage::DirtyBitsFlagged` if needed, as in the
`SubjectMessage::SwapchainImageChanged` message case (which will be
removed in future CL). This way, single `SubjectMessage::SurfaceChanged`
message is enough to handle swapchain recreate.
The `VK_SUBOPTIMAL_KHR` is no longer treaded as OUT_OF_DATE when in
shared present mode. Added for consistency (since we are already
skipping "perFrameWindowSizeQuery" checks), to preserve content, and to
match the Android native GLES driver behavior.
Call `invalidateSwapchain()` when swapchain operations fail to avoid
repeated swapchain use and to be able to recover from the error.
The `checkForOutOfDateSwapchain()` was split into two methods:
- checkForOutOfDateSwapchain():
- Called only after present.
- Checks present out of date result and present mode compatibility.
- Invalidates the swapchain and updates the present mode if the above
checks fails.
- prepareSwapchainForAcquireNextImage():
- Calls `queryAndAdjustSurfaceCaps()` and `recreateSwapchain()`
if swapchain is invalid.
- Calls `queryAndAdjustSurfaceCaps()` and checks surface properties
when "perFrameWindowSizeQuery" is enabled. Then calls
`recreateSwapchain()` if something changed.
Other changes:
- The `prepareForAcquireNextSwapchainImage()` method was replaced with
`prepareSwapchainForAcquireNextImage()`.
- Removed `doDeferredAcquireNextImageWithUsableSwapchain()` and
`postProcessUnlockedAcquire()` methods because of redundancy.
- Move image invalidation code into `acquireNextSwapchainImage()` to
make `doDeferredAcquireNextImage()` simpler.
- Convert `resizeSwapchainImages()` into `createSwapchainImages()` for
simplicity.
Updated old and added new tests.
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.ReadFramebufferBindingSyncState/*
Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.OnCreateWindowSurface/*
Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.OnSetSurfaceAttrib/*
Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.WindowResize/*
Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.WindowRotation/*
Bug: angleproject:400711938
Bug: angleproject:397848903
Bug: angleproject:42262606
Change-Id: I2247417aa8b7b5afc10a8420083aeb845895aec9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387920
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
94e93cb5
|
2025-03-14T10:24:02
|
|
Add validation of type mismatch for glQueryCounterEXT
The list of modified validation API:
- ValidateQueryCounterEXT
Bug: angleproject:403313561
Change-Id: Iff0b5c90417df7c1ae6ecf871892fa5bad7533d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355765
Auto-Submit: Xinyu Fang <xinyu.fang@arm.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1a24f8f8
|
2025-03-26T17:34:26
|
|
Update formatting in EGLPrintEGLinfoTest
Replace all occurrences of "\t" with 4 spaces and remove trailing
whitespace
Bug: angleproject:42262676
Change-Id: I7378669a7d080a9db10ac100d00a3d3aa5292abb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6396628
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e265a38d
|
2025-03-26T09:32:47
|
|
Tests: Update ChangeFBOSizeWithNoAttachments test
Replace `GL_DRAW_FRAMEBUFFER` with `GL_FRAMEBUFFER`. This should not
make any difference, since test does not use the read framebuffer, but
it causes failure on Intel GPU on Window. Test works as expected if bind
default framebuffer to the `GL_READ_FRAMEBUFFER` binding.
GL beck-end internally uses `GL_FRAMEBUFFER` in many places. Correct
draw and read framebuffers are restored at draw time. Note, that
syncing `DIRTY_BIT_READ_FRAMEBUFFER_BINDING ` during draw is
unnecessary and may even cause bugs (because
`DIRTY_OBJECT_READ_FRAMEBUFFER` is not also synchronized). This may be
fixed in future CL, which will cause this test to fail even if keep it
as-is. It is because read framebuffer binding will be left in dirty
state after internal `GL_FRAMEBUFFER` bindings.
Test: angle_end2end_tests --gtest_filter=FramebufferTest_ES31.ChangeFBOSizeWithNoAttachments/*
Bug: angleproject:42266132
Change-Id: Ic6b7cdc2f0c94905f8387624d514a1d18e5b2572
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6396635
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
253ceef5
|
2025-03-27T10:38:17
|
|
Skip PixelLocalStorageTest.TextureCubeFaces on iOS Metal
Fails since it was added
https://chromium-review.googlesource.com/c/angle/angle/+/6394235
https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/75904/overview
Bug: angleproject:40096838
Change-Id: I850ca3c9abe9548c0ff04ec3dbec7a660ea4d4ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400617
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
f94b8ed1
|
2025-03-24T00:00:00
|
|
Allow PLS planes backed by cube map faces
Adjusted extension validation and spec language.
Bug: angleproject:40096838
Change-Id: I6e36fe63ed9d9d91a92298e3471b084b225ecfd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394235
Reviewed-by: Chris Dalton <chris@rive.app>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
c2679dbc
|
2025-03-10T12:15:08
|
|
Key vertex array index range cache on restart
Key vertex array index range cache on primitive restart enablement.
Add the test to WebGLCompatibilityTest as otherwise the
VertexArray::getIndexRange() is not testable. Currently WebGL
compatibility contexts allow changing primitive restart.
Bug: angleproject:401284933
Change-Id: I48a53770d7dcb2276b89fd743f4834c53c8d8d1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6333538
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
09c7dc63
|
2025-03-24T00:00:00
|
|
Fix cube map array dimensions validation
* Used correct caps for width, height, and depth limits
in TexImage entry points with cube map arrays.
* Used correct dimensions for checking max possible level
in TexStorage3D entry point with cube map arrays.
* Used correct caps for width, height, and depth limits
in TexStorage3D entry point with cube map arrays.
Fixed: angleproject:406012438
Change-Id: I935de34db0854627a8a0b00cfc0bfa8cf0de06e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387919
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3bedb294
|
2025-03-26T13:04:52
|
|
Skip flaky BlitSmallColorLargeDepthAttachments on Mac Intel GL
Bug: angleproject:404959032
Change-Id: Idf972e36a0f10b14e89df54fd94572e2c6cede1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394382
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
7831e2ad
|
2025-03-25T19:45:58
|
|
Allow uninstantiated ClearTextureEXTTest tests on iOS
ClearTextureEXTTestES31Renderable
ClearTextureEXTTestES31Unrenderable
Not instantiated, since iOS Metal backend doesn't support ES3.1
https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/73740/overview
Bug: angleproject:384967031
Change-Id: If01cdcd40224856233dde836cbd8a76129172052
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394256
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5024ccef
|
2025-03-25T11:37:19
|
|
WebGPU: Emulate line loops with primitive restarts
Bug: angleproject:383356846
Change-Id: Iab1d658cb3c5e32f88241f6757d1c2e5a84bf8ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297524
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
66914aac
|
2025-03-25T02:03:18
|
|
Revert "Tests: suppress -Wunused-private-field warning"
This reverts commit 6808ef839ad26a21465e877e810792ff8b6ebf06.
Reason for revert:
The unused member variable was removed in
https://github.com/KhronosGroup/VK-GL-CTS/commit/d07776ce3fe452cd22f28acd82325e82d4ca07ac
which was rolled into Angle in
https://chromium-review.googlesource.com/c/angle/angle/+/6342525
Original change's description:
> Tests: suppress -Wunused-private-field warning
>
> The latest version of Clang warns about an unused member variable in
> es31fSRGBDecodeTests.cpp. Suppress it for now.
>
> Bug: chromium:393942204
> Change-Id: Ic03c2f8f2710ff3ccf44c102d1fd991bc4d1d380
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226805
> Auto-Submit: Hans Wennborg <hans@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bug: chromium:393942204
Change-Id: I92ac62b708c72b24c9909b047165466c8eb94da5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388618
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
3cf0e755
|
2025-03-24T18:37:30
|
|
Allow uninstantiated TextureFixedRateCompressionTest on iOS
Not instantiated, since iOS Metal backend doesn't support ES3.1
https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/72008/overview
Bug: angleproject:352364583
Change-Id: I8dc2c19d90ac2d78a71b365492676b9caf575826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388616
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
34db1c20
|
2025-03-20T12:56:42
|
|
Vulkan: glReadPixels should nearest sample the YUV render target
Vulkan backend uses texture except texelFetch to obtain the YUV image
value for glReadPixels. According to the chroma filter set in the image,
it may apply LINEAR sampling.
* Change this filter to NEAREST inside glReadPixels to get the correct
pixel values.
* Modify the fragment shader used in glReadPixels to make sure sampling
from the center of the pixel.
* Add a new end2end test.
Bug: angleproject:404394628
Change-Id: I0e574a464639e11671f0a09eee3e9f38b5abd919
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6366299
Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
316c99e1
|
2025-03-24T19:42:03
|
|
Suppress 3 PixelLocalStorageTest on iOS Metal
PixelLocalStorageTest.ColorAttachment0Workaround
PixelLocalStorageTest.CopyTexSubImage
PixelLocalStorageTest.RasterizerDiscard
Bug: angleproject:40096838
Change-Id: I92d403d67495907042b37ffc5a689eea8b18b1da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387040
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
dba77589
|
2025-03-21T14:02:29
|
|
Translator: Fix output-variable-init vs after-main declarations
Bug: chromium:400504716
Change-Id: I105180cd10dda5238c228d16c9f4e15f1bf49e77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6383079
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ea58cc5d
|
2025-03-21T10:06:18
|
|
PLS: Validate mip level bindings are within base/max range
It is undefined behavior for imageLoad/imageStore to access a mipmap
level outside the effective base/max range. Since PLS may be implemented
with shader images, we need to require that the mip level bindings on
active planes are within this range.
Bug: angleproject:40096838
Change-Id: I539016d94db161f1af0ae1bd496a123b78fb51dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382273
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
22744d7e
|
2025-03-24T18:29:29
|
|
Skip GLSLTest_ES3.MaxVaryingWithFeedbackAndGLline on iOS Metal
Bug: angleproject:375244081
Change-Id: Id29dc201ff93f880c4de104e3194d7b4c51b118f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388615
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|