The recent CL to remove the Settings GUI from the Android-built APK went
a little too far removing Java code and emptying the
AndroidManifest.xml. This resulted in ANGLE being unable to be loaded
from the APK, since ANGLE was not able to respond to the intent
android.app.action.ANGLE_FOR_ANDROID which indicates it contains ANGLE
libraries.
The AndroidManifest.xml requires various flags like
android:forceQueryable="true" so the APK can be accessed by the
framework.
The assets/ directory was removed, which contains 'a4a_rules.json' and
is required by GraphicsEnvironment. This is added back.
Bug: b/187342779
Change-Id: Ic7b758c92ed12750972c7e313729276a13f76032
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906632
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Also updates expectations. For simplicity we use SKIP everywhere and
specify each skipped test individually instead of using wildcards.
Bug: angleproject:5941
Change-Id: If2cb85b06ecd250222dbf1376d99392ad10b71aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896172
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Move the OpenCl object cast from the generated entry points to the
stubs and front end, to make it possible to properly use static_cast.
This removes the limitation that the front end objects have to be
standard layout (and makes it possible to use virtual functions),
which is consistent with other front end objects.
Move the back end initialization from the stubs to the entry point
functions, which fixes a bug where the back ends were not initialized
during validation.
Move more code from the stubs to the front end, to keep the stubs
light.
Remove unused function `default_return_value` from
`generate_entry_points.py`.
Bug: angleproject:5904
Change-Id: Id999ad6c537888017bf3252c6f6e088b7d4c7984
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897245
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
For completeness, added mappings of R8_SRGB and R8G8_SRGB
to OpenGL and Metal.
Bug: angleproject:4932
Change-Id: Ic8e44e3a94c114e985f6965fcd43fbcb8071432d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880661
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
When allocations are made from DynamicBuffer, they suballocate from a
possibly larger BufferHelper. In BufferVk, the offset of the
suballocation was discarded, which limited the use of DynamicBuffer to a
pool of small buffers.
This change applies any such offset that may arise from suballocations
everywhere, and makes BufferVk use a larger buffer size when the
GL_DYNAMIC_* buffer usage hints are provided.
Bug: angleproject:5719
Change-Id: I3df3317f7acff1b1b06a5e3e2bb707616a7d0512
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2738650
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Partitioning is the creation of sub-devices. Also add reference
counting for CL objects, which is needed now for sub-devices.
Also fix CL print format strings, since cl_ulong is actually
always 64 bit and not unsigned long.
Bug: angleproject:5904
Change-Id: I006699fad2f953ce312bca87c9b6362b5d77a18a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880665
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
518c3462c0..fff9d6fb8d
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 timvp@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: 9afdbde777..4ff4105cd8
* testing: af6ff0bdef..504fae9f10
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1fbada9f29
* third_party/depot_tools: 1039f6ca14..cb17bc6028
* third_party/r8: 9JovxpDv8ZqFl60_eHo4hT-Ez0CelcMCoM9Cv5UJMz4C..gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC
* third_party/zlib: eb9ce8c993..618ddecd59
* tools/clang: dbcffda598..e76c8f17cf
* tools/luci-go: git_revision:91769f0e2541d15de294dfc780205e98b49f7431..git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2
* tools/luci-go: git_revision:91769f0e2541d15de294dfc780205e98b49f7431..git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2
* tools/luci-go: git_revision:91769f0e2541d15de294dfc780205e98b49f7431..git_revision:1b50bbe2f93441dd227ad6e6684fa9be4ab0dec2
* tools/mb: d9766067a3..df10bb0bf8
* tools/skia_goldctl/linux: UV02xIZDvNaCcrummY2Hd5zNO4S7F3pl_ZatqFmeRboC..EWfIod1MP71b48GlHnS5Rv9JpBzeTRQ6viIPDfFUSFEC
* tools/skia_goldctl/mac: aG3drSoyskf8FOxdSDXo_p3ub85yK9mX_DmXJa605cUC..5o7ziB6qRrSdtYJwKop8-5OFmvVQcxuNkGY1DRYggMsC
* tools/skia_goldctl/win: OB_O_MOYSLYScAVrzlIsc9a0JIf54AiYzG1WNNSCtyIC..O2WsBEJgyjTsib6LvzoNqqXwfSylJFfTRxEKYr-IsocC
No update to Clang.
Bug: None
Tbr: timvp@google.com
Change-Id: I70f2c157f5165905a9d3aca98dfccb7768b87d0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885448
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
The Settings GUI is being removed from the AOSP build to turn the ANGLE
APK into essentially a container APK containing the necessary libraries.
This reduces the APK size and reduces the risk of users enabling ANGLE
by accident.
Additionally, ANGLE is being marked product-specific to remove it from
all AOSP builds.
Bug: b/187345862
Change-Id: I6e1acb9c6e07b419d40aee43d7260060027999ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2876213
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
There is no such thing as image2DRect in GLSL. imageRect (the right
type) is present, but the code was mistakenly using image2DRect.
Bug: angleproject:4889
Change-Id: I42bacd2ad8866c715af0d9711bebc95897607354
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878095
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
- Fallbacks for formats that have required vertex attribute support are
removed.
- Fallbacks are changed to ones with smaller sizes
- A bug is fixed where CopyNativeVertexData wasn't initializing the
alpha channel appropriately, which was not exercised due to fallback
to 32-bit float formats.
Bug: b/184163871
Change-Id: Icd9afa49d94c65545d1f3fcf521881726d64529d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809441
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Test specs now will be updated when the Chromium build files change.
It will be automatically included as part of the Chromium->ANGLE roll.
Bug: angleproject:5114
Change-Id: If99c2a20033d417a5999295f425a3bb203f5da3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2860962
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Includes the new sheriff email alias, and also fixes to the Clang
version detection. The new version checks the CopyBara mirror to find
the real clang rev ANGLE ends up with.
Bug: angleproject:5926
Change-Id: Ie70319feeb5eefbfba8a6b6d2d57110273d6c3e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2872070
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Rolling ANGLE into AOSP currently generates several build errors. This
CL fixes them.
Bug: angleproject:5919
Bug: angleproject:5873
Change-Id: Ic24c3c27a2dd3a1db4d6d2e3642eb1b16148569a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2863883
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Includes some stats counter gathering and a few related refactors and
cleanups. Also includes a new overlay widget.
Bug: angleproject:5736
Change-Id: Ida8d2cd815c5b598c6a442dd9bbfdf51e9c05180
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2785431
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
It looks like this argument doesn't exist anymore. Removing it from
the swarming call works fine.
Bug: angleproject:5915
Change-Id: I510ef79ae5a540742c3f08c8daa0a14d59d2e60d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2855040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
ASTC HDR is a superset of ASTC LDR, so always use HDR enums
on supported platforms because there is no such difference in OpenGL ES.
Bug: angleproject:2634, angleproject:5672
Change-Id: I19a3212bcb949aa9cdeb682ab000aa03125f04a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848509
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
This reverts commit 95e75ec86f.
Reason for revert: Tree is fixed upstream.
Original change's description:
> Remove 'six' from roll_chromium_deps.
>
> This dep was causing the script to fail. It may be because the repo
> currently has a single commit. Work around this by removing the
> entry from the auto-roller for now.
>
> Bug: angleproject:2344
> Change-Id: Id4f61124aae7ab43aa2343faf19416ff676314d7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842224
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:2344
Change-Id: I0b41b2821a19c8dfc1f248ea61db866934af27e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848643
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This dep was causing the script to fail because it doesn't have HEAD.
Bug: angleproject:5887
Change-Id: Ib6daabfe2e0b105137784ceb80d4147f0eb71f41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848640
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Use the same naming convention as other similar formats.
Bug: angleproject:5731
Change-Id: I187881f4bc4691a0963502ed41f42ab0ebf4171c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846824
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Include the tools/android/errorprone_plugin mirror. This eliminates
several cloned source files from ANGLE. Also include the Python
tools/swarming_client for running tests. It seems like the tests
depend on the logdog Python library available from this component.
Bug: angleproject:2344
Change-Id: I70e011764c4443ab3904bfa0c9059f295f3817df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2845233
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This dep was causing the script to fail. It may be because the repo
currently has a single commit. Work around this by removing the
entry from the auto-roller for now.
Bug: angleproject:2344
Change-Id: Id4f61124aae7ab43aa2343faf19416ff676314d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842224
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5830
Tests: TracePerfTest.Run/*command_and_conquer_rivals
Change-Id: I0b5fedfdeab3c0729bac706ceb7ce98f66b41986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2838231
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
https://chromium.googlesource.com/vulkan-deps/+log/c18d8cd5016c..494bfcf95bd6
$ git log c18d8cd50..494bfcf95 --date=short --no-merges --format='%ad %ae %s'
2021-04-20 chromium-autoroll Roll SPIRV-Cross from 3cb8e7c223a3 to d137abeef57b (5 revisions)
2021-04-20 chromium-autoroll Roll Vulkan-Loader from 64cc17099c41 to 4b868e5e13dc (2 revisions)
2021-04-19 chromium-autoroll Roll Vulkan-ValidationLayers from 61c2339d1547 to f39a8dc664c6 (2 revisions)
2021-04-19 chromium-autoroll Roll glslang from 842743722152 to 60ce877de03f (1 revision)
2021-04-19 chromium-autoroll Roll Vulkan-ValidationLayers from 33440cbab76c to 61c2339d1547 (2 revisions)
2021-04-19 chromium-autoroll Roll glslang from ed948c8e1226 to 842743722152 (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Tools from 693d564db4e9 to dc72924cb31c (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Cross from b4aa6dacfa8c to 3cb8e7c223a3 (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Cross from 45818c14e49a to b4aa6dacfa8c (1 revision)
2021-04-19 chromium-autoroll Roll SPIRV-Cross from 582749ac68a9 to 45818c14e49a (1 revision)
2021-04-19 chromium-autoroll Roll Vulkan-Headers from f5ac258209dc to 074fa3055cfe (1 revision)
2021-04-16 chromium-autoroll Roll glslang from b3859343a2ca to ed948c8e1226 (1 revision)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from 65576d6dc06a to 33440cbab76c (4 revisions)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from 8035832536d2 to 65576d6dc06a (1 revision)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from e7eb5ca5e6ec to 8035832536d2 (1 revision)
2021-04-16 chromium-autoroll Roll Vulkan-ValidationLayers from ee42bab38c3b to e7eb5ca5e6ec (2 revisions)
2021-04-16 chromium-autoroll Roll SPIRV-Tools from a02a9205ff49 to 693d564db4e9 (1 revision)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from c8596531b3f7 to ee42bab38c3b (1 revision)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from 675fbfaee4e7 to c8596531b3f7 (1 revision)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from fc6291e5eded to 675fbfaee4e7 (2 revisions)
2021-04-15 chromium-autoroll Roll Vulkan-ValidationLayers from 962cad9d3a78 to fc6291e5eded (1 revision)
2021-04-14 chromium-autoroll Roll glslang from e7e4a8eecba5 to b3859343a2ca (1 revision)
2021-04-14 chromium-autoroll Roll glslang from e6a0e7fc7664 to e7e4a8eecba5 (1 revision)
2021-04-14 chromium-autoroll Roll Vulkan-ValidationLayers from 13c4877ea280 to 962cad9d3a78 (1 revision)
2021-04-14 chromium-autoroll Roll SPIRV-Cross from d2e1e7ba9891 to 582749ac68a9 (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-Headers from cd913e84a81d to f5ac258209dc (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-Headers from e01b00657664 to cd913e84a81d (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 7699b91798eb to 13c4877ea280 (2 revisions)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 14f4f766ff89 to 7699b91798eb (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 1e4ea30a1df3 to 14f4f766ff89 (1 revision)
2021-04-13 chromium-autoroll Roll glslang from a7f846a86cb2 to e6a0e7fc7664 (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-ValidationLayers from 884a3ecf0e11 to 1e4ea30a1df3 (1 revision)
2021-04-13 chromium-autoroll Roll Vulkan-Headers from e1d8c4931d8e to e01b00657664 (1 revision)
2021-04-13 chromium-autoroll Roll SPIRV-Tools from ae6a1e1d2f3e to a02a9205ff49 (1 revision)
2021-04-12 chromium-autoroll Roll Vulkan-ValidationLayers from d78df3497e17 to 884a3ecf0e11 (1 revision)
2021-04-12 chromium-autoroll Roll glslang from 5602195eed90 to a7f846a86cb2 (1 revision)
2021-04-12 chromium-autoroll Roll glslang from 9f76fd133063 to 5602195eed90 (1 revision)
2021-04-12 chromium-autoroll Roll SPIRV-Tools from 6210375e1399 to ae6a1e1d2f3e (1 revision)
2021-04-09 chromium-autoroll Roll SPIRV-Tools from 8da800c4cbc7 to 6210375e1399 (1 revision)
2021-04-09 chromium-autoroll Roll Vulkan-ValidationLayers from abf8d903e390 to d78df3497e17 (1 revision)
2021-04-09 chromium-autoroll Roll Vulkan-ValidationLayers from 317a46523468 to abf8d903e390 (3 revisions)
2021-04-09 chromium-autoroll Roll Vulkan-ValidationLayers from 9b36350504c7 to 317a46523468 (2 revisions)
2021-04-09 chromium-autoroll Roll SPIRV-Tools from 212895d4c2cd to 8da800c4cbc7 (1 revision)
2021-04-08 chromium-autoroll Roll Vulkan-ValidationLayers from 3986d4ffc6b1 to 9b36350504c7 (2 revisions)
2021-04-08 chromium-autoroll Roll Vulkan-ValidationLayers from eb791f3842c3 to 3986d4ffc6b1 (1 revision)
2021-04-08 chromium-autoroll Roll glslang from 4099f444484b to 9f76fd133063 (1 revision)
2021-04-08 chromium-autoroll Roll Vulkan-ValidationLayers from f563b367c72a to eb791f3842c3 (1 revision)
2021-04-08 chromium-autoroll Roll glslang from 1481399549c5 to 4099f444484b (1 revision)
Created with:
roll-dep third_party/vulkan-deps
Bug: angleproject:5879
Change-Id: Ic36d6ded7116f8a59c9c4bcfb995dd4b870e3ecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2837548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Includes necessary DEPS and GN build changes.
Some folders are copied directly from Chromium because they don't
exist as source mirrors or aren't available for other reasons.
Bug: angleproject:2344
Change-Id: Ibb7f8a3e2288048b7aed2b0e277ca63b5a932c57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826480
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
These auto-generated deps are necessary for the standalone build.
Updates the roll script to start including these automatically.
Bug: angleproject:2344
Change-Id: I389c203a2ddb971e3aeccb728cf37e232f32031e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826479
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
'checkout_angle_restricted_traces' controls if we should check out
the trace tests. We can give restricted access to partners for these
traces. Defaults to the same setting as 'checkout_angle_internal'.
Bug: angleproject:5860
Change-Id: I36efffb180b35e11e104e2c99bc89fb4be4e0708
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822232
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
In preparation for more source-side configuration. Also adds a presubmit
check and some empty files to enable the presubmit to function.
Bug: angleproject:5114
Change-Id: Id9a0cbe1e78949720be39c65efab73c1345d4f39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819942
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Chrome started requiring this dep to 'gn gen' on Android so
ANGLE needs it too.
Bug: angleproject:5839
Change-Id: Ia8df8520975ed426667f2c59f0fd7761652b92ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818141
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
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>
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>
... 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>
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>
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>
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>
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>
All traces are now stored as DEPS entries in CIPD. The auto-generation
script generates the DEPS entries. Note that we don't include DEPS in
the list of generated outputs to simplify other rollers. Also we update
auto-generation to include full sources list to allow 'gn analyze' to
work successfully.
Usees a trace fixture for common code. This will enable a more compact
trace without as much repeated code. We must land a set of re-trace
traces to avoid breakage.
Also includes a python script for uploading new traces to CIPD. The
script first checks if traces are already present in the cloud, and if
so it skips the upload. It will take a while to complete as the number
of traces grows larger as it takes a few seconds per trace.
The traces in this patch are also re-traced to use the common fixture
code instead of including duplicated code in each trace. They now form
a simple common interface and the autogenerated cpp is now simply a list
of properties.
I've also updated the capture/replay tests to use the simpler common
entry point integration. There is less auto-generated glue code now.
We now use a new serialized string query extension instead of calling
directly into ANGLE's internals.
Also includes a docs update. The capture/replay sample is broken and
we'll need to update it in a follow-up CL. Also includes a few necessary
fixes to the retracing script.
Bug: angleproject:5811
Change-Id: I977bc6dc56843c8966377fc445ae97e91e17319a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797833
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
This will provide a front-door entry point where we can get
a serialized string representing the context state. Previously
we would have to call ANGLE internal directly.
This will enable a refactor of the replays to work more like
standalone plugin libraries.
Bug: angleproject:5811
Change-Id: I5a97d7aa3cd70c49199264c2eb7ca953943ac3c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803391
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
The code is designed for single digit contexts, i.e 1-9.
We've hit our first app that uses context 10, so update the logic.
Bug: b/184105957
Bug: angleproject:5807
Change-Id: Ice5facad8a86f009c0a85d184db4a20e48eff248
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796402
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Add support for YCbCr_420_888 and YCrCb_420_888 formats,
more commonly known as NV12 and NV21.
Bug: angleproject:5773
Change-Id: I1568d543c221ad110e7f199eb2ffd5df23a6134e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2787251
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
In preparation for adding support for more YUV formats
add an 'isYUV' field that tracks whether a format is a
YUV format. For now it is set if the format string contains
the substring 'PLANE'. This is not the case for all known YUV
formats but the condition can be expanded when required.
Bug: angleproject:5773
Change-Id: Icb574037dc8105584931835dab0b60e8bafa3262
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774762
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
These include stubs are given in the comments within
rapidjson.h and are preported as error by the presubmission
check.
Bug: angleproject:5765
Change-Id: Ic200a860de7337aefcd3bb0f82686d62a1349d89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765648
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
For use by the translator.
Bug: angleproject:4889
Change-Id: Ie95cafd3cfcdde50acc5d26d3c00e6574186a805
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2737276
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Per issue 4889, dependency to glslang is being dropped. This change
generates the unresolve UtilsVk shader directly in SPIR-V.
This shader is trivial and contains repeating patterns per attachment.
As a result, generating its SPIR-V is exceptionally simple. The SPIR-V
in this change is first generated by glslang validator and is then
adapted for autogeneration.
See comments in the code for details.
Bug: angleproject:4889
Change-Id: I48dd77ae04e1035c05a8aef7bf2f161e105ae2a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407179
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
On Android vector[n] translates to vector[0] likely due to a driver bug.
This resulted in text such as:
12345678abcdefghijklmnopqrstuvwx
to render as:
1234123412341234ijklijklijklijkl
It also made graph data flicker. As a workaround, the shader now does
an if-else on the value of n and uses a constant to load the appropriate
component of the vector.
Bug: angleproject:5690
Change-Id: Idb891e726fafa896a1064ef7b2941b8fd1c41ed1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725769
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
For future use by the translator.
Bug: angleproject:4889
Change-Id: I051ad48e6edb58ce3055c5fd276c18a6e29a66ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2717020
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Remove tests from expectations list, as it now passes on SwiftShader for
ES2 and ES3.
Bug: angleproject:4401
Change-Id: If05b16e40632154a0ba2c22f1c3bf29e12113389
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2720259
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
This change moves the code generation at link time from source code to
SPIR-V. As a result, transform feedback extension and emulation paths
are more similarly handled before SPIR-V transformation (they both store
information identically in the ShaderInterfaceVariableInfoMap).
This change gets rid of the @@ XFB-OUT @@ marker. With no source code
generation at link time, shader compilation can be moved to
glCompileShader time.
Bug: angleproject:4888
Change-Id: I8cdb89c22b57ce48cf5d226b8e41622d9d550d46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2713269
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Translator can accept gl_LastFragData and 'inout' variable to gain
access to framebuffer attachment data. The Vulkan translator replaces
it with the SubpassInput type variable. Note that this works only for
the noncoherent version of the extension.
Bug: angleproject:5454
Test: *EXTShaderFramebufferFetchNoncoherent*.*
Change-Id: I392f84ee3ad3eb9fbd09d0b7ff83731a9a3f33f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598060
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Remove dynamic year generation from generator scripts, as required by
the Chromium C++ style guide.
The dynamic year values were replaced by the current year at the time
the file was created according to git log. The code to dynamically
generate the year was removed.
This patch also refreshes generated files and hashes.
Bug: angleproject:5516
Change-Id: I735028bccb5c83217e92c380538f1abf0a906b2c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690950
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
The main refactor from this change is to replace statements like this:
decls, defs, export_defs, _, _, _, _ = get_entry_points(
apis.EGL, eglxml.all_commands, egl_version_commands, False,
egl_param_types, cmd_packed_egl_enums, EGL_PACKED_TYPES,
egl_ep_to_object, TEMPLATE_EGL_ENTRY_POINT_EXPORT)
With statements like this:
eps = EGLEntryPoints(eglxml, egl_version_commands)
This will make the script easier to maintain and extend.
Bug: angleproject:5653
Change-Id: Ibd0930d45b8629702b7782f43a2d7ebfa4dac9b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705156
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This preserves the primary sort by bits. If bits are equal we then
sort by name to produce a more stable sort.
Bug: angleproject:5653
Change-Id: I4cdbc21094fcbd1bb7ad17e124074949bdbf0439
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704825
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Switches to Python 3 support. Made a change to run_code_generation to
support this. Affects several generators. Also updates the generator
to make a few other small cleanups.
Bug: angleproject:5653
Change-Id: I045173c9ca85947c4eac22285701032c09f4c8d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2699187
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This will make it easier to trigger the trace tests when these files
are modified.
Bug: angleproject:5530
Change-Id: I5f0c450595b380cd91b20c1477dc1845bee35dd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686120
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
The trace includes calls to glDrawElements with zero count, but
since that causes erros on QCOM, we have commented them out.
To see them, grep for the following:
glDrawElements(GL_TRIANGLES, 0,
Test: angle_perftests --gtest_filter="*fallout_shelter_online*"
Bug: angleproject:5615
Change-Id: I7e6a7d99f614884104df7d87dab082bef6d179e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676208
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Full app name is: ONE PUNCH MAN: The Strongest (Authorized)
Test: angle_perftests --gtest_filter="*one_punch_man*"
Bug: angleproject:5607
Change-Id: Ib887fb06e53238e56ff5b3e2d45e5d37522a87e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673881
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This path was broken for the white box unit tests. Also adds argparse
handling to the runner so we can more flexibly override command line
arguments.
Previously the broken calibration was causing some of the tests to run
only a single test iteration when measuring. This could lead to low
quality measurements.
Bug: angleproject:5573
Change-Id: Ic1cb2b2553774a361325f290440c40b2ff90db5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2672702
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This script will allow ANGLE to process custom logic when we complete
a suite of dEQP tests on the bots. The first customization step we
can do is merge the myriad batch QPA files into one master QPA file.
This script is currently a no-op and will let us set up the merge step
so we can test the logic pre-commit.
Bug: angleproject:5236
Change-Id: I38d0e359ff7fc6f6f91b5193387c13ff0fc77aa6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664247
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Note: This trace is longer than most at 100 frames.
This is to help get more accurate data on how transform
feedback is behaving. It also allows us the opportunity
to trim to smaller sections if we wish, and get more
reliable results on unstable systems.
Test: angle_perftests --gtest_filter="*manhattan_31*"
Bug: angleproject:5589
Bug: angleproject:5591
Change-Id: I76db8a56832d04ea4d335bd81ff98ba1679add5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2659850
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
This adds artifact output to the test runner. We add a fake test
at the start of a test run that owns the artifacts.
Bug: angleproject:5236
Change-Id: Ice8001bf1f2aafbd8123fee76e0e7fcc3e5a8a0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2657535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
* Load AHardwarebuffer API dynamically, so vulkan backend can be
built with old NDK, but can work with newer android releases.
* Do not link with libvulkan on android.
* Expose EGL_ANDROID_get_native_client_buffer extension with vulkan
backend.
Bug: chromium:1170339
Change-Id: Idf7f6867a86ae40ba6d57a86e419c610ba404ba8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2653506
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Symbols that these extensions introduced were only accepted if the
extension directive was present. This is not necessary for es 320
shaders. This change adds a new tag to builtin variable and function
declarations in the translator, namely "essl_extension_becomes_core_in"
which makes gen_builtin_symbols.py automatically create two entries for
the builtin; one with the specified level and extension, one with the
core level and without extension. Entries in
builtin_function_declarations.txt can potentially be deduplicated as a
follow up to take advantage of this tag, though likely an anologous
"glsl_extension_becomes_core_in" needs to be introduced.
Bug: angleproject:5557
Bug: angleproject:5579
Change-Id: I84c19f48a3ccc89d82d80a4f35f7833205bbc88f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2649449
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Add the new structure 'UniformBlockIndex'. This is in preparation for
capturing glUniformBlockBinding() calls, which requires the (new)
corresponding ParamType::TUniformBlockIndex.
Bug: angleproject:5564
Change-Id: I88613dd96d058659dd253e8088fab49670c32316
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2651287
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Handwritten SPIR-V instruction parse and build code is replaced with
autogenerated functions based on the SPIR-V grammar.
Bug: angleproject:4889
Change-Id: I09d724fd944e79c03fe4eadca3ee3e3ef0b49872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2644721
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Note this differs from the previous trace for the app,
"subway_surfer_500". The previous trace is no longer
compatible with the replay harness and could not be
re-recorded due to using Vulkan at the time.
Test: angle_perftests --gtest_filter="*subway_surfers*"
Bug: angleproject:5569
Change-Id: If941a3f0e88e3e1aee7fb7db736e623f66a65de6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2641098
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Numerous rule changes to support validating Tessellation Control and
Evaluation shaders. New per-patch inputs and output variable support.
Includes a new traverser step that validates barrier function calls.
Functionality changes upcoming in http://crrev.com/c/2568234
Bug: angleproject:3572
Change-Id: If8da1c21d30efa12c60ed0d6c3f8cf0b27e4c86f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633936
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Some internal GL functions are exported to our libGLESv1_CM library
and to properly export them, they must be C functions.
Bug: angleproject:5534
Change-Id: I37280312f73fd5e55166e4fa36659267d657a50b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628139
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>