|
afc1e5dc
|
2023-03-27T00:00:00
|
|
GL: Support OES_sample_variables
Bug: angleproject:8097
Change-Id: I983d6e83fe9ca942c91cbdf7274b46306e38f11f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368476
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
249b03ac
|
2023-03-24T15:11:10
|
|
restricted_trace_perf: Delete settings when using default
Follow up to the addition of `--renderer default`, actively
delete the settings if default is chosen. Otherwise the script
will just use whatever settings you already have.
Test: restricted_trace_perf.py
Bug: b/269645211
Change-Id: I83be7e3f7fa2f2a2bc9f9d243820b49a3cdbed82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368874
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
2bd8acfe
|
2023-03-23T18:24:43
|
|
Tests: Add Geometry Dash trace
Test: angle_trace_tests --gtest_filter="*geometry_dash*"
Bug: b/271876646
Change-Id: I18ab2f22230f0c63d3aaf7c825c9cc55d896d4d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368019
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
dae99340
|
2023-03-23T14:36:28
|
|
Remove uninited pixel check from TexStorageWithPBO
Towards the end of the test "TexStorageWithPBO" from Texture2DTest, the
color of the pixel outside the red square is checked to confirm that it
is black. However, due to that part being uninitialized in the test,
its color could be left over from a prior test, causing a failure.
* Removed the pixel check for outside the square.
* Updated the color check for the square to cover its whole area.
Bug: angleproject:4126
Bug: angleproject:5081
Bug: angleproject:5097
Bug: angleproject:5651
Bug: angleproject:8093
Change-Id: I3ceb8cf30456f51a60630f9e258210a8ccae0d95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4367898
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f2c5ce4e
|
2023-03-16T17:44:56
|
|
Re-enable mutable texture upload for one context
It was observed that in some apps, mutable textures are uploaded in a
context, but that context's outside RP command buffer is not flushed
at all, resulting in invalid (noise) or incorrect textures.
* Added isEligibleForMutableTextureFlush() to be used to determine
whether onMutableTextureUpload() should be called.
* Restricted the use of mutable texture upload to single-context
share groups.
* When the number of contexts becomes greater than one, the original
context's outside render pass command buffer is flushed.
* Added related tests.
* Added a test to make sure that textures can be uploaded in one
thread, and used for draw calls in another, with the help of a
sync object.
* Added a test to make sure that textures can be uploaded in the
main thread, and used in a new thread.
* Added a test in which a new context is created after mutable
mipmap textures are defined.
Bug: b/264143971
Change-Id: I66c0d8b04d39bb7244e5752aac0e46a0192f012e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4349156
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
34a06e25
|
2023-03-15T18:46:55
|
|
Start MacBook Pro AMD 2019 experiment on ANGLE bots
Suppress failing tests
Bug: chromium:1382149, angleproject:8091
Change-Id: I817d3db8badc35a12ecc9650750ca9190c617f6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4341695
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
74edb4b4
|
2023-03-22T18:38:38
|
|
Skip PixelLocalStorageTest.Interrupt on iOS Metal
Bug: angleproject:7994, chromium:1421437
Change-Id: Ib6a8b316212510f73f56ef9e56c8d2da2fe07cfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359704
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ad52f12e
|
2023-03-21T00:00:00
|
|
Implement EXT_conservative_depth
Added translator frontend and GLSL backend
support for gl_FragDepth redeclaration and
layout qualifiers.
Added mappings to DepthGreater, DepthLess,
and DepthUnchanged SPIR-V execution modes.
Bug: angleproject:8046
Change-Id: I23f19ff54380741107970a44055ea269eef179f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355028
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ec9595f1
|
2023-03-21T10:02:00
|
|
restricted_trace_perf: Run against default driver
On newer Android versions where ANGLE can be the default driver,
selecting "native" as the driver will always seek out the system
driver instead of the default driver.
To allow the platform to select the GLES driver, add a "default"
mode that does not use any Android settings for driver selection.
To use, pass `--renderer default`
Test: restricted_trace_perf.py
Bug: b/269645211
Change-Id: Ie9bf64eaa823d9d54301472c1d4e48bf2f5482cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4358331
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a491bbe3
|
2023-03-18T19:05:08
|
|
Add PLS utilities for interrupting a rendering pass
Adds two more simple commands to ANGLE_shader_pixel_local_storage that
allow WebGL and the command buffer to interrupt rendering passes without
having to either (1) make expensive queries, or (2) track lots of
complex state for validation that they are not currently equipped to
track.
Bug: chromium:1421437
Change-Id: I80eaef3ae6b0b4bbbecb9cd2268ac90b43675d1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355032
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
ba845fcf
|
2023-03-20T00:00:00
|
|
Metal: Implement EXT_clip_control
* Skipped vertex shader depth correction when
clip depth mode is set to GL_ZERO_TO_ONE.
* Adjusted front face mode and pre-fragment
vertical flip driver uniform based on the
clip origin state.
* Added more clip control end2end tests.
* D3D11: Fixed scissored draws
with upper-left clip origin.
Fixed: angleproject:8065
Change-Id: Ife82fa2ad39fad463c23ec10b49bff409272ebf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356661
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
|
|
f5695244
|
2023-03-21T00:00:00
|
|
Fix sample qualifier validation
* `smooth sample` is the same as `sample`
* `flat sample` is the same as `flat`
Bug: angleproject:3589
Change-Id: I8615fa73f4b0cea729b8e09d86f1b8183669de2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356666
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0cb6697a
|
2023-03-09T10:35:04
|
|
Capture/restricted_traces: update documentation
With the new context handling the trace files are named differently, and
the description how to remove secondary contexts also is out of date.
Bug: None
Change-Id: Ia8258502ef53f9d90b742eff01f8125d816ca74e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4323658
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
d7201a0f
|
2023-03-20T11:22:22
|
|
Tests: Add New Legend of the Condor Heroes trace
Test: angle_trace_tests
--gtest_filter=TraceTest.new_legend_of_the_condor_heroes
Bug: b/274401318
Change-Id: If910e5d3215bfebf8a2779313f709a18a1f58caa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355351
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
|
|
bacc066b
|
2023-03-20T17:01:03
|
|
Unskip dEQP-EGL tests
dEQP-EGL.functional.image.api.create_image_gles2_android_native_* on Mac
Bug: chromium:1347817
Change-Id: Iea7a2a05ec32eec8f86f9d0c02fe9e8a43d1922b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352891
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e809e7bd
|
2023-03-13T00:00:00
|
|
Reland "Implement EXT_depth_clamp"
This is a reland of commit f8c1418319ac2aef4b3101e322005b1d0f73120f
Host GPU bugs are observable in iOS Simulator
Original change's description:
> Implement EXT_depth_clamp
>
> * Added depthClamp to the RasterizerState
> * Added DepthWriteTest end2end tests covering
> both clipped and clamped depth writes
>
> Capture
> * Updated serialized rasterizer state
> * Updated CaptureMidExecutionSetup
>
> OpenGL
> * Requires GL 3.2 or ARB_depth_clamp
> on desktop contexts
> * Maps to EXT_depth_clamp on ES
>
> D3D11
> * Maps to the opposite of
> D3D11_RASTERIZER_DESC.DepthClipEnable
> * The new tests uncover several edge cases where
> a workaround is needed to implement unextended
> OpenGL semantics on top of D3D
>
> Metal
> * Maps to the setDepthClipMode command
>
> Bug: angleproject:8047
> Bug: angleproject:8077
> Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:8047
Bug: angleproject:8077
Change-Id: I8c5f8304276c97c51b2c3382cd2764592ee0c3fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4349938
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
07074968
|
2023-03-17T19:13:39
|
|
Validate gl[Push,Pop]DebugGroup
Bug: angleproject:8089
Test: DebugTestES32.DebugGroup*
Change-Id: I3a20822a072cea8f4a8a58445917a4ebb86db9da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350852
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4a77b0f5
|
2023-03-18T00:16:24
|
|
Revert "Implement EXT_depth_clamp"
This reverts commit f8c1418319ac2aef4b3101e322005b1d0f73120f.
Reason for revert: This change breaks angle_end2end_tests on Metal backend: https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/26035/overview
Original change's description:
> Implement EXT_depth_clamp
>
> * Added depthClamp to the RasterizerState
> * Added DepthWriteTest end2end tests covering
> both clipped and clamped depth writes
>
> Capture
> * Updated serialized rasterizer state
> * Updated CaptureMidExecutionSetup
>
> OpenGL
> * Requires GL 3.2 or ARB_depth_clamp
> on desktop contexts
> * Maps to EXT_depth_clamp on ES
>
> D3D11
> * Maps to the opposite of
> D3D11_RASTERIZER_DESC.DepthClipEnable
> * The new tests uncover several edge cases where
> a workaround is needed to implement unextended
> OpenGL semantics on top of D3D
>
> Metal
> * Maps to the setDepthClipMode command
>
> Bug: angleproject:8047
> Bug: angleproject:8077
> Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:8047
Bug: angleproject:8077
Change-Id: I829add68c006c72b7b4acf03aee3efa8a9a16fac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350876
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
d521ccb3
|
2023-03-16T15:09:10
|
|
Tests: Add Rise Of Empires trace
Test: angle_trace_tests --gtest_filter=TraceTest.rise_of_empires
bug: b/274049298
Change-Id: I1fc2c177a3901bb9997f532e6d3fa686736eaa94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350370
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
6ea6b360
|
2023-03-15T13:49:02
|
|
Fix allowed_keywords dEQP test failures
Bug: b/272756897
Bug: angleproject:7592
Change-Id: I12f498f4ef0a1fa6da7d45345a4cb9e208bd9f03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4343518
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
50dec716
|
2023-03-17T11:39:15
|
|
Linux skips RegisterContextCompatibilityTests altogether.
It is already effectively disabled by skipping all configs but that
still makes egl* calls leading to sporadic process corruption due to
loading desktop drivers under xvfb.
Note that it currently fails to register tests on all platforms as
RegisterContextCompatibilityTests is called after TestSuite
instantiation which leads to tests not being registered at all.
+some cleanups
Bug: angleproject:8083
Change-Id: I075dc67b73d627548efb3f80186ec408481e2707
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348334
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f8c14183
|
2023-03-13T00:00:00
|
|
Implement EXT_depth_clamp
* Added depthClamp to the RasterizerState
* Added DepthWriteTest end2end tests covering
both clipped and clamped depth writes
Capture
* Updated serialized rasterizer state
* Updated CaptureMidExecutionSetup
OpenGL
* Requires GL 3.2 or ARB_depth_clamp
on desktop contexts
* Maps to EXT_depth_clamp on ES
D3D11
* Maps to the opposite of
D3D11_RASTERIZER_DESC.DepthClipEnable
* The new tests uncover several edge cases where
a workaround is needed to implement unextended
OpenGL semantics on top of D3D
Metal
* Maps to the setDepthClipMode command
Bug: angleproject:8047
Bug: angleproject:8077
Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
21a3367a
|
2023-03-17T00:56:18
|
|
Tests: Reduce load of computation heavy tests for Swiftshader.
Affected tests are very core heavy and may load all CPU cores.
LUCI BOT is running multiple tests in parallel. Having such heavy tests
increases containment for CPU cores. As result, some tests may take
a lot more time to complete and even hit timeout (currently 60 sec).
Typical time to complete all tests on the LUCI BOT:
With this tests disabled: 295 sec
enabled: 475 sec (+180 sec or +61%)
Time to complete all tests on the local machine:
Normal tests:
Tests completed in 173.040861 seconds
Tests completed in 184.974704 seconds
Tests completed in 171.654014 seconds
Reduced load:
Tests completed in 127.693891 seconds
Tests completed in 125.536354 seconds
Tests completed in 128.236671 seconds
Disabled tests:
Tests completed in 124.614823 seconds
Tests completed in 119.456267 seconds
Tests completed in 118.890189 seconds
This CL instead of disabling, reduces the load for Swiftshader.
Bug: chromium:1424783
Bug: angleproject:8039
Change-Id: I44ed6a6c8322033b1d2c3e9e52a06fe1bb74864c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4345872
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
4982b903
|
2023-03-14T19:56:51
|
|
Revert "Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk"
This reverts commit 755bfe471d23bc2aac5e78493537801dc5f90792.
Reason for revert: Causing flaky on pixel 6 angleproject:8082
Original change's description:
> Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk
>
> BufferVk::setDataWithMemoryType() has one optimization that it tries to
> detect glBufferData(target, size, nullptr, usage) and if existing
> storage is busy, it immediately reallocate storage. With the
> optimization in previous CL (crrev.com/c/4317488), the storage reuse
> logic should detect if we can reuse the storage or not. If the size
> matches the existing storage's size, then there is no reason we can not
> reuse existing storage. Later on when glBufferSubData or
> glMapBufferRange is called, there are optimization in those calls that
> will detect if we should reallocate storage or not as the further
> optimization. This CL removes this check and replies on the other
> optimization to handle the storage reallocate (shadowing) if necessary.
> This simplifies code and also potentially avoids storage reallocation in
> certain usage cases.
>
> This CL also fixes a test bug in
> BufferDataTestES3.BufferDataWithNullFollowedByMap that was calling
> glMapBufferRange with MAP_UNSYNCHRONIZED_BIT but incorrectly expecting
> GL to do synchronization.
>
> Bug: b/271915956
> Change-Id: I7901687b3e3e262e77699f14eb8602d8a57eda3e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322048
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Bug: b/271915956
Change-Id: Ie5716b609ab96b96afbe5927f20dfcf2bf5d4db6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4338263
Auto-Submit: Charlie Lao <cclao@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
a8720455
|
2023-03-10T13:48:03
|
|
D3D11: Add logic to disassociate EGL image storages.
The TextureStorage classes for External and EGLImages were missing the
logic to disassociate from images. This lead to the images continuing
to hold references to deleted storages.
Bug: chromium:1415330
Change-Id: I8303f6751d87a9b0a52993c7d4e9509b086b93f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328347
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
513ca723
|
2023-03-13T14:30:20
|
|
Delete GL_LOAD_OP_DISABLE_ANGLE from PLS
This load op makes the PLS spec and WebGL implementations unnecessarily
complex.
Bug: chromium:1421437
Change-Id: Iab02a8b02083899c6cc345ecb25b88c5871611c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4335148
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b26b01a2
|
2023-03-09T00:00:00
|
|
Implement EXT_render_snorm
Bug: angleproject:8048
Change-Id: Id01beaea9565f8ab374c732fef70ec0ac0d8743e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334303
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
bf5e9dbc
|
2023-03-09T00:00:00
|
|
GL: Reset clip origin before scissored clears
Clip origin must not affect scissor box but
some drivers flip it for clear operations.
Added capture/replay support for ClipControl.
Bug: angleproject:8066
Change-Id: I9292cb4945b49c56c80da4c5813e89df3453b6b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328267
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
755bfe47
|
2023-03-08T14:31:33
|
|
Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk
BufferVk::setDataWithMemoryType() has one optimization that it tries to
detect glBufferData(target, size, nullptr, usage) and if existing
storage is busy, it immediately reallocate storage. With the
optimization in previous CL (crrev.com/c/4317488), the storage reuse
logic should detect if we can reuse the storage or not. If the size
matches the existing storage's size, then there is no reason we can not
reuse existing storage. Later on when glBufferSubData or
glMapBufferRange is called, there are optimization in those calls that
will detect if we should reallocate storage or not as the further
optimization. This CL removes this check and replies on the other
optimization to handle the storage reallocate (shadowing) if necessary.
This simplifies code and also potentially avoids storage reallocation in
certain usage cases.
This CL also fixes a test bug in
BufferDataTestES3.BufferDataWithNullFollowedByMap that was calling
glMapBufferRange with MAP_UNSYNCHRONIZED_BIT but incorrectly expecting
GL to do synchronization.
Bug: b/271915956
Change-Id: I7901687b3e3e262e77699f14eb8602d8a57eda3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322048
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c3ffae10
|
2023-03-10T00:00:00
|
|
Suppress failing capture/replay test
DiscardFramebufferEXTTest.ClearDepthThenDrawWithoutDepthTestThenDiscard
fails after
DifferentStencilMasksTest.DrawWithSameEffectiveMask
Bug: angleproject:8079
Change-Id: I3b1304f465b140a34110b4f3fe95d6e59f0db8e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4331496
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d6a25bfa
|
2023-03-07T15:06:10
|
|
Vulkan: Optimize glBufferData call to improve storage reuse
If app calls glBufferData with certain size, then calls it again with
size 0, and then call it again with same old size again, we should try
to reuse the existing storage. When size is zero, with the existing
logic, we never free the storage. When glBufferData is called third time
with the same size as the first glBufferData call, we expect to reuse
the existing storage. But because of the storage reuse logic is
comparing buffer's new size to the old size (which is 0), we missed the
opportunity to reuse the existing storage. This CL update the reuse
logic so that it checks the new size against storage's size (instead of
OpenGLES buffer's size) and if we will end up with same sized allocation
and same pool and memory type, then we reuse instead of reallocate.
This reduces efootball_pes_2021 frame time from 4.670 ms to 4.277 ms on
pixel 7 pro.
Bug: b/271915956
Change-Id: I6f91e3e85b104eca215b28e7d0bea413ecc4401c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317488
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4edccb15
|
2023-01-17T16:17:35
|
|
Vulkan: Fixed Context Priority mixing problems.
Problem details:
- Each "egl::ContextPriority" may have separate "VkQueue".
- "CommandQueue" only has two "PrimaryCommandBuffer"s for normal
and protected content.
- Commands from multiple "ContextVk" may be written
to a single "PrimaryCommandBuffer".
- That "PrimaryCommandBuffer" may be randomly submitted
to different "VkQueue"s.
- As the result - Commands from a single "ContextVk" may be submitted
to multiple "VkQueue"s.
Fix details:
- Created separate "PrimaryCommandBuffer" (lazily allocated)
for each "egl::ContextPriority".
- Commands with different priorities can't be mixed
in a single "PrimaryCommandBuffer".
- Therefore - Commands from a single "ContextVk" will be submitted
to a single "VkQueue".
- No difference for applications that use single "egl::ContextPriority"
for all Contexts.
Notes:
Another problem when resource is used in multiple Contexts with
different "VkQueue" (Priority).
One solution is to use Semaphores.
Another is to enfore same Priority for all Contexts in a Share Group
and Default Priority when using EGLImage.
This solution was submitted in the previous CL:
Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage
Below test fails on G996B without this CL.
Bug: angleproject:8039
Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.ContextPriorityMixing*
Change-Id: Iaa57826ca55956944f922813fcfac42f1a764dbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194183
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
233c128b
|
2023-01-17T19:21:58
|
|
Vulkan: Fix UBs when deleted attachment is used in a RenderPass.
Problem:
- "RenderbufferVk"/"TextureVk" with "mOwnsImage == false" used as
RenderPass attachment.
- "RenderbufferVk"/"TextureVk" deleted.
- Owning resource is destroyed ("EGLImage" and all siblings /
"EGLSurface").
- Crash (UB) may happen when ending RenderPass, flushing or executing
commands.
Fix adds tracking of "vk::ImageSourceID" value in
"vk::RenderPassAttachment" - IDs of objects, that originally provide
"vk::ImageHelper" images. This is necessary, because when using
EGLImage, there may be multiple "TextureVk" objects with same
"vk::ImageHelper", and need to call "finalizeImageLayout()" for the
correct attachment.
Bug: angleproject:8032
Test: angle_end2end_tests --gtest_filter=ImageTest*DeletedWhileInUse*
Test: angle_end2end_tests --gtest_filter=PbufferTest.UseAsFramebufferColorThenDestroy*
Change-Id: I50fdd9d6b6a9677adad2262373303b46de1dee4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296014
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
b194c21a
|
2023-02-24T15:41:00
|
|
Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage
This CL enforces single Context Priority for all Contexts in a Share
Group. This is necessary until Vulkan Semaphores will be used to
automatically synchronize Resource access between Contexts.
Contexts Priority updated when new Contexts is added to the Share Group.
New Priority will be the highest among all ever existed Contexts
(except if Priority is locked).
When Contexts Priority changes, all flushed commands are submitted to
the old VkQueue and semaphore is inserted into the new VkQueue.
Currently opened RenderPasses and commands will not be flushed.
When EGLImage is used in a Context, all Contexts in that Share Group
locked (forever) to the Default Priority (Medium). This is done to
simplify the implementation and because of the current limitations
(lack of mutex protection across Context Share Groups).
Notes:
- the EGL_CONTEXT_PRIORITY_LEVEL_IMG will report initial priority.
- below tests fail on G996B without this CL.
Bug: angleproject:8039
Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleDifferentContextPriority*
Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleInNewContextWithDifferentPriority*
Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleDifferentContextPriorityUsingEGLImage*
Change-Id: Ia6a2f0084d39168a58fd7ec33edc90ece9cead05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289750
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
4cbe8548
|
2023-02-28T21:12:17
|
|
Expose shader extensions based on ESSL version
Previously, all suported extensions were always exposed in the
preprocessor. This broke some games which relied on ESSL1-only extension
macros not being defined in ESSL3 shaders. This change adds min/max
version information to list of extensions so the preprocessor can
conditionally expose extensions based on the shader language version,
both via the extension name macros and the #extension directive.
Test: angle_unittests --gtest_filter="VersionTest.*"
Test: angle_end2end_tests --gtest_filter="*ESSL*ExtensionMacros*"
Test: Run com.gameloft.android.ANMP.GloftGGHM on Pixel 6
Bug: b/268091452
Change-Id: I2332a6cb964f54c47d23e2ef6b24e99a0b5c8202
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4304907
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
|
|
b468e4dd
|
2023-03-08T14:21:47
|
|
Add back "non-robust" PLS queries
Chrome doesn't have a codegen template for queries that model the
"robust" signature, so support both types.
Specify that the robust variants are only supported if
ANGLE_robust_client_memory is supported, so Chrome and other
implementations don't have to support them.
Bug: chromium:1421437
Change-Id: Icc69b69ce9ce0a2cfad0dbeed1f3b29bcfa92d20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321867
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f2e13539
|
2023-03-03T01:57:43
|
|
Implicitly enable PLS dependency extensions
The ANGLE_shader_pixel_local_storage implementation makes internal use
of various other extensions. These extensions must be implicitly enabled
when ANGLE_shader_pixel_local_storage is in use. In this CL:
* Convert ANGLE_shader_pixel_local_storage and
ANGLE_shader_pixel_local_storage_coherent to requestable extensions.
* Implicitly enable the dependency extensions, including each other, at
the time either of these extensions is enabled.
Bug: angleproject:7279
Bug: chromium:1421437
Change-Id: I26acbda776fe7045ea99d4f1e3df445e7a5cfd7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306526
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
9824b4e6
|
2023-03-09T12:21:34
|
|
Skip street_fighter_duel trace on win nvidia.
Flaky diffs
Bug: angleproject:8074
Change-Id: I2f6f023ade6028e5baf80815e845a7ae5817bfbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324720
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
36111b25
|
2023-03-09T10:48:36
|
|
Fix more cases of racy waitForStep usage.
Affects:
MultithreadingTestES3.Thread*
MultithreadingTestES3.UnsynchronizedTextureReads*
MultithreadingTestES3.CreateFramebufferFetchBeforeRenderPass
MultithreadingTestES3.CreateFramebufferFetchMidRenderPass
Bug: angleproject:8071
Change-Id: Id5fe9168fe4d307ec3d3cdd582f3f9ef3f9e9627
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324717
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
ca2378b7
|
2023-03-08T18:44:58
|
|
Assert that waitForStep steps go in increasing order.
This should make race conditions like the one in
https://crrev.com/c/4321809 much more obvious from the logs and catch
some of the issues when writing or updates tests.
The test that has to be updated here is an example why we probably don't
want to just replace `== step` with `>= step`
Bug: angleproject:8071
Change-Id: I2c740931046bb5a9115474b7d67f76e9a21c30a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322049
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aa5b97de
|
2023-03-06T17:59:43
|
|
ANGLE_metal_shared_event_sync: Control signaling external events
It was assumed that the external MTLSharedEvent passed to eglCreateSync
should be signaled by the GL. This change adds
EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE, which when passed as the
value for EGL_SYNC_CONDITION during eglCreateSync, changes the behavior
to not insert a fence command into the command stream.
Test: angle_end2end_tests --gtest_filter=EGLSyncTestMetalSharedEvent.AngleMetalSharedEventSync_WaitSync_ExternallySignaled
Bug: angleproject:8064
Change-Id: Ia1b8615b976f293d411b7d2be506b0ac87d64dee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307152
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
|
|
b78a0c49
|
2023-03-08T09:49:28
|
|
Tests: Add Street Fighter: Duel trace
Test: angle_trace_tests --gtest_filter="*street_fighter_duel*"
Bug: b/271876811
Change-Id: I9930169c046e9b86bfac0b27c5286e1241e34601
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4320445
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f1717ba9
|
2023-03-08T08:59:25
|
|
Tests: Add Merge Dragons trace
Test: angle_trace_tests --gtest_filter=TraceTest.merge_dragons
Bug: b/272197630
Change-Id: I786ad03bf38b9d3269644bb0038d9848035b0f5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321866
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
|
|
2c835845
|
2023-03-08T16:51:14
|
|
Fix race condition in ProgramUseAndDestroyInTwoContexts
thread0 and thread1 call
threadSynchronization.waitForStep(Step::Start)
but then thread0 does
threadSynchronization.nextStep(Step::Thread0CreatePrograms);
so if thread0 happens to run to this line before thread1
gets to waitForStep(Step::Start), thread1 gets blocked forever
Bug: angleproject:8071
Change-Id: Ida4773d5d196f3e64e14689a8f6f16dc9ca3b509
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321809
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
397f89dc
|
2023-03-01T00:00:00
|
|
Support stencil texturing in WebGL
Updated WebGL sampler format validation to
support sampling from stencil textures and
combined depth/stencil textures in stencil
mode.
Bug: angleproject:3231
Bug: angleproject:8051
Change-Id: Ib35dfd91f7ce77fc50bd749f49602ffe86837c67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4315864
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e6ac77d9
|
2023-02-27T16:13:29
|
|
Tests: Enable RunLockStepThreads OpenGL/GLES backend support.
Added "EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE" attribute if display
has "EGL_ANGLE_context_virtualization" extension enabled.
Bug: angleproject:8032
Change-Id: I482475950b9d8d63891c74fc832cc13d93921e21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4291436
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
244e1931
|
2023-01-17T19:22:10
|
|
Vulkan: Fix use of pending Outside RenderPass CommandBuffer.
Regression from this commit:
730c127102b540ce2c4ec086b037c8b732706e26
"Vulkan: Submit queue more often for texture data"
Bug: angleproject:6354
Test: angle_end2end_tests --gtest_filter=*SubmittingOutsideCommandBufferAssertIsOpen*
Change-Id: I5f72f499cd7153c94c8e5f8a3415df2182726c8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296802
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a65f6a9d
|
2023-03-07T16:11:44
|
|
Make PLS queries robust
There's no reason not to mirror the ANGLE_robust_client_memory API here.
Bug: chromium:1421437
Change-Id: Ifb8b1a9675abe2ceb35272dc905f3c38f29dceda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317485
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
2143c146
|
2023-03-06T14:38:58
|
|
Tests: Add Jackpot World Trace
Test: angle_trace_tests --gtest_filter=TraceTest.jackpot_world
bug: b/271891383
Change-Id: Ib0ff8197c98c8dc7e97e760968306a6c1d3c5878
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4313680
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cf1bf3e4
|
2023-03-07T18:41:13
|
|
Skip TextureNorm16R16RenderTest and variants
Replay corrupts memory by writing past readBufferSize
due to GL_PACK_SKIP_ROWS etc
Bug: angleproject:8070
Change-Id: I7db1ef9dadf3735841c96f242e9bd9a993b5d16e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317088
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
815a4aae
|
2023-03-01T00:00:00
|
|
Fix stencil format exposure
* Removed invalid STENCIL format table entry
* Removed incorrect OpenGL ES 2.0 validation
* Removed obsolete end2end test suppressions
* Hid GL_OES_texture_stencil8 from ES 2.0 contexts
* Marked unsized STENCIL_INDEX as never texturable
* Marked unsized STENCIL_INDEX as never renderable
Bug: angleproject:3231
Fixed: angleproject:5136
Change-Id: I3f2cb8240344db410773b6a5bde460a43eb32a2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307120
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8abf7153
|
2023-03-01T00:00:00
|
|
GL: Complete EXT_blend_func_extended
* Increased test threshold to 2 to
avoid failures on some GPUs
* Skipped desktop name bindings when
running on OpenGL ES
* Adjusted extension exposure conditions
to avoid failures on older platforms
* Adjusted webgl_FragData array size
Bug: angleproject:1085
Bug: angleproject:2833
Change-Id: Ic72ba42b024de276d3586446e03013e6063d15ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307122
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
4256c022
|
2023-03-01T00:00:00
|
|
Metal: Implement ANGLE_stencil_texturing
Used texture views to sample stencil values
from combined depth/stencil textures.
Texture2DDepthStencilTestES3.TexSampleModes* tests
were split into swizzled and non-swizzled variants
to suppress only swizzled cases on some platforms.
Added a new avoidStencilTextureSwizzle workaround to
skip creating swizzled texture views of stencil-only
textures on platforms that fail to sample from them.
Fixed: angleproject:8051
Change-Id: I0b1148f8d30fc6459239efcdaeee6c0364633cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4304058
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
06aaa0c0
|
2023-03-05T17:40:38
|
|
Tests: Add Harry Potter: Hogwarts Mystery trace
Test: angle_trace_tests --gtest_filter="*harry_potter_hogwarts_mystery*"
Bug: b/271766619
Change-Id: I3efffb191b97b5fcc4d1d0626cba2127a309d157
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4311481
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
84644dd3
|
2023-03-03T12:30:35
|
|
Improve logging to make batch failures more clear.
When logging suddenly interrupts it's hard to tell what's going on (see
bug)
Bug: angleproject:8060
Change-Id: I83c33818d79e442956045772913c6418ac705466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307774
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3fed0866
|
2023-02-22T00:00:00
|
|
Implement EXT_texture_mirror_clamp_to_edge
Support GL_MIRROR_CLAMP_TO_EDGE_EXT address
mode when native support is available.
Adjusted validation, sorted switch cases by
target enums order.
Added new TextureMirrorClampToEdge* end2end
tests.
Drive-by: fixed texture address computation
for integer formats with GL_MIRRORED_REPEAT
on D3D11.
Fixed: angleproject:7968
Change-Id: Iaf29c8b4b32a7630c2a871f832d171f4bc4e2672
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289137
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
18a1022e
|
2023-03-01T13:55:41
|
|
Manual roll VK-GL-CTS from c0a0038a1bed to 04e5d38379bd (12 revisions)
Manual roll requested by abdolrashidi@google.com
* Skipped the following test from KHR-GLES3*
* shaders.negative.non_precision_qualifiers_in_struct_members
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c0a0038a1bed..04e5d38379bd
2023-02-24 anna.lesniewska@intel.com Add depth tests running on local
heap with host visible memtype
2023-02-24 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkansc-cts-1.0.1
into vk-gl-cts/main
2023-02-24 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
2023-02-24 rgarcia@igalia.com Add GLES_ALLOW_DIRECT_LINK CMake option
2023-02-24 piotr.byszewski@mobica.com Test textureSize for oob lod
2023-02-24 syoussefi@google.com Tests for surface/swapchain maintenance1
2023-02-24 michal.jakubek@mobica.com Add coverage of
vkGetImageMemoryRequirements2 for multiplanar formats
2023-02-24 Andrew.Fobel@amd.com Fix BufferView access tests for scaled
types
2023-02-24 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5
into vk-gl-cts/main
2023-02-22 piotr.byszewski@mobica.com Merge
vk-gl-cts/dev/VK_EXT_pipeline_library_group_handles into vk-gl-cts/main
2023-02-14 ziga@lunarg.com Remove invalid new linked pipeline test with
null layout
2023-02-13 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
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 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8045
Tbr: abdolrashidi@google.com
Change-Id: Ie7e145113c58ede9ba718499b54b0cb32b36f268
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4301430
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a2efea13
|
2023-03-01T00:00:00
|
|
Add ANGLE_stencil_texturing
This extension allows texturing of the stencil
component of a packed depth stencil texture on
OpenGL ES 3.0 contexts.
Trivially exposed on backends that support
OpenGL ES 3.1, which requires this feature.
Adjusted the tests to check for the new
extension string instead of the context
version.
Bug: angleproject:8051
Change-Id: I4d833acbc72e7374bde91d4c861598a0fdaf9b90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4295312
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
5fd68d59
|
2023-03-01T14:31:15
|
|
Skip FramebufferTest_ES3.RenderSharedExponent on iOS Metal
Bug: angleproject:8043
Change-Id: Ib7e28ac1a2d658056e960272783ef322e1f009d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294902
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
190a3214
|
2023-02-20T17:42:02
|
|
Tests: Add Arknights trace
Test: angle_trace_tests --gtest_filter=TraceTest.arknights
Bug: b/270523023
Change-Id: I147927e5ada7470a91d8aee540cf217fcb1e4ec1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294655
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
|
|
e2cf65ed
|
2023-02-22T00:00:00
|
|
Implement QCOM_render_shared_exponent
Fixed: angleproject:8043
Change-Id: Ia76b8e4b60a640180bae77cba523142749051398
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289140
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a1f9b9aa
|
2023-02-20T00:00:00
|
|
Implement more texture border color adjustments
D3D11:
* Exposed EXT_texture_border_clamp extension string,
to ensure that the relevant CTS tests are running.
* Updated StateManager11::setSamplerState to adjust
the border color based on the texture format.
* Refactored ShaderConstants11::updateSamplerMetadata to
correctly adjust the border color for integer formats.
* Removed unused SamplerMetadata.internalFormatBits
D3D9:
* Updated Renderer9::setSamplerState to adjust the border
color value based on the current texture format.
* Added borderColorSrgb feature required for some drivers.
GL:
* Copy alpha value to green for A and LA legacy formats to
workaround driver bugs when lumaWorkaround is not used.
Tests:
* Added ES 2.0 tests for texture formats
that require border color adjustments.
Fixed: angleproject:7969
Change-Id: I3d36cce43e76e6d5069a51865152c2250ecbb017
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4291000
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1365f5b3
|
2022-09-09T17:19:26
|
|
Vulkan: Fix Swapchain Acquire Image Semaphore wait stage flags.
There is a screen tearing on G996B with single
"glClear(GL_COLOR_BUFFER_BIT)" no scissor in the frame.
Fixed by defining "kSwapchainAcquireImageWaitStageFlags" and
adding "VK_PIPELINE_STAGE_TRANSFER_BIT" stage flag.
Also added "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT" stage, because first
use of the Swapchain Image after Acquire may be in the
"glBlitFramebuffer()" command.
This fix may slightly affect performance. In such case, a better fix
should be implemented (include only stages based on the actual first
use). However, this may be not trivial.
Additionally, "kSwapchainAcquireImageWaitStageFlags" is used as a source
stage mask in the "ImageLayout::Present" pipeline barrier. This is
needed in order to build a dependency chain from the Acquire Image
Semaphore to the layout transition's first synchronization scope, so
that layout transition happens after acquire semaphore is signaled.
Reference:
https://github.com/KhronosGroup/Vulkan-Docs/wiki/Synchronization-Examples#combined-graphicspresent-queue
https://vulkan-tutorial.com/Drawing_a_triangle/Drawing/Rendering_and_presentation
Alternative fix of both issues is to define:
kSwapchainAcquireImageWaitStageFlags = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
This might potentially delay command buffer execution relative to the
Swapchain Acquire Image Semaphore signal operations, but will relax
the pipeline barrier.
Bug: angleproject:8030
Test: angle_end2end_tests --gtest_also_run_disabled_tests --gtest_filter=EGLSurfaceTest.DISABLED_RandomClearTearing*
Change-Id: I29f58862c4b369524b2555dd944e2fb67eebe956
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4271377
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ef6d1473
|
2023-02-24T08:27:33
|
|
Tests: Add Into the Dead 2 trace
Test: angle_trace_tests --gtest_filter="*into_the_dead_2*"
Bug: b/270605668
Change-Id: I80d1aa8058a8d970888725ca850ed934a100588b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4290021
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
5bc6bf32
|
2023-02-20T00:00:00
|
|
Include DXT1 sRGB in RGBDXT1TexturesSampleZeroAlpha
Bug: angleproject:3729
Change-Id: Id5404e4601a3165051ee4b249646b7ca000bedbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4290988
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
13f246de
|
2023-02-20T17:43:57
|
|
Tests: Add Cookie Run Oven Break trace
Test: angle_trace_tests --gtest_filter=TraceTest.cookie_run_oven_break
Bug: b/270534812
Change-Id: I39109fc119cc82914e563b06cce912409a5c0434
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289587
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9f4ebedf
|
2023-02-22T14:51:35
|
|
Tests: Add TMNT: Shredder's Revenge trace
Test: angle_trace_tests --gtest_filter="*tmnt_shredders_revenge*"
Bug: b/270426257
Change-Id: I36598eafdc37c77418e052f1539901cd6bb6aae8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4284638
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2ec90ada
|
2023-02-23T21:33:40
|
|
TraceTests: Update screenshot name for keyframe
Ensure we use the member variable screenshot instead
of global when naming the screenshot.
Test: into_the_dead_2 with keyframe 10
Bug: angleproject:8035
Bug: b/270426257
Bug: b/270605668
Change-Id: Ib5c5c1764005cd0b2fc4603ca11e10d19a50a152
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4288617
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9566011b
|
2023-02-23T15:01:59
|
|
Add support for permissive pixel comparison
Adds support for running ANGLE pixel tests with a more permissive
inexact matching algorithm. This is done by passing in
--use-permissive-pixel-comparison=1 to the test runner.
This is intended to reduce the amount of manual triage work
required on CLs that are expected to have a larger amount of
differences, such as SwiftShader rolls.
On the bots, this will normally be disabled, but will be enabled
if "Use-Permissive-Angle-Pixel-Comparison: True" is present as
a CL footer.
This footer is not yet included automatically anywhere, so
there should be no functional change as a result of this CL yet.
Bug: angleproject:7985
Change-Id: Ie815fac42edb2198dd4d115fc50650504df136c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4288612
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f8e56b0c
|
2023-02-23T16:29:52
|
|
Tests: Add SLAM DUNK from TV Animation trace
Test: angle_trace_tests --gtest_filter=TraceTest.slam_dunk_from_tv_animation
bug: b/270534814
Change-Id: I2062819c1f64c114ada23723188d8f090f57ab46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4288749
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d9dbc20e
|
2023-02-23T17:10:06
|
|
TraceTests: Add a screenshot frame member variable
Instead of modifying a global when detecting KeyFrames are
in use by a trace, update a new value tracked per trace.
Also consolidate the option handling for gRunToKeyFrame since
its needs align with gMaxStepsPerformed.
Test: Batching traces that include one with a keyframe
Bug: angleproject:8035
Bug: b/270426257
Change-Id: I2ed4215d9f310dddb317debf09921aa45c6822bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4288616
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7189e4cf
|
2023-02-23T11:03:40
|
|
vulkan: fix depth buffer renderpass loadOp issue.
when change the depth compare function, Renderpass need to
change the mAcess flag accordingly.
Bug: b/269929460
Change-Id: I83826c1b07c6d22600d6cd039e7d8bfd0b5b39c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4284624
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
b0739436
|
2023-02-13T14:28:17
|
|
Traces: Add key frame support
Allow specifying a key frame in the trace JSON, i.e:
"KeyFrames": [ 20 ],
This allows our infra to use a frame other than 1 when
taking screenshots for quality comparison.
Adds new flag `--run-to-key-frame`, which will stop the
trace once key frame has been reached. If no key frame in
JSON, frame 1 will be used.
Note the name in JSON is plural, but we only support one
key frame for now. Multiple key frame support can come
in the future.
This CL also updates the code to allow ending traces
early with `--max-steps-performed` which has been broken
since http://crrev/c/4008998
It also removes `--one-frame-only` which is superseded by
`--run-to-key-frame`, and can be replicated using
`--max-steps-performed 1`.
Test: angle_trace_tests --gtest_filter="*tmnt_shredders_revenge*"
Bug: angleproject:8035
Bug: b/270426257
Change-Id: Ib02ef60d887ae5efb0288f5a9b8c2914dafc6efc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4284637
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
b42c2332
|
2023-02-20T00:00:00
|
|
Refine sRGB mipmap generation
Compute average of the decoded floating-point
values instead of the truncated 8-bit values.
Fixed: angleproject:8034
Change-Id: I1ad9c98ff6bbebe63912fb3339faa471c30f43be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4279710
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
3a7904e1
|
2023-01-25T23:56:56
|
|
Vulkan: Use VMA suballocation for images
There is a maximum limit for device memory object allocation. On some
platforms, there can be an error regarding too many object allocations
when 4096 device memory handles have been allocated. Suballocation can
help mitigate this issue. In this CL, some images will be allocated
using VMA API calls, which use suballocation.
* Added a new feature (useVmaForImageSuballocation).
* Added VMA allocation for ImageHelper, which is used in initMemory().
* Suballocation is used for VMA image allocation.
* If enabled, mVmaAllocation will be initialized in the ImageHelper
object (instead of mDeviceMemory).
* It is currently used for all platforms.
* Minor change to the name of an arg in CreateBuffer() declaration.
* Added test to make sure we can allocate at least 4096 images on
supported platforms (8000 in the test).
* Skipped the test "NonZeroBaseEmulatedClear" when run on Linux/Intel
if this feature is enabled (due to output color mismatch).
* Skipped several tests for capture/replay on Windows.
Bug: b/218891184
Change-Id: Ibf80c9c8c485b301da7d23b5ba4bcbb1a8e3194f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4191202
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
48588a89
|
2023-02-17T11:03:56
|
|
Update the common cube map texture in MipmapTest
In MipmapTest, mTextureCube is defined so that one side is set to blue.
However, the other sides are not explicitly defined. This seems to be
causing capture/replay errors due to context mismatch after updating
the image memory allocation method to use VMA.
(CL: https://crrev.com/c/4191202)
* Added definition for the other sides of mTextureCube, now set to
white.
Bug: b/267811497
Change-Id: Icaca67ba6032e5156c9f4bbf3913459d863c2f1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4264172
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
facd07ec
|
2023-02-14T14:11:00
|
|
Vulkan: Prune all statements without side effect
Bug: chromium:1417461
Bug: angleproject:6061
Change-Id: I6e2b74589021ee60c99448e43ee3eb7f06796ede
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4250278
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dbd5d6df
|
2023-02-17T00:00:00
|
|
Vulkan: Fix border color adjustment for emulated formats
Emulated opaque ETC compressed formats are decoded to
RGBA8 so the border color must have its alpha as one.
Generalized AdjustBorderColor to enforce opaque alpha
for opaque formats and to support both ways, in which
ANGLE could emulate LUMA formats.
Moved AdjustBorderColor to renderer_utils so it could
be used with other backends.
Bug: angleproject:5978
Change-Id: I9ec44444fd373b1ca6116ebc4447063a014025ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4265514
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
05e62f39
|
2023-02-16T23:16:46
|
|
Vulkan: Don't close render pass if rebind to same fbo
In the Vulkan backend, the render pass can occasionally (and
transiently) be in a state of "open but inactive". This is when the
render pass is closed, but has the potential for future modifications
(for example to add a resolve attachment). Under many circumstances, it
is expected that an open render pass cannot be in such a state.
This assumption can be broken in this scenario:
- Open render pass, draw, etc
- Change framebuffer binding
- Change framebuffer binding back to original
- Masked Clear
When ContextVk is synced before clear, it sees that the framebuffer
binding is changed (though it hasn't really), and it closes the render
passes and sets the render pass dirty bit. If a draw were to follow, a
new render pass would have started (unnecessarily). However, in the
case of a masked clear, UtilsVk notices that the render pass is started,
assumes it must be active, and continues recording to it. While the
operation itself succeeds, the assumption that the render pass is active
is false (and fails assertion).
This change makes sure that framebuffer binding change is no-oped if the
framebuffer is the same one that has opened the current render pass. If
any application does unnecessary binding changes and back, it will be
optimized by this change as well.
Bug: chromium:1411210
Change-Id: I37a3a9f2eaa1a81a1b3393840b9458ec71a87377
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4261215
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1148a662
|
2023-02-15T08:25:51
|
|
Update GL_ARM_shader_framebuffer_fetch token support
These were missed during initial implementation because the target app
doesn't use them, and there are no tests for vendor extensions.
The implementation is basically a noop, but allows setting and
querying state, unblocking apps.
Also add a test that has basic usage.
Test: FramebufferFetchES31.BasicTokenUsage_ARM
Bug: b/269233744
Bug: angleproject:8025
Change-Id: Ic107150d4afd9c4c4984c58a1dafb1c18e608997
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4255965
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
8cac53cd
|
2023-01-17T19:22:57
|
|
Vulkan: Fix incorrect "SharedPresent" barrier.
Previous fix swapped top/bottom barriers:
629da7fc9cd4886dd87f07a069c259551e892936
Fix dEQP-EGL.functional.mutable_render_buffer#basic
Above fix is only partial, because it only includes execution dependency
without memory barriers (top/bottom stages has no memory access).
Fixed by forcing all possible stages for "SharedPresent" images.
Better solution requires creating specific versions
of "ImageLayout::SharedPresent".
Added new test that skips "glFlush()" before "glReadPixels()".
Performing flush executes present and may "fix" the barrier problem.
New test fails on "Samsung Galaxy S22+ S906B"
Bug: b/264420030
Test: angle_end2end_tests --gtest_filter="EGLSingleBufferTest.SharedPresentBarrier*"
Change-Id: Icbb50900d99e42d2e9482cd6109981bbc460348a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4262068
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d84ad7d
|
2023-02-14T10:47:54
|
|
Translator: Fix sampler-in-struct when struct is unused
Standalone symbols as statements are also pruned. For example in the
below:
```
x;
g();
```
The line that only contains `x;` is pruned. In particular, this was
causing a bug with sampler-in-struct processing where the code ASSERTs
that if an instance of the struct is visited during traversal, that
it's already processed as part of an index chain (like s.member), but
in the above situation that is not true.
Bug: chromium:1416152
Change-Id: I49e9a5826fc4d8c1fef1fa6f1d38c65f33f8acfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4247584
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
6f092c31
|
2023-02-16T08:45:18
|
|
Tests: Add star trek fleet command trace
Test: angle_trace_tests --gtest_filter=TraceTest.star_trek_fleet_command
bug: b/269577054
Change-Id: I2e7ae40d47b89b854a3ecbb87aba7fe8fcfdf8ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4261952
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
81c7a7d9
|
2023-02-15T11:33:05
|
|
Use per-channel fuzzy threshold
Switches the fuzzy threshold used in Gold-backed pixel tests to be
per-channel instead of the sum of all channels. This means that a
difference of [1, 1, 1, 0] between two pixels will now pass,
whereas before that would have required a threshold of 3.
This is intended to only ever auto-approve changes that can be
attributed to rounding errors.
Bug: angleproject:7985
Change-Id: Id057534c3e92ee9a4fbd1545fd1a16b28fea61b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4256778
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
8c2fcc70
|
2023-02-02T00:00:00
|
|
Metal: Implement EXT_blend_func_extended
Fixed: angleproject:8015
Change-Id: Ic92a8823869bf097349aee6241f6cfb86942c945
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4242128
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
|
|
ceb49b1c
|
2023-01-17T19:21:43
|
|
Vulkan: Fix crashes when Surface is not current.
It is possible to destroy Surface while some resources are still
in use (by CPU/GPU):
1. Make Surface current.
2. Draw something.
3. Make other Surface current (same Context).
4. (optional - if test Surface is Window Surface) Draw something.
5. Delete Surface.
6. UnMake the Context from current.
7. Different crashes possible depending on Surface type and what
is done in step 2.
Bug: angleproject:8017
Test: angle_end2end_tests --gtest_filter="EGLSurfaceTest.DestroyNotCurrent*Surface*"
Change-Id: I3102aa237075b301b3222b420415753c83ba192a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4227073
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
629da7fc
|
2023-01-26T12:25:04
|
|
Fix dEQP-EGL.functional.mutable_render_buffer#basic
These are vulkan commands submitted between
glClear() and glReadPixels() when the EGL_RENDER_BUFFER
is EGL_SINGLE_BUFFER (ImageLayour is SharedPresent):
```
vkCmdClearColorImage()
vkCmdPipelineBarrier: (
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,//srcStageMask
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,//dstStageMask
VK_ACCESS_MEMORY_WRITE_BIT,//srcAccessMask
VK_ACCESS_MEMORY_WRITE_BIT|VK_ACCESS_MEMORY_READ_BIT//dstAccessMask
)
vkCmdCopyImageToBuffer()
```
This means that operations at the bottom of pipeline
in vkCmdCopyImageToBuffer() need to wait for operations
at the top of pipeline in vmCmdClearColorImage(), which
translates to vkCmdCopyImageToBuffer() does not have
to wait for vkCmdClearColorImage() to finish.
Even the dstAccessMask ensures that
vkCmdCopyImageToBuffer() will invalidate cache before
copying image, it is possible that it will retrieve the
old Framebuffer color attachment data as the
vkCmdClearColorImage() has not finished.
This CL fixes the bug by making the srcStageMask to
be VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT and the
dstStageMask to be VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
when the ImageLayout is SharedPresent.
This ensures that vkCmdCopyImageToBuffer() waits for
vkCmdClearColorImage() to finish.
This CL also addresses similar issue in some other
rx::vk::ImageLayout items in kImageMemoryBarrierData.
Bug: b/264420030
Change-Id: If47ab071afaf96e396357cb0f50131339fa58509
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4198476
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
31d576ca
|
2023-02-15T00:34:07
|
|
Tests: Add SuperTuxKart trace
Test: angle_trace_tests --gtest_filter=TraceTest.supertuxkart
Bug: angleproject:8023
Change-Id: I9d427700a5e3badde0e66e55b24d50725c338251
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4251637
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2e70fa15
|
2023-02-13T23:01:51
|
|
Tests: Add Top War: Battle Game trace
Test: angle_trace_tests --gtest_filter=TraceTest.top_war
Bug: b/269178202
Change-Id: I4537fb99227b6a357a2d16d83da6514ecfd2a39e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4246716
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
|
|
9e33b83a
|
2023-02-14T11:47:17
|
|
Vulkan: Fix bug in EGLMultiContextTest.ReuseUnterminatedDisplay
This test is not destroying the context properly, which leads to
eglTerminate(dpy) not actually destroying the RendererVk. When the next
test app runs, it calls RendererVk::initialize again and calls
volkLoadInstance(mInstance). Because the previous RendererVk object is
still there, and the two CommandQueue shares the same volk instance,
writing to volk function table causes tsan to complain that other thread
is still using the old function pointer that now gets overwritten.
The test really should clean up properly here in order to have other
test to continue to run.
Bug: angleproject:7602
Change-Id: I93cd2439194aba9f28ce478aaf79ae8b81c6426b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4249984
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ee64836f
|
2023-02-11T17:56:06
|
|
Revert "Metal: Optimized BufferSubData per device"
This reverts commit 968041b54770af8917001d8fe9b52a881cfed0b2.
Includes the following patches:
git revert -n 995db1f66bcf87fc9e47d908fb2a885e810d2567 \
9a6c90c8f802b4d107a081bfccaf4be007e7af54 \
dbd47e378582ef86db52c7379cd220cf0b2c8193 \
369b320f92f54774879e8b8faff834fc8db0793e \
4abae6f97586448712e2dc1cced4a678b0901d7b \
968041b54770af8917001d8fe9b52a881cfed0b2
Several conflicts with top-of-tree were resolved during this revert.
The aim is to reland this with additional code which will reduce the
amount of excess buffer memory allocated, and release the resources
associated with temporary buffer allocations.
Bug: angleproject:7544
Change-Id: Ib7a6bc2ab1c2f23cb43112cd980106e2898c3826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4240556
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
48b6ebad
|
2023-02-13T16:37:15
|
|
Test: Move code of EGLSurfaceTest::runWaitSemaphoreTest().
To improve readability, code moved from class body closer to the tests.
Bug: angleproject:7995
Change-Id: I2c0aef593b28cfffe2b04de308274d0007d863c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4245177
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cad19f01
|
2022-02-01T17:36:03
|
|
Vulkan: Wait forever when waiting on fences
If a timeout occurs while waiting for the VK queue to be idle during
context destruction, there is no way to safely delete the resources
without potentially crashing as the driver is still reading them.
Instead, wait forever and let Chrome's watchdog tear the process down.
Bug: chromium:1223346
Change-Id: Ifa91465270f54b62a5ead88e8f26b3315072c380
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3430243
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
62d35a60
|
2023-02-10T13:05:14
|
|
Metal Fix norm16 subimage uploads w/ signed types
The supported texture format tables would have entries for
a signed or unsigned internal format and matching type.
The texSubImage variants do not communicate the sized internal format,
rather unsized format type. Data parameters are validated based on
format, not internal format. For these, the signed variants were
missing.
Add texture format table entries for signed types that match the format
parameters.
Add a precautionary validation case so that future such bugs would not
pass the control flow forward, into the copying phase.
Fixed: angleproject:8014
Change-Id: I5b00cca8672691fdb953f62093d62feaa724db99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4238881
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
90ddd7c7
|
2023-02-10T16:47:32
|
|
Tests: Add Mini Block Craft trace
Test: angle_trace_tests --gtest_filter="*mini_block_craft*"
Bug: b/267795849
Change-Id: Ia6087066476992367f432d5d032f6f5542eeb2d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4241403
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
a57e36dc
|
2023-02-10T12:21:36
|
|
Tests: Add Durak Online trace
Test: angle_trace_tests --gtest_filter="*durak_online*"
Bug: b/267794160
Change-Id: Id8047921bf5c48109fd7b59e8262849571701c5c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4241398
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0d0e8c37
|
2023-02-08T17:33:39
|
|
Vulkan: Fix mutable render buffer with protected content.
Original implementation used Unprotected submission unconditionally.
In case of protected content/commands this may cause undefined
behavior.
New test works OK despite the bug.
VVL also did not show error, but should report:
VUID-VkSubmitInfo-pNext-04120
If the pNext chain of this structure does not include a
VkProtectedSubmitInfo structure with protectedSubmit set to VK_TRUE,
then each element of the pCommandBuffers array must be an
unprotected command buffer
Also from spec:
protectedSubmit specifies whether the batch is protected.
If protectedSubmit is VK_TRUE, the batch is protected.
If protectedSubmit is VK_FALSE, the batch is unprotected.
If the VkSubmitInfo::pNext chain does not include this structure,
the batch is unprotected.
It is a bug in VVL. It ignores check entirely if VkSubmitInfo::pNext
chain does not include VkProtectedSubmitInfo structure.
Bug: angleproject:3966
Test: angle_end2end_test --gtest_filter="EGLProtectedContentTest.ProtectedContextWithProtectedMutableRenderBufferWindowSurface*"
Change-Id: I0e0762e5fdfe19ce6c2184a36d057a95c2c79f00
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4232115
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4c978523
|
2023-02-08T13:46:01
|
|
Tests: Add Add Words Crush: Word Puzzle Game trace
Test: angle_trace_tests --gtest_filter="*words_crush*"
Bug: b/267795212
Change-Id: I7c5c19b4306dd9b141f8880e1b4e7948629b6a73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4233090
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1936ac00
|
2023-02-08T18:51:58
|
|
Fix InstancingTestES3.LargeDivisor suppression
Really skip on Win SwANGLE
Bug: angleproject:7900
Change-Id: Idcce5545eb4a990c1bc571acf537aac3347a3191
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4231842
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
92f26ce3
|
2023-02-02T17:53:48
|
|
Metal: fix UBO argument buffers didn't work with managed storage.
This bug would happen when forceBufferGPUStorage feature is turned on.
This feature forces all buffers to use managed storage mode.
We use mtl::BufferPool to allocate an UBO argument buffer. However, we
didn't tell it to map the buffer. Later when we used MTLArgumentEncoder
to encode the buffer, mtl::Buffer::flush would be a no-op because the
Buffer didn't know that it was modified by the MTLArgumentEncoder on the
CPU. Consequently, its memory's encoding write wouldn't be visible to
the GPU.
Fix by passing a mapped pointer to mtl::BufferPool::allocate. This will
force a buffer mapping to occur. And memory flushing will properly be
invoked after MTLArgumentEncoder finishes the encoding.
Fixed: angleproject:7999
Change-Id: Ie486ae526672c89548ee14bc0824da1fdd5673c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4217055
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|