|
06ae828f
|
2024-07-31T16:42:54
|
|
Vulkan: Avoid breaking render pass for vertex buffer conversion
Adreno driver does not support VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT for
VK_FORMAT_R8G8B8A8_USCALED. This cases we hit fallback code path using
GPU to do conversion. The conversion buffer gets reused since all access
are from GPU, but that causes render pass break since there is a WAR
hazard on the conversion buffer. This CL adds the
isRenderPassStartedAndUsesBuffer check and allocate a new conversion
buffer if reuse current buffer may break the render pass.
Bug: b/356473483
Change-Id: Iaa0b9235ba42787f0e3629f0d9174ae768456f8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5754324
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
59f6d962
|
2024-07-30T21:36:00
|
|
WebGPU: Run dEQP GLES2 tests.
Add the flags and platform support needed to initialze the WebGPU
backend.
Set up initial test expectations with broad suppressions.
Current pass rate: 14.27%
Bug: angleproject:356399840
Change-Id: I1339cd978ca75b59a2e99ee81d93981dc6066f36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5751601
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cc7d0220
|
2024-07-31T14:22:38
|
|
Vulkan: Fix serial mismatch during mid-loop flush
Currently, if the total buffer updates to the image surpasses a
certain threshold, it results in a flush. However, this can cause
discrepencies in the queue serial, which can result in incorrect
behavior on some platforms.
* Updated flushStagedUpdatesImpl() so that the image serial after
applying the updates matches that of the current outside command
buffer.
* That includes when there is a flush in the middle of the update
loop, resulting in submission and new queue serial for the CB.
* Added a unit test to check if a large texture can uploaded and
deleted after a second small texture is uploaded.
* Texture1UploadThenTexture2UploadThenTexture1Delete
* Added a unit test for flushing when uploading cubemap textures.
Bug: b/351650806
Bug: b/356192937
Change-Id: I7f9b20e4b7fd49115f22081a9733b4d44b740e4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5744377
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
26cdf621
|
2024-07-31T14:43:12
|
|
Vulkan: Bugfix in dynamic rendering support
Fix 2 bugs -
1. Set VkGraphicsPipelineCreateInfo::flags when linking GPLs
2. Chain VkRenderingFragmentShadingRateAttachmentInfoKHR struct in
VkRenderingInfo::pNext
Bug: angleproject:42267038
Change-Id: I456c75d57ec64926a21dffe93b05e1bbab2cb262
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5754635
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7c77bb75
|
2024-07-24T12:05:29
|
|
Vulkan: Remove implicit buffer barrier for shader write
When app uses shaders to write to SSBO, right now we are inserting an
implicit barrier to ensure WAW are in order. But Spec says that
"Explicit synchronization is required to ensure that the effects of
buffer and texture data stores performed by shaders will be visible to
subsequent operations using the same objects". This CL removes the
implicit barrier for buffer write if the current write comes from
shaders and relies on explicit glMemoryBarrier to insert a global
barrier.
Bug: angleproject:350994515
Change-Id: I8ab039610be9be2ded27ea60dab54bdad08502f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5719258
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
279c69e5
|
2024-07-30T21:30:54
|
|
WebGPU: Fix intended/actual format mismatch for textures
Update WebGPU texture allocation size to use the actual format instead
of intended. Early-out with an UNIMPLEMENTED if the format is not
supported yet.
Bug: angleproject:356399840
Bug: angleproject:344814096
Change-Id: Idef9ad40c6b1d490964fc398fb077b117612a44b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748448
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
cab7d1b6
|
2024-07-30T21:19:15
|
|
WebGPU: Obey buffer alignment rules
WebGPU buffers require a size aligned to 4 bytes and map buffer offsets
aligned to 8 bytes. Hide this requirement in The BufferHelper class by
doing the apropriate offsets during buffer creation and map calls.
This allows many dEQP tests to run without crashing due to WebGPU
buffer creation errors.
Bug: angleproject:356399840
Bug: angleproject:42267091
Change-Id: Id71c3b5db31aa712d5a88631efa4897d6205a41d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748443
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
641bc04a
|
2024-07-30T21:25:44
|
|
WebGPU: Use the correct source format for ReadPixels
ReadPixels was using the format of the destination buffer which works
correctly for RGBA8 -> RGBA/UNSIGNED_BYTE but runs the wrong conversion
functions for other formats.
Bug: angleproject:356399840
Bug: angleproject:42267090
Change-Id: I7c46add3f643017f454136135afef697847a2383
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748446
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9da7fb15
|
2024-07-30T21:21:45
|
|
WebGPU: Don't log all renderpass closure reasons
This logging line spams the console excessively. For now, just make
sure there is a message associated with each renderpass closure reason.
Bug: angleproject:356399840
Change-Id: I2313d439837ffb11f11cd56194511e80fb312eba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748444
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1953c606
|
2024-07-30T21:28:13
|
|
WebGPU: Fix ReadPixels from window surfaces.
The intended/actual formats were not initialized in this code path and
the created swap chain texture did not have the usage flags needed for
copying to a buffer for ReadPixels.
Bug: angleproject:356399840
Bug: angleproject:42267090
Change-Id: I8e4279eedb2b23f0d2ed690ccee086ae115969c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0898dab0
|
2024-07-30T21:34:00
|
|
WebGPU: Skip primitive topology conversion for DrawArrays
For non-indexed draw calls, no index format is needed for the
stripIndexFormat.
Bug: angleproject:356399840
Change-Id: Ie2c9805a2c257d94ea5f1bca026287873e4d6781
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748449
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8446bbd6
|
2024-07-30T21:22:50
|
|
WebGPU: Remove ASSERT in depth/stencil clears
Instead of asserting that we are not clearing depth or stencil, just
log an UNIMPLEMENTED and skip the call. This allows many dEQP tests to
run without crashing on the ASSERT.
Bug: angleproject:356399840
Change-Id: Icfe7a77d7128e679501da42023601217c7b0e6c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748445
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d503f580
|
2024-07-30T21:15:44
|
|
WebGPU: Remove UNREACHABLEs in the compiler
Update several usages of UNREACHABLE that are hit by dEQP. Change them
to UNIMPLEMENTED so that ANGLE does not crash.
Bug: angleproject:356399840
Change-Id: I8b4415c9481384761dbe4527acaf986946321c54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748442
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
aee59926
|
2024-06-28T17:00:56
|
|
Metal: Enable GL_ANGLE_reverse_row_order for Metal
The feature is already implemented due to generic pack parameters
handling and FramebufferMtl::setFlipY().
Bug: angleproject:349980052
Change-Id: I08cc81dcb26ae81e8d81b060d986e01479487dbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667597
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
65f08d08
|
2024-07-26T22:14:49
|
|
Vulkan: Work around driver bug with nested switch
Bug: chromium:350528343
Change-Id: Ie7bd58934ccb2b8f06f6ad6a8c3bf38e81b84969
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5744620
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
346ba328
|
2024-07-30T11:42:12
|
|
Vulkan: Simplify pulling samplers out of structs
The RewriteStructSampler transformation moves samplers out of structs,
for example turning this struct:
struct Original
{
sampler2D s1;
vec4 f1;
sampler2D s2;
sampler2D s3;
vec4 f2;
};
into:
struct Modified
{
vec4 f1;
vec4 f2;
};
This required modifying the struct-field selection nodes to remap the
field indices, causing some complication.
Instead, this change makes the struct definition reorder the fields as
such right during parse:
struct Original
{
vec4 f1;
vec4 f2;
sampler2D s1;
sampler2D s2;
sampler2D s3;
};
As a result, the field-selection indices for non-sampler fields don't
get changed when the struct is replaced with `Modified`.
Bug: angleproject:42262842
Bug: angleproject:349994211
Change-Id: I76986eab780689e9887b094e3c70b87887a8ec92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5748789
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
451d78d9
|
2024-07-25T11:56:25
|
|
Prune trivial infinite loops in WebGL contexts
Bug: chromium:350528343
Change-Id: I4be19c1ffe41fc86889b49b4a0e29d8bc9c940ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5738743
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4c883359
|
2024-07-03T13:50:58
|
|
Add dma_buf build support to generate_android_bp
Minimized version of go/anglecl/5729843 that limits introduced changes.
Make generate_android_bp.py emit a `angle_android_dma_buf` Soong
config variable that, when enabled, creates a "Linux-like" build
using Android toolchain.
The build does not assume the presence of regular Android graphics
stack. eglGetDisplay defaults to creating DisplayVkOffscreen. This
enables EGL rendering context setup based on an externally allocated
DMA-BUF, using EGL_EXT_image_dma_buf_import and
GL_OES_EGL_image_external extensions.
See ag/28533701 to view the generated code.
Also, revert changes from "Add build flag for a "dma_buf" Android build"
(commit 4d2b365582669a04224d1e1fa3c92447c359a4ba).
The flag added there was submitted a bit prematurely, and as
go/anglecl/5729843 was deemed too complex a different approach was
necessary.
Test: CQ
Test: Build the entire CL chain with the new Soong config flag enabled
Test: run the system, attach debugger to eglGetDisplay(), see
Test: DisplayVkOffscreen getting instantiated
Bug: b/353262025
Change-Id: I974d91cff79a0bd8b5059a145f0ae6114b2bcbe5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746214
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Marcin Radomski <dextero@google.com>
|
|
3cda3527
|
2024-07-30T14:28:17
|
|
Capture/Replay: fix CaptureProducedRequiredFiles bottleneck
Turns out repeatedly listing/checking files was a huge bottleneck,
especially on Windows.
Example from win-trace GLES 3.0. Before this change almost 10 minutes!:
I09:59:03.198422Z Running 2255 capture tests, worker_count=8 batch_count=1
I10:00:36.627151Z RunCaptureInParallel finished
I10:10:20.380077Z CaptureProducedRequiredFiles finished
I10:10:20.396174Z Building replay tests
After:
I11:02:57.679244Z Running 2255 capture tests, worker_count=8 batch_count=1
I11:04:33.078232Z RunCaptureInParallel finished
I11:04:35.331878Z CaptureProducedRequiredFiles finished
I11:04:35.344066Z Building replay tests
win-trace timing expected to improve from ~30 minutes to ~15 minutes.
Bug: angleproject:42264614
Change-Id: Ie1903d89d54ab5c6464d3ddb993ec3007e7604ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5749745
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
198de044
|
2024-07-30T15:44:03
|
|
Metal: fix wrong render encoder's serial assignment
mtl::RenderCommandEncoder object is created once and reused multiple
times. We should re-assign a new serial whenever we reuse it, instead of
assigning once in constructor.
bug: angleproject:40644888
Change-Id: I18120c91dddd5b279fcec7a9099833e97ec1c37c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746179
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
2bc1519c
|
2024-07-28T05:16:07
|
|
Metal: fix base/max level change for mutable textures.
Previously, the following scenario would accidentally delete and
recreate the native texture storage for a non-immutable TextureMtl:
1. set a texture base/max level.
2. attach the texture to a FBO and clear it.
- native storage is created.
3. sample the texture.
- native storage is accidentally deleted and recreated.
This happened because front-end only notifies the backend about the
base/max level dirty bits at step 3. At this point, Metal backend
thought that the native storage created at step 2 is no longer valid and
attempted to recreate the storage.
This CL fixes the bug by checking whether the base/max level is still
compatible with the existing native texture storage. If it is then the
dirty bits result in no-op.
Bug: chromium:355605685
Change-Id: I1daac80a74219109631a101e18e944560606d926
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5741121
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aaf39d92
|
2024-07-23T17:56:56
|
|
FrameCapture: fix (nil) showing up in linux-trace capture
Without this we get the generic fallback ostream << value which
apparently works differently across platforms and produces (nil) on
Linux but something compile-able on Windows.
Bug: angleproject:42264614
Change-Id: I2bce988b661cf65ba0651d78081aaf3240d87d52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736060
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
15b354d5
|
2024-07-28T21:30:11
|
|
Unsuppress ASAN/UBSAN suppressions for fixed tests
Bug: angleproject:42265173
Bug: angleproject:42265224
Change-Id: Id695c0893bb7676cb1f129f45932a1c95708e3e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742430
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
da864294
|
2024-07-18T18:44:55
|
|
Capture/Replay: rework capture_replay_tests, enable linux-trace
Changing the way capture_replay_tests orders its stages.
Previously, build, capture and replay would all run concurrently in
multiple processes sometimes causing difficult to understand interaction
between those stages.
This CL changes it so that the test follows stages sequentially:
* Build end2end tests
* Run all capture tests (in parallel)
* Check captured files and produce a single build for replay
* Build replay binary and all tests
* Run all replay tests (in parallel, but _one by one_)
Note that running replay tests one by one avoids the confusing batch
failures altogether. Now when a replay test is broken, the logs will
specifically identify which one caused the issue.
This also noticeably improves CI time as ninja builds of bigger
batches are more efficient and possibly less linking is happening.
Additionally, xvfb is supported directly in the script without relying
on testing/xvfb.py, in a way that reuses xvfb displays instead of
starting/stopping xvfb for each test and avoids races that are
possible when running testing/xvfb.py concurrently (such as picking
which display to use). This appears to significantly improve stability
on linux-trace which have had to be disabled due to the flakiness.
Bug: angleproject:42264614
Change-Id: I38a5547250cf5f63b8b9e4879f02cd715d8df0a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5721996
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
bd3a3308
|
2024-07-22T14:03:20
|
|
Vulkan: Remove implicit image barrier for shader write
When app uses compute or fragment shader to write to an image and makes
multiple dispatchCompute or draw calls, right now we are inserting an
implicit barrier to ensure WAW is hazard free. But Spec says that
"Explicit synchronization is required to ensure that the effects of
buffer and texture data stores performed by shaders will be visible to
subsequent operations using the same objects". This CL records the bits
from the last glMemoryBarrier call and will skip the barrier calls in
ContextVk::updateActiveImages if there is no layout change, unless there
is requirement from prior glMemoryBarrier.
Bug: angleproject:350994515
Change-Id: I8bdeeb658993824369824aaa0f25cb4b6e3785f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5719024
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
554cc484
|
2024-07-29T10:03:50
|
|
Tests: end2end tests process test args before TestSuite()
This fixes --use-config=<config> which allows to select a configuration
before tests are registered and avoid looping through all configs.
Bug: angleproject:42264614
Change-Id: Ia19d52a09debdd738577b8a12da82878302f3888
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746710
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
568caaa0
|
2024-07-23T15:07:59
|
|
Prune switch(constant) with no matching case
Bug: chromium:350528343
Change-Id: Iabb475b230f22086de482bbdcf2fa00b0d986622
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5735815
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
57202584
|
2024-07-26T13:07:44
|
|
Vulkan: Fix dispatch-after-closed-render-pass bug
Bug: b/355567160
Change-Id: I4bc6acec53a50330507bfadcc0a4c1093366aae6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5741786
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b20cd34d
|
2024-07-18T10:03:17
|
|
Add build flag for a "dma_buf" Android build
Add angle_android_dma_buf gn flag, defaulting to false. When
enabled:
- Enables a "linux-like" build of ANGLE while using the Android
toolchain, by making the OS detection logic define PLATFORM_OS_POSIX
but not PLATFORM_OS_ANDROID.
- Makes ANGLE default to using Vulkan backend, and
- Enables DMA-BUF based external image support.
This allows setting up GL framebuffers backed by DMA-BUFs, enabling
rendering without full Android graphics stack. See the bug for details.
Bug: b/353262025
Test: treehugger
Test: Build the entire CL chain with the new Soong config flag enabled
Test: run the system, attach debugger to eglGetDisplay(), see
Test: DisplayVkOffscreen getting instantiated
Change-Id: I584f9491b188f730f4ee9630173cc486ae7e8908
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5729841
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
a0a832de
|
2024-07-26T12:33:37
|
|
Revert "GL: Forward client-side arrays to the driver when possible"
This reverts commit a6c2b4346516f228054b5bdd754bbc6f3ba1cba7.
Reason for revert: Fails some Chrome tests on Android after rolling: https://chromium-review.googlesource.com/c/chromium/src/+/5742024
Original change's description:
> GL: Forward client-side arrays to the driver when possible
>
> The OpenGL dirver can handle client-side arrays when the context is
> OpenGL ES or a desktop GL compatability profile. When in these
> sitatuions, use the driver default VAO for all frontend context VAOs
> and forward client-side data directly to the driver.
>
> Bug: angleproject:355034868
> Change-Id: I21a4459c4f7db780b51441d76e63d17bf737c101
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736058
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:355034868
Change-Id: I76f95d66ca277bcbb67300179e49287b433c1ede
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742647
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
d306e048
|
2024-07-24T15:03:04
|
|
Tests: Add Shovel Knight Pocket Dungeon trace
Tests: angle_trace_tests --gtest_filter=*shovel_knight_pocket_dungeon
bug: b/355399059
Change-Id: I5b2193db9814d0867ab95efab7588540fca6198d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742394
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a6c2b434
|
2024-07-23T16:36:10
|
|
GL: Forward client-side arrays to the driver when possible
The OpenGL dirver can handle client-side arrays when the context is
OpenGL ES or a desktop GL compatability profile. When in these
sitatuions, use the driver default VAO for all frontend context VAOs
and forward client-side data directly to the driver.
Bug: angleproject:355034868
Change-Id: I21a4459c4f7db780b51441d76e63d17bf737c101
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736058
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
81086a18
|
2024-07-23T15:51:35
|
|
Manual roll VK-GL-CTS from 5b2dfe7c775a to 5a542d2049d7 (1 revision)
Manual roll requested by solti@google.com
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/5b2dfe7c775a..5a542d2049d7
2024-07-19 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(CoverageGL21), PART 8
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,solti@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
Manual edits
- Patchset 2: fetched the original roller generated CL
- Patchset 3: added missing parts, and run "python3
scripts/run_code_generation.py"
- Patchset 4: suppress the failures: KHR-GLES3.api.coverage and
KHR-GL46.api.coverage. see https://anglebug.com/355292302
Bug: b/354737043
Bug: angleproject:355292302
Tbr: solti@google.com
Change-Id: Ie38a65c6db0b3330e970971bd1325e3c419b6248
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5739577
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
4f498eaa
|
2024-07-24T14:31:23
|
|
WebGPU: Add more format support
This CL adds a new FormatTable class that initializes webgpu texture
and vertex formats. It also adds this class to the display so it can
be used in the ImageHelper.
This CL changes the previously hardcoded RGBA8 texture format that
was initially used when creating textures to use the format passed
into the methods.
Bug: angleproject:344814096
Change-Id: I768b85335329116496dbf721aac54d1137aaae9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5660397
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
84e54d88
|
2024-07-22T14:39:22
|
|
WebGPU: Add command buffers and renderpass management
Add a CommandBuffer class to serialize and replay WebGPU commands. Only
Draw and SetPipeline are implemented in this patch.
Manage render pass begin and end events due to framebuffer changes and
swapping.
Handle the color mask dirty bits so that a non-zero color mask will be
used.
All togther, this is enough to draw a triangle using a hard-coded
shader without inputs.
Bug: angleproject:0
Change-Id: I0fbf0296563c02c7f0774ad4197b83f4c93c22bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5731594
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
703c5960
|
2024-07-24T17:02:28
|
|
Vulkan: PPO must warmup pipeline cache according to GPL support
This commit caused regression:
https://chromium-review.googlesource.com/c/angle/angle/+/5366173
`ProgramPipelineVk::link()` uses Complete subset for warmup regardless
of the GPL support. However, `ContextVk::createGraphicsPipeline()` will
respect the GPL support. Before the above change, PPO was respecting
GPL for warmup.
This change removed `subset` parameter from the
`getPipelineCacheWarmUpTasks()` not only to avoid copy-paste logic, but
also to ensure consistency with `waitForGraphicsPostLinkTasks()`.
Bug: angleproject:8601
Change-Id: Iab5df1b55921649a8f98a34bb07d8e6a145bfd4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5738153
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fc381db4
|
2024-07-23T00:00:00
|
|
Metal: Treat link jobs as thread-safe
Fixed: angleproject:351165323
Change-Id: I2ad7b8bd4b89be7d98876287c641b86a33e1108e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5735475
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b98c4d81
|
2024-07-23T09:09:37
|
|
FrameCapture: Add restore of VAO buffer binding
If the VAO was changed before the trace started, but no
buffers were bound during replay, the VAO buffer binding
was not properly reset.
Test: angle_trace_tests --gtest_filter=*shovel_knight_pocket_dungeon
Bug: b/354888763
Change-Id: I76f94e5d219b88c641528049034d92ee55161f56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5734653
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6eda2557
|
2024-07-22T00:00:00
|
|
Metal: Pass an existing context to CompileMslTask
Bug: angleproject:351165323
Change-Id: Icd4a2c8f9e158dc1989d720dc8235ba09dc0d82a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5736272
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
85264808
|
2024-07-18T09:53:14
|
|
tls.h: check ANGLE_USE_ANDROID_TLS_SLOT to define GL TLS
The definitions of ANGLE_ANDROID_GET_GL_TLS() macro were guarded by
ANGLE_PLATFORM_ANDROID, but the use by ANGLE_USE_ANDROID_TLS_SLOT.
This change makes it so both definition and the use use the same macro.
Additionally, make libGLESv2/global_state.h include common/tls.h when
ANGLE_USE_ANDROID_TLS_SLOT is defined, even if ANGLE_PLATFORM_ANDROID is
missing. This will enable the use of Android TLS in builds that use
bionic on systems that are not full Android (see bug for details).
The change is supposed to have no impact on existing code.
Bug: b/353262025
Test: treehugger
Change-Id: I4406aa4642c4a589a53dd8e0ff6c41234942901b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5729840
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
7b0dc666
|
2024-07-19T15:39:42
|
|
Vulkan: Enable explicitlyEnablePerSampleShading for most vendors
Bug: b/267953710
Bug: angleproject:40096890
Tests: SampleMultisampleInterpolationTest.SampleMaskInPerSample*
Change-Id: I51cc393934e7fd24146ab5c94893bb3014c5c044
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5726628
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7691cea7
|
2024-07-22T13:46:14
|
|
Vulkan: Remove seamful cubemap emulation
Practically, the Vulkan backend is never expected to run on ES2
hardware. It _may_ for WebGL, but seamful cubemap emulation was
disabled for webgl anyway.
Bug: angleproject:354729454
Change-Id: Iafa20fbdbe232c4df4c777b12e7698ef7a87cf24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5730143
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0d458614
|
2024-07-18T00:00:00
|
|
Vulkan: Fix PBO readbacks with small row length
Use CPU path when the row length is
smaller than the source area width.
Fixed: angleproject:354005999
Change-Id: I5c4686ca5387a98c6137868afb19c333aed8ac21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5724591
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
975674ea
|
2024-07-18T00:00:00
|
|
Metal: Fix PBO readback failures with small row length
Do not use blits when the row length is
smaller than the source area width to
avoid Metal validation failures.
Bug: angleproject:354005999
Change-Id: Ifa0f29a0d1d2fb3275ea254957c24f36807e6f66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5724790
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
e37c79d4
|
2023-11-23T15:59:12
|
|
Fix DecompressBlob() when compressed data is invalid
Function uses `zlib_internal::GetGzipUncompressedSize()` to calculate
the `uncompressedSize`. This size comes directly from `compressedData`.
If source data is invalid or has different format, then calculated
size may be any value, including 0.
Zero `uncompressedSize` cases ASSERT() in `angle::MemoryBuffer::data()`
and may case UB in `zlib_internal::GzipUncompressHelper()`.
Bug: chromium:1485277
Change-Id: Iaa92d93a5a1b530b8686cfb544eb66075b0874e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5729953
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
85edb907
|
2024-07-17T19:09:09
|
|
Vulkan: Remove the adjustClearColorPrecision feature for new driver
The vulkan driver issue that this feature tries to workaround
is resolved in the new driver. Remove the feature workaround.
Bug: b/292282210
Change-Id: I541526e71d5312f1a23b5a415e96d5b966e77f2c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5719652
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Solti Ho <solti@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
93491ae3
|
2024-06-21T08:04:24
|
|
FrameCapture: Handle active texture in MEC
When restoring texture bindings and contents, we need to first
set the correct GL_ACTIVE_TEXTURE, otherwise it will use existing
active texture bindings and update the wrong textures.
Test: Grand Mountain Adventure MEC
Bug: angleproject:345851268
Change-Id: I7c6c4a918513d4216405efe51774fcce4b49b45e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647491
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
1fe50b44
|
2024-07-16T20:12:06
|
|
Make implicit `this` capture explicit
When declaring a lambda with a value-capture default [=, ...], the
this pointer is implicitly captured by value as well. This results
in potentially-unintuitive behavior and has been deprecated in C++20.
It produces a warning in newer versions of clang
(https://reviews.llvm.org/D142639).
This CL prevents the warning by explicitly `this` for each lambda. To
maintain compatibility with previous C++ standards, it also removes
the = capture default and captures each variable explicitly.
It does not change the compiled code at all, since it's just removing
some syntactic sugar.
Bug: chromium:351004963, angleproject:42266730
Change-Id: I0f17a442262e2da22a1951d590291806554e66ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5714410
Auto-Submit: Devon Loehr <dloehr@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
327796df
|
2024-06-24T10:58:28
|
|
FrameCapture: Add a new CapturedTest for glActiveTexture
This CL adds a new test focused on Reset of glActiveTexture.
It doesn't just add a new frame since the original test was getting
quite cluttered.
This should provide a blueprint for adding more tests in the future.
Test: capture_tests.py
Bug: angleproject:345851268
Change-Id: Ieac29031f55ca133d81ce5ba26d45199de38e874
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5714395
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
0e598a0c
|
2024-07-17T09:49:19
|
|
FrameCapture: Unbind PIXEL_UNPACK_BUFFER for texture restore
When restoring textures, we need to ensure the PIXEL_UNPACK_BUFFER
is not bound, as that will influence where we pull data from.
Allow per-context reset to restore the correct binding.
Test: Grand Mountain Adventure MEC
Bug: angleproject:345851268
Change-Id: I636f3780f8454d04152ff7bf7ba15d039ee41872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5718285
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
98ff1c14
|
2024-07-17T09:45:03
|
|
FrameCapture: Improve buffer binding reset
We aren't correctly tracking and resetting buffer bindings, which are
per-context. To restore them, we need to track the bindings at the
beginning and mark them dirty. Before this we were doing it in
ResetReplayContextShared based on the object dirty state.
Test: Grand Mountain Adventure MEC
Bug: angleproject:345851268
Change-Id: Ic3db583c88bec9c680197f71ff11fdf69efdf630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610332
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a5db20f7
|
2024-02-21T10:48:26
|
|
Traces: Switch to regex for power rails
The rails have been rearranged on some devices. Update the way
we scan for output to find them in either case.
Bug: angleproject:354006406
Change-Id: Ia3999fc2c07a726f4832e451af93a40949f87335
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5722949
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
80149a7f
|
2024-07-18T18:46:08
|
|
Replace variable-length array with vector
Variable-length arrays allow allocating an unbounded amount of
memory on the stack. This replaces a VLA with a vector, also
provides better consistency with the rest of the containers in the
function.
Bug: chromium:349656479
Change-Id: I1e18f9a8985de84b82da58fa5465c98dbca51e8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5721320
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
86b22745
|
2024-07-17T19:05:51
|
|
Vulkan: Fix mPipelineCache is not initialized after terminate
Very old regression:
https://chromium-review.googlesource.com/c/angle/angle/+/1683807
Problem happens only if call `eglInitialize()` again on terminated
display without also calling `eglGetDisplay()`.
Note: calling `eglGetDisplay()` on terminated display will call
`setupDisplayPlatform()`, which will destroy old `mImplementation`.
Test: angle_end2end_tests --gtest_filter=EGLDisplayTest.InitializeDrawSwapTerminateLoop*
Bug: angleproject:3318
Change-Id: I94bc7eba97be2d9b194c1a22a37662a2836f60b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717753
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
62d9f847
|
2024-07-17T13:27:07
|
|
Speed up UniformBuffer support on Metal
If the sizes are different but all fields match
then only padding remains. So, as long as the
buffer can safely handle the offset and size of
usage, allow drawing without converting the
uniform buffer.
Fixed: angleproject:348270693
Change-Id: I91196ca9839cf064b573d912f125ff4879a85b02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5719193
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Auto-Submit: Gregg Tavares <gman@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
|
|
9968e98c
|
2024-07-16T00:00:00
|
|
Metal: Fix compute path for 16-bit PBO readbacks
Added 16-bit normalized pixel formats
to internal copy shaders.
Fixed and simplified floatToNormalized
usage for signed inputs.
Bug: angleproject:352700368
Change-Id: Icbb79381991c6621004d53706b97662d33c25cd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717929
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
43dc24dd
|
2024-07-17T16:05:59
|
|
Skip couple non-deterministic angle_restricted_trace_gold_tests
on Win Intel Vulkan.
animal_crossing
black_clover_m
produce slightly different images each run.
Bug: angleproject:353690308
Change-Id: I22f2353b2cd83801b857b281ee873c83804864af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717931
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1db80b88
|
2024-07-10T12:47:42
|
|
Reland "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This is a reland of commit c379ff48043a47e444c388c45270db40d3172d50
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I083e6963b5421386695e49a9872edbb2016c9763
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691342
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3fe6cae1
|
2024-07-16T00:00:00
|
|
Fix gl::roundToNearest on x86
* Ensured that (0.5 - 1 ULP) is rounded to zero
* Skipped std::copysign for unsigned return types
Bug: angleproject:352963106
Change-Id: I803030a630229af187bcf1f6c71b6cb68962cc45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5713472
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f87cbc9
|
2024-07-15T13:07:35
|
|
Vulkan: Fix late-added resolve attachment tracking
Resolve attachments may be added after the fact to a render pass due to
glBlitFramebuffer or eglSwapBuffer. Previously, only the resolve image
views were tracked by the render pass, and otherwise the state tracking
(layout, content defined, etc) treated the resolve images as generically
written-to by the render pass.
As a result, the render pass was unable to finalize the layout of the
resolve images early. Optimizing the layout of the swapchain image when
the surface is multisampled for example was not done due to this issue.
In this change, when resolve attachments are added late, they are
tracked identically to when they are added at the beginning of the
render pass, fixing the issues described above.
Bug: angleproject:42265625
Bug: angleproject:42266019
Change-Id: I765560762bb8caf39ba1096fb028177201c082d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5707470
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
468fcbe0
|
2024-07-15T15:46:12
|
|
Manual roll VK-GL-CTS from 43432bf265e3 to 5b2dfe7c775a (17 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/43432bf265e3..5b2dfe7c775a
2024-07-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5
into vk-gl-cts/main
2024-07-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11
into vk-gl-cts/main
2024-07-12 marcin.zajac@mobica.com MSAA Images in 64 bit Atomic + Shader
Storage Images
2024-07-12 piotr.byszewski@mobica.com Add tests for subgroup uniform
descriptor indexing
2024-07-12 ziga@lunarg.com Add shader object tests using all stages with
nextStage 0
2024-07-12 MengYang.Liu@amd.com Add test cases for 256 bytes
PushConstantsSize
2024-07-12 javed@igalia.com Fix 'unused shader' message
2024-07-12 kamil.goras@mobica.com Split
KHR-GL46.cull_distance.functional
2024-07-12 syoussefi@google.com Remove incorrect usages of DE_NULL in VK
framework
2024-07-12 syoussefi@google.com Remove incorrect usages of DE_NULL in GL
tests
2024-07-12 syoussefi@google.com s/DE_NULL/0 in
makeStridedDeviceAddressRegionKHR
2024-07-12 rgarcia@igalia.com Test line rasterization parameters do not
affect non-lines
2024-07-12 javed@igalia.com Add option to enable/disable spir-v
validation
2024-07-12 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9
into vk-gl-cts/main
2024-07-11 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9
into vk-gl-cts/main
2024-07-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9
into vk-gl-cts/main
2024-07-01 lorenzo@khronosgroup.org Update KC CTS
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,yuxinhu@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: b/353358652
Tbr: yuxinhu@google.com
Change-Id: I1c787be2812017f14aff669d42bf55f2696d5de1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5710888
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
3540f8e8
|
2024-07-15T00:00:00
|
|
Fix gl::floatToNormalized for negative inputs
Bug: angleproject:352963106
Change-Id: If353ff4126c6203ef6c1267d2b5c85b927964f15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5710508
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f9af6f1c
|
2024-07-11T00:00:00
|
|
Add ReadPixelsTextureNorm16PBOTest
Test that ReadPixels with a pixel pack buffer
object bound works for 16-bit color buffers.
Bug: angleproject:352584420
Bug: angleproject:352700368
Bug: angleproject:352963103
Bug: angleproject:352963106
Change-Id: I97457fefa86fad3f9444a24870bfd0431a87d64b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5703580
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
c4274d54
|
2024-04-29T11:47:34
|
|
WebGPU: Add pipeline creation and caching.
Bug: angleproject:342213825
Change-Id: I303f193d30fd6b9820efaefcae64e11042888009
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5497535
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
58a56ca4
|
2024-07-16T11:26:44
|
|
Vulkan: Restrict VkEvent to TBRs
VkEvent has much bigger overhead. Until we know that it helps desktop
GPUs, we restrict it to TBRs. Also enabled for SwiftShader so that we
get more test coverage in bots.
Bug: b/336844257
Change-Id: Ie1859a515c9969ca37f07eae0ff729dd934eb26e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5714391
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
84c77437
|
2024-07-15T16:41:17
|
|
GL: Disable GL_KHR_blend_equation_advanced on various devices
Intel desktop OpenGL drivers fail tests for advanced blend. Skia also
disables usage of this extension on Intel drivers.
Disable on older Qualcomm and ARM devices following Skia's blocklists.
Bug: angleproject:42267098
Change-Id: I7642017d06e11ad0651fba6f1ec5cc3f589700ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5709950
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9880af58
|
2024-07-09T13:59:54
|
|
GL: Fix map input buffer out of range in streamAttributes
Early return when validating map range size for input attribute
buffer fails.
Bug: b/349653220
Change-Id: I75ac73c58abb469f0757978175fde53cd012df31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5690279
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
85875b96
|
2024-07-11T14:59:27
|
|
Fix validation regarding cube map array dims
When defining cube map array textures, the depth represents
the number of layer-faces, and does not change with mip level.
* Updated validation for glTexImage3D().
* The width and the height for a mip level should not exceed the
max cube map size for that mip level.
* The depth limit has been set to max 3D texture size (similar to
glTexStorage3D())
* The spec states that this limit should be at least the value of
the implementation-based constant MAX_RECTANGLE_TEXTURE_SIZE.
* Added unit tests to check multiple cases for cube map array
validation for TexStorage3D, TexImage3D, and TexSubImage3D.
Bug: b/338621235
Bug: angleproject:42262247
Change-Id: I0857e68de02238ffd288e34879fb7dfa6e3f545f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5698571
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a8eded77
|
2024-06-26T12:58:25
|
|
Vulkan: remove unused function
Bug: b/293297177
Change-Id: I9eeda38b78cc68eae3f65571b82b62e5ea45ad61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5659504
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
faae3c32
|
2024-07-15T16:12:38
|
|
Add necessary MSAN include when ANGLE_WITH_MSAN
Tentative fix for https://crrev.com/c/5706150
__msan_scoped_disable_interceptor_checks() is defined in that header,
and was presumably pulled in transitively previously.
Bug: angleproject:42266508
Change-Id: If64b213f01e98fef6bbed15b2f071bd8032e4987
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5709949
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
43ecf2bd
|
2024-07-15T12:16:30
|
|
dEQP tests: skip comp_swap r32i/r32ui on Pixel 6
Bug: angleproject:352610491
Change-Id: Id4d9c31d08ce4953c022c5314b163d55152edcd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5707469
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
06921c61
|
2024-07-08T12:13:40
|
|
vulkan: filter out devices with insufficient API version
We weren't taking the version into consideration inside
ChoosePhysicalDevice, but RendererVk really cares about that and will
error out if the selected device doesn't meet the minimum API version
requirements.
Frontload some of that API version check work in ChoosePhysicalDevice,
giving it the opportunity to find a device that matches the
requirements.
Bug: angleproject:351866412
Change-Id: I471e93b03eca5e18e98202f9848ba0fd1b55d5a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686556
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
df90bbc5
|
2024-07-12T18:04:53
|
|
Refactoring: move angle::HashMap and HashSet to own header
Underlying abseil includes pull in a large set of headers
Bug: angleproject:42266508
Change-Id: Icee47143a8a59bb0795a054b67c0aa4ddcfca4d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5704137
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2997e354
|
2024-07-09T17:38:56
|
|
Start Win Intel UHD 770 experiment
- Suppress failing tests.
- Disable UHD 630 workarounds on experimental bot
- Reduce deqp_gles2_d3d11 and end2end parallelism
Use-Permissive-Angle-Pixel-Comparison: True
Bug: chromium:331316080, angleproject:352085732, angleproject:352528974
Change-Id: I80eca02f1def11e60b857968a7b0c8fe93a1b4d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5688794
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
|
|
a5161f01
|
2024-06-04T15:46:04
|
|
Vulkan: Enable event based image barrier
This CL enables VkEvent based image barrier for all GPUs. The testing
result on HK3 shows manhattan31_off score impoves ~5%. We can exclude
certain barrier insensitive GPUs if needed.
Bug: b/336844257
Change-Id: Iebc4957dbb683637c9314e706be31d3376ee15aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634089
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
24322b7d
|
2024-06-28T20:10:34
|
|
Vulkan: feature for cached non-coherent for dyn/stream buffers
On platforms lacking cached coherent memory, ANGLE falls back to
non-cached coherent memory for dynamic/stream buffers. This impacts
CPU readback performance.
Add VK feature preferCachedNoncoherentForDynamicStreamBufferUsage. When
enabled, ANGLE prioritizes cached non-coherent memory for these
buffers.
Enable this feature for Intel Meteorlake SOCs.
Bug: b/347601787
Change-Id: If62af9f3df57c0bcebf18af747cac56e45f93ea7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667457
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8ed4d427
|
2024-07-11T00:00:00
|
|
Metal: Remove link tasks dependency on context
Bug: angleproject:351165323
Change-Id: If9e5d141cb15a6fc6df8a5fd9a2cfe70efe19dfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5701902
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
245c1243
|
2024-07-12T14:28:31
|
|
Revert "Disallow read color type conversions for norm16 formats"
This reverts commit e5b442dedd8030d64a6ca2cb34ba0ec37895adfa.
Reason for revert: Broke Skia tests; possibly not going for this any more, as discussed on https://issuetracker.google.com/351644552#comment11
Original change's description:
> Disallow read color type conversions for norm16 formats
>
> OpenGL ES is not supposed to convert 16-bit color buffers to
> 8-bit pixel types or vice versa during readPixels operation.
>
> Fixed: angleproject:351644552
> Change-Id: I9e51ddc82f62f958b983b5d4609f7e983a941e83
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686233
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:351644552
Change-Id: Ib0222e4cc5eae944db96fdd3f72c8980dfe09adf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5702736
Reviewed-by: Solti Ho <solti@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
c5ab1ceb
|
2024-07-11T00:00:00
|
|
Metal: Remove library creation dependency on ContextDevice
Bug: angleproject:351165323
Change-Id: Idc560a75e569fe917685bb247625d7df8472af46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5698885
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
a93476a1
|
2024-07-11T00:00:00
|
|
D3D11: Pass 3D slice index to Image11::copyWithoutConversion
3D slice range is passed in a D3D11_BOX
structure for CopySubresourceRegion.
Fixed: angleproject:352467349
Bug: angleproject:352496176
Change-Id: Ie96d9567cf73b0612bfb1cbd7fbacc6c0f01dec4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5697425
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
6578b9c0
|
2024-07-09T17:19:47
|
|
Vulkan: Exclude compute/preFrag only access images from event
This further restricts VkEvent usage for certain usage patterns. If
image is only used by compute, use VkEvent also will not benefit it
since compute itself can not overlap with compute (assume there is only
one compute engine and compute work can not overlap with each other).
Similarly this also applies to KPreFragment stages. Basically after this
CL, use of VkEvent is limited to usages that crosses different execution
units (modeled against tiler based GPUs where there are pre-fragment
stages and fragment stages and compute and all others). Before this CL,
we are seeing performance regression with antutu_refinery and
streets_of_rage_4 due to overhead of VkEvent, which is fixed with this
CL.
Bug: b/336844257
Change-Id: I5ca5d813daefe9bfcaf48f831340cdf9559f8104
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5692760
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
402c8ccd
|
2024-06-26T19:28:21
|
|
Vulkan: Limit VkEvent for images that has fragment access only
One of the problem with VkEvent is that the overhead comes with
VkCmdSetEvent causes some app traces regress performance. The goal in
this CL is to further limit VkCmdSetEvent to images that that we think
are potentially subject to the pipeline bubble. The bubble usually
occurs when accesses are alternated between different stages,
specifically a mix between vertex/transfer/compute/fragment. If all
accesses are from fragment shader or color attachment, then use VkEvent
will not be beneficial, but only adds extra overhead. This CL adds the
heuristic tracking for image access. Every time an image is used, a bit
is used to indicate the usage involves fragment only or not. A bitfield
is used to track the window of the history of the usage. When image is
used (usually at the time queueSerial is set), we shift the history bits
left and the new bit is added to the right most bit. If all accesses are
from the fragment shader or color attachment, then no need to use
VkEvent. For example, if a texture is always sample from fragment shader
only, then VkEvent will not used. Another common usage is you render to
it and then texture from it, it will also excluded from VkEvent with
this CL.
Bug: b/336844257
Change-Id: I175194f30b8f1d9b8fbf38ad594778474548016f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5664170
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
eda67d7e
|
2024-07-11T11:16:08
|
|
Avoid including fstream from angleutils.h
SaveFileHelper is mostly useful for / specific to FrameCapture,
so move it there.
The other couple of uses just write a string.
Bug: angleproject:42266508
Change-Id: Ia1dcd4531f9d5671f40611a1887dcfe7c5dbc1ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5696025
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
87e9ee9c
|
2024-07-08T14:07:05
|
|
egl: add missing extension string for D3D LUID
This extension was never announcing itself.
Bug: angleproject:351866412
Change-Id: I9a6e4aae1ea3a8aba49ed036cb7cc14ec1a9151f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686555
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
584fbcee
|
2024-07-10T12:43:34
|
|
Vulkan: Rework swap-time barrier logic
Avoids unnecessary transitions when overlay is enabled
Bug: angleproject:42267038
Change-Id: I0534911c0142c5e94cf3be112283fb98fcde0f6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691346
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
373ac541
|
2024-07-10T11:14:47
|
|
Vulkan: Make surface RP check independent from framebuffer object
With dynamic rendering, there is no framebuffer object, so checking
whether the currently open render pass belongs to the window surface (at
swap time) is made independent from these objects.
Bug: angleproject:42267038
Change-Id: I408e2376ba865b64fa1e8890316e8f57c08c695f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691345
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f7620039
|
2024-07-10T10:21:11
|
|
Vulkan: Prepare syncval suppressions for dynamic rendering
Removing mentions of vkCmdBeginRenderPass and such.
Bug: angleproject:42267038
Change-Id: Ibba2c15249b154fb11b116ef75ee6f20e08e4d00
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691343
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
590010b6
|
2024-07-04T00:00:00
|
|
D3D11: Cleanup stale CopyTexImageTestES3 suppressions
Bug: angleproject:42262446
Change-Id: Id49b380b4dbf22efc0637605bbf7a67f317e7247
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691437
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
867697b7
|
2024-07-09T10:43:02
|
|
Vulkan: Add ImageHelper::onRenderPassAttach helper function
RenderPass attachments has one difference compared to other images. The
QueueSerial has to be set first so that we can detect an image is being
used as attachment. But the layout is delayed until the endRenderPass
time. This CL adds a onRenderPassAttach API to set the queueSerial so
that we have a central place to adding other code if needed.
Bug: b/336844257
Change-Id: I894fff83745691e8167a295c71cbc2e1d22f1343
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5689452
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
9ca3ed37
|
2024-07-08T16:48:51
|
|
Vulkan: Let ContextVk::onResourceAccess uses retainImage
Right now ContextVk::onResourceAccess calls retainResource for
everything. Mean time we also have a retainImage() function, which adds
a bit confusion to why we have two retain API. This CL moves retainImage
from CommandBufferHelperCommon to OutsideRenderPassCommandBufferHelper
and RenderPassCommandBufferHelper so that ContextVk::onResourceAccess
can use retainImage directly. The slightly behavior difference between
RenderPassCommandBufferHelper and OutsideRenderPassCommandBufferHelper's
retainImage is from compute shader's image access, which we are using
VkEvent to track images, mainly due to we tailor VkEvent to the
manhattan's usage case, which involves compute.
Bug: b/336844257
Change-Id: Id3fb694f683289a4720cc279387dbc27642745de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686352
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
95e66307
|
2024-07-08T15:39:58
|
|
Resolve compilation during program link resolve
Currently, it seems that Program::resolveLink() itself does not
resolve shader compilations (Shader::resolveCompile()). Therefore,
in case of many shader compilations without them being destroyed,
this can result in extra memory usage.
* During resolveLinkImpl() of a program, the compilation of the
attached shaders are resolved after successful linking in order
to save memory.
Bug: b/342012929
Change-Id: Iaa6f02a6d2fb3dbd6306660609faa29e73fe82a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5684826
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7d461b21
|
2024-07-10T14:11:53
|
|
Revert "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This reverts commit c379ff48043a47e444c388c45270db40d3172d50.
Reason for revert: Regresses CPU perf and memory when _not_ using DR
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I3865f0d86813f0eeb9085a92875a33bd449b907f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691337
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e208994a
|
2024-07-09T13:43:54
|
|
Add a note about std::aligned_alloc caveats
Doesn't seem worth touching:
* MSVC remains a special case
* aligned_alloc adds a constraint on alloc size
Bug: angleproject:352054650
Change-Id: I20caaf96e70898001c2b9aa698446cfe4803ea0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5688795
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e5b442de
|
2024-07-04T00:00:00
|
|
Disallow read color type conversions for norm16 formats
OpenGL ES is not supposed to convert 16-bit color buffers to
8-bit pixel types or vice versa during readPixels operation.
Fixed: angleproject:351644552
Change-Id: I9e51ddc82f62f958b983b5d4609f7e983a941e83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686233
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0679b3eb
|
2024-07-09T18:55:35
|
|
Manual roll vulkan-deps from 17d345a0f23d to 1d4b1061b004 (24 revisions)
Suppressing a new sync hazard warning
Manual roll requested by romanl@google.com
https://chromium.googlesource.com/vulkan-deps.git/+log/17d345a0f23d..1d4b1061b004
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5939e32b87487fa9c72ab336ebfcc5ae26d9ab6d..42d9adf50b4ad7db2a7212318068ec614b36414f
https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/00c49e3b56cc9748228d2e5b0d1e8e9c4409a02f..88194ef2d87683f963e735793f20ad1ebce70bc5
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/216574bedb80d439c2533d161e7ea7897504bbb6..9f2ccaef5f70c32bcd6c911a2b09dbb26106b437
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/190d2cb24e90e5bf2bec0a75604a9b3586485b6d..6c539b2ed2dba2997cdedeac0b376ff2fe382595
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/df78ee39d2ff6c10b4f7f2ae06c7ca64524f9e25..d13c1ee715c4674237aca1c775479e1edde87d3c
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/96fb5396040477fbbffdc1b4439dea9447f59d80..d03e2bca31b298fc911f7c89cfaf24d28904492d
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,romanl@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:352094384
Tbr: romanl@google.com
Change-Id: If9da3b32eb405aba8472a020be0c3fd732656f27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5689521
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
6052d0f4
|
2024-07-03T15:17:23
|
|
Vulkan: Fix EGL_EXT_buffer_age with single buffered surface
The specification:
4) What is the buffer age of a single buffered surface?
RESOLVED: 0. This falls out implicitly from the buffer age
calculations, which dictate that a buffer's age starts at 0,
and is only incremented by frame boundaries. Since frame
boundary functions do not affect single buffered surfaces,
their age will always be 0.
Test: angle_end2end_tests --gtest_filter=EGLBufferAgeTest.SingleBuffer*
Bug: angleproject:3529
Change-Id: Iab5da26d1bce56d928398cc250d900465fc5d261
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5675986
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
21fc5e87
|
2024-07-09T09:30:23
|
|
Move loadimage SSE includes/defines out of common headers
Including x86intrin.h from common headers appears to be making the
"include analysis" tool unhappy. Doesn't look like we actually need it,
the only possibly relevant place I could find is the loadimage SSE
implementation - but even that wasn't enabled outside of Windows
anyways.
It is not clear there is a need for the ANGLE_USE_SSE define in other
places, at least not at this point. The current implementation also
appears to be only for Windows. Move all related code to where it is
used - loadimage implementation.
Bug: angleproject:42266508
Change-Id: I1eac1510e7515cb6cc85c0332f5de91e0494d3da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5688790
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c379ff48
|
2024-06-10T22:01:57
|
|
Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
Bug: angleproject:42267038
Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
2763d520
|
2024-07-04T00:00:00
|
|
Do not rely on 16-bit color read conversions in tests, Part 2
These conversions are not specified.
ImageClearTestMetal should assert that all bits are cleared.
Bug: angleproject:351644552
Change-Id: I362e244078ad44b777cf926e9512c6af9fe48106
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5684692
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c546d35
|
2024-06-25T12:49:40
|
|
Vulkan: Limit VkEvent for usage matters for Manhattan31 only
If we use VkEvent to track all image operations causes performance
regression on some app traces, including manhattan10 trace. This mainly
because of CPU overhead comes with VkCmdSetEvent, mostly inside vulkan
driver. These app traces likely not benefit from VkEvent because the
specific bubble (false dependency) does not manifest on these app
traces, but the CPU overhead takes a performance toll on it. In order to
strike a balance between benefit and overhead, this CL removes most of
VkEvent usage and only leaves the ones that matters for manhattan31. The
only we still keeps are generateMipmap, dispatchCompute, texture
sampling. We can always add more if more beneficial usage cases comes up
and no regression in other traces.
Bug: b/336844257
Change-Id: I346fe70bc33e57edf04e933a2db0f79738c4481d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5654737
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|