|
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>
|
|
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>
|
|
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>
|
|
d664543f
|
2023-09-01T23:11:59
|
|
Metal: Move setupDraw and associated code to executable
Last bits of state left in ProgramMtl that are now moved to
ProgramExecutableMtl, and now ContextMtl does not reference the program
at all.
This fix was necessary for a follow up change that allows the program to
be modified while the executable is installed, and the metal backend was
crashing after a failed relink due its direct access to the program.
Bug: angleproject:8297
Change-Id: Iadf623bf6baf612767ff372adee2e7f4eeedb593
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4833624
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0ff71d5e
|
2023-09-05T12:55:50
|
|
D3D: Fix FramebufferD3D reading the wrong program executable
Read the currently bound program executable instead of the possibly
incomplete one from the currently bound program.
Bug: angleproject:6358
Bug: angleproject:8297
Change-Id: Ieda50767b20562436ea9f9bf541965205b578017
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4842929
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
93402d6f
|
2023-09-05T12:57:16
|
|
D3D: Move the program serial into ProgramExecutableD3D
The program executable tracks the specific shaders being used which are
no longer tied to the ProgramD3D.
Bug: angleproject:6358
Bug: angleproject:8297
Change-Id: Ic34b4f229de7fb7daea8c6ef906bf87d8c0b37d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4842930
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dcd62fc4
|
2023-08-31T15:35:39
|
|
Trace perf: clear blob cache before each test
Cache eviction can happen during warmup causing cache misses
while testing. Significant cycles are being spent evicting cache entries
and throwing off power measurement. Since this is already a synthetic
environment where we're lumping in a bunch of caches together,
clear it between tests so that warmup correctly populates
and no cache misses occur within the test run.
If we clear the cache before warmup and everything fits, no eviction
happens and we hit the cache every time post-warmup. This also improves
reproducibility of perf results as they no longer depend on the
specific cache state before running a particular test, the order in
which tests are run etc.
Also fixes acessing unset var when running without --power.
Bug: b/298028816
Change-Id: I704073f70d8859e19a78b23d397e68f5836f3bb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834073
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
9666d4d5
|
2023-09-01T00:00:00
|
|
Disallow dynamic indexing of SecondaryFragData in WebGL 2.0
WebGL 2.0 disallows dynamic indexing
of gl_FragData in ESSL 1.00 shaders.
By extension, this rule should also
apply to gl_SecondaryFragDataEXT.
Bug: angleproject:1085
Change-Id: I5859356f72d25c4ffd1db92466dffc6eeacb6a64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4843628
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
17c4741d
|
2023-09-01T00:00:00
|
|
Metal: Disable blending for masked out attachments
Avoid pipeline failure when the following conditions
are simultaneously true for the same color attachment:
* Dual-source blending is enabled
* All color channels are masked out
* There is no bound fragment output
Bug: angleproject:8015
Change-Id: Ie60f4f6dff5a9023677ea9b581e920b0e1e53532
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4836558
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e691a4ed
|
2023-09-04T15:35:39
|
|
Delete obsolete VUID
VUID-VkGraphicsPipelineCreateInfo-topology-08890
was renamed to
VUID-VkGraphicsPipelineCreateInfo-topology-08773
Bug: angleproject:8237
Change-Id: Icb3f3f28664d0beac31f2541d90d5dbbada9a3b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4840195
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ebf1e716
|
2023-08-31T17:19:44
|
|
Cache transform feedback varying names in the executable
Currently, ANGLE actually does a full link of the programs inside PPOs.
This was never the intention of the spec (hence why an explicit link
doesn't exist). During this link operation, the transform feedback
varying names are used, and they are retrieved from the program itself.
This is not correct, because the transform feedback varyings may have
changed, the program may have failed to relink, and the program pipeline
is expected to continue functioning using the "installed" executable.
Bug: angleproject:5486
Bug: angleproject:8297
Change-Id: I583dbd2abcc51e8536b4c460b92211bdddebda16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834055
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
179bd776
|
2023-09-01T00:00:00
|
|
GL: Adjust disableRenderSnorm condition
Current Mesa drivers do not pass the
tests when using OpenGL ES contexts.
Bug: angleproject:8315
Change-Id: I00e931d0b97917fd7fe02890290f2938d7c872e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834483
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
962fdf7b
|
2023-08-31T17:44:51
|
|
Add templated BinaryOutputStream::writeVector and writeStruct
To avoid repeated code pattern, this CL adds templated
BinaryInputStream::readVector and readStruct and
BinaryOutputStream::writeVector and writeStruct, that does the static
assertion to ensure they are trivially copyable.
readIntVector/writeIntVector is removed.
This CL also padding warning for ProgramExecutable::PODStruct to avoid
potential Msan complain.
Bug: b/296433003
Change-Id: I8e718b41cde898960b9e86a2d7d1bc5a837fe561
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834700
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
4e1053b9
|
2023-09-01T08:35:21
|
|
Tests: Limit CapturedTest to Vulkan backend
Test: angle_end2end_tests --gtest_filter=CapturedTest.MultiFrame
Bug: b/298612441
Change-Id: I865186ba544d3b72af700a9f2cf22aef719e875a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834704
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
18e2038e
|
2023-09-01T12:59:51
|
|
Revert "Gold tests: add temporary logging of angledata hashes"
This reverts commit 4fffc9938375f2b84632eb661fc175457fb2ee77.
Reason for revert: Hashes are ok - http://b/296921272#comment3
Original change's description:
> Gold tests: add temporary logging of angledata hashes
>
> Should allow us to determine whether corruption happens between CAS and
> local files on bots or something's wrong with the test harness.
>
> Bug: angleproject:8307
> Change-Id: I8a599777a38d7a1b5c56143eb8d02829895175a7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777836
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Auto-Submit: Roman Lavrov <romanl@google.com>
Bug: angleproject:8307
Change-Id: Idae3bf3bac810af63e44c0c7553e0c6e9bb6af5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834062
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9624db05
|
2023-08-21T00:00:00
|
|
Validate missing fragment outputs for dual-source blending
* A secondary fragment output must be declared when
dual-source blending is enabled in WebGL contexts.
* Omitting locations for multiple fragment
outputs is not allowed in WebGL contexts.
Bug: angleproject:1085
Change-Id: I57febdc02c9ccc571971a81b6671869f19b0aa96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834672
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
7c3c7b7b
|
2023-08-29T16:40:50
|
|
Add more test for GL_SRGB8 format
And follow up changes from crrev.com/c/4819053
Bug: b/298037344
Change-Id: Ib27cc2fb8418d05d0b25f4abbdcf052d1f51c9ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824046
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
262edacc
|
2023-08-31T18:45:45
|
|
Skip 2 DrawCallPerfBenchmark tests on Pixel 6
angle_perftests.DrawCallPerfBenchmark.Run/gles_offscreen_attrib_change
angle_perftests.DrawCallPerfBenchmark.Run/gles_offscreen_prog_change
Bug: b/298407224
Change-Id: I03e9f5daead86447cea456abc01cb46b229c8bbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834211
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
1192e5e8
|
2023-08-31T15:03:53
|
|
Manual roll vulkan-deps from a446c6320b6b to 988fe1c529b0 (28 revisions)
Suppress new VUIDs:
VUID-VkGraphicsPipelineCreateInfo-topology-08773
VUID-VkDescriptorImageInfo-imageView-07796
Manual roll requested by ynovikov@google.com
https://chromium.googlesource.com/vulkan-deps.git/+log/a446c6320b6b..988fe1c529b0
Changed dependencies:
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b6893ccdfb..9b923f7cc3
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/6087a58444..389110e460
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b2f5094203..70be16c58d
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,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8318, angleproject:8237, angleproject:8334
Change-Id: I4b868b67b0c8158179fee61018933104c4ed55d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832731
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
33be2590
|
2023-08-30T21:58:54
|
|
Move transform feedback buffer mode to program state
This is link input and should persist between relinks. A copy of it is
still left in ProgramExecutable as it is used later after the executable
is installed (and the program might get relinked; a future change
reworks things so that the installed executable and the originating
program are independent).
Bug: angleproject:8297
Change-Id: Ifba6ac18ea09fd804b89d8fdb14930ef3d839cf4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827764
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ff209bc
|
2023-08-30T00:02:30
|
|
Clean up InfoLog usage during link
The info log doesn't really belong to ProgramExecutable; it belongs to
ProgramState. However, it is placed there for convenience since many
functions access it.
This change cleans up usage of InfoLog so the one in ProgramExecutable
is consistently used, but also that is turned into a reference to
ProgramState's InfoLog.
This is necessary for a follow up change that restores the previous
executable on link failure (and would thus otherwise lose the info log
of the failing link).
Bug: angleproject:8297
Change-Id: I088408e3fce9ebb35b1ec4ad3dc599bdb90bf5c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4825624
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
d4756a94
|
2023-08-29T15:26:15
|
|
D3D11: Fix register index of read-only storage images
On D3D11 read-only storage images should consume SRV registers ("t")
instead of UAV registers ("u"), so baseUAVRegister shouldn't be
related to read-only storage images.
fixed: angleproject:4404
Bug: angleproject:7121
Change-Id: I3ca35497992de599d0427fae10d750aff7cf7d9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819797
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0df4adbd
|
2023-08-28T15:27:11
|
|
Remove link results from program hash
The program hash should be independent of link output. The fragment
shader output locations were being hashed in the program hash, but that
should be unnecessary, as they are derived from the link input, which is
already entirely present in the program hash.
Bug: angleproject:1085
Bug: angleproject:8297
Change-Id: I4befd45c69c2f0d4d6d8b620167a07eedffd5098
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817829
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ed7e05be
|
2023-08-31T10:44:05
|
|
Cleanup: remove tests.csv
Looks like it was added accidentally in https://crrev.com/c/4189028
Bug: b/242419750
Bug: angleproject:7882
Change-Id: I1d92b4a7001a1418bfea77e2b0945ee7a070dad5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832095
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0b20cd6a
|
2023-08-28T17:45:00
|
|
d3d11: avoid exit-time-destructor warning
Applies to use_custom_libcxx=false on Windows builds. On MSVC's C++
runtime, std::mutex has a destructor.
Bug: angleproject:8327
Change-Id: I6118753569ce0529015e82673571c961a38f30e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819793
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aed8ec2a
|
2023-08-22T16:34:10
|
|
Handle Qualcomm's Windows vendor ID.
The vendor ID chosen to represent Qualcomm was their PCI database ID.
On Windows, Qualcomm devices are ACPI and use a different ID.
Since these platforms don't inersect at all (yet), if-def the
Qualcomm vendor ID per-platform so that all the helper functions
continue to work.
Bug: chromium:1464799
Change-Id: Iee8e823ab54399ad2c2f21499b5d581be5c1c0c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804367
Reviewed-by: Steven Noonan <steven@uplinklabs.net>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
33472e77
|
2023-08-30T09:45:43
|
|
D3D11: Fix the compilation of vertex shader with storage image
This patch adds the missing declaration of storage images in vertex
shader. With this patch the vertex shaders with storage image
declarations can be correctly compiled on D3D11 backends.
Bug: angleproject:7121
Change-Id: I32b8c632df83a64a34318e9668e9aa8d376cca56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819792
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ed7d887
|
2023-08-31T09:42:55
|
|
Tests: EGLMakeCurrentPerfTest loads GLES
Following https://crrev.com/c/4812049 which makes warmup call glFinish
that requires GLES to be loaded. It's the only test that hits this -
LoadUtilEGL isn't normally called by tests. Breaks on perf bots.
Bug: b/297418214
Change-Id: Ib6a7eb863f75e6f461ea021d30dc57baf23afbdc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832092
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6258d479
|
2023-08-30T22:11:38
|
|
Vulkan: disallow pbo copies when offset is incompatible with vulkan
Per spec of vkCmdCopyImageToBuffer:
If srcImage does not have either a depth/stencil or a multi-planar
format, then for each element of pRegions, bufferOffset must be a
multiple of the texel block size
This change disallows pbo copies if violating that spec vu.
Bug: b/297927542
Test: org.skia.skqp.SkQPRunner#UnitTest_TransferPixelsFromTextureTest
Change-Id: I7df4bee5fa574c44dd872f7225567049c5562a99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827694
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
519d330c
|
2023-08-28T15:41:18
|
|
Add GL_RGBX8_SRGB_ANGLEX and GL_BGRX8_SRGB_ANGLEX formats
If app creates AHB with sRGBX format, and then create a EGLImage,
Image::initialize() will retrieve the sized format from AHB, which is
GL_RGBX_ANGLE, and then try to convert to sRGB color space. The bug here
is that GetNonLinearFormat will pick GL_SRGB8 for all these formats
:GL_RGB8, GL_BGRX8_ANGLEX, GL_RGBX8_ANGLE. This means that different
AHBS with these three different format will end up createing a tetxure
with same format which sRGB. I think the reason somone did it this way
initially simply because there is no sRGB corresponding format available
for BGRX8 and RGBX8. This CL adds sRGB internal version of these two
formats, thus make it straight forward to pick the correct sRGB format.
The other change here is for AHBs, right now we are always force
mRequiredImageAccess to be Renderable. This actually workedaround the
bug that mentioned earlier that we are picking the wrong format. Because
of forced renderable, we end up with SRGB fallback to SRGBA. But
external images should not fallback, we should use its existing format
as is since it can be accessed via AHB interface directly.
Bug: b/298037344
Change-Id: I6119c4015cc5bf0effdf0530cb756b6c4656c38f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4819053
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3e333c7b
|
2023-08-30T13:25:08
|
|
Check that postTask is non-null before calling it.
ANGLE's platform methods are global but Chrome treats them as if they
are per-display. If multiple displays are created, Chrome can reset the
methods for all displays during angle::ResetPlatform.
ANGLE checks that postTask is non-null before creating
DelegateWorkerPool but not before each use of postTask.
Bug: chromium:1476679
Bug: chromium:1475471
Change-Id: Ie84db48d6c85a1befa604224af6c30bd3515aadf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4827983
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1ab5d01d
|
2023-08-29T13:31:07
|
|
Metal: Fix dropped out arguments from functions with many args.
RewriteOutArgs has an early-exit if it spots a potentially aliased
arg. It's also responsible for marking out args as references,
which caused an issue in Google Earth.
Removing the early-exit fixes both issues.
Bug: chromium:1474736
Change-Id: Ib68dd3f3e2e0a1e773e4e09edcdfa3a4bdfc1ef2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823006
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0d67d1bb
|
2023-08-29T11:19:35
|
|
Vulkan: Support EGL_EXT_gl_colorspace_bt2020
Add support for following 3 BT2020 colorspace extensions
1. EGL_EXT_gl_colorspace_bt2020_hlg
2. EGL_EXT_gl_colorspace_bt2020_linear
3. EGL_EXT_gl_colorspace_bt2020_pq
Bug: angleproject:8330
Tests: EGLSurfaceTest.CreateWithEGLConfig1010102Support*
Change-Id: I3a6ca0daa9ad4400da3834f43678b0db816ba6e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824045
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
e408fc53
|
2023-08-09T06:25:38
|
|
Add support for EGL_MESA_platfrom_surfaceless extension
This adds support for the EGL_PLATFORM_SURFACELESS_MESA platform type to
allow applications to obtain an EGLDisplay that's independent of any
native windowing systems. This will be used in Ozone/Wayland to create
surfaceless EGLDisplays.
Bug: angleproject:8331
Change-Id: If2ae7a811cfa63ab9f49d54d78f5a3782c8c2fed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c8fe53ab
|
2023-08-09T06:25:38
|
|
egl: Fix device fallback if native display eglInitialize fails
Mesa's EGL implementation may return an EGLDisplay that fails to
initialize (e.g. an X11-backed EGLDisplay for `EGL_DEFAULT_DISPLAY` that
fails to eglInitialize if the X server is inaccessible). Handle this
case properly to ensure that ANGLE will properly fall back to using EGL
devices.
Bug: angleproject:8331
Change-Id: I629e95fc22f5618d10be082a3897857bcc79f890
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749335
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b9e9c58b
|
2023-08-28T15:25:59
|
|
Move pre-link program state to ProgramState
Bug: angleproject:8297
Change-Id: I2522bbe6250a0527112fc8161f62c94f2457555b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4817828
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8b0af482
|
2023-08-21T00:00:00
|
|
Validate active draw buffers for dual-source blending
Fail if more than MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT
draw buffers are enabled when dual-source blending
is used.
Drive-by:
Do not invalidate draw state on changing blend
equations if KHR_blend_equation_advanced is
not enabled.
Bug: angleproject:1085
Bug: angleproject:7177
Change-Id: Ieff80ce777c53b1d8183e1d0a52b7d2224347448
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4823164
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
6698fb69
|
2023-08-25T22:21:32
|
|
Vulkan: Stop passing both ProgramExecutable and ...Vk around
Now that ProgramExecutableVk is accessible through ProgramExecutable.
Bug: angleproject:8297
Change-Id: Ie08770ef97400195d63b87f2d4b7e2a2c8f4ad24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812147
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
ae67a24b
|
2023-08-25T14:51:50
|
|
Metal: Move program state to ProgramExecutableMtl
Bug: angleproject:8297
Change-Id: I1d13f7aee1ff5b0ce799b486d8a57c83c4481983
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812047
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4c0c837e
|
2023-08-25T13:46:36
|
|
GL: Move program state to ProgramExecutableGL
Bug: angleproject:8297
Change-Id: Ie6a1d536c93f841c792052c58249952e8468348d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4811439
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d9672ada
|
2023-08-25T11:37:09
|
|
Move left over link state to ProgramExecutable
Previously, only things that needed sharing with ProgramPipeline was
moved to ProgramExecutable, and in particular only state that the Vulkan
backend needed to access. In truth, everything that's a result of
link needs moving.
Bug: angleproject:8297
Change-Id: I1ca01c5dedbfc62ddcfb4ef945336ceb8ad0f1c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812044
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
7c72fbe9
|
2023-08-22T16:22:12
|
|
Return the vendor string as hex when it is unknown.
ANGLE's vendor strings would include the generic "Unknown" when we
did not recognize the driver's vendor ID. Print the vendor ID so that
we can future-proof ourselves against new GPU vendors.
Bug: chromium:1464799
Change-Id: Idac67b369bc95c3c49eb754e8c681d5930a1f494
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804365
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
3822ea3a
|
2023-08-24T22:42:43
|
|
D3D: Move program state to ProgramExecutableD3D
Bug: angleproject:8297
Change-Id: Ieead87d2f0ebe5937f262f598443a00504ea1492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812139
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bb135f0e
|
2023-08-24T15:29:11
|
|
Make ProgramExecutableImpl managed by ProgramExecutable
This change allows both parts of the program executable to be safely
backed up and swapped on link.
Bug: angleproject:8297
Change-Id: I17e4b6c05e4e481a66a227d6047dbf943d2c2603
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812138
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d6fd7eaf
|
2023-08-25T16:33:27
|
|
Trace/perf tests: remove calibration and most warmup options
This removes calibration and warmup except for --warmup
(which does what --warmup-steps=-1 used to do: render each frame once
with glFinish)
Trace and perf tests now default to no warmup.
Unchanged by this CL:
--fixed-test-time=x runs a single trial for x seconds.
--fixed-test-time-with-warmup=x is effectively the above flag coupled
with --warmup-steps=-1
--run-to-key-frame runs to the key frame (no longer disables warmup as
it's now off by default)
Bug: b/297418214
Change-Id: I7a0d3e490067dbde57c5f519c1b9092ba70b1480
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812049
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
558df6f1
|
2023-08-21T00:00:00
|
|
Fix fragment output variables validation
* Reject fragment shaders that assign
out-of-range fragment locations
* Reject fragment shaders that assign
output variables of different types
to the same location
* Apply similar validation for fragment
outputs bound via API calls
* Ensure that masks for active output
variables and draw buffer types are
set after processing all fragment
output bindings
Bug: angleproject:1085
Change-Id: If29cbb58be1981279fc97c67739fe4136b0cdc98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4813656
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
57388ab2
|
2023-08-24T14:44:48
|
|
Vulkan: Make sure ProgramVk has no members other than executable
The program is really just an interface to the executable. It should
not hold on to any data on its own. The SpvProgramInterfaceInfo member
did not even need to be a member, and was left over from previous
refactorings.
Bug: angleproject:8297
Change-Id: I4edb53c1c8b27e242a62fb4fc253ade58bd8dde1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812137
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e066b689
|
2023-08-25T09:25:19
|
|
Ensure struct SamplerBinding is tightly packed without padding
crrev.com/c/4798195 might have caused MSan bot failure in chromium due
to use of memcpy on the struct. TextureType and SamplerFormat are both
uint8_t, which means extra paddings added for the struct. This CL adds
warning for struct padding and fixes the warning as well.
Bug: b/275102061
Bug: chromium:1475844
Change-Id: Ia3f8a7e7697c6e354efb8a8dc5dfc7861118a818
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812245
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7e41c5bc
|
2023-08-24T18:30:43
|
|
Remove scripts/perf_test_runner.py and references to it
src/tests/run_perf_tests.py is similar and is maintained (runs on CI)
Bug: b/297418214
Change-Id: I6fb12ac1fb856672b3bb83c0a4e34eb68afa1475
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812135
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c8ec8739
|
2023-08-22T11:30:08
|
|
Frontend: Remove link job dependence to context
The part of link that needs the context is moved up. Usage of
gl::Context is eliminated from the rest of the link (whatever is done in
the front-end).
Bug: angleproject:8297
Change-Id: Ifa71d2b2c0c0bc7c0c0b7ee89e1cbb203c3018cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4803109
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4376a8c8
|
2023-08-16T12:02:57
|
|
Metal: Reduce link job dependence to context
The dependence on ContextMtl is not entirely removed, though it seems
feasible. In particular, ContextDevice is passed around while only the
real underlying device is needed. Some refactoring is needed here to
address that.
Additionally, I haven't verified if all that is accessed through the
display is thread-safe, which would be a pre-requisite to moving the
entire link job to a worker thread on this backend.
Bug: angleproject:8297
Change-Id: Ifd4b02694b0997a33d17aad0b47eb7ac4de104e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4784667
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
44b5715c
|
2023-08-15T15:06:25
|
|
D3D: Remove link job dependence to context
The part of link that needs the context is moved up. Usage of
gl::Context and gl::State is eliminated from the rest of the link.
Bug: angleproject:8297
Change-Id: I2064b21a6724d602f6a84f53a8ae5fe42fe4e837
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781566
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
571b4cdb
|
2023-08-14T16:55:28
|
|
Vulkan: Move pipeline/desc-set layout creation to link job
The pipeline and desc-set layout caches are consequently made
thread-safe. The reference counter on the layouts are also made atomic.
With this change, practically all of the link in the Vulkan backend is
moved to the link job.
Bug: angleproject:8297
Change-Id: Iba694ece5fc5510d34cce2c34441ae08ca5bb646
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774787
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b8d5a423
|
2023-08-21T14:43:42
|
|
Add static_assert(std::is_trivially_copyable<LinkedUniform>(),"")
Since we are using memcpy for LinkedUniform, it is desirable to utilize
compile time assertion to ensure that in future if anyone modifies POD
struct (and the class of data members of POD struct) and made it that no
longer memcopy-able, we would immediately caught at compile time.
std::is_trivially_copyable<>is exactly for this reason. In order to make
this work, the POD struct and any data it uses can not have user defined
copy constructor. The problem is that right now ANGLE is using
clang_use_chrome_plugins=true, and chrome-style generates warnings if
the complex struct (has more than 10 data members) does not define a
copy constructor, and that warning causes build failure with -Werror. So
clang_use_chrome_plugins=true and std::is_trivially_copyable have this
conflicting requirements that I can not apply both. This has been raised
to compiler team, but before we get a solution from them, if we have to
make a choice, I think the better choice is to disable
clang_use_chrome_plugins and apply std::is_trivially_copyable, since the
later is more critical to ensure safety, while chrome-style is mostly
trying to minimize the code size, but won't affect
correctness/robustness. This CL sets clang_use_chrome_plugins to false,
and removes the copy constructor and copy assignment operator from
BitSetT and LinkedUniform and added static assertion
is_trivially_copyable for LinkedUniform. Same thing applied to
ProgramInput as well.
In future once we have a better solution from compile team, we can
re-enable clang_use_chrome_plugins and disable only for structs that
requires is_trivially_copyable assertion.
Bug: b/275102061
Change-Id: If33415ea61deda568d855a7dd6a4fd6042058be5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4799342
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
03f9dff6
|
2023-08-21T16:57:12
|
|
Separate out std::vector<GLuint> boundTextureUnits from SamplerBinding
SamplerBinding struct is trivial copy-able except the
std::vector<GLuint> boundTextureUnits. This CL moves boundTextureUnits
out of the SamplerBinding struct and becomes a vector in
ProgramExecutable. This means all of sampler binding's texture units
will be stored in one vector and SamplerBinding will remember where its
own texture units is stored in that vector by keeping
textureUnitsStartIndex and textureUnitsCount. In other word,
SamplerBinding::boundTextureUnits (before this CL) is equivalent to
mSamplerBoundTextureUnits[SamplerBinding.textureUnitsStartIndex], ...,
mSamplerBoundTextureUnits[SamplerBinding.textureUnitsStartIndex +
SamplerBinding.textureUnitsCount - 1] after this CL. With this,
ProgramExecutable::mSamplerBindings are load/stored with one
readBytes/writeBytes call since it is trivially copyable.
Bug: b/275102061
Change-Id: I0974cf940875ecbcf655b4469b3bbc910717f1ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4798195
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a8d77dc4
|
2023-08-18T15:23:39
|
|
Vulkan: Move mVariableInfoMap load/save to its own class
This is mechanical change only. This CL moves mVariableInfoMap load/save
logic from ProgramExecutableVk to ShaderInterfaceVariableInfoMap class.
Bug: b/296433003
Change-Id: I9a934fd2223c559fba899f166e40efc17fa1be2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794752
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
607f2636
|
2023-08-17T11:31:59
|
|
Vulkan: Switch ShaderInfo::load to use readBytes
Right now it is using readIntVector<uint32_t>, which end up doing a for
loop and memcpy each integer. This CL switch to readBytes so that one
memcpy is used.
Bug: b/296433003
Change-Id: Ibb10f97af4a86a4e93abb825007847a65f934237
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4790827
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
9f4bddd8
|
2023-08-24T10:54:43
|
|
Cleanup: remove unused ANGLE_ASSERT_IMPL
Bug: b/297343154
Change-Id: Iccde6b93fd26aa5b575a11d0ac61c59f03508567
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4810192
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
98e351cf
|
2023-08-16T15:22:37
|
|
Traces: Update steps for upgrading traces
We've settled on a streamlined method of upgrading traces.
We consider the upgraded trace good if:
- gets the same pixels for all frames, including after Reset
- gets the same frame time and memory usage (or better)
This moves away from using serialization, which is useful, but has
become too heavyweight. We've preserved the steps as they are
still useful in some scenarios.
Also formalize a couple of scripts we've been using to compare
trace screenshots.
It supports two scenarios:
- comparing screenshots between ANGLE and native
- verifying screenshots after an upgrade
Example usages:
compare_trace_screenshots.py versus_upgrade \
--before <path> --after <path> --outdir <path>
compare_trace_screenshots.py versus_native \
--screenshot-dir /tmp/screenshots
--trace-list-path src/tests/restricted_traces
Bug: b/294882956
Change-Id: Ifc59d8b31648abb3614da2d8919a1f90a0b6b68f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4791916
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
893325b8
|
2023-08-24T10:03:51
|
|
Perf tests: call base class SetUp in all tests
https://crrev.com/c/4799388 moved code to SetUp assuming base class
SetUp was always called but a few cases were missing this.
Changes ASSERT to a check that is enabled in release builds (e.g. perf
bots)
Bug: b/291604008
Change-Id: I1c3fb123903f09631ef348e311f3dc1c77b4e221
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4810187
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0b648252
|
2023-08-23T18:15:38
|
|
GL: Fix EAGL build
Bug: angleproject:3031
Change-Id: Id6e30804d8eb066cc2353830cbefb798e08e3c0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4808979
Commit-Queue: Solti Ho <solti@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
f0d3e8b3
|
2023-08-22T14:25:43
|
|
Remove test skips on dEQP-EGL.functional.swap_buffers*
Below changes fixed dEQP-EGL.functional.swap_buffers*
on pixel devices, too:
https://chromium-review.googlesource.com/c/angle/angle/+/4794979.
Update the tests to only skip on Win OS.
The tests running on other platforms will be
reported as Not Supported due to lack of readScreenPixels()
implementation on other platforms.
Tests failures on Win OS needs further investigations.
Bug: angleproject:2341
Bug: b/224537784
Change-Id: I46a59dd8708e621b2d91ac3c46584bdad4ff759e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804568
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
0688a940
|
2023-08-21T00:00:00
|
|
GL: Disable EXT_texture_mirror_clamp_to_edge on Mesa
Although the extension string is exposed,
the new enum is currently rejected when
using an OpenGL ES context.
Bug: angleproject:8319
Change-Id: I17c4105344fe7ca3038a79e0e09528db1d96376b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4807744
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
68f2c10c
|
2023-08-15T22:47:32
|
|
Remove program executable backup during link
This was added in
https://chromium-review.googlesource.com/c/angle/angle/+/2181450/30 to
support the case where a program fails to relink, but needs to still be
usable.
However, this does not seem to be an issue anymore. New tests are
specifically added for this, and they, along with every other test,
pass.
If this needs to be reintroduced, it needs to be rethought. It does not
play well with parallel link as it changes the executable pointer while
link is in progress (and it was done on the assumption that everything
needing the executable is linked serially). A better solution would
likely be an `mLastSuccessfullyLinkedExecutable` that normally points to
`mExecutable`, but not during link. On `resolveLink`, it would either
make `mExecutable` point back to `mLastSuccessfullyLinkedExecutable`, or
the other way around based on whether the link was successful or not.
Bug: angleproject:8297
Change-Id: Ic9d55bccb75fff0253fe299a244bf1e4bbc416a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781632
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
cfd9ccd0
|
2023-08-09T17:21:20
|
|
Reland: Vulkan: Move SPIR-V set up to link job
This is a reland of 10f54902e816fa7e4cf314384e00590e2b9bfa1d
Bug: angleproject:8297
Change-Id: I701b750a13ac5b17df67dee5b6c37c13c60f5b10
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4793219
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
711db275
|
2023-08-23T11:06:42
|
|
Translator: remove usage of contains()
It's not available pre-C++20
Bug: angleproject:8311
Change-Id: I41940b5f8e6a90bc0224852aefe54643f2be9cb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4806924
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b0777def
|
2023-08-21T13:54:08
|
|
Traces: Upgrade octopath_traveler
Test: angle_trace_tests --gtest_filter=TraceTest.octopath_traveler
Bug: b/294882956
Change-Id: I690f4f6ad65542cd015ce61ee246f009f0907740
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794728
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
|
|
8f64b51d
|
2023-08-09T16:51:13
|
|
Reland: Vulkan: Move default uniform init to link job
This is a reland of d8cd4dcdc9c55c88f030f7fca41357e99e600ed2
Bug: angleproject:8297
Change-Id: Ib4f8e9dd258da71d44983bbb619b6b4abda0b109
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4793218
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
865eceaa
|
2023-08-21T15:17:02
|
|
Trace perf: power metric uWs/frame -> W, exclude startup&teard
Switching from uWs/frame to W, which is easier to measure as we don't
need to know how many frames were rendered between the measurements and
just need to avoid warmup, turndown. Also, W is a more "natural" metric
as it reports actual power usage that can be reasoned about in terms of
device thermals etc.
Changing starting point to post-warmup by waiting for test message in
logcat. The logcat -> script delay seems very small in my tests.
Turndown also shows spikes in some traces so avoiding that by shifting
the time for end point collection to 1s before the test is expected to
finish (which makes this only compatible with --fixedtime)
Also made device selection set env var instead of a global variable and
passing via args it slighlty simplifies subprocess(adb) handling.
Bug: b/291604008
Change-Id: I2109da0d75eba167eec939df88a34d9a9b7f330b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4799391
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
72c00885
|
2023-08-23T08:00:03
|
|
Tests: Skip injustice_2 on Windows/Nvidia
Bug: angleproject:8316
Change-Id: I5bdef9df9bc6f922a15f3377e4af31cc60db73a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4807130
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9f258f8a
|
2023-08-21T00:00:00
|
|
GL: Add disableRenderSnorm workaround
Disable the extension on Mesa versions that
clamp negative snorm values to zero on read.
Fixed: angleproject:8315
Change-Id: I5459db40cb08c546fba15f5e6d70578029a8218a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804324
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
d8f088e0
|
2023-08-14T11:07:24
|
|
GL: Remove parallel compile/link without driver support
This feature was practically disabled everywhere due to various bugs,
and is complicating the code. In effect, the code was always spawning a
thread for the compilation and link jobs, immediately fail it (due to a
workaround), then do the job when compile/link is resolved (much closer
to draw time). This leads to bad user experience, but also is racy
because the shaders may get recompiled in the meantime and there is
little the GL backend could do to stop that (efficiently).
After this change, parallel compile/link
is either done by the driver (if supported), or it isn't done.
This is a partial revert of a100d8f471f79b9f88d387164992cc5bd9c6ee9f.
Bug: angleproject:3031
Bug: chromium:922936
Bug: chromium:1184692
Bug: chromium:1202928
Change-Id: I6348bee3249ccb3828bb98ac2a69dc7d305f821c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774785
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0ef565c5
|
2023-08-22T17:50:36
|
|
end2end test with --use-gl fails with a note
Bug: None
Change-Id: I7e6e40c912910d0ffc8d4690e9b9b4c8599342db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4804368
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d41ac4da
|
2023-08-18T11:25:05
|
|
Cleanup: 'am instrument' readability and consistency
Reconcile android_helper and restricted_trace_perf formatting of
'am instrument' command. The only real difference is that
restricted_trace_perf uses 'shell=True' in subprocess which requires
escaping spaces inside ""
Bug: b/292249127
Change-Id: I002e49ae5b2913db46b92a7b643bc12d21abce1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794430
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
84576a5b
|
2023-08-18T12:08:04
|
|
Trace perf: log script args in the spreadsheet
Excludes the --output-tag flag
Example:
...
Source: raw_data.android.20230818.csv
Args: -f *blade_and_soul_revolution --fixedtime 1 --power --loop-count 2 --sleep 1
Bug: b/292249127
Change-Id: Ic40666921fe49845032d47f32ecda9609ba7b044
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794431
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9e2d4c0b
|
2023-08-18T10:25:48
|
|
Trace perf: add test crash handling
When missing time and no '[ PASSED ]' tag in stdout,
assume test crashed.
Example stdout:
trace wall_time gpu_time ...
Starting run 1 with native at 2023-08-18 10:23:17
native_blade_and_soul_revolution crashed 0 ...
raw_data:
trace,wall_time(ms),gpu_time(ms),...
native_blade_and_soul_revolution,crashed,0,...
summary:
1,blade_and_soul_revolution,-1.000,-0.00%,-1.000,...
Set cpu_time to 0 on a crash for consistency with other metrics.
Bug: b/292249127
Change-Id: I9533c0ee7aa9a3b45f360ad1618984eb620d657f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794428
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
864de574
|
2023-08-18T09:49:30
|
|
Trace perf: subprocess.wait() -> subprocess.communicate()
subprocess.wait() deadlocks when enough output is produced by the
command to fill the stdout/stderr buffers.
https://docs.python.org/3/library/subprocess.html#subprocess.Popen.wait
recommends .communicate() instead.
Replaced result.process.stdout with result.stdout which is a string
rather than a stream.
Bug: b/292249127
Change-Id: I172ac058ebc6aafda82edab7c45787252d612013
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794288
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
823de3a3
|
2023-08-22T07:40:39
|
|
Tests: Add Injustice 2 trace
Test: angle_trace_tests --gtest_filter=TraceTest.injustice_2
Bug: b/296913308
Change-Id: I35f1e17767f924c4f31d4e00a2c9f737c6c4822b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802266
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
cb1c5ca4
|
2023-08-22T10:13:17
|
|
Manual roll vulkan-deps from aa121378c102 to 2cb515574109 (9 revisions)
Includes an adjustment to syncval message format.
https://chromium.googlesource.com/vulkan-deps.git/+log/aa121378c102..2cb515574109
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c5117b328a..db8719ae07
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/bfc94f63a7..714966003d
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/300d9bf6b3..b441f434a0
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/d1ff40512a..ebab3bc86c
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
Change-Id: I94f05554452f1c8b97a1426fb4b61ac1a1fa4b1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802525
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
f3c1de36
|
2023-08-17T15:29:24
|
|
Make shader recompile while parallel linking safe
Prior to this change, Program* objects held references to Shader*
objects. This poses a problem where a shader recompile can race with a
program link, if the program link is done in parallel.
As a result, a good chunk of the link job is done serially and under the
share group lock. After this change, that is no longer a problem, and
most of the link can be made lockless/parallelized.
This change separates out the "compiled state" from the rest of the
shader state. This was already done for the front-end state (for the
sake of caching), but is also now done for the backends that need it.
The compiled state in turn is placed in a shared_ptr, and is shared with
the program. When a shader is compiled, its own shared_ptr is replaced
with a new object, leaving all programs currently compiling unaffected
and using the previous compilation results.
Once a program is linked, its references to compiled shader states is
updated.
Bug: angleproject:8297
Change-Id: Iff7094a37088fbad99c6241f1c48b0bd4c820eb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4791065
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
1bd45c4f
|
2023-07-17T14:18:53
|
|
Add tiling mode for GL_EXT_memory_objects
Add set and get TexParameter for pName GL_TEXTURE_TILING_EXT
Add test case to VulkanImageTest for import LINEAR memory object
Bug: angleproject:8274
Change-Id: I4432093e41f45e3926a27e3dee00d48c0438cae5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752793
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
|
|
d0730eba
|
2023-08-18T14:41:03
|
|
Disable NativeWindow screen read capability on non-win32 platform
NativeWindow::readScreenPixels() only returns true
on win32 platform.
Enable CAPABILITY_READ_SCREEN_PIXELS on DE_OS_WIN32
only.
Bug: b/296487949
Bug: angleproject:8261
Change-Id: I964870a3a5c6911a16382e2b9bb9d2cecea2b706
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794979
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
27836f21
|
2023-08-21T00:00:00
|
|
Metal: Support incomplete integer textures
Ensure that a compatible placeholder
texture is created for sampling from
an incomplete texture.
Covered by these tests with Metal API Validation:
* IncompleteTextureTestES3.IntegerType
* IncompleteTextureTestES3.UnsignedIntegerType
Bug: angleproject:5594
Change-Id: Ib7322b7cf32cadabf40eb6050476c1bde98ee404
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4801369
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
084643d9
|
2023-08-22T11:04:32
|
|
EGL: Make sure unitialize values don't leak into configs
Old Android emulators did not implement many of the eglGetConfigAttrib
parameters, including EGL_COLOR_BUFFER_TYPE. They return EGL_SUCCESS
without writing the attribute value and DisplayEGL::getConfigAttrib
would write an uninitialized temporary value to the config in this
case.
Make sure the default config value is stored when eglGetConfigAttrib
behaves this way.
Add more logging about unexpected color buffer types to diagnose issues
like this from logcat more easily.
Bug: chromium:1442132
Change-Id: Ifbbbbfba43658bcd59c73cbb6586b76f636479e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4791066
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
|
|
280e79e1
|
2023-08-10T14:08:00
|
|
Rescope globals only used in one function to function-local.
We can demote global variables when they are only used in one function.
This has performance implications on Metal.
Bug: angleproject:8311
Change-Id: Id666e6b167be771c14768cd73efa61fdacd897d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771215
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aaeeea0c
|
2023-08-17T14:28:12
|
|
D3D11: Add device id to the render string
To get device id from GL_RENDER string when using D3D11 backend.
Bug: angleproject:3026
Change-Id: Ied666a481575ece077126c3e1177b150e7358a01
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4786902
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
71c90dfd
|
2023-08-18T21:50:22
|
|
gtest: disable legacy test case API
Remove APIs that upstream has deprecated so we make sure no one uses
them anymore in new tests.
Bug: chromium:1474588
Change-Id: Ic760439ec41131a5bb5a30a59e23b9166c7fd23d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794112
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Mike Frysinger <vapier@chromium.org>
|