|
fe6c13d7
|
2024-09-25T13:34:49
|
|
Skip dota_underlords on Linux NVIDIA
Recently became flaky on GTX 1660 driver 535.183.1.0.
Bug: angleproject:369533074
Change-Id: Ieba8657366687f742812643cb25cadfd7ba09817
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889565
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
036e3ff1
|
2024-09-23T00:00:00
|
|
Remove Framebuffer::usingExtendedDrawBuffers
This function is unused.
Bug: angleproject:369533073
Change-Id: I604a032442ff04fc23b5bc72deebaf94cc2878c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889566
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
f1843343
|
2024-09-25T14:36:04
|
|
Skip flaky end2end test on Metal AMD
PolygonModeTest.DrawLinesWithDepthOffset
flaky on MacBookPro16,1
Bug: angleproject:369540617
Change-Id: I4c67fde9824817b63215496410490e071d61d278
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5890845
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6cd8a2db
|
2024-09-20T14:01:17
|
|
WebGPU: Use SurfaceTexture instead of SwapChain.
The SwapChain api is deprecated.
Bug: angleproject:342213844
Change-Id: I664d09eb0a0e8bca2ad73d9362f1f754f4dfbc7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873858
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
eaffa034
|
2024-09-24T20:56:04
|
|
Revert "Vulkan: Consolidate colorspace override states"
This reverts commit bffcd235ba6c031603d798daaa98f1cf9a3f3e46.
Reason for revert: Breaks Android test `org.skia.skqp.SkQPRunner#UnitTest_DMSAA_dst_read`. Details:
https://b.corp.google.com/issues/369388539.
Original change's description:
> Vulkan: Consolidate colorspace override states
>
> ColorspaceState struct is now used to cache colorspace related states
> and used to determine the colorspace of Vulkan image views.
> ImageViewHelper methods are called during initialization and when
> colorspace related states are toggled dynamically which in turn process
> these states and determine the final read and write colorspaces.
>
> We can now fully support rendering to EGLImages, with colorspace
> overrides, via texture or renderbuffer EGLImage targets
>
> Bug: angleproject:40644776
> Tests: ImageTest*Colorspace*Vulkan
> MultithreadingTestES3.SharedSrgbTextureMultipleContexts*Vulkan
> SRGBTextureTest.SRGB*TextureParameter*Vulkan
> SRGBTextureTestES3.SRGBDecodeTexelFetch*Vulkan
> ReadPixelsPBOTest.SrgbUnorm*Vulkan
> Change-Id: I1cc2b5bd834b519b83deab4d80a2fcaabeb271d6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5841290
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Bug: angleproject:40644776
Change-Id: I5bf6cf2ed0c8ec22fc02d8c3da92673ee85fe002
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5888506
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
1798e1f0
|
2024-09-24T10:21:53
|
|
GL: Avoid infinite loops clearing GL errors
When a GL_CONTEXT_LOST error is generated, every subsequent call to
glGetError will also return GL_CONTEXT_LOST. Avoid this by early
returning.
The error will be picked up later by the HandleError call.
Bug: chromium:368263759
Change-Id: I132e3ecaf240e90f26060e1188736a3374bf88dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5887225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f5f419ec
|
2024-09-04T20:22:20
|
|
Vulkan: Add verify-restore in CompressAndStorePipelineCacheVk()
Change fixes following problem:
When blob cache is full, but still allows to store the current
pipeline cache data, storing next chunk may trigger eviction of
already stored items. Depending on the blob cache implementation,
eviction process may choose to evict chunks from the current pipeline
cache data. As the result: blob cache will not contain all chunks.
Solution:
The `StorePipelineCacheVkChunks()` function now check what chunks
exist in the blob cache (if `lastNumStoredChunks` parameter is positive)
and restores any missing chunks if their number is less than
`lastNumStoredChunks`.
First call to `StorePipelineCacheVkChunks()` passes zero (0) to the
`lastNumStoredChunks`, which will skip the check and store all chunks
unconditionally.
If "verifyPipelineCacheInBlobCache" feature is enabled, the
`StorePipelineCacheVkChunks()` will be called again to restore possibly
missing chunks.
If "hasBlobCacheThatEvictsOldItemsFirst" feature is disabled,
the function will be called repeatedly in a loop (opposed to only once),
until all chunks are present or until number of missing chunk stops
decreasing.
Bug: angleproject:4722
Change-Id: Ibbbdb2f878d6aafd7ab5586fc654e2b9be900a9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5837042
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
0b610712
|
2024-09-20T12:00:17
|
|
WebGPU: Sync index buffers, add indexed draw calls
Bug: angleproject:368600230
Change-Id: Ibf1c4921635b525b7650e70ce7dc939e2bad2ebb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828229
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
75297ee9
|
2024-09-24T13:30:55
|
|
Skip dEQP GLES3 crashes on Metal AMD
dEQP-GLES3.functional.shaders.builtin_functions.precision.*
crash on MacBookPro16,1
Bug: angleproject:369219143
Change-Id: I3ec2ea9e0aef7600dcadd0d939934da9d27a227c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5887047
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
ff5dfad5
|
2024-09-20T11:23:07
|
|
restricted_trace_perf: Change loop order
Before this CL we are doing:
For each renderer
For each loopcount
For each trace
Do the test
Write out summary of all results
We don't get useful data unless the entire script completes.
We are seeing some devices disconnect more often, so let's
change the order to preserve data.
The loop becomes:
For each trace
For each iteration
For each renderer
Do the test
Write out summary for the trace
Output becomes:
native_1945_air_force
vulkan_1945_air_force
native_1945_air_force
vulkan_1945_air_force
etc.
The final output is unchanged. Raw data will be in a different order.
Bug: b/369203495
Change-Id: I09b189b5c578dd520123e4ac850018e75b219aa8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5884633
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
b563ede4
|
2024-09-20T20:30:21
|
|
WebGPU: initDefaultUniformBlocks outside of an ASSERT
initDefaultUniformBlocks was not being called in release builds and
crashing when attempting to read the uniform layout info.
Bug: angleproject:42267100
Change-Id: I9e13ffee1260e4f30aed24c7bfa9e767639a5c2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5878925
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a6ec0bb9
|
2024-09-23T10:50:28
|
|
Vulkan: Fix recursion in ensurePipelineCacheInitialized()
If the initial data was loaded from the blob cache, this function called
getPipelineCacheSize() to initialize mPipelineCacheSizeAtLastSync.
However, that function itself lead back to
ensurePipelineCacheInitialized(), causing a recursion. This was
previously undiscovered as the conditions that would lead to the global
pipeline cache needing a lock were yet to materialize in the wild.
Since the preferMonolithicPipelinesOverLibraries feature was made more
widely enabled in [1] and consequently a race condition was fixed in
[2], this recursion was discovered as a deadlock due to the mutex use.
While this change avoids the recursion, it simultaneously optimizes the
syncPipelineCacheVk() function by making sure the lock is taken once
intstead of twice when retrieving the pipeline cache size and
subsequently data. This also avoids a previously encountered race
condition where the pipeline cache was modified in between the two
queries and VK_INCOMPLETE was returned from the second call.
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/5870466
[2]: https://chromium-review.googlesource.com/c/angle/angle/+/5872715
Bug: angleproject:42265839
Change-Id: Ic682b3d20ec4411ba180b3bafb807fdde8166d5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5883153
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Steven Noonan <steven@uplinklabs.net>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
fdec6935
|
2024-09-20T16:29:03
|
|
Workaround supportsSurfaceMaintenance1 on Linux with llvmpipe
Presence of multiple ICD appears to confuse the loader and we end up
with support reported but vkGetPhysicalDeviceSurfaceCapabilities2KHR
not actually working (see bug for more detials)
Bug: angleproject:368647924
Change-Id: Idc813b99f873643d067cc4b4e38f1ed5249500b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5875015
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
1e74ce33
|
2024-09-17T14:44:36
|
|
Reland "Vulkan: Prefer monolithic pipelines everywhere"
This reverts commit 1503a10737e28ac9d1bb98c2f3e369880c63ca43.
Reason for revert: Fixed threading + undo for buggy drivers
Original change's description:
> Revert "Vulkan: Prefer monolithic pipelines everywhere"
>
> This reverts commit e9ab557c744c29088174b6c7bc93692fe7f32dbd.
>
> Reason for revert: kills Windows Intel UHD 770 machines
> http://anglebug.com/42265839#comment34
>
> Original change's description:
> > Vulkan: Prefer monolithic pipelines everywhere
> >
> > Apparently, every vendor prefers this, and
> > graphicsPipelineLibraryFastLinking has no bearing on the driver's
> > preference.
> >
> > Bug: angleproject:42265839
> > Change-Id: Ied8d82e0a9e08fe5efe3f625e2612764f67f9768
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861024
> > Commit-Queue: Yuxin Hu <yuxinhu@google.com>
> > Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> > Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: angleproject:42265839
> Change-Id: I95fa61b2242684b63adc2841b777bde923e34d41
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5868055
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:42265839
Change-Id: I007a3efc69e0edc040b0feddcd84e191f68ded9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5870466
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
49ea6f00
|
2024-09-08T11:32:16
|
|
Cleanup ImageTest skip conditions
Early-return with a compiler guard prevents a test from being
recorded in the skip test list log. Make sure to use the
"ANGLE_SKIP_TEST_IF" macros for AHB tests.
Bug: angleproject:40644776
Change-Id: I3e15203b8e17512ecb89abc7e53769c06b770213
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842744
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
bffcd235
|
2024-09-13T14:58:00
|
|
Vulkan: Consolidate colorspace override states
ColorspaceState struct is now used to cache colorspace related states
and used to determine the colorspace of Vulkan image views.
ImageViewHelper methods are called during initialization and when
colorspace related states are toggled dynamically which in turn process
these states and determine the final read and write colorspaces.
We can now fully support rendering to EGLImages, with colorspace
overrides, via texture or renderbuffer EGLImage targets
Bug: angleproject:40644776
Tests: ImageTest*Colorspace*Vulkan
MultithreadingTestES3.SharedSrgbTextureMultipleContexts*Vulkan
SRGBTextureTest.SRGB*TextureParameter*Vulkan
SRGBTextureTestES3.SRGBDecodeTexelFetch*Vulkan
ReadPixelsPBOTest.SrgbUnorm*Vulkan
Change-Id: I1cc2b5bd834b519b83deab4d80a2fcaabeb271d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5841290
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
167b9e8d
|
2024-09-18T21:51:38
|
|
Vulkan: Fix pipeline cache store vs monolithic pipeline race
The thread that creates monolithic pipelines needs to hold the pipeline
cache lock, as well as the thread that stores the pipeline cache
contents to the blob cache.
Bug: angleproject:42265839
Change-Id: I17cf9d2bb3f27d531f368003cb4ee00007a464fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872715
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1bed7fdd
|
2024-09-13T15:29:07
|
|
CL/VK: Fix missed PushConstantRegionGroupOffset
Adding missing reflection instruction to parser:
NonSemanticClspvReflectionPushConstantRegionGroupOffset
And add related PC routine during NDRangeKernel.
Bug: angleproject:366412385
Change-Id: I2ffa48dee46a23840390312f20e7103f68daa0c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860310
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cce1497c
|
2024-06-07T15:03:07
|
|
CL/Vulkan: regionOffset as GWO for uniform
clspv states:
region_offset: the sum of the global ID
offset into the NDRange for this uniform
region and the global offset of the NDRange
Since we currently do not support non-uniform at
the moment, we just treat the
PushConstantRegionOffset as the global work offset.
Bug: angleproject:366412385
Change-Id: Ifd9953f21cd7826198b2cfe7d30ddec68ea2c7a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860309
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
741e5355
|
2024-06-07T16:39:53
|
|
CL/Vulkan: Add missing PushConstantNumWorkgroups
Adding support for:
NonSemanticClspvReflectionPushConstantNumWorkgroups
Bug: angleproject:366412385
Change-Id: Id4cfc1ee456d3a7f6d058f3f4a6a580381b2d471
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860308
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8eecc8e9
|
2024-05-30T13:30:08
|
|
CL/Vulkan: Update CL_DEVICE parameters
Update device fields for the following:
- Change address bits from 64 -> 32
- Report OpenCL C version to 1.2
- Change non-uniform wgs support to false
We either did not support nor take full advantage
of these features, thus leading to the omission
or change/downgrade.
Bug: angleproject:366412386
Change-Id: Ia6b361d0285d5a1a88013a49fd747a3d03db9655
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860307
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
86a24b84
|
2024-09-20T09:36:02
|
|
Add TraceFrameIndex atrace counter
This adds TraceFrameIndex atrace counter so that we can identify the
exact frame index in the trace.
Bug: b/319871513
Change-Id: I6cd20dd78746dd03b43ecea2ac7b102902e82d37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874417
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
0de7c43f
|
2024-09-19T16:57:23
|
|
Remove unused functions
Static function Display::GetEglDisplaySet()
is no longer used. The function was first introduced in
https://chromium-review.googlesource.com/c/angle/angle/+/3294581,
but the usage was removed in
https://chromium-review.googlesource.com/c/angle/angle/+/4742383.
Remove the unused function.
Bug: b/362604439
Change-Id: I007a5850f642a46f6d141ee88cfd6e221f9358fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5877313
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
c2051a2d
|
2024-09-19T00:00:00
|
|
Metal: Refactor texelFetch[Offset] and textureSize wrappers
* Removed variadic macros from texelFetch[Offset]
and textureSize function wrappers.
* Updated emitter to not output unused variants.
* Aligned parameter types with GLSL and MSL specs.
Bug: angleproject:368059227
Change-Id: I7cbd6f60e70e0357aa5ca12d6adbe1064eed94fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5876034
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2ca686d2
|
2024-09-20T13:48:04
|
|
Suppress flaky test on Linux NVIDIA Vulkan
dEQP-GLES2.functional.texture.completeness.cube.npot_mirrored_repeat
Bug: angleproject:362486580
Change-Id: If1255fd052e8d0e80ef694733af3676414c5beee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873134
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
b682d810
|
2024-09-18T14:24:22
|
|
Remove limitation for INT_MAX
In LimitToInt(), a limit was placed so INT_MAX/2 would return
instead of INT_MAX. This was done to avoid dEQP errors due to
imprecisions rising from querying the limit as a float. However,
it seems that the underlying issue has been resolved. Therefore,
it should be safe to remove this limit.
* Set the LimitToInt() return value limit back to INT_MAX.
Bug: angleproject:361369308
Bug: angleproject:42262938
Change-Id: Icf861797656bf95690ee4f0964635dd6f3c97198
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874170
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f0f65290
|
2024-09-10T15:30:30
|
|
Translator: Add check for atomic counter offset
For GLSL shaders, atomic counter offset should not exceed the
maximum atomic counter buffer size. This issue was seen on a dEQP
test when increasing the LimitToInt() limitation from INT_MAX/2
to INT_MAX+1 or INT_MAX.
* Added check to the translator to make sure the offset does not
go beyond the max atomic counter buffer size.
* Packed the existing checks into a single function.
* (checkAtomicCounterOffsetIsValid())
* Added mMaxAtomicCounterBufferSize to TParseContext for the check.
* Also added the related cap (maxShaderStorageBlockSize) for D3D11.
* Increased the limitation in LimitToInt() to (INT_MAX / 2 + 1).
* Added test based on dEQP test that failed on some platforms as
a result of updating said limitation.
* From KHR-GLES31.core.shader_atomic_counters.negative-large-offset
Bug: angleproject:361369308
Change-Id: Id6128c75e12445b2a0029f4a2eb2bdb379cad48d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851650
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
95664631
|
2024-09-19T00:00:00
|
|
Metal: Fix OES_texture_3D texture function wrappers
* Removed redundant variadic macros and templates for
GL_OES_texture_3D functions.
* Added missing texture3D function variants.
* Emit texture3DProj variant with bias only when
the GLSL function call has that parameter.
Fixed all failures in KHR-GLES2.texture_3d.* tests.
Bug: angleproject:368059227
Change-Id: I9c0b209988563710824c38d0535997e351bbd6bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5875725
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
5eb71dc1
|
2024-09-19T00:00:00
|
|
Metal: Simplify ESSL 1.00 texture function wrappers
* Removed redundant variadic macros and templates for
ESSL 1.00 and GL_EXT_shader_texture_lod functions.
* Emit texture2D, texture2DProj, and textureCube
variants with bias only when the GLSL function
call has that parameter.
Bug: angleproject:368059227
Change-Id: I1b60d0b874a08dcdd0a92585b2642336134236e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872916
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
04c2879e
|
2024-09-18T11:30:07
|
|
Modify retracer script to output min requirements json diff
After the ANGLE retracer script runs with the get_min_reqs option,
ouptut the json file diff.
Bug: b/42266279
Change-Id: Ia744e4e36fb9f8b7e8d498d44412af733c7ed9b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874161
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cb9d52f8
|
2024-09-11T15:26:49
|
|
Vulkan: Add Pipeline blob cache per chunk CRC check
Each chunk now have it's own CRC value, that is calculated starting
from beginning of the data up to the end of the chunk. This way last
chunk will have CRC of the entire data, avoiding calculating it
separately.
The `GenerateCRC32()` was splint into `InitCRC32()` and `UpdateCRC32()`
function, which supports calculating running CRC32.
Calculating CRC this way has some performance hit, when using many
small chunks. Increasing chunk size to at least 1 MB almost negates any
overhead from running `UpdateCRC32()` multiple times.
On S921B with locked frequencies, calculating CRC for 89 MB of data
using single call took 7.13 ms and 13.34 ms, when using multiple calls.
However even this difference is negligible, because compressing 291 MB
of data to 89 MB took 9.22 seconds.
Bug: angleproject:4722
Change-Id: Ic6f3245b3aa7319ac13502d2c43e1a084a9bc8b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854709
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
8469debb
|
2024-09-04T20:04:10
|
|
Vulkan: Add dual slots in CompressAndStorePipelineCacheVk()
Change fixes following problem:
Currently, each call to `CompressAndStorePipelineCacheVk()` stores
chunks in order, starting from 0. This overrides previously stored
chunks. In case of app termination (kill) in the middle of this
process, the entire cache data will be corrupted, since it will
partially contain chunks from the new and old caches.
Solution:
In order to fix this problem, this change introduces `slotIndex` into
the `chunkCacheHash` calculation. Slot index is managed by
`vk::Renderer::getNextPipelineCacheBlobCacheSlotIndex()` method, which
will alternate between 0 and 1 when "useDualPipelineBlobCacheSlots"
feature is enabled, and always 0 otherwise.
Additionally, chunk storing order is reversed: last chunk is stored
first and the first (0 chunk) - last. This is done because 0 chunk is
the first that is loaded in `GetAndDecompressPipelineCacheVk()` and used
as indication that there is data in the cache. Writing it last, ensures
that other chunks will be also available.
When "useDualPipelineBlobCacheSlots" is enabled, each call to
`CompressAndStorePipelineCacheVk()` will use slot index opposed to the
slot that is stored in the cache, avoiding damaging existing data. After
writing all chunks for a brief moment there may be 2 instances of the
data. However, data for the previous slot will be immediately erased
(by writing 1/0-sized blobs) starting from the 0 chunk.
To control if erasing of old pipeline cache data will be erased by using
0-sized or 1-sized blobs blobs, added
`useEmptyBlobsToEraseOldPipelineCacheFromBlobCache` feature.
The `GetAndDecompressPipelineCacheVk()` function will iterate over each
available slot index checking only 0 chunk until data is found.
In case of the OpenCL API, features will always have following values:
- "useDualPipelineBlobCacheSlots" -> false
- "useEmptyBlobsToEraseOldPipelineCacheFromBlobCache" -> true
Note: this solution requires 2X pipeline cache size space in the blob
cache to work as expected, otherwise it will exacerbate other problem:
When blob cache is full, but still allows to store the current
pipeline cache data, storing next chunk may trigger eviction of
already stored items. Depending on the blob cache implementation,
eviction process may choose to evict chunks from the current pipeline
cache data. As the result: blob cache will not contain all chunks.
The above problem will be addressed in the follow up CL.
Bug: angleproject:4722
Change-Id: I2920bc3d89263280cdfe0466446fca26415e2b25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5756576
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
e6c22c93
|
2024-09-19T00:00:00
|
|
Metal: Remove invalid ESSL 1.00 texture functions
* 1D textures are not supported in GLSL ES
* 2D textures do not support sampling with
3-component coordinates
* Metal backend does not support rectangle
texture type
* Cubemap textures do not support sampling
with projection
Bug: angleproject:368059227
Change-Id: Iec33f4293d995b9f244274338d444604ffd23249
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872915
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
bb14aa4d
|
2024-09-19T11:17:05
|
|
WebGPU: set vertex buffers.
This change actually sets the vertex attributes that are added to the
render pipeline description owned by the context, as well as sets
the vertex buffer in the pipeline.
Bug: angleproject:359823692
Change-Id: I5e94b357a4e6eadc1bbba54965cef94f90113b4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5789155
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
260953c3
|
2024-09-19T14:30:12
|
|
Suppress flaky test on Linux NVIDIA Vulkan
KHR-GLES31.core.pixelstoragemodes.teximage3d.rgb10a2.16_16_1
Bug: angleproject:365974429
Change-Id: Ic2fe52a7a3adcb3dbdf9e2e585831dfab4d04699
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5875723
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
44b6203c
|
2024-09-02T16:23:44
|
|
Add new functions defined in VK_KHR_Synchronization2 extension
Add vkCmdPipelineBarrier2 and vkCmdWriteTimeStamp2.
The other functions introduced in VK_KHR_Synchronization2
are not being used at the moment.
Bug: b/356985874
Change-Id: I4f8b432aee9b11debcb8abe8b3089f88ad7a069b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5832709
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
59f1e537
|
2024-09-03T17:56:47
|
|
CL/VK: Add ArgumentWorkgroup handling
Each OpenCL kernel can have
ArgumentWorkgroup args - which are
treated as spec constants.
Bug: angleproject:366415134
Change-Id: I2761010610e5b991e959006e7b78f1241a687960
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860304
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7bdd5f77
|
2024-09-18T12:51:25
|
|
Vulkan: Remove syncval suppressions for fixed bugs
Bug: angleproject:42265220
Change-Id: I282f77330867682eee121f67d5357658bf375844
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873529
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
e38d25b1
|
2024-06-21T18:22:32
|
|
Vulkan: Implement EXT_clear_texture
* Added new functions to TextureVk to clear the image.
* clearImage()
* clearSubImage()
* Both implemented via clearSubImageImpl(), with the former a
special case of the latter.
* For multisample or renderable images, stagePartialClear() from
ImageHelper is called to add the update.
* For single-sampled non-renderable images, a buffer is filled with
the pixel data and applied to the image as a buffer update.
* Added new update type: ClearPartial
* Used for renderable textures. This includes multisample textures.
* LOAD_OP_CLEAR is used in a render pass to perform the clear.
* UtilsVk::clearTexture()
* (Uses ClearTextureParameters)
* Uses the following functions to get the VkClearValue from the
input data and format:
* GetVkClearColorValueFromBytes()
* GetVkClearDepthStencilValueFromBytes()
* ClearPartial updates can also be superseded and removed similar to
Buffer updates.
* Updated UtilsVk::startRenderPass() to accept a VkClearValue* as an
input arg. If used, the render pass will use LOAD_OP_CLEAR.
* Enabled the feature "clearTextureEXT" on Vulkan.
* Added new unit tests in ClearTextureEXTTest for various formats and
pixel sizes.
* Added related multisample tests in FramebufferTest.cpp.
* FramebufferTest_ES31.ClearTextureEXT*
* Disabled some of the new tests failing using OpenGL.
* Disabled stencil-only-related tests on Pineapple.
Bug: angleproject:42266869
Change-Id: I89c631d68a4ed63d9991abe1783333255ade20dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5778348
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
7c6f1c05
|
2024-08-20T17:50:00
|
|
Vulkan: Enable UtilsVk::startRenderPass() for DS
Currently, UtilsVk::startRenderPass() assumes usage for color ops
and only uses color aspect flags and layouts. This CL will add the
option to use it for depth/stencil as well.
* Added the aspect flags to the args of startRenderPass()
* For the existing usage of this function, which use the color bit,
the image layout "ColorWrite" is used as before.
* For depth/stencil usage, the layout to be used therein will be
DepthWriteStencilWrite.
* The follow-up CL will use this.
Bug: angleproject:42266869
Change-Id: I135df3b91064b6e711e6109e9e7b734bc6361396
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5801657
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3f89dfc2
|
2024-08-20T17:31:43
|
|
Update validation for EXT_clear_texture
* Added the validation condition that the texture level to be cleared
should have been defined beforehand.
* Added the condition to clearTexSubImage() at the frontend to return
if any clear extent was zero.
* In the validation tests, added checks for the following:
* Clearing a texture level before defining it.
* Clearing a compressed texture, which is not allowed.
* Added setConfigAlphaBits() to ClearTextureEXTTest setup.
* Replaced EXPECT_PIXEL_COLOR_EQ with EXPECT_PIXEL_RECT_EQ for
ClearTextureEXTTest tests for better coverage.
Bug: angleproject:42266869
Change-Id: Ieeb49e9005eba6ef9156d49ff46c71cdf4f04162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5801655
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
a98f83bc
|
2024-09-13T10:49:08
|
|
Add pre-upload Required Extensions check to trace sync script
Add a check to make sure that a new ANGLE trace has been run through
the retracer with the 'get_min_reqs` argument before uploading to CIPD.
Bug: b/42266279
Change-Id: Id6f847faf22a42062ab189ea9bc7fb9c3506e66b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860299
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7e462c22
|
2024-09-17T15:32:41
|
|
WGPU: Implement SetUniform() enough so GetUniform() works
Lays out a shadow buffer for basic uniforms per-shadertype
in std140, which is close to matching WGPU's layout. This
does not actually pass the buffer to WGPU as a uniform
buffer. GetUniform() just reads from the shadow buffer.
This is copied from the VK backend and so some code is
deduplicated.
Bug: angleproject:42267100
Change-Id: I727dc9e09a7ccabbb617f148dd68590469883b07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5867444
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
|
|
dfa516ce
|
2024-09-12T15:25:08
|
|
Vulkan: Fix chunkIndex is not 16 bits when computing key
Replace `uint8_t` with `size_t` in `ComputePipelineCacheVkChunkKey()`.
This fixes the bug and also makes type consistent with the rest of the
code.
Also `CacheDataHeader::setData()` made consistent with `getData()`.
Bug: b/246683126
Change-Id: Ib1f8b680622c3d4f912d8a21ed8b740c3d17483e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854707
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8b8749d
|
2024-09-18T12:00:46
|
|
Fix use-after-out-of-scope in CapturedTest
The pointer passed to glVertexAttribPointer goes out of scope in
frame2(), but was in use by frame3().
Bug: chromium:367752715
Change-Id: Idd8a2d0cced047776efff7015f6548b6f4969aba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5873528
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1a97e039
|
2024-09-17T11:40:29
|
|
restricted_trace_perf: Support multiple users
This CL adds some tracking data for the current user and storage
locations. It moves away from using sdcard at all.
Test: restricted_trace_perf.py with non-default user
Bug: b/361388557
Change-Id: Ifff9b5e4ba9b184cc5a4339417723ecb7d35a4a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5869168
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b98e6bc0
|
2024-09-12T00:00:00
|
|
Translator: Add EXT_texture_shadow_lod functions
Added translator support for functions defined
in the GL_EXT_texture_shadow_lod extension.
Trivially enabled on GL and Vulkan backends.
Bug: angleproject:365066518
Bug: angleproject:365108862
Change-Id: Ie1fc8f50e321a559d4506c479d9cebbb48802091
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5867416
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6e0ae899
|
2024-09-17T12:12:03
|
|
Vulkan: Suppress more rasterizer-discard VUs due to VVL bugs
Bug: angleproject:42266678
Change-Id: I7321c28362d1a2be529b9d173c8429c757c26fd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5869444
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
dbdc9551
|
2024-09-16T10:19:47
|
|
Vulkan: Let asyncCommandBufferReset control garbage cleanup
So that people can toggle the flag to compare perf/power difference with
async thread doing garbage clean up AND command buffer reset. This also
renames feature flag asyncCommandBufferReset to
asyncCommandBufferResetAndGarbageCleanup to reflect the implementation.
Bug: b/255411748
Change-Id: Id459e6f4dc81ec76b6c0c2dba0db46041ea6ae8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5867389
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
72d01332
|
2024-05-23T16:34:14
|
|
CL/Vulkan: Add missing EnqueuedLocalSize PushConst
Additionally, we move down "processKernelResources"
after "getOrCreateComputePipeline" since new push
constant needs LWS value and we might modify
ndrange's LWS after "getOrCreateComputePipeline".
Bug: angleproject:366412385
Change-Id: Ia287d667e0616256d1f9c039566b79aae1337154
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860306
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9685cb96
|
2024-09-17T11:41:28
|
|
Vulkan: Clean up PackedClearValuesArray::store
The code was a bit confusing, raising question why there is check of
aspectFlags != VK_IMAGE_ASPECT_STENCIL_BIT. I believe this was
originally from
https://chromium-review.googlesource.com/c/angle/angle/+/2142711, and
then followed by
https://chromium-review.googlesource.com/c/angle/angle/+/2410366. The
code seems to having some special logic to handle packed depth stencil
clear value. This code may have been changed a bit. When I am looking at
current code base, I am not seeing good reason doing it this way. Caller
is handling the packed format by reading out depth value and pack them
together and then store. This CL replaces store/storeNoDepthStencil
pair to storeColor/storeDepthStencil.
Bug: b/167301719
Change-Id: I40cfca1e51654f5ddaf4b2e8460ae5a26c656f2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5870921
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
0f4c807a
|
2024-09-16T12:55:40
|
|
Tests: disable batching in gold tests on Android
setRequestedOrientation from a previous trace appears to affect pixels.
We often see this on CI when a new trace is added which reshuffles
traces.
For example, in this sequence the first trace sets landscape orientation
and the second one goes back to portrait:
angle_trace_tests --gtest_filter=TraceTest.dota_underlords:TraceTest.dragon_raja \
--run-to-key-frame --save-screenshots --verbose \
--render-test-output-dir=/tmp/g
When the second trace is run independently, the resulting pixels are
slightly different.
This CL disables batching tests on Android so each trace runs as a new
instrumentation/activity. This way the previous trace orientation does
not seem to matter.
The impact on shard runtime seems minor.
Bug: b/367401313
Change-Id: If1c41e45d063d434f92d46be8dd381e645a3ff0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866850
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
89f9ea08
|
2024-06-18T10:23:22
|
|
CL/Vulkan: Fix missing init() for clLinkProgram
Fixing missed init() call/routine when creating
the CLProgramVk object during clLinkProgram.
Bug: angleproject:366411889
Change-Id: I13402b823746a59b3f0539830a6cde64b6201ae9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860305
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f2d9d755
|
2024-09-10T10:28:37
|
|
CL: Drop image_descriptor and format from image create
The image descriptor and format are part of the state and as such remove
them passing down through the create()
Bug: angleproject:365694588
Change-Id: I6e5c4595c0093f15df65f43ed607643cb7c2ae14
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854004
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dda301f6
|
2024-06-17T19:42:09
|
|
CL: Add additional state getter for CLImage
Much of the image state is validated by the frontend, and as such add
corresponding getters for the state.
- The row and slice sizes are updated to account for zero values
- New getters for width,height,depth and array size are added
Bug: angleproject:365694588
Change-Id: I3398a14a3bb2aff078290423d6963e646f3c32df
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854003
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ad4159f3
|
2024-06-20T12:26:32
|
|
Vulkan: Add utils for cl state to vk state
Add utils for translation of vk state from/to cl state in vk_cl_utils.
Bug: angleproject:365694588
Change-Id: I74f33416a2746048c0b74793b06bee612cf51eb3
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854002
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f8031fbe
|
2024-09-17T11:35:58
|
|
Vulkan: Unsuppress fixed VU errors
Bug: chromium:359904720
Bug: angleproject:362545033
Change-Id: I2721344843ffbddd6c56261359360473ad896a39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5870469
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
f2eb8781
|
2024-09-14T16:16:53
|
|
Vulkan: Selectively enable emulateR32fImageAtomicExchange
Only emulate R32F imageAtomicExchange if shaderImageFloat32Atomics
feature is not supported
Bug: angleproject:42264071
Change-Id: I305ab88bf3ac918eff5d8c399f0ed02ec8c60c2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860814
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1503a107
|
2024-09-17T10:46:29
|
|
Revert "Vulkan: Prefer monolithic pipelines everywhere"
This reverts commit e9ab557c744c29088174b6c7bc93692fe7f32dbd.
Reason for revert: kills Windows Intel UHD 770 machines
http://anglebug.com/42265839#comment34
Original change's description:
> Vulkan: Prefer monolithic pipelines everywhere
>
> Apparently, every vendor prefers this, and
> graphicsPipelineLibraryFastLinking has no bearing on the driver's
> preference.
>
> Bug: angleproject:42265839
> Change-Id: Ied8d82e0a9e08fe5efe3f625e2612764f67f9768
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861024
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:42265839
Change-Id: I95fa61b2242684b63adc2841b777bde923e34d41
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5868055
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1b4d6185
|
2024-09-12T09:18:46
|
|
Vulkan: Cleanup sRGB related code
Image and image view code is littered with sRGB related enums, even
in places that don't deal with sRGB. Remove sRGB related parameters
from initLayerImageView and getLevelLayerDrawImageView methods, which
now assume default values. Add dedicated methods that allow overriding
sRGB state values.
Also introduce ColorspaceState struct that consolidates all sRGB
related states, this will be used in follow up changes to track
and infer colorspace of image views
Bug: angleproject:40644776
Change-Id: Ifb366db48043e376f9ff6c30c852c44dd96562a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860808
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
44bbfbda
|
2024-09-16T09:59:56
|
|
Tests: deqp no longer logs unused test expectations
Similarly to https://crrev.com/c/5238992, deqp is the only suite that
does this. Also, this applies only to the current platform (for example,
unused expectations with tag VULKAN are not logged when running under
Swiftshader). If we actually want to check for unused expectations we
should revisit the approach and do it consistently across suites.
Logging can cause obscure issues as described in b/361100186#comment3:
Tests are executed by first listing the tests, then splitting the
list into chunks and executing sequentially with
filter=*test1:test2:...testN.
The problem is that first part, "listing the tests", is pretty
clunky, and instead of using a proper format we usually just parse
stdout somewhere.
So what's probably happening is "Line 20: expectation was unused."
gets printed while listing tests, and the first word, Line,
is assumed to be a test name, so we end up with filter=*Line
Bug: b/361100186
Change-Id: Id7836640877e3adae04b53f03867028103f159b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866130
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
e9ab557c
|
2024-09-14T22:11:18
|
|
Vulkan: Prefer monolithic pipelines everywhere
Apparently, every vendor prefers this, and
graphicsPipelineLibraryFastLinking has no bearing on the driver's
preference.
Bug: angleproject:42265839
Change-Id: Ied8d82e0a9e08fe5efe3f625e2612764f67f9768
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861024
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6d58359b
|
2024-09-12T00:00:00
|
|
Add shadow sampler LOD tests for cubemap arrays
Added tests for GLSL 3.10 shadow samplers in
fragment shaders with TEXTURE_CUBE_MAP_ARRAY
target (with an extension).
Bug: angleproject:365066518
Change-Id: I0d47b0af24383177d428ebace045e77f5563593c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866449
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3cabe8c2
|
2024-09-16T11:09:45
|
|
Tests: fix python assertion
android_helper.py:43: SyntaxWarning: assertion is always true, perhaps remove parentheses?
assert (cls.current_user != None, "Call _GetCurrentUser before using IsMultiUser")
This does "assert x"
where x=tuple (bool, str)
and is never falsey
Bug: b/361388557
Change-Id: I79a2d07ac59d611cf5e47f54f3ddb6a336322655
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5866133
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
ca2e588b
|
2024-09-12T14:20:33
|
|
WebGPU: Add support for depth/stencil clears
This CL also adds helper methods to create webgpu depth/stencil
attachments for a render pass descriptor, as well as depth/stencil
attachment images.
Bug: angleproject:42267012
Change-Id: Iebef99ba34db2e50f56449d0737b3dbb03b90f2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5750001
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
b5280aa3
|
2024-09-12T00:00:00
|
|
Add shadow sampler LOD tests for cubemaps
Added tests for GLSL 3.00 shadow samplers
in fragment shaders with TEXTURE_CUBE_MAP
target.
Bug: angleproject:365066518
Change-Id: I2b8577310ea5c258d4d13611607f5c4d9be57e04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865112
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5e45d53f
|
2024-09-15T11:12:01
|
|
Tests: Add Downwell trace
Test: angle_trace_tests --gtest_filter="*downwell*"
Bug: b/367019385
Change-Id: Iad12378a0d770e24b5a74db9eee78b0d8cbaa094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5863490
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
005345d4
|
2024-09-16T11:02:37
|
|
Suppress flaky dEQP GLES2 test
dEQP-GLES2.functional.texture.filtering.cube.linear_mipmap_linear_nearest_clamp_etc1
on Linux NVIDIA 535.183.01 driver.
Bug: angleproject:362486580
Change-Id: Icdf6add6fe4c1f27c8903df12eb42e8b91bffa57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865110
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
937c5dc8
|
2024-09-09T12:18:55
|
|
Vulkan: Make image{Read,Write} helper interface api agnostic
Removing ContextVk dependency on the imageRead/imageWrite helper utility
functions.
Bug: angleproject:42266971
Change-Id: I493e1fb11e8ae192f766c822cbee278c49c23bfe
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845197
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9decad75
|
2024-09-12T00:00:00
|
|
Add shadow sampler LOD tests for 2D arrays
Added tests for GLSL 3.00 shadow samplers
in fragment shaders with TEXTURE_2D_ARRAY
target.
Bug: angleproject:365066518
Change-Id: Iab68d7de6709e470ae6a4cd7d94682b454ed2880
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861427
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0cce8fd3
|
2024-09-12T00:00:00
|
|
Add EXT_texture_shadow_lod stubs
Bug: angleproject:365108862
Change-Id: Ib879c2994871a41ad680bfe487593ea8ccbba7cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860118
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ee07959
|
2024-09-13T17:12:26
|
|
Remove the suppressed VVL error
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/8523
is fixed. Remove the VVL error from the suppressed list.
Bug: b/365580001
Change-Id: Ib7a3819e740393306995df1eabec14e1b9878d7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860811
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
27738fe4
|
2024-09-04T19:53:01
|
|
Fix retracer script error due to blank argument
Traces fail when running the retracer script if the --request-extensions
argument is passed with a blank value.
Bug: b/42266279
Change-Id: I1e465caaaa7a5f8d8048c09890b5d01eeb2d0df1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860298
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
bf29f7bd
|
2024-09-13T11:36:23
|
|
vulkan: fix eagl compile issue.
fix https://chromium-review.googlesource.com/c/angle/angle/+/5858255
build issue for eagl.
Bug: b/311022968
Change-Id: Icc6f3276338572f0303e49bede256c1a7239d3ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5862027
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
8c12874c
|
2024-09-12T11:26:29
|
|
vulkan: add double buffer swapchain for fifo mode.
Double buffer swapchain usually drop the performance.
But at B* the default fps cap for silver device still at 30fps.
This change is for reduce latency.
Bug: b/311022968
Change-Id: Ida4044f439bbe3f235d53f5d1d2f945533cbb094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5858255
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e90de4b2
|
2024-09-05T00:00:00
|
|
Add shadow sampler LOD tests
Added tests for GLSL 3.00 shadow
samplers in fragment shaders
with TEXTURE_2D target.
Bug: angleproject:365066518
Change-Id: I5b93d030cd14a388541acaff9f7a707ad599dba3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845491
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7dcfc32b
|
2024-09-12T16:25:28
|
|
Remove renamed VUID
VUID-VkVertexInputBindingDivisorDescriptionEXT-divisor-01870
was renamed to
VUID-VkVertexInputBindingDivisorDescriptionKHR-divisor-01870
in
https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/6adb436617e6c66fbc8b2a24996659f5c5bbb63f
Bug: angleproject:42266877, angleproject:42266639
Change-Id: I382625d33ef6728835d8e9db307d32b7910ac9b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5855187
Commit-Queue: Solti Ho <solti@google.com>
Reviewed-by: Solti Ho <solti@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1205d218
|
2024-09-12T11:46:48
|
|
Suppress flaky failures on new Linux Intel and NVIDIA drivers
Intel Mesa 23.2.1:
Texture2DTest.NegativeAPISubImage/ES2_WebGPU
NVIDIA 535.183.01:
KHR-GLES32.core.texture_cube_map_array.image_op_compute_sh
KHR-GLES31.core.texture_cube_map_array.image_op_fragment_sh
Bug: angleproject:362486580, angleproject:360083331
Change-Id: I5038f867ccda43331def4b6ee4253b580a1a6f1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854328
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
f0919be3
|
2024-09-05T00:00:00
|
|
GL: Reset color mask before clearing textures
Some OpenGL drivers may apply last used color
mask state to ClearTexImage operations.
Bug: angleproject:347047859
Change-Id: I0bbf103793857b96e50fae8d6dfafc96b8dfe224
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854319
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
1a5fee10
|
2024-09-11T17:37:54
|
|
Fix missing include
Bug: angleproject:42267100
Change-Id: Iafa56c8bfcfd898ca58bfe0cc0bb67ca253813e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854007
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Matthew Denton <mpdenton@chromium.org>
|
|
c9d55051
|
2024-09-06T10:56:07
|
|
Vulkan: Consolidate dirtyRanges before vertex conversion
Detect two ranges overlap or are continuous and merge them. This reduces
number of dispatch calls as well as avoids redundant conversion.
Bug: b/357622380
Change-Id: I06b73a1e9fd573d79af985b247f4d66bf97f756e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851642
Auto-Submit: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9f002018
|
2024-09-11T16:31:50
|
|
Suppress flaky test on Linux NVIDIA Vulkan
KHR-GLES31.core.draw_buffers_indexed.color_masks
Bug: angleproject:365974429
Change-Id: Ib7d1a38aa0d4af999975957791d88b90c770f4a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854322
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
3c93f29b
|
2024-09-10T20:27:16
|
|
Test: Add Chrono Trigger trace
Test: angle_trace_tests --gtest_filter="*chrono_trigger*"
Bug: b/365875548
Change-Id: Ifd9f2c09f93716341fb36b79e7c7ae5291fa9ed2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5852912
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
c335ddfa
|
2024-07-19T11:48:54
|
|
Check only important stencil bits in partialClearNeedsInit
When determining if a partial clear is taking place, instead of checking
all bits of the stencil masks, only check the lowest bits corresponding
to the bit depth of the active drawing stencil attachment. This results
in combinations of masks, such as 0xFFFFFFFF and 0x7FFFFFFF as 0xFF and
0xFF, which are equal and not different.
Change-Id: Id94082b6f689af92b00fb6d9a6cf65a1e3b4396a
Bug: chromium:354025373
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5721289
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
958b657f
|
2024-09-10T20:34:57
|
|
Manual roll vulkan-deps from 725499142cb6 to 3b92cef97feb (32 revisions)
Manual roll requested by yuxinhu@google.com
Manual roll changes: suppress VUID-vkCmdDrawIndexed-Input-08734
until VVL issue angleproject:365580001 is addressed.
https://chromium.googlesource.com/vulkan-deps.git/+log/725499142cb6..3b92cef97feb
Also rolling transitive DEPS:
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a496a34b439022750d41d2ba04fbbe416ef81c9a..12a17b7ce41436427e358608183100b1103274da
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/efb6b4099ddb8fa60f62956dee592c4b94ec6a49..2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/e1782d6675b88225225e331a6318554d473c54db..d160e170d74ff45cb2a88dfb365bdfd896016f7c
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/c758bac8bf1580b5018adafd3a2ec709237b0134..1108bba6c97174d172d45470a7470a3d6a564647
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/fbb4db92c6b2ac09003b2b8e5ceb978f4f2dda71..ea5774a13e3017b6d5d79af6fba9f0d72ca5c61a
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/af7b0a35d009b5ad6e0b280a5b81388608ebfe39..99de3c17fbc2db6b6da0347916c9e01a383c2758
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,yuxinhu@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:365580001
Tbr: yuxinhu@google.com
Change-Id: Iac9c8b6310d3ebb955dd09fd26b71d373e13b479
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5849280
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
8a8ca298
|
2024-09-10T14:34:11
|
|
Tests: Add Brawlhalla trace
Test: angle_trace_tests --gtest_filter="*brawlhalla*"
Bug: b/365824633
Change-Id: If3a5213661ffb041903a84a12713e04588b516e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851640
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
10d56e63
|
2024-09-06T10:56:07
|
|
Vulkan: use mEntireBufferDirty if range covers entire buffer
Detect the dirtyRange covers entire buffer and set mEntireBufferDirty
instead of add range into mDirtyRanges. This will get into a much
simpler code path that will not have any redundant conversion. This also
removes quite big portion of overlapped ranges cases without much of
overhead.
Bug: b/357622380
Change-Id: Iedaa3662a6fc52257e71d39ab75baddf6ad3e41b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5840476
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Charlie Lao <cclao@google.com>
|
|
c2a9300c
|
2024-09-10T19:33:33
|
|
WGSL: Rewrite input/output variables
GLSL builtin variables and in/out variables correspond to WGSL's main
function params and return value, so rewrite them accordingly.
This is done by generating structs to use as main function params and
return values, generating similar global structs, and copying the
former into the latter so the rest of the program can just use the
variables stored in the global structs.
Bug: angleproject:42267100
Change-Id: Ic3e1196f6fb95b963ce03845096a59ea7599d608
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5835347
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
61a255cb
|
2024-09-10T10:56:58
|
|
Skip the critical_ops trace on S22
This trace crashes on S22:
https://chromium-swarm.appspot.com/task?id=6bf09c55e48e1710.
Skip it to keep the bot green and investigate the crash offline.
Bug: b/267953710
Change-Id: Id8fc9f4b014ed3d97ca7cce2f56bc49cd9ef380f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851574
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
6afcbd3e
|
2024-09-10T10:31:42
|
|
Vulkan: Disable dynamic rendering on ARM
Due to driver bugs.
Bug: b/356051947
Change-Id: Ic345496010b051ad054811a8c34bb3f816bbf258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851632
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6655e94f
|
2024-09-09T15:41:09
|
|
Remove Feature Level 9_3, part 2
Remove all of the remaining feature level 9_3 code.
Bug: angleproject:355462523
Change-Id: Ifd15d8f5486d3e7f8f2e134f23872abf4a8ea51c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5847452
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
84492ff3
|
2024-09-10T13:11:07
|
|
Sync vertex attributs in VertexArrayWgpu.
This change only sets vertex attributes within VertexArrayWgpu and
sets them in the render pipeline description owned by the context.
It does not yet set attributes in the output pipeline created in
CreatePipeline, as vertex buffers are also not set yet.
Bug: angleproject:359823692
Change-Id: I1c3848e15d790026d53d4ab5614b1125f773e06a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5781788
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d40d1a67
|
2024-09-05T14:56:46
|
|
Metal: Fix OverrideMTLClearColor handling of no texture
It's possible for OverrideMTLClearColor to be called with no
texture. This can happen with multiple draw buffers where the bound
program executable and framebuffer has incompatible component
types. When the render pass is prepared by a drawing command, these
incompatible attachments are skipped.
As demonstated by the new test case, when switching to the framebuffer
that has previously been prepared by such a draw, if the state is clean,
the render pass attachments are not updated and |texture| is unavailable
for use in determining any emulated clear color.
Fixed: angleproject:364687937
Change-Id: I1ec9b564dc8cdb5faf7a1ed0f935d38502ca5514
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836314
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
941b3df3
|
2024-08-21T17:23:16
|
|
Vulkan: Add new threshold for CPU buffer subdata
Currently, with preferCPUForBufferSubData enabled, when the GPU is
busy, we use the CPU to copy subdata, which includes duplicating the
buffer. If the buffer is large, this can cause performance regression.
To avoid this, we should avoid using the CPU in cases that can lead to
such regressions.
* Enabled preferCPUForBufferSubData for all ARM devices.
* This feature is only used in the following cases:
* If the buffer is smaller than than 32K; or
* If the copy size is greater than 1/8 of the total buffer size.
* Significant performance improvement observed in several traces.
Bug: b/360118138
Change-Id: Ibc8e3de9b4e081c69457c85facba893283c8fb38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824347
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
53476d6f
|
2024-09-04T14:34:11
|
|
Vulkan: Do vertex conversion with fine grain dirtyRange
Right now when we do vertex conversion with multiple dirty ranges, we
are merging dirty ranges into single range and then
UtilsVk::convertVertexBuffer() is called for the merged dirty range. If
there is big gap between two ranges, the merged range could be very big.
This means we end up doing many unnecessary conversion. This CL tracks
individual dirty ranges and issues dispatchCompute for each dirty range,
thus minimize the unnecessary conversions.
On S24, this change further reduces TraceTest.gangstar_vegas frame time
from ~6.0ms to ~3.8ms, almost parity to native GLES's ~3.6ms.
Bug: b/357622380
Change-Id: Ia103f3963bdb5996ff3f95164c955a3e4f33f311
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5787633
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
a0126d55
|
2024-09-06T11:58:58
|
|
Metal: Clear mRenderPassesSinceFlush to avoid infinite recursion
When there is more than kMaxRenderPassesPerCommandBuffer render passes
with active occlusion query, it's possible for the Metal backend to end
up in infinite recursion of the following call sequence:
`ensureCommandBufferReady` -> `flushCommandBufferIfNeeded` ->
`flushCommandBuffer` -> `endEncoding` -> `endRenderEncoding` ->
`prepareRenderPassVisibilityPoolBuffer` ->
`getBlitCommandEncoderWithoutEndingRenderEncoder` ->
`ensureCommandBufferReady`
This recursion is caused by the checks in flushCommandBufferIfNeeded not
being disarmed once the flush has started and is most likely caused by
|mRenderPassesSinceFlush| exceeding |kMaxRenderPassesPerCommandBuffer|.
This change moves the clearing of |mRenderPassesSinceFlush| to the top
of of `flushCommandBuffer`, before any calls to `endEncoding`, breaking
the need to call `flushCommandBuffer` via
`getBlitCommandEncoderWithoutEndingRenderEncoder`.
Additionally, |OcclusionQueryPool::mUsed| is set to false before the
results are cleared. This will also break the recursion and is added for
the `mCmdBuffer.needsFlushForDrawCallLimits` case in
`flushCommandBufferIfNeeded`.
Change-Id: Ib54c0a87ae9c5365ae56d487b6bef99b681d9f59
Fixed: chromium:362791944
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5839224
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bda33598
|
2024-09-08T16:08:04
|
|
Test: Add Critical Ops trace
Test: angle_trace_tests --gtest_filter="*critical_ops*"
Bug: b/365417418
Bug: b/365524876
Change-Id: I3e6f3278a9c6ea819d61a0136986631b19170018
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5843583
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
fc65058c
|
2024-05-03T14:47:29
|
|
CL/Vulkan: Rework spec constant handling
Specialization constants can be combined into
a single hash map that's later iterated on
when we create the compute pipeline.
Bug: angleproject:364396920
Change-Id: I161356808ff0bd6a589f01854264210011bec512
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5834664
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e19377af
|
2024-08-21T14:52:09
|
|
Tests: Support multiple users on Android
On most Android platforms, the userId is '0' and many of our defaults
just work. But on some, the default is non-zero, and that complicates
things.
To support this, we have to specify which user is correct, which can
be determined with:
adb shell am get-current-user
Update everywhere we were using sdcard directly and use:
Before: /sdcard
After: /storage/emulated/<userId>
Incorporate the userId to find the application's home directory:
Before: /data/data/com.android.angle.test
After: /data/user/<userId>/com.android.angle.test
This CL:
- Starts using a user flag in our Android scripts
- Updates where tests look for test data and binaries
- Updates where scripts use temp and external storage
- Updates script to not use sdcard at all when root
- Disables run-as when user is not default
Bug: b/361388557
Change-Id: I0fb556ecb2d0f6bc6569a858c290b127217d4638
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825122
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
45ea2094
|
2024-09-06T10:36:07
|
|
Don't build api_dump for secondary abi on Android
32-bit builds of VK_LAYER_LUNARG_api_dump are extremely slow so skip
them when building for arm64.
Bug: b/42267058
Change-Id: I8c2d959d86a58537dafa518fb58267b38cda21f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842279
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|