|
a4db9477
|
2022-10-06T10:35:39
|
|
Implement pixel local storage with metal::read_write textures
Metal's programmable blending feature isn't available on non-Apple
Silicon, so on these devices we have to polyfill pixel local storage
using read_write textures, which can also be coherent if
raster_order_groups are supported.
This change leverages the existing PLS transformation to images, and
implements just enough shader image functionality in Metal to support
the pixel local storage usecase. Missing shader image features are
marked with UNIMPLEMENTED().
Bug: angleproject:7279
Bug: angleproject:7792
Bug: angleproject:7794
Bug: angleproject:7797
Bug: angleproject:7803
Change-Id: Ia96a714693d352d57351a1bae4f45437dde000e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993363
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
|
|
fa37af38
|
2022-07-12T22:47:22
|
|
Translator: Support SSO's built-in redeclaration
EXT_separate_shader_objects requires that gl_Position and gl_PointSize
be redeclared in the vertex shader. This is not adopted by GLES3.2, but
is nevertheless required to be supported if the shader enables this
extension explicitly.
Bug: angleproject:6590
Change-Id: I3428851ff9f00fb63573e4322bb62fe04bf0a095
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3757918
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7f4caaf5
|
2022-11-23T15:40:53
|
|
Vulkan: Fix VulkanPerformanceCounterTest.SubmittingOutsideCom
VulkanPerformanceCounterTest.SubmittingOutsideCommandBufferDoesNotCollectRenderPassGarbage
depends on the implementation detail on how we flush and submit
commands. The recent change crrev.com/c/4038095 fixes one issue that we
are now having one less submission on pixel 6 device. This CL adjust the
test to account for that.
This CL also changed to set mHasDeferredFlush to true only when there is
a started renderpass upon FBO bind.
This CL also opt in swiftshader into preferSubmitAtFBOBoundary feature
for test coverage and ease of debugging since ARM GPU (which enables
this flag) is not been tested on CI.
Bug: b/255414841
Change-Id: I295cec33a8ca257a5d5a98604b8c4c0c29e97cdf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4054101
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
2de99d47
|
2022-11-17T12:19:35
|
|
Reset instance/device extensions in RendererVk::onDestroy()
RendererVk::initialize() adds a nullptr to the end of
RendererVk::mEnabledInstanceExtensions (presumably to ensure the
VK implementation crashes if it tries to read past?). If
RendererVk::onDestroy() fails to clear this nullptr, it can lead
to a crash when sorting the extension lists when the renderer
is re-initialized the second time.
Bug: b/249457381
Test: cvd start --gpu_mode=guest_swiftshader
Test: EGLDisplayTest.InitalizeTerminateInitalize/ES3_Vulkan_NoFixture
Change-Id: Ib24af11024cad6b28284f3a75cc862c48abec258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4035646
Commit-Queue: Jason Macnak <natsu@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3cfdb191
|
2022-11-28T14:42:34
|
|
Change ninja path to third_party/ninja/ninja
It also removes `.exe` extension as it seems not necessary.
Bug: chromium:1338373
Change-Id: Ic94426771d56c54b8c03627cdff6dccccec1a267
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4060128
Auto-Submit: Junji Watanabe <jwata@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
d5ce0b80
|
2022-11-23T12:16:46
|
|
Skip crashed test on Pixel6 due to a bug in precision matching fixer
We recently need to add back the code that
does spriv precision match fixer to help IMG
fix a triangle clipping issue. However, the
code added back is causing Pixel 6 to crash on
this test:
dEQP-GLES31.functional.shaders.linkage.es31.tessellation.varying.rules.internal_different_precision
We are skipping this test for now until we
add a feature to enable the code path on IMG only.
Bug: angleproject:7488
Change-Id: I0fb2738d2faabe2ca78077e0383af3d100c75b03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4053100
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
71ead7b4
|
2022-11-20T15:56:42
|
|
Tests: Add Diablo Immortal trace
Test: angle_trace_tests --gtest_filter="*diablo_immortal*"
Bug: angleproject:7402
Bug: angleproject:7837
Change-Id: I7c7ccc0099707714213564740f58f04f7965a275
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4041134
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
6384f76b
|
2022-11-16T21:47:04
|
|
Vulkan: Move PipelineCacheAccess to namespace vk
In preparation for a change that uses it in that namespace.
Bug: angleproject:7369
Change-Id: Icc75b8839d702fd3e6d3d00c1d8f81619cdd89cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031150
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c5724a8d
|
2022-11-17T15:48:16
|
|
Vulkan: Retain mCurrentGraphicsPipeline if RP started
ContextVk::mCurrentGraphicsPipeline is created before renderpass
started. Right now we retain mCurrentGraphicsPipeline immediately. In
future CL of per context queue serial, renderpass will not have queue
serial until started, which means we can only retain pipeline object
after renderpass started. This CL moves the
mRenderPassCOmmands.retain(mCurrentGraphicsPipeline) call to renderpass
start time. This exposed a bug that ContextVk may have a dangling
mCurrentGraphicsPipeline pointer to an already destroyed object, if the
program has been destroyed. When ProgramExecutableVk::resetLayout()
calls ContextVk::onProgramExecutableReset () we early out because
executable no longer matches. This causes mCurrentGraphicsPipeline still
point to now deleted pipeline object. This CL fix this dangling pointer
bug by always clear mCurrentGraphicsPipeline to null in
ContextVk::onProgramExecutableReset() without checking if program
executable is the one gets reset.
Bug: b/255414841
Change-Id: I6d698c517d7a948b65c465eaaa59ea0bca24e2c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4035107
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
fc1c8cd1
|
2022-11-01T00:00:00
|
|
Refactor validation of partial compressed texture uploads
Optimized ValidCompressedSubImageSize for valid usage
and simplified its control flow.
Fixed false negative validation when the replaced
image region does not fill the entire level but
nevertheless reaches the image boundaries.
Updated InternalFormat::getCompressedImageMinBlocks
to use IsPVRTC1Format helper function.
Fixed InternalFormat::computeCompressedImageSize for
3D compressed texture blocks.
Removed redundant checks from ValidateES3TexImageParametersBase.
Optimized IsPVRTC1Format helper function to be a constexpr.
Adjusted tests, added suppressions for Intel and Adreno.
Bug: angleproject:7473
Change-Id: I6fadce949785a35e2706b06eeb00e878aa3710a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4037671
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
68b47e58
|
2022-11-16T10:46:59
|
|
Vulkan: Initial support for VK_EXT_graphics_pipeline_library
When available, this change uses VK_EXT_graphics_pipeline_library to
create pipelines. Currently, it is only used when
graphicsPipelineLibraryFastLinking is available. This restricts the use
of this extension to devices where monolithic pipelines are not any more
performant than linked libraries.
A future change adds support for other implementations by providing
async pipeline creation.
Bug: angleproject:7369
Change-Id: I1e3b7ac4aa56e75c7d6f4d0d5ea91cb0b862e581
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031489
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Steven Noonan <steven@valvesoftware.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f69f580
|
2022-11-18T14:33:20
|
|
Perf tests: Add --fixed-test-time-with-warmup
Warmup trials combined with fixed-test-time was broken
recently. It was already fragile and only worked when
parameters were provided in the right order.
On Android we're relying on this combination to get steady
results without hitting thermal limits.
To address this:
- Add a new parameter that encapsulates the combination
- ASSERT that flags aren't provided in unsupported combinations
Test: python3 restricted_trace_perf.py --fixedtime 10
Bug: angleproject:7755
Change-Id: I56fce1f65d4f0538e623951163a9c8736cb3fb03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4027282
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
202fcb8d
|
2022-11-21T15:05:13
|
|
TraceTest: Route EGLSync entry points through WGL
Test: diablo_immortal trace
Bug: angleproject:7402
Bug: angleproject:7839
Change-Id: I8897337bac38cb1923e58a9503de01454766158d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4044865
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
356b2a59
|
2022-11-18T18:50:03
|
|
Roll VK-GL-CTS from c4fe10a0c86d to 2db7b0a1c310 (7 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c4fe10a0c86d..2db7b0a1c310
2022-11-18 tapani.palli@intel.com Fix for the string query tests on desktop GL
2022-11-18 aitor@lunarg.com Add tests for out-param aliasing against other variables
2022-11-18 cturner@igalia.com Fix a typo setupVertexInputStete -> setupVertexInputState
2022-11-18 rgarcia@igalia.com Improve failure error messages in format_feature_flags2 tests
2022-11-18 amber@igalia.com Add tests for linearly tiled images
2022-11-17 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
2022-11-16 ziga@lunarg.com Merge vk-gl-cts/dev/VK_EXT_pipeline_protected_access 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 jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: jonahr@google.com
Change-Id: Ia91e36411440ba5fe572d0971b54ae6857bbeb9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4037817
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
81e9dc56
|
2022-11-04T00:00:00
|
|
Reland "Metal: Skip disabled draw buffers"
This is a reland of commit 4b084310d7bbb33631d58a461eb5814c12220926
Do not try to create a command encoder with no attachments
since it may crash some Metal drivers.
Do not reset pipeline descriptors.
Original change's description:
> Metal: Skip disabled draw buffers
>
> When creating render pass descriptors, do not
> assign textures to disabled color attachments.
>
> When creating pipeline descriptors, reset
> pixel formats of disabled color attachments.
>
> Exit early when MTLRenderCommandEncoder is not created.
>
> Added:
> * DrawBuffersTest.None
> * DrawBuffersTest.NoneWithDepth
> * DrawBuffersTest.NoneWithStencil
> * DrawBuffersTestES3.DrawWithDisabledIncompatibleAttachment
>
> Fixes:
> * conformance2/rendering/fs-color-type-mismatch-color-buffer-type.html
>
> Bug: angleproject:6430
> Change-Id: I7f650c761f757985b027388c350c01340a83fd51
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4003180
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:6430
Change-Id: I13977bd7ef32c4c85420706215b4f4d3a65629ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4030310
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
386ef2ee
|
2022-11-17T13:16:27
|
|
Fix EGL validation of core robustness attribute.
Implement EGL validation of EGL_CONTEXT_OPENGL_ROBUST_ACCESS.
Previously, only the _EXT flavour was validated.
Note that EGLRobustnessTest was changed to only exercise the
core version.
Bug: chromium:1385480
Change-Id: I51f93d6cd344d073cd9656c9fff9636ca4eac99d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4030882
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
91ee237f
|
2022-11-17T03:19:34
|
|
Revert "Metal: Skip disabled draw buffers"
This reverts commit 4b084310d7bbb33631d58a461eb5814c12220926.
Reason for revert: Crashing in webgl2_conformance_metal_passthrough_tests https://chromium-review.googlesource.com/c/angle/angle/+/4003180/comments/6e35ee21_38288238a
Original change's description:
> Metal: Skip disabled draw buffers
>
> When creating render pass descriptors, do not
> assign textures to disabled color attachments.
>
> When creating pipeline descriptors, reset
> pixel formats of disabled color attachments.
>
> Exit early when MTLRenderCommandEncoder is not created.
>
> Added:
> * DrawBuffersTest.None
> * DrawBuffersTest.NoneWithDepth
> * DrawBuffersTest.NoneWithStencil
> * DrawBuffersTestES3.DrawWithDisabledIncompatibleAttachment
>
> Fixes:
> * conformance2/rendering/fs-color-type-mismatch-color-buffer-type.html
>
> Bug: angleproject:6430
> Change-Id: I7f650c761f757985b027388c350c01340a83fd51
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4003180
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:6430
Change-Id: I485691bdcc4214ed6958f606591f23331bfbea53
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4032391
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Austin Eng <enga@google.com>
Reviewed-by: Austin Eng <enga@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b205207a
|
2022-11-16T14:39:00
|
|
Lock gpu clocks using nvidia-smi to avoid overheating
For now only applies to Windows Nvidia (GTX 1660) bots
where I tested this. Default clocks boost to 1800+
reporting 110W+ initial power usage which can't be dissipated by
the setup and and gpu quickly hits ~90C and enters aggressive
throttling. Locking to 1410MHz yield a much more modest 50~60W usage
with reasonable gpu temps in the 70C~80C range over long runs at
100% utilization.
Also log gpu temperature before/after running tests.
Bug: angleproject:7671
Change-Id: Id43bede3b1d6a445f8caee6bbbaa43f7f380199b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031495
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
4b084310
|
2022-11-04T00:00:00
|
|
Metal: Skip disabled draw buffers
When creating render pass descriptors, do not
assign textures to disabled color attachments.
When creating pipeline descriptors, reset
pixel formats of disabled color attachments.
Exit early when MTLRenderCommandEncoder is not created.
Added:
* DrawBuffersTest.None
* DrawBuffersTest.NoneWithDepth
* DrawBuffersTest.NoneWithStencil
* DrawBuffersTestES3.DrawWithDisabledIncompatibleAttachment
Fixes:
* conformance2/rendering/fs-color-type-mismatch-color-buffer-type.html
Bug: angleproject:6430
Change-Id: I7f650c761f757985b027388c350c01340a83fd51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4003180
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e6491c2f
|
2022-11-15T19:35:47
|
|
Revert "Add temporary logging of gold_session.Initialize stdout."
This reverts commit 05d86e06003bc9bcfdf62d769d6c6229e7680f5e.
Reason for revert: this helped caught an issue https://anglebug.com/7550#c6, but recent outputs seem normal so no longer needed
Original change's description:
> Add temporary logging of gold_session.Initialize stdout.
>
> Normally looks like:
> Loaded 1549 known hashes
> ...
>
> Suspecting that in failure cases it's going to result in something
> different.
>
> Bug: angleproject:7550
> Change-Id: I0190d4f679fc4161fc36a3008ba2e7d6d4764277
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804752
> Commit-Queue: Roman Lavrov <romanl@google.com>
> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Bug: angleproject:7550
Change-Id: I7c6e1569299ca4c834f29fcd01c3e707e373de16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024759
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
d8d85253
|
2022-11-15T12:38:05
|
|
Add gFixtures.clear() to ReleaseFixtures
Not necessary as we only call it on termination but if ReleaseFixtures
is called for e.g. eviction testing, it leaves bad state behind.
Bug: b/258723409
Change-Id: I345c9197742f78ec952cacecdc9ba55b518f9f53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024757
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
124ba087
|
2022-11-14T15:14:37
|
|
Tests: Add Minetest trace
Test: angle_trace_tests --gtest_filter="*minetest*"
Bug: angleproject:7831
Change-Id: If182136cd14207d7243a2fcd56737dd0ea28b2de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022260
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
f67d1224
|
2022-11-15T10:55:50
|
|
Delete osWindow and eglWindow in ReleaseFixtures
valgrind rightfully reports these as leaks
Bug: b/258723409
Change-Id: I02dbd771c6f7bd9e7df2269c77d8bd95af593044
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4025992
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
44d8fef8
|
2022-11-01T00:00:00
|
|
Add ANGLE_provoking_vertex spec
Renamed provoking vertex enums to use _ANGLE suffix.
The newly defined enums alias those from the
desktop OpenGL extensions.
Updated tests to use the new enum names.
Bug: angleproject:2829
Change-Id: I72b686773536d3d54a653114cee5292007510a55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4013700
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
40e4bc63
|
2022-11-09T12:40:48
|
|
Make DrawRangeElements validation consistent with DrawElements
According to the WebGL specification, when an empty buffer is bound to
GL_ELEMENT_ARRAY_BUFFER binding point, one of the possibilities is to
return an error when trying to draw with an index count other than
zero. This is the behavior of DrawElements variants but not
DrawRangeElements.
This change brings variants of DrawRangeElements behavior in line with
that of DrawElements.
Bug: angleproject:7822
Change-Id: I6844efd1038d95c652b72e52209dfdd74f006f9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4015418
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
fe3b0e38
|
2022-11-14T13:05:56
|
|
Skip flaky PBOExtension tests on Win until fix lands.
An extra buffer is allocated by
CoherentBufferTracker::canProtectDirectly that is being
caught by the Capture/Replay context serializations.
Bug: angleproject:7814
Change-Id: Id0b375d8fe7213fe0a34b667b721300fbc3908f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4023668
Auto-Submit: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
d13c14d0
|
2022-11-11T10:32:13
|
|
Crash with a mesage when OSWindow::New returns nullptr
Happens when !IsX11WindowAvailable()
Bug: b/258723409
Change-Id: Ib16f7ffa9c9cd7ca75cb5659ae393b87d1e96326
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4023025
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
518209e8
|
2022-11-10T16:37:20
|
|
Fix Mac build
sprintf was deprecated
Bug: angleproject:7824
Change-Id: If261426f1bf4e8d7997f051b87ea4817d1e3a264
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4020418
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fbf2d2f3
|
2022-11-05T23:00:51
|
|
Tests: Add Hungry Shark Evolution trace
Test: angle_trace_tests --gtest_filter=TraceTest.hungry_shark_evolution
Bug: angleproject:7820
Change-Id: I6e83efbb566d512c8e60bd27f00144c8c28593e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4007226
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
5459baf9
|
2022-11-05T21:47:12
|
|
Tests: Add 1945 Air Force trace
Test: angle_trace_tests --gtest_filter=TraceTest.1945_air_force
Bug: angleproject:7819
Change-Id: I90ed9e74e206bd6e2d2b1ca0071d8526f582b353
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4007225
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7fefd230
|
2022-10-20T00:00:00
|
|
GL: Adjust APPLE_clip_distance exposure
Partial revert of
I458cad29c10b9d9193c5233e24bac53361ba104e
APPLE_clip_distance cannot be implemented on top of
EXT_clip_cull_distance because the former is defined both
for ES 2.0 and ES 3.0 while the latter is defined only for ES 3.0.
Although some ES 3.0+ drivers allow gl_ClipDistance built-in in
ESSL 1.00 shaders, this behavior is not specified so ANGLE should
not allow it.
Added independent ESSL 3.00 gl_ClipDistance and gl_MaxClipDistances
definitions.
Adjusted translator unit tests.
Bug: angleproject:4452
Change-Id: Ib582ce0ac7ccb65f0200ef1d17eaab0c83b228cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963745
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
78e28cb8
|
2022-11-03T11:05:48
|
|
Vulkan: Remove glslang fallback
ANGLE's SPIR-V generator is battle tested by now.
Bug: angleproject:6210
Change-Id: I2ed88642e3ede435e3f906fbd701133be6873fb7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4002868
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6b3e4d8b
|
2022-11-07T09:32:33
|
|
Ensure replay is at the first frame on startTest().
Currently trials continue from the next frame after warmup, so the frame
that they start from fluctuate depending on how the warmup went.
This was supposed to be tackled by aligning to frameCount() but the
first warmup trial wasn't aligned as it would stop after a condition was
reached. Only stop on mTrialNumStepsPerformed % stepAlignment == 0
Bug: angleproject:7671
Change-Id: I0da74d89547eda6e78762ee7745204d0da6fe73a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4008998
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
98469694
|
2022-11-02T12:13:35
|
|
retrace: better error reporting
For a resonable error reporting the output must be captured.
Print the output on error only, if it is not written anyway.
Bug: angleproject:7800
Change-Id: Ie0ca819b7e269317073f8f1c79819e35a33a4325
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4003220
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
ea86e8a2
|
2022-11-07T14:33:57
|
|
Skip PixelLocalStorageTest.DrawStateReset on Pixel 6
Fails similarly to existing suppressions on Pixel 4
Bug: angleproject:7771
Change-Id: I4b73728827408be71de3f9e9cc2b1808c2cb0597
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4009018
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
9bda9a79
|
2022-10-22T22:05:11
|
|
Add Store Ops to pixel local storage
Browsers will need the ability to pre-empt pixel local storage, which
means every plane will need a backing store to dump to. Store Ops allow
the app to still avoid memory transactions at the end of PLS even if
their plane has a backing texture.
Bug: angleproject:7279
Change-Id: I3a3efa21773f87c03cd346a996e3c638028c68ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3974652
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
54f29c4a
|
2022-11-04T09:57:36
|
|
Suppress PixelLocalStorageTest.ClearState on iOS (simulator)
Update the suppression after a rename of the test.
Bug: angleproject:7756
Change-Id: Ia389b87d9ca2356b0a76c1a2d389bc8f5e1eed7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4006413
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
3605b399
|
2022-10-20T17:00:02
|
|
Move PLS clear values back into context state
The API that required packing raw data into a buffer was un-ergonomic
for developers and difficult to implement for WebGL vendors.
Bug: angleproject:7279
Change-Id: If7c98908c285462c5775e8e2d8811883be139f64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3972376
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
71d28a9b
|
2022-11-02T13:19:20
|
|
Vulkan: Remove unused ShaderAndSerial
The serial in the ShaderAndSerial is unused. This CL removed
ShaderAndSerial and replaced with ShaderModule directly.
Bug: b/257116399
Change-Id: I50d42af7818a12888309a80423531d75135e0bfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3998747
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5e95a4d9
|
2022-10-07T00:52:38
|
|
Add an EXT_shader_pixel_local_storage impl of PLS
Translates ANGLE_shader_pixel_local_storage shaders directly to
EXT_shader_pixel_local_storage.
Polyfills load/store operations using internal fullscreen draws.
Since the ANGLE extension needs the ability to preserve all active PLS
planes to textures, we can only support this extension when the backend
context also has access to ES 3.1 shader images.
Bug: angleproject:7279
Bug: angleproject:7771
Change-Id: Id348bde412efcc081ff29ee05ec59ad652f77569
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966075
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e3d0bee6
|
2022-11-01T13:54:16
|
|
retrace: Check for the output json file after upgrade
To check the success of writing a new trace we have to look in the
output directory, otherwise even skipped traces will report success.
Bug: angleproject:7800
Change-Id: Icd2d79c3ebe55cd02f55635b1ccf48d19f46acea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996704
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
bae82cfa
|
2022-10-31T17:11:45
|
|
TraceTest: Route eglGetError through WGL
eglGetError is not implemented, but shouldn't crash on Windows.
Bug: angleproject:7799
Change-Id: I61158ab21b86539020b5d492486333a56908ab69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3995984
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f3e047b5
|
2022-10-12T16:28:32
|
|
Add new retrace command get_min_reqs
`retrace_restricted_traces.py get_min_reqs` finds the minimum
required GLES version and extensions and record them to a trace's
json file. TracePerfTest has also been modified to use the new
"RequiredExtensions" json field to determine if it should run a
test or not. This allows several lines to be removed from
TracePerfTest's constructor.
get_min_reqs uses a divide-and-conquer strategy to find the extensions.
This approach should be faster for traces where the number of required
extensions is less than 20.
This adds a new command to retrace_restricted_traces.py called
get_min_reqs. This runs an existing trace multiple times to find what
the minimum required GLES version is, then records that version to the
trace's json file.
Bug: angleproject:7639
Change-Id: I42530e438054efec1ad79ababebe06d221d5c695
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3884175
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Sean Risser <srisser@google.com>
|
|
9f693aa3
|
2022-10-22T14:45:59
|
|
Implement an allow list for PLS
In order to guarantee no data is lost while using the
EXT_shader_pixel_local_storage extension, we need to restrict
applications to a small subset of commands while pixel local storage is
active. This CL implements the allow list for GL entrypoints using
wildcard matching inside the code generator, and adds custom validation
for the more specific restrictions that go into effect when PLS is
active.
Bug: angleproject:7279
Change-Id: I5dd48bd93c10e8775f32be32a4fcf17855eb2f0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3932552
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
9737c632
|
2022-10-24T11:34:51
|
|
retrace: Add --show-test-stdout arg to validation
This argument is checked when running validation, so we
have to define it.
Bug: angleproject:7800
Change-Id: Ia24a8c8a82a8bdcefcf707bd9c9183ead4ee095d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3990622
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
822471f0
|
2022-10-24T08:08:03
|
|
retrace: Add a catch-all clause to report all errors
With that running the a batch of tests from an external
script can bail out early when a trace fails.
Bug: angleproject:7800
Change-Id: I5041e863a8cdc212b7057b88e3f0fd68a5115470
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3990621
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
adcda453
|
2022-11-01T00:00:00
|
|
Suppress new clip distance tests on iOS
Bug: angleproject:7768
Change-Id: Ib61efbb97dd9d6b238d4a59fc50983515f9d89fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996442
Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
805e00b8
|
2022-10-27T00:00:00
|
|
D3D11: Add clip and cull distance support
Added gl_ClipDistance and gl_CullDistance
support to HLSL translator.
Added enabled clip distance GL state emulation.
Added limitSimultaneousClipAndCullDistanceUsage
limitation.
Expanded and optimized related end2end tests.
Bug: angleproject:4452
Change-Id: Id66312505254ceff43d5258d486ddcdb0462db47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3990944
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
9d9b8b07
|
2022-10-24T15:56:42
|
|
Docs: Fix up trace replay options
The restricted_traces README was missed in prior update.
Bug: angleproject:7755
Change-Id: I65380ef902d3b8a39cec16829c3e0e8170e2667b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975599
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a9868110
|
2022-09-15T17:29:04
|
|
Add support for testing with Mesa + Zink.
To run a trace test with zink, use --use-gl=zink.
Bug: angleproject:7689
Change-Id: I70073756f903db1c224fe6175d55be4cad637aca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3899382
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a77a80a1
|
2022-10-25T13:54:33
|
|
Wait for DestroyNotify and ConfigureNotify events.
There appears to be a race condition where
XDestroyWindow+XCreateWindow ignores the new size
(the same window normally gets reused but this only happens
sometimes on some X11 versions).
Wait until we get the destroy notification which should avoid races
between termination and initialization.
However, it turns out just doing that breaks things because tests get to
termination before even giving the window a chance to set up fully
(e.g. ConfigureNotify) which only happens after making the window
visible.. so additionally block in setVisible until we get
ConfigureNotify.
aaand turns out RobustBufferAccessBehaviorTest requires
setVisible(true) - tests fail when running on my local Linux and pass
now that I added setWindowVisible!
Bug: angleproject:7620
Change-Id: I93f2f05cb9d1c62776636bec976d94ead4cf0fd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3979168
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
81a244de
|
2022-10-10T15:32:25
|
|
Adding a class to perform ASTC texture decompression on the CPU
This significantly improves performance by caching and re-using the ASTC
decoder context, and using multi-threaded decompression.
This code was originally written for gfxstream.
Bug: b/250688943
Change-Id: I1727447907f2e25cf9b854ffcc9ccfc04db2fb91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3929008
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1c197e06
|
2022-10-24T16:53:01
|
|
Remove dEQP suppression for tests that already passed
Bug: b/224537784
Bug: angleproject:6898
Bug: angleproject:6910
Bug: angleproject:6918
Change-Id: I25f1d0d6fb3147d11cdf352290a683beed5082f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976789
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ef8350a6
|
2022-10-21T06:30:51
|
|
GLES1Renderer: Handle GL_BGRA the same way we handle GL_RGBA
Fixes minetest
Bug: angleproject:7774
Change-Id: Iacbe8cb9aa434ec624bfaf056092b77bda468b3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3970417
Commit-Queue: Constantine Shablya <constantine.shablya@collabora.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com>
|
|
30439960
|
2022-10-24T17:30:18
|
|
Unbreak run_angle_android_test.
Broken by ListTests removed in https://crrev.com/c/3963651
Move helper to angle_test_util.
Bug: angleproject:7755
Change-Id: I1eec442cf3e2bf6c24335d4c294a68e7e868b814
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975353
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
11a3e06b
|
2022-10-24T11:26:05
|
|
Android: Fix restricted_trace_perf.py
Test: restricted_trace_perf.py --fixedtime 10 --power --loop-count 5
Bug: angleproject:7755
Change-Id: Idbd2ccc73bd7409e2538346897b254403c1fd5d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975592
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
dc62b3ee
|
2022-10-10T21:00:16
|
|
Capture/Replay: Add trace interpreter.
Also adds a self-test using the retrace script.
Bug: angleproject:7752
Change-Id: I1985b47250bef99726d2ca2d90bef859208e357e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965128
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
bc2e9eea
|
2022-10-15T14:38:15
|
|
Refine sampling of trace perf tests.
- The warmup algorithm now computes an accurate steps estimate.
- Bump up the trials, samples, and trial time in the runner.
Bug: angleproject:7671
Change-Id: I89a73472fd72af73f695c9107119cbc559d2d6e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956946
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
97beb2f7
|
2022-10-21T18:21:16
|
|
disable pixel6 for VertexAttributeTestES31 tests
Bug: angleproject:7770
Change-Id: Icc5d750ab222d2757e9551cbe3c2e7816b77a040
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971009
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
f9c58274
|
2022-10-21T18:00:06
|
|
Disable test: FramebufferTest_ES3.DrawWithDifferentPreRotations
Bug: angleproject:7778
Change-Id: I02d71e031bb0c8455599014bcae975a1e5f5200f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971006
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
a41c6173
|
2022-10-16T08:28:53
|
|
Simplify trace test names.
Originally we had a lot of conditionally enabled test configs
in angle_perftests, that we enabled behind a flag because the
total runtime would be too large if we left everything enabled.
This CL switches to using a single test set, one for each
trace, and using a the same command-line API we use in dEQP
and the ANGLE samples to pick a single configuration. This
makes it easier to pick exactly what configurations you want
from the command line.
Because we only run one configuration each time, we don't need
to specialize the test name to include the configuration info.
We can also simplify TracePerfTest -> TraceTest since these
tests are run for both perf and correctness.
Old name: TracePerfTest.Run/vulkan_trex_200
New name: TraceTest.trex_200
Example for tests that don't use default arguments:
Old args: --enable-all-trace-tests
Old name: TracePerfTest.Run/native_offscreen_trex_200
New args: --use-gl=native --offscreen
New name: TraceTest.trex_200
Bug: angleproject:7755
Change-Id: Id93cf5725eff2e2c6b3b14804bc2902f38306e7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
0c3b4fe8
|
2022-10-21T10:17:31
|
|
Reduce --use-angle spam in TracePerfTest.
Instead of recalculating the back-end for every trace, we can do
it once in the test instantiation and pass the results around.
Bug: angleproject:7755
Change-Id: I492c639d91ee6ad6a325cff090813aaeb900b2d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971080
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
0d635faf
|
2022-10-21T09:43:13
|
|
Enable capture by default on release non-Android bots.
This will enable running the trace interpreter tests with ANGLE.
Also this cleans up a case where we now default turning off the
trace tests when we're building with non-clang.
Bug: angleproject:7752
Change-Id: I7019bb969d859e06fafc7621e8620b8a2375261e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971079
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
cc35022f
|
2022-10-21T08:42:31
|
|
Only allow missing output file when listing tests.
Avoids potentially swallowing an error in non-list-test mode
Bug: angleproject:7755
Change-Id: I4e7fba6a5d110d568d71c31585fffdb189ec12a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971078
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
06ecc918
|
2022-10-10T20:59:38
|
|
Capture/Replay: Optionally emit C sources.
This adds an option that controls if we can write out simplified C
replays. Once the work is finished we can remove the option and
only allow emitting C instead of both C and CPP.
Required emitting multi-line strings differently, as well as
conditionalizing a few other language differences.
Bug: angleproject:7713
Change-Id: I3303134316ed3fc1b4286bcd32961e8f7ecfbb06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953339
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
adde4265
|
2022-10-19T23:33:48
|
|
Vulkan: Separate pipeline cache query and insertion
In preparation for VK_EXT_graphics_pipeline_library usage, the query and
insertion functions of the graphics pipeline cache are separated. This
will allow the implementation using VK_EXT_graphics_pipeline_library to
query the monolithic pipeline cache, and if a pipeline is not found,
create it through the pipeline library caches.
Bug: angleproject:7369
Change-Id: Iebf7669ae3ea95e180646198c4861cc59d67e580
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963854
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5c0b329e
|
2022-10-19T16:59:58
|
|
Vulkan: Clean up rotation spec const update
Update during makeCurrent was done by invalidating the program, and then
at pipeline creation time the spec const was updated. This is changed
so that makeCurrent updates the spec const directly, and avoid
invalidating the pipeline.
Also removes spec const usage calculation, as it's unused.
Bug: angleproject:7369
Change-Id: I79444ce4173c4db9c6800fb02afd9e8447a25f82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963853
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
873650f4
|
2022-10-19T16:51:53
|
|
run_perf_tests.py: Fix test list unexpected error.
The tests were failing because of a failure to pull the test
json output from the device after --list-tests. This failure
was benign because the test lists still came through to the
test runner and it was able to proceed, but it was causing
an error message.
Also changes the runner to fail early if there's any error
during --list-tests.
Bug: angleproject:7755
Change-Id: I67bceec6b69fd2856136313d5e456e3c1f1caccf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964753
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
4bfb749f
|
2022-10-10T20:59:48
|
|
Capture/Replay: Move shared trace code into src/common.
This will let them be accessible to the test harnesses. The
trace tests interpreter will need direct access to the classes
that we move in this CL.
This CL also moves the GLenum utils into the common folder,
where they were already used by some other tests.
Bug: angleproject:7752
Change-Id: I97ad607938ef29bc316f6d40098478e002ea8128
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963362
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8403e4c5
|
2022-10-10T20:59:29
|
|
EGL: Resource IDs for Surface, Context and EGL Image.
This will make these classes play nicely with resource maps. As these
objects are used in a lot of places, and simplified C can't handle
unordered_map, it's necessary to index the maps by simple packed IDs
in capture/replay code. This indirection will also have increased
safety as we validate EGL resource ID handle values before accessing
the memory directly.
Also hides some of the other EGL capture methods behind helper methods
to simplify the C code and hide assignments and other complex maps.
Bug: angleproject:7758
Change-Id: Ibc7bb56430d3068bd38877c9dfb011979d4ea234
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957164
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
7b4b56f0
|
2022-10-19T00:05:22
|
|
Vulkan: Missing output mask in GraphicsPipelineDesc
Currently, there's some program state used in creating pipelines
alongside what's in GraphicsPipelineDesc. This works because the
pipeline cache lives in the program executable.
With VK_EXT_graphics_pipeline_library however, we could create vertex
input and fragment output partial pipelines that are independent from
and are shared between multiple programs. To support this, any program
state that's necessary for pipeline creation should be part of the
GraphicsPipelineDesc structure.
This change places the state affecting fragment output in
GraphicsPipelineDesc.
Bug: angleproject:7369
Change-Id: I2e48fc9da220475e1b2ed376fc947ce13489610e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963652
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f0e3d8f9
|
2022-10-18T13:51:31
|
|
Vulkan: Shader component type in GraphicsPipelineDesc
Currently, there's some program state used in creating pipelines
alongside what's in GraphicsPipelineDesc. This works because the
pipeline cache lives in the program executable.
With VK_EXT_graphics_pipeline_library however, we could create vertex
input and fragment output partial pipelines that are independent from
and are shared between multiple programs. To support this, any program
state that's necessary for pipeline creation should be part of the
GraphicsPipelineDesc structure.
This change places the state affecting vertex input in
GraphicsPipelineDesc. A follow up change will do the same for state
affecting fragment output.
Bug: angleproject:7369
Change-Id: Iccf691a1597d786efa1625f7b1c22f906201f2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964751
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d8fe28dd
|
2022-10-19T00:00:00
|
|
Suppress clip distance tests on iOS
Bug: angleproject:4452
Bug: angleproject:7768
Change-Id: Iabea037ded6ee3cfa0c325c59099772ac6adbbc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963134
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
025504b9
|
2022-10-17T17:03:03
|
|
Pass worker pools to image load functions
In preparation for the ASTC decoder using threaded decoding.
Bug: b/250688943
Change-Id: I70d669bcb57b900dbb633304182e174aec362203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3961339
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Greg Schlomoff <gregschlom@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fbd7d5fa
|
2022-10-17T17:20:09
|
|
Move thread pool classes to common/
In preparation for access by image_util files.
Bug: b/250688943
Change-Id: I24777269a5071eae9a60f939635d01ed7246461f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3961454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e495e7fd
|
2022-10-14T13:52:47
|
|
Redo perf and trace test parameters.
- Moves common argument parsing code into test_util.
- Changes the perf test arg parsing to use the common functions.
- Adds new --use-angle and --use-gl parameters to the trace tests.
- Also adds new --offscreen and --vsync parameters to the traces.
- Removes the now unneeded --enable-all-trace-tests argument.
- Both --arg=value and --arg value work in test suites now.
Now, instead of using --enable-all-trace-tests you can specify the
backend with --use-angle=swiftshader, --offscreen, or combinations
of those parameters. The test names are the same as they were
before, but only the configured tests will run in a session. We
could opt to simplify the test names in later CLs if we want to
simplify the test running. Ideally we'd keep the perf reporting
the same because then we'd keep the time series the same on the
test infra.
This also allows us to split up the trace tests into separate
targets on the bots, which will better allow us to control the
workloads and sampling of the tests. For example:
- angle_perftests becomes
- angle_perftests (microbenchmarks)
- angle_trace_perf_vulkan_tests (traces with vulkan back-end)
- angle_trace_perf_native_tests (traces with system GL)
Bug: angleproject:7755
Change-Id: I537168f3a6de96425dfda05ed98220eff9b19b76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956937
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
03eccad2
|
2022-10-18T10:39:53
|
|
Tests: Add reduced crashing shader test
Reduced case of a shader that crashes an app during SPIR-V compile.
Test: GLSLTest_ES3.NestedPowFromUniform
Bug: b/217922015
Change-Id: I8d0ccd8b2c4f4e8e51ac39c9dbfaafbf48423157
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965051
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d6ca85bd
|
2022-10-18T17:10:41
|
|
run_perf_tests.py: Remove unneeded Android args.
These only apply to the Chromium Android test runner, which we
no longer use for this script.
Bug: angleproject:7755
Change-Id: I311ac204e1999a77872a76f6d0b9d149f7ac409e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963651
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
fec93f40
|
2022-10-14T00:00:00
|
|
GL: Support clip and cull distance extensions
Use EXT_clip_cull_distance on OpenGL ES to expose
APPLE_clip_distance; use ARB_cull_distance on OpenGL
to expose EXT_clip_cull_distance.
Added disableClipCullDistance OpenGL workaround.
Bug: angleproject:4452
Change-Id: I458cad29c10b9d9193c5233e24bac53361ba104e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956075
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
11f8f537
|
2022-10-17T16:59:50
|
|
Capture/Replay: Improvements to self-test.
- print errors in the replay test
- catch missing serialization
- clean stale json output files before each replay
- add flag to show replay stdout
- fix help message
Bug: angleproject:7731
Change-Id: Ibeb780f417bdbed4b249038920963dd1bd68f4aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3962248
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e0d2c7f2
|
2022-10-18T15:07:25
|
|
retrace script: Update trace test suite name.
Bug: angleproject:7755
Change-Id: I1322543b199aacb4f083b67f0bc4f8bf93ea65b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963359
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d22edf57
|
2022-10-18T14:57:55
|
|
Perf Tests: fail test on GL_CONTEXT_LOST after glFinish().
Interrupts the test in the case I ran into:
../../src/tests/perf_tests/ANGLEPerfTest.cpp:383: Failure
Failed
Context lost
Warm-up trial took 1.11 seconds.
[ FAILED ] TracePerfTest.Run/vulkan_dr_driving, where GetParam() = vulkan_dr_driving (1476 ms)
[----------] 1 test from TracePerfTest (1476 ms total)
Bug: angleproject:7762
Change-Id: Iaf416dbdaa0eb846b744bdb4d1eb596f0c2bb1a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963360
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
0d203aef
|
2022-10-16T10:08:01
|
|
EGL: Add ID types for egl::Surface and egl::Image.
This is in preparation for using resource maps for Context, Surface
and EGLImage. The map change will make it much easier to work with
the trace fixture. It will also have a small benefit in safety as
we will longer be casting raw pointers for these types.
As these objects are used in a lot of places, and simplified C
can't handle unordered_map, it's necessary to index the maps by
simple packed IDs in capture/replay code.
Bug: angleproject:7758
Change-Id: Ib1d19622a4f2a6f0458cc28f5bbe30bb9f349b98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957163
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4be8294c
|
2022-10-06T09:50:28
|
|
Tests: Enable EGL_ANGLE_iosurface_client_buffer tests on iOS
This enables EGL_ANGLE_iosurface_client_buffer extension tests on iOS
platform. A few OpenGLES related tests had to be suppressed though. I'm
getting the following:
[==========] 96 tests from 1 test suite ran. (960 ms total)
[ PASSED ] 66 tests.
[ SKIPPED ] 30 tests, listed below:
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRX8888IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRX8888IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRG88IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRG88IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR8IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR8IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES2_Metal
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES3_Metal
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRA1010102IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRA1010102IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRA1010102IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRA1010102IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRGBA16FIOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRGBA16FIOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToRGBA16FIOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToRGBA16FIOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToYUV420IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToYUV420IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToYUV420IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToYUV420IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToP010IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToP010IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToP010IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToP010IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.MakeCurrent/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.MakeCurrent/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRX8888IOSurfaceWithTexBaseMaxLevelSetToZero/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRX8888IOSurfaceWithTexBaseMaxLevelSetToZero/ES2_Metal
Test: iPhone 13 and ./iossim -d 'iPhone 13' -c \
'--gtest_filter=\*IOSurfaceClientBufferTest\*' angle_end2end_tests.app
Bug: angleproject:5491
Change-Id: Id7c489ae41b11442a2dd06174b2c279894e83401
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957539
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
968041b5
|
2022-08-19T12:11:23
|
|
Metal: Optimized BufferSubData per device
Adds a staging buffer path which means there are 4 paths
for bufferSubData.
1. direct copy
* get a pointer to the buffer
* copy the new data to the buffer
* if the buffer is managed, tell metal which part was updated
2. use a shadow copy
* copy the data to a shadow copy
* copy the entire shadow to a new buffer
* start using the new buffer
3. use a new buffer
* get a new buffer (or unused)
* put the new data in the new buffer
* blit any unchanged data from the old buffer to the new buffer
* start using the new buffer
4. use a staging buffer
* get a staging buffer
* put the new data in the staging buffer
* blit from the staging buffer to the existing buffer.
Further, there are 3 types of memory storage modes.
Managed, Staged, Private.
Based on the GPU type different storage modes and different
paths in different sitatutions are more performant.
So, add feature flags to select paths by GPU.
Bug: angleproject:7544
Change-Id: I741dd1874201043416374194bd2001ded8dbd9b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3842641
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
0e0ea026
|
2022-10-13T18:29:33
|
|
Split trace tests out into angle_trace_tests.
This makes angle_perftests strictly for microbenchmarks.
The trace tests are a better separated target because they
are for both gold correctness tests and performance.
You can now use the GN arg "build_angle_trace_tests" to control
building the trace tests. "build_angle_trace_perf_tests" is
still supported for compatibility.
Updates the infra scripts to use this new trace tests target.
Also updates the build so by default we'll build the trace
tests if you check them out, without needing a custom arg.
Also updates docs.
Bug: angleproject:7755
Change-Id: I2b1ae67799234cc1aefe7cda5f3af945c3f867fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953340
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
09b079bb
|
2022-10-14T14:28:10
|
|
Vulkan: Move pipeline subset out of pipeline desc
This way, the same pipeline desc can be used to query multiple caches
with different subsets. This design requires the pipeline cache to be
templated, while the previous design required the desc to be copied (so
the subset bits would be different).
Bug: angleproject:7369
Change-Id: Id3fd92e6f9b059069952ff092a5c867e79287604
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956940
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
b354aa4d
|
2022-10-17T13:18:17
|
|
Skip some end2end tests failing on iOS
Bug: angleproject:7756
Change-Id: Ia9a7d9260feb97d094b2e58104d7cdb4a866e5b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3960968
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
eaa71709
|
2022-10-14T11:47:07
|
|
Vulkan: s/ContextVk/Context in pipeline creation
With VK_EXT_graphics_pipeline_library, pipeline creation may happen on a
thread. This change prepares the interface such that only a vk::Context
is needed, instead of ContextVk.
Bug: angleproject:7369
Change-Id: Ib7e9e7e140e27a4af71bffee069c88e3d7f47dfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956935
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
19fb11b6
|
2022-10-14T11:12:20
|
|
Vulkan: Merge warmed up compute cache into renderer
It was done for graphics, but was accidentally missing for compute.
Bug: angleproject:5881
Bug: angleproject:7629
Change-Id: I28a4c2e38b07b08e1636b443f2c0963130965ebb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956496
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
09a1aec4
|
2022-10-14T08:59:07
|
|
Expand suppression for async timer tests.
Flaking on SwiftShader as well.
Bug: angleproject:7548
Change-Id: I419c602184c03141c75b21bf3a0b66d8b2a34303
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956494
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
94b45181
|
2022-10-12T14:54:14
|
|
Vulkan: Rearrange graphics pipeline desc bits
In preparation for use of VK_EXT_graphics_pipeline_library, the pipeline
state is split in three contiguous regions:
- Vertex input
- Pre-rasterization and fragment stages ("Shaders" for short)
- Fragment output
There is some state that affects both Shaders and Fragment output, which
is split and placed in between the two. This will allow the hash and
compare functions to eventually access each of those pipeline subsets as
a contiguous piece of memory.
Bug: angleproject:7369
Change-Id: Iedc4cf15ed6c7fed6ba93039889fbf5dd191e041
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949914
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0b7f3f5e
|
2022-10-12T17:47:06
|
|
More robustness tests
Similar test to what was introduced in
https://chromium-review.googlesource.com/c/angle/angle/+/3943534, but
for vertex and compute shaders.
Bug: angleproject:7629
Change-Id: I743233136125358edb6a15760b1ece63c36d3f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949915
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c22f091d
|
2022-09-29T18:58:33
|
|
Replace Hard-Coded egl image attribs
This change is adapted from https://crrev.com/c/3838866
Added two hash maps to track below information:
EGLImage* --> EGLint* attrib
TextureID --> EGLImage*
During the CaptureShareGroupMidExecutionSetup,
when we iterate through all the textures the app created,
if the texture is bound to External target,
we will refer to the hash map TextureID --> EGLImage*
to find the EGLImage* pointer, and then use the result
as the key to refer to the other hash map
EGLImage* --> EGLint* attrib to find the attributes used
to create that EGLImage object. We can then use the
attributes to populate eglCreateImage or eglCreateImageKHR
calls in the trace calls.
Bug: angleproject:7570
Change-Id: I729de4ddea59242ccbe6243e036451f290545185
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3928212
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
135022e4
|
2022-10-11T00:03:11
|
|
Vulkan: Create robust pipelines based on context state
Previously, pipelines were made robust based on whether any context in
the share group has so far been made robust. This means that pipelines
created on non-robust contexts would still be compiled as robust.
Inefficiency aside, this was buggy because robustness was not part of
the pipeline cache key, so if a pipeline was created as non-robust
first, then recreated in a robust context, it would reuse the non-robust
variant.
With VK_EXT_pipeline_protected_access, a similar situation arises for
context protected-ness. However, it is incorrect in that case to create
pipelines as protected unnecessarily.
This change makes pipeline robustness a part of the pipeline cache key,
in preparation for protectedness to be added similarly. Compute
programs may now generate multiple pipelines as a result too.
Bug: angleproject:7629
Change-Id: Ie95f10eff878f8c8b221c1018da44385c7aad15e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3943534
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
9b5fff82
|
2022-10-05T21:56:00
|
|
Vulkan: Emulate shader stencil export for MSRTT
The MSRTT emulation code had one corner case issue that could lead to
performance and memory inefficiencies. That is when stencil needs to be
unresolved and VK_EXT_shader_stencil_export is not supported.
This change adds a path to emulate VK_EXT_shader_stencil_export and
removes this inefficiency.
This should help Chromium on older Android devices that lack both this
and the recent VK_EXT_multisampled_render_to_single_sampled extensions.
Chromium frequently breaks the render pass (crbug.com/1336981), which
easily leads to this situation.
Bug: angleproject:4836
Change-Id: Ifceec43f7f3807b7e32f4b379edcd4351ae76414
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3935892
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
76f377c5
|
2022-06-17T16:05:16
|
|
Vulkan: Break renderpass when switch from query to non-query
getQueryResult will wait for query result to be available, which means a
potential CPU bubble if the result is not yet available. On tiler GPUs
it will at least wait for renderpass to complete. Usually query enabled
draws are very tiny (usually just draw a point to see if it is occluded
or not), and query disabled draws are expensive. Some apps do issue a
glFlush when switch from query draw to non-query draw, but app like
dead_by_daylight does not issue such flush. In order to reduce the
bubble, this CL ends renderpass and issue a flush when we switch from
query enabled draws to non-query enabled draw so that the result will be
available much earlier, this reduce the CPU bubble. This result in
dead_by_daylight frame time improves from 5.45ms to 3.5ms (35%
improvement).
Bug: b/250706693
Change-Id: Ia3a32a9fb336e6f256809b3cad83f61a45415fb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3931739
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a217dd56
|
2022-10-06T11:25:31
|
|
Tests: Add The Witcher: Monster Slayer trace.
Test: angle_perftests --gtest_filter="*the_witcher_monster_slayer*"
Bug: angleproject:7747
Change-Id: I1851fc00cb665485b6111b4e01b0075d2440e62a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3942649
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
6eff905c
|
2022-10-11T10:08:12
|
|
Make Android gold tests populate os and os_version correctly.
os = Android
os_version = {ro.build.fingerprint}
These show up in Skia gold. Currently set to Linux info.
Bug: None
Change-Id: If2ffe5e8a6620fde9bd0a983f9c0d11ffe6a75c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3946179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d0a024f9
|
2022-10-09T16:47:33
|
|
Lower perf tests resource usage further.
This reduces the warmup trials from 2->1 and the trial time
from 5s -> 4s.
Old: (2 warmup + 3 trials) * 5s / trial ~= 25s per sample
New: (1 warmup + 3 trials) * 4s / trial ~= 16s per sample
The tests should run in about 2/3 the time as it took prior.
A future change will likely have to split up the tests so we
can run shorter shards in sequential groupings between tests.
Bug: angleproject:7738
Change-Id: Ic6c744be838174b61f4eb832189ccad14f89103d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3939917
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|