|
7f5958c7
|
2025-10-15T15:09:45
|
|
Vulkan: roll Volk
This pulls in support for VK_AMD_anti_lag entry points.
Bug: angleproject:452392028
Change-Id: I03109ac30a88bdb551f9bc1ccaae91f79464bfa9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7046016
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
774bca93
|
2025-10-08T18:41:13
|
|
[metal] Add commands scheduled sync object
We need a thread-safe way to wait for ANGLE Metal command buffers to be
scheduled for IOSurface synchronization with DrDC + Graphite on Mac.
The existing eglWaitUntilWorkScheduledANGLE API isn't thread-safe as it
reaches into ContextMtl innards to flush the command buffer.
This CL adds the EGL_ANGLE_metal_commands_scheduled_sync extension which
introduces a EGL_SYNC_METAL_COMMANDS_SCHEDULED_ANGLE sync object type.
This sync object is signaled when pending Metal commands are scheduled
to run on the GPU (MTLCommandBufferStatusScheduled). These sync objects
are thread-safe - eglClientWaitSync() can be called on any thread even
without a current context which is needed for DrDC + Graphite on Mac.
Bug: chromium:444702048
Change-Id: Ia13b352385a6fefaa026526ef74f6e596a6a6964
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7027996
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@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>
|
|
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>
|
|
eec95a6b
|
2025-10-02T17:02:14
|
|
Translator: Remove NV_shader_framebuffer_fetch
This extension is never exposed by ANGLE. AFAICT, it was removed in
https://chromium-review.googlesource.com/c/angle/angle/+/688099 and
never added again.
The current implementation is incorrect even if the extension is
exposed; we assume gl_LastFragColorARM is the name, while this extension
uses gl_LastFragColor. This change removes mentions of this extension
instead of trying to fix it.
Bug: angleproject:349994211
Change-Id: I2391a225db95d73579fd71cf261360973e5935f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
7217890d
|
2025-06-17T11:51:08
|
|
CL/VK: Add SerializedExecution feature knob
Feature allows for each enqueue-able CL command
to submit and wait for fence (debugging aid).
Bug: angleproject:444491489
Change-Id: I16b7e74f2a321680a81ab3c8a18dd9534a64ce1a
Signed-off-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6941617
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c292f292
|
2025-09-10T14:34:14
|
|
Vulkan: Remove compressVertexData feature
This feature was added for performance reason. It was used years ago to
improve performance of lego legacy. That entire game dashboard feature
was disabled a few years ago. So this code path is no longer been used
now, and not been tested on bots as well. This CL deletes this feature
and related code path so that we don't just leave it bit rotten.
Bug: b/167404532
Bug: b/439073246
Change-Id: I384fc97021592da57d38e8c1771892071ae68a89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6935271
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
059734f9
|
2025-05-02T13:20:28
|
|
CL: Roll OpenCL headers, docs, CTS, loader
Updated OpenCL headers
and updated third_party sources accordingly.
- Updated OpenCL Headers from change 265df85
- Updated third_party/OpenCL-Docs
- Updated third_party/OpenCL-CTS and modified ninja build corresponding
to update
- Updated third_party/OpenCL-ICD-Loader and modified ninja build
corresponding to update
- When after updating OpenCL-Docs, entry-points for
clIcdGetFunctionAddressForPlatformKHR and
clIcdSetPlatformDispatchDataKHR (cl_khr_icd 2.0.0) are generated by
run_code_generation.py. Filled code returning INVALID_OPERATION error
in the entry-points.
- When after updating cl_ext.h, cl_khr_external_memory_dx is removed.
Deleted codes referencing cl_khr_external_memory_dx (e.q.,
CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KHR)
Bug: angleproject:441956395
Tests-Passing: test_basic, test_api
Change-Id: I08e0b78abb5c0ff5f1ea693ea355893b1a6f765e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6915959
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.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>
|
|
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>
|
|
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>
|
|
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>
|
|
806c80ec
|
2025-08-14T13:41:58
|
|
Add a new ShaderVariable struct property
Add a new ShaderVariable struct property isTransformedFP16FloatUniform.
This property will be set by compiler when the corresponding shader
variable data type in shader code is transformed from 32 bit to
16 bit. The property value be later passed to LinkedUniform so that
the frontend knows if it should transform the data from 32 bit to 16
bit before writing to memory, and if it should transform the data
from 16 bit to 32 bit after reading from memory.
This change is no op.
Bug: angleproject:405795981
Change-Id: Iaae15baa8ab9f7c3295071fa1e1ab04752bd69bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6852396
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
25f5e2cf
|
2025-08-13T17:03:19
|
|
Vulkan: Add support for built-in gl_PrimitiveShadingRateEXT
Add support for built-in gl_PrimitiveShadingRateEXT and relative const
value.
Bug: angleproject:397255625
Change-Id: I25d51f5805697e137b232175ee790808c45850b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6845515
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
91fa29be
|
2025-08-04T11:08:20
|
|
Add a feature to force contexts into debug mode
Bug: angleproject:423956139
Change-Id: Ie166b40eb9c241140daf4a35df3391829c64f84e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6817467
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
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>
|
|
b7582680
|
2025-02-24T18:04:32
|
|
Reland: GL: Allow untranslated shaders to pass through on GLES
Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
uses the NULL translator and passes the original shader to the driver.
The parser is still used for shader reflection.
Always enable the null compiler backend. It has almost no binary size
cost and is now potentially used when the null ANGLE backend is not
enabled.
Bug: angleproject:398857482
Change-Id: Id528189ccbbacb1c444eacb151baadfda9fcc04b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6488609
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
251ffe62
|
2025-07-15T17:37:30
|
|
Vulkan: Add support for built-in gl_ShadingRateEXT
Add support for built-in gl_ShadingRateEXT of
GL_EXT_fragment_shading_rate
Bug: angleproject:420310117
Change-Id: Ie11b139a0371b5995f1533a85e02c590cd36109c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6733750
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
56e9bfff
|
2025-06-19T00:00:00
|
|
GL: Remove obsolete macOS workarounds
Bug: angleproject:427600175
Change-Id: I8bfc062b71f1a34de09cbf76b504293ccd081fe0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6676022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
beae1b4a
|
2025-06-19T00:00:00
|
|
Metal: Remove obsolete workarounds
Removed Intel-specific Metal workarounds
that are not used on macOS 12 and later.
Removed a redundant version check.
Bug: angleproject:427600175
Change-Id: I34c7e53108f7e030512c9436ab2b9ae38ad17946
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6672312
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
94ee620d
|
2025-05-22T10:07:05
|
|
Metal: Allow optimization of simple loops
Reimplement the feature to avoid undefined behavior of infinite loops.
Add EnsureLoopForwardProgress rewrite pass that inserts a volatile
variable access to all loops that it cannot analyze as being finite.
Detect loops of form `for (; i <op> x; ++i)` as being finite.
The <op> can be any of <,<=,>,>=,==, != operator.
The i can be int or uint.
The ++i can be -- or ++, -=1, +=1.
This assumes that backends using the feature emit signed int arithmetic
with defined wraparound semantics.
Uses volatile write instead of asm("") due to asm not forcing the
behavior in some compiler versions. The volatile variable access is
defined in C++ as forward progress, and by inheritance this works in
MSL.
Later commits may remove injectAsmStatementIntoLoopBodies if
ensureLoopForwardProgress is appropriate for all use-cases.
Bug: angleproject:418918522
Change-Id: Ic9c29f57044b792195386483208632354d24c854
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575051
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.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>
|
|
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>
|
|
d5d76108
|
2025-05-15T00:00:00
|
|
Do not define GL_GLEXT_VERSION in gl2ext.h
Bug: angleproject:409484297
Change-Id: I2d71a4e923207f4d7ed410f8c4770aee9aff9d19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6597675
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4c964bc7
|
2025-05-15T00:00:00
|
|
Roll third_party/OpenGL-Registry/src/ 5bae8738b..200cea403 (74 commits)
https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry/+log/5bae8738b23d..200cea4030cb
Additional changes:
* Removed obsolete workarounds for mismatching
signatures between CreateShaderProgramvEXT
and CreateShaderProgramv.
* Aligned GL backend bindings for GL_OVR_multiview
entry points with the specs.
* Updated include/GLES2/gl2ext.h.
Bug: angleproject:409484297
Change-Id: Ifbb63dcc4bad312b22a368455a121e088b346fab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596941
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
392dc591
|
2025-05-15T00:00:00
|
|
Remove GL_CHROMIUM_sync_query
Fixed: angleproject:420627279
Change-Id: I26dac7c55a7cf6b04121658144e1387be65d2569
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593552
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dac0ef51
|
2025-05-27T18:36:56
|
|
WebGPU: Add a feature to avoid wgpuInstanceWaitAny
Synchronous waiting is not available in Chrome's renderer process yet.
Add a temporary feature to avoid some WaitAny calls and just log errors
instead.
Bug: angleproject:413078308
Change-Id: I67e54dfcfc093fd250da8cc616c05d44b78c8d64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593531
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3e9a1375
|
2025-04-30T16:03:03
|
|
Fix unique object duplication warning
Clang has a `unique-object-duplication` warning that warns about objects
which are supposed to be unique (like static- or thread-local
variables), but may be accidentally duplicated across shared libraries
when they have hidden visibility.
This CL addresses instances of that warning by:
1. Ensuring that on non-windows systems, objects that need to be
exported are unconditionally given "default" visibility
2. Satisfy the compiler by marking everything as default visibility when
building a static library, since visibility only matters for shared
libraries
3. Mark functions with static or thread local variables as exported.
Bug: chromium:368047728
Change-Id: Ic60265353bf2b0af2cd1fef884bfa85038e0db02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502093
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c1e806de
|
2025-05-22T15:59:01
|
|
WebGPU: Allow providing an external WGPUDevice.
Update EGL_ANGLE_platform_angle_webgpu with a new parameter which allows
initializing DisplayWgpu with a pre-existing WGPUDevice. The adapter and
instance are queried from this device.
Bug: angleproject:42266898, angleproject:414827222
Change-Id: I3159ebe19750e75c5cf9aa395332f48385fdb4d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578196
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
3cf7a604
|
2025-05-17T19:39:08
|
|
WebGPU: Add extensions for importing external textures
Add EGL_ANGLE_device_webgpu which exposes the adapter and device used
by ANGLE internally.
Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing
external WGPUTexture handles if they share the same device as ANGLE
(queried from EGL_ANGLE_device_webgpu).
Bug: angleproject:418022112
Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f537c6d9
|
2025-04-28T17:30:13
|
|
Allow passing a DawnProcTable to DisplayWgpu.
Bug: angleproject:42266898, angleproject:414827222
Change-Id: Ibf381461881244c9a874f2d24d3248995ea0760c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496389
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
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>
|
|
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>
|
|
c52183bd
|
2025-04-11T11:17:10
|
|
Reset sample coverage after fbo change on Adreno
Adreno drivers cache some internal value based number of samples in
currently bound FBO and glSampleCoverage value, but doesn't update it on
FBO change.
So if we set sample coverage to 1 when FBO with 1 samples bound and then
switch to FBO with 4 samples it behaves like coverage is 0.25 instead of
1.
To avoid this, reset sample coverage after each FBO change.
Bug: chromium:408364831
Change-Id: I7d5e36926e8568f4c652049b43ecdbe382ddc293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6447878
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
|
|
cdb34025
|
2025-04-25T12:09:14
|
|
Move robust APIs for PLS into robust_client_memory sections.
These two entry points are at the intersection of
GL_ANGLE_shader_pixel_local_storage and GL_ANGLE_robust_client_memory.
Move them into the robust_client_memory section to simplify
autogenerated validation.
Rerun code generation.
Fixed: angleproject:413597061
Change-Id: Icac160dbc7ab4088ee90471af60bb2e5ab3e1b87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6492427
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
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>
|
|
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>
|
|
5dd05578
|
2025-04-14T07:34:57
|
|
Revert "GL: Allow untranslated shaders to pass through on GLES"
This reverts commit 4e77552b86a89b449ada6d6c18f84285f5812b1d.
Reason for revert: breaks ChromeOS and fuzzers
Bug: angleproject:398857482
Original change's description:
> GL: Allow untranslated shaders to pass through on GLES
>
> Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
> uses the NULL translator and passes the original shader to the driver.
> The parser is still used for shader reflection.
>
> Bug: angleproject:398857482
> Change-Id: I7c5fcc318c7e11931f78c08dcbf4764bf77d397d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297527
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:398857482, angleproject:410423936
Bug: chromium:410114655, chromium:410100607, chromium:410121218
Bug: chromium:410052365, chromium:410290507, chromium:410178288
No-Presubmit: true
Change-Id: I45b01960637a1cda05d21a7df6d07465f6a8f5e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6448984
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4e77552b
|
2025-02-24T18:04:32
|
|
GL: Allow untranslated shaders to pass through on GLES
Add an EGL extension EGL_ANGLE_create_context_passthrough_shaders which
uses the NULL translator and passes the original shader to the driver.
The parser is still used for shader reflection.
Bug: angleproject:398857482
Change-Id: I7c5fcc318c7e11931f78c08dcbf4764bf77d397d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297527
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
02ae054c
|
2025-04-07T13:48:29
|
|
Translator: Fix init of inactive output variables
Bug: chromium:398401939
Change-Id: I0df494b945b8d0e805a62cf7645d06bf233f36ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6438495
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d27a1fd0
|
2025-04-03T19:59:20
|
|
Compiler: Allow denorm float values in the lexer
This adds an option to preserve denorm values in the lexer,
skipping the explicit zero conversions for below range floats.
There are applications in the wild that expect to be able to
use denorm float values. They are typically immediately converted
to integer values, not used in floating point operations.
The option is only enabled for Vulkan backends.
Test: FloatLexTest, DenormFloatsToIntValues, app traces
Bug: b/406827038
Change-Id: Iab5a1a69a540b78ccbce8ea90b532d2d4976e29e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432237
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@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>
|
|
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>
|
|
8cf89716
|
2025-03-14T20:17:07
|
|
Vulkan: Remove perFrameWindowSizeQuery feature
Feature was enabled for all platforms in order for surface to be resized
before acquire next image (not only after swap). Remove it, as if it's
always enabled to simplify the code.
Bug: angleproject:397848903
Bug: angleproject:42262287
Bug: angleproject:42262286
Bug: angleproject:40096601
Change-Id: I768772e30f5f38f68992e5b82c84430732aa77d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354166
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
081934f6
|
2025-03-12T15:22:31
|
|
Vulkan: Add avoidInvisibleWindowSwapchainRecreate feature
There is a bug on some NVIDIA drivers on Linux X11 when
`vkAcquireNextImageKHR()` constantly returns `VK_ERROR_OUT_OF_DATE_KHR`
if recreate the swapchain while window is not visible.
If not recreate the swapchain after window resize - nothing happens,
acquire and present works without errors. But if recreate the swpahchain
to the `VkSurfaceCapabilitiesKHR::currentExtent` the next
`vkAcquireNextImageKHR()` will return `VK_ERROR_OUT_OF_DATE_KHR`. ANGLE
will retry to recreate the swapchain one more time and fail the call.
Enabling the "avoidInvisibleWindowSwapchainRecreate" feature will avoid
swapchain recreation when window size changes while it is not visible.
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.ResizeInvisibleWindow/*
Bug: angleproject:397848903
Bug: angleproject:42264022
Bug: angleproject:42263074
Change-Id: I48588bf467d15c0e84b923092e06a42c22084dcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6348739
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
caf14998
|
2025-02-25T17:28:05
|
|
Vulkan: Fix window surface resize and size query
Added `mSizeState` enum member. When it is not `Resolved`, surface size
is not yet resolved and may change any time in response to native window
resize. Otherwise, surface size is resolved and will not change until
next swap.
Updated `getUserWidth()`/`getUserHeight()` methods. They return
current window size when surface size is not resolved, or current
surface size, otherwise. Window size is queried either by
`getCurrentWindowSize()`, when surface is sized by swapchain, or
by querying vulkan surface capabilities.
The "perFrameWindowSizeQuery" feature controls when `mSizeState` is
updated. Initially it is not resolved. Marked as not resolved in
`invalidateSwapchain()`, and in `deferAcquireNextImage()` when the
feature is enabled. It is marked as resolved after swapchain is created
when feature is disabled, or in `AcquireNextImageUnlocked()` function
after acquire next image, otherwise.
Enabled some tests that were previously failing. Replaced old resize
tests with new versions.
Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.Resize*/*
Bug: angleproject:397848903
Bug: angleproject:373659619
Bug: angleproject:153329980
Bug: angleproject:42266013
Bug: angleproject:42265843
Bug: angleproject:42265529
Bug: angleproject:42264022
Bug: angleproject:42263074
Bug: angleproject:42261800
Bug: angleproject:40096826
Change-Id: I3ad836960a68229fab6c94624022f1a0aaf2c3e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6300645
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e339f91c
|
2025-03-21T10:22:59
|
|
Vulkan: Split asyncCommandBufferResetAndGarbageCleanup into two
Right now this one feature flag controls garbage clean up and command
buffer reset. If this is enabled, we are seeing command buffer reset
some times runs on small core and some times gets blocked by mutex lock
inside vulkan driver. This could take quite long while main rendering
thread is blocked by ANGLE's CommandPoolAccess lock. This CL splits this
feature flag into two separate feature flag: asyncGarbageCleanup
controls garbage clean up in the async thread or not.
asyncCommandBufferReset controls commandBuffer.reset in the async thread
or not.
This CL also disables commandBuffer.reset in async thread only on ARM
given there is no data shows other GPUs suffer form the same problem.
Bug: angleproject:378718508
Change-Id: Ice87b5b91568a0a95e0064da2b70243516ff6753
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6381893
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ac242c1a
|
2025-03-20T11:18:45
|
|
Vulkan: Fix the feature flag typo
Bug: b/333987915
Change-Id: Iea21592532352d95c69c0cf8dfcad96b58563ec5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6377544
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
6bd7a518
|
2025-03-19T13:35:48
|
|
Vulkan: Allow pipelineStatisticsQuery substitute PGO
Some devices are missing VK_EXT_primitives_generated_query
extension and primitivesGeneratedQuery (PGO) feature, which are
required for GLES3.2 extensions geometryShaderEXT and
tessellationShaderEXT. On such devices, when app requests to create
a GLES 3.2 context, the eglCreateContext call will fail due to not
able to support GLES 3.2.
We add a new feature flag
allowPipelineStaticsForPrimitivesGeneratedQuery,
and enable it on devices where we can fallback to using
pipelineStatisticsQuery (PSQ) as an approximation for
VK_EXT_primitives_generated_query, to broaden support for GLES 3.2
contexts. This is an opt-in feature for vendors that can functionally
substitute PGQ with PSQ.
Expose geometryShaderEXT and tessellationShaderEXT
extensions if allowPipelineStaticsForPrimitivesGeneratedQuery feature
is enabled.
Bug: b/333987915
Change-Id: I9f0affbc3cc383ed6c50bcfc5d4d6f7f8a708aaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6362627
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
292bb458
|
2025-03-14T12:17:49
|
|
Cut MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE
Since the number of real devices that support framebuffer fetch, but do
not support draw_buffers_indexed, is effectively zero,
MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE is an
unnecessary complication. These hypothetical devices can fall back on
shader images or just not support pixel local storage at all.
This closes the door for WEBGL_shader_pixel_local_storage to ever be
implemented on top of the ES2 extension that inspired it all,
EXT_shader_pixel_local_storage, but WebGL can just use framebuffer fetch
instead, or maybe even EXT_shader_pixel_local_storage2 some day.
This dramatically simplifies the WEBGL_shader_pixel_local_storage
extension.
Bug: angleproject:40096838
Change-Id: I9c51f2ce000620f883cb7917d4e8618c8e9ee803
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354657
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
e6a27504
|
2025-03-07T20:14:50
|
|
Vulkan: Swapchain recreate workaround for shared present mode
On Android, `vkCreateSwapchainKHR` may return
`VK_ERROR_NATIVE_WINDOW_IN_USE_KHR` if use `mLastSwapchain` as an
`oldSwapchain` when in shared present mode. This happens on three
different devices: SM-G996B (Mali-G78), SM-S921B (Xclipse 940), SM-S921U
(Adreno 940).
Bug: angleproject:397848903
Bug: angleproject:42262606
Change-Id: I1541c06c254f3e8231b165fb0c53eff5d810e8bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6329488
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b343e8f
|
2025-03-11T11:35:08
|
|
Vulkan: Remove support for Stadia
Bug: angleproject:42262714
Change-Id: Icae5fe828fe4e0bcd287d297df1bc586708ef86e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6344390
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
412bd05c
|
2025-03-06T19:26:11
|
|
Implement workaround for MAX_COMBINED_SHADER_OUTPUT_RESOURCES.
Implement a GL Feature to force MAX_COMBINED_SHADER_OUTPUT_RESOURCES to
be the sum of MAX_COMBINED_SHADER_STORAGE_BLOCKS,
MAX_COMBINED_IMAGE_UNIFORMS, and MAX_COLOR_ATTACHMENTS.
Enable the feature for NV and PowerVR Rogue.
Bug: angleproject:401232345
Change-Id: I03a113eed364617303f4ee59d90c853258865259
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6330671
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
ae567733
|
2025-02-26T19:09:14
|
|
Vulkan: Make use of VK_EXT_device_fault if exists
This Vulkan extension, if available, can provide further details
about the device in case of VK_ERROR_DEVICE_LOST.
* Added the following ANGLE feature: supportsDeviceFault
* It shows whether the extension VK_EXT_device_fault is supported
and that the deviceFault bit is enabled on the physical device.
* Added the Vulkan entry point for the following function:
* vkGetDeviceFaultInfoEXT
* Added the following to the renderer:
* mFaultFeatures (device feature)
* retrieveDeviceLostDetails(); to log information regarding the
following if the appropriate support is available:
* Address faults
* Vendor-specific faults
* Vendor binary dump (logged in hex format)
* Added RetrieveDeviceLostInfoFromDevice() to vk_renderer.cpp
to be used in Renderer::retrieveDeviceLostDetails().
* Updated ContextVk::handleError() to try to retrieve more info in
case of DEVICE_LOST.
Bug: b/399478440
Change-Id: If8d8e04001dabbe775c023f9922c44ef2205317e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6305888
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd8bc105
|
2025-02-19T18:08:32
|
|
vulkan: disable pipeline cache data serialization for nvidia device.
we still see the big cache data issue after driver version 520.
rename hasEffectivePipelineCacheSerialization to
skipPipelineCacheSerialization.
Bug: b/358380399
Change-Id: Idd8354f95c3eb4c2e58678a4cf50c8b6af20f371
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6284126
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
65343c4c
|
2025-02-27T11:23:04
|
|
Vulkan: Improve ConvertImageLayoutToVkImageLayout()
This CL removes supportsMixedReadWriteDepthStencilLayouts feature flag.
This feature flag was introduced when ANGLE only requires vulkan 1.0.
But now we require vulkan 1.1 and this is part of vulkan 1.1 core spec.
So it is no longer needed and wasting CPU cycles to check this every
time ConvertImageLayoutToVkImageLayout() is called.
With supportsMixedReadWriteDepthStencilLayouts removed, convert from
ImageLayout to VkImageLayout no longer needs renderer parameter. The
layout information in kImageMemoryBarrierData is never modified by
renderer at run time. So the renerer arguments has been removed in a lot
of places, avoids another pointer de-reference.
Bug: b/384839847
Change-Id: I5a89a890c0c0a1f99d2fdc1b2a85baf7de5c28bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6310839
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9592b970
|
2025-02-21T12:33:57
|
|
Move LogFeatureStatus() into overrideFeatures()
Both overrideFeatures() and LogFeatureStatus() a looping through the
overridden features the same way, with one applying the feature override
and the other logging the feature being overridden.
Rather than looping twice, build up the feature override log string
concurrently in overrideFeatures() and return the string, which can be
logged (or not).
Bug: b/372694741
Change-Id: I70b06792046fe80057f45cefaf18bdd3d05f1f21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6288657
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f974ffa8
|
2025-01-27T11:06:30
|
|
Vulkan: Add stubs for expose VK_KHR_swapchain_mutable_format
Bug: angleproject:386688871
Change-Id: I77a45e342ee46f65c4f2947071c713f914a937a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6196939
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
91d0c56b
|
2025-02-18T20:00:00
|
|
Vulkan: Disable support for GL_EXT_YUV_target
... on vendors that don't have support for
nullColorAttachmentWithExternalFormatResolve
Bug: angleproject:386749841
Change-Id: I3437bf189bdfb40cba760143a442df13d6ebf8dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6277811
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
869dde72
|
2025-02-07T15:44:12
|
|
Remove code paths for invoking the offline Metal compiler
We experimented with invoking the Metal shader compiler directly to
create cacheable shader libraries but the project did not show useful
gains.
It is currently all dead code, remove it.
Bug: b/391990604
Change-Id: I6d13278d1a27d8b3ae961a0846f31292f2506b23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6245258
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e330d959
|
2024-04-09T15:13:48
|
|
CL/Vulkan: Add native builtins to clspv compiler
Add a set of native builtins that are known to perform better for
Samsung devices.
A feature condition `uses_native_builtin_cl_kernel` is setup in
`vk_featurs.json` for control of the selection. The following files are
autogenerated
- FeaturesVk_autogen.h
- angle_features_autogen.cpp
- angle_features_autogen.h
Bug: angleproject:361717757
Change-Id: I10ffad0cbf1d4c2e9bfeea768311d90b0f65af2d
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092036
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c317940
|
2025-01-16T17:51:12
|
|
Vulkan: Add feature flag to use VkEvent for buffer barriers
Bug: angleproject:360274928
Change-Id: Ie6e48a0a57c016571a1e94c0105a231c749c76f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180394
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
73e226cb
|
2024-10-17T16:37:52
|
|
Vulkan: Add check for uniform buffer standard layout feature
Add to check uniform buffer standard layout is supported.
Bug: angleproject:387306731
Change-Id: I543c46a6b504a4df7e9937365c9b28e6328f0619
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6137319
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bbc0d702
|
2024-12-27T07:44:01
|
|
Vulkan: Add entry points to lock the Vulkan queue
... which can be retrieved via EGL_ANGLE_device_vulkan. Otherwise the
application is unable to use the VkQueue that is retrieved out of ANGLE
from other threads (such as Chromium's DrDC feature).
Bug: chromium:380295059
Change-Id: Ife80f54440777486f72fc61697a68fb0c2b2d0f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6116046
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3226a3df
|
2024-12-13T14:06:55
|
|
Reland: vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
Implement the ability to select a specific device and driver combination
through a few new selection criteria:
VkPhysicalDeviceIDProperties::deviceUUID
VkPhysicalDeviceIDProperties::driverUUID
VkPhysicalDeviceDriverProperties::driverID
Earlier version had problems due to a test build issue. Per syoussefi@,
going to rework the test into a separate CL so that we get the core
change merged.
Bug: angleproject:351866412
Change-Id: I0a3f4f1a2154a06bf6286a037c9ad4834ef4dda2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6165286
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
3b092269
|
2025-01-09T08:54:00
|
|
Revert "vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid"
This reverts commit 96abb2c3d9e296ae12e50e0026bf5d3a7b925e7e.
Reason for revert: breaks rolling into Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/6158098
Original change's description:
> vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
>
> Implement the ability to select a specific device and driver combination
> through a few new selection criteria:
>
> VkPhysicalDeviceIDProperties::deviceUUID
> VkPhysicalDeviceIDProperties::driverUUID
> VkPhysicalDeviceDriverProperties::driverID
>
> Bug: angleproject:351866412
> Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:351866412
Change-Id: Ic7cf9dcf6a950556cc44f5920498db429c866340
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164164
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
96abb2c3
|
2024-12-13T14:06:55
|
|
vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid
Implement the ability to select a specific device and driver combination
through a few new selection criteria:
VkPhysicalDeviceIDProperties::deviceUUID
VkPhysicalDeviceIDProperties::driverUUID
VkPhysicalDeviceDriverProperties::driverID
Bug: angleproject:351866412
Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
59162e2e
|
2024-12-30T12:22:10
|
|
Vulkan: Update a few features and extensions for Samsung
Enable
disableProgramCaching
Disable
rgbxInternalFormatANGLE
clipDistanceAPPLE
cacheCompiledShader
preferMonolithicPipelinesOverLibraries
Bug: angleproject:386749841
Change-Id: Iea8033e2999c65b8715c6069d2096a709f78f438
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6133540
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
c75bd915
|
2024-12-10T23:01:44
|
|
Vulkan: Remove asyncCommandQueue
It's been years and it never showed an advantage. In the meantime,
performance without this feature seems close to native drivers (i.e. the
feature has lost its appeal) and it's frequently a source of
complication and bugs.
Bug: angleproject:42262955
Bug: angleproject:42265241
Bug: angleproject:42265934
Bug: angleproject:42265368
Bug: angleproject:42265738
Bug: angleproject:42266015
Bug: angleproject:377503738
Bug: angleproject:42265678
Bug: angleproject:173004081
Change-Id: Id8d7588fdbc397c28c1dd18aafa1f64cbe77806f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084760
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6bb1bc9b
|
2024-12-10T16:56:33
|
|
Add an extension to report total memory usage of all GL objects
Currently the extension will only count GL buffers, textures and
render buffers' memory.
Fixed: angleproject:383256300
Change-Id: I33ce6fafae8aa5b60071e66366d35dc098e1313b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084013
Auto-Submit: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
95756ae2
|
2024-12-04T15:47:19
|
|
Expose VK_EXT_image_compression_control_swapchain
To implement EGL_EXT_surface_compression,
VK_EXT_image_compression_control_swapchain should be exposed.
With this extension, we can put VkImageCompressionControlEXT
to the pNext of VkSwapchainCreateInfoKHR
Bug: angleproject:375496226
Change-Id: I3f62040be3ba3e5cc051164cb9ace1934e61dead
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073353
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
26414249
|
2024-11-28T00:00:00
|
|
Remove GetTexLevelParameter* from ANGLE_texture_multisample
These functions are always provided by
the GL_ANGLE_get_tex_level_parameter
frontend extension.
Fixed: angleproject:382291448
Change-Id: I59b4ccc56478f2e0931d1f5bd665cfdd5a34391e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072222
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
f51170b3
|
2024-11-21T16:30:40
|
|
Enable GL_KHR_texture_compression_astc_hdr
Vulkan supports GL_KHR_texture_compression_astc_hdr,
so this extension can be enabled in Angle.
Bug: angleproject:379186304
Change-Id: I438a120c3f884a7eefcd883ad71abf68f81cb473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038457
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9eab301c
|
2024-11-12T17:24:57
|
|
Enable GL_KHR_texture_compression_astc_sliced_3d
ARM supports GL_KHR_texture_compression_astc_sliced_3d,
so this extension can be enabled in Angle.
Bug: angleproject:378507964
Change-Id: I545ac57b4d6065a9ef99a7884555da47a1d50261
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6014004
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a2b60b2
|
2024-11-06T17:13:16
|
|
Add stubs for GL_EXT_texture_storage_compression
Bug: angleproject:352364583
Change-Id: I607c19c0c9bec7f0e3dd325e44b42e73f826b61c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998012
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
29855942
|
2024-11-06T16:01:28
|
|
Vulkan: Add stubs for expose VK_EXT_image_compression_control
Bug: angleproject:352364583
Change-Id: Ia8292eee6620db6d0c4b0c6162de95583c1e416d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998011
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7fea539c
|
2024-10-23T11:40:51
|
|
Vulkan: Remove extra non-conformant flag checks
It may be possible to remove the flag check and simply rely on the
checks performed in CanSupportGLES32() to determine support for ES 3.2.
The non-conformant flag can remain utilized for certain features until
the relevant issues are resolved and this flag is no longer needed.
* Removed the checks from getMaxConformantESVersion().
* Removed the flag check in Renderer::getMaxSupportedESVersion().
* Added exception to the blend extension when using the non-conformant
flag for Win/Intel.
* Skipped the related tests on this platform that now fail.
* Added a new feature flag to force-enable ES 3.2 on certain platforms
for testing.
* exposeES32ForTesting
* If the bots are updated to support ES 3.2, it can be removed from
using this flag.
* Skipped some VVL errors when the flag is enabled.
* Skipped end2end ES 3.2 tests on SwS.
* Skipped some dEQP tests on P4 and SwS that would use ES 3.2 features
that are not available on those platforms.
Bug: b/374841339
Bug: b/376899587
Change-Id: Ifd405457ab8bf2076eb8fb5c92c5316f4d520595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5958147
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
bd9d0285
|
2024-10-26T01:12:23
|
|
Remove feature description / condition enums
Since ANGLE no longer produces anything for these strings, Chromium no
longer queries them and they can be removed.
Bug: chromium:371512561
Change-Id: I921cbd91a3328df99b15262d31d52986d4a7b806
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966697
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a05a0e15
|
2024-09-25T22:33:36
|
|
Validate PLS shaders against context state
Add shader introspection for PLS uniforms and validate that they match
context state during draw calls.
Bug: angleproject:40096838
Change-Id: I76cdf8add03de8f8b0b3e772c15c0087c1d97e98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893962
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
4397ff2f
|
2024-10-25T16:55:30
|
|
Metal: SeparateCompoundStructDeclarations fails validation
Consider GLSL:
struct S { int i; } s;
s=s;
SeparateCompoundStructDeclarations would rewrite this to:
struct S { int i; };
S s';
s=s;
The interm rewrite would rewrite the specification and declaration of s,
but not the use sites. The use sites would use the old type, and thus
something that was not in the tree anymore. This would fail the
validation.
This kind of bug was previously fixed for SeparateDeclarations
in commit 18fa02bebf901dd8501de3176f6052ae4ce984be.
Fix by adding the logic to SeparateDeclarations, as it is already
doing almost the exact task, separating `struct S { ..} a, b`.
The separation is tested in GLSLTests.StructInShader and various
other draw tests. These pass with MSL, but these would also fail
validation if that was enabled.
Bug: angleproject:375523825
Change-Id: I1697103d0ba47616dbd3159f36f9e71cb2831c4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5964899
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a0586d6e
|
2024-10-26T00:32:27
|
|
Remove feature description / condition strings
These strings show up in chrome://gpu so they can marginally be useful,
but are otherwise dead weight for most uses of ANGLE / users of ANGLE.
While slightly less convenient, the feature name can always be linked
back to the source code if needed so the presence of such metadata is
not necessary either.
This shaves 40KB from the binary size of ANGLE when built with Vulkan
only on Android.
Bug: chromium:371512561
Change-Id: I3959961bb7de95cc60a85130d0ff38a7fd533fb7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5968453
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
12584049
|
2024-10-21T14:04:55
|
|
Make SimplifyLoopConditions testable
Add ShCompileOptions::simplifyLoopConditions, so that tests can turn
it on. Later edits to simplify loop condition logic are simpler to
review when the testing related edits are landed separately.
Test the feature by having ESSL as the input and ESSL as the natural
output, to reflect how AST changes.
To make the test expectations more deterministic across code changes,
change SymbolTable::kLastBuiltInId to
SymbolTable::kFirstUserDefinedSymbolId. This is simpler as no code
needs to know exact last built in id, so we can just ensure that
the user defined symbol ids do not clash with the builtin ids.
Bug: angleproject:374585769
Change-Id: Iea0efb8ac2878691d0fd5ff5cfe9a49ac754515d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5946724
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
9a4c7495
|
2024-10-15T13:05:28
|
|
Vulkan: Add feature flag to enable descriptorSet cache
So that we can disable it to compare the performance difference.
Bug: angleproject:372268711
Change-Id: I02da254e5d58815741080634a2dd005617aa7432
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5936135
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
47c66901
|
2024-10-21T12:47:22
|
|
Vulkan: Set gl_Layer to 0 if the framebuffer is not layered
Bug: angleproject:372390039
Change-Id: I29067c9488e06f6dd2e90f207fecb843267fb77c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949263
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3b0d1e44
|
2024-10-16T00:00:00
|
|
Add NULL shader output type
Also removed enum values
as they are not needed.
Bug: angleproject:373818287
Change-Id: I37eeac8fbdb3a4b4d26646b02f9f7925f59833a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938874
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ab1cdd22
|
2024-10-03T00:00:00
|
|
Translator: Support EXT_texture_query_lod
No backend support yet.
Bug: angleproject:368275901
Change-Id: I10bbc03feca485908315633cbc0f955e82994657
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5920240
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a8138547
|
2024-10-09T23:33:24
|
|
Translator: Support GL_ARM_shader_framebuffer_fetch_depth_stencil
Bug: angleproject:352364582
Change-Id: I46ce6d75a76bdf04a9e8feea1a480e8a0badba2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5924140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ae5c3b96
|
2024-10-08T17:02:21
|
|
Boilerplate for GL_ARM_shader_framebuffer_fetch_depth_stencil
Bug: angleproject:352364582
Change-Id: I94c670db5546564a6f60bb513a6d7f3f5bd5778c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916771
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
492cf265
|
2024-09-27T13:44:22
|
|
Stubs for GL_blob_cache_angle
Bug: chromium:370538323
Change-Id: Ib56b28c24305db8931f382b16a24975b7277fa7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5900760
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d550d96f
|
2024-09-30T00:00:00
|
|
Metal: Remove allowSamplerCompareLod feature
* Apple2 GPUs do not support setting texture sampler compare state
via Metal API. As a result, all sample_compare functions including
those without LOD options do not work on Apple2 GPUs. This feature
was attempting to incorrectly emulate a subset of sample_compare
functions with a hard-coded compare state.
There are no plans to support shadow samplers on Apple2 GPUs, as it
would require non-trivial emulation, so this feature is not needed.
* Metal on macOS 10.15 only supports constant zero as
the level parameter for sample_compare functions.
Ignoring the requested level and using zero on old OS versions is a
better fallback than dropping the parameter altogether because many
applications set the level to zero anyway.
Bug: angleproject:365066518
Bug: angleproject:368059227
Change-Id: I2cdc0bda5842842d62ad5663427da7f1f37bddda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5907619
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|