Commit Graph

20 Commits

Author SHA1 Message Date
Ahmed Hesham
e778fa8380 Update D3D10 and D3D11 interop tests (#2479)
Both tests depend on a very old DirectX SDK (August 2009) and expect it
to be extracted to an {NV_TOOLS} environment variable. They additionally
require definining {ARCH} as a CMake configuration option, which is not
needed.

Update both projects to use DirectX libraries provided by the Windows
SDK and drop the unneeded configuration options.

---------

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
2025-08-19 17:37:47 +01:00
Ahmed Hesham
9acbb24064 Fix ccache in CI (#2492)
sccache emits a warning message after every build that it has failed to
save a build cache. Additionally the stats are all zeroes, no cache hits
(or misses). The "Caches" tab under "Actions" does not have any cached
build artifacts which confirms that nothing is being saved.

Fix by passing the correct launcher options directly to CMake instead of
wrapping them in `CMAKE_CACHE_OPTIONS`.

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
2025-08-19 17:37:37 +01:00
Ben Ashbaugh
555b7cd383 tests for cl_khr_spirv_queries (#2409)
See: https://github.com/KhronosGroup/OpenCL-Docs/pull/1385
2025-08-13 08:11:10 +01:00
Sreelakshmi Haridas Maruthur
aef863afa2 Support building for Windows on 64-bit Arm (#2355)
Support to build for Windows on Arm.
2025-08-12 08:46:23 -07:00
Ahmed Hesham
b8f9581e89 Update the GitHub workflow for Android (#2476)
Use the latest stable LTS version of the NDK (r28c) and add
`ANDROID_PLATFORM` to the CMake configuration options, set to 29, so
that Android Hardware Buffer tests can be compiled.

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
2025-08-07 20:48:34 +01:00
Kévin Petit
455c7b0504 ci: move contents of presubmit.sh to workflow file (#2380)
Signed-off-by: Kévin Petit <kpet@free.fr>
2025-05-06 09:43:38 -07:00
Ahmed Hesham
d4c292ed46 Fix broken CI on MacOS (#2341)
LunarG has changed the SDK file hosted for MacOS v1.3.275.0 from a .zip
file to a .dmg file with the old hyperlink transparently redirecting to
the new one.

The script expects a .zip archive so it fails when it downloads a .dmg
file.

Bump the Vulkan SDK version to 1.4.309.0, which is the latest version
and is provided as a .zip archive.

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
2025-03-18 09:04:14 -07:00
Ahmed Hesham
e361b387d9 Add Android to the CI build matrix (#2165)
Support building for Android on Arm and AArch64 platforms.

Modify the build matrix to add to new variations. Both variants
download, extract and setup the Android Native Development Kit (NDK) on
a Linux runner. Each variant specifies a `android_arch_abi`, which is
passed to CMake during configuration as its `CMAKE_ANDROID_ARCH_ABI`
option.

The CMake toolchain file provided by the NDK is used when building for
Android. The NDK version used is r27c, which is the latest Long-Term
Support (LTS) version. `ANDROID_PLATFORM` is intentionally not set, so
the NDK can default to the minimum supported version, which is 21. The
compiler (Clang) version used by this NDK is 18.0.3.

The NDK ships with its own sysroot, which has the Linux kernel headers
of version 6.8.0, or `LINUX_VERSION_CODE 395264`.

CMake
https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#id23
https://cmake.org/cmake/help/latest/variable/CMAKE_ANDROID_ARCH_ABI.html

NDK
https://developer.android.com/ndk/downloads
2024-12-03 08:56:46 -08:00
Ahmed Hesham
df5e87bf97 Use the system package manager to install cross-compilers (#2158)
On Ubuntu, use the system's package manager, `apt`, to download and
install the cross-compilers for Arm and AArch64. This replaces
downloading the compilers as tarballs.

To ensure that the correct version of the compiler is used when calling
one without the version suffix, e.g. `aarch64-linux-gnu-gcc`, use
`update-alternatives`.

On Linux, the compilers for `x86_64`, `arm`, and `aarch64` will now
correctly use the filesystem root as their sysroots, i.e. `/usr/include`
will be used when searching for headers, instead of each compiler
providing its own.
2024-11-26 09:30:41 -08:00
Kévin Petit
a281046e0e Bump clang-format version to 14 (#1983)
Default version coming with Ubuntu 22.04 that the CI now uses.
2024-06-25 09:44:31 -07:00
saurabhnv
7f1caf4aa9 Shader -> SPIR-V at CTS build time (#1849) (#1878)
* Shader -> SPIR-V at CTS build time (#1849)

Instead of relying on prebuilt checked-in SPIR-V files, compile
available shaders at CTS build time.

* Add dependency on glslc (available as part of VULKAN_SDK).
* Add optional build flag BUILD_GLSL_SHADERS, OFF by default.

* Remove pre-built SPIR-V files

* Compile Shader -> SPIR-V at CTS build time

* Use glslangValidator for shader -> spirv

* Add glslangValidator tool for shader -> spirv

* Refactor glslangValidator tool retrieval

* Address review comments

* Use add_subdirectory() instead of include()
* Use glslang instead of glslangValidator
* Update Github actions CI to install Vulkan SDK
2024-04-02 10:16:45 -07:00
Sven van Haastregt
4c318a1617 [CI] Upgrade to actions/checkout@v4 (#1920)
Node.js 16 actions are deprecated, so update to v4 which uses Node 20.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
2024-03-18 10:38:35 +01:00
Kévin Petit
ddbb0de4b9 ci: use ubuntu-22.04 instead of 20.04 (#1795)
* ci: use ubuntu-22.04 instead of 20.04

Signed-off-by: Kevin Petit <kevin.petit@arm.com>

* bump clang-format version

Oldest supported by 22.04

* update check-format script

---------

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2023-08-22 18:13:22 +01:00
Sven van Haastregt
c3d36bf9fb [CI] Upgrade to actions/checkout@v3 (#1677)
Node.js 12 actions are deprecated, so update to v3 which uses Node 16.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
2023-03-22 11:21:23 +00:00
Stuart Brady
7859a33182 Include release builds in GitHub Actions (#1486)
The "Ninja" CMake generator does not support multiple configurations,
i.e. it does not support use of the '--config' option when running
'cmake --build'.  As such, the default configuration (i.e. Debug)
was getting used for all builds.

Use the CMAKE_BUILD_TYPE variable instead, so that we do release
builds, but change one build (ubuntu-20.04 aarch64) to use Debug
as its build type, to keep some build coverage for asserts, etc.

For Vulkan-Loader and OpenCL-ICD-Loader, we do release builds
unconditionally, as we assume there is no need in the CI workflow
to actually run the binaries that are built, and therefore no need
for any additional debug info.

Signed-off-by: Stuart Brady <stuart.brady@arm.com>
2022-09-13 18:22:52 +01:00
Kévin Petit
3662d17447 Update Github Actions CI and add Windows (#1413)
- Add one Windows build to Github Actions
- Remove Appveyor config
- Move a few build steps out of the script
- Use Ninja as the generator (makes for more readable logs)
- Add build cache (except on Windows where it seems to break)

Change-Id: Ida90ee1842af98aff86e5144ab7b9766480378c9
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2022-04-29 10:42:27 -07:00
Kévin Petit
236cd73fa1 Use macOS 10 in CI (#1282)
macOS jobs frequently fail. Since macos-11.0 support is considered experimental,
move to macos-10, using macos-latest so we automatically move to 11 when
stable.

See https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2021-07-02 10:34:13 +01:00
ouakheli
a08cacc673 Fix clang-format-9 install (#1261) 2021-05-24 11:31:37 +01:00
Kévin Petit
66eb912ad5 ci: move code format check out of the main job/script (#1154)
A bit cleaner than the written-in-a-haste-to-get-ci-going-again current approach.

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2021-02-23 14:23:18 +00:00
Kévin Petit
46fead41f4 Replace Travis CI with Github Actions (#1047)
* Replace Travis CI with Github Actions

Signed-off-by: Kevin Petit <kevin.petit@arm.com>

* Fix OpenGL coverage

* Tidy up

- Fix shell warning
- Remove ENABLE_OPENCL30_PROVISIONAL ICD CMake option
2020-11-06 11:23:50 +00:00