|
ea74cc8d
|
2023-09-20T07:02:14
|
|
Roll Chromium from 26ff6b8864ac to 82003a98b373 (614 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/26ff6b8864ac..82003a98b373
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/a66b1c2c6f..f474ec05a2
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a567506e78..da74596ec9
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/0f7651344a..6b95b20c49
* third_party/android_toolchain/ndk: 3vHltFqfgIw8wZ38ggGM9c7Eyw_AHZnwCgFIVtc9gngC..vD5FPvy1sIu7nXcWvm7PTF4yfBbjkyJJC-AgjYEdaYQC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/693c3fa3c2..7eff3d6a1f
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/36bd52621f..ed9a0819a4
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/7cee6b00d3..3e8a3b3c5d
* third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/d9b4abf6b6..244575ffb6
* third_party/r8: WptUn43oi_BkFPtEyZTdUD9wZo1yy8OPVqFwdP3jmqoC..f6AwZX-cIa-qdx2fK93cJy9cfTg9ZqO2PkBWDNUMZXQC
* third_party/turbine: laSnfZnTgkmZynERrjAlU3yeqB5rN446BctGmKQsZ64C..NR31kJWll1NZz_scMvMPtPH_P3wOQ5aKBJ-n8XQ7QrYC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/31a7453f89..ac34945aad
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/0e407d39db..45952a2a57
No update to Clang.
Bug: None
Tbr: cnorthrop@google.com
Change-Id: Ia7ec980ff68ff03aa866bb3e921d9990776a3765
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4878593
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
e3054599
|
2023-09-04T23:20:19
|
|
Metal: Don't use implicit MSAA for render buffers.
This CL removes the usage of implicit MSAA from render buffers.
Implicit MSAA added an extra single-sampled texture & resolve step when
clients render to a multisampled render buffer. It is as if
EXT_multisampled_render_to_texture extension is always used even though
users might not request for it. Not to mention this extension's
implementation is incomplete.
Furthermore, it is hidden from users. Thus
the only way for them to use the render buffer after rendering
(presentting to screen, sampling the pixels, etc) is manually resolving
the render buffer with glBlitFramebuffer. This results in another
redudant texture copy operation.
This CL also removes no-longer used function
FrameBufferMtl::getReadableViewForRenderTarget()
Bug: angleproject:8301
Change-Id: I63053b9e1d1a5cf47a023291b8fcb31d3636d3ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4840154
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
43130a0a
|
2023-09-19T14:35:46
|
|
Android: Clean up from previous bad rolls
See the bug for details, but we think the presence of
previous temp directories may be preventing roller CLs.
Test: Locally ran roll_aosp.sh
Bug: angleproject:8352
Change-Id: I7851185b8c77d1b91c7289e3a13c5c0b4175745c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4877189
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
ae9c7857
|
2023-09-19T13:40:52
|
|
Suppress BufferDataInLoopManyTimes for Linux/Intel
* Skipped BufferDataInLoopManyTimes for Linux/Intel due to the long
execution time, suspected to be causing errors on the bots.
Bug: angleproject:8351
Change-Id: Ib7b640800edf5b30e251b47cfabfd34cc1ecea28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4877693
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
53e3ce59
|
2023-09-08T17:41:56
|
|
Add device lost handle after finishImpl
It is possible that the during context destroy,
when calling finishImpl, the vulkan device is lost,
e.g.
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/6447#issuecomment-1711479164.
We should check vulkan device lost after finishImpl().
Bug: b/289544394
Change-Id: I75aa650cdd38d81815f7354770639e896e3376a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4854763
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ecf11eca
|
2023-09-19T15:18:04
|
|
Add ContextMutex unit tests
Test: angle_unittests --gtest_filter=ContextMutex*
Bug: angleproject:8226
Change-Id: I55b69ce8bb89d572a2bf5d28f428635505771fa1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4874388
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
4b724130
|
2023-06-27T18:08:27
|
|
Rename SharedContexMutex into ContexMutex
Follow up after:
Replace (Single/Shared)ContextMutex classed with ContextMutex
Renamed build option:
angle_enable_shared_context_mutex -> angle_enable_context_mutex
Renamed because there is no more SharedContexMutex class and
ContextMutex is now used for both Shared and not Shared Contexts.
Bug: angleproject:8226
Change-Id: I68eea84aa59441d9c5b19870910b2bb499311e08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4650350
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
ca4dc52e
|
2023-06-22T15:20:12
|
|
Replace (Single/Shared)ContextMutex classed with ContextMutex
This CL removes `SingleContextMutex` class and not 100% safe
`Context::lockAndActivateSharedContextMutex()` method.
`SharedContextMutex<>` was replaced with `ContextMutex` with static
mutex type which is defined in "SharedContextMutex.h":
- ContextMutexType = std::mutex
Above refactoring also allows storing `State::mContext` by value,
instead by pointer. Actual mutex is referenced by `ContextMutex::mRoot`
member. This removes extra pointer indirection and slightly improves
performance.
If newly created Context uses shared textures/samplers, then it uses
`Display::mManagersMutex` root as its root.
Performance in Single/Shared cases now will be the same, and it should
be slightly faster then old Shared case (because of the reduced
complexity).
Bug: angleproject:8226
Change-Id: I7ca4d9ea008c665cbea98ace1c6e7bbc544f54b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4632729
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb0d5997
|
2023-09-15T16:41:13
|
|
Move set/get uniform machinery to ProgramExecutable
This is done because some uniforms are internally added by the compiler
(draw ID, base vertex, and base instance) and are automatically set **on
the installed executable**.
This change fixes scenarios where a draw is done after a program has
failed a relink, and therefore is unable to correctly set the uniforms
(as it does not have access to the executable that is installed).
It also fixes draws that use those uniforms in a PPO.
Bug: angleproject:8297
Change-Id: Id74b4984b88aa09b5b81be1c91412d6c91711136
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864693
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7cb117e0
|
2023-09-19T10:01:56
|
|
Roll vulkan-deps from dc9947ad4d2b to 640b7331b244 (9 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/dc9947ad4d2b..640b7331b244
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/efc33d1ee5..4c57db1595
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/10f76f75da..21ded6ed67
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/867004beac..8c7da10180
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@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: None
Tbr: cnorthrop@google.com
Change-Id: Iae666e69b893afe75f19bc904e1c1b40bbaecc35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4874893
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
936694e3
|
2023-09-15T16:03:25
|
|
Cache isSeparable in the executable
For convenience, particularly for the next CL.
Bug: angleproject:8297
Change-Id: I55690aecf3936a51a2a2163d7c354a710b81d7f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864069
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c8e16b07
|
2023-09-18T12:00:57
|
|
Vulkan: Ignore VVL errors from GOOGLE extension
We're seeing VUID-VkSamplerCreateInfo-pNext-pNext fire
when rolling vulkan-deps.
It is complaining about an unknown VkStructureType (1000264000)
The type is implemented by VK_GOOGLE_sampler_filtering_precision,
which is a private extension.
We can ignore this VVL error.
Bug: angleproject:8349
Change-Id: Ie424458873192b668371d8215dadf9788479f8dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4874597
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d46bc77d
|
2023-09-19T07:01:23
|
|
Roll Chromium from 0bbd400252a4 to 26ff6b8864ac (512 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/0bbd400252a4..26ff6b8864ac
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/c5658c73de..a66b1c2c6f
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/691073acd7..a567506e78
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/a65c4c3a2f..0f7651344a
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0dfa3b81d7..693c3fa3c2
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d7ba85d1eb..36bd52621f
* third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/28861d1d7d..0343396e49
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/176c934642..7cee6b00d3
* third_party/r8: g3ZKfFfRYNZNHJUs07J5hb92ua_jvjdrbo7I1R585uwC..WptUn43oi_BkFPtEyZTdUD9wZo1yy8OPVqFwdP3jmqoC
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c73590e223..0e407d39db
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/44d802024e..7d52128ecb
No update to Clang.
Bug: None
Tbr: cnorthrop@google.com
Change-Id: I66a30d8fbaaf44a1616029bcda41ad4245590362
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4874892
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
91ef1f3c
|
2023-09-08T16:39:53
|
|
Move buffer suballocation callers to ContextVk
* Moved the following functions from BufferHelper to ContextVk.
* initBufferForBufferCopy()
* initBufferForImageCopy()
* initBufferForVertexConversion()
Bug: b/280304441
Change-Id: I890f4396b00b0c20feb44f0ad113c55924ce1014
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4854760
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
a1f52f1b
|
2023-09-07T14:44:24
|
|
Vulkan: Flush pending image garbage more often
* Added a counter to the context object to keep track of the size of
the pending image garbage: mEstimatedPendingImageGarbageSize.
* Modified hasExcessPendingGarbage() to use the sum of the size of
the image and and suballocation garbage.
* RendererVk::calculatePendingGarbageSizeLimit() provides the limit.
* Currently the limit is based on the available heap sizes. It will
use a fraction of the largest memory heap size.
* The portion is currently kGarbageSizeLimitCoefficient = 0.2f.
* Unskipped the test "TextureDataInLoopManyTimes", which was failing
on Android devices.
Bug: b/280304441
Change-Id: Ibcced1d118ea8a1f347028b62d29cfbd9e38e8c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851252
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
27896999
|
2023-08-16T16:44:22
|
|
Vulkan: Flush pending suballoc garbage more often
* Added a counter to the renderer object to keep track of the pending
suballocation garbage.
* mPendingSuballocationGarbageSizeInBytes
* Once it surpasses a limit (mPendingSuballocationGarbageSizeLimit), it
will flush the context so the pending garbages can be freed.
* Currently the limit is based on the available heap sizes. It will
use a fraction of the largest memory heap size.
* The portion is currently kGarbageSizeLimitCoefficient = 0.2f.
* At the end of the render pass, it is checked if the limit has been
reached. If so, context flush will occur.
Bug: b/280304441
Change-Id: I08e6028cfe20059ece2b2e4e971ece897544cd6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787950
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
65220256
|
2023-09-18T12:29:59
|
|
Add ProgramOutput struct for ProgramExecutable::mOutputVariables
Right now ProgramExecutable::mOutputVariables is a vector of
sh::ShaderVariable. ShaderVariable. itself is not a POD struct and can't
memcpy. And most of variables are not needed for mOutputVariables. This
CL adds a custom struct for mOutputVariables so that we only store what
we actually needed and data can be memcpy.
Bug: b/275102061
Change-Id: I045d0618b6dab5f8d58afe40e55147d12987cf61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4862977
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
602cc1f1
|
2023-09-18T11:59:22
|
|
Don't pack gl_TessLevelInner/Outer
Per the GL spec:
The built-in outputs gl_TessLevelOuter and gl_TessLevelInner are not
counted against the per-patch limit.
Bug: angleproject:3572
Change-Id: I9fb2255d730988e7bfd6b76f9b5fdab8c475c468
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4873400
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
1b450b92
|
2023-09-15T11:07:25
|
|
Vulkan: Fix buffer storage reuse bug when robustAccess is enabled
There is an optimization in vulkan backend that when the bufferData is
called and current storage size is big enough for new bufferData call,
we just reuse the storage. Mean while, when hasRobustAccess() is true,
we must use the VkBuffer with the exact user size that glBufferData call
provides so that driver can set proper access boundary. In order to
satisfy both requirement, if robust resource access is enabled, we
create a separate VkBuffer with the exact user provided size but bind to
the same memory. There is a bug here that if robustAccess is true, this
buffer of user provided size is not been recreated when storage is
reused but with different user size (both has same allocation size).
This causes we keep using the smaller VkBuffer and subsequently causes
missing triangles. This CL clears mBufferWithUserSize when size changes
and storage is reused.
The other bug here is that previously we are checking
isRobustResourceInitEnabled, which is incorrect. We should check
hasRobustAccess. This appears works for chrome possibly due to both are
enabled. This CL switches it to check hasRobustAccess.
This CL also renames mBufferForVertexArray to mBufferWithUserSize to
reflect what its true meaning.
Bug: chromium:1476475
Change-Id: I843cc3a705f8a582a97bc0307f03aa1eb9fad3ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864003
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
503c0db1
|
2023-09-12T18:01:23
|
|
Add the missing multisample and rgb565-no-depth-no-stencil tests.
We need different --deqp-gl-config-name values
for different test applications, to create RenderTarget
with different properties needed for different test
applications, such as multisample, rgb formats.
This CL adds an array of
vector<const char*> gTestSuiteConfigParameters
to store the --deqp-gl-config-name
values for different test applications. Each element
in this array can hold multiple const char* values.
In the upcoming CLs, we can add more customized config
values for each test applications, such as
--deqp-screen-rotation for angle_deqp_gles*rotate*tests.
Rename the gEGLConfigName to gEGLConfigNameFromCmdLine.
The default value for gEGLConfigNameFromCmdLine is empty
string, and its value can be overwritten by specifying
--deqp-gl-config-name when running the tests from command
line. If we pass --deqp-gl-config-name from command line,
then use the value passed from the command line to replace
the values in gTestSuiteConfigParameters.
Bug: b/297901032
Change-Id: Ibf8762c55d7d0cdf7bcf33f384568587023b369c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851048
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
29561184
|
2023-09-06T22:08:33
|
|
Remove forward-to-executable helpers from program
This helps avoid accidental usage of the executable that is in the
program instead of the installed executable in the GL context.
The program's executable is still accessed in specific cases of:
- During link
- GL program queries
Bug: angleproject:8297
Change-Id: I40a956e740944f2ecfbf6e4a3060aac08c21f7f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864448
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d62db89e
|
2023-09-18T13:30:54
|
|
Vulkan: Disable VK_EXT_host_image_copy on Fuchsia
An old version of VVL is used, causing incorrect failures.
Bug: angleproject:8341
Change-Id: I0fc605616671343a49fed6ff02ecd67eea672dca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4873440
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
f1345d1c
|
2023-08-02T14:23:59
|
|
Call ReleaseThread() entry point from ThreadCleanupCallback
Change relevant only for the Android platform.
Fixes problems:
1. Current code calls `thread->setCurrent(nullptr)` in
`Display::threadCleanup()` method, while not executing other code
that will actually unmake Context from current. This will affect
following EGL calls from the application's side in its own thread
cleanup callback. For example, calls to `eglMakeCurrent()` (to unmake
from current) or `eglReleaseThread()` will be no-op. This may lead to
memory leak if context was previously marked for destruction.
2. The `Display::threadCleanup()` did not also clears
the `CurrentValidContext`. This may cause crashes or other UB if an
application will call some GLES API in its thread termination
callback (for example `glFinish()`), if ANGLE already destroyed the
context in its ThreadCleanupCallback (use after delete).
3. Context will remain current to a thread that terminated. Current
implementation of GLES drivers on Mali/Adreno GPUs automatically
unmade context from current, so the application may make this context
current to some other thread. ANGLE should mimic this behavior to
avoid possible bugs.
All of the above problems may be fixed by simply calling from the
ThreadCleanupCallback either:
- MakeCurrent(t, d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT)
- ReleaseThread(t)
This CL choose to call `ReleaseThread()` because this is the API that
the application may call in its own thread cleanup callback. And if
application's callback will be called later than ANGLE's callback, then
application's `eglReleaseThread()` call we be a no-op.
Even if the application does not have its own thread cleanup callback
(like most of the applications), there is no harm to call
`ReleaseThread()` anyway. The only difference with `MakeCurrent()` is
that it will also cleanup invalid objects and some other memory
depending on the backend.
This CL naturally replaces existing logic with Display termination when
there is no active threads thanks to the previous CL:
"Perform Display terminate(InternalCleanup) from makeCurrent()".
Bug: angleproject:6723
Bug: angleproject:8283
Test: angle_end2end_tests --gtest_filter=EGLContextSharingTest.ThreadCleanupCallback*
Test: angle_end2end_tests --gtest_filter=EGLContextSharingTest.UnmakeFromCurrentOnThreadExit*
Change-Id: I8c5b31f34f91c4bfdac165ac30c213ff5fef992e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4742383
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
c38f3374
|
2023-09-15T19:22:44
|
|
Fix "win-asan-test" random failures and timeouts
While exact reason for the failures is unknown, it seems like disabling
Vulkan Loader DLL unloading fixes the problem. More details in the issue
8347.
This CL also sets the variable on the Linux platform, because it does
not hurt and will probably help with similar issues.
Bug: angleproject:8347
Change-Id: I398d55a7c13f1ce6790988983fdf8fee7cc5776c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868220
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18f1b3b8
|
2023-09-18T10:01:12
|
|
Roll vulkan-deps from 33efdc70a008 to dc9947ad4d2b (13 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/33efdc70a008..dc9947ad4d2b
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/323836e46b..efc33d1ee5
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d40385b174..9dc0e31574
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e7819d8916..867004beac
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@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: None
Tbr: cnorthrop@google.com
Change-Id: I8f55c6837b7843166e70e9d12d7d322e0caacb92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4872057
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
8f703d87
|
2023-09-18T07:02:27
|
|
Roll Chromium from 0324498f6cbf to 0bbd400252a4 (699 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/0324498f6cbf..0bbd400252a4
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ianelliott@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/7070803978..c5658c73de
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7d64f08b6b..691073acd7
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/a43f7b6121..a65c4c3a2f
* third_party/android_build_tools/lint: 8KAvewZr1XyYqD4IiuVshJeP4y3lg9IgePdsKDz8S-QC..l5GhbN0RAcpoaj1qIS43ZX7AYnLxdF-rZJ0ruGu_iWAC
* third_party/android_build_tools/manifest_merger: Qeitc2DfBrFLUfzkJ3rcI9yHQiKQKC6nNDN89RtwNGgC..FlwnxEZ1wdjoQfedkF4MiZgo8pD48-_CJNA7RnU6as4C
* third_party/android_toolchain/ndk: R_8suM8m0oHbZ1awdxGXvKEFpAOETscbfZxkkMthyk8C..3vHltFqfgIw8wZ38ggGM9c7Eyw_AHZnwCgFIVtc9gngC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1eb44db04a..0dfa3b81d7
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f2e3352a0e..d7ba85d1eb
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/55030e041c..176c934642
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/24e9980b2f..c73590e223
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b662560f84..44d802024e
* tools/skia_goldctl/linux: ESgfYW4L5Q_Q2351ztbGdFg0Ah6n00uuT_oMYgXyH8gC..O5Qnoa4MmsF8xWeyb3Q21JeZTv-xshcXDBNTFS0Pbm8C
* tools/skia_goldctl/mac_amd64: iCXL6g3XKCBXYlkzMZDeqGgTdEW9yRzsVCcs2W-37DUC..N0TF2Fb4AY_HGf_wkMFjMsShJ9KADsZEkZyxbBuGjyoC
* tools/skia_goldctl/mac_arm64: bggzdegdOzNu60PwM5sfR-MkL2LWBAHCHhsnyOuHO-UC..dhhDKAB9aDP4kBCiYZz4-8h4kkvsOmg5s9HqFtLpSqEC
* tools/skia_goldctl/win: Y82RNxTKD09wbNGEQlGS9HJf4fZRrSVq9cX6AZB7Q00C..OpzSEVB6-LaJ1-yaM5mISiNaWker0hgINXOgwOS0dGUC
No update to Clang.
Bug: None
Tbr: ianelliott@google.com
Change-Id: I3037471a7edd3894829684063a38f224227433fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4869949
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
22b6ca1c
|
2023-08-21T00:00:00
|
|
Remove obsolete EXT_blend_func_extended expectations
Bug: angleproject:5981
Bug: angleproject:6585
Bug: angleproject:7177
Change-Id: I25da401f03ff0bfa7a77c3ce7a3fecd0a119d6a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4870916
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d99f85f
|
2023-09-14T15:01:14
|
|
Add multithreaded texture upload test
Bug: angleproject:8341
Change-Id: I8561a64fb28681509a1d65c490888dfa1a423835
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864467
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b2e6a196
|
2023-09-11T15:27:20
|
|
Vulkan: Use VK_EXT_host_image_copy for texture uploads
Of all the scenarios where host image copy may be useful, this is likely
the most common case. There are numerous conditions for when the copy
may be done on the host:
- The image format must support it,
- It must be unused by the GPU,
- It must not have any pending updates (this can potentially be
mitigated if needed), and
- It must be in a host-copyable layout.
However, many texture uploads are done:
- To compressed formats, where support is highly likely,
- On init, where:
- the image is never previously used,
- the image has no previous uploads
- the image is in the UNDEFINED layout
which satisfies the conditions above.
As a result of this change, when the upload is done on the host,
creation of a temp buffer is avoided which greatly reduces memory
pressure (specially during app loading which is when most texture data
is uploaded) and may even improve performance (due to avoiding a double
copy).
Testing the first 3 frames of the following traces with a SwiftShader
implementation shows the amount of buffer allocated for staged uploads
changed as such:
- Black Desert: 185MB -> 65MB
- Genshin Impact: 125MB -> 12MB
- Asphalt 9: 138MB -> 0MB
Bug: angleproject:8341
Change-Id: Id71dcc4a7a0f8b67960d2d283fe9d19ce7429a03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856676
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92218933
|
2023-09-15T10:33:49
|
|
Add VMA version to logcat
This is a temporary CL. It will be used to confirm that Android
uses VMA 3.0 with ANGLE as the default driver.
* Added the VMA version log when the renderer is being initialized.
Bug: b/295208838
Change-Id: I054a4e0e080aa5d06533bd7785eea608e14bba39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
cd8495b0
|
2023-09-14T20:00:32
|
|
Re-enable Metal on AMD FirePro.
Instead of disabling Metal altogether, test whether it works to just
disable the rescobeGlobalVariables compiler workaround on FirePro
devices.
Bug: angleproject:8317
Change-Id: Ia93a1fef04a387c5756d14660a2da4eb39b8db08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864732
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ffd6ec26
|
2023-09-07T15:39:19
|
|
Reland "Make egl surface uncurrent when being destroyed"
This relands commit 497440cdcb7d2ee59bca612dd07fc13cf09a6a57.
This is to workaround errors when app does below behaviors:
1) while there is a context still bound to the current
rendering thread and the surface, call eglDestroySurface()
2) create a new surface eglCreateWindowSurface()
3) call eglMakeCurrent() with the surface created in step 2)
4) does work on the new surface
The old surface won't be destroyed in step 1) because
it was still bound by the context of the current rendering
thread. When creating new surface on step 2), some hardware
will return error code EGL_BAD_ALLOC, because the old egl
surface is still associated with the native window.
To workaround, when destroying surface, if the surface
is still bound by the context of the current rendering
thread, release the context and surface by passing
EGL_NO_CONTEXT and EGL_NO_SURFACE to eglMakeCurrent().
The workaround is controlled by a frontend feature
uncurrentEglSurfaceUponSurfaceDestroy. This feature
is only enabled on vulkan backends.
Bug: b/292285899
Change-Id: Id4c47f1b20e0f90d1013a68893fd70e917c030e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4867066
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
cc242e72
|
2023-09-15T14:26:20
|
|
Roll VK-GL-CTS from 58e66c9d2857 to 23a6249942af (8 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/58e66c9d2857..23a6249942af
2023-09-15 slawomir.cygan@intel.com Fix image layouts for storage image
descriptor and barrier stages
2023-09-15 michal.jakubek@mobica.com Treat DeviceIndex like ViewIndex.
2023-09-15 ziga@lunarg.com Add logs for vkCmdBindVertexBuffers2 tests
2023-09-15 piotr.byszewski@mobica.com Handle multidimensional arrays in
gen_framework
2023-09-15 ziga@lunarg.com Add tests for VK_EXT_host_image_copy
2023-09-15 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7
into vk-gl-cts/main
2023-09-12 lorenzo@khronosgroup.org Allow Vulkan CTS 1.3.7.0
2023-09-11 lorenzo@khronosgroup.org Split image.txt and
shader-object.txt mustpass into multiple files
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,ianelliott@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: None
Tbr: ianelliott@google.com
Change-Id: If3ebdd660f35e9f46d373103caeead85dfa88f3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868080
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
d6af4977
|
2023-09-15T10:01:14
|
|
Roll vulkan-deps from f64a38bd0c7a to 33efdc70a008 (19 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f64a38bd0c7a..33efdc70a008
Changed dependencies:
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/d790ced752..fc7d246276
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fc54e178e9..a996591b1c
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e2e3cb97b8..d40385b174
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/ba0d57a514..10f76f75da
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9ced253f51..e7819d8916
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,ianelliott@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: None
Tbr: ianelliott@google.com
Change-Id: If256396fe02e825386cafba4b5c927a765483862
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868077
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
e3794967
|
2023-09-15T07:36:40
|
|
Roll Chromium from a50e493e11b5 to 0324498f6cbf (556 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/a50e493e11b5..0324498f6cbf
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ianelliott@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/7aea0d4843..7070803978
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/692dc363e0..7d64f08b6b
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/5cf0cb5238..a43f7b6121
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e407b66e5f..1eb44db04a
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/4a4428445d..f2e3352a0e
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/68a6f0b882..55030e041c
* third_party/r8: 3kYZB8oSh1P15bfu_s8B4M_5KPhjLhyidp2lyRVqWroC..g3ZKfFfRYNZNHJUs07J5hb92ua_jvjdrbo7I1R585uwC
* tools/luci-go: git_revision:fcec56a73e7375ba26e10e053cee92e06b4636ca..git_revision:8b73cff3b780a7136c4904103f19124d2be3dee1
* tools/luci-go: git_revision:fcec56a73e7375ba26e10e053cee92e06b4636ca..git_revision:8b73cff3b780a7136c4904103f19124d2be3dee1
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/18e77c0dbd..24e9980b2f
* tools/skia_goldctl/linux: FdyOkAznuQ7k2iieFXsUTpz6jBaUHPGw8fNxb1-0JLMC..ESgfYW4L5Q_Q2351ztbGdFg0Ah6n00uuT_oMYgXyH8gC
* tools/skia_goldctl/mac_amd64: 9RuiM5HJiEHkr27MLsTx04jOTEYQG-D_3P1BCrM03q4C..iCXL6g3XKCBXYlkzMZDeqGgTdEW9yRzsVCcs2W-37DUC
* tools/skia_goldctl/mac_arm64: tDNHYe-tSHHr68Th6urfIcXLngT2yJ2jCyZBQLAB5mYC..bggzdegdOzNu60PwM5sfR-MkL2LWBAHCHhsnyOuHO-UC
* tools/skia_goldctl/win: 3VsnMzWsw1jy9-ZgvgPjR5emUA1IwrCNkX8xYK8oxFgC..Y82RNxTKD09wbNGEQlGS9HJf4fZRrSVq9cX6AZB7Q00C
No update to Clang.
Bug: angleproject:8317
Tbr: ianelliott@google.com
Change-Id: Ia07bc5caac8acd337ea5f4725301b45371369347
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4867445
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
b4852ef9
|
2023-02-08T14:18:06
|
|
Vulkan: Drop support for Vulkan 1.0
Bug: angleproject:7959
Change-Id: Ib673679ea1a503af22b37092dbff1ee1fd34fba6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4233092
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
68bfa1ed
|
2023-08-22T22:02:15
|
|
Support for link to be entirely parallelized
The link job is split as such:
- Front-end link
- Back-end link
- Independent back-end link subtasks (typically native driver compile
jobs)
- Post-link finalization
Each step depends on the previous. These steps are executed as such:
1. Program::link calls into ProgramImpl::link
- ProgramImpl::link runs whatever needs the Context, such as releasing
resources
- ProgramImpl::link returns a LinkTask
2. Program::link implements a closure that calls the front-end link and
passes the results to the backend's LinkTask.
3. The LinkTask potentially returns a set of LinkSubTasks to be
scheduled by the worker pool
4. Once the link is resolved, the post-link finalization is run
In the above, steps 1 and 4 are done under the share group lock. Steps
2 and 3 can be done in threads or without holding the share group lock
if the backend supports it. Step 2 is not yet made independent of the
Context on some backends, and a frontend feature is used to make that
step either run on the main thread or as a worker thread.
Bug: angleproject:8297
Change-Id: I12f1e6bbaf365543dfcac969e166e0b5aa622104
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4808191
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c5728f1
|
2023-09-14T08:19:06
|
|
Roll Chromium from 459a6b238bc8 to a50e493e11b5 (596 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/459a6b238bc8..a50e493e11b5
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ianelliott@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/4420c4de06..7aea0d4843
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/b2043d4f43..692dc363e0
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/f79e60f037..5cf0cb5238
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/d7df3f77cd..c2ac88e292
* third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/4b4eee2d24..eeb2d566f9
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ddbdff3f20..e407b66e5f
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/bcba178212..4a4428445d
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/84fb809dd6..68a6f0b882
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d3ed8c086c..f6a17c88dd
* third_party/r8: oP1tOCigL9cN6j-dfqmgRtMV5zOSZQ2IgaG11GSyNP0C..3kYZB8oSh1P15bfu_s8B4M_5KPhjLhyidp2lyRVqWroC
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/f5fd0ad266..235986452b
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/4bead2e08b..f1c4d9a146
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/7dff576917..31a7453f89
* tools/luci-go: git_revision:fe3cfd422b1012c2c8cf00d65cdb11aa2c26cd66..git_revision:fcec56a73e7375ba26e10e053cee92e06b4636ca
* tools/luci-go: git_revision:fe3cfd422b1012c2c8cf00d65cdb11aa2c26cd66..git_revision:fcec56a73e7375ba26e10e053cee92e06b4636ca
No update to Clang.
Bug: angleproject:8317
Tbr: ianelliott@google.com
Change-Id: Iafba04bdadd91a3d70f566e648be5ce88be366a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4865949
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
5afc76e3
|
2023-09-12T11:05:08
|
|
Disable Metal on AMD FirePro devices.
These older drivers are crashing in the driver for unknown reasons.
Only 0.5% of Chrome users are on these devices, so we'll disable
Metal on them.
Bug: angleproject:8317
Change-Id: Ia3ca5c3fa8e96aab903e15d989cfbd459679b15d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4859020
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
d3d81498
|
2023-09-11T16:11:33
|
|
Add metrics for shader compilation time and shader blob size
Log the time it takes for the system compiler to compile Metal and D3D
shaders.
Log the D3D shader blob size to get a sense of storage size needed.
Bug: chromium:1481238
Change-Id: I300102dcb035f42e91d7819cd9465ff18436abf3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851196
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8a7ad933
|
2023-09-13T15:11:46
|
|
Revert "Make egl surface uncurrent when being destroyed"
This reverts commit 497440cdcb7d2ee59bca612dd07fc13cf09a6a57.
Reason for revert: this caused chromium webview tests failures: https://chromium-review.googlesource.com/c/chromium/src/+/4860891.
Original change's description:
> Make egl surface uncurrent when being destroyed
>
> This is to workaround errors when app does below behaviors:
>
> 1) while there is a context still bound to the current
> rendering thread and the surface, call eglDestroySurface()
> 2) create a new surface eglCreateWindowSurface()
> 3) call eglMakeCurrent() with the surface created in step 2)
> 4) does work on the new surface
>
> The old surface won't be destroyed in step 1) because
> it was still bound by the context of the current rendering
> thread. When creating new surface on step 2), some hardware
> will return error code EGL_BAD_ALLOC, because the old egl
> surface is still associated with the native window.
>
> To workaround, when destroying surface, if the surface
> is still bound by the context of the current rendering
> thread, release the context and surface by passing
> EGL_NO_CONTEXT and EGL_NO_SURFACE to eglMakeCurrent().
>
> The workaround is controlled by a frontend feature
> uncurrentEglSurfaceUponSurfaceDestroy. This feature
> is only enabled on vulkan and gl backends.
>
> Bug: b/292285899
> Change-Id: I872d2e116ba6860f58d1176f011a5ef7c5a5af4e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851255
> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bug: b/292285899
Change-Id: I760054d856294e6691e79e165fd73ce9e560621f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4862958
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
297877bc
|
2023-09-13T10:01:57
|
|
Roll vulkan-deps from 822425619cd5 to f64a38bd0c7a (9 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/822425619cd5..f64a38bd0c7a
Changed dependencies:
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/1c827fd79c..e2e3cb97b8
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/d3c1c1ade0..a01cfc0b78
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b8609302c8..9ced253f51
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,ianelliott@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: None
Tbr: ianelliott@google.com
Change-Id: Ia38fa3b7c1bd4de491b8ca0da3300ea0d07f7f4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4860377
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
b4848e85
|
2023-09-13T08:05:26
|
|
Roll Chromium from c661891ca003 to 459a6b238bc8 (608 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/c661891ca003..459a6b238bc8
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ianelliott@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/1a25429fe3..4420c4de06
* buildtools/linux64: git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4..git_revision:991530ce394efb58fcd848195469022fa17ae126
* buildtools/mac: git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4..git_revision:991530ce394efb58fcd848195469022fa17ae126
* buildtools/win: git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4..git_revision:991530ce394efb58fcd848195469022fa17ae126
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/ce02ccbb6e..f79e60f037
* third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/ff414082cc..7ebbd1ea9b
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4ca9d0910a..ddbdff3f20
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8babcb7e2e..bcba178212
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d5209a75b3..d3ed8c086c
* third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/0568576055..d9b4abf6b6
* third_party/r8: fR4aBtFTaohfSjV_Y54-1MC5dV2cTK7iZrFUiGoVivgC..oP1tOCigL9cN6j-dfqmgRtMV5zOSZQ2IgaG11GSyNP0C
* third_party/siso: git_revision:d967f854b8fcd36e484df1b6677fb003a8f48a8b..git_revision:412571deccd76eb54f681963ca14e13c3efc63e1
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/438abc2caa..4bead2e08b
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bea2565145..18e77c0dbd
No update to Clang.
Bug: angleproject:8315
Tbr: ianelliott@google.com
Change-Id: Ica0a5bc156efd51b6b8ea07c28113944b15a40f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4860376
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
e1b80fac
|
2023-09-12T20:12:36
|
|
Manual roll SwiftShader from 4e40d502c440 to 7f4d495c89c2 (1 revision)
Manual roll requested by syoussefi@google.com
https://swiftshader.googlesource.com/SwiftShader.git/+log/4e40d502c440..7f4d495c89c2
2023-09-12 syoussefi@google.com Implement VK_EXT_host_image_copy
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC
angle-team@google.com,ianelliott@google.com,syoussefi@google.com on the
revert to ensure that a human
is aware of the problem.
To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
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:8341
Tbr: ianelliott@google.com,syoussefi@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I1c6d4da1861d5cc52cc94fd9a7100d3b5ed8620e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4859398
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
e7a77053
|
2023-09-12T13:40:47
|
|
Update VulkanMemoryTest after adding context flush
After adding context flushing to the memory allocation fallbacks
in a previous CL (https://crrev.com/c/4787949), some tests in the
VulkanMemoryTest suite no longer test the success path of the fallback
to wait for submitted commands to finish.
* Updated AllocateVMAImageAfterFreeing2DGarbageWhenDeviceOOM
* The test now uses an additional allocation and draw after the
first sync, followed by a second sync. During the allocation
of the last texture, it would wait to finish the submitted
command and free the garbage without flushing the whole context.
Bug: b/280304441
Change-Id: Idc583e120b8d9e1cc550f6cba4cb0b2b197e4944
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4860367
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
497440cd
|
2023-09-07T15:39:19
|
|
Make egl surface uncurrent when being destroyed
This is to workaround errors when app does below behaviors:
1) while there is a context still bound to the current
rendering thread and the surface, call eglDestroySurface()
2) create a new surface eglCreateWindowSurface()
3) call eglMakeCurrent() with the surface created in step 2)
4) does work on the new surface
The old surface won't be destroyed in step 1) because
it was still bound by the context of the current rendering
thread. When creating new surface on step 2), some hardware
will return error code EGL_BAD_ALLOC, because the old egl
surface is still associated with the native window.
To workaround, when destroying surface, if the surface
is still bound by the context of the current rendering
thread, release the context and surface by passing
EGL_NO_CONTEXT and EGL_NO_SURFACE to eglMakeCurrent().
The workaround is controlled by a frontend feature
uncurrentEglSurfaceUponSurfaceDestroy. This feature
is only enabled on vulkan and gl backends.
Bug: b/292285899
Change-Id: I872d2e116ba6860f58d1176f011a5ef7c5a5af4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851255
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
e7418836
|
2023-08-16T14:25:52
|
|
Vulkan: Add context flushing as OOM fallback
* As a new fallback for out-of-memory errors, if an allocation results
in device OOM, the context is flushed and the allocation is retried.
* Functions related to buffer/image allocations now return a VkResult
value instead of angle::Result, which will be bubbled up to a higher
level for safer handling.
* The OOM is no longer handled at the level where the allocation
happens, but is moved up to the context.
* Added two functions to ContextVk for allocating memory for images and
buffer suballocations, which also include the fallback options.
* initBufferAllocation(): Uses BufferHelper::initSuballocation()
* initImageAllocation(): Uses ImageHelper::initMemory()
* Moved initNonZeroMemory() out of the following functions:
* BufferHelper::initSuballocation()
* Moved to ContextVk::initBufferAllocation().
* ImageHelper::initMemory()
* Moved to ContextVk::initImageAllocation().
* Also moved to new function:
ImageHelper::initMemoryAndNonZeroFillIfNeeded().
This function replaced the rest of initMemory() usages outside
initImageAllocation().
* New macros for memory allocation
* VK_RESULT_TRY()
* If the output of the command inside it is not VK_SUCCESS, it will
return with the error result from the command.
* VK_RESULT_CHECK()
* If the output of the command inside it is not VK_SUCCESS, it will
return with the input error.
* Added a test in which allocation would fail due to too much pending
garbage without the fix on some platforms. The test ends once there
has been a submission.
* New suite: UniformBufferMemoryTest
* Added a similar test for flushing texture-related pending garbage.
* New suite: Texture2DMemoryTestES3
Bug: b/280304441
Change-Id: I60248ce39eae80b5a8ffe4723d8a1c5641087f23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787949
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2fe7bbae
|
2023-09-07T13:21:29
|
|
Tests: Add Oxenfree trace
Test: angle_trace_tests --gtest_filter=TraceTest.oxenfree
Bug: b/298613720
Change-Id: Ie577dff75faf58ee97c0898a28766e9ed7c87459
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851250
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ce263437
|
2023-09-11T12:25:28
|
|
Vulkan: Perform CPU wait in clientWait outside the global lock
Leverage UnlockedTailCall and move the CPU side wait
during a clientWait outside of the global mutex lock.
Bug: angleproject:8340
Tests: FenceSyncTest.BasicOperations*
Tests: EGLSyncTest.EglClientWaitSync*
Change-Id: I8c05e62e74cc64d38bf8797d28faaf49135e71fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851649
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b185c3ea
|
2023-09-11T12:28:43
|
|
Vulkan: Add host-image-copy usage to images when optimal
The change currently doesn't actually copy on host, but prepares the
image for it.
Bug: angleproject:8341
Change-Id: I4458712dca46ef9872020e158a3f902e94f5eb93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856146
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
6553225d
|
2023-09-11T11:33:19
|
|
Vulkan: Refactor image usage/flags support check logic
The function that checks whether a format supports a specific usage is
moved to ImageHelper. For VK_EXT_host_image_copy, Renderbuffer, AHB etc
may also use this function.
Bug: angleproject:8341
Change-Id: I6ebc06f97fd29e66aa8d43fcf045f51717d27864
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856144
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a469a5d3
|
2023-09-12T17:28:14
|
|
Hide mac-exp-test from LUCI console
Experiments were finished
Bug: chromium:1456549, chromium:1462473, chromium:1464635
Change-Id: I55f3da2578c84f3d622a5027c07aafed6d02241b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4859442
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
|
|
8cca7db3
|
2023-09-12T15:23:35
|
|
Stop Mac experimental bots, restore CQ testing on NVIDIA
Mac NVIDIA machines were upgraded from 10.14 to 11.7.9 and are stable on
experimental bot, so CQ testing can resume.
Mac Intel and AMD were upgraded to 13.5 on stable bots,
experimental testing can be shut down.
Bug: chromium:1456549, chromium:1462473, chromium:1464635
Change-Id: Iea572008ac7edc494df657f02ed063a83096de37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4859441
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
|
|
d4e1493c
|
2023-09-11T22:38:32
|
|
Optimize compressed texture loads
Similar to LoadToNative, which has a fast-path for when the pitches
align (and a single memcpy is used), LoadCompressedToNative is made to
use a single memcpy when the pitches align.
Bug: angleproject:8341
Change-Id: I4893f9ec26bb80d83593fc102990bd84c38bd12b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856674
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f57b0c3a
|
2023-09-08T14:26:18
|
|
Merge GetAndroidSdkLevel and GetAndroidSDKVersion
Now we funnel all the Android property queries through the one utility
funciton in android_utils.
Bug: chromium:1479277
Change-Id: I7313064208895f095319ed129b6f7d2edf31b427
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4852681
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e4d0db32
|
2023-09-11T22:41:05
|
|
Mark native compressed data uploads as not requiring conversion
The requiresConverion flag in LoadImageFunctionInfo is used to choose
faster paths during data upload (when it's false). This flag was set on
native compressed image load functions, even though they are simple
memcpys.
Bug: angleproject:8341
Change-Id: I81c217eb2e92b3c33b65bf4ff295b68a7a5814f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856675
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c0ba92bc
|
2023-09-12T13:56:10
|
|
Manual roll vulkan-deps from fcc5a5e242db to 822425619cd5 (54 revisions)
Manual roll requested by syoussefi@google.com
https://chromium.googlesource.com/vulkan-deps.git/+log/fcc5a5e242db..822425619cd5
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/0bbe74c709..323836e46b
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/54997fb4bc..5e963d62fa
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/440f018cc4..fc54e178e9
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/2634c969d7..4f51aac14f
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e95fee0b8e..1c827fd79c
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/e50622314d..d3c1c1ade0
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/dd26ae7065..ba0d57a514
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/71da22274a..b8609302c8
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC
angle-team@google.com,ianelliott@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://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: None
Tbr: ianelliott@google.com,syoussefi@google.com
Change-Id: Ic210d58b486c9ffff78ad85226207f5562a6fcfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4859259
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
58c8fc8b
|
2023-09-06T23:54:20
|
|
CopySubTexture: Handle sRGB source in Metal backend
CopySubTexture should ignore the color encoding of both the source
and destination. The implementation currently ignores the color
encoding of the destination (and CopyTextureVariationsTest tests
this).
The implementation does not always ignore the color encoding of the
source. As an example of the consequences of this, an RGBA pixel
value of 0xFF/80/00/FF, when copied from a GL_SRGB8_ALPHA8 texture
to a GL_RGBA8 texture may result in a value of 0xFF/37/00/FF, if the
copy was executed using a shader (in which case the sRGB-to-linear
function was applied 0x80, resulting in the 0x37).
Update the Metal shaders that do this blit, adding an option to apply
a linear-to-sRGB transformation to undo the transformation applied by
the sampler.
The linear-to-sRGB transformation must be applied on unpremultiplied
values. Ensure that the sequence of operations in all shaders is
first unpremultiply, then linear-to-sRGB, then premultiply. Also
remove optimizations to have the unpremultiply and premultiply
cancel each other out, if there is also a linear-to-sRGB being applied.
Bug: angleproject:7907
Change-Id: I7237bde1c61251a2f83968755e98a139ba949b59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4848327
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
712ade9f
|
2023-09-12T10:01:48
|
|
Roll SwiftShader from 9b300a6d6747 to 4e40d502c440 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9b300a6d6747..4e40d502c440
2023-09-11 dneto@google.com Avoid "var set but not used" warnings in
math tests
2023-09-11 syoussefi@google.com Update Vulkan headers to version 1.3.238
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC angle-team@google.com,ianelliott@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
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:8341
Tbr: ianelliott@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I2c9927be3afdbc1e7c1e2257823936a95279bed7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4857934
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
0bc2f9ed
|
2023-09-12T07:40:49
|
|
Roll Chromium from 9cc28010e63d to c661891ca003 (545 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/9cc28010e63d..c661891ca003
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ianelliott@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/75d51b6a24..1a25429fe3
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/ded28ebda2..ce02ccbb6e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2d15e4bbe7..4ca9d0910a
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/80226254ea..8babcb7e2e
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/e9c37571a1..d5209a75b3
* third_party/r8: fBg5UVKZ-YCVie2gVbsVuh6YoknsrBf6z4-Ca61O2p8C..fR4aBtFTaohfSjV_Y54-1MC5dV2cTK7iZrFUiGoVivgC
* third_party/siso: git_revision:50cf1b4292c8c1398608409f5c79db3ecae0dab8..git_revision:d967f854b8fcd36e484df1b6677fb003a8f48a8b
* third_party/turbine: ZlMS4BOYyYmbU8BuBDGyW7QrkvZ_-pTkm4lH4jKjTi4C..laSnfZnTgkmZynERrjAlU3yeqB5rN446BctGmKQsZ64C
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/5c46fabf81..7dff576917
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/2508903706..bea2565145
No update to Clang.
Bug: None
Tbr: ianelliott@google.com
Change-Id: I0284a77c43e75a523e4ec3fa6bd06a577edec2a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4857468
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
ec89b1a2
|
2023-09-11T12:25:10
|
|
Vulkan: Bugfix in waitForResourceUseToFinishWithUserTimeout
The commit 6d282d62b39b177e5762e01de3d382984494f07d
introduced a bug where <result> was not being set
in all code paths, now we do.
Bug: b/255411748
Bug: angleproject:8340
Change-Id: Ic191f9e09c35a64ae2393d9670a3a9e33cd5e102
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4854941
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
c5d19d76
|
2023-09-07T09:58:24
|
|
Reland "Load mUniformLocations using loadVector"
This is a reland of commit 6f526b8f52d17bf89082a901f06df6edb75a7dbd
Original change's description:
> Load mUniformLocations using loadVector
>
> Bug: b/275102061
> Change-Id: I1da5bdd6bf0ec40cd877c2274a8fe1ee0b11267a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849551
> Reviewed-by: Roman Lavrov <romanl@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/275102061
Change-Id: If501db97a37b00104a9d16fc40200f772ffcd2fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856749
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ee7f6ed5
|
2023-09-07T16:50:54
|
|
Refactor dEQP test classes
Rename dEQP to dEQPTest.
Move the static functions and variables that
are shared between all individual dEQP tests
in the same test suite into the dEQPTestSuiteStat
class.
This new dEQPTestSuiteStat class is responsible
for updating the test counts, succeeded tests,
and failed tests of a test suite. Add a static member
of type dEQPTestSuiteStat to the dEQPTest class,
so that all of the dEQPTest instances shared the
same instance of dEQPTestSuiteStat, and as each dEQPTest
TestBody() executes, it can update the data in the same
dEQPTestSuiteStat.
Each deqp test application will create multiple
dEQPTest instances based tests listed in one of the
mustpass list in gCaseListFiles array. And each
deqp test application will only create one test suite.
This is done through testing::RegisterTest(). The
testSuiteName passed to testing::RegisterTest()
for each dEQP test application remains
the same for all of the dEQP tests created.
This change also replaces the below legacy function
names with the new function names:
SetUpTestCase() --> SetUpTestSuite()
TearDownTestCase() --> TearDownTestSuite()
Bug: b/297901032
Change-Id: I9439d7ac314d70a9a5d9ad72c0a3f58cd11e559b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851047
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
eb5acc3e
|
2023-09-08T15:34:44
|
|
Tests: Add ONE PIECE TREASURE CRUISE trace
Test: angle_trace_tests --gtest_filter="*one_piece_treasure_cruise*"
Bug: b/299681746
Change-Id: I3b5a9de18613df37181feb3c207105dba411d2a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4854449
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
1249fc1f
|
2023-09-07T14:39:26
|
|
Tests: Support capture_tests on Android and enable on CI
Enables angle_with_capture_by_default = true on Android bots
similarly to Linux and Windows.
Enables the capture test on Pixel 4 and 6 bots (it takes only a few
seconds to run)
Enables support for capture in android_helper in general.
For example, this now works the same way it would on say Linux, but
runs the capture on the device an pulls files to OUT_DIR.
% ANGLE_CAPTURE_LABEL=gacha_club ANGLE_CAPTURE_OUT_DIR=/tmp/capt2 ANGLE_CAPTURE_FRAME_START=16 ANGLE_CAPTURE_FRAME_END=16 out/AndroidPerformance/angle_trace_tests --gtest_filter=TraceTest.gacha_club --use-angle=vulkan --retrace-mode --max-steps-performed=20
For end2end tests it's a bit trickier as we're still using the Chromium
wrappers for e.g. out/AndroidPerformance/angle_end2end_tests - which is
why capture_tests.py is currently using angle_android_test_runner.py
Bug: b/296397568
Change-Id: I2606e74a17c90e381bb49ec8d555a6d24851b4f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850889
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
0510fb49
|
2023-09-11T18:11:50
|
|
[code health] Use more standard enumerator names
Use more standard enumerator names in ANGLE
https://google.github.io/styleguide/cppguide.html#Enumerator_Names
There are still some non-standard enumerator names in the //cc
directory, which will be modified in subsequent patches.
Bug: chromium:1480233
Change-Id: I96d534f0eb74a8583237c754f6ef867bd1b33d4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4853030
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ho Cheung <uioptt24@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c7b7972d
|
2023-09-11T07:00:48
|
|
Roll Chromium from 5a5b1cec68d0 to 9cc28010e63d (748 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/5a5b1cec68d0..9cc28010e63d
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-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 Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/d674d1e8c1..75d51b6a24
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/05a91b5126..ded28ebda2
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6bd9179603..2d15e4bbe7
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7f5b53ff8d..80226254ea
* third_party/fuchsia-sdk/sdk: version:14.20230902.2.1..version:15.20230909.2.1
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/331847d7a5..e9c37571a1
* third_party/r8: 3phdyAHwQKjlTdh7tE5hbtnIUOYawn0ewGrKJdykjf8C..fBg5UVKZ-YCVie2gVbsVuh6YoknsrBf6z4-Ca61O2p8C
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/7cd7332af2..438abc2caa
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/193e3617a6..5c46fabf81
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3895d9dc40..2508903706
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8bed384b0f..b662560f84
Clang version changed llvmorg-17-init-16420-g0c545a44:llvmorg-18-init-4631-gd50b56d1
Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/193e3617a6f436a57a0eda57ce3ebc6c1d6a6b0e..5c46fabf81887bcf9e6292551e38b8d0fd03548f/scripts/update.py
Bug: None
Tbr: syoussefi@google.com
Change-Id: Ic03ac056ca4d1eeec11bd675898f841204335224
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856257
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
1f1b5ee8
|
2023-09-07T00:00:00
|
|
GL: Disable clip distance state when unused
Some OpenGL drivers experience runtime failures
when clip distances are enabled but the program
does not statically use them.
Bug: angleproject:4452
Change-Id: I90fc4ccf1aa669f1b202a1726be49b1e5401a435
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4853743
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
79691400
|
2023-09-09T20:50:24
|
|
Revert "Load mUniformLocations using loadVector"
This reverts commit 6f526b8f52d17bf89082a901f06df6edb75a7dbd.
Reason for revert: Suspected cause of MSAN failure. See:
https://chromium-review.googlesource.com/c/angle/angle/+/4851776
Original change's description:
> Load mUniformLocations using loadVector
>
> Bug: b/275102061
> Change-Id: I1da5bdd6bf0ec40cd877c2274a8fe1ee0b11267a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849551
> Reviewed-by: Roman Lavrov <romanl@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/275102061
Bug: chromium:1480543
Change-Id: I50c39758d180320465b152ad32ba9447878f7d8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4855538
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
9740b01b
|
2023-09-08T16:30:08
|
|
Enhance UnlockedTailCall run method
UnlockedTailCall::CallType is now std::function<void(void *)>
This is in preparation for upcoming changes where unlocked
tail calls need access to objects outside block and namespace
scope.
Bug: angleproject:8340
Tests: UnlockedTailCall*
Change-Id: Ida6822b701c5c11ce4b8f6e3aae53108755e2cad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4852021
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
e234c182
|
2023-09-08T16:19:29
|
|
Add features for VK_EXT_host_image_copy
Bug: angleproject:8341
Change-Id: Id076e6c9e040f3c19a1eb221f6099ac11d4d091a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4852280
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
48e2c605
|
2023-09-07T14:30:46
|
|
More instances of program usage converted to executable
Bug: angleproject:8297
Change-Id: I8e4eeef8f4f20610bbe0f994ce1141c17d588765
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850888
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1bd9fc24
|
2023-09-07T00:21:13
|
|
D3D: Remove more usages of program instead of executable
Only usage of getProgram() and getLinkedProgram() in the d3d backend
remains for multidraw, which will be fixed separately as it involves
setting uniforms (currently done through the program).
Bug: angleproject:8297
Change-Id: I48b3ec66837888c8ebf58f43a6d8a2f483dd4659
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4846954
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fce1e574
|
2023-09-08T14:21:58
|
|
FrameCapture: Skip output dir check if disabled
* In order to improve performance and avoid errors when running
with capture support, change the output dir checks to be optional.
* The checks are expensive on Android due to reading the process
name and filesystem locations.
* We want want to continue emitting errors if the user wants to
capture but didn't create the output dir.
Test: Android apps with and without capture enabled via properties
Bug: b/296397568
Change-Id: If3adbe0c569db49fd8e8e430b7c57ae8585ca4d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4854443
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
74b7ec03
|
2023-09-08T14:26:18
|
|
GL: Don't use system info for Android SDK queries.
It can be queried directly from the system property without fully
gathering system info. System info often uses Vulkan which is known
to be unstable on some older devices.
Bug: chromium:1479277
Change-Id: Ic6ee1d0182b047b0a3210dd1067f6b7250e3da02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851775
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
57761d85
|
2023-09-08T10:02:48
|
|
Attempt to fix the MSan failure on chromium bots
struct BlockMemberInfo was not tightly packed. This CL makes it packed.
Bug: b/296433003
Change-Id: I38da3e463cf304028236e651b6b4e334ce9220e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851063
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
98b0855b
|
2023-09-08T10:50:58
|
|
Add drm format ABGR16161616F to linux
We need to support drm 16f formats for lacros HDR.
Bug: chromium:1473267
Change-Id: Idd3cb5e75e1fabf046c8aa21a6b7f51aafde15e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851773
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
765bca2f
|
2023-09-08T09:15:52
|
|
Add <cstring> include to FastVector.h
This resolves the call to `std::memcpy` which was failing in recent skia
skia rolls with an error that looked like this:
error: no member named 'memcpy' in namespace 'std'; did you mean simply 'memcpy'?
Bug: None
Change-Id: If54ed266812315cfea35d95a57c758f75bcb270b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Arman Uguray <armansito@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a507f312
|
2023-09-08T15:51:09
|
|
Roll VK-GL-CTS from 385ae8bed1f9 to 58e66c9d2857 (11 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/385ae8bed1f9..58e66c9d2857
2023-09-08 rgarcia@igalia.com Test drawing outside XFB section with no
state change
2023-09-08 rgarcia@igalia.com Test not storing every location component
in the XFB buffer
2023-09-08 pdaniell@nvidia.com Fix regression in all statistic_query
tessellation tests
2023-09-08 ziga@lunarg.com Fix validation errors in shader object tests
2023-09-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6
into vk-gl-cts/main
2023-09-07 lorenzo@khronosgroup.org Increase Vulkan CTS fractions to 16
in the README
2023-09-07 ziga@lunarg.com Set ignored samplers to null
2023-09-07 boris.zanin@amd.com VK_KHR_cooperative_matrix - fix subgroup
size
2023-09-07 seasonl@nvidia.com Add mesh and task shader to
s_resultItemMap for result parsing
2023-09-07 chrisglover@google.com Add tests for recently added HLG
format
2023-09-07 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6
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 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://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: None
Tbr: syoussefi@google.com
Change-Id: I1d0ee66c27766c89d524c53d1885ca82a015a126
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851061
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
83030fed
|
2023-09-08T10:18:57
|
|
Tests: rename isolated_scripts groups
isolated_scripts_group_pixel6 currently has one item but more is coming
Bug: b/296397568
Change-Id: I404cc24331c8d31a51e21c15d28040a7c7507945
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850870
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
65ec697f
|
2023-09-08T10:01:11
|
|
Roll SwiftShader from 32f9332d1d7a to 9b300a6d6747 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/32f9332d1d7a..9b300a6d6747
2023-09-07 aredulla@google.com [ssci] Uplift subzero/bloat third party
metadata
2023-09-07 natsu@google.com Use AHardwareBuffer_* APIs in
prepareForExternalUseANDROID()
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-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 SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
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: None
Tbr: syoussefi@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I818d2789d27be69df55e8c305a146da6f125883a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4852770
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
e60556f7
|
2023-09-08T07:01:50
|
|
Roll Chromium from 4ae31457f4f5 to 5a5b1cec68d0 (469 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/4ae31457f4f5..5a5b1cec68d0
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-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 Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/aeaf972223..d674d1e8c1
* buildtools/reclient: re_client_version:0.113.0.8b45b89-gomaip..re_client_version:0.114.2.81e819b-gomaip
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/5b92cc5301..05a91b5126
* third_party/android_build_tools/lint: 2ilHXL8jElnQimOXXEaawIQ9Gn2FY6ZWfBl34Ico_owC..8KAvewZr1XyYqD4IiuVshJeP4y3lg9IgePdsKDz8S-QC
* third_party/android_build_tools/manifest_merger: ki-ikxybU11aNNE3tvffa5JaDIUy7dGTBAtWRz_O6Q4C..Qeitc2DfBrFLUfzkJ3rcI9yHQiKQKC6nNDN89RtwNGgC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3e023e6fe1..6bd9179603
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/68ccac685a..7f5b53ff8d
* third_party/kotlin_stdlib: 6cGkpHi3fSRhpRfq2b1mjmzfFmShvtQe6gy4g2nFQd0C..7XCiIAlSi36gvPwOn8N4Q1GE9sMLw6V1RljM9151cWIC
* third_party/r8: LrWtF7Gfts11G550w5xD61mhL5_0R9IxcPm-0bj735EC..3phdyAHwQKjlTdh7tE5hbtnIUOYawn0ewGrKJdykjf8C
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/8656ad6936..3895d9dc40
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/346d862fa0..8bed384b0f
No update to Clang.
Bug: None
Tbr: syoussefi@google.com
Change-Id: I4cd277a97d9b31eebc4f6e50f6733fa8b50b4db7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4853438
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
99d39241
|
2023-09-07T16:48:22
|
|
Metal: Increase the size of the default uniform block
Use a buffer pool per shader type and size it to be a nice multiple of
the block that will be allocated for each uniform update.
Set the buffer pool size to unbounded. When the pool runs out of
buffers it currently does a full CPU/GPU sync which is catastrophic
for performance when uniforms are updated every draw call.
Bug: angleproject:8301
Change-Id: I7f826feb4e766fd1cf1b2db01954af7089e3fe90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850950
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a412b149
|
2023-09-07T12:08:40
|
|
Suppress out of bounds on no robust contexts tests
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.uniform_block.vertex
failed occasionally due to VVL error.
The test first results in vulkan device lost,
which is an acceptable behavior. When we clean up the
vulkan resources, the VVL is complaning the resources
have not finished execution. However, VVL should check
if the vulkan device is already lost, as there is no way to
finish resource execution when device is lost.
Will remove the test from the skip list when the VVL
issue filed
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/6310
is resolved.
Bug: b/289544394
Change-Id: Ideb676e6629cc17a4f8101ccc083a331a1d3c864
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851049
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6f526b8f
|
2023-09-07T09:58:24
|
|
Load mUniformLocations using loadVector
Bug: b/275102061
Change-Id: I1da5bdd6bf0ec40cd877c2274a8fe1ee0b11267a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849551
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
cdbc45a9
|
2023-09-07T15:45:11
|
|
Tests: capture_tests: remove ANGLE_FEATURE_OVERRIDES_ENABLED
Unnecessary for this test, should only matter for tests involving
serialization etc.
Bug: b/296397568
Change-Id: I1b3e12b11358778cf23dd6d7a5aab69be41c1ab4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850548
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
204c07a5
|
2023-09-07T10:49:08
|
|
Initialize bitfield using constructor
default member initializer for bit-field is a C++20 extension. This CL
changes it to use constructor to avoid build failure.
Bug: b/296433003
Change-Id: I33a45394644719b160f71eadca3a85a4d92f5c4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849554
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
9c0748d3
|
2023-08-16T09:15:22
|
|
Capture/Replay: Trim inactive Texture resources
As is done with Shader and Program objects, trim inactive Texture
objects from default trace execution playback and update
CapturedTest with new use cases.
Bug: b/297031925
Change-Id: I734d8f1fa66a24be7790391deaeee24cf570d12a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802281
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
fc7a2853
|
2023-09-07T17:10:56
|
|
Revert "Verify shader link correctness after looking up in program cache"
This reverts commit 60b56591dee59bc0bc770577f43d90be4b18863c.
Reason for revert: Flakiness if the attached shaders are not compiled
Original change's description:
> Verify shader link correctness after looking up in program cache
>
> Since the program cache takes shader sources into account, if the cache
> is hit the shaders should have been correct for link.
>
> Bug: angleproject:8297
> Change-Id: I115c7eb807ed620d30b9e30669c99fffb5c7912d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817830
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:8297
Change-Id: Icf4058e4bea471f097caed950b18f690d8d0456d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4846389
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
265f3d36
|
2023-09-07T09:52:21
|
|
Roll Chromium from e89c33139c50 to 4ae31457f4f5 (1177 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/e89c33139c50..4ae31457f4f5
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-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 Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
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
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/b60aaa976e..aeaf972223
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/6830d4d2f7..5b92cc5301
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7affa303ea..d7df3f77cd
* third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/23d868f674..801bc6657b
* third_party/android_build_tools/lint: Bd9m0RpzuCbbURLUADcdPsU2Yrrfg453Djw_jY7kVEYC..2ilHXL8jElnQimOXXEaawIQ9Gn2FY6ZWfBl34Ico_owC
* third_party/android_build_tools/manifest_merger: kkbYOGsVRXhtxBiXuTufY0puTnG5QAfyxvFTBHFWL08C..ki-ikxybU11aNNE3tvffa5JaDIUy7dGTBAtWRz_O6Q4C
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f16ca3c78e..3e023e6fe1
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6715758ed9..68ccac685a
* third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/a321409e66..0568576055
* third_party/r8: pPu68_FQSs0xNMEZVIArwK8p8SkQ5XgGXxrBGVOI5FQC..LrWtF7Gfts11G550w5xD61mhL5_0R9IxcPm-0bj735EC
* third_party/siso: git_revision:c15d52005df612e58accf13efde4d99ffcdfe38f..git_revision:50cf1b4292c8c1398608409f5c79db3ecae0dab8
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/c6b57c49ce..7cd7332af2
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9fc887ccde..193e3617a6
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/51e8fbac5d..8656ad6936
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/702d2ac502..346d862fa0
No update to Clang.
Bug: None
Tbr: syoussefi@google.com
Change-Id: Ied7e09db45636194269e80dcdf04e1a6f68f1c1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4849368
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
06411d16
|
2023-09-06T13:23:34
|
|
GL: Use the executable instead of program
In a few places, the program was still being directly referenced instead
of the executable (in particular when dealing with multiview).
Bug: angleproject:8297
Change-Id: I15d0865bf58376a9f85efeec739dd93b49ceaea7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4846475
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
632ded9e
|
2023-09-01T13:43:11
|
|
Load ShaderInterfaceVariableInfoMap data members with readStruct
This CL groups the remaining data members of
ShaderInterfaceVariableInfoMap into a POD (plain old data) struct and
load it with readSTruct call (and save it with writeStruct).
This CL also uses readVector for
mDefaultUniformBlocks[shaderType]->uniformLayout instead of individual
reads of each basic elements.
Bug: b/296433003
Change-Id: I48b508822cb414cea75a6e384a0794f245460f57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4833690
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
014e584f
|
2023-08-21T15:51:30
|
|
Vulkan: Separate out XFB data from ShaderInterfaceVariableInfo
Right now the transform feedback data is embedded in the
ShaderInterfaceVariableInfo. This caused ShaderInterfaceVariableInfo
becomes non-trivial copy-able. This CL moves transform feedback related
data out and into its own array, and entire vector of
ShaderInterfaceVariableInfo is now memcpied. Further, most programs
don't use transform feedback. Right now because transform feedback data
is embedded in the ShaderInterfaceVariableInfo, it bloated the size of
ShaderInterfaceVariableInfo even if you do not use XFB. This CL makes
transform feedback variable info data a std::unique_ptr so that if not
used, it is just a nullptr. When we load/save the structure, the ones
that has nullptr gets skipped.
Bug: b/296433003
Change-Id: I61940a683611717ab0445fcbf44b89b1b7166ee4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4799344
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
60b56591
|
2023-08-28T15:40:26
|
|
Verify shader link correctness after looking up in program cache
Since the program cache takes shader sources into account, if the cache
is hit the shaders should have been correct for link.
Bug: angleproject:8297
Change-Id: I115c7eb807ed620d30b9e30669c99fffb5c7912d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
00daa451
|
2023-08-28T16:30:23
|
|
Vulkan: Include minImageCount in swapchain check
The following VVL error has been firing for traces run in
landscape mode:
[ VUID-VkSwapchainCreateInfoKHR-presentMode-02839 ]
vkCreateSwapchainKHR(): pCreateInfo.minImageCount 4, which is outside
the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR()
(i.e. minImageCount = 5, maxImageCount = 64).
On Android, rotation can cause minImageCount to change.
We need to detect this as an out of date swapchain.
Test: angle_trace_test --gtest_filter=TraceTest.among_us
Bug: b/289274676
Change-Id: Ie75adec5f5318b73c0c27efc134f10f53485692d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819790
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7b0bb0f6
|
2023-09-01T13:52:28
|
|
Properly "install" program executables
According to GL:
- The program has an executable
- The executable is overwritten during link.
- After a failed link, queries of the executable may return
half-linked information
- On glUseProgram, the executable is installed in the context
- On glUseProgramStages, the executable is installed in the program
pipeline
- After a successful link, the executable is updated wherever the
previous executable of the program was installed.
This change implements exactly the above:
- The program's and the program pipeline's executables are now
shared_ptr. References to an executable in the context and PPO are
also through a shared_ptr. Installing an executable thus translates
to sharing the executable.
- The context and PPOs are made to not reference the program directly,
but work solely through the executable. As a result, the program is
free to create a new executable for link.
With this change, the link job will be free to modify the executable as
necessary because that will not be accessed until the link is done.
Note that previous changes made the backend executable accessed through
the frontend one, and moved all link results to the frontend and backend
executables as appropriate.
Bug: angleproject:6358
Bug: angleproject:8297
Change-Id: Ie636b23ff7420ad284d18b525ec4f5fb559dd9d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823089
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
9f332fe7
|
2023-09-06T15:08:38
|
|
rx::mtl::ColorBlitUtils: Use a hash map for shaders
We're going to be adding another parameter here (linear-to-sRGB
conversion). Prepare the ground by moving this to a hash map.
See the similar operation in https://crrev.com/443362.
Bug: angleproject:7907
Change-Id: I33f815c55f209927fc7c24e5d8459e337f70cfb4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4847067
Commit-Queue: ccameron chromium <ccameron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1b8ab538
|
2023-09-05T13:44:40
|
|
Metal: Use a flat hash map for tracking resource ids.
This set is very mutable. It makes many insertions, allocating
memory each time. Useing a absl::flat_unordered_set we can avoid
allocating memory at insertion time.
This was a hotspot for Google Earth, taking up about 10% of ANGLE's
CPU time.
Bug: angleproject:8301
Change-Id: I7363ea8fdc5ff230a289af7c1ae25dc577188a18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4843709
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
55d3636b
|
2023-09-06T10:01:51
|
|
Roll vulkan-deps from f2f4bb6f20ec to fcc5a5e242db (14 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f2f4bb6f20ec..fcc5a5e242db
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/e3a711b6fc..0bbe74c709
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3cc7e1c4c3..440f018cc4
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d34bfafff2..e95fee0b8e
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/389110e460..e50622314d
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/bea5beb302..71da22274a
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,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://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: None
Tbr: syoussefi@google.com
Change-Id: Ib29eb50a9fc979c1a55a6aabc7a952c90442b473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4845988
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
5116f54e
|
2023-09-05T13:50:50
|
|
CopySubTexture: Handle sRGB source in GL backend
CopySubTexture should ignore the color encoding of both the source
and destination. The implementation currently ignores the color
encoding of the destination.
The implementation does not always ignore the color encoding of the
source. As an example of the consequences of this, an RGBA pixel
value of 0xFF/80/00/FF, when copied from a GL_SRGB8_ALPHA8 texture
to a GL_RGBA8 texture may result in a value of 0xFF/37/00/FF, if the
copy was executed using a shader (in which case the sRGB-to-linear
function was applied 0x80, resulting in the 0x37).
Update the OpenGL and shaders that do this blit, adding an option
to apply a linear-to-sRGB transformation to undo the transformation
applied by the sampler.
The linear-to-sRGB transformation must be applied on unpremultiplied
values. Ensure that the sequence of operations in all shaders is
first unpremultiply, then linear-to-sRGB, then premultiply. Also
remove optimizations to have the unpremultiply and premultiply
cancel each other out, if there is also a linear-to-sRGB being applied.
Bug: angleproject:7907
Change-Id: Iad5537e6b98f75d32a33be419a320129493e53a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4839262
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: ccameron chromium <ccameron@chromium.org>
|