|
d4083c79
|
2025-01-31T15:06:36
|
|
Metal: Make ObjCPtr available to all modules
Move ObjCPtr implementation to src/common/ObjCPtr.h,
angle::ObjCPtr so that it's available also outside libANGLE.
Bug: angleproject:393263506
Change-Id: I8ecd5632c7ae33ef4b409fc820fad229e91bc0ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219318
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
4e5f2ca3
|
2025-01-31T14:30:05
|
|
Metal: Rewrite AutoObjCPtr as ObjCPtr
Rewrite without WrappedObject base class, the base class only
convolutes things and does not help. This way the class can be
moved upwards in the software layers in subsequent commits.
Fix the class so that it can be used with ObjCPtr<T> and ObjCPtr<id<P>>
signatures, to resemble other smart pointers.
Remove the Auto prefix, ObjCPtr should be relatable to other smart
pointers such as unique_ptr.
Bug: angleproject:393263506
Change-Id: Ia5a5728514b7f9182c2ec8380c04716e8b9d2351
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219317
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
e9cda7f6
|
2025-02-06T08:01:49
|
|
Roll VK-GL-CTS from 48e7f3020f52 to 1177f7b7d556 (5 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/48e7f3020f52..1177f7b7d556
Includes manual merge to remove GN reference to deDefs_kc_cts.h
2025-02-04 lorenzo@khronosgroup.org Remove all references to KC-CTS and
GTF
2025-02-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1
into vk-gl-cts/main
2025-02-04 elima@igalia.com Add VK_KHR_video_maintenance2 tests
2025-02-04 lorenzo@khronosgroup.org Update external sources and use
Vulkan 1.4.307
2025-02-04 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,cnorthrop@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
Tbr: cnorthrop@google.com
Change-Id: I881df1f09ca98c892a485c5a8368c3f6eda390f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237566
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c24468c9
|
2025-02-06T19:04:19
|
|
Fix "fallthrough annotation in unreachable code" in release d3d builds
The same issue I ran into in https://crrev.com/c/6231111 but on d3d
Bug: angleproject:394129077
Change-Id: I90faa01fa66c514162a1d5e4cbe56a2bfd85085e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237859
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
7263989e
|
2025-02-06T13:20:14
|
|
Vulkan: Fix VUID-vkBindBufferMemory-buffer-01444
Some platforms issue a VVL error regarding memory allocation for an
external buffer. It seems to be due to the fact that the memory is not
allocated as a dedicated memory for the buffer, whereas the buffer
requirements (as reported in vkGetBufferMemoryRequirements2()) show
that it requires a dedicated memory. This causes an issue when binding
the buffer to the memory.
This change explicitly sets the dedicated memory information for the
external buffer, so the memory is regarded as dedicated and be able
to be bound to the buffer without errors.
* Added VkMemoryDedicatedAllocateInfo when calling to allocate memory
for the external buffer (InitAndroidExternalMemory()).
* Appended this structure to the extra allocation info via pNext.
* Unsuppressed VUID-vkBindBufferMemory-buffer-01444.
Bug: angleproject:394598758
Change-Id: I0d952cea204e528c23859c74909dbbb0751d0b65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239029
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0ef55535
|
2025-02-06T15:40:28
|
|
FastVector::resize_down never increases capacity
Note: this function is currently only called by SPIR-V code generation
In particular, SpirvTransformer::transform() was bloated
8896 -> 9756 bytes due to ensure_capacity() getting fully inlined.
After https://crrev.com/c/6236800 this makes a much smaller difference
but this still probably makes sense as before this CL the only
difference between resize() and resize_down() was an assertion.
Bug: angleproject:394848869
Change-Id: If55a41d67e26a9bc1a30cb0012d1958faa734cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6238266
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fb563c3e
|
2025-02-06T15:29:14
|
|
FastVector capacity increase is a function call
FastVector::ensure_capacity() gets inlined in many places, but capacity
increase is a rarely needed case. Move code to increase_capacity and
make it a function call.
This reduces the size of a release Android .so by ~14KB.
Bug: angleproject:394848869
Change-Id: Iefb5fe894d8c8eaba2d251502925de453290bc31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6236800
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
1675d47f
|
2025-01-31T10:05:03
|
|
Metal: Remove incorrect AutoObjCPtr construct on T &&
The T && constructor and operator= were incorrectly marked up as
"ownership transfer", clearing the source. However, there is no
ownership transfer in the assignment, and the call sites only work
due to the T source holding is never unretained directly.
Consider correct sequence (T is NSMutableArray *):
NSMutableArray *obj = [[NSMutableArray alloc] init];
AutoObjCPtr<NSMutableArray *> myHolder = std::move(obj);
[obj release];
Since the construct was retaining, the correct operation would need
a release on the original raw obj-c pointer. However, the T &&
constructor would clear out the raw obj-c pointer, and thus calling
release on the original pointer would not be possible.
Remove the T && constructor, and use just normal T constructor.
There's no ownership transfer when constructing AutoObjCPtr -- it is
a retaining operation. The constructor does need T &&,
raw obj-c objects are just passed normally as pointers, T.
Call sites keep their std::move()s, which are no-ops. When
functions accepting obj-c pointers get changed to accepting
AutoObjCPtrs, the move will start actually transferring the ownership.
Bug: angleproject:393263506
Change-Id: I5847f2ec98ab372343d0d2559c92dee9a327e126
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219316
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
60a9320c
|
2025-02-06T14:31:43
|
|
Move unlikely path of MakeLengthOp to a function call
This function gets inlined many times, adding 96 bytes of assembly to
each caller such as angle::spirv::WriteStore etc.
In total, this CL reduces Android release .so size by ~14KB
Bug: angleproject:394848869
Change-Id: Ief364116fd9b881f9c0dfefb1ca5005282bf57ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6236799
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7370bb57
|
2025-02-04T13:19:37
|
|
UNREACHABLE -> __builtin_unreachable() in release clang builds
This enables compiler optimizations such as reducing the amount of
branching, see anglebug.com/394129077#comment1
Reduces .so size in an Android perf build by 0.4%. I spot checked a few
differences and saw less branches (this will be causing a different
behavior in UNREACHABLE branches) as well as more functions getting
inlined (likely due to compiler heuristics due to less branches)
Bug: angleproject:394129077
Change-Id: I23411ca7a49d3daf2a0621bfcc0b2523d4db4f5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231111
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
38aa0780
|
2025-02-05T10:01:12
|
|
Roll vulkan-deps from 430dae9cea66 to 4d67b5012a2f (34 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/430dae9cea66..4d67b5012a2f
Manual suppression for new VVL errors:
VUID-vkBindBufferMemory-size-01037
SYNC-HAZARD-WRITE-AFTER-READ for vkCmdCopyBuffer
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0549c7127c2fbab2904892c9d6ff491fa1e93751..39766a06679bf5e4bc1e0339136f1b6a519fcec5
https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/c1c4712c75bc123dac21daea5dfffd416e103e59..5728a66537b23986135f50c465fcb282b0434da4
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/04b4a204aa501992ae85a207be1e200e195c98e1..9d07794bc955101c79cbd260233fcc65b9951cfc
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/39f924b810e561fd86b2558b6711ca68d4363f68..234c4b7370a8ea3239a214c9e871e4b17c89f4ab
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/0508dee4ff864f5034ae6b7f68d34cb2822b827d..fde0f9718bd60b49cf8efc80d3fb7a093c309ac0
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/c3dc948b0b960b3a01506b57a15ecee2a9e31bf2..e9d5ff418fd29381205b7617170a6d556bc6a10e
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,cnorthrop@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/394598758
Bug: b/394598470
Tbr: cnorthrop@google.com
Change-Id: Id968b54695b441eb4d21a63c23885eda0f567b9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6233954
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4ce8b71e
|
2025-02-05T08:06:09
|
|
LSC updating angle License ids
This is based on the existing id and the license file provided.
Bug: b/358504615
Change-Id: I0f0956806f27f8bfed6589157b583d159a25a3d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232605
Owners-Override: Jordan Brown <rop@google.com>
Auto-Submit: Jordan Brown <rop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
483be92c
|
2025-02-05T14:03:00
|
|
CL/VK: Cleanup old non-uniform restriction in CLDeviceVk
Bug: angleproject:42267085
Change-Id: I5499324c89d0358c12b6ce2f6f0015547730fc8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235928
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
93e99da3
|
2025-02-05T11:23:50
|
|
Vulkan: Fix bugs with varying precision fixer
This transformation creates new variables and turns the original ones
Private. There were a few bugs where some transformations referred to
the replaced id (larger than the original index bound) and had wrong
look up (where e.g. they would cache something based on the original id,
then try to look it up with the replaced id).
This change makes it such that where needed, both the old and new ids
are given to the various transformations, so they can look up with the
old id, but output instructions with the replaced id.
Bug: angleproject:386749841
Bug: b/394299327
Change-Id: Ie6b3c3445c440417cbbffdd849a036abfc504fe2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235664
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bab3f9ab
|
2025-01-30T14:30:16
|
|
CL/VK: Cosmetic kernel arg updates
- Move POD argument buffer init to kernel-init
- Remove unused CLKernelVK members/types
- Switch inside of setArg loop
- Rename kernel members that best aligns to their resources
Bug: angleproject:42267001
Change-Id: I837ceeceaf1ff903b67b7f100298d4a3159b97d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220895
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9c82e55a
|
2025-01-16T17:47:41
|
|
Vulkan: Make VkEvent for Buffer work with more general usage
Before this CL, BufferHelper::mCurrentWriteAccess and
mCurrentReadAccess, mCurrentWriteStages, mCurrentReadStages still track
all accesses, regardless if it is tracked by RfCountedEvent or via
PipelineBarrier. This is okay for very limited usage case, but becomes
fragile when expand the event for general usage case. The problem is
that you can not correctly tell which bits in mCurrentReadAccess is for
pipelineBarrier and which is for Event, since event and pipeline barrier
could have the same VkAccessFlags. Similarly problem exist for
mCurrentWriteAccess. The reliable way is actually track pipeline barrier
access and VkEvent access completely separately. This CL changes
mCurrentWriteAccess, mCurrentWriteStages, mCurrentReadAccess and
mCurrentReadStage to only contain bits that not tracked by VkEvent. For
this reason, RefCountedEventWithAccessFlags wrapper class is added to
wrap mCurrentWriteEvent and its associated VkAccessFlags.
Bug: angleproject:360274928
Change-Id: I057484f0c3baa2739d56c3a75889eb88a647a65a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6210683
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
82e25a32
|
2025-02-03T15:07:33
|
|
Make all " < 0" error messages consistent
Use the form:
Error is due to reason: <error message>
Bug: angleproject:392938089
Change-Id: I9e72858cf76a46ab874ffc211afdae1eb93ca05d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6225600
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
da837830
|
2025-01-30T15:37:56
|
|
CL: Fix device queue query validation for 3.0
Was missing 3.0 check for device queue size.
Since device queue support is optional for
3.0, device queue query (CL_QUEUE_SIZE) needed
device queue support. Adding validation check
for that here.
Bug: angleproject:42267011
Change-Id: Ibc1d7e00f78df01f131f69047b1390b02b5fa780
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220894
Reviewed-by: Gowtham Tammana <g.tammana@samsung.com>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fb118e41
|
2025-01-22T13:26:31
|
|
Vulkan: Always defer acquireNextSwapchainImage() call
This change is a preparation before the follow up EGL_WIDTH/EGL_HEIGH
eglQuerySurface rework.
There is no need to acquire initial swapchain image after surface
initialization. Skipping ANI may speed-up apps startup in some cases.
The operation is also removed from swap (in case of out-of-date
swapchain) for consistency and as a preparation for the follow up
change.
Change also enables "perFrameWindowSizeQuery" for NVIDIA on Windows
because of the "SurfaceDimensionsChangeAndFragCoord" test failure.
Test fails because `vkQueuePresentKHR()` does not return
`VK_ERROR_OUT_OF_DATE_KHR` when presenting old image size after the
window resize, even despite that surface caps currentExtent has already
new size. Issue is not permanent, and may "fix" itself if add few
empty swap buffers before starting the test or do ANI in the initialize
(which one will work depends on GPU).
Above issue is observed on the driver 546.01 (currently used by bots).
Old 531.68 and new 566.36 does not have this issue (tested on
RTX 3060 Laptop). The 546.01 driver, however, fails on that same
system even on the base CL (without this change).
Bug: angleproject:153329980
Bug: angleproject:42264593
Change-Id: I261e1f573a6b892f1ba4282dd17f17289c2f4184
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6182599
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bee34ea7
|
2025-01-30T18:39:00
|
|
Metal: Remove redundant AutoObjCObj template alias
Some members were held with AutoObjCObj<T> and some with
AutoObjCPtr<T *>. Use the latter.
Bug: angleproject:393263506
Change-Id: I9d8d56e9ffe3281d5e9087de7959249cbb4b9bd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216872
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
81412e88
|
2025-01-30T16:46:26
|
|
Metal: Avoid using retainAssign()
Use more native C++ name for assign: operator=.
Bug: angleproject:393263506
Change-Id: Ia31a79fbb15474ba754034338340ef5c3ed6e8ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216871
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
49e2b5e2
|
2025-01-31T15:52:39
|
|
Support compiling without GetProcAddress
Move GetProcAddress implementation next to the proc array. This way
it is possible to not compile the implementation.
Bug: angleproject:393513311
Change-Id: Ic9c9022ee74a7619bec25f1481fd9da68b14b119
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219320
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
9c6af5ce
|
2025-02-04T22:50:01
|
|
Vulkan: Fix crash in SPIR-V transform with varying precision fix
Bug: angleproject:386749841
Change-Id: I5743eb049dde6c8a093b175e857251bad9b2bc9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232948
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
aa94da02
|
2025-02-04T12:41:36
|
|
Revert "Vulkan: Bugfix in SPIRV entrypoint transformation"
This reverts commit 9975e80b9d98a2158ae859b3f4eff7340baa540d.
Reason for revert: Crashes on platforms with varyingsRequireMatchingPrecisionInSpirv
Original change's description:
> Vulkan: Bugfix in SPIRV entrypoint transformation
>
> Perform varying precision fixer transformation before
> other shader-stage-specific transforms that could
> potentially modify the interfaceList.
>
> Also enhance EXTBlendFuncExtendedDrawTest by enabling
> additional config with VaryingsRequireMatchingPrecisionInSpirv
> feature enabled
>
> Bug: angleproject:386749841
> Change-Id: Ife4a2f932415296f1565527e50a2b8646cd7697d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207741
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Change-Id: I07064136f962a7d73ce5c80289da300d474faa22
Test: professional_baseball_spirits trace
Bug: b/394299327
Bug: angleproject:386749841
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6227993
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c2cb1603
|
2025-02-03T18:21:10
|
|
Perf tests: change fps limiter method to timestamp based
Instead of using previous frames, target start_time + N * delta.
This will result in a smoother playback when there is no hiccups. In
case of a big hiccup, replay will be catching up by submitting frames
without sleeps until it hits the timestamp, then submit at the target
rate again.
Bug: b/376300037
Change-Id: I481f1325867d53e911acd2d381bfda4c94adefc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226746
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6808ef83
|
2025-02-04T10:57:18
|
|
Tests: suppress -Wunused-private-field warning
The latest version of Clang warns about an unused member variable in
es31fSRGBDecodeTests.cpp. Suppress it for now.
Bug: chromium:393942204
Change-Id: Ic03c2f8f2710ff3ccf44c102d1fd991bc4d1d380
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226805
Auto-Submit: Hans Wennborg <hans@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c6a8faf6
|
2025-02-03T15:00:07
|
|
Mark error strings as *, not []
Partially revert "Mark error strings as inline constexpr".
Try to fix the reported 100kb+ size regression on Linux builds.
Bug: angleproject:392938089
Change-Id: Id40f8820ff096497fc75165b23e520f96725e18a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6225599
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b32a808d
|
2025-02-03T17:35:59
|
|
Re-enable EXT_multi_draw_indirect on the Vulkan backend.
Update limitations before evaluating extension support
Bug: angleproject:355645824
Change-Id: If34c0d5791443841798fd85a2d396b8b6cbbe837
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226331
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
29e20d52
|
2025-01-29T15:58:04
|
|
Vulkan: Use single VkEvent to track depth/stencil and color attachment
Right now ANGLE uses two VkCmdSetEvent calls to synchronize color and
depth attachments in a render pass, one for color attachment and another
for depth/stencil attachment. This is inefficient. ARM engineers
confirmed combining both into one event with a combined stage mask
(VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT |
kAllDepthStencilPipelineStageFlags) should not negatively impact
performance. This CL merges depth/stencil related events into color
attachment. The benefit of this is that for most render passes, you will
see one less VkEvent which translates to reduced overhead.
Bug: b/393150736
Change-Id: I0808b4dfd0b91efaaa2af649fef8bb02abbb3039
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187980
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
957bafb5
|
2025-01-30T11:49:41
|
|
Infra: Print stdout for TIMEOUT cases
Bug: angleproject:392929827
Change-Id: I47625474e4ce9253a4cf275ea027290a6a2fbc33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207671
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
56d796a9
|
2025-01-31T09:13:30
|
|
CL/VK: Fix max read/write image arg limits
Modifies how CL_DEVICE_MAX_READ_IMAGE_ARGS,
CL_DEVICE_MAX_WRITE_IMAGE_ARGS,
and CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS are set.
Temporarily accounts for the backend Vulkan driver
reporting a meaningless value (ex: UINT_MAX).
Bug: angleproject:391414842
Change-Id: I7d0ca865d3a516b22dc34849e4dc0a3a83e778c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187613
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a04cb42a
|
2025-01-30T16:26:44
|
|
Metal: Remove autorelease use from libANGLE parts
Use adoptObjCPtr() instead of AUTORELEASE to make all code uniform
and more easy to reason about.
Bug: angleproject:393263506
Change-Id: I15ea7e29784bcbe6bee6341fe288b340db813538
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216870
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e87d87f8
|
2025-01-29T22:23:27
|
|
CL: Add NDRange region chunk max GWS clamp
Some implementations provide a value for
maxComputeWorkGroupCount that goes beyond
uint32_t when multiplied by local work size
(to get the max global work size).
This change clamps product to UINT32_MAX
if that case occurs.
Bug: angleproject:42267085
Change-Id: Ide87ef7be473c52db23c16ebf1e44a7fdcaf3081
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6217421
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
44b5f0a5
|
2025-01-06T16:01:28
|
|
OpenCL: Pass in options to the CTS tests
In the case where options are specified, pass them down to the CTS
tests.
New tests with options for copy_images, fill_images and bruteforce are
added.
The changes in `angle.json` file are autogenerated by running
`python3 scripts.run_code_generation.py`
Bug: angleproject:388319897
Change-Id: I1c7e133d8df00e008857b652132b45975f61a08e
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6153935
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
|
|
c0b224c3
|
2025-01-31T12:20:00
|
|
Re-enable EXT_base_instance on the Vulkan backend.
Vulkan has native support for the base instance draw calls and does not
go through the emulation paths.
Bug: angleproject:355645824
Change-Id: I370ece42cffff6df5b1c070d637c20e071598de7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216375
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
65c07386
|
2024-12-04T16:17:49
|
|
Vulkan: Limit dyn vertex input state WA on QCOM
* Limited the workaround for dynamic vertex input state so it is
enabled on the later version in which it has been fixed.
Bug: angleproject:381384988
Change-Id: I71db843e4ce247691dae2c7d0db32678d12492be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072407
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
433d14e0
|
2025-01-28T17:05:32
|
|
CL/Vulkan: Submit an empty command on command buffer reset
On resetting the command buffer, the queue serial associated with it
wont get signalled leading to causality issues. Instead submit an empty
command to maintain queue serial timelines.
Bug: angleproject:392934330
Change-Id: I53996b295d2744b58487e483dd45918e48f58c83
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207673
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e6115fdd
|
2025-01-27T19:37:25
|
|
Vulkan: Fix and simplify Wayland window resize
The `doDeferredAcquireNextImage()` may only be called with
`forceSwapchainRecreate == true` argument when in
`ImageAcquireState::NeedToAcquire` state. In any case, method must not
be called when state is `ImageAcquireState::Ready`.
Instead of adding state check to the
`WindowSurfaceVkWayland::getAttachmentRenderTarget()` method, this
change removes this method entirely, since calling
`doDeferredAcquireNextImage()` is not required (as well as the
`mResided` member). The `WindowSurfaceVkWayland::mExtents` will be
compared with the current extent in the `checkForOutOfDateSwapchain()`
since "perFrameWindowSizeQuery" feature is enabled for Wayland.
Bug: angleproject:40096815
Change-Id: I31608d52ba72305cbb31220f21829ad18f9d2ce7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6203062
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c411081f
|
2025-01-30T15:18:20
|
|
Metal: Remove RenderUtils mtl::Context base
RenderUtils is not using mtl::Context error
handling for anything.
Bug: angleproject:392938089
Change-Id: I1ef86db8f03ff34bb54726a0aad31d07fb1b44ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6218788
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
2567dc4f
|
2025-01-30T11:20:57
|
|
CL/VK: Add spv validation for program build
Bug: angleproject:42266976
Change-Id: I529395cba2d935cd6117c9c18fefd9a27903e2a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216570
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
fb2ae3fb
|
2024-11-26T16:23:52
|
|
CL/VK: Missing ext check in reflection parser
When parsing "spv::OpExtInst", we also need to
check for "ext_inst_type" to be clspv reflection type.
Otherwise we might end up parsing bogus/non clspv
ext type instructions.
Bug: angleproject:42266976
Change-Id: Iab115f44890ce83fea09fb39be24b45ee2fa827b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216569
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7d37d970
|
2025-01-30T13:47:59
|
|
Make error messages end in a dot
Some messages had dot and some not.
Fix by adding dot to all error message string literals.
Best effort, for free form string literals, check ANGLE_CHECK invocation
sites only.
Bug: angleproject:392938089
Change-Id: Idedc3fe1d1e186fb91b5e54407df87f6830995a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6218460
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1df10f8a
|
2025-01-29T14:50:21
|
|
Unsuppress VUID-VkImageViewCreateInfo-pNext-01585
* Updated ImageHelper::DeriveCreateInfoPNext() to check the usage flags
as well.
* If the image uses the storage bit, the format list should not be
added to it as pNext. Otherwise, if the count is not zero, it
expects the format used in its image view to be one of the stated
formats and will result in a VVL if this is not the case.
Bug: angleproject:42264452
Change-Id: I789ec5a9751366029929c4c25a942056df13b9ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216381
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb0e72e0
|
2025-01-30T09:50:27
|
|
Mark error strings as inline constexpr
Some WebKit build configurations are seeing duplicated strings. A global
constexpr implies static, which allows that each compile unit gets its
own instance. A global inline constexpr guarantees that the instance
address evaluates same for all address takers. This should guarantee
that the strings are not duplicated.
Use char[] instead of char * to guarantee that referencers would get
the length.
Bug: angleproject:392938089
Change-Id: I5652ed8807d5052abe41671f4a0005905fe8d30b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6218459
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0549137f
|
2025-01-30T13:15:09
|
|
CL/VK: Fix cmd queue deadlock on clFlush
Issue was that app-thread held mCommandQueueMutex
for clFlush duration. App-thread notifies the queue-thread
via "mHasWorkSubmitted" condition-variable.
Queue-thread later calls finishQueueSerial(), and
that routine tries to recursively grab mCommandQueueMutex.
This change avoids this by unlocking app-thread before
it notifies the queue-thread
(also takes capture of QueueSerial before unlocking).
Bug: angleproject:375231041
Change-Id: I71e0c9f9455a86b97acbc88107b0edbc05ce33a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194198
Commit-Queue: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
439dfe5e
|
2024-12-12T00:37:13
|
|
CL/Vulkan: Add options passed to clspv compiler
* Passes rte mode and image feature macros options
to clspv compiler
* Adds image feature macros device reported cl features
Tests-Passing: OCLCTS.test_compiler features_macro,
OCLCTS.test_samplerless_reads,
OCLCTS.test_image_streams,
OCLCTS.test_basic image_param
Bug: angleproject:42266936
Change-Id: Ifd2b2c49a525ba3ee4be572de004fd317b0ff1ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6089949
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
|
|
9d934912
|
2025-01-09T11:31:42
|
|
Vulkan: Use VkEvent to track transform feedback buffer write
This CL adds event tracking into BufferHelper class: mCurrentWriteEvent
is used to track the write event and mCurrentReadEvents is used to track
all different reads from the buffer. Since you can have multiple
different reads accumulate over time, read events are an array of
EventStage and the actual VkAccessFlags per event is tracked in
mCurrentReadEventsAccessFlags. Note that this is specifically designed
to allow pipelineBarrier and eventBarrier to co-exist. If
mCurrentReadStages contains more bits than mCurrentReadEvents, the
remaining bits will be using pipelineBarrier. Similarly if
mCurrentWriteStages contains more bits than mCurrentWriteEvent, the
remaining bits will be using pipelineBarrier. A heuristic tracking is
also added to track the buffer writes over a period of time. Right now
we will opt buffer into VkEvent if the buffer ever written by transform
feedback in the heuristic tracking window. This could be expanded in
future if we found more usage pattern that would be benefit from using
VkEvent.
Also note that DrawIndirect and VertexInput will be using the same
VkEvent to track. It still will be using different VkAccessFlags since
the access flags comes from buffer instead of event.
Bug: angleproject:360274928
Change-Id: I027ffed8a0fbff7f280f42cf70564b8a3f243d69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085490
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
03019646
|
2025-01-29T10:36:38
|
|
Vulkan: Fix invalidate of emulated format followed by more draws
If invalidating a color image with emulated channels, a clear is
automatically staged so the emulated channels don't contain invalid data
later. This is problematic with deferred clears; the clear marks the
framebuffer attachment as dirty, and the next command causes
`FramebufferVk::syncState` to pick the clear up as a deferred clear.
This is normally correct, except if the following command is another
draw call; in that case, the render pass does not close, yet the clear
is cached in `mDeferredClears`. When the render pass later closes, it
undoes the invalidate and attempts to remove the clear from the image...
but it does not exist there anymore (it's in `mDeferredClears`). Next
usage of the image then clears it, undoing the draws after invalidate.
In this case, the simplest approach is to close the render pass right
away here. Note that it is not possible to make
`FramebufferVk::syncState` avoid picking up the clear in
`mDeferredClears`, not apply the clear, _and_ keep the render pass open;
because future uses of the image (like with |glReadPixels|) will not
trigger `FramebufferVk::syncState` and the clear won't be done.
Bug: angleproject:353167428
Change-Id: Ie677bd12d9f11953cdcd5e4c374b59c4f63e7456
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6214331
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5325904b
|
2025-01-29T14:43:35
|
|
Metal: Simplify error checking
Use normal ANGLE_CHECK, ANGLE_CHECK_GL_ALLOC, ANGLE_CHECK_GL_MATH
when appropriate.
Use ANGLE_MTL_CHECK for checking Metal NSError return value.
Remove mtl::ErrorHandler::handleError variant that responds to NSError.
Uses "Internal error." that occur due to implementation bugs. Binary
size is already expended with __FILE__ et al to disambiguate the
location. The descriptions were not actionable for the API client and
sometimes wrong cut-and-paste.
Bug: angleproject:392938089
Change-Id: If9525d3d1610d5bc757855053600d78d2a1526c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6211841
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5798be5e
|
2025-01-13T07:45:11
|
|
FrameCapture: Fix framebuffer bindings in MEC
While capturing an app, I was crashing on the line reading
replayState.getReadFramebuffer()->id()
That's because replayState did not have a read framebuffer
bound, and we dereferenced nullptr. replayState is a default
state that we've created and we're modifying to make it *look*
like apiState.
We should be updating replayState to match the framebuffers
bound in apistate. In this case state*Framebuffer is read from
apiState and is the value we want to propagate.
AFAICT these have been incorrect since they landed in the
initial implementation, but the code is complex:
https://chromium-review.googlesource.com/c/angle/angle/+/1689329
Test: Tower of Fantasy capture
Bug: b/389808881
Change-Id: Ibf7bc56cd385c34139676c5813926f756bb38f42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6174746
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
e330d959
|
2024-04-09T15:13:48
|
|
CL/Vulkan: Add native builtins to clspv compiler
Add a set of native builtins that are known to perform better for
Samsung devices.
A feature condition `uses_native_builtin_cl_kernel` is setup in
`vk_featurs.json` for control of the selection. The following files are
autogenerated
- FeaturesVk_autogen.h
- angle_features_autogen.cpp
- angle_features_autogen.h
Bug: angleproject:361717757
Change-Id: I10ffad0cbf1d4c2e9bfeea768311d90b0f65af2d
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092036
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b4cac1ad
|
2025-01-29T10:59:22
|
|
CL/VK: Hotfix: Implementation of Compute Pipeline Cache
Unnecessary "new" that was leaking when moving raw ptr
to cache map. Easy fix is to stack allocate and std::move
the object to container when finished initializing.
Bug: angleproject:391672281
Change-Id: I7b0f922de2a1332e8e452e87bc498d3c9907d7d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6214690
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
6f5b32d0
|
2025-01-29T18:55:21
|
|
Suppress flaky end2end test on Linux NVIDIA Vulkan
ClearTextureEXTTestES31Renderable.Clear3D
Bug: angleproject:362486580
Change-Id: Iff0195d85c828d172ea4b9e150b62da7df0769d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6215271
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
43e7384d
|
2025-01-28T18:28:44
|
|
Metal: Fix a race in failing compilation subtasks
Program link invokes two link subtasks, one MSL compilation per shader
in program. If these tasks would fail, they would race to write the
error message to the error string held in link object.
Fix by recording the error message to the compile tasks and forwarding
it to the context when sub task result is fetched.
Bug: angleproject:392652319
Change-Id: Icb369f7bd62da5155d7915f2743ac53d91d61ea8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207769
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
40523499
|
2025-01-29T12:13:45
|
|
WebGPU: Emulate line loops for drawElements
Bug: angleproject:383356846
Change-Id: I82a6dfad4a1c5d434f029701611e4b61344655f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6086120
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9975e80b
|
2025-01-28T17:25:38
|
|
Vulkan: Bugfix in SPIRV entrypoint transformation
Perform varying precision fixer transformation before
other shader-stage-specific transforms that could
potentially modify the interfaceList.
Also enhance EXTBlendFuncExtendedDrawTest by enabling
additional config with VaryingsRequireMatchingPrecisionInSpirv
feature enabled
Bug: angleproject:386749841
Change-Id: Ife4a2f932415296f1565527e50a2b8646cd7697d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207741
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
af4817db
|
2025-01-29T14:12:02
|
|
Suppress angle_oclcts_non_uniform_work_group failures on Linux NVIDIA
Bug: angleproject:42267085
Change-Id: I13f85d8b7ed140f3a10262fe335de664cfd68624
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6213432
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
00f0b887
|
2025-01-29T14:04:38
|
|
Skip pokemon_go flaky crash on Linux Intel
Bug: angleproject:392938092
Change-Id: Ie46582b91fc498640b2651f3e04aaf7d1769da6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6213430
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b5809efa
|
2025-01-16T17:56:47
|
|
Delay eglSwapInterval() effect until swap
... and fix resetting effect of `eglSwapInterval()` call by changing
the `EGL_RENDER_BUFFER` attribute, and resetting desired shared present
mode when calling `eglSwapInterval()`.
Bug: angleproject:390333526
Change-Id: I473c7d4c5929e2179bbcd378b3695d10213644de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6169922
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
f231d94b
|
2025-01-13T14:58:16
|
|
Vulkan: Add kBufferMemoryBarrierData to mirror image
Right now we only maintain a mapping from EventStage (which is a value
of VkPipelineStageFlags) to VkPipelineStageFlags for images. For next CL
we need to indicate if use VkEvent is preferred or not for a given
PipelineStage access. This CL expands kPipelineStageFlagBitMap (and
renamed to kBufferMemoryBarrierData) to contain both the
VkPipelineStages and EventStage to indicate if VkEvent should be used or
not, similar to kImageMemoryBarrierData but a lot simpler. Right now it
all set to EventStage::InvalidEnum which means will use pipelineBarrier.
This will change in next CL.
This CL also does some clean up:
A few BufferHelper related functions changed argument from ErrorContext*
to Context*, mainly because of BufferHelper::release() now takes
Context* as argument so that we can recycle events within context's
share group without lock.
ImageLayoutToMemoryBarrierDataMap is added to replace
angle::PackedEnumMap<ImageLayout, ImageMemoryBarrierData>
kEventStageAndPipelineStageFlagsMap is removed.
InitializeEventAndPipelineStagesMap is now using kImageMemoryBarrierData
directly to construct mEventStageToPipelineStageFlagsMap. As result of
this, EventAndPipelineBarrierHaveMatchingStageFlags is also removed
since InitializeEventStageToVkPipelineStageFlagsMap already ensures
this.
Bug: angleproject:360274928
Change-Id: Idb74f3e4120ca9a04b8eccb7ed034aa769024bf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6172763
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
e0cbdbb5
|
2025-01-15T14:08:45
|
|
CL/VK: Enable dispatch region chunking
This change does two things:
- Allow non-uniform workgroup size
- Dispatches that go beyond VK workgroup count limit
Bug: angleproject:42267085
Change-Id: I1f2da93252e466b811273ee34d9d38e454f11686
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180550
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
95635ef0
|
2025-01-23T16:30:41
|
|
CL/VK: Implementation of Compute Pipeline Cache.
Implemented ComputePipelineCache, hash map from OpenCL and
OpenGL compute state vectors to compiled pipelines. Implemented
ComputePipelineDesc, a tightly packed description of the current
compute state.
Compute Pipeline State includes the specialization constants,
Pipeline Options (Protected, Robust).
Updated-by: Austin Annestrand <a.annestrand@samsung.com>
Bug: angleproject:391672281
Change-Id: I88944dc169d194d1b2c75747769d7346b041fa75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191437
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
1161ac8e
|
2025-01-23T13:25:01
|
|
WebGPU: Implement no-op gl_PointSize
Support writing to the gl_PointSize builtin but do not pass it to the
next shader stages.
Bug: angleproject:392604862
Change-Id: I845a3edeb0ce8e7ea41a5e96e5f3b443100f2cbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194555
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
d9128ff4
|
2025-01-28T09:43:58
|
|
Clean up Galaxy expectations for A/S23 and S24 Exynos/QC
Split A23 and S23 into separate lists
GALAXYS24EXYNOS for S24 Exynos ("International")
GALAXYS24QUALCOMM for S24 Qualcomm
Bug: angleproject:359904354
Bug: b/338429767
Change-Id: If9c1f184df6c6f15e3b5d5af3a7e1310cb445984
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207255
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
fa0de0dd
|
2025-01-27T17:32:49
|
|
restricted_trace_perf: Support --fps-limit
Simply passes the flag and value through.
Test: restricted_trace_perf.py --fps-limit 30 ...
Bug: b/376300037
Change-Id: I344492944babed33edcbdae6b2906795d31715e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6204802
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
0878d854
|
2024-10-29T12:24:22
|
|
CL/Vulkan: Query spv version from renderer
Query the SPV version to be used by the clspv from the Vulkan renderer
and set it up accordingly.
Bug: angleproject:361717757
Change-Id: I6b1497120c21402386cb52a751970830e5cd7f3e
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973716
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7fe2a36c
|
2025-01-24T19:47:01
|
|
Vulkan: Parse Samsung Vulkan driver version
Use driver version instead of API version to disable
imageless framebuffer feature
Bug: angleproject:386749841
Change-Id: Ia7bf06210224d399d60d6c1000c4fb8179f1239c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6199891
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
2e36e947
|
2025-01-16T15:12:22
|
|
CL/VK: kernel's arg.handle update properly when setArg
Fix arg.handle to be an underlying CL object type.
Bug: angleproject:390488741
Change-Id: I8a9d3981a46f17e9af906f0e345c17585a332b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180553
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
885a8060
|
2025-01-24T12:27:10
|
|
WebGPU: Implement depth/stencil test.
Force the compare function to Always when depth or stencil tests are
disabled.
Bug: angleproject:392604945
Change-Id: I67265b2e5eabe8e9fc3d1222140ee1b6a7c5cefa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6198040
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
bec97bbb
|
2025-01-23T13:29:04
|
|
WebGPU: Flip Y for ReadPixels
ReadPixels results are upside down. Flip the results in the PackPixels
functions.
TODO: Re-evaluate if this needs to be default-FBO only once more tests
are running.
Bug: angleproject:42267090
Change-Id: Ia5e5ee218de2e754f5de02a826f664d2f71efb76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194557
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0f75fc3d
|
2025-01-20T14:10:41
|
|
Vulkan: Transition foreign images to the FOREIGN queue on submit
Vulkan's interaction with AHB and dmabuf images is through the FOREIGN
queue family. When ANGLE uses these images, it must take ownership of
the images by doing a queue family ownership transfer (QFOT) away from
the FOREIGN queue family and into the graphics queue family used by the
Vulkan backend.
Prior to this change, ANGLE would do the QFOT away from FOREIGN once
such a foreign image is imported into an EGL image. Afterwards, usage
in ANGLE works correctly. What ANGLE did not handle is when a foreign
entity wants to use these images _after_ ANGLE has used them.
For the above to work correctly, ANGLE must do a QFOT back into FOREIGN
before the image can be used by the foreign entity. Unfortunately,
EGL does not provide a clear point for this hand-off to happen. ANGLE
has no choice then to proactively transition the images back into
FOREIGN at some point "just in case".
For some native drivers, this hand-off to FOREIGN can be quite frequent.
For example, on Android for most vendors there is no actual layout
transition between graphics and FOREIGN queue families (the actual data
layout is the same), so a cache flush/invalidate at strategic points
(such as the end of the command buffer) is sufficient as equivalent to
transition to FOREIGN (and another at the beginning of the command
buffer as equivalent to transition from FOREIGN).
As a layer over Vulkan's formalism, ANGLE is less lucky; it has to
enumerate exactly which image is being transitioned to and away from
FOREIGN. Transitions away from FOREIGN are in principle easy. As long
as the image is marked as being in the FOREIGN queue family, it will
automatically transition to the graphics queue family on first use.
In this change, when a foreign image is transitioned out of the FOREIGN
queue, it's added to a list of images to be transitioned back to FOREIGN
at submit time. Once submission is done, the image may or may not
actually be used by a foreign entity, but ANGLE cannot know that. The
next time the image is used in ANGLE, it is transitioned out of FOREIGN.
Verifying correctness with multi-threading is tricky, and relies on GL's
requirement that access in one context is followed by a synchronization
and rebind in another context before it can be used there. This means
that the image's transition to FOREIGN (at the end of one submission)
naturally happens before the transition back from FOREIGN (at the
beginning of the next submission). Because the set of images to
transition is tracked in the context, submissions in other contexts
don't interfere with the above logic.
The situation can be more complicated with one-off submissions, but
fortunately, no such usage of foreign images is present.
Another wrinkle is simultaneous usage of the image as read-only in two
contexts. According to GL, this is not a hazard and requires no
synchronization. However this is broken in ANGLE even for non-foreign
images (see http://anglebug.com/42266349), because as what _seems_ like
read-only usage of the image from GL's point of view (like sampling from
the image), there are associated write operations from Vulkan's point of
view (image layout transitions and QFOT). This change does not attempt
to address this corner case.
Bug: angleproject:42263241
Bug: angleproject:42262454
Bug: angleproject:390443243
Bug: chromium:382527242
Change-Id: Idd4ef1fecfa3fccf1a4063f1bddb08d28b85386b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6184604
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
47c64ce2
|
2025-01-24T16:15:26
|
|
Vulkan: Fix driver version parsing
Bug: chromium:371512561
Change-Id: I469c4ae71613fdfdfd7e58602b5a7262342acba7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6199184
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
8c298ec9
|
2025-01-12T22:53:32
|
|
Vulkan: Use surfaceless queries with headless EGL configs
Bug: angleproject:389342064
Change-Id: If5ec101f5ef5135febe3fe12d5c309fe2a35f07c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6169254
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d7ea4b2c
|
2025-01-06T20:40:48
|
|
Vulkan: Use syncval extra properties for error suppression
Bug: angleproject:391284743
Change-Id: I594a70e7d06f1d73647407dbac1afece666a7c5c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180310
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d926d80d
|
2025-01-16T09:53:35
|
|
CL/VK: Fix enqueueFillImage & enqueueMapImage lock and waitlist
Fix in enqueueFillImage and enqueueMapImage.
Semantically should be using scoped lock and processWaitlist()
instead of enqueueWaitForEvents().
Bug: angleproject:390387802
Change-Id: I86173a079aa7fdd54a8b7158ec8214147cfb7cd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6179619
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b5c12605
|
2025-01-22T13:44:13
|
|
CL: Limit max work size/offset to UINT32_MAX
Set a hard limit of UINT32_MAX on work item/offset for OpenCL's
clEnqueueNDRangeKernel cmd for all backends (simplifies handling).
Bug: angleproject:42267067
Change-Id: Ied1685609b3818e4c3a366a03770dc361198639c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191436
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
adb52e06
|
2025-01-23T17:36:44
|
|
Avoid unnecessary copy ctor calls of gl::DepthStencilState
That object has a user defined copy ctor to copy padding
(https://crrev.com/c/783990). This together with copying instead of
using a reference results in a function call (which just wraps memcpy)
Bug: b/383305597
Change-Id: Ia92e726a887bd12ab14c1ca53f79c0b13b57a199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194695
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
54b69688
|
2025-01-21T11:28:59
|
|
Vulkan: Add max memory allocation size limit check
During memory allocation, we should make sure that the attempted
allocation size does not exceed the maximum allowed size. Failure to
do so may result in validation errors.
* Added the following object to the renderer: mMaintenance3Properties
* It holds the following device property: maxMemoryAllocationSize
* Inline renderer function: getMaxMemoryAllocationSize()
* Buffer and image allocation sizes will now be checked with the
function above.
* In case of exceeding the maximum allocation size, a device OOM
error is returned after issuing a warning:
* MemoryAllocationTracker::onExceedingMaxMemoryAllocationSize()
* Removed the suppression for the test failing due to this issue.
* Removed the maxMemoryAllocationSize VVL skip targeted for MockICD.
* Suppressed tests on S22 that now fail due to exceeding this limit:
* KHR-GLES[31/32].core.texture_buffer.texture_buffer_max_size
Bug: angleproject:391002353
Change-Id: Id271066bd872c80344ef8531653afda3e6b40a93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187981
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c3f9109e
|
2025-01-09T17:22:41
|
|
Vulkan: Change EventMaps from struct to class
For better encapsulation, this CL turns struct EventMaps to class
RefCountedEventArray.
Bug: angleproject:360274928
Change-Id: Ie28996fdb95d5a830399e6fa6cd5602f403e8725
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164698
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c7ad15e3
|
2025-01-23T13:37:28
|
|
Vulkan: de-duplicate ImageHelper::barrierImpl and barrierImplOneOff
barrierImpl is renamed to recordBarrierImpl barrierImplOneOff renamed to
recordBarrierOneOffImpl barrierImpl contains all the common logic
between recordBarrierImpl and recordBarrierOneOffImpl.
Bug: angleproject:390443243
Change-Id: I01ce9ea3f1f0acb30fe0efcdd20bd1caaa248a7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6195570
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fbd230f5
|
2025-01-23T12:59:06
|
|
Vulkan: Split ErrorContext into ErrorContext and Context
ErrorContext continue to be context for error handling. vk::Context is
added to serve as common base class for ContextVk and CLContextVk.
Bug: angleproject:390443243
Change-Id: Ifac0b1d2d714ce610693ce60a35459c6c9cddf1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191438
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c1214ec2
|
2025-01-22T14:22:56
|
|
Vulkan: Rename Context to ErrorContext
In preparation for adding another Context (derived by GL and CL
contexts), which includes logic that pertains to command recording (such
as barrier tracking).
Bug: angleproject:390443243
Change-Id: Idf495b62e63fb9aa901a2f16447fdaf3c2acd90b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191248
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92cc4e02
|
2025-01-22T16:07:00
|
|
Vulkan: Fix incorrect initial RP layout for shared present
Renderpass was using `ImageLayout::ColorWrite` as initial layout for the
SharedPresent image. Vulkan validation did not detect errors because of
limitations (or bug?): once command buffer with barrier is submitted,
layers no longer track the current layout, and therefore skip the check.
In other words, it seems like VVL only track layout transitions within
a command buffer.
Transition to `ImageLayout::SharedPresent` currently performed using
one-off command buffer, which is always immediately submitted. This is
the reason why VVL was ignoring the error for so long.
Bug was discovered in `EGLSingleBufferTest.AcquireImageFromSwapImpl`
during local testing, where one-off command buffer was replaced with
outside RP commands. Other tests were still working fine, because they
are using `glClear()` in the very first flush - no renderpass in the
first submission, and so VVL can't track the layout once it is used in a
renderpass in the second submission.
Bug: angleproject:42262606
Change-Id: I19404b5be706e54e53890c2fec9cb4796296c698
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6182598
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
2d71b6b7
|
2025-01-23T16:56:02
|
|
Suppress dEQP failures on S22
dEQP-GLES31.functional.geometry_shading.instanced.geometry_output_different_32_invocations
dEQP-GLES31.functional.geometry_shading.instanced.geometry_output_different_max_invocations
KHR-GLES31.core.geometry_shader.primitive_counter.*
KHR-GLES32.core.geometry_shader.primitive_counter.*
Bug: angleproject:386749841
Change-Id: I41f399ab914d000d6b606170b6d191b61840eec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194732
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
55f421f6
|
2025-01-22T13:47:29
|
|
CL/VK: Add missing ArgumentWorkgroup case
Missed nop-case when processing kernel resources
during enqueueNDRangeKernel
(avoids false-reporting of UNIMPLEMENTED during routine).
Bug: angleproject:42267067
Change-Id: I0785ab94769fcb9b28ca0ff86d8104cc95056e5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191435
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
40267ddc
|
2025-01-14T12:51:00
|
|
Vulkan: Add bufferWrite for multiple shader stages
This is mostly a clean up CL. When a buffer is used in multiple shader
stages, it was inserting barrier multiple times by calling bufferWrite
in a loop. This creates unnecessary barrier against one shader stage to
another shader stage. This CL adds a multiple shader stages version of
bufferWrite that takes "const gl::ShaderBitSet &writeShaderStages" as an
argument, in consistency to bufferRead. Otherwise this creates a problem
in future CLs where we use VkEvent to track the write and you end up
with WAW of the VkEvent that has not submitted.
Bug: angleproject:360274928
Bug: angleproject:42262235
Change-Id: I923dc9df39318d337f67f4fa0f6a68f336df24f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180948
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
51cdae04
|
2025-01-21T18:41:15
|
|
Update dEQP-GLES2.functional.shaders.random* test expectations
Most tests have been fixed with the latest qualcomm drivers,
except 1 test is still failing:
dEQP-GLES2.functional.shaders.random.all_features.fragment.39.
Bug: b/328156792
Bug: b/338287961
Change-Id: Ib2ff74c6ae7e9f39958617fb8d00b9b1f89878ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6188697
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
0acd0a17
|
2025-01-21T18:31:32
|
|
Remove fixed dEQP-EGL.functional.*pbuffer tests from skip list
These tests pass with latest ANGLE version d9c0aa4aff.
Bug: b/330906568
Bug: b/328156792
Bug: b/332784194
Change-Id: Ib42fe3cfb22f3f7a1bd84609f927cc47613a4920
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6188696
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
9867010e
|
2025-01-21T18:17:37
|
|
Remove fixed dEQP renderbuffer test from skipped test list
Test passes with the latest ANGLE version d9c0aa4aff.
Bug: b/328156792
Bug: b/333959262
Change-Id: I231feb43af69a1dab877fd3d3bd915b73d56d4b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187619
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
fd94ce5b
|
2025-01-21T18:05:41
|
|
Update the deqp blend equation advanced test expectations on qualcomm
Some of the dEQP-GLES31.functional.blend_equation_advanced* tests
are fixed by the latest qualcomm drivers.
There are 9 remaining tests still failing. Update the expectation file
with these 9 tests.
Bug: b/328156792
Bug: b/345581214
Change-Id: I995b0f8a14d18f8ed4d1cdd27c334bdb09387d97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187617
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
e5a4924e
|
2025-01-21T17:42:50
|
|
Remove fixed dEQP copy texture tests from skipped test list
Tests passed with the latest qualcomm drivers.
Bug: b/347306270
Bug: b/328156792
Change-Id: I8d6c0cb04d13635a91b0d774c56d8f3f72bc0e4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187616
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
308cfc62
|
2025-01-13T14:54:18
|
|
Do not reset buffer age after query
The spec doesn't mention that we need to reset the
buffer age if no rendering after last call of eglQuerySurface
to query EGL_BUFFER_AGE_KHR. Age was also reset after first time
of query. Remove it to align with spec. New end2end test is
also added.
Bug: angleproject:391039188
Change-Id: I00c96e3a71ea2c9abcb86ebaf520243408dedd52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6185135
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1d25be59
|
2025-01-09T11:09:22
|
|
Vulkan: Pass Context instead of Renderer to BufferHelper APIs
This is preparation CL for later CL. In later CL we need to access
context argument in BufferHelper's barrier related functions. release()
also preferred to have context argument so that the events can be
recycled within share group. Because of this, a lot of functions has to
propagate back to pass context as argument instead of renderer.
Bug: angleproject:360274928
Change-Id: I13e930666eeeefbcff7b542d0e3126f3b07ce286
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164686
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
680ff1f4
|
2025-01-22T19:17:40
|
|
Suppress flaky end2end test on Linux NVIDIA Vulkan
ClearTextureEXTTestES31Renderable.Clear2DArray
ClearTextureEXTTestES31Renderable.ClearCubeMap
ClearTextureEXTTestES31Renderable.ClearCubeMapArray
Bug: angleproject:362486580
Change-Id: I4254a4c28cb0b201d9e94511d5ddc8cce975d1c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6190629
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
4be68add
|
2025-01-22T18:24:24
|
|
Skip OcclusionQueriesTest.WrongSkippedQuery
Fails on Win Intel UHD 770 Vulkan
Bug: angleproject:388144480
Change-Id: Iee4bbae63991bb7d678bdd0777b45647322f3843
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191327
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
90e3f6bd
|
2025-01-17T23:10:55
|
|
executable path has non-ASCII characters, metal not available
On ARM64 MacOS 15.0.x, Metal Shader with
newLibraryWithSource didn't work if the executable path
contains non-ASCII characters.
Bug: chromium:389559087
Change-Id: I0482c01e2a11973f56c712b36062ed78f3cecf9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6174286
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
d8a95bf7
|
2024-12-19T17:35:05
|
|
Vulkan: Protect OneOff commands recording with pool mutex
Bug: angleproject:384940864
Change-Id: I518c54ae4b0fc5da0e58d330f8c531bc8d65529e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108843
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
3734b432
|
2025-01-21T14:24:42
|
|
Suppress some clear tests on Linux/Intel/GL
* Suppressed the following tests on Linux/Intel/OpenGL due to
observed flakiness on the bots:
* ClearTextureEXTTestES31Unrenderable.Clear3D
* (ismatch in output values)
* ClearTextureEXTTestES31Renderable.Clear2DArray
* (FBO status is shown as incomplete)
Bug: angleproject:384967031
Change-Id: I46e23e95619c6836b03edf6a52514b138f1542dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6182634
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
a5016e31
|
2025-01-17T17:50:27
|
|
Vulkan: Fix typos found by gerrit spellchecker
Bug: angleproject:360274928
Change-Id: Idbffd7a4609f28d161bd0a11ace817856dcd750c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6182930
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0afc3323
|
2025-01-21T12:46:28
|
|
Add fast path to ValidCap for most frequent cases
glEnable/Disable are commonly called with the ones that are now on the
fast path. GL_POLYGON_OFFSET_FILL seems slightly less common but still
frequent enough to be inlined.
This noticeably reduces the number of function calls in DO2 trace
as well as branch predictor load (confirmed by cpu counter stats from a
mobile device), and just this change appears to improve wall_time a bit.
Bug: b/383305597
Change-Id: I8fa42de64d79f6638b312891f440d796dd95c57c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6184086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|