|
062f1fc1
|
2024-12-17T22:22:04
|
|
Vulkan: Use waitFenceUnlocked to finish one command Batch
Using `CommandBatch::waitFence()` in finish one command Batch is no
longer necessary, since `mQueueSubmitMutex` remains locked, preventing
adding new commands when `kInFlightCommandsLimit` is exceeded.
The `Locked` suffix is removed from `finishOneCommandBatchLocked()`
since it is now accepts the `lock` (similarly to `waitFenceUnlocked()`)
and may temporarily unlock it.
Test: angle_end2end_tests --gtest_filter=EGLSyncTest.BlockingOnSubmitCPUThrottling/*
Bug: b/362604439
Change-Id: I8f39d7b2e6f1b9ce8ed4aa8875375769211572e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6098256
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0cfea380
|
2025-01-15T10:46:54
|
|
Rename sh::TSpan as general purpose angle::Span
Span abstraction is useful for making buffer manipulation more
consistent. The commit makes the Span available to all code until
std::span can be used.
Bug: angleproject:389951202
Change-Id: Id0c6b54bb6e75d3cc4e85af854d9e61b66906752
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6170997
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b4cb17b8
|
2025-01-15T10:08:39
|
|
Roll VK-GL-CTS from 9509eb274dfe to 962460e9975c (9 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/9509eb274dfe..962460e9975c
2025-01-10 javed@igalia.com Add tests for input assembly primitive stat
with tess
2025-01-10 piotr.byszewski@mobica.com Fix promoted extension tests not
running correctly
2025-01-10 ziga@lunarg.com Fix supported sample count check in
draw_copy_resolve tests
2025-01-10 marcin.zajac@mobica.com Fix validation error in api tests
2025-01-10 nikolaysmirnov@google.com Add
multiple_render_targets_overdraw test
2025-01-10 gleese@broadcom.com gen_framework.py: Fix some alignment
2025-01-10 gleese@broadcom.com Update amber version to the latest
upstream
2025-01-10 rgarcia@igalia.com Test varying tessellation state in
Indirect Execution Sets
2025-01-10 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1
into vk-gl-cts/main
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: angleproject:390138123
Change-Id: I6b653b347550d4a7d4f75e3ce1a0f7bf20e0d0cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6175280
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
28fbe4a5
|
2025-01-15T10:12:05
|
|
Docs: Fix CIPD link
For whatever reason, markdown wasn't resolving the link.
Bug: None
Change-Id: I27848b0ddbd579c7faf5832119d6521113dfea13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6172575
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3675ca04
|
2025-01-07T17:59:30
|
|
Vulkan: Bugfix for xfb GL_SEPARATE_ATTRIBS mode in PPO case
The new executable state transformFeedbackBufferMode should hold
the result of the link.
An end2end test is added.
Bug: angleproject:385662281
Change-Id: I52398ad9a9fe76344b94dac787cae7141924d1dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6156277
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4c1354d9
|
2025-01-03T14:41:27
|
|
Make sure the AHB is not corrupt when bound to egl image
The AHB bound to egl image could be corrupt or not a valid
ANativeWindowBuffer, it should be validated when creating
egl image.
Bug: angleproject:387226848
Change-Id: Iefc5506746ceaad92d16b02d5c0838156eee2f9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6126739
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0501d32f
|
2024-12-23T18:02:54
|
|
Draw call with un-aligned index buffer should be checked
Bug: angleproject:385264236
Change-Id: I1ff7e93bf4b9ea9020e82f3558e4157b74cb7078
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6151227
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d9c0aa4a
|
2025-01-09T18:08:08
|
|
Reland "Roll third_party/glmark2/src/ ca8de51fe..2054465f6 (77 commits)"
This is a reland of commit 68b594e859f036b01974f78f8ddca8c419bc8ce3
Includes fixes to glmark2Benchmark.cpp to parse updated output.
Original change's description:
> Roll third_party/glmark2/src/ ca8de51fe..2054465f6 (77 commits)
>
> https://chromium.googlesource.com/external/github.com/glmark2/glmark2/+log/ca8de51fedb7..2054465f6f7c
>
> $ git log ca8de51fe..2054465f6 --date=short --no-merges --format='%ad %ae %s'
> 2024-04-25 alexandros.frantzis Use std::filesystem throughout the codebase
> 2024-04-25 alexandros.frantzis android: Build native code with C++17
> 2024-04-25 alexandros.frantzis Doc: Recommend meson for building win32 flavors
> 2024-04-25 alexandros.frantzis github: Build win32 flavors with msvc in CI
> 2024-04-25 alexandros.frantzis github: Build win32 flavors with mingw in CI
> 2024-04-25 alexandros.frantzis include/getopt: Always use non-const char array to avoid MSVC errors
> 2024-04-25 alexandros.frantzis libmatrix: Add utility function to get idle time
> 2024-04-25 alexandros.frantzis libmatrix: Add utility function to get process times
> 2024-04-24 alexandros.frantzis libmatrix: Add utility function to get the number of processors
> 2024-04-25 alexandros.frantzis libmatrix: Use C++ std::chrono instead of clock_gettime
> 2024-04-25 alexandros.frantzis libmatrix: Use C++17 std::filesystem instead of dirent
> 2024-04-25 alexandros.frantzis Build: Add support for win32 flavors in meson
> 2024-04-24 alexandros.frantzis libmatrix: Provide a copy of the va_list to __android_log_vprint
> 2024-04-13 kode54 NativeStateX11: Fix WM_DELETE_WINDOW handling
> 2024-02-15 alexandros.frantzis NativeStateWayland: Explicitly destroy all Wayland resources at shutdown
> 2024-02-15 alexandros.frantzis Explicitly release GL related resources at shutdown
> 2023-06-03 prlw1 src/meson.build: add x11 dependency to glx
> 2024-02-07 timchen021 Fix memory leaks using smart pointers
> 2024-01-12 daniel.levin Add missing includes in scene-collection.h
> 2023-11-01 alexandros.frantzis GLVisualConfig: By default don't care about the stencil config component
> 2023-11-01 alexandros.frantzis Options,GLStateEGL,GLStateGLX: Add option to require a good visual config
> 2023-07-26 abs GLStateEGL,GLStateGLX: Change failure to get a "good" visual config to warning
> 2023-11-01 alexandros.frantzis libmatrix: Add Log::warning() function
> 2023-05-20 prlw1 meson.build: fix build and avoid sigsegv
> 2023-05-03 ofourdan NativeStateX11: Add winsys option for position
> 2023-01-19 alexandros.frantzis Build,Doc: Update files for 2023.01 release
> 2023-01-19 alexandros.frantzis NativeStateMir: Remove Mir/mirclient support
> 2023-01-03 alexandros.frantzis ResultsFile: Support storing results in an XML file
> 2023-01-03 alexandros.frantzis ResultsFile: Support storing results in a CSV file
> 2023-01-03 alexandros.frantzis Options,ResultsFile: Add option to set the results file
> 2023-01-03 alexandros.frantzis Introduce infrastructure to support saving results to a file
> 2023-01-03 alexandros.frantzis CanvasGeneric: Store individual info elements in separate strings
> 2023-01-03 alexandros.frantzis MainLoop: Store indivitual result values in separate strings
> 2023-01-03 alexandros.frantzis Scene: Remove trailing ':' from scene info string
> 2023-01-04 alexandros.frantzis SceneTerrain: Silence unused variable warning
> 2022-12-21 pierre-yves.mordret NativeStateGBM: Lock and release the front buffer on flip
> 2022-12-21 alexandros.frantzis MainLoop,Scene: Support reporting shader compilation time
> 2022-12-20 alexandros.frantzis MainLoop,Scene: Add busy percentage in CPU time results
> 2022-12-20 alexandros.frantzis MainLoop,Scene: Support reporting CPU time results
> 2022-12-20 alexandros.frantzis Options: Introduce option to specify benchmark results to show
> 2022-12-20 alexandros.frantzis Scene: Update elapsed times when a benchmark finishes
> 2022-12-19 alexandros.frantzis Scene: Introduce struct to keep track of elapsed time
> 2022-12-15 alexandros.frantzis Scene: Introduce infrastructure for more complex scene stats
> 2022-12-15 alexandros.frantzis Scene: Move common preparation logic to Scene::prepare
> 2022-12-13 alexandros.frantzis Scene: Introduce non-virtual methods to prepare and finish a scene for benchmark
> 2022-12-08 alexandros.frantzis GLVisualConfig: Support specifying the config id in --visual-config
> 2022-12-08 alexandros.frantzis libmatrix: Support prefix dependent input conversions from string
> 2022-12-08 alexandros.frantzis GLStateEGL,GLStateGLX: Fail if no suitable config is found
> 2022-12-08 alexandros.frantzis GLStateEGL,GLStateGLX: Don't limit the configs passed to our selection mechanism
> 2022-12-08 alexandros.frantzis GLVisualConfig: Penalize configs with components smaller than requested
> 2022-11-16 alexandros.frantzis github: Build x11-gl-egl flavor in CI
> 2022-11-14 rilian-la-te build: Add x11-gl-egl flavor
> 2022-11-10 alexandros.frantzis GLStateGLX: Support multisampled configs
> 2022-11-10 l.stach GLStateEGL: Support multisampled configs
> 2022-11-10 l.stach GLVisualConfig: Add multisampling support
> 2022-09-02 120989324 Add missing newline at end of log messages
> 2022-11-10 alexandros.frantzis NativeStateDRM,NativeStateGBM: Support configuring the DRM device
> 2022-11-10 alexandros.frantzis Options: Support passing window system specific options
> 2022-04-23 nunes.erico NativeStateGBM: Add GBM offscreen backend
> 2022-07-07 wuqianhai SceneJellyfish: Fix memory leak
> 2022-07-07 wuqianhai SceneRefract: Fix texture leak
> 2022-07-07 wuqianhai SceneIdeas: Fix texture leak
> 2022-06-14 Martin.Jansa waflib: fix compatibility with python-3.11
> 2022-05-12 jeffy.chen NativeStateDRM: Honor visual configuration
> 2022-05-13 alexandros.frantzis GLStateEGL,GLStateGLX: Use SwapInterval 1 for FIFO swap mode
> 2022-04-15 alexandros.frantzis NativeStateDrm: Implement swap interval 0
> 2022-02-14 alexandros.frantzis github: Run apt-get update to get latest packages
> 2022-02-14 alexandros.frantzis CanvasGeneric,CanvasAndroid: Display surface config info
> 2022-02-14 alexandros.frantzis Options: Support --version command line argument
> 2022-02-14 alexandros.frantzis libmatrix: Add missing <utility> include
> 2022-02-10 hillma libmatrix: avoid -Wimplicit-fallthrough
> 2021-12-23 alexandros.frantzis Build,Doc: Update files for 2021.12 release
> 2021-12-23 alexandros.frantzis NativeStateDrm: Fix crash when we can't become DRM master
> 2021-09-30 jf android: Fix benchmark parameter edition
> 2021-08-30 alexandros.frantzis Use highp precision modifier only on GLES
> 2021-08-30 alexandros.frantzis GLStateEGL: Support EGL versions < 1.4
> 2021-04-11 maahiuzeon Fix model loading on big endian.
>
> Created with:
> roll-dep third_party/glmark2/src
>
> Bug: chromium:40263312
> No-Presubmit: true
> Change-Id: Ifee506badac67ff5af57605994daff01278c6d56
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6162277
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Test: angle_perftests --gtest_filter="*GLMark2Benchmark*"
Bug: chromium:40263312
Change-Id: I54d8982cb37e488f80b7511ad0111d1ff111f004
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6174747
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bbc0d702
|
2024-12-27T07:44:01
|
|
Vulkan: Add entry points to lock the Vulkan queue
... which can be retrieved via EGL_ANGLE_device_vulkan. Otherwise the
application is unable to use the VkQueue that is retrieved out of ANGLE
from other threads (such as Chromium's DrDC feature).
Bug: chromium:380295059
Change-Id: Ife80f54440777486f72fc61697a68fb0c2b2d0f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6116046
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
65513240
|
2025-01-03T17:26:55
|
|
Fix initializing output variables
... by compiling a list of TVariables instead of names that are later
looked up. The latter results in wrong symbols being initialized when
the output variables are shadowed.
Bug: chromium:376738756
Bug: chromium:377553431
Change-Id: I76b9688c035476c547ac73cff380629161210406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6143374
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fe76d70b
|
2025-01-10T14:41:06
|
|
Vulkan: Enable 16-bit norm support for tex buffers
According to the spec for EXT_texture_norm16, it enables texture
buffers to support the following additional formats:
* GL_R16_EXT
* GL_RG16_EXT
* GL_RGBA16_EXT
All of the above are unsigned short normalized values.
* Updated validation to support the aforementioned formats in texture
buffers in case of support for the norm16 extension.
* Updated AdjustViewFormatForSampler() to also support norm16 values.
* Added the condition for advertising textureNorm16EXT that the 16-bit
UNORM formats above should have the buffer feature bit for texture
buffer support: VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
* Added support check for renderSnormEXT after textureNorm16EXT,
since the check for former currently uses the support for latter
as a parameter.
* Added unit tests to draw using a texture buffer with norm16 formats.
* Added TextureBufferTestBase in order to test the API calls in the
extensions and the core ES 3.2 version, which the following suites
are derived from:
* TextureBufferTestES31 (existing)
* TextureBufferTestES32 (new)
* Extended the tests to similar 8-bit formats.
Bug: angleproject:381313704
Change-Id: I49157e8c2c9b5438eaf8d56c1932d12e56489318
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6169006
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f094a81e
|
2025-01-07T14:08:11
|
|
restricted_trace_perf: Add screenshot support
This update allows users to capture screenshots when
using restricted_trace_perf.py.
* Two new optional arguments are added. If either is set, a screenshot
will be captured.
--screenshot-dir (host directory to write screenshots, default CWD)
--screenshot-frame (specify desired frame, default is 1 or KeyFrame)
* If screenshots are requested, we create a temp dir
on the device, pull the screenshot, then delete the dir
* The screenshot is renamed during pull to reflect the
renderer that created it. Otherwise they are all named
"native" since we convince the platform to use its default
driver, allowing calls to go through the EGL loader.
Test: restricted_trace_perf.py --screenshot-dir ~/Screenshots --screenshot-frame 2
Bug: b/377325803
Change-Id: I5be7a1e2f9f557668bff51349654c8c4e093b47a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6154857
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
b3af2e86
|
2024-12-31T08:51:37
|
|
Enhance MemoryBuffer API
Add support for -
1. reserve - users can reserve sufficient capacity upfront to
minimize subsequent reallocations due to resize
2. append - to append data from a source so user doesn't need to
track offsets explicitly
Bug: angleproject:386749841
Tests: MemoryBufferTest*
Change-Id: Ibf2a3228d5a00ed34a7e0c5e3eb185e42677d676
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6135238
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cfe87e34
|
2024-12-16T16:29:39
|
|
Add multisample support for glCopyImageSubDataEXT
As GL_TEXTURE_2D_MULTISAMPLE/GL_TEXTURE_2D_MULTISAMPLE_ARRAY
been introduced by GLES3.1, glCopyImageSubDataEXT should support
those types.
Bug: angleproject:381727390
Change-Id: Ib3571ea38dc8d8ceb1bc9ad0c8a6e04d28b0ec33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6146194
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
4c60a308
|
2024-12-30T15:35:07
|
|
Change default return value for eglDupNativeFenceFDANDROID
According to EGL spec, eglDupNativeFenceFDANDROID should
return EGL_NO_NATIVE_FENCE_FD_ANDROID when there is error.
However, ANGLE just returns 0 as default value. Now overload
the default return value to EGL_NO_NATIVE_FENCE_FD_ANDROID.
Also, a end2end test is added.
Bug: angleproject:385190296
Change-Id: I214efdeb3ad583989fab5e2244c82cb7295f8b67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6146195
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
c289b30f
|
2025-01-09T12:49:27
|
|
WGSL: Add test for failure case of uniform struct rewrites.
Using a uniform struct outside of the uniform address space fails
if we've rewritten any of the member types and want to assign to
that member.
E.g. this line of GLSL, assigning to a member of a struct used in
the uniform address space:
privUnis.x = float[3](1.0, 1.0, 1.0);
Produces this WGSL warning:
ERR: DisplayWgpu.cpp:295 (operator()): Error: 2 - message: Error while parsing WGSL: :50:63 error: expected ')'
(ANGLE_Convert_ANGLE_wrapped_float_ElementsTo_float_Elements((_uprivUnis)._ux)) = (array<f32, 3>(1.0f, 1.0f, 1.0f));
This adds a test and suppresses it on WGSL.
Future design options:
https://docs.google.com/document/d/17Qku1QEbLDhvJS-JJ9lPQAbnuZtLxWhG-ha5eCUhtEY/edit?tab=t.0#bookmark=id.r89s1r69tl77
Bug: angleproject:376553328
Change-Id: I57304e9d2a889d00ac4fa02f265198ce3d78e7e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6165290
Reviewed-by: Matt Denton <mpdenton@google.com>
Commit-Queue: Matt Denton <mpdenton@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
b1a0d60f
|
2025-01-08T15:10:41
|
|
WGSL: Fix accidentally overloaded functions
Small-stride arrays in uniforms with the same element type, but
different array sizes, would cause the WGSL generator to produce
conversion functions with the same name but different array sizes.
This CL puts the array size in the name of the function to
avoid overloading, which is unsupported in WGSL.
Bug: angleproject:376553328
Change-Id: I446e91ccb9da2872c88f1a4e05283aacc9d6f8b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6160334
Commit-Queue: Matt Denton <mpdenton@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Matt Denton <mpdenton@google.com>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
2de256cb
|
2024-12-30T17:26:38
|
|
Change some error type in eglCreateImageKHR
Following the spec, for eglCreateImageKHR, if target is
EGL_LINUX_DMA_BUF_EXT and attribute value is not expected,
then EGL_BAD_ATTRIBUTE should be returned. However, ANGLE would
return EGL_BAD_PARAMETER. Now change these error handlings to
return EGL_BAD_ATTRIBUTE. Also, a end2end test is added.
Bug: angleproject:387892107
Change-Id: I73ecfc3da273c0fb5ac362e451fd186209f1a52b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6146196
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3226a3df
|
2024-12-13T14:06:55
|
|
Reland: vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
Implement the ability to select a specific device and driver combination
through a few new selection criteria:
VkPhysicalDeviceIDProperties::deviceUUID
VkPhysicalDeviceIDProperties::driverUUID
VkPhysicalDeviceDriverProperties::driverID
Earlier version had problems due to a test build issue. Per syoussefi@,
going to rework the test into a separate CL so that we get the core
change merged.
Bug: angleproject:351866412
Change-Id: I0a3f4f1a2154a06bf6286a037c9ad4834ef4dda2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6165286
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
db833869
|
2025-01-08T06:14:22
|
|
Vulkan: Return cached width and height for eglQuerySurface
eglQuerySurface will return extents as of the most recent eglSwapBuffers
call
Bug: angleproject:153329980
Test: EGLPreRotationSurfaceTest.CheckSurfaceCapabilities*
Change-Id: Ifc9e84ed92bdc645afd12814a3a5539cc8b55da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6158264
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
19ef77a2
|
2025-01-09T15:37:34
|
|
Validate glEGLImageTargetRenderbufferStorageOES renderbuffer
glEGLImageTargetRenderbufferStorageOES changes the renderbuffer.
Avoid crashing if there is no renderbuffer bound.
Bug: angleproject:388616184
Change-Id: I05eacb7a5907d2ca9cde8e91aa7814daa3008c71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6163503
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3b092269
|
2025-01-09T08:54:00
|
|
Revert "vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid"
This reverts commit 96abb2c3d9e296ae12e50e0026bf5d3a7b925e7e.
Reason for revert: breaks rolling into Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/6158098
Original change's description:
> vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
>
> Implement the ability to select a specific device and driver combination
> through a few new selection criteria:
>
> VkPhysicalDeviceIDProperties::deviceUUID
> VkPhysicalDeviceIDProperties::driverUUID
> VkPhysicalDeviceDriverProperties::driverID
>
> Bug: angleproject:351866412
> Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:351866412
Change-Id: Ic7cf9dcf6a950556cc44f5920498db429c866340
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164164
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
e6d9854b
|
2025-01-09T09:12:53
|
|
Capture/replay tests: fix logging on capture error
Introduced by https://crrev.com/c/6042183.
Also remove unneeded trailing \n in a few spots.
Bug: angleproject:380296979
Change-Id: Ie6438409533855b22bc85a02ec0017279be4880a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6163683
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
96abb2c3
|
2024-12-13T14:06:55
|
|
vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
Implement the ability to select a specific device and driver combination
through a few new selection criteria:
VkPhysicalDeviceIDProperties::deviceUUID
VkPhysicalDeviceIDProperties::driverUUID
VkPhysicalDeviceDriverProperties::driverID
Bug: angleproject:351866412
Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
363f6264
|
2025-01-07T10:35:09
|
|
WGSL: unwrap single array element from uniform
...instead of unwrapping the entire array when only one element is
being accessed.
The is step #4 from the implementation plan in
https://docs.google.com/document/d/17Qku1QEbLDhvJS-JJ9lPQAbnuZtLxWhG-ha5eCUhtEY/edit?tab=t.0#bookmark=id.dt9vmixnpdvo
Bug: angleproject:376553328
Change-Id: I6c559f44b75cd1d3c4a478141c11f65a33d76bdf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102117
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matt Denton <mpdenton@google.com>
Reviewed-by: Matt Denton <mpdenton@google.com>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
6f32ed6c
|
2025-01-03T23:54:22
|
|
Fix struct sampler rewrite vs comma
Bug: chromium:377614665
Change-Id: I2c0e8230e31405c9e7fd165a9fca68b7e9f31a76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6142516
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
833e6893
|
2025-01-07T18:50:25
|
|
skip some dEQP basic_shader.* tests on Linux
Bug: angleproject:388052193
Change-Id: Iabc271223b24b411fc467aa42d2ff731d318411d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6149875
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
bc795943
|
2025-01-06T12:41:05
|
|
Proper clean up for EGLLockSurface3Test
Make sure to destroy context and window in each test
Bug: angleproject:42264593
Change-Id: Ia5768ad109340a0be2bd2912877b7236e201ce0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6150289
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
59162e2e
|
2024-12-30T12:22:10
|
|
Vulkan: Update a few features and extensions for Samsung
Enable
disableProgramCaching
Disable
rgbxInternalFormatANGLE
clipDistanceAPPLE
cacheCompiledShader
preferMonolithicPipelinesOverLibraries
Bug: angleproject:386749841
Change-Id: Iea8033e2999c65b8715c6069d2096a709f78f438
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6133540
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
d1496a22
|
2025-01-03T22:54:27
|
|
Produce same compile errors for op= as op
Bug: chromium:376787367
Change-Id: Ic2c1415c184c603b86876e5eb70eee602639abbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6142515
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
15b1fb37
|
2024-12-29T00:38:43
|
|
Fix mixing multisampled renderbuffers and textures
When querying a renderbuffer's render-to-texture sample count, the
number of samples was returned. This made it look like the renderbuffer
attachment is MSRTT even if it was really multisampled. When mixed with
a multisampled texture (where this mistake wasn't made), the framebuffer
completeness code marked the framebuffer incomplete because it looked
like one attachment is MSRTT and the other is not.
Test credit zephyrxiao@tencent.com
Bug: angleproject:382393146
Change-Id: I9fe516d6a92033512646414f88a9848aa1e1edc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6138979
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
83047378
|
2024-12-20T15:07:02
|
|
Add supplement GL_ARM_shader_framebuffer_fetch_depth_stencil tests
* Add two tests about detaching the depth attachment and stencil
attachment separately works correctly.
* Add six tests to test whether multisample, GL_FETCH_PER_SAMPLE_ARM and
fragment discard work properly in different situations.
Bug: angleproject:385170273
Change-Id: I8a4299e2336a8bf800ffe286775a53f59b407c8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108524
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
53ec86ab
|
2024-12-17T14:40:31
|
|
WGSL: support small stride arrays in uniforms
WGSL requires arrays in the uniform address space to have a stride
a multiple of 16.
This CL makes WGSL translator emit wrapper structs for array element
types used in the uniform address space, when the array stride is
not a multiple of 16. The exception is for structs that aren't
an aligned size of 16n, and for any types matCx2, since they are
(or will be) handled in different ways that ensure alignment to 16.
This should leave only f32, i32, u32, and vec2.
See https://www.w3.org/TR/WGSL/#example-67da5de6 for an example
of using a wrapper struct.
This requires converting arrays with a wrapper struct element type
to arrays with an unwrapped element type when they are first used;
this can be "optimized" later for the common case of accessing a
single array element, which can then be unwrapped immediately. This
CL generates WGSL conversion functions when necessary.
After this, the only types that can't yet be used in a uniform
are matCx2 and bools.
This is #2 in
https://docs.google.com/document/d/17Qku1QEbLDhvJS-JJ9lPQAbnuZtLxWhG-ha5eCUhtEY/edit?tab=t.0#bookmark=id.rt3slgehd4te
Bug: angleproject:376553328
Change-Id: I1edfa7f481a6cbf5b595643aae8728e67bc4b770
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092038
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Matt Denton <mpdenton@google.com>
Commit-Queue: Matt Denton <mpdenton@google.com>
|
|
491335c4
|
2024-12-26T10:25:32
|
|
Tests: Add Bullet Echo ANGLE trace
Test: angle_trace_tests --gtest_filter=*bullet_echo
Bug: b/387973432
Change-Id: Ib5694f53dd2f5a2b0d8a417582e4ff8054565461
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6149436
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
4d2f4d97
|
2025-01-06T19:49:29
|
|
skip some dEQP basic_shader.* tests on Linux
Bug: angleproject:388052193
Change-Id: I2e78dbacc2367af87fa102306b2458a1ef13e313
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6150288
Commit-Queue: Solti Ho <solti@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
f80d15ad
|
2025-01-03T16:19:13
|
|
Vulkan: Fix crash with array of array of samplers vs comma
Bug: chromium:385256122
Change-Id: I9b356401e7c007060e95bb95ca8269411178ce66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6143373
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2c025cb9
|
2025-01-06T08:36:23
|
|
Revert "Proper clean up for EGLLockSurface3Test"
This reverts commit 9d9e3efce077dbfe261b13fdfb3b20fc1e4a5e4c.
Reason for revert: Suspected cause of flakiness anglebug.com/387828389
Original change's description:
> Proper clean up for EGLLockSurface3Test
>
> Perform unmakecurrent during test teardown
>
> Bug: angleproject:42264593
> Change-Id: I1148b5c6631e81090f7ae931495bba1b43c24502
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6133539
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Bug: angleproject:42264593
Bug: angleproject:387828389
Change-Id: Ia8b484e391931e9401bd644c919c34ef65718b37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6147815
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d65751b4
|
2025-01-03T15:44:59
|
|
Skip monopoly_go trace on devices where the trace crashes
Bug: angleproject:385226328
Change-Id: I8448e9bd355205dbf36599b6d82e5e05873b936e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6143534
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Solti Ho <solti@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
9d9e3efc
|
2024-12-30T12:10:57
|
|
Proper clean up for EGLLockSurface3Test
Perform unmakecurrent during test teardown
Bug: angleproject:42264593
Change-Id: I1148b5c6631e81090f7ae931495bba1b43c24502
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6133539
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
39882b2b
|
2024-12-28T12:00:19
|
|
Vulkan: Fix flakiness in MultipleProgramsShareDescriptors
Precision differences causes the test to be flaky on some vendors.
The test is not validating color accuracy, there is no need to use
random numbers.
Bug: angleproject:42265270
Change-Id: Ied8794d14b394e049e5735d4c42a7baf6e3aca0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6129616
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
7c766c0e
|
2024-12-23T15:12:44
|
|
Vulkan: Bugfix in OverrideFeaturesDependent test
On some vendors there is a second order effect of disabling some
features, account for such vendors.
Bug: angleproject:42266725
Change-Id: I53e93d595ee09210ef7781d667470e2b46c10e55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6118433
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
35ea113c
|
2024-12-27T06:03:23
|
|
Manual roll VK-GL-CTS from 1797eec1a51d to 7655439d7333 (15 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/1797eec1a51d..7655439d7333
2024-12-20 michal.jakubek@mobica.com Vulkan SC doesn't report waived
test case count
2024-12-20 piotr.byszewski@mobica.com Test NoContraction keyword
2024-12-20 marcin.hajder@mobica.com Added tests for non-layered bindings
of 2D shader images
2024-12-20 kamil.goras@mobica.com Enable ES31_compatbility tests. Those
tests are implemented but were not added to any test package. Move
SampleVariablesTests, ShaderImageLoadStoreTests,
ShaderStorageBufferObjectTests to common
2024-12-20 piotr.byszewski@mobica.com Fix copy tests using NaN for
sfloat formats
2024-12-20 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1
into vk-gl-cts/main
2024-12-18 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1
into vk-gl-cts/main
2024-12-16 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2
into vk-gl-cts/main
2024-12-12 rgarcia@igalia.com Test depth/stencil copies on the transfer
queue
2024-12-12 mateusz.bahyrycz@mobica.com Fix validation error in ray
tracing tests
2024-12-12 antonio.ospite@collabora.com Build testlog-* and other tools
also on Android
2024-12-12 marcin.hajder@mobica.com Added missing texture parameter for
shadow samplers
2024-12-12 tomeu@tomeuvizoso.net Fix Android standalone executables to
work with EGL tests
2024-12-12 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1
into vk-gl-cts/main
2024-12-12 gleese@broadcom.com Make autogen for VK, VK SC consistent
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,syoussefi@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: I73077c44cfae8ba31d7334e2b149e368c6c1f579
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6116045
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c486ce8c
|
2024-12-27T06:24:19
|
|
Manual roll Chromium from faba6412dc5c to 8bb7bbeac941 (279 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/faba6412dc5c..8bb7bbeac941
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,syoussefi@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/63ad9737d7..8f6742f233
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/56013b77b6..2823e220cb
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/41bfee6b2b..2344736aa3
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/11c38d901d..9ba1d4922a
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/f6418697ac..2559e1ff2f
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e6eba9706f..d0c22105ed
No update to Clang.
Bug: None
Change-Id: I6c019235e8a99d74c91496d1cdfa37b56891d65f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6121262
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a614c8ab
|
2024-12-10T11:14:29
|
|
Check alpha in ColorMask for YUV target
ColorMask is used to mask the writing of R, G, B and A values to all
active draw buffers. r, g, b, and a indicate whether R, G, B, or A
values, respectively, are written or not (a value of TRUE means that
the corresponding value is written) except when the color buffer is
in YUV color space, in that case setting any one of the r, g, b, and
a values as false would generate draw time INVALID_OPERATION error.
Bug: angleproject:383174962
Change-Id: I38c2510c307dd8158e71c920986cb497ca923ff9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6083471
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
aa263d13
|
2024-12-19T17:48:13
|
|
Increase GL_MAX_ARRAY_TEXTURE_LAYERS to 4096 and end2end test
Increase GL_MAX_ARRAY_TEXTURE_LAYERS from 2048 to 4096, and add an
end2end test to test whether the increased GL_MAX_ARRAY_TEXTURE_LAYERS
meets the memory limit.
Bug: angleproject:385040554
Change-Id: Ibb1ebcb2414c530dd838b3414dc82b14ce017bc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108301
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9f82ea63
|
2024-12-26T00:53:39
|
|
Unsupress fixed tests
Bug: angleproject:370792795
Change-Id: I7f81a58a2f502b0de321b2b2eb5d08e6dcd80d97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6121250
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
febba52a
|
2024-12-12T17:26:59
|
|
Optimize for swap after clear
Bug: angleproject:382006939
Change-Id: Ia6b9a53042a1d188dbd5a5f6436f17ca1e389a4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072416
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
bb640019
|
2024-12-18T12:36:13
|
|
Vulkan: Fix partial clear texture for RGB8 snorm
When clearing an RGB8 snorm texture, due to this format not being
renderable, a temporary buffer is filled with the clear value and
applied to the image as a buffer update. However, this buffer's unpack
state has nothing to do with the context's unpacking state. This should
be reflected on the pixel unpack state that is used to calculate the
required buffer size for the update. Otherwise, it can result in wrong
colors for parts of the image.
* Updated the pixel unpack state in the unrenderable part of the clear
function for textures (TextureVk::clearSubImageImpl()).
* It will now use "1" as the alignment since it is tightly packed.
* Added unit test to clear one corner of an RGB8 snorm texture and
use it for drawing.
* Clear2DRGB8SnormCorner
Bug: angleproject:384765600
Change-Id: Id302a9f4049626aae1a68798e86d7183d5c264e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108140
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
da687935
|
2024-12-18T14:17:21
|
|
Skip stencil clear test for QCOM
Bug: b/328156792
Change-Id: I0f76d5c76cb1b25f2d0aafbb5bd7f4e6ef8cbc2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108177
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0dabe316
|
2024-12-18T09:35:35
|
|
Tests: Add Monopoly Go trace
Test: angle_trace_tests --gtest_filter=*monopoly_go
Bug: b/384879555
Change-Id: I64ab6efb23745ab9e099c1243d4f09cee0f311d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6106530
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
37d26888
|
2024-12-17T13:57:27
|
|
Skip some context sharing tests on S22
* Skipped the following tests from EGLContextSharingTestNoFixture:
* EglTerminateMultiThreaded
* EglDestoryContextManyTimesSameContext
Bug: angleproject:384799391
Change-Id: Ide9d86d900cb99f761ca007a703689c762eff167
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102980
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
db8e5617
|
2024-10-23T15:21:33
|
|
Reland "Add check for some EGL API attrbute values"
This is a reland of commit 9481eb625b358897583f8adeca5fc520f8c215ae
Original change's description:
> Add check for some EGL API attrbute values
>
> EGL validation in ANGLE lacks of some error handlings mentioned
> in EGL spec. Those error handlings are added, and we need to
> make sure angle end2end tests are not influenced.
>
> Bug: angleproject:375528200
> Change-Id: Ic0686d9ccc70e18b0cf3449184452771c77c06b7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034532
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:375528200
Change-Id: I6db890a95825156848d7da8ebc15f7e30b0902ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6088519
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
0f0d2cc7
|
2024-12-17T09:50:56
|
|
Tests: Add Riptide GP2 trace
Test: angle_trace_tests --gtest_filter="*riptide_gp2*"
Bug: b/384714388
Change-Id: I09984201c2c96797dcc867ef818aa18684561275
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6101168
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
645c192a
|
2024-12-17T09:45:41
|
|
retrace: Fix assumption in get_min_reqs
Only try to remove implied extension if it is present.
Test: retrace_restricted_traces.py get_min_reqs --traces riptide_gp2
Bug: b/384714388
Change-Id: Ic0240c387012923e1918fccd2ea6c341d9a84609
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6101167
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
c0ee7b20
|
2024-12-12T16:49:40
|
|
Swap getWidth() and getHeight() if the swapchain is 90 emulate rotated
When checking if we need to recreate swapchain, we should swap
the getWidth() and getHeight()
if Is90DegreeRoration(mEmulatedPreTransform) is true. This is because:
When creating swapchain, if Is90DegreeRoration(mEmulatedPreTransform) is
true, we store swapped mSurfaceCaps.currentExtent.width and
mSurfaceCaps.currentExtent.height in getWidth() and getHeight(),
but we use the original mSurfaceCaps.currentExtent.width and
mSurfaceCaps.currentExtent.height to create the swapchain.
On next acquire, to check if the swapchain property changes,
we should swap getWidth() and getHeight() if
if Is90DegreeRoration(mEmulatedPreTransform) is true, otherwise we
are recreating swapchains when width and height are unchanged.
Bug: b/382006939
Change-Id: I1cbe9da2ff5e76602a90963514d2d0d5fbf677e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090199
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e72cc71b
|
2024-12-13T11:59:29
|
|
Vulkan: Remove framebuffer fetch from shader if unused
Some application shaders may use `inout` variables to simplify shader
generation (presumably), but in the end don't actually ever read from
those variables.
This change tries to detect some very simple but common cases where it's
clear that the shader completely overwrites the variable without reading
from it and turns `inout` into `out`. When coherent framebuffer fetch
emulation kicks in, these shaders would no longer cause unnecessary
barriers.
Bug: angleproject:377923479
Change-Id: I0970b72f551b24409337a375cf97aa63bb511fb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6094425
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
a1be7e61
|
2024-11-26T14:39:18
|
|
Implement EGL_EXT_surface_compression
This patch adds implementation of EGL_EXT_surface_compression to
ANGLE, including new API eglQuerySupportedCompressionRatesEXT and
adding EGL_SURFACE_COMPRESSION_EXT in EGLQuerySurface and
EGLCreateWindowSurface/EGLCreatePlatformWindowSurface.
Angle end2end test is added to verify the extension.
Bug: angleproject:375496226
Change-Id: I06926930d94485a378fc831d552cf55fe7938a57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073355
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2c404434
|
2024-12-13T09:05:48
|
|
Revert "Add check for some EGL API attrbute values"
This reverts commit 9481eb625b358897583f8adeca5fc520f8c215ae.
Reason for revert: Causes failures when rolling into chromium:
https://chromium-review.googlesource.com/c/chromium/src/+/6089841
Original change's description:
> Add check for some EGL API attrbute values
>
> EGL validation in ANGLE lacks of some error handlings mentioned
> in EGL spec. Those error handlings are added, and we need to
> make sure angle end2end tests are not influenced.
>
> Bug: angleproject:375528200
> Change-Id: Ic0686d9ccc70e18b0cf3449184452771c77c06b7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034532
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:375528200
Change-Id: I8e59113e4d94571b0ec1d8135519e829d3571a15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6094284
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
c75bd915
|
2024-12-10T23:01:44
|
|
Vulkan: Remove asyncCommandQueue
It's been years and it never showed an advantage. In the meantime,
performance without this feature seems close to native drivers (i.e. the
feature has lost its appeal) and it's frequently a source of
complication and bugs.
Bug: angleproject:42262955
Bug: angleproject:42265241
Bug: angleproject:42265934
Bug: angleproject:42265368
Bug: angleproject:42265738
Bug: angleproject:42266015
Bug: angleproject:377503738
Bug: angleproject:42265678
Bug: angleproject:173004081
Change-Id: Id8d7588fdbc397c28c1dd18aafa1f64cbe77806f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084760
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e9b33f04
|
2024-12-11T15:17:51
|
|
Tests: Add Don't Starve Pocket Edition trace
Test: angle_trace_tests --gtest_filter=*dont_starve
Bug: b/383500194
Change-Id: I924436d5bb2b166dac5798feff1d614ce1453adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090033
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
16e62810
|
2024-12-03T15:00:13
|
|
Add option to run deqp tests with native driver on Android
Add a new value option for --deqp-egl-display-type to launch dEQP
tests with native GLES driver on Android:
--deqp-egl-display-type=native-gles
This new value is only parsed and used on Android builds.
Applying it has no effects on non-Android builds.
Bug: b/379363846
Change-Id: Ia194e09e6cf50a3e505d756a396ef047a8f1ce59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068187
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
4532beb0
|
2024-12-04T11:46:42
|
|
CL/Vulkan: Set depth and height initial values
For types that dont have depth and height set them to 1, and upate
query method correspondingly.
Updated the test suit to add new tests to the CI, and the following file
was autogenerated using `scripts/run_code_generation.py`
- `infra/specs/angle.json`
Bug: angleproject:382527246
Change-Id: I982f0558248d053759d50b6fc3ca29d389c62acf
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6075440
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
|
|
fc4fc174
|
2024-12-10T22:01:28
|
|
Vulkan: Prevent crash with D/S FF without D/S attachment
The spec says that the values for gl_LastFragDepth/StencilARM are
undefined if there is no depth/stencil attachment. This "just" works on
tiling GPUs, because reading input attachments simply translates to
reading _something_ from the tile memory.
For ANGLE, the situation is a little more complicated. ANGLE has to
bind descriptors for input attachments (because non-tilers read from the
input attachment descriptor instead of using the knowledge that input
and color/depth/stencil attachments are one and the same thing in tile
memory). When a depth/stencil attachment is missing, there is no image
to bind to the descriptor set.
ANGLE cannot skip binding an image to the descriptor set, because
OpImageRead (translated from subpassLoad()) attempts to access the
input descriptor; skipping this causes an internal crash in SwiftShader
for example.
ANGLE cannot bind a bogus image as input attachment, as Vulkan requires
that input attachments are also color/depth/stencil attachments.
ANGLE _could_ bind a bogus image as input attachment and also as
depth/stencil attachment. This is rather risky, as it then also has to
be careful to make sure that depth/stencil attachment is never actually
used (i.e. it affects the depth/stencil state, load/store ops etc).
In this change, the shader itself is modified to remove references to
the depth/stencil input attachments if the attachment is missing. This
is rather inefficient, as it means the pipeline warmup will not produce
a usable pipeline, but it's accepted as a workaround for something apps
shouldn't really be doing.
Bug: angleproject:376572258
Change-Id: I0de68252b61615cb82cba7d1730699aadf41e92f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085368
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e9ba1681
|
2024-12-10T21:29:26
|
|
Vulkan: Fix DR vs FF vs non-draw RP start
DR is Dynamic Rendering
FF is Framebuffer Fetch
RP is Render Pass
With DR, whether framebuffer fetch is used or not is no longer tracked
in the framebuffer's RenderPassDesc, because that property has no
bearing on the framebuffer anymore. It still exits in RenderPassDesc to
support legacy VkRenderPass objects.
After a draw call starts a render pass, the state of the command
buffer's copy of RenderPassDesc (copied from the framebuffer's) is
updated to include the correct framebuffer fetch mode. However, this
was not done when the render pass starts through other means, such as
when a scissored or masked clear would call `Context::startRenderPass`.
This change moves the aforementioned update of the framebuffer fetch
mode to `Context::startRenderPass` so it affects everywhere the render
pass may start from.
Bug: angleproject:383356851
Change-Id: I82eff43863fc5b9fe67e57453269ee73859a6cd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085367
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
bde4d143
|
2024-09-27T14:08:43
|
|
CL/Vulkan: Setup a dispatch loop per commandqueue
Commands submitted to renderer need clean up ops post completion. Setup
a background thread per commandqueue that waits on the command
completion and performs the post completion operations.
Updated test suite and `angle.json` was autogenerated with
`scripts/run_code_generation.py`.
Bug: angleproject:375231041
Change-Id: I82b4211ee6e229c679ef31897fc63d61fa904bb5
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5960590
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9481eb62
|
2024-10-23T15:21:33
|
|
Add check for some EGL API attrbute values
EGL validation in ANGLE lacks of some error handlings mentioned
in EGL spec. Those error handlings are added, and we need to
make sure angle end2end tests are not influenced.
Bug: angleproject:375528200
Change-Id: Ic0686d9ccc70e18b0cf3449184452771c77c06b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034532
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
09f3bc3a
|
2024-12-10T15:57:49
|
|
Tests: Add Loop Hero trace
Test: angle_trace_tests --gtest_filter=*loop_hero
Bug: b/383282700
Change-Id: Iff3b5a37b3dfea898344007f544ec25c8b6fa0be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085489
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f9d08964
|
2024-10-29T14:14:43
|
|
Fix primitive restart issue with line loop
Refine function CopyLineLoopIndicesWithRestart and function
CopyLineLoopIndicesWithRestart so that they can deal with the
case when there is only one index before/after restartIndex.
Bug: angleproject:376097643
Change-Id: I06ee0208522d6dc5b6cd6ec0ba4f8682de7b12f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5975353
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e45a0420
|
2024-12-05T17:41:38
|
|
Fix glCopyImageSubData() not work with multisample render buffer
When target is "GL_RENDERBUFFER", and which is multisample, the function
will not work.
Bug: angleproject:382101118
Change-Id: I3d9c4a2550f9d66eeb73447328a03d4507cf2fa5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073359
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6bb1bc9b
|
2024-12-10T16:56:33
|
|
Add an extension to report total memory usage of all GL objects
Currently the extension will only count GL buffers, textures and
render buffers' memory.
Fixed: angleproject:383256300
Change-Id: I33ce6fafae8aa5b60071e66366d35dc098e1313b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084013
Auto-Submit: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
a137d702
|
2024-10-24T18:24:14
|
|
Reland "Delay EGLQueryContext render buffer change"
This is a reland of commit 233d9ee5c3525cc8290b3af52385ed59973438b4
Original change's description:
> Delay EGLQueryContext render buffer change
>
> According to the EGL spec, EGL_RENDER_BUFFER of a context
> should change after eglSwapBuffers is called if
> eglSurfaceAttrib changes. Refine ANGLE implemnetation
> to delay the render buffer change.
>
> Bug: angleproject:375528202
> Change-Id: Ida7736a09e3a83223a529dbfad48e0f952f91a38
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982241
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:375528202
Change-Id: I38330d99a9e6987ad3f97b4a36c34029acb211b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055500
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2d71fe0d
|
2024-11-04T14:15:34
|
|
Check formats compatibility first in CopyImageSubData validation
During validation for CopyImageSubData, first check if the src and
dst formats are compatible. Before this patch, the check was put
after region checking. If the formats are not compatible, then the
block size used during region check is not reasonable.
Bug: angleproject:377144455
Change-Id: I3245ae1351e127cb70d0d75d75ca34f0106d12b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982240
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d8f6df3e
|
2024-12-09T09:20:40
|
|
Vulkan: Fix assertion in RefCountedEvent::releaseImpl
RefCountedEvent uses non-atomic uint32_t for reference counting, so it
is not thread safe. To ensure we do not use it in a thread unsafe way,
there is an assertion I added in RefCountedEvent::releaseImpl that the
release call is not come from async command queue thread (all release
calls are expected come from context thread which should be protected by
context share group lock). A while ago dynamic rendering is implemented.
With dynamic rendering you can't do final layout change in render pass.
So the final layout change to Present is added to primary command buffer
at the end of RenderPassCommandBufferHelper::flushToPrimary(). And if
async command queue is enabled, that flushToPrimary is called from async
command queue thread, which triggers the assertion I added in
RefCountedEvent::releaseImpl(). This CL releases mCurrentRefCountedEvent
for this specific situation (present image + dynamic rendering +
asyncCommandQueue) so that we do not hit the assertion. The only
downside is that it will force to use pipelineBarrier for this specific
situation. But no one ships with asyncCommandQueue enabled, so there is
no real concern here as well.
Bug: angleproject:382580875
Change-Id: I042e3906db7f5bb7acb299997f8fc7e21b8350b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072350
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eee895e1
|
2024-12-09T08:32:34
|
|
Tests: Add Return to Monkey Island trace
Test: angle_trace_tests --gtest_filter="*return_to_monkey_island*"
Bug: b/383027719
Change-Id: Idc31426199888e7645c2c644bea611f3cc98f202
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6080212
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
70c62566
|
2024-12-06T15:20:49
|
|
Vulkan: SharedFence is now AtomicSharedPtr<RecyclableFence>
This is the preparation before the next CL:
Vulkan: Improve CommandQueue concurrency
crrev.com/c/angle/angle/+/6067346
The `SharedFence` was replaced with `AtomicSharedPtr<RecyclableFence>`
because previous implementation reference counting is not thread safe
which will be required in the next CL, where fence may be released
during unlocked wait or release commands using different mutexes.
Additionally cleanup unnecessary use of `vk::` namespace.
Bug: b/362604439
Change-Id: Icc61dc093ba0a1e350f1a02eb1ba209a2c58c603
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6074131
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
244c0514
|
2024-12-07T23:06:03
|
|
Tests: Add Balatro trace
Test: angle_trace_tests --gtest_filter="*balatro*"
Bug: b/382914040
Bug: b/382960265
Change-Id: Iebebae9dc2da1b1f20f6e9c184130ebfd544ae52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6077333
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
973c37d1
|
2024-12-08T22:43:32
|
|
Traces: Fix screenshot pixel pack state
Without this fix, if the trace had non-default
pixel pack state, our screenshots were broken.
This just backs up the current state, sets defaults,
then restores them.
Test: return_to_monkey_island screenshots
Bug: b/383027719
Change-Id: I8eaa1d58cdf34fbbaefdf4bbb054bff3fd8a5e9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6079310
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
22c457a6
|
2024-12-06T16:07:54
|
|
Tests: VulkanMemoryTest OOM fallbacks check >= instead of ==
OOM tests check deviceMemoryImageAllocationFallbacks in a loop, assuming
that +1 will be reached. Maybe we are skipping over +1 somehow.
Check for >= instead.
The loops are followed by EXPECT_EQ, so if this happens the test would
still fail.
Bug: angleproject:382094011
Change-Id: Icfc93954b4a7ba30e24ae087d7a0c03d640e85b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6077964
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
e82a2eab
|
2024-11-28T00:00:00
|
|
Support multisample 2D array textures on ES 3.0 contexts
Supported via OES_texture_storage_multisample_2d_array
enabled together with ANGLE_texture_multisample.
Drive-by:
Fixed exposure conditions in the OpenGL
backend to match the implementation.
Fixed: angleproject:382298321
Change-Id: I21b037aac7bebc35df267e9dd468088ebce35e71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6075241
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a45099fd
|
2024-11-04T18:12:54
|
|
Tests: offscreen trace replay uses a single EGL context
diablo_immortal changes the context by calling eglMakeCurrent which
causes a failure during offscreen -> onscreen blit. Restore the context
to the original one during offscreen handling.
Bug: b/370089935
Change-Id: Ie501a66b14beef5b27b8f16ff63b6fd3f3c0a338
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5990995
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
c174aa70
|
2024-12-05T15:36:18
|
|
Trace perf: add a basic fps limiter
Adds sleeps based on each 4 frames timing (4 instead of just last frame
makes fps a bit closer to requested)
Example:
--fps-limit=30
*RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 33.3556469900 ms
*RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 33.4376432467 ms
--fps-limit=50
*RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 20.0218095000 ms
*RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 20.0624947200 ms
--fps-limit=100
*RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 10.1298787483 ms
*RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 10.1781205983 ms
--fps-limit=200
*RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 5.1289075067 ms
*RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 5.1571364367 ms
--fps-limit=400
*RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 2.6172564224 ms
*RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 2.7648291614 ms
Bug: b/376300037
Change-Id: I63ef75fe342b149336c0e274bd9cbf6c3aa34c23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072435
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
26414249
|
2024-11-28T00:00:00
|
|
Remove GetTexLevelParameter* from ANGLE_texture_multisample
These functions are always provided by
the GL_ANGLE_get_tex_level_parameter
frontend extension.
Fixed: angleproject:382291448
Change-Id: I59b4ccc56478f2e0931d1f5bd665cfdd5a34391e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072222
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e42047f0
|
2024-10-25T13:50:28
|
|
Vulkan: Disable DescriptorSet cache for SwiftShader
Performance with swiftShader is not critical and cache code path not
making much difference for SwiftShader renderer anyway. This CL disables
descriptor set cache for SwiftShader mainly to ensure the code path gets
test coverage on CI bots. This code path also ensures that we are
tagging ResourceUse on DescriptorSetHelper properly after every use.
Otherwise, it is very hard to test with cache enabled code path since
object usually won't get destroyed due to cache and any bug associated
with this is going to be very hard to debug. This CL has catch such bugs
during the descriptor set cache work.
Bug: angleproject:372268711
Change-Id: Iee1028f9378cf4f537d897e08746d5cf958f225a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6047805
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
045f2818
|
2024-12-03T09:55:39
|
|
End2end test for GL_MAX_SHADER_STORAGE_BLOCK_SIZE validation
Bug: angleproject:381742474
Change-Id: Icae7b2705f5749bc070e096fa045e68bb061b530
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6065459
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
473798bf
|
2024-11-28T00:38:36
|
|
WGSL: @align appropriate struct members in uniforms.
Structs used in the uniform address space need to have certain
members aligned according to the uniform address space layout
constraints (substantially similar to std140).
This CL adds @align annotations where necessary, in structs used
in the uniform address space. Strictly speaking, it's okay to apply
@align annotations to all structs used in the WGSL program, but this
CL uses a pre-pass AST traverser to records all the structs used
in the uniform address space. This is to avoid more unreadable
generated code, and when more transformations are applied to
these structs in future CLs, less generated code overall.
After this, the only types that can't yet be used in a uniform
are matCx2, arrays with stride not divisble by 16 (except when the
array element type is a struct), and bools.
This is #1 in struct translation in
https://docs.google.com/document/d/17Qku1QEbLDhvJS-JJ9lPQAbnuZtLxWhG-ha5eCUhtEY/edit?tab=t.0#bookmark=id.rudfrn2o6jv1
Bug: angleproject:376553328
Change-Id: Ibff3414043a6ecb4a01ef8e3e71dad9c1066ddfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056951
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4b84ee4c
|
2024-12-03T16:21:38
|
|
Vulkan: Implement GL_EXT_EGL_image_storage_compression
Bug: angleproject:352345943
Change-Id: I82a54fa2515254a1045f512818ca23a540cd7a6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6065464
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
100c0b8c
|
2024-11-04T13:58:00
|
|
Preserve mMinSampleShading value when SAMPLE_SHADING enable is toggled
Preserve mMinSampleShading value when SAMPLE_SHADING enable is toggled.
Initial value of MIN_SAMPLE_SHADING_VALUE is zero and that value
should not be changed during glEnable(SAMPLE_SHADING_OES).
Bug: angleproject:376174077
Change-Id: Iea06d7480167eff5722c2d5eef23287e8bb956f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981462
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
cc841237
|
2024-11-29T13:45:50
|
|
Accept framebuffer modifications while PLS is active
The only way for a WebGL implementation to know if PLS is actually
active is to call glGetIntegerv(PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE)
(because glBeginPixelLocalStorageANGLE() can fail). So the original
behavior of not allowing glBindFramebuffer() et. al. while PLS was
active created a state scenario that was expensive for the browser to
track.
Instead, just allow glBindFramebuffer() et. al., and implicitly disable
PLS if they are called while it's active.
Bug: angleproject:40096838
Change-Id: Ibd303f9f9950fb5b7f1add2d41882e4379c51e62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6060301
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
57ccab32
|
2024-12-04T16:26:15
|
|
Skip dota_underlords on Windows NVIDIA
Produces flaky images on on GTX 1660 driver 31.0.15.4601
Bug: angleproject:369533074
Change-Id: I7cfde430deeec2e67549803af425087716ee675e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6070070
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a504b6a2
|
2024-11-25T15:59:05
|
|
Support GL_OES_required_internalformat
Enable GL_OES_required_internalformat GLES extension.
Bug: angleproject:364069034
Change-Id: Ia57548469abff189472aa20b13ca99179c45f2c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038448
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Panfeng Hou <panfeng.hou@arm.com>
|
|
0bb109aa
|
2024-11-28T00:00:00
|
|
Fix validation for 2D multisample array textures
* Fixes:
* TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY query must
be rejected if the functionality is not enabled.
* GetInternalFormativ must accept TEXTURE_2D_MULTISAMPLE_ARRAY
on unextended OpenGL ES 3.2 contexts.
* Added validation to the OpenGL ES 3.2 TexStorage3DMultisample
entry point.
* Cleanups:
* Removed OES suffix from the enum conversion.
* Incorrect extension name in the error message.
* Do not create a 2D multisample array zero texture object
if the backend does not support the functionality.
* Replaced redundant FramebufferTexture validation with an assertion.
* Do not allocate texture binding vectors for 2D multisample array
textures if the backend does not support the functionality.
* Aligned the 2D multisample array texture target assert in
RecordBindTextureTypeError with the actual error condition.
Fixed: angleproject:381270278
Change-Id: Idbbc86e2efe1bbc25d9570d515b67c1a32255d99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6063068
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
75a64561
|
2024-12-02T20:06:29
|
|
restricted_trace_perf: Windows fixes
* Drops some unavailable (and unused) imports
* Allows specifying --angle-version to avoid git failures
Flag created by solti@google.com in http://crrev/c/6037489
Bug: b/376300037
Change-Id: I0c63e966c60998848cdbc8f7a9c414adc0e00d14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6067184
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4262c8e4
|
2024-11-22T15:03:29
|
|
Tests: Add CompressBlob()/DecompressBlob() tests
Test: angle_unittests --gtest_filter=DecompressTest*
Bug: angleproject:42263322
Change-Id: I46880601e1fabde5bc56412b3f6619bd9fe4e907
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039242
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
11495e55
|
2024-11-15T18:46:17
|
|
Perf tests: restricted_trace_perf.py uses android_helper helpers
Bug: b/376300037
Change-Id: Ie4fba3d9300fa3b96f269303f06dee3630f068c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022181
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
2f595f56
|
2024-12-03T10:27:04
|
|
Update third_party metadata
This is to address the incomplete chromium dependency
metadata issue.
Bug: b/365321061
Bug: b/365320354
Change-Id: I8c62aef170170cd7f0e07f18e01a0787479f1a30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6064948
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c31a926b
|
2024-12-02T15:12:20
|
|
Refine test - TextureFixedRateCompressionTest.Invalidate
The test failed on AP1A.240405.002 Vulkan Pixel6, query compression
rate instead use passed in value.
Bug: angleproject:352364583
Change-Id: I6f112ceb85d8e3699f050a1dba8be9a595c83e99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6059344
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fa70c4cb
|
2024-02-02T13:59:06
|
|
CL/Vulkan: Implement the buffer rect enqueues
This change implements the buffer rect copy using a series of memcopies.
The CL buffer rect doesn't map cleanly to the Vulkan copy buffer
command due to the presence of pitches, and implementing as such will
introduce more barriers in the command stream. For now we do process
this command at call entry point.
Bug: angleproject:379764609
Change-Id: I89a9032a4bbfa48899c448eb131a5ce048e8fd60
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034035
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cc5218af
|
2024-12-02T16:06:10
|
|
ANGLE will crash when the buffer is NULL in eglCreateImageKHR
When creating egl image with android native buffer, and the buffer
pointer is NULL, ANGLE will crash. Because the type of pointer in EGL
and vulkan is different. In EGL, the type of this pointer is
ANativeWindowBuffer, But In vulkan it is AHardwareBuffer, which has an
offset compared with AHardwareBuffer, so it will access invalid address.
Bug: angleproject:379764621
Change-Id: Ifb5d4a81dea85eb23d4e3f82c37f13c7e4809ee5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6061898
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b7e0a250
|
2024-11-25T13:36:02
|
|
Add tests for RGB8 and RGBA8 renderbuffer usage
* Added simple tests for RGB8 and RGBA8 renderbuffer usage for
GLES1 and GLES2+.
Bug: angleproject:352352894
Change-Id: Ie410c57ab204c2afad3f53c37578865bd9e9307f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6050343
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
65d674b0
|
2024-12-02T18:36:11
|
|
Vulkan: Must run UnlockedTailCall from flush and finish
`glFlush` and `glFinish` may call `WindowSurfaceVk::swapImpl()`
implicitly when the current Window Surface is in the single buffer mode.
The `WindowSurfaceVk::swapImpl()` in turn may add unlocked tail call in
order to perform CPU throttling. It seems, that CPU throttling is only
possible if also enable the `EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID`
attribute (using `VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR`).
Without this attribute (`VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR`)
`vkQueuePresentKHR()` performs implicit waiting for GPU, making ANGLE's
throttling uncessary (the serial is already finished).
This fix allows running the tail call from `glFlush` and `glFinish`
(because these APIs are not performance critical). Alternative solution
may instead perform the CPU throttling immediately if the
`WindowSurfaceVk::swapImpl()` is called from the
`WindowSurfaceVk::onSharedPresentContextFlush()`.
Additionally, added "ASSERT(!any())" at the beginning of each entry
point. This is to catch scenarios, if some API adds the unlocked tail
call and for some reason exit without checking the assert of running
the call.
Test: angle_end2end_tests --gtest_filter=EGLAndroidAutoRefreshTest.SwapCPUThrottling/ES3_Vulkan_NoFixture
Bug: angleproject:42266581
Change-Id: I418c552f6e95b4cfc01db738c9989533377f1050
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6063719
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|