|
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>
|
|
0a7e1daf
|
2024-07-05T16:05:20
|
|
Tests: fix MultithreadFenceDraw, MultithreadFenceTexImage
Before this CL, pixels _after_ swapBuffers() were checked and in a way
that was causing a data race on mDrawGreen access. It seems to have
passed in certain special-case scenarios but was mostly broken, which
might explain the numerous issues that it caused.
After this CL, pixels are checked on each of 5 iterations _before_
swapBuffers() and mDrawGreen race is eliminated by ensuring read happens
before the background thread is unblocked.
Bug: b/338429767
Bug: b/42265212
Bug: b/42264513
Bug: b/267953710
Bug: b/42266622
Bug: b/328156792
Bug: b/42266649
Bug: b/40096752
Bug: b/42263977
Change-Id: Id0fa72ea69e29c6fd5abdb225ff1dbadb18b221b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5675283
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
640e3716
|
2024-07-04T00:00:00
|
|
Do not rely on 16-bit color read conversions in tests
These conversions are not specified.
D3DTextureClearTest should assert that all bits are cleared.
Texture2DNorm16TestES3.TextureNorm16*TextureTest should not use
16-bit framebuffer attachments as they are tested separately.
Bug: angleproject:40096653
Bug: angleproject:351644552
Change-Id: Ib22e9fcc3b643725f25f6ed880569888107928ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5683107
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2a87db69
|
2024-07-06T22:20:40
|
|
Vulkan: Remove unused render pass closure reason
Bug: angleproject:42266019
Change-Id: I1c516b88677d7c9d3e97e9fd7525cf727be50cc3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5678940
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6c6975af
|
2024-07-05T12:28:54
|
|
Manual roll vulkan-deps from 5fdd3da87369 to 17d345a0f23d (10 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5fdd3da87369..17d345a0f23d
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/704107fda3827377f00e57dff0c21da019bff4ae..5939e32b87487fa9c72ab336ebfcc5ae26d9ab6d
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/2acb319af38d43be3ea76bfabf3998e5281d8d12..41a8eb27f1a7554dadfcdd45819954eaa94935e6
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/973e791a9ac122f903c2796349a538b278cbe29b..216574bedb80d439c2533d161e7ea7897504bbb6
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/afeb91d6d2110717b8c842081eff410617aed1ef..96fb5396040477fbbffdc1b4439dea9447f59d80
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 abdolrashidi@google.com,angle-team@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: abdolrashidi@google.com
Change-Id: I2e1c6204e675eb8e70ed68dbe13b912bd6ffce6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5678939
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
db00dee5
|
2024-07-05T21:11:53
|
|
Vulkan: Fix SPIR-V gen for literally indexed swizzles
Translation did not take into account the fact that a swizzled vector
can be indexed by a literal (like `vec.zzxy[2]`, which should translate
to `vec.x`). Since this issue affects MSL generation too, such
expressions are folded before they reach the output generators.
Bug: b/351102615
Change-Id: I048aca165cdf22ef8cd7ccd9a8e503ccf636a55f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680354
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
58dc069c
|
2024-07-04T00:00:00
|
|
Rename 16-bit EXPECT_PIXEL test helpers
Do not use UI suffix as the format is normalized.
Bug: None
Change-Id: Ib635397f2cdec02806c2c31484820b9b6964a066
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1dd3a4c4
|
2024-07-04T00:00:00
|
|
D3D11: Use built-in position for gl_FragCoord.z on SM 4.0+
If supported, used built-in pixel position
input for the gl_FragCoord.z value.
Exposed GL_EXT_clip_control only
on feature level 10_0 or higher.
Fixed: angleproject:347737886
Change-Id: I272ccce04cf6ad7921aa6cd5dc13f0de2f9ae561
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5679787
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
c46d94d1
|
2024-07-04T05:45:53
|
|
Updating ceval's README.chromium to include Revision
Change-Id: Ieca214504cb28daaf944c2dcac7044f413b0bfdc
bug: b/350851535
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5677899
Auto-Submit: Jordan Brown <rop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
fe02de25
|
2024-07-04T00:00:00
|
|
Metal: Remove MTLGetMSL dependency on context
Bug: angleproject:351165323
Change-Id: Idf56665cce67dcf51ac4d6148212786bcc398b67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5678417
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fcf3a1c0
|
2024-07-02T16:33:28
|
|
GL: Allow shader compilation with cached translated source
Write the translated shader source when serializing shaders. This does
not increase the size of the shader cache because Vulkan only uses the
compiledBinary field.
Spawn a ShaderTranslateTask for loading shaders so the GL backend can
compile the shader on the native driver.
Bug: angleproject:350779978
Change-Id: I14413a7ca2a0d99653a1082f2c8b4a94cf58626a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5672740
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7d61980e
|
2024-06-26T18:39:53
|
|
Vulkan: Rename DescriptorSetLayoutDesc update() to addBinding()
The `update()` method is never actually used to update the exiting
bindings (but rather to add new ones), this change renames the method
to `addBinding()` and adds few ASSERTs for clarity.
Also, after recent changes in `DescriptorSetLayoutDesc` class, some
changes made by `update()` method are irreversible. It is possible
to have different descriptions that will produce same layout if use
`update()` to rewrite the existing structure.
Bug: angleproject:8677
Change-Id: If85eb2b271bc06843ee9326c024d73801d3da091
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5676345
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a4f3f6bf
|
2024-07-02T16:25:05
|
|
GL: Simplify members of ShaderGL.
It does not need to store anything except the shader ID. Everything
else can be queried from the context.
Bug: angleproject:350779978
Change-Id: I202ae8e59e8c5b10ffb24f5454151b17818d400c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5672739
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b7d4c5d1
|
2024-07-04T00:00:00
|
|
Metal: Disable fast math if isinf or isnan are used
Fixed: angleproject:42266714
Fixed: angleproject:42267063
Change-Id: Ibf6508ffc7d458a6b91b9218b2b488b6aa5b1001
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5678416
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
397eb7c8
|
2024-06-29T00:22:42
|
|
Vulkan: Easier to read SPIR-V disassembly
Bug: angleproject:349994211
Change-Id: I9d8da4a9fa336e1f5ecdfa39c33959ecebb2c6ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667081
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f2ee319d
|
2024-07-03T07:02:13
|
|
Roll Chromium from 51d79108bbb3 to 34f452e68b67 (970 revisions)
Due to http://crrev.com/c/5651996:
1. Don't use Xvfb for angle_unittests.
2. Force --use-xvfb in restricted_trace_gold_tests.
https://chromium.googlesource.com/chromium/src.git/+log/51d79108bbb3..34f452e68b67
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/feff4a53b0..229704c27a
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2984b8fcc4..819c7ae6e8
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/106f24b1e1..bf1591ad6e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/36641ab0e3..e190315d54
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6a00e594c9..ca091f0d16
* third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/6ede1ccc9e..fb9afbafc7
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/144e2174e9..0312683647
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/8b7eff801b..68e57e619c
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/66f8276b4e..a05e27145f
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/7e2aebd75d..303336503e
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/7c0882a310..04455f259c
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/aaadc0d4ed..04ec6d97b6
No update to Clang.
Bug: chromium:40257169
Change-Id: Ibe9a6bd3906df8cedb42f56adfe5085046b68bd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5673851
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b954755f
|
2024-07-02T00:00:00
|
|
Release all memory allocated in TCompiler::compile
Ensured that single-page allocations
from compile jobs are released to OS.
Fixed: angleproject:350528355
Change-Id: I5a0d9fd7dbc065f4b4127ceecb3fd6538eb8948d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5673352
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b6456334
|
2024-04-02T15:03:17
|
|
Reland: GL: Support KHR_blend_equation_advanced
Combine blend equation setting when they are equal. It is invalid to
set advanced blend equations for color/alpha separately.
Emit blend equation layout qualifiers.
This is an unchanged reland of
https://chromium-review.googlesource.com/c/angle/angle/+/5415033
and depends on a GL dispatch table fix in
https://chromium-review.googlesource.com/c/angle/angle/+/5670963
Bug: angleproject:42267098
Change-Id: Id669cf98ec2b7d46eab174717964f8d6daf88b29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5659200
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ef2c9665
|
2024-07-02T11:25:17
|
|
GL: Fix dispatch table for desktop-only entry points
In gl.xml, each extension and entry point within the extension can
express which API it is supported in. The dispatch table generator
was ignoring the per-entry point support information and assuming
deferring to the extension-level support.
Extensions like EXT_blend_minmax which only adds glBlendEquationEXT
on desktop GL would overwrite the blendEquation entry point with a
non-existant (null) glBlendEquationEXT on GLES.
This also simplified the lack of KHR suffixes on desktop GL since
they are listed with the proper desktop-only api requirements in
gl.xml.
Bug: angleproject:42267098
Change-Id: I906969335d5b82831dd82699d910f444afa68cd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5670963
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
78ee33e4
|
2024-07-01T15:42:55
|
|
Roll third_party/dawn/ 6cdf3a1a1..eb249b37e (310 commits; 3 trivial rolls)
We need to roll in
https://dawn-review.googlesource.com/c/dawn/+/196054
to ublock rolling libc++ into ANGLE.
Add special handling of Undefined WGPU formats due to also rolling
https://dawn-review.googlesource.com/c/dawn/+/193360
https://dawn.googlesource.com/dawn.git/+log/6cdf3a1a195f..eb249b37e3e8
$ git log 6cdf3a1a1..eb249b37e --date=short --no-merges --format='%ad %ae %s'
2024-07-01 blundell [Vulkan] Set the Vk descriptor type correctly for YCbCr samplers
2024-07-01 blundell [Vulkan] Map FilterMode to Vulkan filter correctly for YCbCr info
2024-07-01 dawn-autoroll Roll vulkan-deps from 773555d3bd22 to 4a2ff9e87700 (1 revision)
2024-06-30 dsinclair [hlsl] Handle compute builtins for ShaderIO transform.
2024-06-30 dsinclair [hlsl] Add some existing transforms
2024-06-29 jrprice [msl] Regenerate test expectations
2024-06-29 dsinclair [hlsl] Split module var structs and arrays.
2024-06-29 dawn-autoroll Roll vulkan-deps from 2796aaff7eef to 773555d3bd22 (9 revisions)
2024-06-29 cwallez opengl: Add support for EGL_EXT_pixel_format_float.
2024-06-29 kainino Summarize CTS failures as first line of first max-severity log
2024-06-29 jaswant.panchumarti Do not turn off CMAKE_CXX_EXTENSIONS
2024-06-28 rafael.cintron Disable render passes on Windows until support can be detected
2024-06-28 enga [headers] Remove the Flags enums and make them 64-bit
2024-06-28 dsinclair [hlsl] Stub out the DecomposeMemoryAccess IR transform.
2024-06-28 cwallez opengl: Add support for EGL_KHR_no_config_context.
2024-06-28 jaswant.panchumarti Disable GLFW_INSTALL
2024-06-28 jaswant.panchumarti Add third_party/google_benchmark/src in fetch_dawn_dependencies.py
2024-06-28 jaswant.panchumarti Always build glslang as static library
2024-06-28 dawn-autoroll Roll vulkan-deps from 7ff358e64e2b to 2796aaff7eef (10 revisions)
2024-06-28 enga Fix Wayland build
2024-06-28 dawn-autoroll Roll ANGLE from 46dd6457f4bf to a674dc1dae8f (3 revisions)
2024-06-28 dawn-autoroll Roll DirectX Shader Compiler from 206133c9e7e1 to 49d1ae9a029c (1 revision)
2024-06-27 bsheedy Mark problematic expectation block as KEEP
2024-06-27 rharrison [tint][fuzz][ir] Implement test case disassembler
2024-06-27 dsinclair [hlsl] Add transform to remove struct and array initializers to lets.
2024-06-27 enga Re-number enum values part 2
2024-06-27 rharrison [tint][fuzz][ir] Batch process files when generating corpus
2024-06-27 cwallez GL: Add support for wgpu::Surface.
2024-06-27 jrprice [tint] Fix UB in FileContent copy constructor
2024-06-27 dsinclair [hlsl] Add ValueToLet transform.
2024-06-27 dsinclair [hlsl] Add ShaderIO transform.
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_glfw library
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_utils library
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_wire library
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_native library
2024-06-27 dsinclair [glsl] Extract textureBuiltinFromUniformData
2024-06-27 dawn-autoroll Roll vulkan-deps from 1c484942880c to 7ff358e64e2b (4 revisions)
2024-06-27 hans Fix std::vector<const T>
2024-06-27 dawn-autoroll Roll ANGLE from 0bf157f12bb8 to 46dd6457f4bf (5 revisions)
2024-06-27 dsinclair [glsl] Extract combinedSamplerInfo
2024-06-27 jrprice [fuzz] Skip PixelLocal with multiple entry points
2024-06-27 jrprice [tint] Pre-clone symbols in IR->AST pass
2024-06-27 jrprice [fuzz] Add TextureBuiltinsFromUniform precondition
2024-06-27 jrprice [tint] Fix collision check in multiplanar fuzzer
2024-06-27 jaswant.panchumarti Use dawn_add_library function to create the dawn_platform library
2024-06-27 jiawei.shao Fix crash when using constant expression as `@blend_src`
2024-06-26 rharrison [tint][ir][fuzz] Convert assembler to generating test case protos
2024-06-26 jaswant.panchumarti Use dawn_add_library function to create the dawn_proc library
2024-06-26 dawn-autoroll Roll ANGLE from 046327343595 to 0bf157f12bb8 (5 revisions)
2024-06-26 dawn-autoroll Roll DirectX Shader Compiler from e5183a06b913 to 206133c9e7e1 (1 revision)
(...)
2024-06-17 dawn-autoroll Roll SwiftShader from 085997ddb08b to cea33ab2d5ad (1 revision)
2024-06-17 jimblackler Integration test in the library.
2024-06-17 dawn-autoroll Roll vulkan-deps from 897d900fc1b1 to 7f05a36fb6d9 (1 revision)
2024-06-17 dawn-autoroll Roll DirectX Shader Compiler from 206b7c2e537a to 8c3f40c0ae12 (1 revision)
2024-06-17 dawn-autoroll Roll ANGLE from d521dd08bef4 to 7f70cd0da27c (1 revision)
2024-06-16 dawn-autoroll Roll vulkan-deps from 1bd6201121db to 897d900fc1b1 (1 revision)
2024-06-15 jimblackler Alternate way of generating the bindings inside Gradle.
2024-06-15 jimblackler Fix for incorrect import path for webgpu.h.
2024-06-15 jimblackler Move 'Util' to a new location, and convert to Kotlin.
2024-06-15 dawn-autoroll Roll vulkan-deps from dd296c842e50 to 1bd6201121db (7 revisions)
2024-06-15 dawn-autoroll Roll ANGLE from bcb567a7f8e4 to d521dd08bef4 (7 revisions)
2024-06-14 hitawala [YCbCr Samplers] Get supported SampleTypeBit for external format
2024-06-14 senorblanco OpenGLES: more end2end test cleanup.
2024-06-14 enga Fix wgpu::Status return value for wgpuSurfaceGetCapabilities
2024-06-14 kainino Use ityp::array for sVertexFormatTable
2024-06-14 dawn-autoroll Roll vulkan-deps from 42ee85cf2154 to dd296c842e50 (2 revisions)
2024-06-14 dawn-autoroll Roll Depot Tools from 88a72320ed30 to 1d1f17af898b (4 revisions)
2024-06-14 dawn-autoroll Roll DirectX Shader Compiler from 56f3c4038159 to 206b7c2e537a (1 revision)
2024-06-14 enga Remove 0-value enums that aren't ever valid
2024-06-14 dawn-autoroll Roll ANGLE from 973e5261a0fd to bcb567a7f8e4 (7 revisions)
2024-06-14 senorblanco Revert "Make a convenience cpp method for WaitAny with one future"
2024-06-14 dawn-autoroll Roll vulkan-deps from 7db4057407f4 to 42ee85cf2154 (8 revisions)
2024-06-14 enga Make a convenience cpp method for WaitAny with one future
2024-06-14 dawn-autoroll Roll Depot Tools from 43c6415bced9 to 88a72320ed30 (3 revisions)
2024-06-14 beaufort.francois Make GPUAdapter GetInfo() a suitable replacement for GetProperties
2024-06-14 rharrison [tint][ir][fuzz] Disable building IR fuzzer when ASAN is enabled
2024-06-14 enga AHB: Don't add storage binding unless AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER
2024-06-14 dsinclair [hlsl] Fix incorrect HLSL test output
2024-06-14 rharrison [tint][ir][fuzz] Fix breakage of fuzz_cmd target for CMake
2024-06-13 dsinclair [hlsl] Add HLSL IR printer var/let tests
2024-06-13 dsinclair [ir] Add a templated `zero` helper.
2024-06-13 dawn-autoroll Roll ANGLE from 65f8dc8e3ad8 to 973e5261a0fd (5 revisions)
2024-06-13 dsinclair [hlsl] Add generated IR expectations.
2024-06-13 jrprice [msl] Regenerate E2E expectations
2024-06-13 lehoangquyen D3D11: split Buffer class into GPUOnlyBuffer and StagingBuffer
2024-06-13 senorblanco OpenGLES: enable/triage misc end2end tests.
2024-06-13 chouinard Remove storage textures from vertex tests
2024-06-13 chouinard Disallow textureStore in vertex shader tests
2024-06-13 chouinard Replace textureStore test with frag shader
2024-06-13 jrprice [msl] Add polyfill for textureNumSamples
2024-06-13 jrprice [msl] Add polyfill for textureNumLayers
2024-06-13 jrprice [msl] Add polyfill for textureSampleCompare
2024-06-13 jrprice [ir] Strip all IO attributes in ShaderIO transform
2024-06-13 fdurso SampleUtils: Add missing newline in output message
2024-06-13 wong.kl.matthew dawn/node: Update documentation for ASan CMake builds.
2024-06-13 dawn-autoroll Roll DirectX Shader Compiler from 4353db3983e2 to 56f3c4038159 (2 revisions)
2024-06-13 ynovikov Revert "d3d: Change D3D references to PhysicalDevice to WeakRef instead of Ref"
2024-06-13 dsinclair [hlsl] Add HLSL IR printer constant tests
2024-06-13 dawn-autoroll Roll vulkan-deps from 7d45b6d174eb to 7db4057407f4 (13 revisions)
2024-06-13 dawn-autoroll Roll Depot Tools from c0883c509ea3 to 43c6415bced9 (3 revisions)
Created with:
roll-dep third_party/dawn
Bug: chromium:323708866, chromium:349411322, dawn:42241166
Change-Id: Iad65ef83c0ec47a6aba3fdc7de511ff22f586d4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667168
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e86ba9ab
|
2024-06-26T13:38:18
|
|
Vulkan: Fix querying support of prim restart patch
* Added a cap to reflect support for primitive restart for patches.
* primitiveRestartForPatchesSupported
* In Vulkan, it is determined through the following component from
the existing related device feature:
* primitiveTopologyPatchListRestart
* Updated querying PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED via glGet().
* Now it is only available on ES 3.2 or if tessellation shaders are
supported. Otherwise, there will be a validation error.
* It returns primitiveRestartForPatchesSupported.
* Added a unit test that queries this value and ensures that it remains
the same regardless of whether primitive restart is enabled.
Bug: angleproject:349610458
Change-Id: If43a5326f0886cf10e38b4e73a868f46b1052533
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5661108
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
3813e805
|
2024-06-21T14:29:55
|
|
Add env var/property control of API dump layer
Layer is now included with all debug/assert builds or when
specified through GN arg.
VK_VULKAN_API_DUMP_LAYER on desktop, or for android set
debug.angle.enable_vulkan_api_dump_layer to 1.
Also included some renaming since layers other than
validation are supported.
Bug: angleproject:8623
Change-Id: I2bb976dede53712f781a531d0c4f3ce4d33f052c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5649937
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a674dc1d
|
2024-06-21T14:48:06
|
|
Unify updating cached color/read render targets
Currently in updateColorRenderTarget(), there are two calls to update
cached render target if the read RT is the same as the color RT, which
means getting the same attachment RT twice. In case it is the same
attachment, there can be one call to update both.
* Updated updateColorRenderTarget() so if the read attachment and the
color attachment are the same, it will only get the attachment RT
once. Otherwise, it will update the read RT separately.
Bug: angleproject:348704287
Change-Id: I9ff9fb2a4edbd4420feece0ee6edd40f1f7efdca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647497
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
46dd6457
|
2024-06-25T15:56:15
|
|
Vulkan: Use DONT_CARE ops for missing D/S aspects
Simplifies op tracking with dynamic rendering.
Bug: angleproject:42267038
Change-Id: I394c154d94458c470190fea66d82c408e6f33725
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5655873
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
35f01e7f
|
2024-06-26T14:30:27
|
|
ESSL -> WGSL: Support basic control flow
If/else, while, do/while, for.
Return, break, continue, discard
Bug: angleproject:42267100
Change-Id: I0c8ef30b45aec639a07323e333db970d4c42dec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5661103
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
89ef2812
|
2024-06-26T11:19:54
|
|
ESSL -> WGSL: unary and binary exprs, operators, array access
Array indexing is always checked to be within bounds. For runtime-sized
arrays, this requires emitting a clamp(). For now this includes a bug
the left-side-expression (the array itself) has any side effects, which
shouldn't actually be possible but may be in future versions of WGSL.
Implementing unary, binary, and remaining aggregate expressions requires
implementing operators, many of which do not have exact corresponding
versions between GLSL and WGSL. This implements many operators but for
simplicity leaves some unimplemented and some half-implemented.
See WGSLOutput_test.cpp for some code examples.
Bug: angleproject:42267100
Change-Id: I3737abb5dffd156deba0429fa86570270d711d3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651994
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3e997419
|
2024-06-25T18:41:03
|
|
Add format conversions for WebGPU formats.
This CL adds a Format class, as well as a generator script to
generate methods to map between WebGPU and ANGLE formats.
Fallback mappings are listed but this CL only implements
support for required webgpu formats.
Bug: angleproject:344814096
Change-Id: I2588a57353eafc4e87f40df3bbe3f9375e5ed8c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5598178
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0bf157f1
|
2024-06-26T07:44:43
|
|
Tests: Update expectations for new deqp test name
Test was split into a bunch of subtests, have to stop checking
for exact string match. Added wildcard to compensate.
Bug: angleproject:349569335
Change-Id: I0787208db0823d7ac1547cc03e04cd6bfed944ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5659336
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
|
|
85e2e6a9
|
2024-05-08T12:31:37
|
|
WebGPU: Add Window and Pbuffer surfaces.
Bug: angleproject:342213844
Change-Id: I58465bdf895b4bab63ec3c74e326c6be4827bf60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525974
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
04632734
|
2024-06-20T17:23:27
|
|
Add EGL query option for minor version
* Added the following:
* EGL_CONTEXT_MINOR_VERSION
* Added since EGL 1.5
* EGL_CONTEXT_MAJOR_VERSION
* Another alias for EGL_CONTEXT_CLIENT_VERSION.
* Added unit tests to query major and minor versions.
Bug: angleproject:349179609
Change-Id: I99989c0f9f6659995caf9d7987551b97d477f22f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5648675
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
df7bda5c
|
2024-06-21T13:27:08
|
|
Disable MSRTSS if not supported for RGBA
* Support for MSRTSS is checked for RGBA8 and RGBA8_SRGB during
renderer initialization.
* In the case of lack of support, this feature is disabled.
* preferMSRTSSFlagByDefault is disabled if MSRTSS is not supported
at all.
Bug: angleproject:348181798
Change-Id: If1bf27f53a61f4fd67576c426ab07f4e2304fbe9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647495
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
8b1daa18
|
2024-06-24T14:22:22
|
|
Vulkan: Fix MSRTT failure from undef addnl format
In TextureVk::initImage(), for formats that do not have an SRGB
equivalent, such as some D/S formats, additionalViewFormat becomes
VK_FORMAT_UNDEFINED. For those textures, FormatSupportsUsage()
returns false for MSRTSS, which leads to an error in some test cases.
* Added the condition that, to determine MSRTSS support, additional
format is ignored if it is undefined.
* Unsuppressed affected tests that should now be fixed.
Bug: angleproject:348181798
Change-Id: I739b630ac7d0230e2506f6f13b8cb9b3b50d175f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651860
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0c5b327a
|
2024-06-18T13:48:06
|
|
Extend advanced blend tests to cover core and KHR
* Added AdvancedBlendTestES32.
* (AdvancedBlendTest will now use ES 3.1 with the KHR extension.)
* Currently disabled on Intel (Windows and Linux)
* (ES 3.2 is expected to include advanced blend equations.)
Bug: angleproject:42262258
Change-Id: I691786c2b54ae6c1efa02299667978ddbc526819
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5640674
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0ccc018e
|
2024-06-20T10:20:08
|
|
Reland GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm
Track if the output location and index came from a layout qualifier
or from a call to glBindFragDataLocation[Indexed] and only call
glBindFragDataLocationIndexed in the latter case. Re-binding a
location that was already specified in the shader is not allowed.
Qualcomm can fail when trying to bind locations using the API when
the output variable is an array or uses a non-zero index. Only
call glBindFragDataLocationIndexed when the user specifically uses
it to avoid failed links when all outputs should be implcitly
assigned.
Assign the ProgramOutput::pod::index field when doing output assignment
to mirror how the location is assigned.
Bug: angleproject:42267082
Change-Id: I72cdb73dd4c5edea4ad1229ca75c0c7926344d1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645123
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7ca9f46a
|
2024-06-21T13:09:24
|
|
ESSL -> WGSL: Emit func calls, struct access, constants
Also includes constructor calls, swizzles, and a slightly incorrect
version of the ternary operator.
The ternary operator doesn't exist in WGSL, only a non-short-circuiting
select() builtin. For now the ternary is implemented with select()
but that isn't correct if any of the true/false expressions have side
effects, and may have perf implications by computing both true/false
expressions.
Constants are mostly done after this, however NaN and infinity are not
valid constants in WGSL and it's unclear what we can do about this as
WGPU implementations are allowed to assume NaNs and infinities are
never operated on.
Bug: angleproject:42267100
Change-Id: Ie6190091a7b95d3d372736ab7cea45868846e7be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5648990
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
016ef60d
|
2024-06-24T17:41:30
|
|
ValidateAST asserts when refers to builtIn struct type name
Refers to build in type name looks allowed by GL
but currently VK and Metal backends do not support,
i.e.: refers to gl_DepthRangeParameters, this change
is to add temporary check to make using reserved
type name an error during parsing.
Bug: angleproject:348313398
Change-Id: I6522566b1f590fe2b24534fb065625c4ac3b06c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645265
Auto-Submit: Erica Li <lerica@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
dd25e193
|
2024-06-14T12:14:52
|
|
Add a texture copy test that does multiple layer copies
Add a test that does multi-layer copy between a 2D array texture
and a 3D texture of different formats.
Bug: b/347306270
Change-Id: I972ae83f568450c27295a565af13f8e6d2332f66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634376
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
beb75984
|
2024-06-21T17:33:51
|
|
Fix incorrect verification for SimultaneousUploadAndDraw
MultithreadingTestES3.SimultaneousUploadAndDraw was verifying
its results incorrectly, resulting in incorrect failures.
Bug: angleproject:8341
Change-Id: Ie9268391c7b65a904a05c428c13be1041e8a7383
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647496
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e095c06f
|
2024-06-24T17:51:54
|
|
Suppress end2end MultisampledRenderToTexture* failures
Started on Pixel 6 AP1A.240405.002 after
https://chromium-review.googlesource.com/c/angle/angle/+/5644215
MultisampledRenderToTextureES31Test.DrawCopyThenBlendAllAttachmentsMixed
MultisampledRenderToTextureES3Test.DepthStencilAttachment
MultisampledRenderToTextureES3Test.DepthStencilClearThenDraw
MultisampledRenderToTextureES3Test.DrawCopyDrawAttachDepthStencilClearThenDraw
Bug: angleproject:348181798
Change-Id: I4290e7ea0ba2352feed538c02d798e612d7fd616
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5651062
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
15b95b4a
|
2024-06-24T13:21:50
|
|
Skip WebGL2UniformBufferTest.LargeArrayOfStructs
Times out on Mac NVIDIA GL.
Bug: chromium:346561003
Change-Id: If2eb106024a2c693c57f0ea351f981fc73d0af82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5646492
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
3c472b45
|
2024-06-20T13:17:32
|
|
Vulkan: Fail if texture bound to MSRTT w/o support
* If a texture is already bound to an MSRTT framebuffer, but MSRTSS
is not supported by the driver for that format, it leads to failure.
Bug: angleproject:348181798
Change-Id: I685ca552b9c53b06f33065ba594d81cfa7b25b4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5644215
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
6f33eddc
|
2024-06-20T18:05:49
|
|
Vulkan: Bugfix in FindSupportedFormat
Account for vendors that do not support any image fallback formats
Bug: angleproject:42261363
Change-Id: I2a6b1a724e52d9fa75444ff154986b49de612d32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5646126
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
48969c95
|
2024-05-31T16:34:07
|
|
GL: Implement QCOM_tiled_rendering
Bug: angleproject:343900918
Change-Id: I01612e11795d7aa8ee20f6e9bd5ef62fe40e2910
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588630
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3be15cb0
|
2024-06-21T13:52:20
|
|
GL: Limit uniform block size to 64KB
This change works around an inefficiency in ANGLE when the uniform block
has a large size. That will be fixed in a follow up, but in the
meantime this clamping makes ANGLE more uniform on different vendors
(most of which expose this limit as 64KB already). This also aligns
with the strategy adopted by the Vulkan backend.
Bug: angleproject:346561003
Change-Id: Id23a1f1bbbc1c7224c432d5bee1c4989ff2c92b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645627
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
12028222
|
2024-06-20T00:00:00
|
|
Metal: Clear visibility result buffer before use
Ensured that the current visibility pool buffer does
not contain previous results if it was used before.
Fixed: angleproject:348206830
Change-Id: I8dbc36626ef8267d5466c96405dac0da2754cb6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5643453
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e3c8d57b
|
2024-06-21T11:55:21
|
|
GL: Fix glClearTexImage for LUMA textures
We need to transform the format and type before handing it off to the
driver for emulated texture formats.
Bug: angleproject:347047859
Change-Id: Ifa2c92179a49fbd8ae152a365c2915091102e4e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5645626
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3f572905
|
2024-06-19T17:46:38
|
|
Add basic begin/end support for perf counters
The AMD_performance_monitor extension has explicit begin/end calls to
capture counters. This was not implemented in ANGLE and the tests were
relying on ANGLE always capturing counters (incurring a small overhead).
This change does not complete the implementation of that extension, but
does add basic support for starting and stopping perf counter
measurements. While inactive, most counters are not updated.
Bug: angleproject:42267038
Change-Id: I3ff6448b22ca247c217401cb2d76ef4142c9d759
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639343
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e53b3ad7
|
2024-06-17T15:23:55
|
|
Vulkan: Extend coherent adv blend to emulated path
* blendEquationAdvancedCoherentKHR is now also enabled if the following
features are enabled to emulate ABE:
* emulateAdvancedBlendEquations
* supportsShaderFramebufferFetch
* Relevant tests: *GLES31.functional.blend_equation_advanced.coherent*
* On some Android devices: From "Not supported" to "Passed"
Bug: angleproject:42262258
Change-Id: I4d97438df774f0752b9f30c5807cb3cc20ede076
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5631144
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a1dea207
|
2024-06-13T11:40:39
|
|
Implement KHR_blend_equation_advanced_coherent
* Updated the validation for glBlendBarrier() and ~KHR().
* GL state now includes mBlendAdvancedCoherent.
* Updated glEnable() to accept GL_BLEND_ADVANCED_COHERENT_KHR.
* It can be queried via glGetIntegerv(), etc.
* EXTENDED_DIRTY_BIT_BLEND_ADVANCED_COHERENT added.
* Added a corresponding bit to ExternalContextState.
* If coherence is supported, there should be no need to use blend
barriers, as, based on the spec, the advanced blend ops should
then follow order like the basic blend ops.
* Relevant tests: *GLES31.functional.blend_equation_advanced.coherent*
* On Linux/NVIDIA: From "Not supported" to "Passed"
Bug: angleproject:42262258
Change-Id: I7e0e43bdc71524eec111c2d3b024fe73c9795e55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634381
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05801537
|
2024-06-13T13:35:05
|
|
Vulkan: Add feature for coherent blend advanced op
This change will add features that will be used in
the follow-up CL.
* Added the following feature to the Vulkan backend:
* supports_blend_operation_advanced_coherent
* Added the following feature to the renderer:
* mBlendOperationAdvancedFeatures
* It will be used to query advancedBlendCoherentOperations
from the physical device.
Bug: angleproject:42262258
Change-Id: I2949002d053700e89d92358d6e7c80c714ea36ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634380
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|