|
fb6b960c
|
2023-11-27T14:24:28
|
|
Remove GL_CHROMIUM_texture_filtering_hint
This was using an unregistered Vulkan extension to set the precision of
SwiftShader's internal filtering for the sake of Chrome. That's baked
in at build instead.
Bug: angleproject:8349
Bug: chromium:726075
Change-Id: I12849d2d29d99626f22a92ee9d74366f78658476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063344
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
90767546
|
2023-12-01T12:27:15
|
|
Vulkan: Add test for __samplerExternal2DY2YEXT then swizzle
Added a correctness test
SourceYUVTextureTargetExternalRGBSampleYUVSampleWithSwizzle for applying
swizzle after sampler.
Also removed some bug workaround for VVL and drivers since they are
fixed now.
Bug: b/309480316
Change-Id: If82b2251745a96335b535c67b6e0c0847268b25b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5080497
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
554d761a
|
2023-12-01T15:14:22
|
|
Tests: Add AFK Arena trace
Test: angle_trace_tests --gtest_filter="*afk_arena*"
Bug: b/314365671
Change-Id: Id0213199b0e75919701be8ec9e216a224a6725d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078682
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
caa5e4ea
|
2023-11-30T14:12:42
|
|
Translator: Fail compilation if too many struct fields
If there are too many struct fields, SPIR-V cannot be produced (as it
has a hard limit of 16383 fields). The Nvidia GL driver has also been
observed to fail when there are too many fields.
Bug: chromium:1505009
Change-Id: If9b01716c1cab35a6e537da64421e29fe0eda91e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5074629
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
25f448f4
|
2023-12-01T12:33:27
|
|
Tests: Add Walking Dead Survivors trace
Test: angle_trace_tests --gtest_filter=TraceTest.walking_dead_survivors
Bug: b/314311102
Change-Id: Icf104613b59a8de0f89fc5fa3dd6db4ad9a3dc2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5080498
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6df603ed
|
2023-11-30T13:53:00
|
|
Translator: Optimize field-name-collision check
As each field of the struct was encountered, its name was linearly
checked against previously added fields. That's O(n^2).
The name collision check is now moved to when the struct is completely
defined, and is done with an unordered_map.
Bug: chromium:1505009
Change-Id: If28d738254a541450912eba4ed168424dad9d8be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5077407
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
75e13e68
|
2023-11-29T22:19:46
|
|
Metal should not inline non-const global initialisers
Bug: angleproject:8403
Change-Id: Iaa6126d7043931a16104ea84c5f7e737017dabc3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5076256
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Sergey Kataev <sergeyka@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab992c3e
|
2023-12-01T11:51:13
|
|
Clarify which link failed in link program perf test
Bug: angleproject:8417
Change-Id: I5445518fdf6dcc2533ea055588221d6e45c45d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5077412
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b46cf698
|
2023-11-30T11:00:18
|
|
Vulkan: Fix Android deadlock with querying buffer age
Similar to eglSwapBuffers, eglQuerySurface with EGL_BUFFER_AGE_EXT can
cause a call to vkAcquireNextImageKHR.
Bug: angleproject:6851
Bug: b/313975825
Change-Id: If3f0521219cab9aba2aeb2b70958bf0f197bc96a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5077406
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
edcfab40
|
2023-11-23T00:00:00
|
|
Metal: Implement textureCubeGrad transformation for AGX
Wrapped all affected built-in function calls
with helpers that transform derivative values.
Fixed all *.texturegrad.* dEQP failures on Apple silicon.
Fixed: angleproject:7021
Fixed: angleproject:8433
Change-Id: I16b023840ad267ab72d31fde3cb0fa7048e5310c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5071254
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
eef89870
|
2023-12-01T09:47:40
|
|
Trace tests: skip mini_world on win intel native
Flaking
Bug: angleproject:8440
Change-Id: Iff415531d4820937ef5e42c8fcba05c305494c38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078288
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3fe678c9
|
2023-11-30T12:15:57
|
|
Avoid malloc in VertexArrayVk::mergeClientAttribsRange
Replace temporary std::vector with angle::FixedVector
Bug: b/300968773
Change-Id: I002233afc99c0eb03a5ad11ab7a5bfd85626b3a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5074625
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3680a5dc
|
2023-11-17T13:51:07
|
|
Vulkan: Let program warmup continue passed link
The warmup task does not actually affect the link results, so there is
no reason to wait for it when the application queries the link status.
This change allows the warm up task to continue in parallel until the
program is used at draw time. This allows the warm up to be more
efficient when the link itself is not parallelized.
For applications that create programs in the middle of every frame, it's
still likely best to disable warm up (as the following immediate draw
will already effectively do the warm up).
Note that currently the warm up code in the Vulkan backend is not
completely thread-safe, and so the program still blocks on that task
before the first draw can happen (or the program is modified in any
way).
Bug: angleproject:8417
Change-Id: I0877fef39a0585c3279e32699ce817d4643d7cd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5037538
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d842f3db
|
2023-11-29T06:53:58
|
|
Vulkan: add a disableSeparateShaderObjects feature
Dota Underlords uses one PPO and keeps swapping the attached program.
Though we get cache hit, the hundreds pipeline creation calls still
amount to non-trivial CPU overhead via ANGLE. The use of SSO has been
disabled by the app in certain cases, and this feature is added to
support entirely disabling SSO in ANGLE on all Vulkan backend impls.
Bug: b/309028728
Test: Dota Underlords easily hits target FPS on ANV and RADV
Change-Id: I54532975237218563b8750f1878a83e386fe776d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073414
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6f4f5e39
|
2023-11-18T22:15:49
|
|
Fix checking result of link sub tasks
Bug: angleproject:8297
Change-Id: I143a26be6e7340a4a2d2b917bbe4dd9dd474f7af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5042346
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b746dc3b
|
2023-11-29T17:40:53
|
|
Vulkan: Fix assertion when texture's min/mag filter disagree
Camera CTS test testCameraGpuEncoderPath[1] is hitting assertion due to
minFilter is NEAREST but magFilter is LINEAR. This CL use sampler's
filter if min/mag agrees. Otherwise it uses default YCbCr chroma filter.
The min/mag filter will still apply separately if
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
is set. If this bit is not set, we will force all of three filter to be
the same anyway.
Bug: b/302196568
Bug: b/308208067
Change-Id: I19007a107cfcea0f839cb66c236a70c003c43653
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5074826
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
820e0d7a
|
2023-11-29T13:39:27
|
|
Compute the shader hash without copying objects.
The shader hash was calculated by generating a large string and then
sha1 hashing the string. sha1 can be generated with a fixed memory cost
using the angle::base::SecureHashAlgorithm class.
Bug: angleproject:8434
Change-Id: I816e2c3bbc7283cd5424621b4cc8f6dab0407aa4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073293
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a6336ed
|
2023-11-29T13:35:57
|
|
Don't construct a compiler instance on shader cache hits.
We can avoid constructing a shader compiler instance and then
destroying it when we get shader cache hits. The resources and output
type are available from the root gl::Compiler object.
Bug: angleproject:8434
Change-Id: I2de43db34dc1b86265aa648b1275e32814487ff4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073292
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
058a2fd6
|
2023-11-28T17:38:28
|
|
Clear active queries before Begin
Bug: angleproject:8415
Change-Id: I97dfd904d65933a66f25cd168c50fe150ef9c765
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5068525
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sergey Kataev <sergeyka@chromium.org>
|
|
f7eb7efb
|
2023-11-28T11:20:57
|
|
Vulkan: Fix camera panorama hang
When EGL attributes does not speficy color space, right now we pick
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR. This overwrites the color space
people set via ANativeWindow. This causes camera goes into CSC
conversion and errors out and stops media codec pipeline and causes
camera to hang. This CL enables mapUnspecifiedColorSpaceToPassThrough
feature flag for all platform that supports VK_EXT_swapchain_colorspace
so that it will pick VK_COLOR_SPACE_PASS_THROUGH_EXT and vulkan
swapchain code will try to keep whatever color space surface already
has. The feature flag is still kept here in case there is regression and
we need to experiment this feature flag again. We can remove it once
everything settles down.
This CL also adds updateColorSpace() and getActualFormatID() to
de-duplicate the logic of R8G8B8_UNORM overriding and use of
VK_COLOR_SPACE_PASS_THROUGH_EXT.
Bug: b/309480316
Bug: b/302196568
Change-Id: I0952fe78c2bfd59446391c553745b2b5cb152a9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5066801
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
05e9ec11
|
2023-11-23T00:00:00
|
|
Metal: Saturate floating-point depth textures on upload
Metal does not clamp uploaded floating-point
depth texture values to the normalized range.
Used a compute shader to enforce
the expected OpenGL ES semantics.
Fixed the following tests on Intel and Apple GPUs:
dEQP-GLES3.functional.texture.specification
.teximage2d_depth.depth_component32f
.teximage2d_depth.depth32f_stencil8
.teximage2d_depth_pbo.depth_component32f
.teximage2d_depth_pbo.depth32f_stencil8
.teximage3d_depth.depth_component32f_2d_array
.teximage3d_depth.depth32f_stencil8_2d_array
.teximage3d_depth_pbo.depth_component32f_2d_array
.teximage3d_depth_pbo.depth32f_stencil8_2d_array
.texsubimage2d_depth.depth_component32f
.texsubimage2d_depth.depth32f_stencil8
.texsubimage3d_depth.depth_component32f_2d_array
.texsubimage3d_depth.depth32f_stencil8_2d_array
Fixed: angleproject:8422
Fixed: angleproject:8426
Change-Id: I843024f098fef2fbca15e7b6124052681d05b6ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5062710
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
d696b40f
|
2023-11-23T00:00:00
|
|
Metal: Use precise tanh for highp result types
When fast math is enabled, default tanh does not pass
dEQP precision tests. Explicitly request precise tanh
when the result type has high precision.
Bug: angleproject:8287
Change-Id: I07c8c2638b5f0a51feacbeadb78382152a95b03c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5057298
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
989b1143
|
2023-11-28T14:06:06
|
|
Trace perf: logcat output captured line-buffered
I've seen warmup detection getting stuck intermittently not seeing the
log line despite the line being there. Hopefully this fixes.
Bug: b/291604008
Change-Id: I10da772c485f7b1badd34efc00c20fc6d55139cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5067855
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
ee4b7a27
|
2023-11-03T09:06:50
|
|
Add --memory to restricted_trace_perf.py
Detailed analysis of our power results showed that even
checking memory can impact power.
This CL makes memory measurement optional (like power) to
enhance power measurements.
Test: restricted_trace_perf.py --memory --power
Bug: b/292249127
Change-Id: I69b34d378ca923de42af59fc1b532a1d766b4391
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5066797
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
068a0ee8
|
2023-11-28T08:43:45
|
|
Tests: Add Retro Bowl trace
Test: angle_trace_tests --gtest_filter=TraceTest.retro_bowl
Bug: b/313610392
Change-Id: Iec30c95fd46a75c6995d968dfac5652a89209bc3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5066795
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
333e3a9c
|
2023-11-28T12:12:44
|
|
Re-add VUID-vkDestroySemaphore-semaphore-01137 temporarily
To unbreak ANGLE-> Chromium swangle..
https://crrev.com/c/5066784
Bug: angleproject:7729
Change-Id: Ic7aaa10540cb9c6581872c9709b2d329eae4b8f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5067854
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
233b6675
|
2023-11-28T12:48:17
|
|
Roll vulkan-deps from e892a337898c to 47125179fa7d (24 revisions)
VVL renamed
VUID-vkDestroySemaphore-semaphore-01137
->
VUID-vkDestroySemaphore-semaphore-05149
https://chromium.googlesource.com/vulkan-deps.git/+log/e892a337898c..47125179fa7d
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/153064f2c7..b820431a2c
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/42299f92ef..50e90dd74e
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2a238ed24d..7d2a618bf9
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/7d92fe7b68..9d27c893cd
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/0e7cf57a29..b00cb455c4
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/9ef6c05af3..98d168c168
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/228f7487dd..1fb77ad1d4
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/4d7cdcc223..e00625d685
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,romanl@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:7729
Tbr: romanl@google.com
Change-Id: I8268b3532b78aa4362e632ae68f335b6808966e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5066853
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
716c5d00
|
2023-11-13T10:23:10
|
|
Vulkan: Add RGB8-to-RGBA8 ubyte loading function
Currently, to update RGB8 on desktop, ANGLE uses memcpy for each
pixel, which is suboptimal. This CL adds a loading function to improve
the copy time for RGB textures where RGBA is needed on the hardware.
* Added a specialization to LoadToNative3To4() for unsigned bytes
using 0xFF as the fourth component.
* It is optimized for unsigned bytes when converting an RGB format
to its corresponding RGBA format, e.g., RGB8 to RGBA8.
* It uses uint32_t operations to speed up the process.
* Added unit tests for the specialized LoadToNative3To4.
* LoadToNative_unittest.cpp
* Added perf test for RGB8 image allocation and loading.
* RGBImageAllocationBenchmark in RGBImageAllocation.cpp.
* RGBImageAllocationBenchmark shows some improvement in cpu_time
and wall_time on a Linux and a Windows device. (Results below using
aligned source pointer and texture size of 2048):
* On Windows: +~85% cpu_time, +~71% wall_time
* On Linux: +~26% cpu_time, +~27% wall_time
Bug: b/308177124
Change-Id: I421d83f75fdc513b0111dffb0a5d5e74682dd6fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995489
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1ff6a6f2
|
2023-11-27T13:08:29
|
|
Pass the attribute map to egl::Sync::initialize.
The attribute map was typically passed to the impl objects in the
constructors. Instead, pass it to the initialize function. This removes
the need for many member variables in different backends and opens up
the future optimization of re-using sync objects by calling
initialize on them with new attributes.
Bug: angleproject:8430
Change-Id: If69970462cfed39d9a205034adb5ddd937c5ea31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063335
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
99b077b7
|
2023-11-26T08:24:18
|
|
Vulkan: fix data clobbering with AllocateNonZeroMemory
The offset of the suballocation was not being used when initializing
memory, so it was possible to overwrite the start of an existing buffer
with garbage.
Bug: angleproject:8427
Change-Id: I8205068a173dc4342894c6c49ee5fa9c4a8a255a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5060776
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
3e617615
|
2023-11-23T00:00:00
|
|
Metal: Update depth texture dEQP expectations
Bug: angleproject:5243
Bug: angleproject:8425
Bug: angleproject:8426
Change-Id: I62fe901e50cd76b483ba415ad01707129c4ff857
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5054336
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b7a31b7f
|
2023-11-27T00:00:00
|
|
dEQP: Treat signed integer overflow as two's complement
Bug: b/307584642
Fixed: angleproject:8429
Change-Id: Ib3cdd1835d4c669a79a4553b24da676eb41e21b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5062708
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1bdb4038
|
2023-11-23T16:37:37
|
|
[riscv] Add riscv support
Bug: angleproject:8423
Change-Id: Id1d9b06ff18985cb66a865477c30fdac8791e9de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5057086
Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
aa3bebf9
|
2023-11-18T22:15:11
|
|
GL: Fix parallel link query of in-progress link
Bug: angleproject:8297
Change-Id: Iab2f12467a2c567c945742435939057a40642951
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5042345
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c8f707f8
|
2023-11-16T00:00:00
|
|
Metal: Simplify MSL sRGB conversions
* Used metal::powr instead of metal::pow
because the arguments are non-negative.
* Reduced nesting.
Bug: angleproject:8366
Change-Id: Ibc50880060c12217b4ee8452c662d346a1cb273a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5040993
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
|
|
fba482b7
|
2023-11-22T12:01:31
|
|
Fix off-by-one bounds check on uniform location.
Log an error when the user provides an invalid uniform location.
Bug: chromium:1504162
Bug: chromium:1484878
Change-Id: Ieb7eb964d508954ac8dfa8e4d9bd941778185223
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5054238
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: James Godfrey-Kittle <jamesgk@google.com>
|
|
1169f6b4
|
2023-11-18T21:03:54
|
|
Add bad app behavior to parallel link perf test
A large majority of apps hinder parallelism by immediately querying the
link status after glLinkProgram. The parallel link perf test is now
exercising this behavior as well.
Additionally, since the Vulkan backend's default is to disable parallel
link, the perf test is also enhanced to include this case.
A follow up change will improve the performance of both these scenarios
with the Vulkan backend.
Bug: angleproject:8417
Change-Id: I39b9d5703a17d051d20d35fd4cede2b415e770a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5042344
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
98d79260
|
2023-11-09T10:15:11
|
|
Metal: use release-consume order for queue's serials.
Currently mtl::CommandQueue's mCommittedBufferSerial,
mCompletedBufferSerial use relaxed memory order for load & store.
They should use consume & release memory order respectively instead.
Bug: angleproject:8406
Change-Id: I871259f1a6cca0e63d6c24b7592e7b80fd443dff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5015524
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
170ba8c9
|
2023-11-16T19:45:35
|
|
Vulkan: Workaround depth bias constant factor on RADV
Both ANV and RADV need the same workaround. Improve IsRADV to support
Venus-over-RADV.
Also "git cl format" to make presubmit happy.
Bug: b/308835020
Test: dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units
Change-Id: Ibbad4d09f12df419e38aff1365d37d55ca326532
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5040097
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Chia-I Wu <olv@google.com>
|
|
8ae36a93
|
2023-11-14T10:11:51
|
|
Vulkan: Bugfix in isFastUnpackPossible
Disallow fast unpack when there is a mismatch between the
actual texture format and intended buffer (PBO or client buffer)
format.
Bug: angleproject:3777
Test: Texture2DTestES3.UnpackCompatibleFormatButDifferentType*
Change-Id: I9ea9d9cdd5e1391acebb3d75d69437e27cfa90df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5029504
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
3944ffce
|
2023-11-13T18:32:13
|
|
Add missing validation code
The validation code for below GLES 3.2 entry points
is added:
GL_TexParameterIiv
GL_TexParameterIuiv
GL_GetTexParameterIiv
GL_GetTexParameterIuiv
GL_SamplerParameterIiv
GL_SamplerParameterIuiv
GL_GetSamplerParameterIiv
GL_GetSamplerParameterIuiv
Also add extension check in validation functions
of entry points that are exposed through these two extensions:
GL_OES_texture_border_clamp
GL_EXT_texture_border_clamp
The validation functions of GL_OES_texture_border_clamp
extension are moved to validationESEXT.cpp for readability.
Bug: b/286572199
Bug: b/224537784
Change-Id: I77ed22e8dc961a30a5d86b0597c25555d15c517b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5028139
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d4281637
|
2023-11-15T13:17:36
|
|
Add names to worker threads
Bug: angleproject:8417
Change-Id: I5841d194cb695387aa8fe48638cc025173152347
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5034797
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8923a62
|
2023-11-14T00:00:00
|
|
Clamp gl_PointSize to both bounds
Ensure that point size values smaller than
ALIASED_POINT_SIZE_RANGE[0] are clamped as
the spec requires.
Fixed: angleproject:8416
Change-Id: I3cfd2b1d3c1f34788d062ff4ca4b809ce3b5aaa9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5033198
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c5eb810b
|
2023-11-14T15:01:25
|
|
Remove angle::Result::Incomplete entirely
Bug: angleproject:8414
Change-Id: I8d607614614360b65c530e3e7647d8a7ba38b18e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5031191
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dd8432b5
|
2023-11-14T14:39:45
|
|
Remove angle::Result::Incomplete from shader/program paths
angle::Result is not an error code, and having Incomplete made it very
unclear what the purpose of this class is.
A follow up will remove it entirely.
Bug: angleproject:8414
Change-Id: Ica8271b9f7d8868671c7658161e50a53ef23c681
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5028091
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a982e241
|
2023-11-01T10:11:09
|
|
renderergl_utils: check strings from glGetString for nullptr
Return empty string instead. It is not valid to construct
std::string or perform sscanf on a nullptr.
Bug: chromium:1498447, chromium:1408916
Change-Id: Iae1f2fdb1c2dfc80597aa0a6008c50d7cda33527
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4411066
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
95bacc28
|
2023-11-09T00:00:00
|
|
Metal: Override texture wrap modes for cube maps
Always use clamp-to-edge texture wrapping for
cube maps with OpenGL ES 3.0+ client contexts.
Fixed the following tests on Apple silicon:
dEQP-GLES3.functional.texture.filtering.cube.sizes.63x63_nearest
dEQP-GLES3.functional.texture.filtering.cube.sizes.63x63_nearest_mipmap_nearest
dEQP-GLES3.functional.texture.filtering.cube.sizes.63x63_nearest_mipmap_linear
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_nearest_repeat_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_nearest_repeat_mirror
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_nearest_mirror_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_linear_clamp_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_linear_repeat_clamp
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_linear_repeat_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_linear_repeat_mirror
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_nearest_nearest_clamp_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_nearest_nearest_mirror_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_nearest_linear_clamp_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_nearest_linear_repeat_clamp
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_nearest_linear_mirror_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_linear_linear_clamp_repeat
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_linear_linear_repeat_clamp
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_mipmap_linear_linear_mirror_repeat
Fixed: angleproject:7022
Change-Id: I52079b3e8de5ab052a20dd8aee7ead626ced9188
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5030451
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
a75659eb
|
2023-11-13T16:03:26
|
|
[Cast Convergence] Remove unused GN include.
This file is being removed from Chromium. It is not needed in this
file and can be removed, which will avoid breakage when that happens.
Bug: angleproject:8413
Change-Id: Iccc4b45393bcbc268add434b16172e90d2b9d13b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5027723
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
49f8f8a0
|
2023-11-13T10:01:37
|
|
Manual roll vulkan-deps from 448a71c0790c to 855191177ccd (17 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/448a71c0790c..855191177ccd
Manual edits:
* Includes compile fixes for vulkan_command_buffer_utils
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a8d39f97cd..1dcb072cda
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fbf047cc8b..6b1e609ef1
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/8ccd414a46..af4fb97d7b
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/6342790c86..0b31098e53
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/322e7b3f08..90e25ec83a
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/5b3147a535..177e2312fa
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0eec8db60d..312716a437
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://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:8412
Tbr: cnorthrop@google.com
Change-Id: Iddbfda975afd44f100c02a399f9f80b3ba9c7d73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5023272
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7b9b95f8
|
2023-11-13T11:42:26
|
|
drop goma support from capture_replay_tests.py
https://ci.chromium.org/ui/p/angle/builders/try/win-trace/7316/overview
failed, but it seems unrelated to this CL.
Bug: angleproject:8309
Change-Id: Id4fd9cad341973c87570adbea63809b5aa84c4a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5019418
Reviewed-by: Roman Lavrov <romanl@google.com>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
4256d055
|
2023-11-09T00:00:00
|
|
Metal: Use a quad for blit with draw
Adjusted blit emulation to use a two-triangle quad
instead of an implicitly clipped triangle to avoid
interpolation artifacts on Apple silicon.
Reduced the BlitParams struct size from 48 to 32 bytes.
Disabled perspective correction as it has no effect anyway.
Fixed the following tests on Apple silicon:
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y
Fixed: angleproject:8408
Change-Id: Iba8dd1c206ff859aa3e635d72adab45608496e7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5018858
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
64eb87af
|
2021-05-12T00:02:22
|
|
Add test for VectorizeVectorScalarArithmetic bug
Bug: chromium:1201084
Change-Id: Icfb659ae5195f8dd80fecd0904cb90b77697fa70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889601
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
35f4ff2f
|
2023-11-13T09:50:08
|
|
Test suppressions
Bug: angleproject:8409
Bug: angleproject:8410
Change-Id: I9fb41292382563f7b9cc802167bf48432a46f55d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5023829
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
108bd958
|
2023-11-10T17:30:43
|
|
Tests: Add Slay the Spire trace
Test: angle_trace_tests --gtest_filter="*slay_the_spire*"
Bug: b/310281616
Change-Id: I6c94b0e3c72be1ad3cb2897981febd3f67722a20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5021241
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
90278ecf
|
2023-11-09T00:00:00
|
|
GL: Support polygon mode extensions on OpenGL ES
Expose NV_polygon_mode and ANGLE_polygon_mode
when the native OpenGL ES driver supports the
required functionality.
Bug: angleproject:1791
Bug: angleproject:8132
Change-Id: I6a273640b5ef38e79e5d11f313cb90a9c79d0485
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5023849
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ade3dacd
|
2023-11-06T21:56:41
|
|
Do compile/link unlocked if not threaded (but thread-safe)
If GL_KHR_parallel_shader_compile is not supported, or it is not used to
do threaded compilation and link, this change lets the compile and link
jobs be done after releasing the share group lock. With
multithreaded/multi-context applications, this allows the other context
(typically the main context) to make progress in the meantime.
A typical scenario where this optimization matters is games seamlessly
loading a new area of the game and performing compilation and link in a
separate context. Before this change, the game would stutter as the
compile/link jobs prevent the main thread from drawing anything. With
this change, the hitching is removed.
Bug: angleproject:8297
Change-Id: I702d84324a7442561b49677bf42c16d650304313
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5006640
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
93b97a59
|
2023-11-03T22:07:23
|
|
Make link job directly wait on compile job
Previously, program link waited on the compile job on the calling thread
before launching the link job. As a result, sequences of intermixed
compile and link would get largely serialized as such:
Main Thread Thread 1 Thread 2 Thread 3 Thread 4
Compile -------> Compile
Compile -----------|----------> Compile
Link | |
Wait | |
| | |
|<--------------/--------------/
\------------------------------------------> Link
Compile -------> Compile |
Compile -----------|----------> Compile |
Link | | |
Wait | | |
| | | |
|<--------------/--------------/ |
\---------------------------------------------|-----------> Link
Compile -------> Compile | |
Compile -----------|----------> Compile | |
Link | | | |
Wait | | | |
| | | | |
...
With this change, the main thread no longer waits for compilation to
finish. It's the link job itself that does the waiting. This allows
the main thread to go through Compile and Link commands without
blocking, generating as many jobs as needed. The above scenario
therefore becomes:
Main T1 T2 T3 T4 T5 T6 T7 T8 T9
C ----> C
C ------|----> C
L ------|------|----> L
C ------|------|-------W---> C
C ------|------|-------|-----|----> C
L ------|------|-------|-----|------|----> L
C ------|------|-------|-----|------|-------W---> C
C ------|------|-------|-----|------|-------|-----|----> C
L ------|------|-------|-----|------|-------|-----|------|----> L
. \-----\------>/ | | | | | W
. | \-----\------>/ | | |
. | | \-----\------>/
. | | |
. | | |
This greatly improves the amount of parallelism compile and link jobs
get.
The careful observer may note that the link job being blocked on the
compile job is now wasting a thread from the thread pool. While this
change is strictly an improvement, parallelism can be further improved
if the link job is just not assigned to a thread until the corresponding
compile jobs are finished. This is currently not possible, but may be
if:
- Instead of a thread pool, the operating system's FIFO scheduler is
used. Then the operating system would automatically put blocking
tasks to sleep and pick up another task. This has the downside of
requiring threads to be created for each task.
- The thread pool work scheduler is enhanced to be made aware of
relationship between tasks and avoid scheduling jobs whose
dependencies are not yet met.
Alternatively, the number of threads in the pool can be increased by 30%
and hope for the best.
Bug: angleproject:8297
Change-Id: If4e6540ade47558a10cfab55e2286f073b904928
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5006874
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
aec4ffac
|
2023-11-06T14:13:06
|
|
Add a perf test for parallel compile and link
Bug: angleproject:8297
Change-Id: I40ec3af49bd0f5effbafc82b557840c615fd4c64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008040
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a6b385f
|
2023-11-09T15:48:48
|
|
Vulkan: Fix depth/stencil texture copy
Bug: angleproject:7289
Change-Id: Icde8a26e855e95a6c0a1e506d2435e981adc6f28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5018798
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d896fab8
|
2023-11-09T15:03:05
|
|
Vulkan: Fix texture self-copy
A new layout is introduced to support self-copy.
Bug: angleproject:7289
Change-Id: Ib914c433d55b9a79cfeb7a91f8a2b8680824d473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5018797
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
e56cde03
|
2023-11-06T11:50:38
|
|
GL: Reset mLocalDirtyCurrentValues after syncronizing
StateManagerGL::setAttributeCurrentData sets the bits in
mLocalDirtyCurrentValues, leaving them set after syncState. All current
values would be re-synchronized every time any the
DIRTY_BIT_CURRENT_VALUES bit was set.
Bug: chromium:1496378
Change-Id: I93b78c8f2d576f5583ac629660f189c268a154d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008036
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4c500944
|
2023-11-08T16:16:23
|
|
Translator: Mark most builtins as not having side effect
This helps the translator eliminate stray uses of these builtins.
Bug: angleproject:6061
Change-Id: Ic0e72bddad5730fb1f906a4c8e53191ab3318d29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5012988
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6eeb11bd
|
2023-11-08T15:54:13
|
|
Translator: Unmark dFdx, dFdx and fwidth as having side effect
These were marked as having a side effect in
https://chromium-review.googlesource.com/c/angle/angle/+/924155, but
it's unknown why. This change separately unmarks them as having a side
effect, so if they are there to prevent a driver bug or such things, it
can be isolated to this change.
Bug: angleproject:6061
Change-Id: I8694ffdbb0142d330c8e2d73562f8004158023b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5012986
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aea43399
|
2022-08-29T10:44:41
|
|
Mark texture2D() functions as not having side effects.
This should allow the shader translator to remove unused variables
and cut out sampling instructions in apps like T-Rex.
Bug: angleproject:6061
Change-Id: If543c9c737cdbcfdea1433876cd425e7335e5297
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3862383
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2155534b
|
2023-11-06T11:49:20
|
|
Don't set dirty bits for attribs that are out of range.
PrivateState::setAllDirtyBits sets all bits in mDirtyCurrentValues.
When the context has fewer max attibutes than MAX_VERTEX_ATTRIBS, this
can cause out-of-bounds access to
PrivateState::mVertexAttribCurrentValues if the dirty bits are iterated
over without range validation.
Bug: chromium:1496378
Change-Id: I65481c432263a6e353a9361bba741b97dc5e20b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008034
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1bb2c5ec
|
2023-11-07T15:44:41
|
|
support reclient in capture_replay_tests
This also uses autoninja to start and stop reclient automatically.
This will be used with https://crrev.com/c/4797373.
Bug: angleproject:8309
Change-Id: I2e17c87c8ff0e253f16201297ef979337bf30292
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4796170
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
|
|
cea3775c
|
2023-11-02T15:41:06
|
|
Vulkan: Suppress VU Undefined-Value-ShaderOutputNotConsumed
Bug: angleproject:8401
Change-Id: I3b561ec98090cf1c0050f113db96ea0c6c79d785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002728
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
9a7e8b7b
|
2023-11-07T17:02:02
|
|
Perf tests: log hwmon temps on linux
Syslog on a failed bot indicates possible overheating.
Log all hwmon temps which include CPU temps but also some other system
temps (disk probably not included). We might need to self-throttle if
crashes are correlated with higher temps.
Bug: b/296921272
Change-Id: I25f8dd899dd25880fc1567ecc18e102759fb868f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008089
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a494c1d6
|
2023-11-07T16:29:07
|
|
GL: Fix compilation on drivers sensitive to initial comment
Prior to
https://chromium-review.googlesource.com/c/angle/angle/+/4994655, debug
info was **prepended** to the translated source in the form of a comment
after the compilation was done. In that change, this was done after
translation and before the translated source was handed to the backend
compiler.
Some GL drivers however failed to compile the shader after this change
because the #version line was no longer the first one in the shader.
This is fixed by **appending** the debug info instead.
Bug: angleproject:8297
Change-Id: I88b31fa128de304dc8bf32289bf20a29169883a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5007223
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
12cc04d0
|
2023-11-07T10:26:18
|
|
Vulkan: Workaround camera AHB's layerCount being random value
We are seeing AHB used by google's camera app has random value in the
layerCount. In my reproduced case, it is 0, which translates to
layerCount in the VkImage. Sometimes I am also seeing a huge number in
the layerCount as well. This causes problem in ARM driver that end up
with assertion and other problems that end up with crash later. We need
to root cause the underlying bug which is tracked by b/239181279. But
before we have an actual fix in AHB creation code, this CL forces
com.google.android.GoogleCamera AHB's layerCount to be 1 as a temporary
app specific bug workaround so that we can move forward to get camera
app up running with ANGLE.
Bug: b/309480316
Bug: b/239181279
Change-Id: I219f6f89863a2cb8dee6c5efb0812389272373ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5010082
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
383df961
|
2023-11-06T22:00:52
|
|
Metal: only convert vertex if offset is not multiple of 4.
Previously we always convert vertex attribute if its binding offset
is not multiple of the attribute's size. This requirement seems to be
unnecessary.
This CL removes that requirement so the only requirement left for offset
is that it must be multiple of 4.
Bug: chromium:1496807
Change-Id: I35c421951c7817b77bd0c006ed4b72cd04b5a8d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5006359
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
7b62e4f5
|
2023-11-06T00:00:00
|
|
D3D11: Avoid GLenum conversions in GetBlendStateKey
Bug: b/300968773
Change-Id: Ia41f77e686e0f1afc91381e29334f73859868129
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5009815
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0584ffd8
|
2023-11-06T16:34:13
|
|
Unsuppress VUID-VkGraphicsPipelineCreateInfo-pStages-00739
Possibly was due to a VVL bug
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/6717
Bug: b/303219657
Change-Id: Ic9a6e7b45fb42572af04f94382906cd6f0f512df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008042
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c114fc26
|
2023-08-28T15:40:26
|
|
Reland: Verify shader link correctness after looking up in program cache
Since the program cache takes shader sources into account, if the cache
is hit the shaders should have been correct for link.
Bug: angleproject:8297
Change-Id: Iccadc63a976689d7fa06d0a5ccfe81a594c424e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5003236
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5a71be90
|
2023-11-03T15:07:06
|
|
D3D: Make non-constant loop indexing limitation a feature flag
... instead of exposing it as a front-end limitation only to set a
shader flag in the front-end.
Bug: angleproject:1130
Change-Id: Idbd9a1b7b79d231bd9fc1c0061c768df4aaab92d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5004847
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2a433353
|
2023-11-02T14:29:19
|
|
Skip unnecessary default blend equation validation
Skip the bitset loop when all equations are the default 0
Together with crrev.com/c/5008031,
2~2.5% improvement in overall instruction count (cpu cycles also
improved but a bit less) in driver_overhead_2, which doesn't set
equations. If not skipped, to/from GLenum conversion added ~1%
(the trace has ~10k glDraw calls per frame so this is a hot path)
(tested on Android with angle_enable_share_context_lock=false)
Bug: b/300968773
Change-Id: Ic03ab36f071e36cecc78f4c107e3e82a08390e11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002007
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
e7ce481f
|
2023-11-01T22:44:22
|
|
Consolidate parallel compilation in front-end
This cleans up the multiple compilation task implementations in the
backends and consolidates them in the front-end. The front-end is then
able to do the compilation in an unlocked tail call instead if
desired (in a future change).
This change is in preparation for having the program link tasks directly
wait on the shader compilation tasks. As a result, the "shader resolve"
should not be needed to access the shader compilation results; it should
be enough to wait for the compilation job. This change therefore moves
post-processing of results to the compilation job itself as they did not
need to actually be done after compilation is done (merely after
translation is done). As a side effect, shader substition and other
debug features should now work for the GL backend as they are now done
before back-end compilation.
Bug: angleproject:8297
Change-Id: Ib9274b1149fadca7545956a864d6635b6cba5c3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4994655
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
32f209b8
|
2023-11-03T09:57:00
|
|
Vulkan: Fix __samplerExternal2DY2YEXTtnd combined with swizzle
Pixel camera app is hitting assertion due to swizzle applied to swizzle.
This CL adds ReswizzleYUVOpsTraverser::visitSwizzle() method and detects
there is a swizzle on YUV sampler and apply YUV swizzle first and then
original swizzle and then fold two swizzle into one.
This CL added a test to reproduce the bug.
This CL also makes ShCompileOptions in ShaderExtensionTest class a class
member instead of local variable so that subclass can modify for testing
or debugging purpose.
Bug: b/309480316
Change-Id: I72353fbad8dcacd77ca17a9f44e84485f4656a34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5001614
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8b4901d0
|
2023-11-06T10:43:14
|
|
Avoid GLenum conversion in BlendStateExt blend and equation
The following functions now return value as is without ToGLenum
conversion (that is often unnecessary):
getEquationColorIndexed
getEquationAlphaIndexed
getSrcColorIndexed
getDstColorIndexed
getSrcAlphaIndexed
getDstAlphaIndexed
(at least) getEquationColorIndexed is on the hot path with noticeable
performance impact; this CL also moves the implementation to the
header to allow inlining.
Bug: b/300968773
Change-Id: Ie223abe14b12afd7844686863ee5806945d10e45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008031
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
ad4617f5
|
2023-11-03T22:46:41
|
|
Metal: Fix cross-compile build
When cross-compiling for mac, prebuilt shaders are disabled as the
Chromium Mac SDK does not include the necessary files.
Bug: chromium:1385510
Change-Id: Ie13903681ece68e10f3b9fda42fcc6a8324d563e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5001921
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
34e5620b
|
2023-11-01T17:52:34
|
|
Metal: Reuse UBO conversion buffer only if size matches
BufferMtl::getUniformConversionBuffer will recycle an existing buffer if
the request has the same buffer index and offset that is a multiple of
existing block size. This disregards the GL std size of the request
leading to incorrect allocation of blocks in the conversion buffer. The
fix is to create a new conversion buffer when stdSize !=
buffer.uniformBufferBlockSize.
Bug: angleproject:8393
Change-Id: Ife87309e66f65baa7f636b734a5586d0ae3b9768
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995450
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
|
|
ae3af8ee
|
2023-11-03T16:20:12
|
|
Manual roll VK-GL-CTS from 7d738783bf28 to b127977ddad4 (29 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7d738783bf28..b127977ddad4
2023-11-03 gleese@broadcom.com Simplifications for float_controls tests
2023-11-03 javed@igalia.com Add tests for verifying VK_FORMAT_UNDEFINED
as input format.
2023-11-03 rgarcia@igalia.com Remove ESO tests which do not actually use
ESO
2023-11-03 rgarcia@igalia.com Add missing mandatory features #ifdef
2023-11-03 tzlatinski@nvidia.com Fix the verification of multi-layered
decode images
2023-11-03 gleese@broadcom.com Remove unused code from integer function
tests
2023-11-03 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7
into vk-gl-cts/main
2023-10-30 lorenzo@khronosgroup.org Update external dependencies to the
latest version
2023-10-27 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_EXT_nested_command_buffer'
2023-10-27 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9
into vk-gl-cts/main
2023-10-27 rgarcia@igalia.com Fix warning when building deqp-vksc
2023-10-26 gleese@broadcom.com Fix offsets in float controls tests
2023-10-26 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7
into vk-gl-cts/main
2023-10-20 Tyler.Schneider@amd.com Ray Query multiple queries tests
cases: dEQP-VK.ray_query.multiple_ray_queries.*
2023-10-20 rgarcia@igalia.com Test multiple geometry query stats
simultaneously
2023-10-20 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7
into vk-gl-cts/main
2023-10-20 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7
into vk-gl-cts/main
2023-10-19 mateusz.bahyrycz@mobica.com Tests for depth stencil buffer
resolve
2023-10-19 gleese@broadcom.com Add coverage of compute workgroup sizing
2023-10-19 gleese@broadcom.com Simplifying changes to spirv_assembly
test structure
2023-10-19 rgarcia@igalia.com Remove redundant ESO and feedback loop
layout tests
2023-10-19 mateusz.bahyrycz@mobica.com Tests for sparse resources on
transfer queue
2023-10-19 amber@igalia.com Add tests for inherithed framebuffers with
VK_EXT_depth_bias_control.
2023-10-19 cturner@igalia.com Remove the custom device code in the
copies and blitting tests
2023-10-19 piotr.byszewski@mobica.com Improve compile times of some
generated glsl tests
2023-10-19 gleese@broadcom.com Simplify BorderSwizzle TestNode
2023-10-18 ziga@lunarg.com Fix duplicated files in cmakelists.txt
2023-10-18 cturner@igalia.com Fix an unused variable warning in release
mode
2023-10-16 lorenzo@khronosgroup.org Merge "Merge branch
'dev/VK_ANDROID_external_format_resolve'" into main
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://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:8402
Change-Id: I99ac9c068080abf59f31e0f391da85cc0eb130b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002011
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
146a01ea
|
2023-11-03T15:49:30
|
|
Vulkan: Do not pad pipelineCacheData with zeroes
Instead of padding, reduce buffer size to the one returned from
`pipelineCacheData`.
Padding `pipelineCacheData` with zeroes in cases when
`vkGetPipelineCacheData()` returns less data then requested, may
invalidate the entire buffer. Next time padded buffer is used in
`vkCreatePipelineCache()` call, it may be rejected as invalid.
I have checked the above by deliberately increasing `pipelineCacheSize`
by 42 before `vkGetPipelineCacheData()`. After zeroing these 42 bytes,
I passed padded buffer to the `vkCreatePipelineCache()`. Result was
successful, however resulting cache size was always 52 bytes instead
of the expected `pipelineCacheSize`.
Bug: angleproject:2516
Change-Id: Ia1668ca96fc54e9b818ba0c8441e27c9dc2aedc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002451
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
f441e3ee
|
2023-11-01T15:22:55
|
|
Metal: Fix missing mix(float,float,bool) overload
ANGLE has an ANGLE_mix_bool overload when the last parameter is a bool
but it is not needed when the other parameters are scalar.
Bug: chromium:1493243
Change-Id: I6ea904ed63055b49cf3eaded475eafa607ca5976
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995278
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
bfc764c5
|
2023-11-03T03:16:40
|
|
Metal: Optimize vertex conversion using compute shader.
When converting vertex data with compute shader,
getComputeCommandEncoderWithoutEndingRenderEncoder() should be used
instead of getComputeCommandEncoder(). Because vertex data doesn't
depend on previous render commands, hence ending the current render
command encoder is unnecessary.
The only render command that could write vertex data is the one with
transform feedback (XFB). However, the XFB written data should already
be synchronized by glEndTransformFeedback() priorly if any.
Using getComputeCommandEncoderWithoutEndingRenderEncoder() ensures that
the conversion will happen in a compute pass before any draw calls in
the render pass.
Bug: chromium:1496807
Change-Id: I4613902b2ae83814e7cda712de89c7d8f285e5d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5004821
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
|
|
0a8a7c2b
|
2023-11-02T13:52:03
|
|
Vulkan: Remove rx::WaitableCompressEvent class
The `WaitableCompressEvent` class is a left over from the old code and
currently serves no purpose.
Change that made class obsolete:
Vulkan: Sync pipeline cache only when truly changed
https://chromium-review.googlesource.com/c/angle/angle/+/3668835
Removal of `WaitableCompressEventImpl` fixes problem, that
`CompressAndStorePipelineCacheTask::mCacheData` was not destroyed until
next time we assign the `mCompressEvent`. So basically, most of the
time we had `mCacheData` allocation wasting memory.
After this change, `mCacheData` will be deallocated as soon as the task
finishes. Deallocation will happen in the async thread, saving some CPU
cycles on the main thread.
Bug: angleproject:4722
Change-Id: I9e8826e10535d7f6d844a0043704bd35838a0e02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5001430
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
59f7467a
|
2023-11-01T14:53:42
|
|
Metal: Add missing ScalarMatrix ops
Translations for the following built-ins were missing:
scalar - matrix
scalar + matrix
scalar / matrix
Bug: angleproject:7525
Change-Id: I5da85781829c195906cc689ffee55cb681f0337c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995668
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9f9c35f3
|
2023-11-02T19:56:32
|
|
Metal: Don't map index buffer in drawArraysProvokingVertexImpl
We don't need to map the provoking vertex's index buffer right after
generating it on GPU. It caused GPU-CPU sync between every drawArrays
call having flat shading.
The only reason for mapping was to pass the indices data to setupDraw.
However setupDraw only needs indices data for converting vertex
attributes. Even then the converted attributes have the same order as
the original vertices. Hence the conversion sill works fine with the
original indices and there is no need for it to know about the generated
indices.
Bug: chromium:1496807
Change-Id: Ie69b3db78ead2160fd714ca04480625dded09062
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5000085
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
67222ef4
|
2023-10-20T22:56:09
|
|
Reland "Vulkan: merge client buffer data."
This is a reland of commit 563569acfcaf56ea87916d2ab5d50f09c8e0094e
Original change's description:
> Vulkan: merge client buffer data.
>
> some old fashion game still use lots of interleaved
> client buffer. instead of copy each attrib alone.
> this cl try to merge all the attrib ranges. reduce
> allocated memory and do whole range memcpy.
>
> Bug: b/306763053
> Change-Id: I493d7f0e1ef593fb7059c36ae0ed2149c4595e42
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4960642
> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: b/306763053
Change-Id: If079ab055b7b7a2d14235bee3311fd628f657f35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4997325
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
221117ab
|
2023-11-02T08:48:51
|
|
Tests: Add The Sims Mobile trace
Test: angle_trace_tests --gtest_filter=TraceTest.the_sims_mobile
Bug: b/308927628
Change-Id: I5de44b7eedb904c318168fbc7e308af218dc5ab1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002145
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4cc9e0af
|
2023-10-31T11:19:51
|
|
Capture Tests: Fix unintentional gen-on-bind usage
A handful of tests are binding handles without glGen'ing them first.
This causes mismatched handles in capture_replay_test.py now that replay
inserts additional gen calls for resources that aren't explicitly gen'd.
For handles that are intentionally gen-on-bind, clean up the GL state so
it doesn't miscompare.
Test: capture_replay_tests.py --gtest_filter=*/ES3_Vulkan_SwiftShader
Bug: b/303100333
Change-Id: I5ce8060ff62264b3d648722b3c4542a136d95db5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4994414
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
053aa915
|
2023-11-01T12:01:27
|
|
Vulkan: Disable VK_EXT_graphics_pipeline_library on RADV
Causes crashes in the driver.
Bug: chromium:1494778
Bug: chromium:1497512
Change-Id: I0a9a74d8d77c48744ce9a62d27f48120209d1476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995274
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
918028a2
|
2023-10-31T17:53:07
|
|
Update bot detection in capture_replay_tests
Since GOMA is going away, check username instead.
Bug: angleproject:6085, angleproject:8309
Change-Id: Ie4fa4ec7fad8b52450c1ef8be9e5099f30c8fc7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4994667
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9a5d75de
|
2023-10-30T11:59:19
|
|
Vulkan: Fix incompatible redefinition of cube faces
The TextureVk::mRedefinedLevels bitmask tracked which levels are
incompatibly redefined, greatly reducing the complexity of dealing with
GL's mutable textures.
It did not however take into account the fact that GL allows each
cubemap face to be separately redefined (unlike 2D arrays, where all
layers are defined together). This change turns the bitmask into an
array of bitmasks. Previously, a single bit represented whether the
level is incompatibly redefined. Now, elements of the array track the
same information for each cube face. For non-cube-map textures, only
element 0 is used.
Bug: chromium:1494664
Change-Id: I69568d3da2391796bf5f01505861fee42c6c8924
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4986289
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
46817856
|
2023-11-01T04:38:40
|
|
Revert "Vulkan: merge client buffer data."
This reverts commit 563569acfcaf56ea87916d2ab5d50f09c8e0094e.
Reason for revert: Broke Android build, see aosp/2812590
Original change's description:
> Vulkan: merge client buffer data.
>
> some old fashion game still use lots of interleaved
> client buffer. instead of copy each attrib alone.
> this cl try to merge all the attrib ranges. reduce
> allocated memory and do whole range memcpy.
>
> Bug: b/306763053
> Change-Id: I493d7f0e1ef593fb7059c36ae0ed2149c4595e42
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4960642
> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: b/306763053
Change-Id: I31ab923af16bf3f9e99033ebd6ea4c5e5b310d71
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995494
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Peiyong Lin <lpy@google.com>
Auto-Submit: Peiyong Lin <lpy@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
563569ac
|
2023-10-20T22:56:09
|
|
Vulkan: merge client buffer data.
some old fashion game still use lots of interleaved
client buffer. instead of copy each attrib alone.
this cl try to merge all the attrib ranges. reduce
allocated memory and do whole range memcpy.
Bug: b/306763053
Change-Id: I493d7f0e1ef593fb7059c36ae0ed2149c4595e42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4960642
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
c0c20673
|
2023-10-31T09:03:16
|
|
Remove expections for some AHB tests which are now fixed
Bug: b/223456677
Change-Id: Ibdc5b529e249c39c241a8e8e2b78ac10ff3d5ad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4988292
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
b6607672
|
2023-10-30T00:00:00
|
|
Test sampling from a texture with renderable levels below base
Bug: angleproject:8378
Change-Id: Id847849e1920c0d1706a4b3441c907ea2451cb6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4994791
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
36f41997
|
2023-10-30T15:14:09
|
|
D3D11: CopySubTexture: Handle sRGB source with D3D11
Use typeless formats for sRGB textures that can be reinterpreted as
linear. Add a parameter to SRV creation to request samplers that
do not do sRGB for copying sRGB textures.
Bug: angleproject:7907
Change-Id: I3d94dfa5b25a1c2c531cd9bef4247097aa4bfb61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4986290
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2ee06400
|
2023-10-31T10:57:02
|
|
Vulkan: fix dynamic buffer alignment issue.
Bug: b/306763053
Change-Id: I2f15fe2a2a36a9f55686987641e6afddb44ec9aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4994410
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|