|
770242db
|
2024-11-20T17:03:07
|
|
Translator: Remove the `gimage1D` base type
This is a desktop GL type, whose removal was left out of b16d105fc6.
Bug: angleproject:370937467
Change-Id: I0bda5453b95ddf924ba0583de346902b333603a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037776
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f0ac74a
|
2024-11-20T16:43:50
|
|
Translator: Remove SubpassInputMS
ANGLE never generates multisampled input attachments, because it cannot
know if the shader will be used with a single-sampled or multisampled
framebuffer.
The SPIR-V transformer takes care of changing the type and ops to be
multisampled if needed.
Bug: angleproject:37093746
Change-Id: Ic9c3057536c0a5d543512dbd3c347033453a29f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039437
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c4533e0a
|
2024-11-20T16:21:40
|
|
Translator: Remove the `double` base type
This is a desktop GL type, whose removal was left out of b16d105fc6.
Bug: angleproject:37093746
Change-Id: I185beef71099aafc3e350efc3dad019e2a72c0e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039436
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b8d546b2
|
2024-10-30T15:40:58
|
|
Fix immutable string concats with ints
`BuildConcatenatedImmutableString("a", 10, "b")`
would construct "a\nb" because the implementation lacked int overloads
and ints would be promoted to chars implicitly.
Fix by implementing simpler way to calculate digits for numbers
and then add useful overloads. Remove
ImmutableStringBuilder::appendDecimal() since the code is already
expecting << for all other types, and the bug was due to this
expectation.
Bug: angleproject:376417347
Change-Id: Iea5e14a6e2fede068b704754b9203db794dd5bf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972641
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
08c1724f
|
2024-10-11T14:29:00
|
|
Vulkan: Support GL_ARM_shader_framebuffer_fetch_depth_stencil
Bug: angleproject:352364582
Change-Id: I63fd78314fa7ebccbf366c252e309a9c0f09c8c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938150
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
5c2a2fd5
|
2024-10-21T16:00:25
|
|
Vulkan: Fix `vec4(...).zxwy[index]`
The code was actually correct, but included an unnecessary assertion.
The code incorrectly assumed `.zxwy[index]` is pre-processed with a
lookup table and turned into `[index']`, but it wasn't if the LHS is a
constructor.
The change just removes the assertion because it was correctly handling
that already.
Bug: angleproject:40096715
Change-Id: Ib1365f95a255ce3654831af55429361d35c026c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949527
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: 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>
|
|
b16d105f
|
2024-10-03T10:25:32
|
|
Remove Desktop GL front-end support
For Desktop GL applications, please use Zink!
Bug: angleproject:370937467
Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b98e6bc0
|
2024-09-12T00:00:00
|
|
Translator: Add EXT_texture_shadow_lod functions
Added translator support for functions defined
in the GL_EXT_texture_shadow_lod extension.
Trivially enabled on GL and Vulkan backends.
Bug: angleproject:365066518
Bug: angleproject:365108862
Change-Id: Ie1fc8f50e321a559d4506c479d9cebbb48802091
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5867416
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f2eb8781
|
2024-09-14T16:16:53
|
|
Vulkan: Selectively enable emulateR32fImageAtomicExchange
Only emulate R32F imageAtomicExchange if shaderImageFloat32Atomics
feature is not supported
Bug: angleproject:42264071
Change-Id: I305ab88bf3ac918eff5d8c399f0ed02ec8c60c2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860814
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
65f08d08
|
2024-07-26T22:14:49
|
|
Vulkan: Work around driver bug with nested switch
Bug: chromium:350528343
Change-Id: Ie7bd58934ccb2b8f06f6ad6a8c3bf38e81b84969
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5744620
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7691cea7
|
2024-07-22T13:46:14
|
|
Vulkan: Remove seamful cubemap emulation
Practically, the Vulkan backend is never expected to run on ES2
hardware. It _may_ for WebGL, but seamful cubemap emulation was
disabled for webgl anyway.
Bug: angleproject:354729454
Change-Id: Iafa20fbdbe232c4df4c777b12e7698ef7a87cf24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5730143
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
df90bbc5
|
2024-07-12T18:04:53
|
|
Refactoring: move angle::HashMap and HashSet to own header
Underlying abseil includes pull in a large set of headers
Bug: angleproject:42266508
Change-Id: Icee47143a8a59bb0795a054b67c0aa4ddcfca4d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5704137
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6c6975af
|
2024-07-05T12:28:54
|
|
Manual roll vulkan-deps from 5fdd3da87369 to 17d345a0f23d (10 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5fdd3da87369..17d345a0f23d
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/704107fda3827377f00e57dff0c21da019bff4ae..5939e32b87487fa9c72ab336ebfcc5ae26d9ab6d
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/2acb319af38d43be3ea76bfabf3998e5281d8d12..41a8eb27f1a7554dadfcdd45819954eaa94935e6
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/973e791a9ac122f903c2796349a538b278cbe29b..216574bedb80d439c2533d161e7ea7897504bbb6
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/afeb91d6d2110717b8c842081eff410617aed1ef..96fb5396040477fbbffdc1b4439dea9447f59d80
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: abdolrashidi@google.com
Change-Id: I2e1c6204e675eb8e70ed68dbe13b912bd6ffce6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5678939
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
db00dee5
|
2024-07-05T21:11:53
|
|
Vulkan: Fix SPIR-V gen for literally indexed swizzles
Translation did not take into account the fact that a swizzled vector
can be indexed by a literal (like `vec.zzxy[2]`, which should translate
to `vec.x`). Since this issue affects MSL generation too, such
expressions are folded before they reach the output generators.
Bug: b/351102615
Change-Id: I048aca165cdf22ef8cd7ccd9a8e503ccf636a55f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680354
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
397eb7c8
|
2024-06-29T00:22:42
|
|
Vulkan: Easier to read SPIR-V disassembly
Bug: angleproject:349994211
Change-Id: I9d8da4a9fa336e1f5ecdfa39c33959ecebb2c6ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667081
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d193d51b
|
2024-06-17T22:46:08
|
|
Replace issue ids post migration to new issue tracker
This change replaces anglebug.com/NNNN links.
Bug: None
Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c33c6cd3
|
2024-05-27T00:06:18
|
|
Vulkan: Use OpSelect with all types with SPIR-V 1.4
SPIR-V 1.4 relaxes the types that can be used as arguments of OpSelect.
Previously, the types were limited to scalars and vectors, but since
SPIR-V 1.4, it's unrestricted.
Writing tests for this change, another bug was discovered where support
for structs and arrays with the ternary operator was disabled due to
ESSL 1.0, even though that support is mandatory in ESSL 3.2.
Bug: angleproject:342316794
Bug: angleproject:343218491
Bug: angleproject:3830
Change-Id: I6cff2f8178634369f773c4fb16a1ddde96928c8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5570154
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c53b3405
|
2024-05-25T02:50:27
|
|
Vulkan: Use OpCopyLogical with SPIR-V 1.4
When shaders copy structs and arrays, this instruction saves a lot of
churn in the SPIR-V.
Bug: angleproject:342316794
Bug: angleproject:343218484
Change-Id: I698a8d8ee8c15113e40602a0f4953726bc9a84f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5570152
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
9620d4d3
|
2024-05-23T16:12:52
|
|
Vulkan: Emit SPIR-V 1.4 where available
In preparation for optimizations possible for SPIR-V 1.4. This change
makes ANGLE output SPIR-V 1.4 if supported, and SPIR-V 1.3 otherwise.
It handles the following differences between the two versions:
- OpEntryPoint in SPIR-V 1.4 includes all global variables, as opposed
to SPIR-V 1.3 where only the Input and Output variables are listed
- Storage buffers use a dedicated storage class in SPIR-V 1.4
Bug: angleproject:342316794
Change-Id: I157ed46449ff2d0f14d284b883b4ddc1b4b46fd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5565224
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
98402f33
|
2024-05-23T10:23:29
|
|
Vulkan: Explicitly set SPIR-V version
Bug: angleproject:342316794
Change-Id: Ide73e3d8b167a932338419cb9da3ea358058ebeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5564203
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0a67bbaf
|
2024-04-08T10:14:45
|
|
SPIR-V: Fix const constructors with single scalar
These constructors may be generated because of
RemoveArrayLengthTraverser.
Bug: chromium:332546345
Change-Id: I5b81ded59ba91b0083b14280f5a61b03b9d4ca43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5435713
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3fdf576a
|
2024-01-26T14:37:42
|
|
Vulkan: Workaround Nvidia driver bug with OpSelect
Bug: angleproject:8503
Change-Id: I4bd2580056df3d970a1316d0dbeaaad7590aa947
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237873
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
c6fbf93d
|
2024-01-19T09:57:12
|
|
Vulkan: Fix input attachments leaking into uniform list
To communicate the existence of input attachments added to the shader,
the translator was adding `ShaderVariable`s for each to the list of
uniforms exported from the shader. This was incorrect, as this list is
visible to the application through `glGetActiveUniform`. Additionally,
this was unnecessarily causing these uniforms to go through program
link.
Reserving SPIR-V ids for these uniforms, all that is needed from the
translator is the mere existence of these input attachments. This
change removes the addition of uniforms, and instead exports a bitset.
Elsewhere, that bitset is consulted and reserved SPIR-V ids are used.
Bug: b/320563594
Bug: angleproject:5792
Change-Id: Id93846cbc3996248f391fd2d5a65af1e48d6d46e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5215089
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
acb0ae09
|
2023-10-27T13:38:09
|
|
Vulkan: Swizzle YUV output from GL component order to vulkan
Since OpenGL and vulkan has different YUV component ordering, we need to
swizzle the component form GL to vulkan when we write YUV data to output
variable. The computation in shader will still carry out in OpenGL
order. This CL swizzles component for the YUV output variable.
Bug: b/223456677
Change-Id: Ie34bbc723bf3723ac65f7931aeab086c92610271
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4985622
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9e5f5188
|
2023-10-24T18:43:12
|
|
Reswizzle results of YUV sampling operations
Change-Id: Id6eee9e0d9e2b80d48c80f27bc8e670a5621d263
Test: ImageTestES3.* 24 -> 15 failures
Bug: b/223456677
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4970337
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
f5842350
|
2023-08-21T00:00:00
|
|
Vulkan: Flatten secondary fragment output arrays
Added a SPIR-V transformation that makes them private
and copies their values into regular fragment outputs.
Fixed: angleproject:8336
Change-Id: Ide62dd183426e0de70fd4ac6d2b8c6a4b4b33994
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4875327
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
4a195ce0
|
2023-08-10T11:28:31
|
|
Vulkan: Fix SPIR-V id assignment to user-defined webgl_* names
The code was incorrectly assuming that webgl_* names are only from ANGLE
variables. An explicit check that the symbols are AngleInternal was
missing.
Bug: b/287166117
Change-Id: Ib8140cfabd74000492d12c11163f318a9ec3b98f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4770236
Commit-Queue: Solti Ho <solti@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Solti Ho <solti@google.com>
|
|
05ea1147
|
2023-07-14T16:49:24
|
|
Vulkan: Bugfix in gl_FragData array redeclaration
Both OpenGL ES and Vulkan spec allows implementations to limit
the number of output attachments when dual-source blending is enabled.
Account for this limit when setting gl_FragData array length by
re-declaring the gl_FragData array size to match
maxFragmentDualSrcAttachments value.
Bug: angleproject:5537
Test: EXTBlendFuncExtendedDrawTest.FragData/ES2_Vulkan
Change-Id: I5a462344f4c4faf850f56e9c5d4c392370d3d010
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
9b63700b
|
2023-07-11T10:25:40
|
|
Translator: Reorganize files
This change makes the translator files more organized by:
- Grouping files that are specific to a certain output under their own
directory,
- Moving transformations under tree_ops
- Removing Direct from metal translation now that that SPIR-V Cross path
is removed
Bug: angleproject:6394
Change-Id: Iaf5bb8d5604b84748dece029821b1f77b2813967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|