Commit Graph

23 Commits

Author SHA1 Message Date
Dean Galvin 1e945e7615 ci: run lavapipe at the AVX level on every Linux runner
agc_driver_vopc_compare failed on every Linux runner with an
AVX512-FP16 Xeon (Sapphire, Emerald and Granite Rapids) and passed on
AMD EPYC and Ice Lake runners. Ubuntu 24.04's lavapipe compiles with
LLVM 20.1.2, which on these CPUs merges a masked fcmp ult/uge on half
vectors with the same compare of swapped operands, so v_cmp_nle_f16,
v_cmp_nlt_f16 and v_cmpx_nle_f16 return the result of their mirror.
The recompiler's SPIR-V is the same on every device and correct.

GALLIUM_OVERRIDE_CPU_CAPS=avx keeps LLVM off AVX-512, so every runner
compiles the tests the same way.
2026-10-04 06:08:37 +13:00
boykopovar 0032decb6a ci(tests): run build tests three times 2026-10-02 22:02:20 +03:00
Adrià Franch 8ed454d2fa ci: run the shader execution tests on lavapipe
MixPrecision and SdwaDestination dispatch hand-assembled RDNA through the
recompiler and compare every lane with a CPU model, but were never in ctest.
Move them to tests/execution/, which is globbed into one test per file with
the same target names, so new execution tests add a file and no CMake lines.
They exit 77 (skipped) when the host has no Vulkan device; the Linux runner
installs lavapipe and sets ANYPS5_REQUIRE_VULKAN=1 so they cannot skip there.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-01 22:45:25 +02:00
boykopovar d2754f6f56
Merge pull request #189 from adriadam10/ci/label-colors
ci: give labels colors and descriptions
2026-09-30 19:16:28 +03:00
boykopovar 407a1f4a66
ci(labels): set colors only for some 2026-09-30 19:15:51 +03:00
boykopovar 1dfdd708e9
Merge pull request #149 from adriadam10/ci/pr-overlap
ci: comment on pull requests that overlap other open pull requests
2026-09-30 19:12:31 +03:00
Adrià Franch b17c536fbd ci: give labels colors and descriptions
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-30 18:07:17 +02:00
STL1te 5cf8ffa090 ci(windows): the WinLibs CMake gets a CA bundle for the FFmpeg download
WinLibs puts its own cmake.exe (4.3, OpenSSL) first in PATH and ships no
CA certificates, so file(DOWNLOAD) of the FFmpeg package failed with
curl error 60. SSL_CERT_FILE points it at the bundle of Git for Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 09:34:56 +03:00
Adrià Franch 8d02448525 ci: comment on pull requests that overlap other open pull requests
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-29 16:24:47 +02:00
boykopovar b01e0bbf52 fix(build): use portable save paths and validate all PRX libraries in CI 2026-09-29 02:24:56 +03:00
boykopovar 141b7d7ff0 fix(ci): use git bash for windows release 2026-09-29 00:38:21 +03:00
boykopovar 64066b6e9a
Merge pull request #103 from boykopovar/feat/provide-release
Feat/provide release
Added a release workflow for v* tags: build Windows and Linux, run tests, and publish only if both platforms are successful. The release contains PRX archives, relinker executables, and documentation from docs/user. The build cache is reused.

- `prx-windows-v0.1.0.zip`
- `prx-windows-v0.1.0.tar.gz`
- `prx-linux-v0.1.0.zip`
- `prx-linux-v0.1.0.tar.gz`
- `relinker-v0.1.0.exe`
- `relinker-v0.1.0`
- `COMPATIBILITY.md`
- `INPUT_MAPPING.md`
2026-09-29 00:25:39 +03:00
boykopovar 1bc7f01511 feat(ci): add version to release file names 2026-09-29 00:22:44 +03:00
boykopovar 1071c9e09c feat(ci): add release workflow + update readme 2026-09-29 00:15:21 +03:00
boykopovar 14a6d28cce
Merge pull request #90 from adriadam10/ci-conflict-label
ci: label pull requests that conflict with main
2026-09-28 21:53:51 +03:00
boykopovar 4e418f1c98
Merge pull request #91 from adriadam10/ci-area-labels
ci: label pull requests by area
2026-09-28 21:53:10 +03:00
boykopovar fac193057c
Merge pull request #41 from adriadam10/ci-build
ci: build and test on Linux and Windows
2026-09-28 21:50:51 +03:00
Adrià Franch 682fb3d73c ci: time out hung tests 2026-09-28 16:40:34 +02:00
adriadam10 5ad7c5793a ci: build and test on Linux and Windows
Builds with tests enabled and runs ctest on every push to main and every
pull request: GCC on Linux, and on Windows the MinGW-w64 winlibs GCC
15.2.0 toolchain required by the README. ccache and the toolchain are
cached, and only pushes to main save the ccache, so pull requests reuse
it without evicting it.

Windows build steps run in cmd because Git Bash puts its own mingw64 DLLs
first in PATH, which breaks build tools such as nid_patcher that link
libstdc++ dynamically.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 16:40:34 +02:00
Adrià Franch d8db8192b4 ci: label pull requests that conflict with main
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-28 15:50:48 +02:00
Adrià Franch a8e48f48aa ci: label pull requests by area
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-28 15:50:48 +02:00
adriadam10 e73cd7dec3 feat(tools): report progress changes on pull requests
progress.py stores the names of implemented and pending items, can
measure another source tree with --root and prints a Markdown diff of
two runs with --compare. The Progress report workflow compares every
pull request with its base, and Progress comment posts the result as a
single comment, updated on every push and removed when progress no
longer changes. Commenting runs as a separate workflow_run so pull
requests from forks never run with write permissions.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 18:47:32 +02:00
adriadam10 3c6b0af6f7 feat(tools): add progress map for system libraries and shader instructions
tools/progress.py counts implemented prx functions and RDNA instructions
recognized by the shader recompiler, and renders treemaps, badges and an
index page. The Progress workflow deploys them to GitHub Pages on every
push to main, so nothing generated is committed to the repository.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 18:21:34 +02:00