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

193 Коммитов

Автор SHA1 Сообщение Дата
Jamie Madill c10a023a66 Fix fuchsia build of libfeature_support.
This enables the linux path for GetSystemInfo on fuchsia. Tested
locally and fixes the build.

Bug: angleproject:2996
Change-Id: Icc8f282a66ff43ae9c74545a9dcee2d4af8a21e0
Reviewed-on: https://chromium-review.googlesource.com/c/1358632
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-12-03 17:22:26 +00:00
Tom Tan 5c317537a9 Don't copy d3dcompiler_47.dll when build target is Windows ARM64
Windows ARM64 was first released at 10.0.16299 which contains d3dcompiler_47.dll under %systemroot%\system32, so no need to copy it from Windows SDK. For the same reason, it is also not included as part of redistribute package for Windows ARM64.

Bug: chromium:893460

Change-Id: I175ce831d800ec1f19c767fc172219f6b693fec3
Reviewed-on: https://chromium-review.googlesource.com/c/1357155
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-12-03 14:35:47 +00:00
Ian Elliott a9d579e810 Version-2 API of the A4A opt-in/out (a.k.a. feature-support utilities)
This version-2 API splits up and renames parts of the version-1 API.

Some initial unit tests were added.

The code is now built and tested on Linux, Windows, and Mac (in
addition to Android, which is where it's being used).

Memory leaks were fixed and some memory/list-management TODOs were
also dealt with (associated with an Android bug).

Some review items deferred.  See: angleproject:2993

Bug: angleproject:2794
Bug: b/113346561
Change-Id: Iff307f9347fb05a733fe96b6774fb32d36e25590
Reviewed-on: https://chromium-review.googlesource.com/c/1291837
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2018-11-30 18:20:32 +00:00
Cody Northrop 2c0e06d94b Add temporary icon for ANGLE apk
Even though we don't plan to be launchable, we need to include an
icon for plumbing reasons.  For now I'm using a temporary
icon pulled from our Cubey sample.  When we get something official
we can easily swap it in, and enhance it support multiple dpis.

Bug: angleproject:2991
Change-Id: I2873d74586543c617cfc13fe6582b0b4967cbb22
Reviewed-on: https://chromium-review.googlesource.com/c/1355505
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2018-11-29 19:24:04 +00:00
Yuly Novikov b29fccfe2a Rearrange Android lib deps
Vulkan backend was missing dependency on NativeWindow.

Bug: angleproject:2314

Change-Id: I66675af6f885b57bdb0524a0626dfec0256a21d3
Reviewed-on: https://chromium-review.googlesource.com/c/1354100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2018-11-28 17:59:43 +00:00
Tim Van Patten c4e0a1e511 Revert "Enhance ANGLE for Android Developer Options"
This reverts commit fdbdb2b247.

Reason for revert:
I didn't mean to land this quite yet, since we are still working on the Android side of things.   It seems doing CQ+2 merges it while I was trying for just a dry run while replying to Jamie's comments with updates (after checking with Boulder folks, I want CQ+1 next time).

Once the Android changes are ready, I'll work on getting this landed again.

Original change's description:
> Enhance ANGLE for Android Developer Options
> 
> Update ANGLE Developer Options
> 
> Update ANGLE developer options to allow selecting the OpenGL driver
> (default, ANGLE, native) for each app as well as forcing ANGLE for all
> apps.
> 
> Bug: angleproject:2962
> Test: Verify the default/ANGLE/native values are saved and applied and
> used by the loader.
> 
> Change-Id: I6041e7e49ca5cc65f90fc8ae6f1b084e4639d769
> Reviewed-on: https://chromium-review.googlesource.com/c/1330315
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>

TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org,cnorthrop@google.com,tobine@google.com,courtneygo@google.com,ianelliott@google.com,timvp@google.com

Change-Id: If3a4e917973c56b858244a0ca7f1b164143524f5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2962
Reviewed-on: https://chromium-review.googlesource.com/c/1354099
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2018-11-28 16:08:19 +00:00
Tim Van Patten fdbdb2b247 Enhance ANGLE for Android Developer Options
Update ANGLE Developer Options

Update ANGLE developer options to allow selecting the OpenGL driver
(default, ANGLE, native) for each app as well as forcing ANGLE for all
apps.

Bug: angleproject:2962
Test: Verify the default/ANGLE/native values are saved and applied and
used by the loader.

Change-Id: I6041e7e49ca5cc65f90fc8ae6f1b084e4639d769
Reviewed-on: https://chromium-review.googlesource.com/c/1330315
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-11-27 22:59:12 +00:00
Tobin Ehlis 573f76b3ee Debug: Add Systrace Markers
Update ScopedPerfEventHelper class to add systrace markers by default.
This change unifies ANGLE EVENT* macro system so that at the base level
in LoggingAnnotator class, systrace markers will be added by default.

Modify the base DebugLogger to use char* by default and move any
conversions to wchar_t to the Windows specializations where wchar is
used. This limits type conversions to only where they're needed.

This change also includes some new TRACE_EVENT() calls in the VK
backend which will result in systrace markers for those calls on the
Android platform.

The new build flag "angle_enable_trace" is added to enable the tracing
calls.

Bug: angleproject:2528
Change-Id: Icefc197d4407e1cd31338710e37865abae6a0b15
Reviewed-on: https://chromium-review.googlesource.com/c/1042785
Commit-Queue: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2018-11-26 15:45:45 +00:00
Brandon Jones b77884b78b Autogenerate Repeated Portions of Blit11
Introduces a script to generate Blit11's
BlitShaderType enum and shader mapping functions.

Bug: angleproject:2870
Change-Id: I5b704f55bdde1706614a519ecb0ee3756f7799e0
Reviewed-on: https://chromium-review.googlesource.com/c/1273725
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-11-15 19:10:21 +00:00
Shahbaz Youssefi 749589f8b3 Vulkan: Remaining disjoint timer query functions
The following features where missing in c2b576d9e:

- glGetIntegerv with GL_GPU_DISJOINT_EXT: this is currently impossible
  to query in Vulkan, so 0 is always returned.
- glGetIntegerv with GL_TIMESTAMP_EXT: this is a way to query GPU
  timestamp without performing flushes or waiting for the GPU to finish.
  There is no direct correspondance in Vulkan; it's implemented by
  making a small submission, with no dependency to other submissions, in
  which there is only a timestamp query.

Bug: angleproject:2885
Change-Id: I2341bd610db9084c26b6421c6f8949950ffa4de8
Reviewed-on: https://chromium-review.googlesource.com/c/1299873
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-10-29 20:30:09 +00:00
Shahbaz Youssefi 25224e786f Vulkan: add GPU trace events
RendererVk now tries, as best as it can, to match the CPU and GPU timers
on init as well as every finish().  A clock-sync event is generated for
each such synchronization point.

RendererVk::traceGpuEvent() is a new function that, given a command
buffer, performs timestamp queries corresponding to GPU events.  These
queries are read back when done, without incurring GPU bubbles, at which
point an event is generated with that timestamp.

Bug: angleproject:2908
Change-Id: I08d7d11ff9f8ad6c9f9a9899767c9cd746d0623e
Reviewed-on: https://chromium-review.googlesource.com/c/1296954
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2018-10-29 15:28:41 +00:00
Jamie Madill 20dc1c9bae Vulkan: Make layers not depend on libvulkan.
On Android the layers were adding a dependency on libvulkan. This
isn't necessary. We can move this dependency up the change to
libANGLE.

Bug: angleproject:2935
Change-Id: I63460c05ca99c5afb6e863af9d6142576aa910b9
Reviewed-on: https://chromium-review.googlesource.com/c/1301721
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-10-26 18:39:51 +00:00
Ian Elliott e4c64c3dc8 Implement new API/interface for the ANGLE feature-support utility.
The original API is designated as version 0.  The new API is
designated as version 1.  A new function is provided for determing the
version of the API that can be used.

Bug: angleproject:2794
Change-Id: I8205b462522cbc34d31643ea14815e187497abed
Reviewed-on: https://chromium-review.googlesource.com/c/1278836
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2018-10-18 22:44:33 +00:00
Courtney Goeltzenleuchter 7d81ae7177 Put feature utility into it's own library
To minimize system impact, have feature configuration utility
live in it's own library.

Bug=angleproject:2418

Change-Id: Ic8e3862965e515ded7e1a6078a7b9f8b92878818
Reviewed-on: https://chromium-review.googlesource.com/c/1269822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
2018-10-09 19:52:11 +00:00
Courtney Goeltzenleuchter e7ece9e22c Do not include ALOGV in release builds
To match behavior of ALOGV in Android system code, disable output
in release builds.

Bug=angleproject:2418

Change-Id: I657ec366249f9d5defe9b05fe298099c47389580
Reviewed-on: https://chromium-review.googlesource.com/c/1269819
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
2018-10-09 15:06:27 +00:00
Shahbaz Youssefi 996628a4a1 Vulkan: Add support for VkPipelineCache
The cache is initialized from the application's blob cache and is
occasionally written back to it for disk storage.

Bug: angleproject:2516
Change-Id: I4cba4b00a7b9641c2983ef07159bc62cd10a5519
Reviewed-on: https://chromium-review.googlesource.com/1241373
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2018-10-01 15:52:41 +00:00
Eric Stevenson c84510f4a3 Angle: Remove obsolete requires_sdk_api_level_23 from BUILD.gn.
Will be removed upstream.

BUG=chromium:688465
Change-Id: If50ac3624a5f692755797eaabcc0c7d6e7408655
Reviewed-on: https://chromium-review.googlesource.com/1244079
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
2018-09-26 15:01:32 +00:00
Courtney Goeltzenleuchter 801719235b Add rules file for ANGLE apk
Provide rules as an asset to the ANGLE apk.
Rules determine the conditions when ANGLE will be used by
Android applications.

Bug=angleproject:2418

Change-Id: I3b8f0c51dc12e039e8c67acbace249abd15ae961
Reviewed-on: https://chromium-review.googlesource.com/1211764
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
2018-09-06 23:17:27 +00:00
Ian Elliott 4d42ef3965 Add A4A opt-in/out logic
This version of the code #ifdef's out the JSON-parsing code (which
dependency was not yet found).  Instead, 2 in-code rules are created
and used (default and run Maps).

Bug: angleproject:2794
Change-Id: I9d8c00459d5e674035f4073ccb839fac8d4d7aa5
Reviewed-on: https://chromium-review.googlesource.com/1200375
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-09-06 18:15:07 +00:00
Ian Elliott abcb2b3b36 Add stubs for A4A opt-in library.
Bug: angleproject:2794
Change-Id: I9ba8abf5fdac4a1bae24bc78ece62337d24e903b
Reviewed-on: https://chromium-review.googlesource.com/1196043
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-08-31 17:17:14 +00:00
Geoff Lang b02fc662fa Lock around all EGL and GL calls with a global mutex.
BUG=angleproject:2464

Change-Id: I0231cc84777272f9cf26298c6a137f1ad3fd51d6
Reviewed-on: https://chromium-review.googlesource.com/1183441
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-08-31 16:11:58 +00:00
Frank Henigman 44b2c0b1d3 Avoid rebase_path() in BUILD.gn.
Adjust source paths so we don't need to use rebase_path() on all of them.

BUG=angleproject:1569

Change-Id: I687dbb9378b1f054eb5664320c662fe4c882a82f
Reviewed-on: https://chromium-review.googlesource.com/1194619
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-08-30 18:45:22 +00:00
Frank Henigman ddc41208c1 Rename .gypi -> .gni.
Rename and reformat all gyp files.  They were previously converted to
gn but not renamed to preserve continuity in git.  This rename completes
the removal of all traces of gyp.

BUG=angleproject:1569

Change-Id: I50123105d8881583184ffc564bed65d9fbe4d41c
Reviewed-on: https://chromium-review.googlesource.com/1187885
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-08-29 21:00:11 +00:00
Frank Henigman a7f97a27eb Gyp is dead. Long live gn.
Remove the gyp build.  The .gypi files were not renamed so that diff and
rebase would work on this change.  They will be renamed in a separate
change.

BUG=angleproject:1569

Change-Id: If8a217027633293664b820104f91a4ca5889b24e
Reviewed-on: https://chromium-review.googlesource.com/1187380
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2018-08-29 19:26:38 +00:00
Takuto Ikuta c93eeaab15 Make angle's commit.h depend on git head
This is for reproducible build of angle related libraries.

Bug: 828669
Change-Id: I807c8fb01b976f6e7a71477ee934b9e0b0cdc684
Reviewed-on: https://chromium-review.googlesource.com/1164814
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-08-07 22:59:34 +00:00
Courtney Goeltzenleuchter 8c1508bc0b Update name of ANGLE Android apk to match expectations
Android build system wants to see pre-built components
like this with naming that indicates what it is.

Bug: angleproject:2702
Change-Id: I84acee78a6ceef5b04c87436c68d41510f6e66c7
Reviewed-on: https://chromium-review.googlesource.com/1155004
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-07-31 16:41:06 +00:00
Ian Elliott d07c52e280 Initial Android implementation of GetSystemInfo
Change-Id: Ia44413aa94906b89d4981063600cd3de0edacee8
Reviewed-on: https://chromium-review.googlesource.com/1108454
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-06-26 16:14:14 +00:00
Yuly Novikov cd70aa422c Always depend on libandroid for angle_util.
libnativewindow doesn't have all the functions angle_util requires,
namely: AConfiguration_*, AInputEvent_*, AInputQueue_*, ALooper_*.
It should be safe to always use libandroid, since angle_util is only
used by tests, thus it won't interfere with AngleLibraries.apk

Bug: angleproject:2418
Change-Id: I8343924629205bfb5d65dafe34db8e2baa987bae
Reviewed-on: https://chromium-review.googlesource.com/1108747
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2018-06-20 22:22:41 +00:00
Tobin Ehlis b971f499b5 Migrating ANGLE to split LVL repos
Separated the Vulkan Validation Layers, Loader, Tools and Headers into
separate dirs to map to the new separate repo structure.

Bug: angleproject:2558
Change-Id: I422038f7dd7efe8c5b7a49dc5074de5caf40edfa
Reviewed-on: https://chromium-review.googlesource.com/1071880
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-06-13 18:17:16 +00:00
Tom Anderson a4a3c19a43 Remove manual references to exe_and_shlib_deps
After [1], a manual dependency on exe_and_shlib_deps is no longer necessary
since it's automatically added.  This CL removes all remaining manual references
to exe_and_shlib_deps.

[1] d7ed1f0a9c

BUG=chromium:845700

Change-Id: I66bcead6586050bf952c4aa1f4d3f726c88d2277
Reviewed-on: https://chromium-review.googlesource.com/1091231
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-06-08 17:28:35 +00:00
Courtney Goeltzenleuchter b001528ffa Use libnativewindow for Android builds
To avoid references to libEGL.so do not link with libandroid,
use libnativewindow instead. libnativewindow is available in
android-26 and newer.
The appropriate library will be selected based on the ndk level
configured. If ndk revision is 26 or higher, we'll link to
libnativewindow otherwise use libandroid.
The ANGLE apk needs to use 26 or higher.

Bug: angleproject:2418
Change-Id: I96509e5d645d132a34734558cd0566f1812b615b
Reviewed-on: https://chromium-review.googlesource.com/1066821
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2018-05-23 20:27:18 +00:00
Courtney Goeltzenleuchter 4607148c6b Add build-id for all builds to help debugging
Android Studio debugger needs the build-id to be able to
match up symbols with stripped libraries.

Bug: angleproject:2566
Change-Id: Ied6afd09c9ec0d379a16b4a08b56b827af11ca0d
Reviewed-on: https://chromium-review.googlesource.com/1064554
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-05-17 20:58:22 +00:00
Courtney Goeltzenleuchter 96d292d0fb Format cleanup
Bug: angleproject:2339
Bug: angleproject:2455
Change-Id: I12dfd1e95f18a4277f409d694000e0e775c8bffb
Reviewed-on: https://chromium-review.googlesource.com/1064814
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-05-17 20:48:22 +00:00
Jamie Madill 74a763205a Fix libGLESv2 wrong .def file.
The GN was including both libGLESv2.def and _autogen. This fixes the
GN to only include _autogen, and removes the .def include from the
static build target.

Bug: angleproject:2476
Change-Id: I2e856e3bbe875bdadd1add4517cef60a11227047
Reviewed-on: https://chromium-review.googlesource.com/1057451
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Brandon1 Jones <brandon1.jones@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-05-14 15:49:28 +00:00
Olli Etuaho 8073a9511a Enable warning for non-virtual destructors
Virtual functions are removed from TSymbol, so the warning for
non-virtual destructor found in a class with virtual functions can be
enabled.

BUG=angleproject:2417
TEST=angle_unittests

Change-Id: Icd0ea2c77ce826739fbe954137f8ee78e6ef5386
Reviewed-on: https://chromium-review.googlesource.com/1051830
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2018-05-11 06:47:28 +00:00
Jamie Madill d47044ad53 Vulkan: Add framework for internal shaders.
Vulkan intenal shaders are stored in a ShaderLibrary, and this is
owned by the RendererVk. This way the shaders are reused between all
the different Contexts. They are initialized lazily to keep init time
low. They also have an associated Serial (called a ProgramSerial) so
they can be identified in a PipelineDesc (used by the Pipeline cache).

We use a python script to build and invoke the glslang validator, that
also produces SPIR-V binary code snippets. These snippets are gathered
into an auto-generated file that is exposed via an auto-generated
header file. The InternalShaderID enum class gives access to the
internal shaders that are shared through the Vulkan back-end.

This also adds simple clear shaders to be used in masked color clears.
The patch doesn't add any functionality but it is split off from the
color clear functionality to keep the code size down.

Bug: angleproject:2339
Bug: angleproject:2455
Change-Id: Ie83043eda217c9f013817b198c92a3b7ba0878b4
Reviewed-on: https://chromium-review.googlesource.com/1031372
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-05-01 20:39:47 +00:00
Courtney Goeltzenleuchter ddd772455c Add GLESv1_CM to angle library apk
Bug: angleproject:2418

Change-Id: I793d330a2cc92a510b189fa23d14f41f48a7d986
Reviewed-on: https://chromium-review.googlesource.com/1035422
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
2018-04-30 18:37:00 +00:00
Courtney Goeltzenleuchter e5db628b75 Cleanup for "Add angle library apk"
Forgot to format BUILD.gn in CL 46978bccd3659
Remove unnecessary android:debuggable setting
Bug: angleproject:2520

Change-Id: I31457c82536827f78e3aa17c02dd8e878f803f04
Reviewed-on: https://chromium-review.googlesource.com/1030259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-04-26 18:40:36 +00:00
Courtney Goeltzenleuchter 2565d48b47 Add angle library apk
Package up libraries into Android APK.
Libraries must be uncompressed for them to be mmapped properly.
Bug: angleproject:2418

Change-Id: I27817d7a6c5dcd93ca7790c55042c6548f84906f
Reviewed-on: https://chromium-review.googlesource.com/1013057
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2018-04-25 01:04:02 +00:00
Courtney Goeltzenleuchter ec10096dba Vulkan: Add build toggle for validation layers.
We want to be able to build without validation layers to
make it easier to use in other environments (e.g. Android)
When angle_enable_vulkan is true and
angle_enable_vulkan_validation_layers is true, build the
Vulkan validation layers.

Bug: angleproject:2489

Change-Id: I266ad8f757c5992021f249217f2be58f0148fcbf
Reviewed-on: https://chromium-review.googlesource.com/1005558
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-04-18 17:09:12 +00:00
Jamie Madill eb79e337c9 Vulkan: Do not build mock ICD on Android.
This is causing a GN build error on our Android bots.

Bug: angleproject:2471
Bug: angleproject:2482
Change-Id: I35ffc7972effb9c9ea26ab96cf23985eba1702c3
Reviewed-on: https://chromium-review.googlesource.com/1016700
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-04-18 12:40:41 +00:00
Jamie Madill 08b9e046c1 Vulkan: Disable warning in Mock ICD.
We were missing a "no chromium code" config in the mock ICD.
This was causing a build error, but the build error was mostly
invisible because the mock ICD wasn't being built by default.

Fix this by including it in the angle_vulkan target.

Bug: angleproject:2482
Change-Id: I417d3fbf6a4acd93c06bab61967409730c2ea4ed
Reviewed-on: https://chromium-review.googlesource.com/1012497
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-04-17 00:57:31 +00:00
Courtney Goeltzenleuchter 152152618e Enable unneeded-internal-declaration compiler warning
No longer have issues with unneeded internal declarations
now that Tokenizer.cpp has been updated so re-enable
compiler warning to catch future issues.
BUG:angleproject:2451
Test: build

Change-Id: I30daadc8c7374bcae753a7e69cb9a72855a1f548
Reviewed-on: https://chromium-review.googlesource.com/1007965
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-04-13 21:16:52 +00:00
Yuly Novikov ad4f9642a6 Allow ANGLE libs to have arbitrary suffix.
In order to work with tools which intercept EGL and GLES calls.

BUG=angleproject:2343

Change-Id: I63aec7a56648dc4b3e7f4aff7f7d1608709ba118
Reviewed-on: https://chromium-review.googlesource.com/920652
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2018-03-23 22:09:24 +00:00
Yuly Novikov 40a945f293 Rename vulkan_loader to libvulkan
Also add a build argument to build it as a shared library.

BUG=angleproject:2343

Change-Id: Ia590632b94d71b10d3ee64974fa4f5b4f00c3a70
Reviewed-on: https://chromium-review.googlesource.com/954403
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2018-03-20 23:18:43 +00:00
Jamie Madill 8d986bf241 Fix missing include files visible to GN.
This should also fix the VS project generation. Thanks to Jeff Gilbert
from Mozilla for sharing a list of missing files.

Bug: angleproject:2360
Change-Id: Ideab28a0169cd7aabb6a7bd3aac3a5832443f023
Reviewed-on: https://chromium-review.googlesource.com/922874
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-02-21 14:20:38 +00:00
Jamie Madill d7ebfb92ba Add missing is_fuchsia to system_utils selection.
This fixes a build break because of 046fa0efc4.
See: https://crrev.com/c/898591

Bug: angleproject:2333
Change-Id: I6a4cb60dd2d2958ea71aaa27f1429233c2787fb4
Reviewed-on: https://chromium-review.googlesource.com/922878
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-02-16 00:31:11 +00:00
Nico Weber b5db2b497b Enable -Wimplicit-fallthrough for ANGLE.
Also teach MSVC that ANGLE_CRASH() can't return.

Also fix instances of the warning in build configurations where
UNREACHABLE() can return (e.g. release without dcheck_always_on
or debug).

If the UNREACHABLE()s are truly unreachable, this change has
no behavior change.

Bug:  chromium:810767

Change-Id: I68f3587cf3e268c3ef634dce7ae3d70399859d0f
Reviewed-on: https://chromium-review.googlesource.com/914842
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2018-02-15 18:54:20 +00:00
Lingfeng Yang 4edce33698 GLES1: macOS: Add rpath to libGLESv1_CM.dylib
This is to fix error messages when running GLES1 samples (and probably
other apps) from different directories than the same one as where
libGLESv1_CM.dylib is located.

BUG=angleproject:2306

Change-Id: I24ab33eb1bc805c1e64efab9a0acbfcf10480d94
Reviewed-on: https://chromium-review.googlesource.com/920926
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
2018-02-15 15:11:05 +00:00
Yuly Novikov bac02d76e9 Vulkan: Fix data_deps on layers
Was broken by https://chromium-review.googlesource.com/900096

BUG=angleproject:2339

Change-Id: I3c28a38619d83e7dcbb2349565517feb1758976c
Reviewed-on: https://chromium-review.googlesource.com/907959
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2018-02-08 17:04:13 +00:00