|
7280d3d1
|
2025-10-14T09:56:58
|
|
Turn off preferSubmitAtFBOBoundary and add early submit logic
Disabling preferSubmitAtFBOBoundary for MALI GPUs and submit pending
commands at the draw call time if the number of write-commands in the
current render pass reaches a threshold to avoid delaying
the submission too much.
Bug: angleproject:447444701
Change-Id: I413a4beb7147afd4f064286433a76014b19a49c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6994438
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Sean Feng <Sean.Feng@arm.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c1ae67dc
|
2025-08-18T17:26:21
|
|
cl/vk: Introduce Int64 Atomic support
Checks for VK_KHR_shader_atomic_int64 and
enables/reports the following if supported:
cl_khr_int64_base_atomics
cl_khr_int64_extended_atomics
Bug: angleproject:447192709
Change-Id: I47102efd3e269d518558993f6068bfc4f9dd79b6
Signed-off-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981099
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
80130da0
|
2025-10-01T14:53:23
|
|
Vulkan: Enable recycleVkEvent on swiftshader
Given that no GPU has reported that vkCreateEvent() + vkDestroyEvent()
has more overhead than vkCmdResetEvent(), we will keep the
recycleVkEvent feature flag off on all major hardware.
Enable the recycleVkEvent feature on swiftshader so we can
test the VkEvent recycle code path.
Bug: b/440066521
Change-Id: I0eb30ea9a01e287664effa33cef5227f9f438a56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004937
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ea35293a
|
2025-04-14T15:52:02
|
|
CL/Vulkan: Dump commandstream on request
Dump the command stream to stdout when feature flag
`debug_cl_dump_command_stream` is enabled.
Bug: angleproject:446112158
Change-Id: I58ea7eec4c842aee382568c7f41c99a242d29680
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6975004
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
b276d1f8
|
2025-10-03T08:56:54
|
|
Vulkan: Add supportShaderPixelLocalStorageAngle feature
Don't expose GL_ANGLE_shader_pixel_local_storage extension for Samsung
Bug: angleproject:386749841
Change-Id: Ia22a6e8d8625db2abc7e7e9816ac34b7a7dec92c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7006000
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
51fcd399
|
2025-10-03T10:39:14
|
|
Revert "Vulkan: Suppress buggy VU"
This reverts commit a83d674ed6b9096a5c5b1f3e3924aaa340bd3867.
Reason for revert: Buggy VU was disabled in VVL
Original change's description:
> Vulkan: Suppress buggy VU
>
> Bug: angleproject:448630613
> Change-Id: Ibccc4fbbe6257a3b96f5ccb112fec866cc2c3efe
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7003828
> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:448630613
Change-Id: I19ebc3cb83d9ceefcfbbb92df0a0e1bde4ff7a36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7007012
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7b4ff0b2
|
2025-10-01T16:30:47
|
|
Vulkan: Updates to onFramebufferBoundary
1. Rename to the more appropriate onFrameBoundary
2. Add method to renderer for better encapsulation
3. When being moved to the background some apps unMakeCurrent
the contexts and exit without calling other frame boundary
APIs. Handle such usecases by treating
ContextVk::onUnMakeCurrent(...) as a frame boundary
Bug: angleproject:386749841
Change-Id: Ic2a8ecb631d132d99f8508f45f3b454c49f6624e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004936
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b152eb30
|
2025-09-12T21:20:08
|
|
Vulkan: Refine conditions to force submit immutable textures
To minimize unnecessary submissions, make the activation
conditions for forceSubmitImmutableTextureUpdates feature
more precise.
This also enables the feature for Samsung devices.
Bug: b/444728814
Change-Id: Idaf6b36596752f55ec6ba0ca1e4ff516f3a280df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6945861
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
a83d674e
|
2025-10-01T12:42:48
|
|
Vulkan: Suppress buggy VU
Bug: angleproject:448630613
Change-Id: Ibccc4fbbe6257a3b96f5ccb112fec866cc2c3efe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7003828
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
ba5db43c
|
2025-09-27T08:51:25
|
|
Vulkan: support MESA PanVK compatibility
Naming wise:
1. isARMProprietary: ARM Mali DDK
2. isMesaPanVK: MESA PanVK
Compatibility wise:
1. No behavior change for ARM proprietary driver.
2. Gone through each isARM check and update to isARMProprietary for
those not applicable to MESA PanVK.
3. Fixed some isMaliJobManagerBasedGPU check which assumes the ARM
prorietary driver.
4. Enabled doubleDepthBiasConstantFactor for MESA PanVK.
Bug: b/399142853
Bug: b/447647367
Test: no unexpected regressions in dEQP-EGL.* and dEQP-GLES*
Test: dEQP-GLES3.functional.polygon_offset.* pass
Change-Id: I8f830632b4caf2e63a3ae87e15825e21476bf595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6992252
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
020c8ea3
|
2025-09-26T12:35:25
|
|
Disable convertLowpAndMediumpFloatUniformsTo16Bits on non-ARM devices
It is unknown if other GPUs need this explicitly 32-bit to 16-bit
casts, and the performance impact of this feature needs to be verified
across different GPUs.
Bug: b/405795981
Change-Id: I1b450aea58d6f4a20eddac5c9edceb4ebac4d999
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6990532
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6218bbd4
|
2025-09-26T12:20:39
|
|
Vulkan: Make min submit command count dynamic
* Turned the constant submit count threshold to a variable that can
be set for different devices independently.
* Added feature flag to enable forcing submission for certain GL
commands, such as Clear and Invalidate.
* If disabled, it would treat all commands the same and submit at
the count threshold without exception.
Bug: b/422507974
Change-Id: Ib13d36adfdcf75aa865dafadc279287f4a4bd1c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6990531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1f40285c
|
2025-09-24T11:54:44
|
|
Vulkan: Bypass buffer for VA if Bind*Buffers2
Due to added support for BindVertexBuffers2 and BindIndexBuffer2,
there would be no need to allocate a buffer for vertex arrays via
getBufferForVertexArray() if the related features are supported. It
should be possible to directly reference the original buffer and the
proper offset instead without errors.
* The buffer handles and offsets in VertexArrayVk now get the original
buffer handle and offset instead of using getBufferForVertexArray().
* getBufferForVertexArray() will now be used only when the following
feature is disabled:
* useVertexInputBindingStrideDynamicState
* (which is used as condition for vkCmdBindVertexBuffers2())
* Renamed the function for index buffer: getIndexBufferForVertexArray()
This will be used when the following feature is disabled:
* supportsMaintenance5
* (which is used as condition for vkCmdBindIndexBuffer2()))
* Moved the rest of the code in getBufferForVertexArray() to ~Impl(),
which is used by both the functions above.
* Removed redundant condition from the vertex input binding stride
dynamic state feature.
Bug: chromium:40059200
Bug: angleproject:394337110
Change-Id: I665611f92058048a9778aa4b823fabfad7c96c84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6980316
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
24fdc63a
|
2025-09-24T11:52:30
|
|
Vulkan: Disable recycleVkEvent
Until we figure out whats causing VkEvent leak, disable the
recycleVkEvent feature for now.
Bug: b/440066521
Change-Id: I1b56554e8986b7113b12280d30cce2aae54b9589
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981088
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
dd51c3e5
|
2025-09-16T00:03:20
|
|
Vulkan: Expand usage of BindVertexBuffers2
* bindVertexBuffers2() can now be used when vertex input dynamic
state is enabled.
* Since dynamic vertex input already sets the strides, there
is no need to add the strides to bindVertexBuffers2() anymore
and passing in nullptr should work.
* Added the following token: BindVertexBuffers2NoStride
* This is used to avoid the condition check overhead for the
draw calls taking this code path.
* Removed the condition of vertex input dynamic state from using
vertex input binding stride.
* The following pipeline flags can now be added to a pipeline
object at the same time:
* VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE
* VK_DYNAMIC_STATE_VERTEX_INPUT_EXT
* Changed the condition of positive vertex attribute count to any
vertex attributes to add input binding stride flag to the pipeline.
Bug: chromium:40059200
Change-Id: Id3be458580da0ca46db554bf292f240dae4d5097
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6944912
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
a8ed5bd1
|
2025-09-20T16:38:48
|
|
Vulkan: Disable convertLowpAndMediumpFloatUniformsTo16Bits for Samsung
Bug: angleproject:405795981
Change-Id: Ib71a5121ab71df57cd30ece8698694f11f91c563
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6970446
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
50927761
|
2025-09-19T14:45:24
|
|
Vulkan: Add externallySynchronizePipelineCacheAccess feature
Acquire renderer's pipeline cache mutex IFF
externallySynchronizePipelineCacheAccess feature is enabled
Bug: angleproject:386749841
Bug: angleproject:445240187
Change-Id: I91804e2713944768a5379adc3113ce7632a17111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6969910
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
61c452ba
|
2025-09-03T17:23:37
|
|
Vulkan: Disable supportsShaderFramebufferFetch for Samsung
Disable framebuffer fetch extensions for Samsung.
Bug: angleproject:445083429
Change-Id: I89828b148ea1ac8ad2d59626e15d5f9358fe5b3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6962954
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
f28c8029
|
2025-09-17T16:02:40
|
|
Re-enable the feature that transforms float uniforms to 16 bits
Re-enable the feature after suppressing the WebGL conformance tests:
https://chromium-review.googlesource.com/c/chromium/src/+/6937051.
Temporary disable this feature on PowerVR while the bugs are
under investigations.
Bug: angleproject:405795981
Bug: angleproject:443302350
Bug: angleproject:443302625
Change-Id: I8263bd6fcf120b7bed8211f0439962be40afd992
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6962958
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
8e7fa804
|
2025-09-15T14:06:38
|
|
Check shaderFloat16 feature support for enabling Float16 in Spirv
According to VK_KHR_shader_float16_int8 device extension spec:
"It introduces two new optional features shaderFloat16 and shaderInt8
which directly map to the Float16 and the Int8 SPIR-V capabilities."
We should check if the shaderFloat16 is supported before we generate
SPIRV that declares SPIR-V Capability Float16
Bug: angleproject:405795981
Change-Id: Ied7edfbed81ed5b862907c9bb1e772cb43acdb8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6919673
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Xiang Wang <xwxw@google.com>
|
|
f0370a41
|
2025-09-09T19:44:57
|
|
Vulkan: Use the GENERAL layout if VK_KHR_unified_image_layouts
This lets ANGLE simplify synchronization by generally being able to use
memory barriers instead of listing image barriers separately. Although
the more specific access masks from VK_KHR_synchronization2 is possibly
necessary for some hardware to work optimally
(VK_ACCESS_2_SHADER_SAMPLED_READ_BIT in particular).
It also lets ANGLE optimize a very specific scenario. Take an image
used in the following scenario:
1. Copy to image in a transfer operation
2. Sample from image in the fragment shader of render pass 1
3. Sample from image in the vertex shader of shader pass 2
When GENERAL is not used, there's a layout transition between steps 1
and 2, changing the layout from TRANSFER_DST to
SHADER_READ_ONLY_OPTIMAL (with dst stage == fragment shader). Later, at
step 3, we need to make sure the vertex shader at least waits for this
layout transition to finish... a dependency which is not expressible in
Vulkan:
* There cannot be a dependency to step 1, because the layout transition
is not necessarily done
* There is no stage mask that signifies the end of a layout transition.
Without GENERAL, ANGLE has no choice but to issue a fragment->vertex
dependency before step 3, serializing render pass 2's vertex pass with
render pass 1's fragment pass on tilers.
When using the GENERAL layout instead, step 3 can issue a
transfer->vertex memory barrier, including using a VkEvent,
parallelizing the two render passes.
The above optimization is possible after this change, but not yet
implemented.
Bug: angleproject:422982681
Change-Id: Ieaae6f92b8b7d1e9c80c810a759c64b1e81d2dc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6936485
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
60f694c6
|
2025-09-10T11:55:58
|
|
Vulkan: Bugfixes in preferGlobalPipelineCache
1. per-program pipeline cache was being unconditionally initialized
during warmup
2. mergeProgramPipelineCachesToGlobalCache should be disabled when
preferGlobalPipelineCache feature is enabled
Also, prefer use of global pipeline cache for Samsung.
Bug: angleproject:386749841
Change-Id: Ifd66ef8c6d10b8a5ffd3c002239e8747f469ba47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6936119
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
66ca0f48
|
2025-09-11T11:41:39
|
|
Vulkan: Extend BGR565 preference to Mesa
* Updated the availability of preferBGR565ToRGB565.
Bug: b/409867243
Change-Id: Iecda303bb13c2d99a78d326a192759640008eeb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6937661
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f27d1719
|
2025-07-29T16:41:27
|
|
Vulkan: Prefer BGR565 for RGB565 if enabled
Some platforms exhibit better performance when using BGR565 instead
of RGB565, including when loading buffer data to the image. This change
allows such platforms to use a BGR565 image in the backend instead of
an RGB565 image when using Vulkan, when the corresponding flag is
enabled: preferBGR565ToRGB565
* Updated the formats to include B5G6R5 as a fallback to R5G6B5, which
would be triggered when the corresponding feature flag is enabled.
* The only exception would be when the surface is being initialized
as R5G6B5.
* In addition, this format will not be subject to forced format
fallback.
* Added VVL skip that specifically does not allow undefined format for
border color for certain formats, including B5G6R5 if flag enabled.
* Some suites with RGB565 tests will be run with preferBGR565ToRGB565
enabled on SwS to provide better test coverage.
Bug: b/409867243
Change-Id: Ibb8c71b024ba318862f62ded8abd2d07835e8a40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6799253
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
5c1ba222
|
2025-08-22T14:59:58
|
|
Vulkan: Add feature flag preferBGR565ToRGB565
* This flag will let certain platforms to prefer using BGR565 instead
of using RGB565 for better performance in a follow-up change.
Bug: b/409867243
Change-Id: If89eea1e801ca9d1c10021213862e967231a7343
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876528
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
166c9e23
|
2025-09-05T12:52:38
|
|
Vulkan: Separate barrier data into its file
vk::Renderer includes a modified copy of kImageMemoryBarrierData. When
using VK_KHR_unified_image_layouts, even more of this data is modified
based on device features. Leaving kImageMemoryBarrierData in
vk_helpers.cpp runs the risk that it's accessed directly instead of
using the copy in vk::Renderer.
Bug: angleproject:422982681
Change-Id: I7e288ef0ac519c53842214fe934ba7b2474e1f9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6927350
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d1e4e16
|
2025-09-08T12:14:57
|
|
Manual Roll vulkan-deps from 5107e9eef1bc to af8c2ea541d3
https://chromium.googlesource.com/vulkan-deps.git/+log/5107e9eef1bc..af8c2ea541d3
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/f6940d2b8a9dc6de805c48eb3e8bafd65118b25c..337fdb6a284fe7f7e374a14271f8e20e579f3263
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/dc22b23433ab3a390b4c75710836691fdb6f11f4..af5376ef7061716a95ab2bc321aeae4f77958a28
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,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: angleproject:443133082
Tbr: yuxinhu@google.com
Change-Id: I577cc5555b99aa1f903313a83d96ed755634dd79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923245
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e9a30817
|
2024-10-28T14:54:38
|
|
Vulkan: Support vulkan physical addr in vk_helpers
- Add extraAllocationInfo for physical addressing
in AllocateBufferMemory/AllocateImageMemory
- Add getDeviceAddress which calls vkGetBufferDeviceAddressKHR
API to get device address
In CL, All the physical addressing supports are enabled when the
runtime flag "supportsPhysicalAddressing" is set.
Bug: angleproject:442950569
Change-Id: I1658062b3f031b3d55923937947cece0c1b67d67
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916340
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
acb59de1
|
2024-10-26T13:13:34
|
|
Vulkan: Add VK_KHR_buffer_device_address feature
Add to check VK_KHR_buffer_device_address is supported to query a
64-bit buffer device address value for a buffer, which can be used to
access the buffer memory via the PhysicalStorageBuffer
Bug: angleproject:442950569
Change-Id: Ic86f448c1cb5cef40757406d0ce6259838f77fdb
Signed-off-by: hoonee.cho <hoonee.cho@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916339
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fee5826f
|
2025-09-05T11:23:23
|
|
Vulkan: Enable VK_KHR_unified_image_layouts
Functionality of the extension is not used by this change.
Bug: angleproject:422982681
Change-Id: I68c8b93e69eb47b1d4287edad105514edd36dfcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6918517
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
cb6b73d2
|
2025-09-05T10:37:28
|
|
Temporarily disable FP16 float uniform transform feature
Some webgl_conformance_vulkan_passthrough_tests are failing with the
shaders generating 16-bit for lower precision uniforms. Temporarily
disable the feature while investigating the root cause.
Bug: chromium:443182226
Bug: chromium:443182234
Bug: angleproject:405795981
Change-Id: I62850f5dc979912a0605edb1aea5b74774b4421d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6918101
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
1c275402
|
2025-09-04T12:38:29
|
|
Roll vulkan-deps from 8415cc875465 to 5107e9eef1bc (8 revisions)
* Skipped some WRITE-AFTER-READ hazards related to the following:
* vkCmdDraw() -> vkCmdCopyImageToBuffer()
* vkCmdDrawIndexed() -> vkCmdCopyImageToBuffer()
https://chromium.googlesource.com/vulkan-deps.git/+log/8415cc875465..5107e9eef1bc
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/3289b1d61b69a6c66c4b7cd2c6d3ab2a6df031e5..9d764997360b202d2ba7aaad9a401e57d8df56b3
https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/345804025b4cd32ff6e1959cc6c0280927c2e9dd..055b25c02fa80cdcca77fcf94ab64a02f02d9199
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/44cf554790020ee44355dde75f0aff79141cab3c..f6940d2b8a9dc6de805c48eb3e8bafd65118b25c
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/a528f95dc2f92bdd83c0c32efe2d13c806428c9d..34edde1191548c51cf4958f2dc6772bf7f76c8cd
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/54e4c34d401b5b4c5abc5dd04804f7b02a8bc0c0..dc22b23433ab3a390b4c75710836691fdb6f11f4
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: angleproject:443095908
Tbr: abdolrashidi@google.com
Change-Id: I305b9dc0089ac58be610b99cbf61112c33a03d7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916334
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c1cdc2b5
|
2025-08-22T15:23:58
|
|
Transform SPIRV to use 16-bit float for lower precision uniforms
This change adds a ShCompileOption flag transformFloatUniformTo16Bits.
The flag is turned on in vulkan backends where VK_KHR_16bit_storage
extension is supported, and uniformAndStorageBuffer16BitAccess feature
is supported. When the compiler flag is turned on, in the generated
SPIRV, float data types in mediump and lowp uniforms are transformed
from 32-bit to 16-bit. The 16-bit float uniform data is converted to
32-bit with OpFConvert instruction upon loading in SPIRV, this is to
minimize the changes in OutputSPIRV.cpp. The converted variable is
decorated with RelaxedPrecision, so that SPIRV compiler should be able
to treat the converted variable as 16 bits, and the hardware can
still benefit from reduced precision floats.
The frontend is also notified such SPIRV shader changes by setting
the isFloat16 bit in CollectVariables() step, and the frontend will
transform float uniform data from 32-bit to 16-bit before storing the
data into memory. That way, the uniform data that SPIRV shader reads
matches with the uniform data type transformed in the SPIRV shader.
This change also updates some test code to allow relative 2^-10
precision wiggle room for mediump uniform floats. This is valid
according to spec:
https://developer.arm.com/documentation/102502/0101/Shader-precision
Bug: angleproject:405795981
Bug: angleproject:440941211
Change-Id: I05db7f5ef744df513fbad87cfed8aa173890ec26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6851560
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
6888dfb1
|
2025-09-03T13:40:33
|
|
Vulkan: Fix missing vkGetImageSubresourceLayout2EXT
... with angle_shared_libvulkan=false
Bug: angleproject:352364583
Change-Id: I6c81aefc6b074d45103a514ddd6d55192c2f660b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6912583
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e842b5f8
|
2025-05-06T14:38:27
|
|
CL/Vulkan: Zero-copy support added for CL Buffers
- Used VK_EXT_external_memory_host and VK_KHR_external_memory extensions
- Added interfaces to CLBufferVk class for validating zero-copy ability
- Added logic in CLBufferVk::create to use zero-copy if eligible
- Added new HostExternalMemory class to provide utility functions
- Added VkPhysicalDeviceExternalMemoryHostPropertiesEXT for querying
Tests-Passing (having usage of CL_MEM_USE_HOST_PTR):
- ocl_cts.test_api
- ocl_cts.test_basic
- ocl_cts.test_buffers
- ocl_cts.test_mem_host_flags
Bug: angleproject:441471275
Change-Id: I296e709a4f67911dcd6d0ae89750e8e0262625f4
Signed-off-by: Shyam Manohar <s.manohar@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6892624
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
1ed999ea
|
2025-08-25T16:02:01
|
|
Vulkan: Move sampler cache to share group
The sampler cache (and the adjacent yuv-conversion-info cache) were in
vk::Renderer, but they were not thread safe.
Bug: angleproject:440364873
Change-Id: I2dc034f2db400f680ca91a9fde509d90f90c957e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6870736
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
cdf428a2
|
2025-04-01T10:24:08
|
|
CL/VK: Update Samsung preferred/native vec widths
Update CL_DEVICE_PREFERRED_VECTOR_WIDTH_* and
CL_DEVICE_NATIVE_VECTOR_WIDTH_* for Samsung.
The values may vary depending on the vendor.
Updating only the values for SAMSUNG here.
Bug: angleproject:406022413
Change-Id: Iad575298a11cfb41e620ab9cfd5f970eb6ea0b55
Signed-off-by: jh.eun <jh.eun@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6386421
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
25390156
|
2025-08-21T00:13:19
|
|
Suppress unsafe buffers on a file-by-file basis in src/ [1 of N]
In this CL, we suppress many files but stop short of actually
enabling the warning by not removing the line from the
unsafe_buffers_paths.txt file. That will happen in a follow-on
CL, along with resolving any stragglers missed here.
This is mostly a manual change so as to familiarize myself with
the kinds of issues faced by the Angle codebase when applying buffer
safety warnings.
-- Re-generate affected hashes.
-- Clang-format applied to all changed files.
-- Add a few missing .reserve() calls to vectors as noticed.
-- Fix some mismatches between file names and header comments.
-- Be more consistent with header comment format (blank lines and
trailing //-only lines when a filename comment adjoins license
boilerplate).
Bug: b/436880895
Change-Id: I3bde5cc2059acbe8345057289214f1a26f1c34aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6869022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fee2bf73
|
2025-08-25T15:54:50
|
|
Vulkan: Limit EGL_NV_context_priority_realtime to Android
Device creation fails on Linux when a REALTIME queue is requested,
likely due to permission issues.
Bug: angleproject:397474813
Change-Id: I0451db1dac9cbf2795439b251274f1a8057cbd6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6880530
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d65058be
|
2025-08-18T11:01:11
|
|
Vulkan: Add support for GL_EXT_fragment_shading_rate_primitive
Add support for built-in GL_EXT_fragment_shading_rate_primitive and
tests.
Bug: angleproject:397255625
Change-Id: I0f37a87a73e869a91e39402f01e53166b359ec3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6850353
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Panfeng Hou <panfeng.hou@arm.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
51cffa97
|
2025-08-13T14:23:51
|
|
Implement EGL_NV_context_priority_realtime
In this extension, new attribute value EGL_CONTEXT_PRIORITY_REALTIME_NV
is accepted for EGL_CONTEXT_PRIORITY_LEVEL_IMG. In ANGLE,
this extension should depend on VK_EXT_global_priority and
VK_EXT_global_priority_query. The implementation of creating device
queue is also modified for this new attribute value. New end2end
test is added to check if this new attribute works.
Bug: angleproject:397474813
Change-Id: I68316fe371f5a495dbc78b106fc89787be18e086
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6857673
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8ef76b6a
|
2025-08-04T12:34:17
|
|
CL/Vulkan: cl_khr_external_memory extension (pt.2)
- Make this extension visible if Vulkan implementation support
features supportsExternalMemoryFd and/or
supportsExternalMemoryDmaBuf
- Implemented APIs clEnqueueAcquireExternalMemObjectsKHR and
clEnqueueReleaseExternalMemObjectsKHR
- Updated clCreateBufferWithProperties to handle external memory
file descriptor.
Bug: angleproject:378017028
Change-Id: I1751982c8e9b2cd07b7e251cc54db5dcd1bcda20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6843980
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f83d739
|
2025-08-01T16:59:11
|
|
Expose VK_EXT_global_priority and VK_EXT_global_priority_query
To implement EGL_NV_context_priority_realtime,
VK_EXT_global_priority and VK_EXT_global_priority_query
should be exposed. With these extensions,
we can query supported global priority and set
global priority for the Vulkan queue.
Bug: angleproject:397474813
Change-Id: I83f9f19d46f3c81b02246aae2892f7a9c1a09d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6857671
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9034e29b
|
2025-08-14T13:25:39
|
|
Vulkan: add a feature flag controlling float uniforms 16-bit transform
Add a feature flag that will guard whether we want to transform
mediump / lowp float uniforms from 32-bit to 16-bit in SpirV.
The feature flag is enabled when VK_KHR_16bit_storage extension is
supported, and uniformAndStorageBuffer16BitAccess vulkan feature is
supported.
The feature flag is initialized to false in this change. It will be
turned on in a later change when it is being used.
Bug: angleproject:405795981
Change-Id: I37c77270fbd391cc97f58890065b66faf77766c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6852395
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
7ad67712
|
2025-08-13T16:33:03
|
|
CL/Vulkan: Enable cl_khr_integer_dot_product extension
- Enabled extension string and corresponding opencl_c features
- Updated packed_cl_enums.json with three new enums
- Enabled support for this extension in function clGetDeviceInfo
- Add support for CL_DEVICE_OPENCL_C_FEATURES API query through
clGetDeviceInfo corresponding integer_dot_product extension
- Updated vk_features.json with new ANGLE Feature
supports_shader_integer_dot_product
- The changes in autogen files are generated by running the
run_code_generation.py script
Tests-Passing:
ocl_cts: test_integer_ops integer_dot_product
ocl_cts: test_compiler features_macro
VK-GL-CTS:dEQP-VK.spirv_assembly.instruction.compute.opsdotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsdotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotaccsatkhr.*
Bug: angleproject:433980939
Change-Id: Iae7a7753d0556beeb85c254c61a37a0d047df058
Signed-off-by: Hareesh Karada <hareesh.k@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785089
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
316e6831
|
2025-08-08T14:14:20
|
|
Vulkan: Support KHR versions of surface/swapchain_maint1
They are straight promotions of the EXT versions of the extensions.
Bug: angleproject:430106352
Change-Id: I889dfda99d8ad35de1672914e7cc73b2879be6a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6832392
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bafe39e2
|
2025-07-14T16:07:51
|
|
Vulkan: Use BindIndexBuffer2 when available
This Vulkan API becomes available with VK_KHR_maintenance5. In
addition to the original args, it also takes the index buffer size.
* Added the necessary functions to use the following API:
vkCmdBindIndexBuffer2KHR()
* handleDirtyGraphicsIndexBuffer() now uses this API if maintenance5
is available.
Bug: angleproject:394337110
Change-Id: I9a650ac5a033b449da05e0c226e2cfb6df74a75c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6735725
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
2ef85c24
|
2025-07-09T17:13:52
|
|
Vulkan: Add support for GL_EXT_fragment_shading_rate
Add support for GL_EXT_fragment_shading_rate.
Bug: angleproject:420310117
Change-Id: I7b368afc45baf8551c222b2569991269117d385b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6726817
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Panfeng Hou <panfeng.hou@arm.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
fa90dac8
|
2025-07-30T14:04:58
|
|
Revert "Vulkan: Disable VK_EXT_host_image_copy on Fuchsia"
This reverts commit d62db89e1753ece99633143faf4c87b2ff23f96c.
Reason for revert: It's been years, hopefully VVL is updated by now.
Bug: angleproject:8341
Original change's description:
> Vulkan: Disable VK_EXT_host_image_copy on Fuchsia
>
> An old version of VVL is used, causing incorrect failures.
>
> Bug: angleproject:8341
> Change-Id: I0fc605616671343a49fed6ff02ecd67eea672dca
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4873440
> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:8341
Change-Id: Ia7a8875b955a120c80d59f2ae7566648e055eedc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6804001
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cd969c3e
|
2025-07-28T16:27:12
|
|
Vulkan: Disable clipCullDistance ext if GS/TS
The extension GL_EXT_clip_cull_distance also interacts with geometry
and tessellation shaders. These features are currently in development.
* Added temporary flag: supportsClipCullDistanceInGSAndTS
* Currently disabled by default
* clipCullDistanceEXT can only be enabled if this feature is enabled,
or if the device does not support geometry or tessellation shaders.
* After the features become available, this flag can be removed.
Bug: angleproject:42264006
Bug: b/415288635
Change-Id: Iac5c672fd980710519407c482bc95d2b0019aea2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6795025
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
214a48c4
|
2025-07-16T12:42:18
|
|
Vulkan: add support for yuv resolve with transient image
Add support for the YUV_target extension in cases where the
implementation supports VK_ANDROID_external_format_resolve without
supporting nullColorAttachmentWithExternalFormatResolve.
Bug: angleproject:386749841
Tests: ImageTest*YUV*
Change-Id: Iebcb4f843b962f3d0d2f4e42db479902b6c1f849
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6761834
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
9cd9a0d5
|
2025-07-18T10:28:12
|
|
Vulkan: Reformat VVL Error Message
Remove the following members from the SkippedSyncvalMessage struct:
const char *messageContents1
const char *messageContents2
Future VVL suppression message should use extraProperties list only.
Bug: angleproject:391284743
Change-Id: I72ebaf86da667967681318dd69a181cc685f0805
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6769428
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
03356f06
|
2025-07-10T19:21:04
|
|
Vulkan: Skip VK_KHR_maintenance9 warning
A warning has been added about behavior that will
change if VK_KHR_maintenance9 is enabled.
Since we can't make this change until drivers support
the feature, let's add warning that will fire when we
do decide to turn it on.
This CL:
- Adds a feature for maintenance9
- Adds a VVL skip if isn't enabled
- Updates our skip code to check for message IDs
Test: Traces
Bug: angleproject:429339330
Change-Id: I5763cbc5f343ef165ff8810b9b60b8c809075b8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6724905
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
68fa8169
|
2025-07-09T18:02:16
|
|
Vulkan: Reformat VVL error message
Remove the VVL that is no longer observed on bots.
Reformat the other VVL to use extraProperties only.
Bug: angleproject:40644740
Change-Id: I57da1259754d5eba18c8c11385872b3ec9527e09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6719618
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7b5a8096
|
2025-07-09T06:26:21
|
|
Vulkan: Enable varyingsRequireMatchingPrecisionInSpirv for Samsung
Bug: b/430501085
Change-Id: Iac5061c5d33642af1e53a990487833c26df45b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6717687
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9e000857
|
2025-02-04T16:12:47
|
|
Vulkan: Utilize VkBufferUsageFlags2 for bufferview
* Added the following struct to bufferview createInfo in case of
VK_KHR_maintenance5 support: VkBufferUsageFlags2CreateInfoKHR
* Limited VVL 08779 to platforms without KHR_maintenance5 support.
Bug: angleproject:394353300
Change-Id: I46beac693cda3216afc497c8ed74cbf51b72e549
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231512
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
10b7414f
|
2025-06-12T17:03:51
|
|
Vulkan: Do not skip VUID-vkQueueSubmit-pSignalSemaphores-00067
... when "VK_EXT_swapchain_maintenance1" is disabled.
Problem only happened in shared present mode and is now fixed by VVL:
69b41e6fbe16619526daa861444cbb3eb8fcedce
layers: Do not report in-use error for shared present mode
Bug: angleproject:408190758
Change-Id: I4453de01ee239a0cb4cfd0269adfcb283a00866b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6641915
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5d63c8d5
|
2025-06-11T13:01:25
|
|
Reformat VVL error message
Update the VVL error message to use the new format.
Remove the unused VVL error.
Bug: angleproject:42264926
Bug: angleproject:42263911
Bug: angleproject:42265079
Bug: angleproject:42264496
Change-Id: I151960942c1bbf346693f250ec57f01fa3432784
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6634225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c39f4a5c
|
2025-06-05T15:35:06
|
|
Vulkan: Update border color assignment for stencil
In texture border clamp, if the border color is assigned together
stencil mode (both using glTexParameter()), its red component is used
to set up a border color to be used in each backend:
* (Set up in AdjustBorderColor())
In the Vulkan backend, this is used when updating SamplerDesc, which
is then used later to set up the custom border color:
* (VkSamplerCustomBorderColorCreateInfoEXT)
According to the spec, in case of undefined format, integer border
color, and stencil image, the implementation is required to use either
the first or the second component of the custom color, although it is
recommended to use the first. However, at the moment, only the first
component is being populated, while using the second component is also
valid.
* Added feature: usesSecondComponentForStencilBorderColor
* Added bit to SamplerDesc: mUsesSecondComponentForStencil
* It is set based on the feature flag above and the texture format.
* When setting the custom border color info, the second component will
be used based on the above flag.
* Added test suites to test this on ES31 and ES32:
TextureBorderClampTestES3*.CustomBorderColorWithStencil*
* Updated capture params for glTexParameterIuivEXT().
* Suppressed the ES32 version for the following:
* P4
* Linux/NVIDIA (due to out-of-date driver)
Bug: b/390710636
Change-Id: Ie50c19e8ea66da40dc8b8db49d7e622a582637a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6626416
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
e877e655
|
2025-06-02T17:02:36
|
|
Reland "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904"
This reverts commit 8c75960e034a09bad67ece528c99e202bed69b64.
Reason for revert: retry dry-run without revert
Bug: b/303441816
Original change's description:
> Revert "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904"
>
> This reverts commit f8f9847771fa86589da29527c806d89e6f92c7a9.
> As the issue is no longer reproducible on a P25 device with
> latest ANGLE.
>
> Bug: b/303441816
> Change-Id: Iae86b3f4e30609cd5b1aedb4293192b06be71919
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614157
> Commit-Queue: Xiang Wang <xwxw@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Bug: b/303441816
Change-Id: Ib447a5af33bd17f891a8db99766fc8f275162a6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614164
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Xiang Wang <xwxw@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
8c75960e
|
2025-05-30T16:06:54
|
|
Revert "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904"
This reverts commit f8f9847771fa86589da29527c806d89e6f92c7a9.
As the issue is no longer reproducible on a P25 device with
latest ANGLE.
Bug: b/303441816
Change-Id: Iae86b3f4e30609cd5b1aedb4293192b06be71919
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614157
Commit-Queue: Xiang Wang <xwxw@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b1359277
|
2025-05-14T22:53:36
|
|
Declare lavapipe device type
Fixes 'Unknown GPU architecture' warning when using
lavapipe driver with guest side ANGLE enabled on the
emulators. Also treats lavapipe similar to swiftshader
for test coverage purposes.
Bug: b/417791087
Test: run goldfish emulator with '-gpu lavapipe'
Change-Id: I40002ce191aa49f08d887c066321c4d0c27f2738
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6547537
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f000acf8
|
2025-05-28T12:37:20
|
|
Vulkan: Remove suppressed VVL errors that no longer applies on bots
All the devices on bots support VK_ATTACHMENT_STORE_OP_NONE.
To pass the bot, we no longer need to suppress the VVL errors that
only occur on devices where VK_ATTACHMENT_STORE_OP_NONE is not
supported. Remove the error messages from the suppression list.
Bug: angleproject:42264496
Bug: angleproject:42265159
Change-Id: I47bfcb6cff77ae68b1755e8e0105411f31f713e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6598217
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ef29d42e
|
2025-05-22T15:52:49
|
|
Support ASTC decode mode extensions in ANGLE
Added support for GL_EXT_texture_compression_astc_decode_mode and
GL_EXT_texture_compression_astc_decode_mode_rgb9e5 in ANGLE. Also added
corresponding end-to-end tests for ASTC decode mode queries, including
ASTC decode mode queries and rendering with ASTC texture formats with
different decode modes on GL_TEXTURE_2D works.
Bug: angleproject:419403188
Change-Id: I0f2dced8468c4e25597740d1de346b2f699bb81e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575285
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
eafcbbf9
|
2025-05-27T11:24:17
|
|
Vulkan: Reformat VVL error message
Remove the VVL skip messages that no longer apply.
Set the messageContents1 and messageContents2 to nullptr for ease of
clean up later.
Bug: angleproject:399191283
Change-Id: I6d4477a6c401e6b7d2915b1fc574413be31fdc9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594251
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
525757d6
|
2025-05-22T16:32:32
|
|
Vulkan: Reformat VVL Error Message
Change the error message to use the extraProperties field.
Set the messageContents1 and messageContents2 to nullptr for ease
of clean up later.
Bug: angleproject:394598470
Change-Id: I0b7aec0b7e9a6e5206c89caae712e76db3338c4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581371
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b4d39a07
|
2025-05-19T11:07:08
|
|
Reformat VVL Error Message
Tests failed in this manual roll
https://chromium-review.googlesource.com/c/angle/angle/+/5689521
no longer runs into the SYNC-HAZARD-WRITE-AFTER-WRITE VVL error.
Remove the VVL error from the skipped VVL error list.
Bug: angleproject:352094384
Change-Id: I8b0a4baebd7276fc6d42e0357a3b6f49adb0b4f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6564666
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e6231b0f
|
2025-05-16T10:29:46
|
|
Reformat VVL Error Message
catalyst_black trace no longer runs into the
SYNC-HAZARD-WRITE-AFTER-READ VVL error mentioned in
http://anglebug.com/42266390.
Remove the VVL error from the skipped error list.
Bug: angleproject:42266390
Change-Id: I7e3055e61632e1de42dc24233724f73beefef653
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557942
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
b74a4714
|
2025-05-15T10:24:41
|
|
Reformat VVL Error Message
diablo_immortal trace on swiftshader no longer runs into the
SYNC-HAZARD-WRITE-AFTER-READ error mentioned in b/42266309.
Remove the VVL error from the VVL error skip lists.
Bug: angleproject:42266309
Change-Id: I53a5377ea26541a37dc251717d3f2d08f553a3a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6551848
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
6ba47bed
|
2025-05-13T12:44:06
|
|
Vulkan: Use GS input prim type for warmup pipeline
For graphics pipeline creation, the primitive topology should be set
in the input assembly state create info (unless for dynamic state).
This can come from the primitive mode in ProgramExecutableVk
(prepareForWarmUpPipelineCache()). Currently, the patch mode is used
if there is a tessellation shader, and triangle strip otherwise.
However, if there is a geometry shader without tessellation, this
can lead to a VVL error on certain platforms if the primitive mode for
the pipeline does not match the input primitive type for the geometry
shader.
* Updated the primitive mode in the above function for the case of
geometry shader without tessellation shaders, to be set to the input
primitive type of the GS.
* This will be used later for graphics pipeline initialization
for the input assembly state info (in case of vertex input).
* (GraphicsPipelineDesc::initializePipeline())
* Removed the following VVL suppression:
VUID-VkGraphicsPipelineCreateInfo-pStages-00738
Bug: angleproject:303219657
Change-Id: I8d804fd87438033071261a5002a4155e6d62d27c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6541872
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74bf9527
|
2025-05-14T13:52:24
|
|
Reformat VVL Error Message
diablo_immortal trace on swiftshader no longer runs into the
SYNC-HAZARD-WRITE-AFTER-WRITE VVL error mentioned in b/42266309.
Remove the VVL error from the VVL error skip lists.
The trace does run into a different SYNC-HAZARD-WRITE-AFTER-WRITE
error and another SYNC-HAZARD-READ-AFTER-WRITE error, which are already
covered by two existing entries in the VVL error skip lists, and this
change updates the comments accordingly.
Bug: angleproject:42266309
Change-Id: I3466d8d8320750c7edef52c6629fb2dd377da284
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6548199
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e2352b29
|
2025-05-12T10:55:39
|
|
Reformat VVL Error Message
TraceTest.life_is_strange no longer runs into below VVL error:
{"SYNC-HAZARD-READ-AFTER-WRITE",
"type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, "
"imageLayout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",
"usage: SYNC_FRAGMENT_SHADER_SHADER_"},
Remove the VVL error from the skipped message list.
Bug: angleproject:42266180
Change-Id: Iddaea23b3afd8bb6238caa6aaadc49eb8469da51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534653
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
db33baf4
|
2025-05-09T14:13:08
|
|
Reformat VVL Error Message
life_is_strange no longer runs into the SYNC-HAZARD-WRITE-AFTER-READ
VVL error it used to, remove the VVL from the skipped VVL entries.
The trace does run into another VVL error on Linux AMD GPU, update the
comment.
Bug: angleproject:42266180
Change-Id: I6010ca1540e1d8774992173c853b904c0b3bd117
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534138
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b729fb74
|
2025-05-08T11:35:46
|
|
Reformat VVL Error Message
Test Texture2DTest.UploadThenVSThenNewRPThenFS/ES2_Vulkan
no longer runs into the VVL error. Remove the VVL error from
the skipped VVL message list.
Bug: angleproject:42265925
Change-Id: I5d854b8b091847f136c8e57620f8dd8c72d59503
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6525049
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
16b2bf5e
|
2025-05-06T16:23:24
|
|
Vulkan: Only expose ASTC HDR if 3D textures supported
Not all hardware supports ASTC HDR for 3D textures.
This CL adds a check for each ASTC HDR format, querying the driver
for 3D support, and tracking it as a feature. We use that feature
when deciding to expose GL_KHR_texture_compression_astc_hdr.
Test: dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba
Bug: b/407634958, b/416095435
Change-Id: Iaa6f26e247c7e6c7451f3d4eb8dd7175509bf45f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6515816
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
5c441a53
|
2025-05-06T13:00:32
|
|
Vulkan: Prefer MSRTSS for QCOM devices
The feature flag `preferMSRTSSFlagByDefault` was originally added
to avoid allocating extra memory if the images are created with the
MSRTSS flag by default. If it is disabled, the image will be recreated
with the said flag only if it bound to an MSRTT framebuffer.
* preferMSRTSSFlagByDefault is now enabled for QCOM driver versions
beyond 0777.0.
Bug: b/329911999
Change-Id: Iea72f864eac5ecfa97b5c99de5bd66ef09c54c0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6516037
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fcfc9760
|
2025-05-06T11:26:40
|
|
Reformat VVL error message
The test
VulkanPerformanceCounterTest_ES31.TextureSampleByDrawDispatchDraw
no longer runs into the VVL error it used to have. Remove the VVL error
from the skipped VVL error list.
Bug: angleproject:42265504
Change-Id: I8eff929524b3e1bd015d96db2cc45b2c8f331170
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514411
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
7447e8ac
|
2025-05-06T10:33:47
|
|
Vulkan: Driver workarounds on Qualcomm
Dynamic rendering is disabled on 512.800 due to crashes on some devices.
Imageless framebuffers are disabled on 512.805, suspecting cause of
crash on some other devices.
Bug: chromium:415738891
Bug: chromium:415968761
Change-Id: I71f533c7954b628ce897ed1dac478aed119658e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6512663
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c6e0448b
|
2025-05-05T10:49:32
|
|
Reformat VVL error message
The SYNC-HAZARD-WRITE-AFTER-READ VVL error is no longer observed
on TraceTest.special_forces_group_2, removed the error message from
skipped VVL error list.
The TraceTest.special_forces_group_2 now runs into a different
SYNC-HAZARD-READ-AFTER-WRITE VVL error, on Linux AMD GPU. An existing
entry in the skipped VVL error list already covers this error message.
Reformat that entry by adding the extraProperties, and changing the
messageContents1/messageContents2 fields to nullptr for ease of clean
up later.
Bug: angleproject:42264123
Bug: angleproject:397775556
Change-Id: I1681cd7f76dd2090e78584b08c25224d5b05d963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514289
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ce795fa8
|
2025-04-28T15:31:25
|
|
Reformat VVL error message
Set messageContents1 and messageContents2 fields to nullptr,
for ease of clean-up in follow-up changes.
Make the extra properties fields more specific.
Bug: angleproject:42265363
Bug: angleproject:415382790
Bug: angleproject:415383266
Change-Id: I032bc82c6aeb16281c868778db827318fa833005
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496650
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
18ec8824
|
2025-05-02T12:42:26
|
|
Vulkan: Exclude RADV from global cache preference
* Added exception for AMD/RADV machines from the following flag:
preferGlobalPipelineCache
* (Due to no information regarding the effect of this flag on
those platforms)
Bug: b/411442610
Change-Id: Ifd9e2fe02e488d51cbb9e070106e86ac21e8533d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6509821
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
16e0dfd9
|
2025-03-20T10:59:26
|
|
Vulkan: Add feature flag to recycle VkEvent
This CL adds a feature flag to enable/disable the VkEvent recycling.
Given ARM prefers taking CPU overhead of creating and destroying VkEvent
when last reference count to VkEvent goes away instead of the extra GPU
overhead comes with vkCmdResetEvents, VkEvent recycling is disabled on
ARM.
Bug: angleproject:409441956
Change-Id: I288be6f7cfcbc4dd9c4701d20fba44349f25befc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6376784
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a3b20796
|
2025-04-25T13:12:08
|
|
Vulkan: Add flag to prefer renderer pipeline cache
* Added the following feature: preferGlobalPipelineCache
* The renderer's pipeline cache will be used to create pipelines,
including for warm-up.
* mPipelineCache in the program is not saved when this flag is
enabled.
* Currently enabled for NVIDIA and AMD.
* Impact on captured trace (w/ compiling inactive shaders)
* Decrease in peak system memory usage on Windows/NVIDIA:
* ~7600 MB -> ~3900 MB
* Decrease in peak RES memory usage on Linux/NVIDIA:
* ~7100 MB -> ~3600 MB
Bug: b/411442610
Change-Id: I04929569f0f8d59a77c52505072faa0244ef1393
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6495155
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9bcfb38f
|
2025-04-30T23:12:19
|
|
Vulkan: Disable MSRTSS on buggy qualcomm drivers
Bug: chromium:413427770
Change-Id: I62499c3aa04f3786a0deb6afcaafb7976f2a6446
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6501621
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e5680ba6
|
2025-04-14T17:43:07
|
|
Fix mInFlightCommands.empty() assert in CommandQueue destroy
When initialize a higher priority shared Context, ANGLE internal call
updateContextsPriority to submit previously flushed commands. This
submission is not tracked by any Context. Add
Renderer::mSubmittedResourceUse to record submitted queue serials not
belonging to any Context to fix the assertion.
Bug: angleproject:410996556
Change-Id: I7a91e47c0233832b8806637f295dffd1ff54f729
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6458623
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Neil Zhang <Neil.Zhang@arm.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d392eeae
|
2025-04-22T10:54:13
|
|
Vulkan: Force host-image-copy for LUMA textures on ARM
Bug: angleproject:42266771
Change-Id: I79a8fe14ba389195d5846261752be847bc13bcf4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6479371
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
691140da
|
2025-04-22T21:05:44
|
|
Vulkan: Do not skip VUID-vkQueueSubmit-pSignalSemaphores-00067
... when "VK_EXT_swapchain_maintenance1" is enabled.
Original problem is a VVL bug, introduced in:
62e9314e2eb9c58af42f6f1b613d200d5362598d
layers: Track semaphore is in use by swapchain
It was later partially fixed in:
88934ae6acf0c8b8ae169df9607e779ac4a70239
layers: Fix waiting on present fence did not have effect
Bug is only fixed when using present fences (when
"VK_EXT_swapchain_maintenance1" is enabled).
Without present fences, VUID error still prints the following:
Swapchain image 0 was presented but not re-acquired, so VkSemaphore
0x41c700000041c7 may still be in use and cannot be safely reused with
image index 0.
a) Use a separate semaphore per swapchain image. Index these
semaphores using the index of the acquired image.
Since problem only happens in a shared present mode, re-acquiring the
image causing "VUID-vkAcquireNextImageKHR-surface-07783". It is also
unclear from the Vulkan spec if the image may be re-acquired in shared
present mode, but it is currently not necessary.
When not using present fences, ANGLE tracks present semaphores by
attaching submit serial to the previous present operation when same
image is presented. This guarantees to use more than one present
semaphore (in a shared present mode) and not to reuse semaphore with
signal operation pending. This is more strict synchronization than what
is suggested by the VUID error in the item (a).
However, it is debatable if this is ANGLE's or VVL error. If it is not
a VVL error, it at least should provide correct message of how to fix
the problem in case of a shared present mode. Theoretically, ANGLE may
fix this error by only using present semaphore for the initial present,
and skip it for all subsequent present operations, since image is
already shared with the presentation engine and present operation is
only used for notification purposes.
Bug: angleproject:408190758
Change-Id: Id0dc3c0efcba72e844ba6b2c241d0076f70fcd51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6480175
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f355e2b3
|
2025-04-15T18:58:25
|
|
Vulkan: Remove preferDriverUniformOverSpecConst
This was practically true for every vendor on Android (where rotation
matters). For Qualcomm, it was also true due to a bug in version
checking and didn't seem to be causing any concerns. Where pre-rotation
is supported, it is better to enable this feature to avoid excessive
pipeline creation.
This change removes the feature and makes sure ANGLE always uses
uniforms for rotation instead of spec consts. While technically this
may have an adverse effect on platforms that never need pre-rotation,
the ability is retained for all vendors since pre-rotation is finding
its way into more platforms and would likely eventually be needed
everywhere anyway.
Bug: angleproject:42265878
Bug: angleproject:42262166
Change-Id: I4b64c04da46db08cfdd44b60789b66d93d8e8b17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6459025
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a9f2f87f
|
2025-04-15T13:46:34
|
|
Vulkan: Update version macros
* Updated the deprecated version macros
* VK_VERSION_MAJOR -> VK_API_VERSION_MAJOR
* VK_VERSION_MINOR -> VK_API_VERSION_MINOR
* VK_VERSION_PATCH -> VK_API_VERSION_PATCH
* VK_MAKE_VERSION -> VK_MAKE_API_VERSION
* Added a separate case for QCOM drivers in getVersionString().
* The major version is now OR-ed with 512.
* (New drivers seems to have a major version of 512, which falls
not within the major field, but the variant field, when using
the VK_API_VERSION_x macros.)
Bug: angleproject:42267006
Change-Id: Ic9b761d182ff49c3ede43c7bd14f366f945fbf36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6460682
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
49d0a332
|
2025-04-08T16:07:17
|
|
Vulkan: Remove ring buffer allocators
* Removed the ring buffer allocator functionality from ANGLE:
angle::RingBufferAllocator
* Also removed the related common files.
* (Pool allocators will be used at all times.)
* Removed the placeholder functions from the pool allocator.
* Removed the following BUILD flag:
angle_enable_vulkan_shared_ring_buffer_cmd_alloc
* Removed redundant line from ContextVk.
Bug: b/410036490
Change-Id: I368fb93a66ddfd192018b09f65004a32339abd5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6442640
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ac8607a9
|
2025-03-27T16:46:21
|
|
Vulkan: Disable graphics pipeline on ARM due to performance loss
ARM is investigating on Graphics Pipeline Library(GPL) on contents
whose performance loss is unacceptable. Therefore, it's recommended
to disable GPL until the problematic area gets fixed and the final
performance data is acceptable.
Bug: angleproject:404581992
Change-Id: I2bcb5f8bca3d64be0e947d7262a615ef867532ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400174
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1c0bcb06
|
2025-04-08T18:42:43
|
|
Reformat VVL error
angleproject:42265363:
dead_by_daylight hits the VVL error covered by another
entry in the skip list. Move the dead_by_daylight comment
above the other entry.
angleproject:42265427:
VVL error added to the skip list in this bug still
occurs on blade_and_soul_revolution and FramebufferFetch*
tests. Change the VVL error message to use the new formats:
remove the messageContents1 and messageContents2, and add more
extraProperties.
Bug: angleproject:42265363
Bug: angleproject:42265427
Change-Id: Ie913a7345b9f16580507894edd4a2befa29e9418
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6442305
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f798b0d2
|
2025-04-04T08:17:57
|
|
Vulkan: Remove enablePreRotateSurfaces feature
Removed to simplify the code and to avoid the problem for which
`presentSubOptimalReturnedOnTransformChange` feature was added.
Platforms without the per-rotation support always have
`VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR` as the `currentTransform`, so
the code will perform the same as when the feature was disabled.
Add `warmUpPreRotatePipelineVariations` to explicitly control
per-rotation pipeline warm up.
Bug: angleproject:42262166
Change-Id: I44f6c221c11105f01f62f62622987b1955bc58aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433586
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
b77f8af7
|
2025-04-02T19:01:48
|
|
Vulkan: Ignore SUBOPTIMAL on Android without pre-rotate
Android returns `VK_SUBOPTIMAL_KHR` when window orientation changes,
while ignores size changes. When "enablePreRotateSurfaces" is disabled,
each present will return `VK_SUBOPTIMAL_KHR` if `currentTransform` is
not `VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR`, causing swapchain recreate
on each swap. This behavior makes disabling "enablePreRotateSurfaces" on
Android worse than suboptimal.
New "presentSubOptimalReturnedOnTransformChange" feature is currently
enabled only on Android for the reason described above. It may be
enabled for other platforms in the future if required.
Change also improves error handling, by moving `deferAcquireNextImage()`
call right after the `queuePresent()`, before any other call that may
fail. This will avoid repeated present of the same image if something
fails after successful `queuePresent()` call.
The `checkForOutOfDateSwapchain()` and `computePresentOutOfDate()` was
combined into a single method to improve error handling and to simplify
the code.
Bug: angleproject:397848903
Bug: angleproject:42266082
Bug: angleproject:42262166
Change-Id: I7ba2389ad2ddafc0c77c3068cd85ac9b9251ccdd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6424753
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
127aec7e
|
2025-04-03T13:54:17
|
|
Vulkan: Remove VVL error skips that have been fixed
Test:
--gtest_filter='MemoryBarrierBufferTest.TransformFeedbackBitWriteThenCapture*'
Bug: angleproject:42266506
Change-Id: I0261a26157f6e44d25e6631faec96a55e470ea66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6431825
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b8151923
|
2025-04-03T11:34:18
|
|
Vulkan: Remove VVL error skips that have been fixed
Test:
--gtest_filter='MemoryBarrierBufferTest.TransformFeedbackBitWriteThenCapture*'
Bug: angleproject:42266506
Change-Id: I314ee10d9ee67f5871312d730f35c2232a9372b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6430466
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
92cb669b
|
2025-04-03T15:26:42
|
|
Manual roll vulkan-deps from 12ef946decd5 to 48f50085fcda (21 revisions)
Suppress VUID-vkQueueSubmit-pSignalSemaphores-00067 due to
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/9840
Manual roll requested by ynovikov@google.com
https://chromium.googlesource.com/vulkan-deps.git/+log/12ef946decd5..48f50085fcda
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e57f993cff981c8c3ffd38967e030f04d13781a9..c3d39de93955f884e443c39e9ffecf86e4aac883
https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/27e60d9cd9d68cfcb6ca597956a4e57ac330413b..9e702e25aa472c8528b49c874a3c03d514df1ede
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/8c88e0c4c94a21de825efccba5f99a862b049825..8e82b7cfeca98baae9a01a53511483da7194f854
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/056e3ed2c7ca7b30aa803685f806de7a2402aa85..4bd1536ed79003a5194a4bd8c9aa2fa17a84c15b
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/73d7d74bc979c8a16c823c4eae4ee881153e000a..b2fee806c378105400a1ed4bc4b63ee3c08ddc4e
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,ynovikov@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:408190758
Change-Id: I835d826a71590c788c29cecd7958951e5b648df8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6430461
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9ee2c7e7
|
2025-04-02T16:01:45
|
|
Vulkan: Remove VVL error skips that have been fixed
Bug: angleproject:42265220
Change-Id: I828f1d96a19efd0de9220b2168cfa9c3aab80912
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6427323
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a625043f
|
2025-04-01T16:09:14
|
|
Vulkan: Remove VVL error skips that have been fixed
Bug: angleproject:42265220
Change-Id: Ia2048817c6238031c83aaa237c6c88b0e9a9ebf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6423550
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bbf92d12
|
2025-03-21T12:43:14
|
|
Vulkan: Add workaround flag for extra submit fence
This change is a workaround for some devices exhibiting a
device-lost error related to the fence usage in the command
batches when working with EGL sync objects, such as a cycle
similar to below:
- <Some GL work>
- eglCreateSyncKHR()
- glFlush()
- eglDupNativeFenceFDANDROID()
- eglDestroySyncKHR()
- <More GL work>
(The exact point of error and the reason for the device-lost
remain unknown.)
This change is meant to mitigate such errors on those devices if
needed. However, for the rest, the feature will remain disabled.
* Added a new feature flag: enableExtraSubmitFence
* Modified the usage of mFence in CommandBatch
* It is also used when enableExtraSubmitFence is enabled, even if
there is an external fence.
* When there is an external fence, this object is used to create
an empty submission after the primary commands are submitted
using the external fence.
* Added the config to enable EnableExtraSubmitFence for the following
suite: EGLSyncTest
Bug: b/384477641
Change-Id: I05f8bdcc804967c4984416af802326d22afd7a46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6378778
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|