|
594a11ac
|
2024-11-20T16:55:06
|
|
Tests: Add Need For Speed: No Limits trace
Test: angle_trace_tests --gtest_filter="*need_for_speed_no_limits"
Bug: b/380107298
Change-Id: I216574367e8e495a69c63de2ec04a6c9e3c73ff4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037637
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
770242db
|
2024-11-20T17:03:07
|
|
Translator: Remove the `gimage1D` base type
This is a desktop GL type, whose removal was left out of b16d105fc6.
Bug: angleproject:370937467
Change-Id: I0bda5453b95ddf924ba0583de346902b333603a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037776
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f0ac74a
|
2024-11-20T16:43:50
|
|
Translator: Remove SubpassInputMS
ANGLE never generates multisampled input attachments, because it cannot
know if the shader will be used with a single-sampled or multisampled
framebuffer.
The SPIR-V transformer takes care of changing the type and ops to be
multisampled if needed.
Bug: angleproject:37093746
Change-Id: Ic9c3057536c0a5d543512dbd3c347033453a29f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039437
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c4533e0a
|
2024-11-20T16:21:40
|
|
Translator: Remove the `double` base type
This is a desktop GL type, whose removal was left out of b16d105fc6.
Bug: angleproject:37093746
Change-Id: I185beef71099aafc3e350efc3dad019e2a72c0e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039436
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3515113e
|
2024-06-24T15:10:28
|
|
CL/Vulkan: Remove redundant state in CLImageVk
Much of the image state can be queried from the front-end object.
Removing all the redundant state from CLImageVk.
Bug: angleproject:378103913
Change-Id: I7783674da891d1af768375e5d8efd1937c4a4177
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004687
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
10e073a2
|
2024-06-07T11:04:02
|
|
CL/Vulkan: Capture an event for async build task
Capture an event that could be waited on for the async build events.
Bug: angleproject:378103914
Change-Id: I19fcc20a4fe034a8f0429edd56c84cf3269201ba
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6005392
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ce53aff0
|
2024-11-05T16:57:57
|
|
Vulkan: Add per descriptorSet LRU cache eviction
Before this CL, the descriptor set cache eviction is at the pool level.
Either the entire pool is deleted or not. It is also not LRU based.
This CL adds a per descriptor set cache eviction and reuse evicted
descriptorSet before allocating a new pool. This eviction is LRU based
so that it is more precise. The mCurrentFrameCount is passed into
various API so that it can make eviction decision based on the frame
number. In this CL, anything not been used in last 10 frames will be
evicted and recycled before allocate a new pool.
Since eviction is based on individual descriptor set, not by pool,
ProgramExecutableVk no longer needs to track the DescriptorSetPool
object. mDescriptorPools has been removed from ProgramExecutableVk
class.
As measured by crrev.com/c/5425496/133 This LRU linked list maintenance
does not add any measurable time difference, but reduces total
descriptorSet pool count by one third (from 75 down to 48).
running test name: "TracePerf", backend: "_vulkan", story:
"batman_telltale"
Before this CL:
cacheMissCount: 200, averageTime:23998 ns
cacheHitCount: 1075445, averageTime:626 ns
descriptorSetEvicted: 0, descriptorSetPoolCount:75
Average frame time 3.9262 ms
After this CL:
cacheMissCount: 200, averageTime:23207 ns
cacheHitCount: 1025415, averageTime:602 ns
descriptorSetEvicted: 102708, descriptorSetPoolCount:48
Average frame time 3.9074 ms
BYPASS_LARGE_CHANGE_WARNING
Bug: angleproject:372268711
Change-Id: I84daaf46f4557cbbfdb94c10c5386001105f5046
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985112
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ecfa4874
|
2024-11-20T00:41:03
|
|
Assert no GL errors at the end of image tests
Bug: angleproject:42265697
Change-Id: Iac9241d0fbe384b10fc0b0f6b2f764efca674ac3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6032805
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3b3783bc
|
2024-11-18T16:42:47
|
|
Reland "Possibly fix FixedQueue.ConcurrentPushPop flakiness"
This is a reland of commit 84b175546ec95af14b6a85def7d5b2e81ae5a88a
Reverted CL increased flakiness because of incorrect `ASSERT`
expressions present in the original code and which should have been also
corrected. The fix itself had no new issues.
This CL additionally fixes these `ASSERT` expressions.
Suspected source of flakiness in both tests is the possibility to call
`q.pop()` while `q.empty()` is true. Original fix added check for
`enqueueThreadFinished` to break from the loop.
New fix instead of checking for `enqueueThreadFinished` to break from
the loop, checks if `q.empty()` is true. This change allows processing
already pushed values even if the enqueue thread already finished. It is
applied to both tests.
Additional changes not related to fixing the flakiness:
- `std::time()` replaced with `angle::GetCurrentSystemTime()` because
`std::time_t` may be integer (Android) while `timeOut` is double. This
is confusing. For example, if set `timeOut = 0.5` - actual timeout
will still be one second.
- fix enqueue thread to actually reach the maximum capacity.
- improve dequeue thread to prevent updating to the same of greater
capacity.
- add extra `ASSERT` checks.
- make code in both tests consistent with each other.
Original change's description:
> Possibly fix FixedQueue.ConcurrentPushPop flakiness
>
> Queue may be empty when `enqueueThreadFinished` become true.
>
> This is same as the previous fix for `ConcurrentPushPopWithResize`:
> https://chromium-review.googlesource.com/c/angle/angle/+/5823039
>
> Change also removes always true expressions from the
> `ConcurrentPushPopWithResize` test.
>
> Bug: b/302739073
> Change-Id: I82ee294208d918b7007d85b2cd90e2642fc1e54f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6030517
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: b/302739073
Change-Id: I8f3840326f3fceed044fa188245772a5ff7b638d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038334
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
99aac4b9
|
2024-11-20T09:24:07
|
|
Capture/Replay: Remove implied exts from RequiredExtensions
Support for the EXT_compressed_ETC1_RGB8_sub_texture extension can
be implied from the presence of OES_cmpressed_ETC1_RGB8_texture,
so remove it from the trace's RequiredExtensions entry in its json file.
Test: angle_trace_tests --gtest_filter=*need_for_speed_no_limits*
Bug: b/380026310
Change-Id: Ia80ae4d78c1f7f7f246ce7a5cfd00bfc0e9734a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037487
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
17904b43
|
2024-11-19T16:37:43
|
|
Vulkan: Restrict EGL_ANDROID_front_buffer_auto_refresh support
Original functionality supported scenario
where `VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR` and
`VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR` modes may be
incompatible, requiring a call to `deferAcquireNextImage()` method in
order to cause swapchain recreation without swap.
The `eglSurfaceAttrib()` may be called from any thread, this means that
`deferAcquireNextImage` may be also called from any thread - which is
not thread safe.
This CL restricts exposing the extension only when
VK_EXT_swapchain_maintenance1 extension is also supported, where
present modes expected to be compatible on Android, so no need for
swapchain recreation and therefore - `deferAcquireNextImage()` call.
Not requiring to call `deferAcquireNextImage()` improves thread safety
of `WindowSurfaceVk::setAutoRefreshEnabled()` method.
There is still race condition accessing `mDesiredSwapchainPresentMode`
but it will be addressed in a separate CL.
Bug: angleproject:42265697
Bug: angleproject:379762019
Change-Id: I4631c736188eb52a5476e1a2bed3439d49cf12d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035187
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c4ec8dbb
|
2024-11-19T17:01:42
|
|
Vulkan: Expose EGL_ANDROID_front_buffer_auto_refresh
Original CL implemented the functionality without exposing the
corresponding extension.
This CL exposes the extension on Android and adds necessary validation.
Bug: angleproject:42265697
Change-Id: Ia01c68f04c41a850e531aa7b889de9e561f3a9db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035186
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
74f74b63
|
2024-11-14T10:07:34
|
|
Vulkan: Add ContextVk::onFramebufferBoundary() function
This makes a more formal API to track frame boundary. Also adds a
uint32_t mCurrentFrameCount to track the total number of frames rendered
so that we could use for heuristic purpose.
Bug: angleproject:372268711
Change-Id: I153497403ed0d8fde18f1786186ce600df60c514
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022549
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
087cc411
|
2024-11-14T11:05:14
|
|
Vulkan: Add mRenderer to ShareGroupVk class
For convenience, instead of passing renderer to shareGroupVk's API, keep
mRenderer in SharGroupVk class at constructor call.
Bug: angleproject:372268711
Change-Id: I9534f7dbe24121856221b89ccf8fc6a353bbb0cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022548
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
d2e543c7
|
2024-11-18T14:21:28
|
|
Vulkan: Consider PowerVR hardware coherent for framebuffer fetch
Bug: angleproject:377923479
Change-Id: I5a51b0d82e55c6153dfcaa240aa08456560f2c7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6032832
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d8e183ab
|
2024-11-19T13:23:35
|
|
Skip the antutu_refinery perf test on Windows/Intel
This test times out on this bot due to the excessive complexity and
memory requirements of the trace.
Bug: angleproject:379886383
Change-Id: I1ecf12429cd70f436fc83cf89a84c225d315aac6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6033296
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e961f7ab
|
2024-11-19T16:28:07
|
|
Skip KHR-GLES31.core.texture_stencil8.multisample on S22
Bug: angleproject:379700129
Change-Id: Idc6a1fef8c66b375cae12409b54c2ead1159ea29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035510
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>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
d81d29e1
|
2024-11-19T15:53:16
|
|
Revert "Possibly fix FixedQueue.ConcurrentPushPop flakiness"
This reverts commit 84b175546ec95af14b6a85def7d5b2e81ae5a88a.
Reason for revert: more flakiness seen on Pixel 6 and Samsung S22
Original change's description:
> Possibly fix FixedQueue.ConcurrentPushPop flakiness
>
> Queue may be empty when `enqueueThreadFinished` become true.
>
> This is same as the previous fix for `ConcurrentPushPopWithResize`:
> https://chromium-review.googlesource.com/c/angle/angle/+/5823039
>
> Change also removes always true expressions from the
> `ConcurrentPushPopWithResize` test.
>
> Bug: b/302739073
> Change-Id: I82ee294208d918b7007d85b2cd90e2642fc1e54f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6030517
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: b/302739073
Change-Id: Iefd994d5a69d2f4add13485d586384814e5e3dd5
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6033739
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
42f9c200
|
2024-11-19T08:50:35
|
|
Comments: www.anglebug.com -> anglebug.com
The former doesn't work.
Bug: None
Change-Id: Ib16b005adb5b61a3a1277588e240c3d68705205c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034293
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
987cc0de
|
2024-08-06T12:16:37
|
|
Vulkan: Add release utility for BufferViewHelper
Add a release helper that doesn't require ContextVk for
BufferViewHelper.
Bug: angleproject:378103913
Change-Id: Ib468d152501ecaec1dd71c9c6ed5527b73a1afa5
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004686
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc8b2e2b
|
2024-06-26T12:44:06
|
|
CL: Pass in memory properties from cl entry point
The spec requires the valid properties to be reported as by
`clGetMemObjectInfo()`. So pass in the properties as is post their
validation.
Bug: angleproject:378017028
Change-Id: I8b7ddc9d0e71ea56b2f8d81764fc3a21cee6bef4
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004684
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
743dd7bf
|
2024-11-06T12:29:36
|
|
CL: Add some event/memory helper functions
Add the following helper functions on the CL frontend
- check for user event
- check for CL image/buffer types
And on the VK backend
- For CLBufferVk/CLImageVk much of the state is encoded in the
front-end object. Add utility functions to get handle to them.
- check for user event dependency in commandqueue
Bug: angleproject:378103912
Change-Id: Ie76b44445ce2db3b5a49ccc6afe02e75c474875d
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004683
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
518e162e
|
2024-11-15T00:07:14
|
|
Fix validation for 3D depth/stencil textures
They should fail with GL_INVALID_OPERATION:
> Textures with a base internal format of DEPTH_COMPONENT, DEPTH_STENCIL
> or STENCIL_INDEX are supported by texture image specification
> commands only if target is TEXTURE_2D, TEXTURE_2D_MULTISAMPLE,
> TEXTURE_2D_ARRAY, TEXTURE_2D_MULTISAMPLE_ARRAY, TEXTURE_CUBE_MAP or
> TEXTURE_CUBE_MAP_ARRAY. Using these formats in conjunction with any
> other target will result in an INVALID_OPERATION error.
Bug: angleproject:379674017
Change-Id: Icdd4cea24601f6744a3a85bdf8ef07946569a16f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6019830
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
174694c1
|
2024-11-16T02:15:55
|
|
Manual roll VK-GL-CTS from f674555ab03e to b27686793f88 (29 revisions)
Manual roll requested by yuxinhu@google.com
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/f674555ab03e..b27686793f88
2024-11-14 syoussefi@google.com Use std functions instead of de*
wrappers (deString.h)
2024-11-14 mateusz.bahyrycz@mobica.com Add coverage for instanced draws
with tessellation
2024-11-14 rgarcia@igalia.com Test alpha-to-coverage with sample shading
2024-11-14 mateusz.gawrysiak@intel.com Fixed ycbcr_sampler.graphics
array tests by adding combinedImageSamplerDescriptorCount multiplication
2024-11-14 scerveau@igalia.com EncodeTests: rework the result queries
2024-11-14 scerveau@igalia.com EncodeTests: set the decoder to use
layeredDpb
2024-11-14 mateusz.gawrysiak@intel.com Fix imageFormatProperties check
before VK_FORMAT_G8_B8R8_2PLANE_420_UNORM array creation
2024-11-13 yuxinhu@google.com Add #include <cmath> in
glcTextureStorageTests.cpp
2024-11-08 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(draw_buffers_test1), PART 14
2024-11-08 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11
into vk-gl-cts/main
2024-11-08 piotr.byszewski@mobica.com Test operations which must always
preserve denorms
2024-11-08 ziga@lunarg.com Add image concurrent copy tests
2024-11-08 piotr.byszewski@mobica.com Test DRLR with DS attachments that
use one aspect
2024-11-08 ziga@lunarg.com Add host image copy tests with array and
depth offsets
2024-11-08 benjamin.cheng@amd.com Create encode DPB image without
TRANSFER_SRC usage
2024-11-08 benjamin.cheng@amd.com Fix video-profile-independent DPB
creation
2024-11-08 lionel.g.landwerlin@intel.com Enable device-only events in
sync2 tests
2024-11-08 kamil.goras@mobica.com
KHR-Single-GL46.enhanced_layouts.varying_locations breaks spec and
requires more than GL_MAX_GEOMETRY_INPUT_COMPONENTS components in
geometry stage for some test cases. Such cases are skipped.
2024-11-08 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(texture_stencil8_gl44), PART 16
2024-11-08 gleese@broadcom.com Revert "Fix support check for dynamic
state tests"
2024-11-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10
into vk-gl-cts/main
2024-11-04 gleese@broadcom.com Fix frag_coord_conventions test when not
supported
2024-11-01 michal.jakubek@mobica.com Make
vktComputeBasicComputeShaderTests.cpp buildable
2024-10-31 mateusz.bahyrycz@mobica.com Remove commented code
2024-10-31 piotr.byszewski@mobica.com GPL with unusual multisample
states
2024-10-31 mateusz.bahyrycz@mobica.com Add coverage for indirect draws
with tessellation
2024-10-31 javed@igalia.com Add coverage for mesh shader with GPL/ESO
2024-10-31 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS
(texture_storage_compressed_texture_data), PART 15
2024-10-31 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10
into vk-gl-cts/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,solti@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: None
Tbr: solti@google.com,yuxinhu@google.com
Change-Id: I617a3b8a149bd157e3d922b0dc726bf395a4b27e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6027274
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
828e2d19
|
2024-11-16T14:41:10
|
|
Tests: Add Block Blast trace
Test: angle_trace_tests --gtest_filter="*block_blast*"
Bug: b/379456572
Change-Id: I751b69320f68dc4afaa6fdd29e054fb543c43d22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6026306
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
f21cfcd6
|
2024-11-07T14:54:12
|
|
Add a corner case for framebuffer fetch
Add a defect test to test that when a shader reads from
gl_LastFragDepthARM or gl_LastFragStencilARM and no image is attached to
the depth or stencil attachment, respectively, results should be
undefined, instead of generating an error.
Bug: angleproject:376572258
Change-Id: I7ea0e5021ec370374c4da532b0fa58277f3e959e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5999877
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a2b60b2
|
2024-11-06T17:13:16
|
|
Add stubs for GL_EXT_texture_storage_compression
Bug: angleproject:352364583
Change-Id: I607c19c0c9bec7f0e3dd325e44b42e73f826b61c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998012
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
84b17554
|
2024-11-18T16:42:47
|
|
Possibly fix FixedQueue.ConcurrentPushPop flakiness
Queue may be empty when `enqueueThreadFinished` become true.
This is same as the previous fix for `ConcurrentPushPopWithResize`:
https://chromium-review.googlesource.com/c/angle/angle/+/5823039
Change also removes always true expressions from the
`ConcurrentPushPopWithResize` test.
Bug: b/302739073
Change-Id: I82ee294208d918b7007d85b2cd90e2642fc1e54f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6030517
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
51ff063c
|
2024-11-16T12:03:28
|
|
Skip real_racing3 trace on Linux NVIDIA
SYNC-HAZARD-WRITE-AFTER-WRITE with 535.183.01 driver
Bug: angleproject:377923479
Change-Id: I5791445bc36dacd6b71cd001d4c454d8b495f7bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022951
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
15492c9b
|
2024-11-15T15:59:54
|
|
Vulkan: A few workarounds for older ARM drivers
Bug: angleproject:379269831
Change-Id: I16d2eb6074bf595f19561316b2c6b7854119b4b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022180
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
33dc1606
|
2024-11-16T11:39:22
|
|
Skip end2end failures on S22
FramebufferFetchES31.DrawNonFetchDrawFetchInStorageBufferThenClear_ARM
FramebufferFetchES31.DrawNonFetchDrawFetchInStorageBufferThenClear_Coherent
FramebufferFetchES31.MultiSampled
Bug: angleproject:377923479
Change-Id: I85d781cff5f87dc2d6bdacce5759bcc93c8cd702
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6025225
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
f3404c4d
|
2024-11-14T18:47:18
|
|
Tests: improve Windows support in android_helper
* Avoid using the Linux binary from platform-tools when running from a
trace bundle, use adb.exe from PATH instead
* Remove dependency on aapt with reading apk as zipfile
* handle CRLF from adb shell output
Bug: b/376300037
Change-Id: I4428e66aaa782d3e582c2562ebb3f6c206c4de5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6021260
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
9dd69aae
|
2024-11-15T15:05:09
|
|
Vulkan: Disable dynamic rendering on PowerVR
Use of dynamic rendering is proving to be too slow
on PowerVR devices, so we need to disable it.
We can re-enable in the future if ANGLE or driver
fixes improve it.
Test: restricted_trace_perf
Bug: b/372273294
Change-Id: I3b643dbc5ddcb8217275f624cfc5f5128f6b061c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6026793
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e3b3dd68
|
2024-11-14T23:00:52
|
|
Vulkan: Optimize color clears vs read-only depth/stencil switch
When switching to read-only depth/stencil mode, if the aspect that
intends to be in read-only mode has a deferred clear, the clear is
flushed separately beforehands (as that would be a write operation).
Prior to this change, _all_ deferred clears were flushed for simplicity.
In this change, only the aspect that is switching modes is cleared,
leaving the other aspects free to be optimized as loadOp of the
following render pass.
Bug: angleproject:378058737
Change-Id: Iba4371590bee99f5022575c09b0d32231562488c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6019829
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
adb80cbb
|
2024-11-12T22:38:38
|
|
Vulkan: Optimize read-only depth/stencil switch after clear
Prior to this change, if color is cleared then read-only depth/stencil
mode is enabled, ContextVk::switchToReadOnlyDepthStencilMode eagerly
flushed the deferred clears (starting a render pass).
However, if the render pass is marked dirty for any reason afterwards,
for example because we want to flush the render pass after a query
ends, the render pass that is just started above is unnecessarily
closed.
In this change, `switchToReadOnlyDepthStencilMode` only detects if a new
render pass is needed and marks the appropriate dirt bits. This way,
the render pass can only be restarted once.
Bug: angleproject:378058737
Change-Id: I83a5ebae6c223882eafea338eeec19895d87e5c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6023414
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2babbbd2
|
2024-11-14T14:14:38
|
|
Add egl config support GL_RGB10_A2 for Linux Headless
This patch add egl config support GL_RGB10_A2 for Linux Headless,
optionally add GL_RGB10_A2 after checking it's renderable.
Bug: angleproject:377349381
Change-Id: I16943c74161d18399040fcbe2f1c7a80988dac8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6021860
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
29855942
|
2024-11-06T16:01:28
|
|
Vulkan: Add stubs for expose VK_EXT_image_compression_control
Bug: angleproject:352364583
Change-Id: Ia8292eee6620db6d0c4b0c6162de95583c1e416d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998011
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ba81145f
|
2024-11-08T15:45:44
|
|
Vulkan: Emulate coherent framebuffer fetch everywhere
Many apps expect coherent framebuffer fetch to be available, and
multiple downstream emulators end up forcing coherent framebuffer fetch
enabled despite the hardware not being coherent.
This change attempts to do a best-effort emulation of coherent
framebuffer fetch by automatically inserting barriers before framebuffer
fetch draws. While this doesn't correctly handle self-overlapping
geometry, it works well enough in practice for the applications.
As a result, framebuffer fetch is practically enabled everywhere after
this change.
Bug: angleproject:377923479
Change-Id: I3900a1de0f4db755b7e70871f57df3ea112073f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004336
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
33c86fde
|
2024-11-14T14:33:21
|
|
Tests: Add SimCity BuildIt trace
Test: angle_trace_tests --gtest_filter="*simcity_buildit*"
Bug: b/379097986
Change-Id: I8753014ebcf6ab1ea55868141a527429e8fb4f8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6021680
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
0dc407dc
|
2024-06-25T11:49:25
|
|
CL/Vulkan: Address slicePitch and rowPitch issues in images
* Based on spec, the slicePitch >= the row pitch for 1D array
* Validation should check if slicePitch >= rowPitch * region[1] for
2D array and 3D images
* The row pitch should be based on region rather than image extent
for the host copy
* Offset in staging buffer is modified to be based on row and slice
pitch
* Returned row and slice pitch for clEnqueueMapImage is updated to
be based on image's extent since mapped staging buffer is utilized
Tests-Passing: OCLCTS.test_basic imagereadwrite,
OCLCTS.test_basic imagereadwrite3d,
OCLCTS.test_basic enqueue_map_image,
OCLCTS.test_cl_fill_images use_pitches
Bug: angleproject:42266936
Change-Id: I0f9bc5c576167bbdcdde467773f8159eb7bddb99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6014983
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b9932271
|
2024-06-18T16:38:28
|
|
CL/Vulkan: Add handling for NormalizedSamplerMaskPushConstant
* Includes code for parsing reflection data and adding push constant
* Creates a new sampler that is normalized to conform with constant
* Fixed pointer returned in getImageDataChannelOrderRange/DataTypeRange
Tests-Passing: OCLCTS.test_basic readimage3d,
OCLCTS.test_basic readimage3d_fp32,
OCLCTS.test_basic readimage3d_int16
Bug: angleproject:42266936
Change-Id: I6390193401c0c0411df87d9f61c917c8df7918d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6016821
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aaf07534
|
2024-06-14T03:07:12
|
|
CL/Vulkan: Fix clEnqueueUnmapMemObject for host ptr image cases
* For CL_MEM_USE_HOST_PTR case, host ptr has to be utilized in unmap.
Tests-Passing: OCLCTS.test_cl_fill_images use_pitches 1D,
OCLCTS.test_cl_fill_images use_pitches 1Darray,
OCLCTS.test_cl_fill_images use_pitches 2D,
OCLCTS.test_cl_fill_images use_pitches 2Darray,
OCLCTS.test_cl_fill_images use_pitches 3D
Bug: angleproject:42266936
Change-Id: I8fd3cd91fea61283ad5c28c1a7040d43310a0345
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987534
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
|
|
08ce5672
|
2024-06-11T17:28:34
|
|
CL/Vulkan: Add pitches handling for image APIs
* Changes applied to clCreateImage, clEnqueueReadImage,
and clEnqueueWriteImage
* Involved performing CPU copies to/from the staging buffer
with pitch factored in
Tests-Passing: OCLCTS.test_cl_read_write_images use_pitches 1Darray,
OCLCTS.test_cl_read_write_images use_pitches 2D,
OCLCTS.test_cl_read_write_images use_pitches 2Darray,
OCLCTS.test_cl_read_write_images use_pitches 3D,
OCLCTS.test_cl_fill_images 2D,
OCLCTS.test_cl_fill_images 3D,
OCLCTS.test_cl_fill_images 1Darray,
OCLCTS.test_cl_fill_images 2Darray
Bug: angleproject:42266936
Change-Id: I9d5bbecb9d83b2138b40e40e23a22218e497dcd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987702
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c5242b6f
|
2024-06-03T00:40:05
|
|
CL/Vulkan: Add extent, offset, and layers handling for arrays
* Sets the array layer count to appropriate value
* For 1D/2D array, base layer is equivalent to the y/z origin
* For 1D/2D array, offsets and extents should be set to 0/1 for
unused dimensions
Tests-Passing: OCLCTS.test_cl_copy_images 1Darray,
OCLCTS.test_cl_copy_images 2Darray,
OCLCTS.test_cl_copy_images 2Darrayto2D,
OCLCTS.test_cl_copy_images 2Darrayto3D,
OCLCTS.test_cl_copy_images 2Dto2Darray,
OCLCTS.test_cl_copy_images 3Dto2Darray,
OCLCTS.test_cl_copy_images max_images 1Darray,
OCLCTS.test_cl_copy_images max_images 2Darray,
OCLCTS.test_cl_copy_images max_images 2Darrayto2D,
OCLCTS.test_cl_copy_images max_images 2Darrayto3D,
OCLCTS.test_cl_copy_images max_images 2Dto2Darray,
OCLCTS.test_cl_copy_images max_images 3Dto2Darray,
OCLCTS.test_cl_copy_images small_images 1Darray,
OCLCTS.test_cl_copy_images small_images 2Darray,
OCLCTS.test_cl_copy_images small_images 2Darrayto2D,
OCLCTS.test_cl_copy_images small_images 2Darrayto3D,
OCLCTS.test_cl_copy_images small_images 2Dto2Darray,
OCLCTS.test_cl_copy_images small_images 3Dto2Darray,
OCLCTS.test_cl_read_write_images 1Darray,
OCLCTS.test_cl_read_write_images 2Darray,
OCLCTS.test_cl_read_write_images max_images 2Darray
Bug: angleproject:42266936
Change-Id: I5ffb792c640c536045450ad6583d8d3bc0358d64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987532
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Rafay Khurram <r.khurram@samsung.com>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7ba69645
|
2024-11-14T10:07:31
|
|
Fix unnamed outs w/ initializeUninitializedLocals
Fix translator initializeUninitializedLocals pass for anonymous
out parameters. The parameters should be initialized to zero,
similar to named but unassigned parameters.
Initialization would be skipped on GLSL output, assert on Metal.
Functions need to be replaced if their parameter names change.
In case the function had a prototype declaration, that has to be
replaced too.
All calls to old functions must be replaced with calls to new function.
Bug: angleproject:378584780
Change-Id: I9a990fa3840f6e26cd30f35bf6c99d9a8816f272
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6020245
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
52831fc0
|
2024-05-30T02:28:11
|
|
CL/Vulkan: Add handling for image push constants
Tests-Passing: OCLCTS.test_kernel_image_methods 1D,
OCLCTS.test_kernel_image_methods 2D,
OCLCTS.test_kernel_image_methods 3D,
Bug: angleproject:42266936
Change-Id: Ie0c488ec02047a4a3da387c32178d05397c9d174
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987700
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
03c75d35
|
2024-11-14T14:24:44
|
|
Remove SeparateStructFromFunctionDeclarations
Move SeparateStructFromFunctionDeclarations to SeparateDeclarations
It is logical part of the separate declarations step.
Bug: angleproject:378966971
Change-Id: Ie102a1d936f7b444f5f9f2ac2fe8dc6c10027782
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022857
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e557b60e
|
2024-05-28T17:40:49
|
|
CL/Vulkan: Add destruction of staging buffer for CLImageVk
* Staging buffer wasn't being destroyed leading to a memory leak.
Tests-Passing: OCLCTS.test_cl_fill_images 3D,
OCLCTS.test_cl_fill_images max_images 3D,
OCLCTS.test_cl_copy_images 3D,
OCLCTS.test_cl_copy_images max_images 3D,
OCLCTS.test_cl_copy_images small_images 3D,
OCLCTS.test_cl_copy_images 2Dto3D,
OCLCTS.test_cl_copy_images max_images 2Dto3D,
OCLCTS.test_cl_copy_images small_images 2Dto3D,
OCLCTS.test_cl_copy_images 3Dto2D,
OCLCTS.test_cl_copy_images max_images 3Dto2D,
OCLCTS.test_cl_copy_images small_images 3Dto2D
Bug: angleproject:42266936
Change-Id: I2526eb994563f20b8e8f352d303957e768a3bde0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
|
|
485f6c34
|
2024-05-24T03:06:31
|
|
CL/Vulkan: Implement clEnqueueFillImage
* Packs fillColor values, copies image to staging buffer,
fills the relevant pixels in mapped staging buffer,
and then copies back to image
Tests-Passing: OCLCTS.test_cl_fill_images 1D,
OCLCTS.test_cl_fill_images max_images 1D
Bug: angleproject:42266936
Change-Id: I2ceb98830f49318edb71a1be14cecfdb4476d7ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961949
Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bf07bcb7
|
2024-11-11T17:23:43
|
|
Vulkan: Remove dead code since mSwapchainImages always valid
All elements of the `mSwapchainImages` always contain valid images.
This fact makes code calling `acquireNextSwapchainImage()` in the
`WindowSurfaceVk::lockSurface()` a dead code. Probably, instead of
`acquireNextSwapchainImage()` it should call
`doDeferredAcquireNextImage()` if `needsAcquireImageOrProcessResult()`
is true, but this is another issue. This CL simply removes a dead code.
Bug: angleproject:42264593
Bug: angleproject:42262606
Change-Id: Ic7bda330d74e1ccad149ffab723954f45dab700b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6018092
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
df61fc7f
|
2024-11-14T13:31:24
|
|
Avoid reordering structs when separating from func
Avoid reordering structs when separating struct declarations
and function declarations.
Consider:
struct S1 { ... };
struct S2 { S1 a; } f();
SeparateStructFromFunctionDeclarations would insert the S2 to
the beginning of the containg block, so before S1 definition.
Fix by not inserting the structs to the parent block. Instead,
return the nodes from multi-replacement, so that the struct
definition is inserted at the site of the replaced function.
Bug: angleproject:378966971
Change-Id: I47582660610c1fcb28a9b5bd592ac020b5c48e34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022856
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
54e8e665
|
2024-11-12T12:53:54
|
|
Trace tests: generate and use trace list according to gn args
Generates out/<config>/gen/trace_list.json which contains
the list of traces included in the build according to the
angle_restricted_traces gn arg (or all traces if not set).
Test runner uses that file instead of the full restricted_traces.json.
Android runner pushes that file to the device to the usual location
(e.g. /sdcard/chroimum_tests_root/gen/trace_list.json)
This also fixes the issue where
`angle_trace_tests --list-tests`
lists all traces, not just those that were selected with the gn arg.
Similarly, running all traces without a filter would be limited to
the same list.
This transitively applies to trace bundles.
Bug: b/376923930
Change-Id: I63506a074d766a51b860472f7211842f8a080ecd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011956
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a402f9cb
|
2024-11-11T15:08:41
|
|
Metal: Do not use number digit separator in .mm
The review system turns ' to strings for Obj-C
syntax highlighting.
Bug: angleproject:378421872
Change-Id: I201f6561def7c4b945f37e3e02ec0b8915954e8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011209
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
924ee1ba
|
2024-08-28T02:16:55
|
|
CL: Enable CTS over GTest interface
* Enables all CTS test suites excluding test_subgroups
* Creates one gtest-based executable per OpenCL CTS executable
Bug: angleproject:372722560
Change-Id: Iae96c2f12716b3c21d5035fbf6c9d838cb812025
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938948
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
817b7d20
|
2024-11-13T10:41:49
|
|
Trace Tests: Skip solar_smash on Intel Windows
Non-deterministic on Intel Windows.
Bug: b/378900717
Change-Id: I393bf4fbeb6764ecb3cba61e012036f8f69605c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017397
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Solti Ho <solti@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
|
|
b09008fd
|
2024-11-13T10:28:36
|
|
FrameCapture: Warn when shaders are not attached yet
Instead of assert, print a warning when we don't have attached
shaders on an unlinked program. There's work involved to support it,
but also scenarios where it isn't a blocker to capturing a trace.
For instance, if the program isn't used, we don't care if it doesn't
have attached shaders.
Test: SimCity BuildIt
Bug: b/334030316
Change-Id: Ied85af433e769ec8f1e436de82e911ff691ea9c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017396
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
14e4435b
|
2024-11-12T23:08:55
|
|
FrameCapture: Start active queries last in MEC
Before this CL, we cycle through all queries, Begin and End them,
unless they are active, and we skip End. That can give us a sequence
like this:
glGenQueries(1, (GLuint *)gReadBuffer);
UpdateQueryID(1, 0);
glBeginQuery(GL_TIME_ELAPSED_EXT, gQueryMap[1]);
glEndQuery(GL_TIME_ELAPSED_EXT);
glGenQueries(1, (GLuint *)gReadBuffer);
UpdateQueryID(2, 0);
glBeginQuery(GL_TIME_ELAPSED_EXT, gQueryMap[2]);
glGenQueries(1, (GLuint *)gReadBuffer);
UpdateQueryID(3, 0);
glBeginQuery(GL_TIME_ELAPSED_EXT, gQueryMap[3]);
glEndQuery(GL_TIME_ELAPSED_EXT);
Note that gQueryMap[2] is not Ended because it is active.
That results in a GL error when we try to Begin gQueryMap[3]:
INFO: glBeginQuery: GL error: HIGH: Other query is active.
To fix this, we need to start active queries last.
That results in the following sequence:
glGenQueries(1, (GLuint *)gReadBuffer);
UpdateQueryID(1, 0);
glBeginQuery(GL_TIME_ELAPSED_EXT, gQueryMap[1]);
glEndQuery(GL_TIME_ELAPSED_EXT);
glGenQueries(1, (GLuint *)gReadBuffer);
UpdateQueryID(2, 0);
glGenQueries(1, (GLuint *)gReadBuffer);
UpdateQueryID(3, 0);
glBeginQuery(GL_TIME_ELAPSED_EXT, gQueryMap[3]);
glEndQuery(GL_TIME_ELAPSED_EXT);
glBeginQuery(GL_TIME_ELAPSED_EXT, gQueryMap[2]);
Test: Filament mosquito trace
Bug: b/322364529
Change-Id: I4de9401e49bf93b0cfe02ba5ad536f3ab3079b81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017473
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
eb614d7e
|
2024-11-11T13:24:35
|
|
Metal: Avoid leaking library and binary sources
Reland: Fix build with
metal_internal_shader_compilation_supported = false
Fix leak of dispatch_data during binary load. The dispatch object
was not released. Dispatch objects are Obj-C objects, so hold with
AutoObjCPtr.
Fix leak of MTLLibrary objects when creating the objects.
The method newLibraryWithData returns +1 due to being "new" type
method. This ref must be adopted.
Avoid using autoreleased objects, use AutoObjCPtr.
Some leaks regressed in commit c5ab1cebccaab0f8de466e5f797faa3d5a84bea5.
Bug: angleproject:351165323
Change-Id: I08bc6bcb787cdc3f71e9487d80a44e24b01b6b4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017845
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b2d84a66
|
2024-11-12T20:14:48
|
|
Revert "Metal: Avoid leaking library and binary sources"
This reverts commit 6359ec111595c57e6be04b0468ca866f91593f2f.
Reason for revert: https://chromium-review.googlesource.com/c/angle/angle/+/6011208/comments/c1453ef2_2c6a5e49
Original change's description:
> Metal: Avoid leaking library and binary sources
>
> Fix leak of dispatch_data during binary load. The dispatch object
> was not released. Dispatch objects are Obj-C objects, so hold with
> AutoObjCPtr.
>
> Fix leak of MTLLibrary objects when creating the objects.
> The method newLibraryWithData returns +1 due to being "new" type
> method. This ref must be adopted.
>
> Avoid using autoreleased objects, use AutoObjCPtr.
>
> Some leaks regressed in c5ab1cebccaab0f8de466e5f797faa3d5a84bea5.
>
> Bug: angleproject:351165323
> Change-Id: If23859fbddd21693d923f66f6fb015eed494f06e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011208
> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Note: the revert merges the changes of https://crrev.com/c/6011902
Bug: angleproject:351165323
Change-Id: Iec1a14c8043e0883190723edf7302127c27f2de4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6013090
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c7a43ec8
|
2024-10-28T12:26:05
|
|
Capture/Replay: Track framebuffers by context
Some game titles treat framebuffer objects as shared. Framebuffer
objects are now tracked per-context to avoid conflicts.
Test: angle_trace_tests --gtest_filter=TraceTest.limbo --offscreen
Bug: b/371985732
Change-Id: I34ae5b54d569eec75ad86b7b363f7a84d56d955c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973639
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4a835cf2
|
2024-11-01T13:31:00
|
|
WebGPU: send uniforms to GPU for use in shader
Basic uniforms should now be accessible in the shader during a draw
call, rather than just via glGetUniform*().
This is unoptimized and creates a new GPU-side copy of all the uniforms,
every time any uniform changes.
This sets up the bind group layout for a pipeline and sets the bind
groups in the renderer pass. Right now these bind groups only contain
the default uniform blocks, but in the future will need to contain
textures, samplers, and non-default uniform blocks (UBOs).
Bug: angleproject:376553328
Change-Id: I50891b81ab2ee374d674213257f76319c0222120
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980972
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
|
|
4707e5bb
|
2024-11-05T10:59:46
|
|
Unskip mini_world for other QCOM devices
Currently, mini_world is being skipped for all QCOM devices.
However, it seems to be working on more recent devices. Therefore,
the skip could be limited to P4/P4XL due to image diffs and errors
respectively.
* In the case of P4XL, it is not confirmed if the original error
still persists.
Bug: b/331271522
Change-Id: I7ee00a74131ea47463a513121b15e445bddb9289
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5994385
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
267a3daf
|
2024-11-05T19:51:58
|
|
CL/Vulkan: Use enums for cmd exec status instead of bools
Setup the `createEvent()` interface to take the initial state of the
event using an enum, instead of boolean for better readability.
Bug: angleproject:377997556
Change-Id: Ib5a23cf2034e61e90b345bb432af59d96338b707
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004063
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05b58737
|
2024-11-04T13:52:09
|
|
CL: Add CL command execution status to the enum list
Adding the CL command execution status enums to the auto enum generation
list - packed_cl_enums.json.
The execution status are defined as cl_int in the CL api, and as such
they are not packed at the entry points -
entry_points_cl_autogen.{h,cpp}, and are left to be used at the
implementation layer.
The following files are autogeneration through `run_code_generation.py`
script.
- scripts/code_generation_hashes/packed_enum.json
- src/common/PackedCLEnums_autogen.cpp
- src/common/PackedCLEnums_autogen.h
Bug: angleproject:37997556
Change-Id: Ia00fc12ef02e3882d47a1ad18cd6c11ce6bf63dc
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004062
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f5b9e0ed
|
2024-11-11T16:06:30
|
|
Metal: Query MSL print env var with bool getter
Use angle::GetBoolEnvironmentVar.
Bug: angleproject:378404988
Change-Id: I45778690e215325e9e4eb67c6feefa9b17941f49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011902
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
c46e6bac
|
2024-11-12T13:55:01
|
|
Make intermediate output symbol names consistent
Make intermediate output symbol names consistent across uses in
parameter names, struct names, variable names:
- built-in without quotes
- '' empty
- #satb ANGLE internal
- 'a' user-defined
Previously empty parameters would output the symbol id-generated
name ("sabb"), which was surprising when this is used only when
the symbol is in AngleInternal namespace, and not in Empty namespace.
Bug: angleproject:378584780
Change-Id: I87b13cf964a1ae3ee54b8f4ef7a00eddcd474760
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011018
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b8b962d2
|
2024-11-08T14:53:00
|
|
Parse function parameters into TPublicType
Parse function parameters into TPublicType instead of TType.
TType holds the type info, TPublicType holds the type specification
info.
This helps in moving the TType::isStructSpecifier into the AST nodes,
away from the type system which it is not part of.
Removes duplicated code where unnamed unsized arrays would cause
different error message than named unsized arrays.
Bug: angleproject:377330017
Change-Id: I102b9e87823a545f7e64f971aafbdcd313a542fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000009
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
4f4062ae
|
2024-11-08T10:18:02
|
|
Add support for running the parser generation on Mac
For cloud storage, uses new bucket angle-flex-bison-mac for clarity,
the names Linux and Mac clash.
The lexer diffs seem to be due to formatter changes after the last
generation of tjhe lexer. The diffs repro on Linux too.
Lexer produces too hard to format source or diffs, and one hunk
is left unformatted the first time. Add a workaround.
Bug: angleproject:377941128
Change-Id: Id9d8f9a5c4a169955ccd8cd9cb3d632fbb339d28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000005
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0d02f857
|
2024-11-07T09:32:28
|
|
Test SeparateDeclarations
This makes it easier to fix issues with SeparateDeclarations
Bug: angleproject:377330017
Change-Id: I53b9ca06971e0272563b6b3c752e0438c5802193
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000533
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
e5619a5c
|
2024-10-15T18:27:00
|
|
Use EGL sync global lock for all EGL*sync entrypoint calls
To free EGL sync operations from waiting for other EGL calls
to finish, we use a separate global lock for EGL*sync entrypoints.
Below angle::SimpleMutex are added to protect resources that may
have race condition due to being accessed by EGL*sync calls
and non EGL*sync calls at the same time:
1. Display::mContextMapMutex that protects Display::mState.contextMap
2. static angle::base::NoDestructor<angle::SimpleMutex>
anglePlatformDisplayMapMutex that protects static
angle::base::NoDestructor<ANGLEPlatformDisplayMap> displays
3. static angle::base::NoDestructor<angle::SimpleMutex>
devicePlatformDisplayMapMutex that protects static
angle::base::NoDestructor<DevicePlatformDisplayMap> displays
EGL_Terminate() entry point takes both global lock and
global egl sync lock. This is to protect Display::mSyncMap,
Display::mSyncPools, and Display::mSyncHandleAllocator being
get cleared by thread 1 calling eglTerminate, while they are
still accessed by thread 2 through a call such as eglCreateSync.
So that we won't have thread 2 finish validating the sync object with
syncID exists in Display::mSyncMap, but then find the
mSyncMap.find(syncID) returns a nullptr due to the mSyncMap
is cleared by thread 1. Same applies to EGL_LabelObjectKHR(),
EGL_ReleaseThread(), ThreadCleanupCallback().
EGL_Initialize() writes to Display::mInitialized. This is read
by EGL Sync API validation functions. EGL_Initialize() also takes
both global lock and global sync lock to prevent race conditions
between EGL_Initialize() and EGL Sync APIs.
When ANGLE_CAPTURE_ENABLED is enabled, fall back to global lock,
as the CaptureEGLCallToFrameCapture() touches many resources
(e.g. mMaxAccessedResourceIDs, mFrameCalls)
that could lead to race conditions without a global lock.
Bug: b/362604439
Change-Id: Ic0d54a4cd66743bcd0f48f41f247dd223cff2f5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5933570
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
f198e807
|
2024-10-16T17:47:17
|
|
CL/VK: Serialize cmds when queue profiling enabled
When queue profiling is enabled by user (opt-in)
we should serialize/finish each cmd.
Bug: angleproject:377942756
Change-Id: I7809df073c0a6de0e4d5338bec2fa2032ebc1577
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003807
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
ac41a84a
|
2024-10-10T17:35:20
|
|
CL/VK: Fix reflection parsing out-of-order cases
Some clspv generated binaries cause the SPIR-V Tools
parser to parse reflection instructions out-of-order
(with respect to what we see in disassembler dump).
This fix addresses kernel and kernel args so that
order does not matter anymore.
Bug: angleproject:377941117
Change-Id: I75da428b6f0a9f155f3faf5db7a0408485d4ebdc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003806
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a4172290
|
2024-10-08T13:20:40
|
|
CL/VK: Initial impl for migrateMemObjects
Defer migration handling in multi-device setups.
Allow API to return error-free on 1 device cases (nop) for now.
Bug: angleproject:377942759
Change-Id: I9bcc238ad4d2965e1281a99ec2782e8cfe6c05a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003805
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1071079a
|
2024-10-23T17:32:37
|
|
CL/VK: Fix frontend cl_mem_flags default access
Additionally, if neither of these flags are specified:
- CL_MEM_READ_WRITE
- CL_MEM_READ_ONLY
- CL_MEM_WRITE_WRITE
Then we need to bitwise OR the default kernel
access flag (according to spec): CL_MEM_READ_WRITE
Bug: angleproject:377942757
Change-Id: I5decd05096a834469fdb6bca941284a400b2c69c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003804
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
152f8035
|
2024-10-29T14:14:03
|
|
CL/VK: Fix missing default device on contextFromType
Bug: angleproject:377941119
Change-Id: Ia75184233a5b0b422425626cbce46a2105b08249
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
de287909
|
2024-08-30T18:38:40
|
|
CL/VK: Generalize host transfer sync utility
Rework host transfer sync utility to handle
multiple non-blocking enqueue transfer ops
for buffer/image reads.
Bug: angleproject:377545840
Change-Id: Ic382162ded15cb15c900baf724e02592bfd846c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6001611
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
|
|
efcb94ab
|
2024-11-06T15:55:02
|
|
Output the type of constant union
Output the type of the constant union node in OutputTree output.
This makes it easier to understand typing bugs related to the constant
union.
Adds a node nesting level for constant unions.
This makes it easier to understand consecutive constant unions.
Bug: angleproject:377330017
Change-Id: Ia83072b78c4d1713f839fd136692b254f6d2c517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000532
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
e3011d96
|
2024-11-08T16:17:07
|
|
Translator: Optimize size calculation for variable arrays
Bug: angleproject:373924024
Change-Id: Id3a8b844b8274c19c0c2c833842fb8b501f50174
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004338
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6359ec11
|
2024-11-11T13:24:35
|
|
Metal: Avoid leaking library and binary sources
Fix leak of dispatch_data during binary load. The dispatch object
was not released. Dispatch objects are Obj-C objects, so hold with
AutoObjCPtr.
Fix leak of MTLLibrary objects when creating the objects.
The method newLibraryWithData returns +1 due to being "new" type
method. This ref must be adopted.
Avoid using autoreleased objects, use AutoObjCPtr.
Some leaks regressed in c5ab1cebccaab0f8de466e5f797faa3d5a84bea5.
Bug: angleproject:351165323
Change-Id: If23859fbddd21693d923f66f6fb015eed494f06e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011208
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7fea539c
|
2024-10-23T11:40:51
|
|
Vulkan: Remove extra non-conformant flag checks
It may be possible to remove the flag check and simply rely on the
checks performed in CanSupportGLES32() to determine support for ES 3.2.
The non-conformant flag can remain utilized for certain features until
the relevant issues are resolved and this flag is no longer needed.
* Removed the checks from getMaxConformantESVersion().
* Removed the flag check in Renderer::getMaxSupportedESVersion().
* Added exception to the blend extension when using the non-conformant
flag for Win/Intel.
* Skipped the related tests on this platform that now fail.
* Added a new feature flag to force-enable ES 3.2 on certain platforms
for testing.
* exposeES32ForTesting
* If the bots are updated to support ES 3.2, it can be removed from
using this flag.
* Skipped some VVL errors when the flag is enabled.
* Skipped end2end ES 3.2 tests on SwS.
* Skipped some dEQP tests on P4 and SwS that would use ES 3.2 features
that are not available on those platforms.
Bug: b/374841339
Bug: b/376899587
Change-Id: Ifd405457ab8bf2076eb8fb5c92c5316f4d520595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5958147
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
d30d81d0
|
2024-11-06T16:08:28
|
|
[code health] Remove underscores from test names in ANGLE (1/N)
In the GoogleTest framework, underscores are not
allowed. [1] ANGLE has underscores in many test
names, and those should be changed.
At the same time, add a comment to a test case
according to the requirements of the Presubmit
check.
````
***************
ANGLE requires a comment describing what a test does.
***************
````
[1]
https://github.com/google/googletest/blob/main/docs/faq.md#why-should-test-suite-names-and-test-names-not-contain-underscore
Bug: angleproject:377543127
Change-Id: I90e634bd985ca518eca43e2c919a3a8bca91a55b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5997835
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Ho Cheung <hocheung@chromium.org>
|
|
11d73f1d
|
2024-11-04T20:31:57
|
|
Revert "spirv::Print without ANGLE_ENABLE_ASSERTS -> compile error"
This reverts commit be9e63ad090dc4b86eae08ad8f9f4c9f1a18a6a4.
Reason for revert is to fix build error in "CLProgramVk.cpp" if build
with `dcheck_always_on = false`.
Since https://crrev.com/c/5898609, `spirv::Print()` is now always
defined, so no liker error if `ANGLE_ENABLE_ASSERTS` is not defined.
Bug: angleproject:370557215
Change-Id: I983b57987eb63f601a75e90646c24b9cd16170a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003012
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
094a0b11
|
2024-11-07T17:45:50
|
|
Skip KHR-GLES31.core.tessellation_shader.single.primitive* on win
Bug: angleproject:377993076
Change-Id: I7d7d99b87b51911bbb3046b4e7353afb18060d5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003811
Commit-Queue: Roman Lavrov <romanl@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
|
|
2c7e9830
|
2024-11-04T10:05:25
|
|
restricted_trace_perf: Setup and wrapper support
This CL adds support for installing and setting up traces.
Also allows running via the wrapper in http://crrev/c/5985570
With this change, if you run without using the wrapper, you
must provide the --build-dir flag. It allows running the
script from any directory:
--build-dir ../../../out/Android
Bug: b/376300037
Change-Id: I2259ee120b2af5e1917a2a57a27fa3dcfca761e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5983806
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bdebee8c
|
2024-10-29T17:08:11
|
|
Tests: add repro for running out of outside RP serials
Bug: b/375661776
Change-Id: I2cd82710bdf5b00a6165ddad6ef21f30150aa5bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5977123
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
750d9a24
|
2024-11-06T17:28:19
|
|
Skip SourceAHBTarget2DGenerateMipmap* tests on S22
There is a vulkan driver bug on S22 device:
https://chromium-review.googlesource.com/c/angle/angle/+/5966623/comments/44b72fb9_3ba112c5,
causing ImageTestES3.SourceAHBTarget2DGenerateMipmap* to fail.
Skip these tests on S22 until the vulkan driver of the
device is updated.
Bug: angleproject:40644776
Change-Id: Id5e68aa4ad8f2172c5cdda9adb26af60da87b905
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6001577
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
d01f5101
|
2024-11-01T18:45:55
|
|
Tests: add wrappers for restricted_trace scripts
Example use:
out/Android/restricted_trace_gold_tests \
--bypass-skia-gold-functionality \
--filter=dota_underlords:dragon_raja
out/Android/restricted_trace_perf --flags
Bug: b/376300037
Change-Id: Ic3e8cb241af25a770f5d1888538d13482f877b6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985570
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6cda99d8
|
2024-11-07T09:53:01
|
|
Tests: fix run_angle_android_test.py and trace bundle
The output_directory arg is provided when invoked by the wrapper, but
not when running with run_angle_android_test.py, in which case cwd has
been historically used such as:
cd out/AndroidPerformance; ../../src/tests/run_angle_android_test.py ...
Move the import added in https://crrev.com/c/5985232, as
1) it now imports protobufs which is not included with python3
and requires an additional package
2) build/ is excluded from trace bundles where running traces
with the Chromium runner isn't supported.
Bug: b/377875190
Change-Id: Ie092dc6382e74ac7413a42acffaf507c05b73514
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6002496
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
f44427b5
|
2024-11-05T15:18:59
|
|
Vulkan: Fix MSAA glReadPixels into PBOs
The temporary image used to resolve the MSAA framebuffer during
glReadPixels did not have the SAMPLED usage bit. Additionally, the
image was supposed to be garbage collected afterwards but ImageHelper's
release() function was accidentally immediately destroy()ing it.
This was not an issue with blocking glReadPixels paths, because the
command buffer was immediately flushed and the GPU work was waited on
before the image was destroyed in RendererScoped's destructor.
Bug: b/377437834
Change-Id: I1dca47172d6f363277059a848fe9446ac2a872d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5995530
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
cc2edfd1
|
2024-11-05T15:37:21
|
|
Fix getPerfMonitorCounterData maxResults, skip AsyncCommandQueue test
Skips TextureDataInLoopManyTimes on SwS AsyncCommandQueue.
Add more debug info to the test although without the AsyncCommandQueue
variant we likely won't be see flakes.
Bug: angleproject:377503738
Change-Id: I372531451c280b04ffed84b020463657440fca08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5995531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
644b91f7
|
2024-02-29T16:37:37
|
|
CL/Vulkan: Implement buffer map/unmap
Implement the buffer map, for now mapping is performed at the call site.
Bug: angleproject:42267077
Change-Id: I16929920be8a49863de514b541ff0a57b6ac4453
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971713
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d4420489
|
2024-10-25T08:53:17
|
|
Add check for iOS simulator when initializing caps in metal
On Intel-arch MacBook, the system API
[supportsFamily:MTLGPUFamilyApple3] returns false on the iOS
simulator, causing maxVertexOutputComponents to be set to 60,
which is below than the required value of 64, resulting in
WebGL2 initialization failure on chromium iOS.
Add a TARGET_OS_SIMULATOR check to ensure the values of caps can be
set correctly in the siumulator environment.
Bug: angleproject:375244081
Change-Id: Iafc44a2aa62130b09127bbec7ea6940506a4165c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961039
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6df20e5f
|
2024-08-21T13:29:36
|
|
CL/VK: Add missing HostPtr-BufferVk sync on unmap
Missing extra copy/sync for enqueueUnmapMemObject
routine for USE_HOST_PTR scenario.
Bug: angleproject:377366930
Change-Id: Ifcb0ed58beabf5870e00ed47b36cfd08767eba70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5990104
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2a569b2b
|
2024-11-04T11:41:29
|
|
Vulkan: Document that hex can be viewed with spirv-dis
Since https://github.com/KhronosGroup/SPIRV-Tools/pull/5870, spirv-dis
is able to disassemble SPIR-V given a hex stream. This change indicates
this when retrieving shader debug info (a WebGL extension).
Bug: angleproject:42266948
Change-Id: Ifab4668d6608093700d3e03ddd7ea675fd2bcf42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5988173
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
17a01469
|
2024-10-26T06:07:31
|
|
Vulkan: Bugfix TextureVk::generateMipmap
Add support for generating mipmaps of textures that are EGLImage
texture targets with colorspace overrides
Bug: angleproject:40644776
Tests: ImageTestES3.SourceAHBTarget2DGenerateMipmap*
Change-Id: I9b4ff802f4118a42d54dc8d80ab30e2f9958bfee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966623
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
e2cd9082
|
2024-11-05T04:07:17
|
|
Vulkan: Bugfix in setCurrentImageLayout
Make sure to update mLastNonShaderReadOnlyLayout and
mCurrentShaderReadStageMask when updating the current layout.
Bug: angleproject:40644776
Change-Id: Ie8652099a0d4caca9f9aea5bac38256a513b08e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5992020
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
84a24a1e
|
2024-07-02T11:56:25
|
|
CL: Implement clone for kernel object
clCloneKernel() can be used to make a shallow copy of a kernel object.
The returned object is an exact copy of the source kernel, with latest
calls to arguments sets applied to the kernel.
Implement a clone version at the front-end with replicating the
`clSetKernelArg` called on the source kernel. The
`clSetKernelArgsSVMPointer` and `clSetKernelExecInfo` are ignored as
they are currently unsupported.
Bug: angleproject:376023087
Change-Id: I2e21931d9ff799e35b153cffe91fd4a2adbbf88d
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5971715
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8dae26c6
|
2024-06-26T11:35:24
|
|
CL: Add missing validation checks
-1- Check on device enqueue support
Add a check for the device enqueue support before proceeding with the
device enqueue info queries.
-2- Validate the non uniform work groups
The spec requires reporting CL_INVALID_WORK_GROUP_SIZE when non-uniform
workgroups are not supported and supplied work sizes dont evenly
distribute the work items. Adding a check in the validation.
-3- Check for alignment on sub-buffer creation
The spec requires the sub-buffer origin to be aligned to
CL_DEVICE_MEM_BASE_ADDR_ALIGN value. Check for this in validation layer.
Bug: angleproject:42267011
Change-Id: I9dc086fea16b200cc05c0fca29e3608403099a2c
Signed-off-by: Gowtham Tammana <g.tammana@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5975419
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1daf17b5
|
2024-11-04T11:05:46
|
|
Tests: restore angle_end2end_tests --help on Android
https://crrev.com/c/5985232 added support for choosing the test runner,
but that inadvertently changed behavior with --help (or with certain
flags). This CL restores that behavior.
parse_known_args() exits the process by default, so add manual --help
handling.
Bug: b/344849382
Change-Id: I87f197f90a161ec141a6e1f46ba81cfbf01a2fec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987387
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
47fafdb9
|
2024-11-04T10:05:12
|
|
Disable tracegz (trace interpreter) by default, remove from CI
Trace interpreter is incomplete and we've been punting on it.
Can be re-enabled with angle_enable_tracegz=true in gn args.
This avoids accidentally pulling trace sources into builds.
Bug: b/376300037
Change-Id: Ib755fa9f57885216b02a481fd670a1bb0266f0db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987382
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|