Граф коммитов

15404 Коммитов

Автор SHA1 Сообщение Дата
Shahbaz Youssefi 1f8e35b55d Remove EvqBaseVertex and EvqBaseInstance qualifiers
They are only used to mark angle_BaseVertex and angle_BaseInstance
uniforms, but they make it complicated for the rest of the code to
identify them as uniforms.

Bug: angleproject:4889
Change-Id: I0c632bb595dc9a7fcda19db11ecb27539b1c33e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818144
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-12 22:03:24 +00:00
David Stevens 0615bbde39 Ignore subclass when finding GPU PCI devices
When enumerating PCI devices to find GPUs, only filter on the base
class. This allows devices with class PCI_CLASS_DISPLAY_OTHER to be
found.

Bug: b/178748337
Change-Id: Ia0cd29dddc49a16428da16c1ef1b94040c1221f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2817973
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2021-04-12 20:33:14 +00:00
Jamie Madill 77600bcb3c infra: Remove named vs_toolchain cache.
This is no longer needed now that ANGLE uses the pinned depot_tools.
We should land this after the recipe updates to no longer use the
cache.

Patch series:
1. http://crrev.com/c/2819943
2. http://crrev.com/c/2819472
3. This CL

Bug: angleproject:5842
Change-Id: I5d166c7cd66a9d7f077c09b4149de08b22724af8

Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819945
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-12 17:31:31 +00:00
Jamie Madill 33505f0300 DEPS: Include a pinned version of depot_tools.
This will align the ANGLE standalone build more with Chromium.
It can catch some kinds of build break on the CQ, preventing
some churn, and also will let us cache the vs_toolchain without
needing a special named cache.

Also includes a necessary tool to cross-compile Win on Linux.

Patch series:
1. This CL
2. http://crrev.com/c/2819472
3. http://crrev.com/c/2819945

Bug: angleproject:5842
Change-Id: Idaee3b44d970d1171076a8eaa09e3e0555331d49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819943
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-12 15:24:30 +00:00
angle-autoroll 81401be2a0 Roll SwiftShader from 4c0f888d7ef8 to 77edad299907 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4c0f888d7ef8..77edad299907

2021-04-09 capn@google.com Remove the OpenGL ES 1.1 build target

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC geofflang@google.com on the revert to ensure that a human
is aware of the problem.

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/master/autoroll/README.md

Bug: None
Tbr: geofflang@google.com
Change-Id: Ifcf34ec0ac6f78b6d7c0655b8ec642baadd50254
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821188
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-12 11:23:04 +00:00
angle-autoroll 7093777bce Roll Chromium from 920c6c5ffe65 to 497fa2f8d899 (507 revisions)
920c6c5ffe..497fa2f8d8

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC geofflang@google.com on the revert to ensure that a human
is aware of the problem.

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/master/autoroll/README.md

Changed dependencies
* build: 0006b44d1f..563f147c85
* testing: 75df5ad7e8..85de9f3f89
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ab687ea7be
* tools/clang: 6e92ef6460..006bc90fc4
* tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926
* tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926
* tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926
* tools/mb: e509f34db2..a2223becbd
No update to Clang.

Bug: None
Tbr: geofflang@google.com
Change-Id: I2bacfdbbb2205c3da9f37c546e82917fe2adc59d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820525
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-12 09:09:23 +00:00
Mohan Maiya f92eb43ce9 Vulkan: All builtins of gl_out needs to be considered as active
All builtins of gl_out, like gl_out[].gl_Position need to be
considered active as well.

Bug: angleproject:5557
Test: dEQP-GLES31.functional.tessellation.shader_input_output.gl_position_tcs_to_tes
Change-Id: I74aeef86be573dc8df17472b88acd521032d7921
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2786630
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-11 03:28:36 +00:00
Shahbaz Youssefi 0273ea3f4f Vulkan: Use RGBA16_FLOAT for buffer format fallback
... instead of RGBA32_FLOAT.  VK_FORMAT_R16G16B16A16_SFLOAT has
mandatory support for vertex buffers.

Bug: b/184163871
Change-Id: I7ef2933cd15e46bb984e6fd1b020d2ec15b9c60e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-10 04:04:31 +00:00
Ian Elliott b17a93175d Vulkan: damage rectangles must never be pre-rotated
Remove the SurfaceVk::present() code that rotated damage rectangles
and the feature flag that controlled that rotation.

The Vulkan specification was changed so that the rectangles provided
to the VK_KHR_incremental_present extension must never be pre-rotated.
The spec change requires the same behavior on all platforms (just in
case), even though Android is the only platform known to support
rotation.

FYI: the Vulkan spec change was merge request 4442.

Bug: b/182930524
Change-Id: I5128fd76e718f3d964c9091830bcc5886d265543
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818826
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-10 02:08:58 +00:00
Ian Elliott fedb85b707 Vulkan: Warn for unsupported vertex attrib format
Provide both a performance warning and a debug-util label (for AGI)
when loading a vertex attribute requires a format conversion.

Bug: b/184355822
Change-Id: Id8cbb34f70214327e1f5cc96559e4ea66dc17889
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801154
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-04-10 02:01:28 +00:00
Shahbaz Youssefi 795d754369 Remove unused translator option bits
Usage of SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT is removed from
ANGLE by [1], and from the validating command decoder by [2].  The flag
is only ever disabled in Firefox.

SH_REMOVE_POW_WITH_CONSTANT_EXPONENT is removed from the validating
command decoder by [3].  Not used in Firefox.

[1]: https://chromium-review.googlesource.com/c/angle/angle/+/1558678
[2]: https://chromium-review.googlesource.com/c/chromium/src/+/2810880
[3]: https://chromium-review.googlesource.com/c/chromium/src/+/2810879

Bug: angleproject:4889
Change-Id: If7d9c31c48510b1486a2285a88475b3c01a77527
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810806
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-10 01:59:48 +00:00
Yuly Novikov 82cc2d213b Really fix iOS build
Complete the fix started in http://crrev.com/c/2812698

Bug: angleproject:5811
Change-Id: I9fa50b31dda116e01203d65d47dc6420391e999d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818243
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-10 00:11:48 +00:00
Ian Elliott af58be7ed4 Add TextureType::Buffer to RecordBindTextureTypeError()
Bug: b/184767884
Change-Id: I67098de503748c86f2b957db76539e73c87bd179
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818818
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2021-04-09 23:22:48 +00:00
Jamie Madill 147adcfaeb Android: Call getExternalStorageDirectory natively.
This changes the call to base.test.util.UrlUtils to a native OS
method. We may need to update this when Chromium starts running
tests on "R". At that point we'll need a non-base mechanism to
pass the right folder to ANGLE. This could be via env vars,
debug properties, command-line arguments, or #defines.

The prior implementation is left as commented-out code as a
reminder to fix later.

Also updates WARN() to std::cerr because WARN() was not showing
up when testing.

Bug: chromium:1097957
Change-Id: I4a84ea007341dbe7fe2184eac3aae0ddca44cc9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818240
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-04-09 22:35:00 +00:00
Yuly Novikov 5902753b16 Skip TracePerfTest.Run/native_real_gangster_crime on Linux AMD
Bug: angleproject:5822
Change-Id: Id4dc458dc71fcd20f8982052fa789fb04e420c8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818241
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2021-04-09 20:49:41 +00:00
Shahbaz Youssefi ba7531dadf Add tests that use, then update, then use buffers
This triggers vk::DynamicBuffer allocations in BufferVk.

Bug: angleproject:5719
Change-Id: Ida855b23618497f76102e55f89ab1678f9c08753
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809856
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-09 20:29:31 +00:00
Charlie Lao e249239c54 Vulkan: Add featue flag to force highp to mediump in fragment shader.
Adding feature flag that forces highp in fragment shader to mediump. It
is disabled by default. You can enable it for experiment.

Bug: b/184850002
Change-Id: I73980be4ad160eb1b17a3a3ecfc09f2e4aeb468c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815240
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2021-04-09 20:26:21 +00:00
Tim Van Patten 085044d1f3 Fix angle_expose_non_conformant_extensions_and_versions
The GN arg angle_expose_non_conformant_extensions_and_versions was not
being referenced correctly in the Vulkan backend, so it was not being
properly enabled in RendererVk.cpp. This CL updates the BUILD.gn files
to fix this issue.

Bug: b/184767884
Change-Id: I7244aad9112c38bf76544f8c767563a7f0cf1b2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2816165
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-04-09 18:57:39 +00:00
Mohan Maiya d3c8d54384 Consider AOSP ANGLE path as well during SHA generation
Account for an in-tree AOSP build of ANGLE while generating
ANGLE commit SHA

Bug: angleproject:5838
Change-Id: I81d6d821810544c35daf6af9b167f18a4b095e99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815241
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2021-04-09 17:15:57 +00:00
Shahbaz Youssefi a7b60f133d Translator: Validate multi-declarations are separated
Many transformations only look at the first variable in a
TIntermDeclaration.  This change validates that once the
SeparateDeclarations transformation has been run, multi-declarations are
not reintroduced.

Bug: angleproject:2733
Change-Id: If5f96689cbdd28817c479dd7c495b91535f87199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815565
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-09 17:06:27 +00:00
Shahbaz Youssefi 2feb3db572 Remove unused translator option bit
SH_DONT_PRUNE_UNUSED_FUNCTIONS was only used by tests, and never used by
ANGLE or chromium.

Bug: angleproject:4889
Change-Id: I4926f86125e69b07e9d4d95134b7b70522e0d64f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2607491
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-09 15:16:47 +00:00
angle-autoroll 41dbfe9c9d Roll Chromium from 6cad7c765c8b to 920c6c5ffe65 (341 revisions)
6cad7c765c..920c6c5ffe

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC geofflang@google.com on the revert to ensure that a human
is aware of the problem.

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/master/autoroll/README.md

Changed dependencies
* build: 8df5f2532b..0006b44d1f
* testing: b134bc315e..75df5ad7e8
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..69936de9be
* tools/clang: a387faa2a6..6e92ef6460
* tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b
* tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b
* tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b
* tools/mb: 93c8ae3a54..e509f34db2
No update to Clang.

Bug: angleproject:5417
Tbr: geofflang@google.com
Change-Id: Icaf720255a92c10111226d330fc2a055e1d4950d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815103
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-09 09:47:32 +00:00
Charlie Lao 4340fcfaa8 Vulkan: Add command option to run app traces with minimum GPU work
This CL interposes the draw call API entries. If enabled by command line
option "--minimize-gpu-work", it will override all draw calls to render
a single GL_POINT instead. It forces view port and scissor size to 1x1.
It forces all data copy to 1 texel or 1 byte. It ignores
glGenerateMipmap call. The goal is to make the frame time reflect the
driver CPU performance as much as possible so that we can use it to
compare ANGLE vs native GLES on the driver overhead, as well as
identifying CPU hot spot.

Bug: b/184766477
Change-Id: Ie8b5b585e0ed55320fed7863da37cce419acc65f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802858
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-09 01:07:12 +00:00
Cody Northrop c2075d81b4 Tests: Add Call Break: Offline Card Game trace
Test: angle_perftests --gtest_filter="*call_break_offline_card_game*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/184866238
Bug: angleproject:5837
Change-Id: I39035e62559d6a28fd1ae62ee6ffe6323d94931f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815780
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-04-08 23:13:52 +00:00
Doug Horn fc189386e9 Revert "Fix multithreaded crash on draw commands on D3D11 backend."
This reverts commit 8b9889bf62.

Reason for revert: Breaks CI

Original change's description:
> Fix multithreaded crash on draw commands on D3D11 backend.
>
> A crash can occur if thread A is executing eglDestroyContext while
> thread B issues a draw call, if the threads are interleaved in such a
> manner that a makeCurrent occurs without triggering a change to the
> global context and a dirtyAllState call. We handle that case by
> explicitly making current the proper contexts in the eglDestroyContext
> call.
>
> A test has been added that triggers a crash without this fix when
> running on the D3D11 backend. In addition, all of MultithreadingTest
> is enabled for the D3D11 backend.
>
> Test: Ran MultithreadingTest. Test exhibits a crash before this
> change, and does not after this change. Also ran:
>     dEQP-EGL.functional.sharing.gles2.multithread.*
>     dEQP-EGL.functional.multithread.*
>
> Bug: b/183756357
> Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Doug Horn <doughorn@google.com>

Bug: b/183756357
Change-Id: I2e9d6385576330f84623d7dafbf690642fcb441f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815242
Commit-Queue: Doug Horn <doughorn@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-04-08 21:52:01 +00:00
Tim Van Patten 0261b1d3a8 PPO: Fix updating sampler uniforms between draws
Updating sampler uniforms when using PPOs is currently broken, since the
Context/State use the currently bound ProgramExecutable which belongs to
the PPO, but the updates only happen to the Program's executable that
the uniform belongs to.

This change updates Program::updateSamplerUniform() to update any PPO
ProgramExecutables with the updated texture information when a Program's
sampler uniforms are updated, so the Context/State use the correct data.

Bug: b/182409935
Test: ProgramPipelineTest31.SampleTextureAThenTextureB
Test: SamplersTest31.SampleTextureAThenTextureB
Change-Id: I3c4e156c6e0c781e706f321f0bd12baf484ff42a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797951
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-04-08 20:19:56 +00:00
Cody Northrop 408c151281 Tests: Add Bubble Shooter trace
Test: angle_perftests --gtest_filter="*bubble_shooter*"
Tbr: timvp@google.com,jmadill@google.com
Bug: b/184844832
Bug: angleproject:5836
Change-Id: I4a729028020d7e668cd7e368a4473f4e37c55b0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815778
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-04-08 20:18:56 +00:00
Yuly Novikov 0eaaff28f4 Fix iOS and Android component builds
After the changes in http://crrev.com/c/2797833

Bug: angleproject:5811, angleproject:5820
Change-Id: I629978684ba4d002c296d4dcfe434b09782db4b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2812698
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-08 18:21:17 +00:00
angle-autoroll cec9011885 Roll Chromium from c8a676460af3 to 6cad7c765c8b (151 revisions)
c8a676460a..6cad7c765c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC geofflang@google.com,jmadill@google.com on the revert to ensure that a human
is aware of the problem.

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/master/autoroll/README.md

Changed dependencies
* build: 77edba11e2..8df5f2532b
* testing: a9d80f02d0..b134bc315e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..145b45a227
* tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87
* tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87
* tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87
No update to Clang.

Bug: angleproject:5417
Tbr: geofflang@google.com,jmadill@google.com
Change-Id: I2138d63a5c0fcd4869c87446ca0a59f9ed350d46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815239
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-08 18:11:06 +00:00
Doug Horn 8b9889bf62 Fix multithreaded crash on draw commands on D3D11 backend.
A crash can occur if thread A is executing eglDestroyContext while
thread B issues a draw call, if the threads are interleaved in such a
manner that a makeCurrent occurs without triggering a change to the
global context and a dirtyAllState call. We handle that case by
explicitly making current the proper contexts in the eglDestroyContext
call.

A test has been added that triggers a crash without this fix when
running on the D3D11 backend. In addition, all of MultithreadingTest
is enabled for the D3D11 backend.

Test: Ran MultithreadingTest. Test exhibits a crash before this
change, and does not after this change. Also ran:
    dEQP-EGL.functional.sharing.gles2.multithread.*
    dEQP-EGL.functional.multithread.*

Bug: b/183756357
Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
2021-04-08 17:03:17 +00:00
Tim Van Patten d3e1a7ff6e Reset mCurrentGraphicsPipeline in ProgramExecutableVk::reset
ContextVk::mCurrentGraphicsPipeline should be reset during
ProgramExecutableVk::reset() since programInfo.release() frees the
PipelineHelper that it's pointing to. This has resulted in several
use-after-free errors, which this CL will prevent in the future.

Bug: angleproject:5624
Bug: b/182409935
Change-Id: I847bb7eb5b593c89b84f0fbbca23ea5367f5f55c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2792861
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-04-08 15:58:20 +00:00
Jamie Madill 54dfb62c24 Make "force context check" an optional GN flag.
Previously it was enabled by default in every build that includes
D3D11. This would impact CPU overhead in Chrome and other targets
that don't need this feature.

Bug: angleproject:5828
Change-Id: Ic9d700847c72978540b66fdaf7a62f959779f2e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809855
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Doug Horn <doughorn@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-08 15:47:50 +00:00
Lubosz Sarnecki b604f84339 Tests: Add Professional Baseball Spirits trace.
Skip the test on Vulkan+AMD+Linux, as it produces OpenGL errors on
Mesa/RADV.
Also skip the test on Vulkan+Intel+Linux, as it requires a Mesa version
of 20.3.5 or higher to work.

Test: angle_perftests --gtest_filter="*professional_baseball_spirits*"
Bug: b/181870336
Bug: angleproject:5827
Change-Id: Ic9c5e3767cb6cf7e925cfbcd2ae5dda0d736b87c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810788
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2021-04-08 15:25:40 +00:00
angle-autoroll 83c90f2452 Roll vulkan-deps from 575b36060ded to c18d8cd5016c (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/575b36060ded..c18d8cd5016c

Changed dependencies:
* vulkan-validation-layers: 8bb72ad221..f563b367c7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC geofflang@google.com on the revert to ensure that a human
is aware of the problem.

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/master/autoroll/README.md

Bug: None
Tbr: geofflang@google.com
Change-Id: I6175915edc5f9da742b0076e9700190959bf05c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2814338
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-08 11:55:17 +00:00
angle-autoroll 619cdbd0e3 Roll Chromium from 743bf032b75b to c8a676460af3 (490 revisions)
743bf032b7..c8a676460a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC geofflang@google.com on the revert to ensure that a human
is aware of the problem.

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/master/autoroll/README.md

Changed dependencies
* build: 3e210bf13a..77edba11e2
* buildtools/third_party/libc++abi/trunk: a136a3b8e9..d0f33885a2
* testing: 05632231e5..a9d80f02d0
* third_party/abseil-cpp: 3cd3442b05..5447d00cc9
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..44319b56ef
* tools/luci-go: git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15..git_revision:63310fdc83db00f27d0902961627ff98043076e0
* tools/luci-go: git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15..git_revision:63310fdc83db00f27d0902961627ff98043076e0
* tools/luci-go: git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15..git_revision:63310fdc83db00f27d0902961627ff98043076e0
* tools/mb: 8311fb760c..93c8ae3a54
* tools/skia_goldctl/linux: -rExHiWOcks_RlkFBMnAOYEVLEGvm3sncdHy7RIQUvUC..hppkAohY9Cc45kW6zZWYXtdLKzo9CQ9XvcqLNIBaqQQC
* tools/skia_goldctl/mac: vJzRxG9eh8Zl9oN4Li63sfRu7kHPvf54fXvv-nMXJZcC..JnqYnN3TwP__L0jvUBgcLpPQsBgz9ZcBk8-bsbiez6QC
* tools/skia_goldctl/win: Uc9sbdhlwsqNbi5Q4fAmKXKL665j5gsdf3Ifpe4qnr0C..0el4SjlMxSJWhUyzmXXYXqGT59IZHXzEaDTufNH8bOwC
No update to Clang.

Bug: None
Tbr: geofflang@google.com
Change-Id: Idc95dd300300cb1d8eb49f95acaa51f017bb9b3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2812961
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-08 08:40:57 +00:00
Cody Northrop fc28c1db5f Tests: Add Disney Tsum Tsum trace
Test: angle_perftests --gtest_filter="*disney_tsum_tsum*"
Tbr: timvp@google.com,jmadill@google.com
Bug: b/184770989
Bug: angleproject:5835
Change-Id: I2ee74f95391fa30b0d5bfa88be5fc7dd59fd6f70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2811644
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-04-08 02:54:26 +00:00
Brandon Schade 5af6306a05 Vulkan: Update layer provoking vertex for geometry shaders
Set the GS layer provoking vertex value to
GL_LAST_VERTEX_CONVENTION if the provoking vertex extension
is enabled. Otherwise, use GL_FIRST_VERTEX_CONVENTION as
vulkan follows this convention for provoking vertex.

Tests: dEQP-GLES31.functional.geometry_shading.layered.layer_provoking_vertex_*
Bug: angleproject:5452
Change-Id: Ie385f3b713486c54114dbfcefd799d180701bb60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2799033
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-07 23:03:26 +00:00
Cody Northrop d49f735183 Capture/Replay: Ignore deletes of buffer 0
Per the spec for DeleteBuffers:
> Unused names in buffers are silently ignored, as is the value zero.

Haven't seen an app delete unknown buffers yet, but just hit one that
deletes 0 a lot.

Test: MEC for Disney Tsum Tsum
Bug: b/184770989
Bug: angleproject:5835
Change-Id: I2070b753d89fdcf390203072cd7ec2c9f915089c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2811643
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-07 22:50:36 +00:00
Jamie Madill efc53d0f5a Vulkan: Refactor to descriptor offset array.
This is in preparation for using dynamic offsets for other sets than
the default descriptors.

Bug: angleproject:5736
Change-Id: I546e688ad57a35b380f8d7f303ffc0c62773ac18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804813
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-04-07 19:27:26 +00:00
Lubosz Sarnecki 4640dbff84 restricted_traces: Remove sha1 remains.
This deletes redundant sha1 files that are not required anymore since
the migration to CIPD.

Bug: angleproject:5811
Change-Id: Ib1131f9cdda0b00b8f605f8b6dff6650d262ce25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-07 19:01:56 +00:00
Chris Forbes 84a62266c6 Expand CL plumbing support to cover all versions
The OpenCL CTS assumes that libOpenCL has symbols for all versions as it
usually expects to link against the Khronos loader. Since we're not
using that, we have to expose all the symbols it wants, whether we
intend to implement all versions or not. All the 2.x stuff will likely
remain stubs forever as it is made optional again in 3.0.

In the generator scripts, work around a small issue where one function
takes an array-typed parameter, which confused just_the_name and
produced invalid code.

Bug: angleproject:5819
Change-Id: I6c3591dc9229c5276f14ff66ee3ee6362e8bf622
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807531
Commit-Queue: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: John Plate <jplate@google.com>
2021-04-07 17:34:26 +00:00
Jamie Madill 68f06888a0 Perf Tests: Trigger test failure on API errors.
A prior refactor had broken the method we used to cause test steps to
fail on API errors. This CL restores the path. We detected this when
analyzing a particular GLES trace that contained invalid GLES calls.

Bug: angleproject:5788
Change-Id: I26940e49cf73ce6050ea6ee274d5c5748835a167
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2782008
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-04-07 17:13:52 +00:00
Cody Northrop 8135dccf1b Scripts: Update bootstrap.py to python3
Bug: angleproject:5829
Change-Id: I564fadee92b6ff301c055cf95a163ffb3c838685
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810338
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-07 17:07:02 +00:00
Jamie Madill b4cb63a5be Handle trace prerequisites.
real_gangster_crime: external images
avakin_life: external images
hill_climb_racing: skip on Adreno

Bug: angleproject:5822
Bug: angleproject:5823
Change-Id: I7c6a27eab72ba69464748928c93dda57fa8094f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809653
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-04-07 17:05:42 +00:00
Cody Northrop bd82de9500 Capture/Replay: Fix upload script
Small fix to info level logging.

Bug: angleproject:5811
Change-Id: I7c6c762e17b652eedcbde0719996532e730e2a39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809889
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-04-07 16:52:12 +00:00
Peter Kotwicz bf0c6ae1ee Improve Angle Android gtest support
This CL makes angle_test() use an angle-specific gtest launcher -
AngleUnitTestActivity.java. This enables building standalone Android
angle without //base

Chromium-Bug: 1149922
Bug: None
Change-Id: Id84f3e2bd84c5017ed1988ca07534f424ebfa596
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2745535
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-07 16:50:52 +00:00
Jamie Madill 2ef1e0fc7d perf_test_runner: Enable all trace tests.
Will allow running "null" Mock ICD tests.

Also fixes a crash running the Mock ICD with the overlay.

Bug: angleproject:5736
Change-Id: I42e3943a0de00dbab3ee125f1946afd22b38fec6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809096
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-07 16:42:52 +00:00
Jamie Madill 31d48df10f restricted trace tests: Fix script.
This script was not parsing the trace list properly and was
running no tests.

Bug: angleproject:5811
Change-Id: I925bc16ac476823ca2f850d4a9e208b9bb5deb62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810805
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-07 16:07:12 +00:00
Tim Van Patten 6a60623171 Add Mesa Vendor ID
ANGLE doesn't recognize the Mesa vendor ID, leading to a crash in
GetVendorString(). This is exposed when trying to capture traces of
ANGLE captures with RenderDoc.

Bug: angleproject:5824
Change-Id: I6c45a01dba78fa6057df26b38ca3db89cacf865e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809878
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-04-07 15:24:21 +00:00
Mohan Maiya 4bd370dd81 Refactor roll_aosp.sh
roll_aosp.sh can now generate an Android.bp file without having to
perform a roll. This facilitates on demand generation of Android.bp.
Provide an option to enable API traces with "--enableApiTrace" flag.

Usage -
    # Generates Android.bp and perform a roll
    ./scripts/roll_aosp.sh

    # Generates Android.bp
    ./scripts/roll_aosp.sh --genAndroidBp

    # Generates Android.bp with API tracing enabled
    ./scripts/roll_aosp.sh --genAndroidBp --enableApiTrace

Bug: angleproject:5774
Change-Id: I3a2bd505f5d75d6d5fc331d61fa9517d6042db70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774758
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
2021-04-07 15:01:53 +00:00