|
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>
|
|
20511d0b
|
2024-09-05T17:35:33
|
|
Vulkan: Remove unnecessary perfetto trace in BufferVk::mapRange
There is not much usefulness to know there is mapRange call. The more
meaningful place is where we end up waiting for GPU to finish which we
already have the perfetto trace in SharedFence::wait. The exitsing of
this trace made a lot of noise in trace since app tends to call this a
lot and there are many tiny lines on the trace.
Bug: None
Change-Id: I83fbbba827361d068b521bdfb2bc187865d11012
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5841067
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
49a8d05c
|
2024-09-05T17:41:07
|
|
Tests: Add end2end test .so library to AOSP build
m[mm] external/angle:libangle_end2end_tests__library
produces libangle_end2end_tests__library.so
I tested that integration with Chromium wrappers works with some manual
patches; no integration is included in this CL.
googlest/gtest dependencies replaced with platform libgtest, libgmock
TestSuite heavily depends on rapidjson so it is currently excluded, only
the standard gtest implementation is included
(--gtest_list_tests, --gtest_filter, --gtest_output etc)
This also disables support for expectation files as it is piped through
TestSuite instance.
Bug: b/279980674
Change-Id: I35cb2328d74a3ac778e1d93bb4fe4ac044920b6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5838526
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
61c26fd6
|
2024-08-29T10:11:00
|
|
Tests: Add Passmark benchmark Unity trace
Add trace of the 'OpenGL ES using Unity ' benchmark case of
the Passmark performance test suite.
Test: angle_trace_tests --gtest_filter=*passmark_unity*
Bug: b/362801313
Change-Id: I15a57fefdb4959e60196646aa5053b6fa5960bcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825785
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0a04cb90
|
2024-09-04T11:30:36
|
|
Translator: Limit shader size check to WebGL and Chromium shaders
This is because std430 is not taken into account in the check. That can
be fixed with
https://chromium-review.googlesource.com/c/angle/angle/+/5835580 if ever
necessary.
Bug: angleproject:361369308
Change-Id: Id5eacc9bab6d959c8f9f8d09ebd87504dcfa25af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836785
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
59eff366
|
2024-05-03T11:33:25
|
|
CL/Vulkan: Enable global offset support
There is a "--global-offset" clspv flag that
enables OpenCL global offsets. This feature
is disabled by default otherwise.
Bug: angleproject:364396921
Change-Id: I89179228d2ff9e0b6750d9d0d062261dfaddec6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5834663
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
621bba6c
|
2024-09-04T09:58:09
|
|
Vulkan: Fix device entry points loaded as instance
Bug: angleproject:359420106
Change-Id: I970ac7b924013a3c8ea5dd73f90bbe1649969753
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836783
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
d1a4b0ff
|
2019-05-04T17:15:42
|
|
Remove Feature Level 9_3 code
Feature Level 9_3 was originally added for developers creating apps
for devices which did not have the DirectX 9 API and are no longer
supported. Hence, we can remove the corresponding code in the 11
backend.
Bug: angleproject:355462523
Change-Id: I22db15640b435c61db4d82a815edbc65cecc4e12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824661
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
e13cc7df
|
2024-08-30T00:00:00
|
|
Metal: Add shadow sampler overloads for textureProj[Offset]
Added compile guards because sample_compare with
bias is not defined for older MSL versions.
Fixed: angleproject:354101888
Change-Id: I3972fabc9ebe7b7475343438272e57dcfed007f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828944
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
177d15b3
|
2024-08-23T19:34:34
|
|
Vulkan: Simplify WindowSurfaceVk::prepareSwap() method
In case of swapchain recreate inside `prepareSwap()`, perform unlocked
ANI call as usual. ANI processing will be done late in `swap()` or
`getBufferAge()`. This is possible, because surface `getWidth/Height()`
is no longer require valid `mColorRenderTarget`.
Because of the above, `swapchainRecreatedOut` parameter was removed.
Additionally, `getBufferAge()` now uses
`doDeferredAcquireNextImageWithUsableSwapchain()` in order to process
possible VK_ERROR_OUT_OF_DATE_KHR error and recreate the swapchain,
instead of failing.
Test: angle_end2end_tests --gtest-filter=EGLSingleBufferTest.AcquireImageFromSwapImpl*
Bug: angleproject:6851
Bug: angleproject:8133
Change-Id: Ieb375781da2b1108d0a5e11dbb012885a946688e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806335
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
edc6d2fc
|
2024-09-02T19:02:11
|
|
Metal: Fix watchOS supports32BitFloatFiltering use
Avoid using supports32BitFloatFiltering on watchOS, turns out it is
not available.
Bug: angleproject:360147119
Change-Id: I9ac7101b72d05e06807ba2d18e0fabe7579f62a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5830352
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8b8b3d4d
|
2024-09-02T21:04:11
|
|
Metal: Flush with NoWait on iOS when hitting renderpass count limits
Avoid deviating between iOS and macOS in this regard. The behavior
should be the same for the caller as well as the implementation.
Bug: chromium:1466696
Bug: angleproject:363984104
Change-Id: I39160bcc0a54ea9c767e1109d80cb4d71ecdf207
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5830799
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e5532e6c
|
2024-09-02T20:55:58
|
|
Metal: Avoid using Display::prepareForCall
The call can be disabled if CGL and EAGL are not in use.
Bug: angleproject:363916154
Change-Id: I4aafddec37daae4470316e2ea70a48e4489573b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5830798
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
377f7b68
|
2024-08-30T11:59:41
|
|
Vulkan: Remove redundant needs-flush check in glClientWaitSync
`SyncHelper::prepareForClientWait` calls `SyncHelper::getStatus`, which
already causes pending flushes in the share context to be performed.
The second call in `SyncHelper::prepareForClientWait` was redundant and
a no-op.
Bug: b/362604439
Change-Id: I125e3e5773d29976fe916c3e2f78733f12c72ed0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823558
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
636d838e
|
2024-08-27T16:30:04
|
|
Vulkan: Decouple Window Surface width/height from color RT
`mColorRenderTarget` is invalidated in `releaseSwapchainImages()`
method, when swapchain is recreated. It remains invalid until ANI
result is processed in the `postProcessUnlockedTryAcquire()` method.
In case if swapchain recreate and processing of the results are done
in different API calls (prepareSwap and swap), other thread way query
invalid render target size using `eglQuerySurface()` API. Currently
this should not be possible, but may change in the future.
Another way to have invalid render target, is if ANI fails after
swapchain recreate.
To avoid above problems, surface size is cached after swapchain is
recreated. Implementation is moved to the `SurfaceVk` base class.
The `WindowSurfaceVk::getRotatedWidth/Height()` methods were unused.
`mColorRenderTarget` is now only acessed after ANI result is processed.
Bug: angleproject:1319
Change-Id: Ibc007f1e8d30b6281be93c4561e05dd2f14f44d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816834
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|