Commit Graph
112 Commits
Author SHA1 Message Date
Romain Guy 81e7f619eb Try to fix compilation error on Android (#2187)
* Try to fix compilation error on Android

* Try with a newer NDK...
2020-02-28 13:10:16 -08:00
Romain Guy 0473da9f05 Add support for ccache (#2148)
* Add support for ccache

To benefit from ccache, first install ccache (for instance with
brew install ccache on macOS). On my machine a clean build takes
~5 minutes the first time. A second clean build with ccache enabled
takes 34 seconds.

* Enable more aggressive caching
2020-02-20 11:36:36 +09:00
Ben Doherty 7852fd2ffb Build iOS samples during CI jobs (#2076) 2020-01-29 10:59:19 -08:00
Ben Doherty 5fe1fe73c4 Use Objective-C availability tests for Metal backend (#2046) 2020-01-23 09:16:19 -08:00
Philip Rideout 7d548151d7 Introduce camutils library.
This moves the camera manipulator into its own library and adds new
functionality including a new "Google Maps" manipulator and a bookmark
feature to facilitate camera animation.

Java bindings and an Android sample will land later this week.
2020-01-06 16:12:05 -08:00
Ben Doherty 8f6f0ef511 Add continuous build artifacts (#1978) 2019-12-16 10:38:57 -08:00
Mathias Agopian 5ee15239fd Split Android specific code out of PlatformEGL (#1977)
We now should be able to use PlatformEGL for all generic EGL platforms
(not tested though). Most texture streaming operations are not supported
in that case, since they're platform specific.
2019-12-13 14:23:19 -08:00
Ben Doherty 0dee8c5f34 Deprecate Kokoro-specific logic from build scripts (#1973) 2019-12-12 13:23:43 -08:00
Ben Doherty c5ed7172b3 Add release GitHub workflow (#1903) 2019-11-21 11:04:20 -08:00
Ben Doherty d7e07f4d51 Transition to GitHub Actions for continuous builds (#1850) 2019-11-07 13:38:37 -08:00
Ben Doherty 22a6ecadbb Disable RenderingTest from CI test suite (#1858) 2019-11-07 11:17:41 -08:00
Philip Rideout 853b2205dd Upgrade emsdk for improved wasm generation.
This uses clang's wasm backend rather than fastcomp.
2019-10-31 16:41:29 -07:00
Romain Guy e472fdbce4 Remove Kokoro Windows presubmit 2019-10-15 17:40:24 -07:00
Ben Doherty 20f4ec6576 Use platform-specific temporary directories for CircularBuffer (#1769) 2019-10-15 12:01:03 -07:00
Ben Doherty d4efa105b7 Set up Windows build through GitHub actions (#1767) 2019-10-11 09:28:57 -07:00
Ben Doherty 01fab5a6e4 Update gtest to latest master (#1718) 2019-10-01 16:48:10 -07:00
Romain Guy a67d92c2ca Lower limit from API 21 to API 19 (#1701)
* Lower limit from API 21 to API 19

This was requested by an internal application. API 19 is when OpenGL
ES 3.0 support was added so there is no good reason for us to not
support this API level. The only trick is to avoid referring to the
glTexStorage2DMultisample symbol directly as it only exists in 3.1.

* Compile out code we never use

* Use reflection to handle shared EGL contexts pre-API 21.

* Remove comment

* More fixes required to run on API level 19

- dlym() fails for ashmem on API 19, so we only try on API 26+ instead.
- Older emulation for OpenGL ES 3.0 returns error states for valid API calls so we need to clear the GL error bit before we create the GL driver.
- Activity lifecycle changes since API 19 would cause animations to keep running and to reference destroyed objects.
- EGLContext.getNativeHandle() is new in API 21, we need to use reflection on API 19. The new code path uses the class loading trick to avoid a bytecode verification error on API 19.

* Filament now runs properly on API level 19

This commit adds a new api_level() API to libutils which can be used to
query the platform's API level. On Android it works as expected, other
platforms currently return 0.
2019-09-28 14:13:06 +03:00
Ben Doherty b28e535540 Combine license file generation functions for MSVC compatability (#1684) 2019-09-24 12:45:38 -07:00
Romain Guy 0db39ea08a Add Android presubmit (#1644)
* Add Android presubmit

* Build Android on Linux, macOS targets have NDK 18 only

* Consolidate workflows and jobs

* Try to build Android on macOS

* Fix typo

* Cleanup scripts

* Try NDK side by side if NDK bundle has the wrong version

* Simplify logic

* Fix NDK logic

* Only update the NDK when necessary

* Fix typo

* Update required NDK version

* Favor NDK side-by-side

* Remove support for obsolete NDK bundle, require NDK side-by-side

* Install the NDK side by side when missing
2019-09-13 19:28:55 -07:00
Romain Guy f37ab8158c Name build jobs (#1643)
* Name build jobs

* Use build/ prefix instead of presubmit prefix

* Rename desktop workflow for consistency

* Forgot a git add...
2019-09-13 17:01:45 -07:00
Romain Guy 33db5acd13 Add web presubmit (#1642)
* Add web presubmit

* Use macOS not Linux
2019-09-13 16:40:57 -07:00
Ben Doherty 95be2e24ce Fix iOS CI build (#1635) 2019-09-12 16:59:21 -07:00
Philip Rideout 394db90ec9 CMake: Use configure_file for licenses.inc
Every time ninja invoked CMake, we were unconditionally regenerating
all of our "licenses.inc" files which caused a ton of re-compiles.

Before the change, building after touching `ubershader.mat.in` took over
a minute, now it takes 20 seconds.

The CMake "file" commands are bad. The CMake documentation says:

    If the file is a build input, use the configure_file() command
    to update the file only when its content changes.
2019-09-10 08:02:12 -07:00
Romain Guy 24225315fa Add iOS presubmit (#1589)
* Add iOS presubmit

* Use a separate workflow for iOS
2019-09-03 11:56:32 -07:00
Romain Guy db8d4ee076 Setup Linux for GitHub CI (#1581)
* Setup Linux for GitHub CI

* Pass env var properly
2019-08-30 15:24:29 -07:00
Romain Guy c35f1e0b29 More fixes 2019-08-30 14:53:02 -07:00
Romain Guy e2ee00e36e Fix Linux CI on GitHub 2019-08-30 14:50:40 -07:00
Romain Guy d87f77c41a Don't set $TARGET 2019-08-30 14:45:03 -07:00
Romain Guy 05e9d708ed Update build scripts for workflows 2019-08-30 14:29:44 -07:00
Romain Guy 3555a01541 Support for workflows 2019-08-30 14:03:55 -07:00
Romain Guy 040c1c686a Update build script to support GitHub Actions 2019-08-30 12:02:21 -07:00
Benjamin Doherty fb95d8e7a4 debug 2019-08-14 18:13:57 -07:00
Benjamin Doherty 40efd5fd23 More debug 2019-08-14 18:13:57 -07:00
Benjamin Doherty d440775775 debug 2019-08-14 18:13:57 -07:00
Benjamin Doherty e1d9f26dbd Try keyserver 2019-08-14 18:13:57 -07:00
Benjamin Doherty ee048d259f Try to fix broken Linux and Android CI 2019-08-14 18:13:57 -07:00
Romain Guy 829db244f2 Add support for side-by-side NDK (#1505) 2019-08-11 17:36:49 -07:00
Philip Rideout 46e85804b1 Disable jsdocs to fix Kokoro. 2019-08-06 13:28:49 -07:00
Ben Doherty f028af3186 Don't build all variants for Windows CI (#1394) 2019-07-11 10:49:51 -07:00
Ben Doherty 6af77db79d Fix Android Toolchain issue on Windows (#1383) 2019-07-09 11:57:29 -07:00
Romain Guy 10c8ff352d Try with clang 7.0.1 on Windows 2019-06-27 10:52:48 -07:00
Romain Guy 299a600377 Add CMake to PATH during install 2019-06-26 19:02:21 -07:00
Romain Guy a4ebf23baa Update PATH 2019-06-26 18:53:05 -07:00
Romain Guy d23a703ca5 Echo on again 2019-06-26 18:45:47 -07:00
Romain Guy 2beb9c5588 Don't update PATH 2019-06-26 18:40:43 -07:00
Romain Guy a7fc4d8fbb Update PATH 2019-06-26 18:28:48 -07:00
Romain Guy a5dc89b071 Don't use refreshenv 2019-06-26 18:18:16 -07:00
Romain Guy 1aa7fac8c2 Remove ci-common 2019-06-26 18:03:58 -07:00
Romain Guy c01107fd52 Exit from the if statement to see what's going on 2019-06-26 17:55:43 -07:00
Romain Guy 5b27361ef0 Try with LLVM 6 2019-06-26 17:47:41 -07:00