|
371ab6d8
|
2024-09-19T00:00:00
|
|
Metal: Refactor texture wrappers
* Removed variadic macros.
* Removed invalid overloads.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: I5376b410670a50cf700f1c33823f43c89c10b876
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893780
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
86872374
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureGrad wrappers
* Removed variadic macros.
* Removed an invalid overload.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: I816b8b96b264d0ca943bca566987755460b3a72f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893778
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
39b5f5fc
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureLod wrappers
* Removed variadic macros.
* Removed an invalid overload.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: If15fcb0cb772e3ee2e2e1669f894fb8de4e76578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5896390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
80e5e611
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureGradOffset wrappers
* Removed variadic macros.
* Removed invalid overloads.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: I47e0c04176bd9f4b6e6abcd266ae4c673135c93b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893503
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
cc44090d
|
2024-09-18T12:28:53
|
|
Vulkan: Add an extra descriptor set index
In the case of CL, the clspv transcompiler can generate upto four
descriptor set indices, so add an extra index to vk::DescriptorSetIndex.
Also, adding aliases for CL specific naming.
Bug: angleproject:369724757
Change-Id: I45ef8a6d9246c7863ebc6edf08479bc7c661c151
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893953
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0040cda1
|
2024-09-25T18:16:36
|
|
Vulkan: Invalidate host visible non-coherent buffers on mapping
We can not trust the cache during CPU readback when the buffer
memory type is non-coherent.
Bug: b/366134076
Change-Id: I89920cfa468ee0be0feb607fea9d60bc0732191f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5890707
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Imran Ziad <imranziad@chromium.org>
|
|
572fd30e
|
2024-09-25T13:33:01
|
|
Clean up LineLoopIndirectTest
The helper test function runTest() for LineLoopIndirectTest
includes some special cases in its args that are not used in all
cases, such as consecutive indirect calls. This CL aims to split
this function into separate test cases to make each test more
readable.
* Added functions for some of the common procedures.
* Split runTest() into each test suite with the help of the common
functions and values as well as the special cases for each.
* Removed runTest() from this test suite.
* Updated an old bug number (667 -> 42265165).
Bug: angleproject:360758685
Change-Id: I98e1facff0a6bad0ee2deca9313644379345d9c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5892535
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
67a5ea45
|
2024-09-23T16:09:12
|
|
Vulkan: Fix the error from multiple lineloop draws
Since Vulkan does not support line-loop draws natively, such a
draw call requires the conversion of the related buffers to prepare
them for this operation. For glDrawElementsIndirect(), the index
and the indirect buffers would need conversion.
However, what currently happens in this case is that the original
buffer pointer is overwritten after the conversion, removing the
link to the original buffer. Therefore, if there is a second line-loop
call just after the first, it will try to use the converted buffer as
the new source, which leads to errors due the buffer already being in
use.
The index buffer for the draw is bound when the related dirty bit is
handled. Therefore, instead of using the draw index buffer directly
for handling the line-loop scenario, we can use the index buffer in
the form of a local pointer passed between functions. Then, in order
to reconcile line-loop with the other cases, the draw index buffer is
set just before setting up the indexed draw.
* Functions handling line-loop draws do not modify the element array
buffer in VertexArrayVk directly, but use local buffer pointers to
pass the current element array pointer to further processing and
drawing.
* Added mCurrentElementArrayBuffer for ContextVk to be bound to the
index buffer to used for draw instead of the one from its vertex
array object.
* Before the indexed draw, mCurrentElementArrayBuffer is set to the
last destination index buffer.
* Added unit test that makes a line-loop draw and then a non-LL call
using the same element array.
Bug: angleproject:360758685
Change-Id: I6d6328f6326c1a1f9f80e5ef346aa077c867d344
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5878764
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e06b07a9
|
2024-09-27T18:17:16
|
|
Vulkan: populate ycbcr conversionDesc for yuv VkFormats
For this case, the external format has a vulkan equivalent VkFormat and
is YUV, so conversionDesc needs to be populated.
YcbcrConversionDesc::update() expects externalFormat to be 0 in this
case since it has an equivalent.
Bug: b/368429977
Bug: b/352595520
Change-Id: Ifdae7a539555d78bbbf9d11cdbb946cb815c7709
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5896250
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
03b5ea39
|
2024-09-27T14:03:16
|
|
Traces: --offscreen syncs on N-2 frame GPU completion
This avoids the issue described on the bug where an app's assumption
about double buffering can create a race.
This prevents the replay from getting too far ahead rendering to
offscreen framebuffers.
Also correct mOffscreenFramebuffers to use mTotalFrameCount as the use
of mOffscreenFrameCount appears accidental.
Bug: angleproject:370089935
Change-Id: I30f438eb66201fe77d61710cbe6e90d47e839dd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895974
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
7c811715
|
2024-09-25T11:09:44
|
|
Vulkan: fix crash when clearing stencil with ClearBuffer
Follow up to [1] which fixed a crash with glClear, but the bug remained
with glClearBufferiv. This change refactors the "is stencil write
masked out" query to always take the framebuffer's stencil bit count
into account (practically always 8), which also happens to make the rest
of the code checking this query more accurate in the presence of
nonsense masks where the bottom 8 bits are 0.
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/3315158
Bug: chromium:40207259
Bug: angleproject:42266334
Change-Id: I68a6b0b75c67ed2cdc8c4d03b243efe5495efce1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889788
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7b0212b3
|
2024-09-27T10:02:58
|
|
Retrace cod_mobile for minimum requirements
Test: angle_trace_tests --gtest_filter=*cod_mobile
Bug: b/369984808
Change-Id: Ibf3b5c446311d27b0a78867cbd8cc523f76adcbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895156
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0621c95c
|
2024-09-09T09:43:43
|
|
Add test for repeated indirect line loop draws
This test is used to verify that two indirect draws drawing line loop
and sharing the same index buffer works.
Bug: angleproject:360758685
Change-Id: I4386e404ed0e0accf0dbb1edab8671e7f2d9939d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5855003
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
baf0c6b2
|
2024-09-19T00:00:00
|
|
Metal: Refactor texture[Lod]Offset wrappers
* Removed variadic macros.
* Removed invalid textureLodOffset overload.
* Split bias variants into separate wrappers.
* Updated emitter to not output unused variants.
Bug: angleproject:368059227
Change-Id: I983d84685479e5154f2ecfb15b525c1acbb9e280
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5890517
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bc9c772d
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureProj[Offset] wrappers
* Removed variadic macros.
* Split bias variants into separate wrappers.
* Updated emitter to not output unused variants.
Bug: angleproject:368059227
Change-Id: I6e08e92dfbc2378bfc4ccd7760dbe28f6bc64f27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893163
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0ec8a7f1
|
2024-09-26T11:06:25
|
|
Prevent multiple solutions when retracing with get_min_reqs
Skip extensions that implicitly enable other extensions in the
retracer script when running to determine minimum requirements.
Test: Retrace cod_mobile with get_min_reqs
Bug: b/42266279
Change-Id: Iee6f629d1b338362809ff8880d8a5d9ed7c574de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893959
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
05c62ebc
|
2024-09-24T13:41:57
|
|
Fix check for whether stencil write is masked out
The stencil write mask is the only thing that decides what bits get
written to. Previously, this was masked with the reference bitmask to
determine if any bits get written to, which is incorrect.
The effect of this was that the Vulkan backend would use the READ_ONLY
layout for the depth/stencil attachment even though stencil could have
been written to the attachment.
Bug: angleproject:42266334
Change-Id: Ice6a35f4691fc8e09c7d5e1db6439c3079dfa039
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5887905
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b4ec5850
|
2024-09-19T00:00:00
|
|
Metal: Refactor textureProj(Grad|Lod)[Offset] wrappers
* Removed variadic macros.
* Updated emitter to not output unused variants.
* Added MSL compile guards to not fail shader
compilation on macOS 10.15.
Bug: angleproject:368059227
Change-Id: If9d9479c056da6a76cff78c7c5b42101a0fcce1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893255
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
fe8c0390
|
2024-09-25T19:00:34
|
|
WGSL: Run SeparateCompoundStructDeclarations to name structs
Borrow SeparateCompoundStructDeclarations from the Metal backend to
separate struct definitions and name nameless structs.
Refactor id generation into a callback.
Bug: angleproject:42267100
Change-Id: I8ed6f13113a5d5e450d30ce187ce1df52e572000
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889089
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
|
|
7e249881
|
2024-09-25T17:31:18
|
|
HLSL: Emulate mix functions when the last parameter is a bool.
Add emulation for the ESSL 310 variants of mix that use int and uint
vectors and a bool selector.
Bug: angleproject:369533080
Change-Id: I0491c50c65529b9d922d4745c0989131b9981048
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5892352
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
994bbbfc
|
2024-09-23T23:30:10
|
|
Vulkan: Don't require renderability in AHBs
If the AHB usage includes GPU_FRAMEBUFFER, in practice it should be
impossible for the corresponding Vulkan format to not be renderable.
However, to guard against potential driver bugs, renderability is still
checked if the AHB usage includes that bit.
Bug: b/368429977
Change-Id: Iae23432c369cd933f14c143f67c08720d76009fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5881904
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2af09236
|
2024-09-24T13:55:04
|
|
Vulkan: Enable monolithic pipelines on Intel Windows
The hang issue is fixed and not reproduced on Intel
Windows drivers 101.5379 and later.
Bug: angleproject:369043994
Change-Id: Ic395ca47e65fa6467baf09e54b7e24c0d7d71ad3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5885989
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
966739ac
|
2024-09-19T23:49:06
|
|
Drop PLS support for EXT_shader_pixel_local_storage
Supporting this backend drastically increased the complexity of the
codebase, with little return. We don't support memoryless attachments on
the web anyway, and since this extension requires us to literally draw
the load/store operations, input attachments on Vulkan perform better.
Once this implemention is completely removed, we will delete the PLS
allow list, which isn't required for the other PLS implementations.
Bug: angleproject:7279
Change-Id: Ibb036d36cbd33467e7a94398ce171cda7349e4f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874412
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
a6ee4641
|
2024-09-25T11:41:47
|
|
WGSL: Output default uniform block and accesses to it
Default uniforms are put into a WGSL struct, and all accesses
of those uniforms now output struct accesses.
Similarly to I/O vars and builtins, these are outputted in a
pre-pass, but in the future it might make sense to do what
Vulkan does and do an AST transformation to put the default
uniforms into a UBO which should be outputted similarly.
This does not handle bool, matCx2, or array of element size < 16.
Bug: angleproject:42267100
Change-Id: If29e2895a8aba3212b581813316af87273c1515c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5878759
Reviewed-by: Liza Burakova <liza@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
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>
|