|
657c8c0a
|
2024-06-04T15:16:20
|
|
Add optimization to defer clear calls.
This change adds a new SubresourceUpdate struct that will hold either
an update for a clear call or a texture upload in an ImageHelper's
update queue.
It also adds logic to defer clear calls similar to Vulkan's,
where clears are deferred if there is not an active render pass.
Draw based clears are not yet supported, so the optimization does not
handle those yet.
Bug: angleproject:8582
Change-Id: I3ee010fa64745871835d53ce0ccb56e3fdd74550
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5554984
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
25ebddb2
|
2024-06-04T09:47:53
|
|
Mark recently added test as flaky timeout
Bug: angleproject:332383430
Change-Id: I67fd00b2735362a9298152e6d23f903ba76a2ba0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5593280
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
af72bf7f
|
2024-05-24T15:00:44
|
|
ESSL -> WGSL: emit basic types
This emits dimensionless types (no vectors, matrices, arrays).
Function signatures will emit their return type (assuming it
is dimensionless).
Bug: angleproject:42267100
Change-Id: I0d2479f71408eb20b9c329a99c70a6bf6426a72f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5590384
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d8c7c4be
|
2024-06-03T20:16:36
|
|
Manual roll VK-GL-CTS from fd5cc7b1e075 to d2d6aa656073 (30 revisions)
Manual roll requested by syoussefi@google.com
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/fd5cc7b1e075..d2d6aa656073
2024-05-31 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.4
into vk-gl-cts/main
2024-05-31 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.10
into vk-gl-cts/main
2024-05-31 javed@igalia.com Add coverage for image load/store of depth
formats
2024-05-31 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-05-30 marcin.zajac@mobica.com Video capabilities EXT to KHR
2024-05-30 michal.jakubek@mobica.com Coverage for Ldexp, Frexp and Atan2
with subnormal floats
2024-05-30 spatibandlla@nvidia.com Components: Framework - Add native
support for QNX Screen
2024-05-30 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(transform_feedback2_states), PART 7
2024-05-30 kamil.goras@mobica.com Split KHR-GL4x.texture_swizzle.smoke
and KHR-GL4x.texture_swizzle.functional test
2024-05-30 kamil.goras@mobica.com Split KHR-GL4x.copy_image.functional
test
2024-05-30 piotr.byszewski@mobica.com Add self-dependency to
resolve_image tests
2024-05-30 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-05-29 yuxinhu@google.com Fix missing Android build dependencies
2024-05-29 yuxinhu@google.com Fix a wrong class type in
tcuTestLogParserJNI
2024-05-29 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.4
into vk-gl-cts/main
2024-05-29 erik.faye-lund@collabora.com Update tests to cover BGRA8
formats
2024-05-24 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.4
into vk-gl-cts/main
2024-05-24 boris.zanin@amd.com Additional testing for fp16
immediate/inline arguments
2024-05-24 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-05-24 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.10
into vk-gl-cts/main
2024-05-24 david.heidelberg@collabora.com Correct
EGL_EXT_config_select_group extension query
2024-05-24 cturner@igalia.com Check transfer queue image granularity
requirements
2024-05-24 c.hambacher@samsung.com Fix bind_buffers_2 tests using
out-of-bounds vertices for non-maint5
2024-05-24 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2
into vk-gl-cts/main
2024-05-17 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.10
into vk-gl-cts/main
2024-05-17 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9
into vk-gl-cts/main
2024-05-17 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.4
into vk-gl-cts/main
2024-05-17 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2
into vk-gl-cts/main
2024-05-17 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-05-17 syoussefi@google.com main: Run clang-format + remove de*
types
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,syoussefi@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: syoussefi@google.com
Change-Id: Ib728f0df93a6cc8bf16bba4f24312bed5cc184a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5594575
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f1f277fc
|
2024-06-03T10:26:30
|
|
Test: Fix crash in MultithreadingTestES3.SimultaneousBufferBind
The bug here is that thread0 stopped between
nextStep(Step::Thread0Ready) and waitForStep(Step::Thread1Ready)), and
then the thread 1 could run all the way to finish. Now when thread 0
wake up and resumes again, waitForStep will hit assertion.
This CL let thread 1 wait for thread 0 to finish to avoid getting into
this situation.
Bug: b/344053420
Change-Id: Ib75e6652feff55e7bb561cc284cdcb86a4852881
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5587993
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
62cdd74a
|
2024-05-29T19:27:02
|
|
Prepare deqp_support files for the removal of de* types
- The de* types were removed by the change:
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/1a09796462f70cfe2a6117f9bc6af6e3ef74e6ff
- This CL updates ANGLE accordingly. The change is generated by:
https://paste.googleplex.com/4847290045169664
- Reference:
https://github.com/KhronosGroup/VK-GL-CTS/blob/aefd5c09cacdb5a3320da717af6ec646d96c2379/format_all.sh#L17-L41
Notes:
- starting in patchset #10, the CL de-coulples the deqp_support updates
from the VK-GL-CTS DEPS advance.
Test: presubmit, and the problematic files mentioned in
http://b/343202259#comment3 are updated.
Bug: b/343202259
Change-Id: Idc374fa0873e9ddaafe4c9f861995952f2f5e7e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5580985
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Solti Ho <solti@google.com>
|
|
63ae42fc
|
2024-06-03T16:15:16
|
|
Skip end2end test on Linux Intel Vulkan
GLSLTest_ES31.TernaryOnStructsInDifferentBlockStorages
new test added in http://crrev.com/c/5570154 fails on Mesa 23.2.1
Bug: angleproject:342316794
Change-Id: I73ab54837643bf4b51c68b747439b85e887c2bc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5593929
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
1fa6c020
|
2024-05-28T14:44:09
|
|
Vulkan: Add multisample line width query support
* As part of GLES 3.2 support, added support to query the following
through glGetFloatv():
* GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY
* GL_MULTISAMPLE_LINE_WIDTH_RANGE
* Added some tests to check the limits of the values above.
* Updated comment regarding ES 3.2 spec table number.
Bug: angleproject:42266081
Bug: b/336860504
Change-Id: I2c359bbb9003b3e76f342f7419477bdb1caaf88f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5576760
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1db5581d
|
2024-05-21T13:07:44
|
|
Implement KHR_robustness
* Added implementation for the validation layers for the
added functions, and updated some of the existing ones.
* The core functions require GLES 3.2.
* The KHR functions have been limited to GLES 2.0+.
* KHR_robustness requires GLES 2.0 and removes support
for GLES 1.1 for logistical reasons.
* Some functions require GLES 3.0 with this extension, which become
core in GLES 3.2.
* glGetnUniformuivKHR()
* Enabled robustnessKHR on several platforms.
* Added unit tests similar to ContextLostTest.BasicUsage for the new
cases.
* Added ContextLostTestES32 for the core usage in GLES 3.2.
Bug: angleproject:42262244
Change-Id: Id1425c39d9a1a66ae1a90048b673cb1ae391c0ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5555985
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d68395fe
|
2024-05-24T15:14:46
|
|
ESSL->WGSL: Emit basic function signatures
...signatures don't yet include types or parameters.
See WGSLOutput_test.cpp for a sample translation.
Bug: angleproject:8662
Change-Id: I93273156f72ba193441e737074bd1a8a054f2ea9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5582949
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
0cbc0fe4
|
2024-05-30T00:00:00
|
|
Add IncompatibleTexture end2end tests
Bug: angleproject:343922404
Change-Id: Ic96cc1e2493454844ef65ec799e1aba221d9f084
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5589245
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4ebb28d7
|
2024-05-30T11:36:58
|
|
Fix stack overflow crash by traversing a too-deep AST
This simply moves the check for a too-deep AST before the first attempts
to traverse the AST (i.e., `validateAST()`).
Bug: angleproject:343505104
Change-Id: Iafb658a30f74a666beab8c69745ca53d17d70dd3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5585186
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Auto-Submit: Scott M <mscott@apple.com>
|
|
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>
|
|
5137eb99
|
2024-05-27T01:38:23
|
|
Translator: Fix internal inconsistency with output init
When creating "zero" nodes, this transformation directly takes the
TType's from the variables being initialized. This means that
qualifiers such as invariant, as well as any associations with interface
blocks are retained in these constructors, which is not valid.
This can trip up the SPIR-V generator which does not expect constructors
to be qualified as such (i.e. assumes the TypeSpec to be the default).
Bug: angleproject:342866364
Bug: angleproject:342866374
Bug: angleproject:343011429
Change-Id: If5c38e18ce977bd0eb1a48e41c59f6199eb7d2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5570155
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
dd2780ad
|
2024-05-23T00:00:00
|
|
Write point size for SimpleStateChange tests that use points
Point rendering without specifying
gl_PointSize is undefined.
Fixed: angleproject:342671887
Change-Id: I7ad8fd1cfc5c4495647677665e4beb3464d2ce8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5570938
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6e5eed1c
|
2024-05-28T20:14:47
|
|
Suppress failing newly added deqp test on S22
The cases are failing on S22, per http://b/343202259#comment2
Test: presubmit
Bug: b/343202259
Bug: angleproject:341780527
Change-Id: I16fd8db65785c85df671ceddd19e480bd9672e2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5576756
Commit-Queue: Solti Ho <solti@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
be78da6e
|
2024-05-22T15:33:46
|
|
FrameCapture: log end of trace capture
This makes it easy to spot when the capture is done through logcat.
Bug: angleproject:343190307
Change-Id: Idf174cbf256242e32cda3c781c8b1092123254bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5557966
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Bruno BELANYI <ambroisie@google.com>
|
|
71e0038c
|
2024-05-27T14:50:09
|
|
Vulkan: Remove SwiftShader+AsyncCommandQueue tests
The AsyncCommandQueue feature is not shipping anywhere, especially not
with SwiftShader. Besides, the tests already run
Vulkan+AsyncCommandQueue tests. Additionally, SwiftShader still gets
exposure to this feature together with the EnableParallelCompileAndLink
feature.
Bug: angleproject:40644897
Change-Id: I34f0f76ef598f757d3af365777ebb91149b95be3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5574007
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8db2d61a
|
2024-05-14T00:39:47
|
|
Metal: properly handle base/max level for immutable textures.
Previously, we treat every texture the same as a non-immutable texture.
Every texture has a native mtl::Texture containing mipmap levels from
base GL level to max GL level. And base GL level would be mapped to
level 0 of the native texture.
However, this is not correct for immutable textures, pbuffer or EGLImage
bound textures. Such textures have mipmaps pre-allocated either via
glTexStorage calls or externally. Base and max GL levels don't affect
their allocated mipmap levels, only limit the levels a shader can
sample.
For example, a texture has 8 levels allocated via glTexStorage. Its base
level is set 1, and max level is set to 2. Shaders will only be able to
sample from level 1 to level 2 of this texture. However, it's valid to
attach level 0 or level > 2 of this texture to an FBO.
This CL addresses this bug by separating internal mtl::Texture into two
main objects:
- A native storage will contain the actual mipmap levels of the
texture. FBO attachment or data uploads can refer to a level in this
object.
- A view of the native storage from base GL level to max GL level. This
view will be used in shader sampling and mipmap generations.
Bug: angleproject:6447
Bug: angleproject:8355
Bug: b/42265945
Change-Id: I186b69f02e9e40c75830ffe4b48bd5a3c8d49cf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5531392
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Auto-Submit: Quyen Le <lehoangquyen@chromium.org>
|
|
b793888a
|
2024-05-09T11:40:18
|
|
Deeply nested switch statements -> ambiguous error
Improve the error reported (and potentially avoid a stack overflow
crash) when parsing deeply nested `switch` statements.
Limits the total number of nested switch and/or iterator statements to
`mMaxStatementDepth` (defaults to 256).
Bug: angleproject:8645
Change-Id: Iba4795db15c3859d172df8366bc7de3125c2d472
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5527630
Auto-Submit: Scott M <mscott@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
59adc191
|
2024-05-23T00:00:00
|
|
Metal: Ensure valid vertex buffer layout stride
Metal Validation causes runtime failures if the sum
of the vertex buffer binding offset and the related
vertex layout stride is greater than the buffer's
length.
Fixed: angleproject:342350849
Change-Id: I531f092c6130b37cb8b0b89b20804a222160ceb7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5565528
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
|
|
ad46d67d
|
2024-05-24T10:19:00
|
|
Suppress failing newly added deqp test on S22
Bug: angleproject:341780527
Change-Id: I274493f2b820b9ff007e93cfe41d04af5f3c5e09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5568654
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f3c52204
|
2024-05-24T16:46:01
|
|
Skip antutu_refinery on Linux Intel and AMD
Bug: angleproject:342545097
Change-Id: Id4cec570256dbfa13fc406ef31d4e714950f66d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5570937
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9742351b
|
2024-05-23T00:00:00
|
|
Move ConversionWithNoVertices to WebGL tests
Reliably passing the test requires either
extra validation or backend support.
Bug: angleproject:342419059
Change-Id: Ifd861f292b5d8f0eb63280a182842343078b7e0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5569094
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f0cdb3af
|
2024-05-24T15:14:49
|
|
Skip StateChangeTestES3.RasterizerDiscard on Win Intel
Bug: angleproject:342557702
Change-Id: Ifd79939f53efdc99ed8ec3784c737da87a13e5e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5569093
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6f82959d
|
2024-05-23T00:00:00
|
|
Move OutOfBoundsByteAttribute to WebGL tests
Reliably passing the test requires either
extra validation or backend support.
Bug: angleproject:342419059
Fixed: angleproject:42265239
Change-Id: I29d3fff67a1d15941f18143d30bcb2c940f4e135
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5569089
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
066cde8b
|
2024-05-23T00:00:00
|
|
Move DynamicVertexArrayOffsetOutOfBounds to WebGL tests
Reliably passing the test requires either
extra validation or backend support.
Bug: angleproject:342419059
Change-Id: I0d167a08208888479b7fe17a0343c10667862454
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5565529
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
44d98861
|
2024-05-17T23:55:13
|
|
Assertion under IdGen::createNewName.
Remove code that tries to workaround double underscores symbols name
that would be introduced if user defined symbols contain underscore
prefix or suffix. To avoid unexpected clashes case like '_Data' and
'Data'.
Bug: b/341206126
Change-Id: I59e72e59bf483c84f5e33a21f7737f82c31c6896
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5545479
Auto-Submit: Erica Li <lerica@apple.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
ccd9a43b
|
2024-05-22T11:15:39
|
|
Split EGL_ANGLE_device_d3d into D3D9 and D3D11 versions.
Add EGL_ANGLE_device_d3d9 and EGL_ANGLE_device_d3d11 which make it
possible to know what type of device can be queried ahead of time
without generating EGL errors.
Refactor the DeviceD3D class into Device9 and Device11. Remove the
getType method now that it's not needed for internal validation.
Keep EGL_ANGLE_device_d3d for backwards compatibility.
Bug: angleproject:342096132
Change-Id: Ib950abad58e46a5be269891ea7afd0cb8534cbe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5559163
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e83dd780
|
2024-05-21T12:08:38
|
|
Skip texture_lod_bias_all on tsan SwS
Flaky timeouts at 120s, green builds barely make it
https://ci.chromium.org/ui/p/angle/builders/try/linux-tsan-test/12609/overview
Bug: b/332383430
Change-Id: I4abde927b3cd42805164de0e0efd97835000ab71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5554983
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
6f8b736e
|
2024-05-20T11:19:55
|
|
Manual roll VK-GL-CTS from 13344922ae81 to fd5cc7b1e075 (7 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/13344922ae81..fd5cc7b1e075
2024-05-17 marcin.hajder@mobica.com Run clip and cull distance tests on
OpenGL ES
2024-05-17 cturner@igalia.com Add coverage for transfer-only copies with
multiplanar formats
2024-05-17 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-05-16 gleese@broadcom.com Remove 'decor' specialisation in SPIR-V
tests
2024-05-16 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.4
into vk-gl-cts/main
2024-05-16 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.10
into vk-gl-cts/main
2024-05-15 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_NV_raw_access_chains'
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,yuxinhu@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:341780527
Tbr: yuxinhu@google.com
Change-Id: Idddeb19e94307f2313ab572432c547a76e0e7f91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5547022
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
519d6d7e
|
2024-05-15T15:08:54
|
|
Vulkan: Remove AMD deqp expectations
We no longer test on AMD. These expectations were added when AMD
drivers were very old, so they likely don't apply anymore anyway.
Bug: angleproject:3586
Bug: angleproject:3588
Bug: angleproject:5276
Bug: angleproject:7415
Change-Id: Ic7e172186abaf034ef28d87dfd40e21b8298e6ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5539021
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c73d0776
|
2024-05-15T15:07:56
|
|
Vulkan: Enable ASTC tests on Nvidia
ANGLE emulates ASTC, so we are able to run these tests fine.
Bug: angleproject:6441
Change-Id: I641a729db5c00d203c857710b17754161251d785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5539020
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
d0bdec30
|
2024-05-13T18:11:17
|
|
EGL: Handle null resultOut for sync tail call destruction
Syncs can be destroyed during eglDestroySync or as part of display
destruction. During display distruction there is no result so
swallow any errors.
Bug: angleproject:8434
Change-Id: I172d268c91fd0d6ba534eceff8914f9c719bdf39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5533777
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0ac0603e
|
2024-05-14T00:00:00
|
|
Fold nested std::max calls
When a maximum of three values is needed,
an initializer list with all three values
is more readable than two std::max calls.
Fixed: angleproject:8695
Change-Id: I073ea1af07b215610c85981eea03f6e73107bce6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5541974
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
1409a05a
|
2024-05-14T08:01:10
|
|
Manual roll VK-GL-CTS to 13344922ae81 (14 revisions)
Added new test files to gni and skipped BGRA and SwS failures
glcUniformBlockNegativeTests.cpp/hpp
glcBufferObjectsTests.cpp/hpp
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/9d7b4c3d5533..13344922ae81
2024-05-10 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(buffer_objects), PART 5
2024-05-10 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.10
into vk-gl-cts/main
2024-05-09 cturner@igalia.com Add consistency checks for video format
query interactions
2024-05-09 rgarcia@igalia.com Check pipeline libraries are supported if
RT pipelines are
2024-05-09 rgarcia@igalia.com QPA image viewer improvements
2024-05-09 eric@igalia.com scripts/ctsbuild: fix backslash escapes
2024-05-09 russellc@nvidia.com Reduce host memory in
VK_EXT_host_image_copy tests
2024-05-09 scerveau@igalia.com EncodeTests: use the correct align for
bitStreamBufferOffset
2024-05-09 javed@igalia.com Fix mesh shader to avoid reading output
variables.
2024-05-09 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(uniform_buffer_object_structure_declaration), PART 6
2024-05-09 rgarcia@igalia.com Add test for scalarized flat saturation
2024-05-09 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-05-08 nathaniel@lunarg.com Fixup some VK_EXT_debug_utils references
2024-05-08 erik.faye-lund@collabora.com Test BGRA when supported
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,romanl@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8692
Bug: angleproject:8693
Tbr: romanl@google.com
Change-Id: Idc2ad8d21825754ee58a7e27ce6f21f20fe5d637
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5536541
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
f4140c76
|
2024-05-10T16:56:13
|
|
Remove share group lock from glBindBuffer
This is a very hot function. Removing the share group lock from this
function improves the driver_overhead_2 execution time by ~1ms on Pixel
6.
Bug: angleproject:8667
Change-Id: I9ea04f48aa1d2d0efec21407374393e88a1316e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5533081
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0044f4d1
|
2024-05-13T00:29:30
|
|
Metal: fix IOSurface's render targets invalidated by max level change.
This CL fixes a bug in the following tricky situation:
- Client binds an IOSurface to a texture.
- Previously this would internally intialize the texture's max level
to the default value 1000.
- Client changes the texture's max level to 0.
- Client attachs the texture to FBO 1.
- Client binds FBO 1 and clear it.
- This triggers TextureMtl::getAttachmentRenderTarget() that
initializes the RenderTargetMtl of the texture.
- Client binds FBO 0 and sample the texture.
- Previously this could trigger TextureMtl::onBaseMaxLevelsChanged()
which would invalidate the texture's RenderTargetMtl.
- Client binds FBO 1.
- Client blits FBO 0 to FBO 1.
- This will set DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 in FBO 1.
- Client calls glFlush to restart render command encoder.
- Client issues a draw call.
- DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 would cause FrameBufferMtl to
re-initialize RenderPassDesc from invalid RenderTargetMtl.
- A new render encoder would be created from the invalid
RenderPassDesc.
- the draw call would be encoded to a render command encoder without
any valid color attachment.
The fix in this CL is that when we bind an IOSurface to a texture, the
texture's max level will be automatically set to 0. This will avoid its
RenderTargetMtl from being invalidated if users explicitly change the
max level to 0 in future.
Note: this is not a foolproof fix for every scenario concerning the
base/max level in IOSurface bound/or immutable textures. We will fix
them in future CLs.
Bug: b/335353385
Change-Id: I3a2da6991764f22393178f40c1d7bbe60503cba4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5531388
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
82ddb33b
|
2024-05-10T00:00:00
|
|
Metal: Do not separate vector and matrix constants
Do not create temporary variables for already
folded constant vector and matrix values.
This reduces register usage and partially fixes
MSL compilation errors caused by matrices
present in constant initializers.
Bug: angleproject:8691
Change-Id: Iedfabadd9b7bcb2e6e1e08a5ad39f48305365747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5533925
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a70ef7fc
|
2024-04-25T14:19:50
|
|
Add EGL_ANGLE_no_error for disabling EGL validation.
Chrome makes many small EGL calls that can have proportionally
expensive validation.
Bug: angleproject:8434
Change-Id: I4f4d0e6eff64839f76a0f7bf48e5c94b8df9d809
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5491459
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ecfc5a1
|
2024-05-03T18:29:12
|
|
Issue 8644: Deeply nested iterator declarations can crash
Avoid stack overflow crash when parsing nested iterators (especially
`while` statements).
Limits the number of nested iterator statements to `mMaxStatementDepth`
(defaults to 256).
Bug: angleproject:8644
Change-Id: I9b0fd2ab456c3cdd731b41ab97f495ae4dc0b0bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5519169
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Auto-Submit: Scott M <mscott@apple.com>
|
|
36cd4c1f
|
2024-05-08T12:27:22
|
|
Adding basic readPixels.
This change adds to methods in ImageHelper to read texture data.
It also implements FramebufferWgpu::readPixels to get the parameters
and read the texture data from an ImageHelper that's stored in
mRenderTargetCache.
Bug: angleproject:8653
Change-Id: I349ed8a0ae3d8d0e187c658f3402c4f8cac23eb8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5441353
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
6a6192c8
|
2024-05-08T08:42:24
|
|
Tests: Add native to EGLPrintEGLinfoTest
For comparisons, it is useful to run the EGLPrintEGLinfoTest
against native drivers.
Test: angle_end2end_tests --gtest_filter=EGLPrintEGLinfoTest.*/ES3_2_EGL
Bug: b/337554150
Change-Id: If7c94296fbbd9f3057449d54581f334a37e59216
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525656
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
1dc83614
|
2024-05-07T14:54:06
|
|
Suppress experimental Linux/Intel failure
Adds a test skip for a flaky test that was accidentally omitted when
enabling the Linux/Intel experiment.
Bug: angleproject:8683
Change-Id: I28dea9cb9617f5b8e4cb26d4626a5472608ac398
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5523916
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
|
|
1d0ef518
|
2024-05-07T16:56:43
|
|
Fixing glClear tests.
This CL makes a few changes to fix up the basic glClear test
RGBA8Framebuffer, as well as adding a test that uploads a
texture before clearing a RGBA8 framebuffer.
It moves the wgpu::RenderPassDescriptor(RPD), as well as helper
methods for comparing RPDs from the context to the framebuffer.
The color attachments that are created in when FramebufferWgpu::clear
is called are also stored in the framebuffer now as well.
This CL also changes texture creation to use the RGBA8Unorm format
instead of RGBA8Uint format. It also adds the wgpu viewFormats
parameter to an ImageHelper. Future formats support is still TBD.
Bug: angleproject:8582
Change-Id: Idfc4182eb4d6de8a771f2f91d337564ee71df010
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5503549
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
f3089d1d
|
2024-05-07T00:14:53
|
|
Metal: fix UBO data update undetected between draw calls.
This CL fixes an issue where an UBO was updated between two draw calls.
This would internally allocate a new metal buffer however ContextMtl
didn't know that hence it didn't rebind with new buffers.
Bug: b/338348430
Change-Id: I3d8ce22921811e49ae1b8016ae4a20d770f6f372
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5515858
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
a951e0e0
|
2024-05-05T23:29:33
|
|
Metal: add test for active blit/compute & render encoder mistracking.
The bug was already fixed but we need to add the test to avoid the issue
from resurfacing in future.
Bug: angleproject:8685
Change-Id: Ia10c0954ef39b20b1d891389b7e7a1c81cdc758d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5514529
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
251067ed
|
2024-05-03T22:36:11
|
|
Metal: don't break render pass when uploading a texture.
Bug: b/337214693
Change-Id: Ib2dc77c364a72f2973cbc3882f6125bffbc0a11b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5514948
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
4880a6c2
|
2024-05-03T14:43:20
|
|
Enhance VulkanPerformanceCounterTest coverage
Enable additional config with PadBuffersToMaxVertexAttribStride feature
Bug: b/271915956
Change-Id: I5fe27781fc51cdf477d5c2f453ad05a211788739
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5512875
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ead98ed9
|
2024-05-02T14:04:14
|
|
Implement basic texture upload.
This change modifies ImageHelper's methods to upload textures to
fix webgpu API calls, as well as fully implements uploading texture
data via TextureWgpu::setImage for RGBA8 formats.
Bug: angleproject:8457
Change-Id: I1c5be3d79ad996a709086ca7157cca6229a336ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5398002
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
97aaad3a
|
2024-04-20T19:27:13
|
|
Vulkan: Pack DescriptorSetLayoutDesc layout
Use angle::FastVector instead of arrays to further compact
DescriptorSetLayoutDesc layout
Bug: angleproject:8677
Tests: VulkanDescriptorSetLayoutDescTest*
Change-Id: I5bb7b2ebf0aa5aba3d7c47c45384788245dce3dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5470362
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
e4a12a67
|
2024-05-02T13:25:53
|
|
Vulkan: Dynamic depth test + static depth write
When depth test changes in such a situation, the static state is still
affected (because we mask depth write with depth test) so the graphics
pipeline still needs to be invalidated.
Bug: b/336386662
Change-Id: Iebba79ffd7d6fa3962a5b20c27efcca3aa35b10a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5511602
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e5606471
|
2024-04-25T14:48:53
|
|
Start Linux/Intel experiment
Bug: chromium:41496254, angleproject:8680, angleproject:8682
Bug: angleproject:8683
Change-Id: I1956ac642969cae0c17fff87388e899237b9df2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5491789
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
|
|
44bdc2af
|
2024-04-23T19:43:29
|
|
restricted_trace_perf: Write summary for single renderer
For use when generating spreadsheets focused on Vulkan.
Previously the script would exit without generating a
CSV file unless there were two renderers to compare.
Test: restricted_trace_perf --renderer vulkan
Bug: b/317411251
Change-Id: Ic9872599edb38c738112265b1ce7f252cf3f966a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5508315
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bb6a5724
|
2024-04-29T16:01:47
|
|
Use vendor ID to check QCOM device for tests
* In angle_test_instantiate, IsQualcomm() will now use the vendor ID
as well.
Bug: b/331271522
Change-Id: Ifb26034516a007472fb2a54f34f332e34b46a365
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5499382
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
6658d5e8
|
2024-04-25T13:51:43
|
|
Tests: Add Modern Combat 5 trace
Test: angle_trace_tests --gtest_filter=*modern_combat_5
Bug: b/330861486
Change-Id: I54b22010fdb5be6d1113f4dd6561848b44a413cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5501770
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
978cf07b
|
2024-04-25T14:35:14
|
|
Suppress failures on Pixel 6 AP1A.240405.002
Bug: b/336847261
Change-Id: I501f64e22536418715369742f5ec760e23aa2c14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5489759
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
44ce5887
|
2024-04-11T16:37:27
|
|
Allow the backend to do resource init for framebuffers.
The frontend framebuffer would loop through attachments which needed to
be initialized and call initializeContents on them individually. For
the GL backend this is inefficient because each of these resources is
bound to a scratch framebuffer and cleared when the entire original
framebuffer could have been cleared at once.
The frontend now accumulates a set of attachments that need to be
cleared and sends it to the FramebufferImpl. The default
FramebufferImpl does the old logic of calling initializeContents on
each attachment. FramebufferGL has an optimized path to clear the
whole framebuffer if possible.
Bug: angleproject:8642
Change-Id: I574cd03307794a6c7b2666976784e4d4dca1d08c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5448552
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d9a00875
|
2024-02-21T16:57:43
|
|
Metal: Override internal format of images
Add support for overriding the internal format when binding Metal
textures to EGL images.
Fixed: angleproject:8552
Change-Id: I364a88a2e608e462c5216c92927679814ab91ca5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5310305
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
e3a58b25
|
2024-04-11T09:33:55
|
|
FrameCapture: Support deferred linking of shaders
Modern Combat 5 creates and attaches programs and shaders but
defers compiling and linking until needed. Added support in
the tracer for this corner case and updated CapturedTest
to exercise this behavior as well.
Test: angle_end2end_tests --gtest_filter=CapturedTest.MultiFrame/ES3_Vulkan
Bug: b/334030316
Change-Id: Ib7fdf0fe25b11cdb3df33d50e49501f3a51e9510
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5449599
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6fe8a399
|
2024-04-22T18:11:30
|
|
Metal: Fix rewritten out variables with underscores
Fix compilation in case of output variables start with underscores.
Make name emission always emit MSL name ANGLE_{name}, so that GLSL `_e`
and `e` cannot clash. This regressed in angleproject:8558.
Bug: chromium:335744344
Change-Id: Ibae4dba4a24888acc1461582e69d48218ba11176
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5473412
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
e92b8e8d
|
2024-04-16T13:27:19
|
|
Manual roll VK-GL-CTS from 491cfc2dbec9 to b529676d0523 (1 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/491cfc2dbec9..b529676d0523
2024-03-29 yuxinhu@google.com Move external/openglcts/data into a new
subdirectory
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,syoussefi@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
Change-Id: I5e07217cca190ec243f1b700348cde0384dbf052
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5457892
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1264c9cc
|
2024-04-16T13:22:16
|
|
Manual roll VK-GL-CTS from caf989d22e07 to 393ca590ec21 (5 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/caf989d22e07..393ca590ec21
2024-03-29 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(transform_feedback3), PART 4
2024-03-29 marcin.zajac@mobica.com Test depth with
VK_EXT_fragment_density_map
2024-03-29 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.8
into vk-gl-cts/main
2024-03-28 skr@nvidia.com Consider layer index when retrieving decoded
frame
2024-03-26 rgarcia@igalia.com Share test configuration between case and
instance in EDS tests
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,syoussefi@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
Change-Id: I562b77d2dab2e949a2562c1bb0e655e1ed8bb5df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5459012
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d9d583bf
|
2024-04-15T00:24:47
|
|
Implement a lock/unlock-only mutex based on futex
Pthread mutexes are expensive due to their numerous features. When a
mutex only needs to support lock and unlock, its implementation can be
much simpler. The implementation in this change is "inspired" by a
similar mutex in mesa.
Expected uses of this mutex are:
- Allowing some OpenGL calls to avoid the share group lock and instead
lock the specific shared object they operate on.
- Replacing SpinLock in the OpenCL implementation (spin-lock in user
space is a bad idea [1])
- Generally anywhere we use std::mutex just to do lock/unlock
Tests based on patch authored by Igor Nazarov <i.nazarov@samsung.com>
[1]:https://www.realworldtech.com/forum/?threadid=189711&curpostid=189723
Bug: angleproject:8667
Change-Id: I52278c9d19616338c499bbcef6684746caead6ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5446558
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
67fc293a
|
2024-04-05T13:25:12
|
|
WebGPU: Add shader translation and program linking stubs.
Add a TranslatorWGSL which outputs the same translated shaders every
time.
Implement the compile and link tasks.
Bug: angleproject:8662
Change-Id: I62bbd6c528e1d671d0f4becc38f15f1eceb0336c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5428807
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
f4485224
|
2024-04-05T10:29:23
|
|
WebGPU: Implement glBufferData and glBufferSubData
Define several usages for WebGPU buffers that map to wgpu buffer usage
flags. Maintain a set of buffers by usage and a serial of the one with
the most recent data.
Defer creation of the buffer as long as possible to take advantage of
the WebGPU mapAtCreation flag for data upload. If we ever have to unmap
these buffers, staging buffers must be used to upload afterwards.
Add some helpers for getting Device and Instance from a gl::Context.
Bug: angleproject:8654
Change-Id: Ibb8147119af8a98738fc4d579830a02ccaa1d7c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5426813
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
e088af30
|
2024-03-28T15:30:59
|
|
Parsing very long array declarations crash
Avoid stack overflow crash when parsing arrays with a huge number of
dimensions.
Limits the number of array dimensions to `mMaxExpressionComplexity`
(typically 256). Use `YYABORT` to abort parsing.
Bug: angleproject:8610
Change-Id: Icf3914871b167c820b84ae8f3acba80dbd698af3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5424330
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e41286e1
|
2024-04-10T11:05:09
|
|
Vulkan: Fix internal caching missing
Since the backend wait for post-link tasks was made possible [1], the
front-end may never get a chance to internally cache its binary. This
is because the decision to cache the binary was based on the existence
of post-link tasks, and the backend clearing that list made the
front-end confused.
In this change, a specific bool tracks whether binary is cached, and
that is checked at various times to make sure the binary cache is
eventually done.
[1]:https://chromium-review.googlesource.com/c/angle/angle/+/5427001
Bug: angleproject:8297
Change-Id: Iceefd0bca79d570d4910983be3660d6e725684a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5445484
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d9943e44
|
2024-04-09T23:53:48
|
|
Remove Program::syncState
The last bit of responsibility still left in Program::syncState was to
wait for post-link tasks for the sake of EGLBlobCacheTest tests. A new
extension, GL_ANGLE_program_binary_readiness_query is created so that
the wait can be done in the test itself.
This extension is ultimately useful for applications as well, so they
can avoid blocking the CPU by calling glGetProgramBinary prematurely.
Bug: angleproject:8297
Change-Id: Ied6b755cb9b060198f82c7948bfd03441435a578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5440302
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c1397510
|
2024-04-07T21:05:34
|
|
Vulkan: Fix data race in WarmUpGraphicsTask
std::unordered_map doesn't support simultaneous read and write. Cache
placeholder PipelineHelper in WarmUpGraphicsTask and std::move the
newly created PipelineHelper when warm up is complete.
Bug: angleproject:8297
Change-Id: I1cc4b3cd48147d0080666d5669d61de006c2252d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5431830
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4af8dafb
|
2024-03-10T20:14:18
|
|
Vulkan: Enable MSRTT emulation tests on swiftshader
Bug: b/309355117
Change-Id: I2d842bc52f9b6af340025654111dfd3f8e9c58a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5359654
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuly Novikov <ynovikov@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>
|
|
e73c0c6d
|
2024-04-09T11:20:18
|
|
EGLProtectedContentTest: move sleep behind compile-time var
Multiple tests with multiple steps wasting ~20s in automated runs
Bug: b/333113001
Change-Id: I494f6e3ea373945ad79edbc23eb267dfef71ef87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5440412
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
ba208b45
|
2024-04-06T21:08:15
|
|
Vulkan: wait for post-link tasks in resetLayout
Wait for post-link tasks before resetting ProgramExecutableVk. Otherwise
mGraphicsProgramInfos, which post-link tasks use to create pipeline, can
be prematurely invalidated.
Bug: angleproject:8297
Tests: Texture2DTestES3YUV*DisableProgramCaching
Change-Id: Ib84cebad252777ae4c37cb32c455c326911416a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5430927
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
13829f20
|
2024-03-26T23:03:12
|
|
Vulkan: Optimize depth/stencil resolve with glBlitFramebuffer
Like color resolve, depth/stencil resolve is now also possibly done by
modifying the render pass and attaching a depth/stencil resolve
attachment.
Bug: angleproject:7551
Change-Id: I045e3875e24006d2473a55b6c3856dd768fe8b84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5398004
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4a5d47df
|
2024-04-04T16:41:46
|
|
Test that binary is not saved after being loaded
Bug: angleproject:8297
Change-Id: I2e7e2ffb8fff37aba828d25825fe7ab3262406ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5426396
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f8bcfc3f
|
2024-04-04T16:03:32
|
|
Tests: avoid double logging to stderr from WARN()
LoggingAnnotator::logMessage calls both plat->logWarning()
(when plat is not nullptr)
and gl::Trace(), and both log the message to stderr
gl::Trace only logs when trace or asserts are enabled, so exclude that
case from TestPlatform_logWarning.
Bug: None
Change-Id: I1649fcc9046f59cbd8f4cfef6be809d3218eddc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5426531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3b650ffa
|
2024-03-19T09:53:06
|
|
Metal: Assert while using gl_VertexID as ivec
Metal [vertex_id] is uint while gl_VertexID is int. Replacing
gl_VertexID with gl_VertexIDMetal without rewrites of the expressions
would cause invalid expressions.
Fix by casting uint kgl_VertexIDMetal to int kgl_VertexID instead
of replacing variable during compile.
Bug: angleproject:8597
Change-Id: I76acdb2a0ab5982aa05181175925b3359068e901
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5376498
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
103c1b53
|
2024-03-29T14:37:23
|
|
Vulkan: Drop MSRTT emulation dependency on independentResolveNone
Usage of VK_RESOLVE_MODE_NONE was removed in [1], but dependency to this
property was accidentally added in [2].
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/2743666
[2]: https://chromium-review.googlesource.com/c/angle/angle/+/3353895.
Bug: angleproject:4836
Change-Id: I25028b5d343686edd794acdac3714c4a6cb5fa17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5407073
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
57eded36
|
2024-04-03T23:02:39
|
|
Vulkan: Fix off-by-one error in compute-based stencil blit
The coordinates used for sampling were calculated based on pixel's
top-left (integer) coordinates and used with a NEAREST sampler. This
resulted in two bugs:
- When X was flipped, the bounds check rejected the first column
- The sampling could pick the wrong pixel as the on-the-edge coordinates
could map to either of 4 pixels that share that corner.
This change moves the sampling coordinates to the pixel's center.
Bug: angleproject:8652
Change-Id: I0b54fa0bad366f52f8e6c17bb0054fa373af8b5c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5420834
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
58ecad7a
|
2024-04-03T23:12:05
|
|
Remove assertion that program is not linking when bound/unbound
It's valid to link a program, let it happen in parallel and in the
meantime bind and unbind the program in other contexts. The add/release
ref functions were asserting that link is resolved, which is not true in
that case.
Bug: angleproject:8647
Change-Id: I784b5adbb04f062752a873deb1e7a4aaf4527e33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5420990
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ab6dd5b2
|
2024-03-07T14:19:58
|
|
Avoid asserts when const folding binary ops on void variables
Fix asserts for example with / and % during constant folding when
the operands might be voids.
Bug: angleproject:8592
Change-Id: I22275642dbcdf9066940d3a94114e8daa5cbbe41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5416376
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
304ea14a
|
2024-04-01T17:24:10
|
|
Start Mac Intel experiment
Bug: chromium:326904538, angleproject:8628
Change-Id: Ib453b4ba0e582d348ec0618b7a5b9c0e69efb86e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5410986
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
64cfbb68
|
2024-04-02T13:22:09
|
|
GL: Fix MultisampledRenderToTexture tests and expectations
Some MSRTT tests were failing on the GL backend due to exact GL_EQUAL
depth tests, others were marked as skipped on all of Android due to old
device issues.
Update the Android expectations for these tests.
Bug: angleproject:8642
Change-Id: I2aad2637773967102a6172fd0a8ae2cb58a420ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5413775
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
|
|
85b3e967
|
2024-04-01T14:31:17
|
|
Fail link and validation of invalid tessellation program
The GL_EXT_tessellation_shader spec says -
The tessellation control and evaluation shaders are both optional.
If neither shader type is present, the tessellation stage has no
effect. However, if either a tessellation control or a tessellation
evaluation shader is present, the other must also be present.
Fail link and validation if a program contains TCS or TES shader but not
both.
Bug: angleproject:3572
Tests: KHR-GLES32.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
Change-Id: I6799f101a186f3bfae738df442e9aeee691fd91a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5410646
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
5d294e6e
|
2024-04-01T11:32:17
|
|
Manual roll VK-GL-CTS from 08c8f6c7aa44 to caf989d22e07 (30 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/08c8f6c7aa44..caf989d22e07
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure
that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: b/332383430
Tbr: yuxinhu@google.com
Change-Id: If0518d4db878990405bf5813ca456eafae0d9970
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5410639
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
18797bf2
|
2024-03-28T00:00:00
|
|
Metal: Handle incompatible attachments
Metal runtime fails if the attachment pixel
formats are not compatible with the program
outputs or if the corresponding render pass
and pipeline pixel formats do not match.
Added Metal-specific state tracking and forced
draw framebuffer syncronization for such cases.
Cleaned up and reduced Framebuffer::setAttachmentImpl.
Fixed: angleproject:5233
Change-Id: I4ee01889debe0e3cce54635e6cba62dbfdc02722
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5377813
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e85bc345
|
2024-03-29T13:43:46
|
|
Account for disableProgramCaching
Blob cache tests rely on implicit caching of programs. Account for
disableProgramCaching frontend feature when saving and retrieving
from cache. Also skip EGLBlobCache tests if the feature is enabled.
Bug: angleproject:8297
Change-Id: Ib101eb5712deb7c04dd19c7092f93a6c6b42cd40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5408103
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
76113ffb
|
2024-03-27T20:35:46
|
|
Manual roll VK-GL-CTS from fe6e7bd09f53 to 08c8f6c7aa44 (1 revision)
Manual roll requested by solti@google.com
Some local updates were made to the roll, see https://anglebug.com/8636 for
details.
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/fe6e7bd09f53..08c8f6c7aa44
2024-03-21 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(framebuffer_blit), PART 2
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,solti@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
Test: presubmit
Bug: angleproject:8636
Bug: b/331390622
Change-Id: I4e754b2a91f8a321e709842a8cf146bbf54a2199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5402981
Auto-Submit: Solti Ho <solti@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
076a5059
|
2024-03-28T10:15:42
|
|
Remove test suppression of dEQP-EGL*robustness on Pixel 6
Previoustly the tests dEQP-EGL*robustness*out_of_bounds_non_robust*
were skipped on Pixel 6, because the test is intentionally testing
in GLES, shader write out of bounds access results in undefined
behavior. In ANGLE vulkan backend, shader write out-of-bounds
access results in vulkan device lost on Pixel 6, which is a valid
undefined vulkan behavior according to spec. However, VVL is
reporting errors when ANGLE cleans up vulkan resources, because
they haven't finished execution on GPU.
With below VVL changes landed:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/9452b82820276eb3eb2102bf49b72e59916d3ea7
https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/af257b1c55f312b550addeca091265c249c09cf3
VVL now checks if there is a vulkan device lost upon resource
clean-up. If the vulkan device is lost, even if the resource
has not finished execution, treat resource clean up as a safe
vulkan operation and do not report VVL error.
Bug: b/289544394
Change-Id: I9d3532d4d6b0c3a1cdfd8837e13b4527d0dfbd7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5403212
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
84eb4f73
|
2024-03-26T15:44:48
|
|
Add a few use-after-resolve depth/stencil framebuffer tests
Bug: angleproject:7551
Change-Id: I42c1a6b8fe8714fd9c1568d216b12ee9a001aba5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5399137
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a0fa06f6
|
2024-03-25T14:46:56
|
|
Translator: Disallow samplers in structs in interface blocks
As disallowed by the spec:
> Types and declarators are the same as for other uniform variable
> declarations outside blocks, with these exceptions:
>
> * opaque types are not allowed
Bug: chromium:328859176
Change-Id: Ib94977860102329e520e635c3757827c93ca2163
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5391986
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0e9254bd
|
2024-03-25T16:37:51
|
|
Vulkan: Optimize color invalidates
By not flushing the render pass when there is an invalidate.
Previously, the tracking of invalidation, write to attachments,
management of load/store ops, and whether image contents are defined or
not have all been unified between color and depth/stencil images.
As such, it is possible to not close the render pass when a color image
is invalidated just as is not done for depth/stencil images. Together
with the optimization to resolve attachments [1], it is now finally
possible to efficiently do MSAA rendering with ANGLE.
Note that the optimization to use resolve attachments for depth/stencil
is not yet implemented. For color only, the perf test added in [2]
shows the following improvement on Pixel 6:
- Single sampled rendering: ~2.73ms
- Resolve + invalidate (before optimizations): ~3.54ms
- Resolve + invalidate (after this change): ~2.85ms
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/5388492
[2]: https://chromium-review.googlesource.com/c/angle/angle/+/5392548
Bug: angleproject:7551
Change-Id: I008adf9f53df97ab464b0a0399f0b312bf4d0d3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5391905
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c8b3f6b
|
2024-03-26T17:07:39
|
|
Start Mac AMD experiment
Bug: chromium:327017900, angleproject:8628
Change-Id: I7b108c724eaa6f5ff7b8098c256c6e4a47578b5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5399719
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9475ac40
|
2023-11-15T10:25:06
|
|
Vulkan: Make efficient MSAA resolve possible
Prior to this change, using a resolve attachment to implement resolve
through glBlitFramebuffer was done by temporarily modifying the source
FramebufferVk's framebuffer description. This caused a good deal of
complexity; enough to require the render pass to be immediately closed
after this optimization.
The downsides to this are:
- Only one attachment can be efficiently resolved
- There is no chance for the MSAA attachment to be invalidated
In this change, resolve attachments that are added because of
glBlitFramebuffer are stored in the command buffer, with the
FramebufferVk completely oblivious to them. When the render pass is
closed, either the FramebufferVk's original framebuffer object is used
(if no resolve attachments are added) or a temporary one is created to
include those resolve attachments.
With the above method, the render pass is able to accumulate many
resolve attachments as well as have its MSAA attachments be invalidated
before it is flushed.
For a FramebufferVk that is resolved in this way, there used to be two
framebuffers created each time and thrown away as the code alternated
between starting a render pass without a resolve attachment and then
closing with one. With this change, there is now one framebuffer
(without resolve attachments) that is cached in FramebufferVk (and is
not recreated every time), and only the framebuffer with resolve
attachments is recreated every time.
Ultimatley, when VK_KHR_dynamic_rendering is implemented in ANGLE, there
would be no framebuffers to create and destroy, and this change paves
the way for that support too.
WindowSurfaceVk framebuffers are still imagefull. Making them imageless
adds unnecessary complication with no benefit.
-----------------
To achieve efficient MSAA rendering on tiling hardware, applications
should do the following:
```
glBindFramebuffer(GL_FRAMEBUFFER, msaaFBO);
// Clear the framebuffer to avoid a load
// Or invalidate, if not needed to load:
// glInvalidateFramebuffer(GL_DRAW_FRAMEBUFFER, ...);
glClear(...);
// Draw calls
// Resolve into the single sampled framebuffer
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, resolveFBO);
glBlitFramebuffer(...);
// Immediately discard the contents of the MSAA buffer, to avoid store
glInvalidateFramebuffer(GL_READ_FRAMEBUFFER, ...);
```
The above would translate to the following Vulkan render pass:
- MSAA LOAD_OP_CLEAR/DONT_CARE
- MSAA STORE_OP_DONT_CARE
- Resolve LOAD_OP_DONT_CARE
- Resolve STORE_OP_STORE
This makes sure the MSAA data doesn't leave the tile memory and greatly
reduces bandwidth usage.
Once anglebug.com/4892 is fixed, this would also allow the MSAA image
to never be allocated either.
Bug: angleproject:7551
Bug: angleproject:8625
Change-Id: Ia9f4d20863d76a013d8495033f95c7b39f77e062
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5388492
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8e7d3379
|
2024-03-25T22:09:44
|
|
Vulkan: Add a perf test for multisample resolve + invalidate
Bug: angleproject:7551
Change-Id: I1d45e720a6273650aaebd98aade9b363a804e886
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5392548
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
856054c4
|
2024-03-26T16:32:41
|
|
Trace tests: fix run_angle_android_test.py --prepare-only
Bug: b/292249127
Change-Id: Ied2b65c84f6cebe4d6d75d91910f9f124288e487
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5399138
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
93da22dd
|
2024-03-22T16:10:51
|
|
use_cxx17=true in arm debug compile
Android rolls currently require C++17,
set ANGLE to C++17 to prevent Android roller breakage
Bug: b/330910097
Change-Id: I94ef05f91a3532a42876e27b296342552aede974
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5387270
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
eacd6acd
|
2024-03-22T05:38:13
|
|
Add RenderTargetCache to FramebufferWgpu
...and update it based on dirty bits.
Bug: angleproject:8582
Change-Id: If227392b24b3fc649d48cb1bce1144400cd98d70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5386900
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|