Commit Graph

50 Commits

Author SHA1 Message Date
Feifan He
23ba1a5e07 vkd3d-shader: Introduce VKD3D_SHADER_TARGET_MSL. 2024-09-12 17:03:32 +02:00
Giovanni Mascellani
51b65688e1 ci: Abort on assertions on the CI. 2024-07-29 13:17:19 +02:00
Giovanni Mascellani
46a1b66df7 ci: Assume an Apple Silicon-based environment for the macOS CI job.
The previous Intel-based macOS runner was replaced with another one
running as a virtual machine on top of an Apple Silicon host.

Since the current macOS runner is not yet able to deal with
different exit codes, we temporarily allow failure unconditionally.
This will be reverted as soon as the runner issue is fixed.
2024-06-17 12:32:33 +02:00
Henri Verbeet
9693271dcf tests: Rename VKD3D_TESTS_SKIP_DXC to VKD3D_TEST_SKIP_DXC.
For consistency with the other VKD3D_TEST_* environment variables.
2024-05-27 21:08:14 +02:00
Giovanni Mascellani
9241e1bcd3 ci: Run crosstests with DXC too.
This is added as a new job because some tests currently fail. A 32 bit
job is not created, instead, because a 32 bit dxcompiler.dll is not
available.
2024-04-22 23:13:50 +02:00
Giovanni Mascellani
09630ada90 tests: Allow compiling shaders with DXC on crosstests.
This is currently disabled on the CI because dxcompiler.dll is not
available.
2024-04-22 23:13:48 +02:00
Giovanni Mascellani
42f07352a0 ci: Build Mesa for release.
Otherwise it trips on a few failed assertions in d3d12.c.
2024-04-10 08:54:51 -05:00
Giovanni Mascellani
ca2f54e729 ci: Delimit building each commit with a collapsible section. 2024-04-09 12:28:10 -05:00
Giovanni Mascellani
9c0d04c862 ci: Build the macOS image each time the Linux image is built. 2024-04-04 22:22:06 +02:00
Giovanni Mascellani
636d8d3850 ci: Run tests on llvmpipe from Mesa 24.0.3. 2024-04-03 22:24:13 +02:00
Giovanni Mascellani
b3ce73984d ci: Make llvmpipe from Mesa 24.0.3 available in the CI image. 2024-04-03 22:24:13 +02:00
Henri Verbeet
1fc55d80cd vkd3d-shader: Enable GLSL target support when VKD3D_SHADER_UNSUPPORTED_GLSL is defined. 2024-03-08 23:36:40 +01:00
Henri Verbeet
edc8e38bd9 ci: Enable colour output for the tests.
Autodetection doesn't work, but gitlab does in fact support colour
output. Perhaps more importantly, the "Scroll to next failure" feature
essentially scans the output for red text.
2024-02-21 23:23:34 +01:00
Henri Verbeet
5eba031fa1 vkd3d: Cast DWORD flags to uint32_t in debug traces. 2024-02-09 22:47:51 +01:00
Giovanni Mascellani
866e5de95b ci: Prepare the macOS build environment in a dedicated CI job. 2024-01-18 23:13:05 +01:00
Giovanni Mascellani
847930d5e0 ci: Rename CI target build-image to image-linux. 2024-01-18 23:13:03 +01:00
Giovanni Mascellani
2fe76f3b60 ci: Dump the d3d12 summary line in the CI log.
d3d12 lumps many tests together, so it's useful to have the summary
line in the CI log.
2024-01-08 21:44:46 +01:00
Giovanni Mascellani
f087aa752d ci: Build vkd3d with SPIRV-Tools. 2023-12-13 22:32:26 +01:00
Alexandre Julliard
8d83b2eaec ci: Add script to create the gitlab release.
Copied from the corresponding Wine script.
2023-12-06 15:31:12 +01:00
Jacek Caban
b47ac10b5c gitlab: Remove no longer needed -Wno-enum-conversion from build-mac. 2023-11-28 00:09:29 +01:00
Giovanni Mascellani
f0a16d84ce ci: Execute the shader runner on the correct test data on Windows. 2023-11-23 22:37:21 +01:00
Giovanni Mascellani
50a56f6aeb ci: Deduplicate the CI configuration for Windows. 2023-11-23 22:37:19 +01:00
Henri Verbeet
beb3f6e0c2 tests: Introduce an OpenGL shader runner. 2023-11-22 22:08:11 +01:00
Giovanni Mascellani
f8fcfc52d8 ci: Expect builds to always succeed, even when tests are allowed to fail. 2023-11-07 22:26:36 +01:00
Giovanni Mascellani
4e1f4cc428 ci: Make the MoltenVK logging less verbose. 2023-11-06 23:08:42 +01:00
Giovanni Mascellani
2955232656 ci: Allow the artifact copy to fail.
If the build fails some artifact files might not exist, and we
don't want the script to fail just because of that.
2023-11-06 23:08:32 +01:00
Giovanni Mascellani
dbc5e7d07c ci: Run cross tests on Windows.
A driver program is introduced to coordinate test running on Windows,
similarly to what "make test" does on Linux and macOS.
2023-10-31 21:58:51 +01:00
Giovanni Mascellani
54239da200 ci: Properly pass -W flags for cross tests building. 2023-10-18 20:58:12 +02:00
Giovanni Mascellani
1bd8baf420 ci: Run tests using dxcompiler.
The dxcompiler is only used for 64 bit builds, because no official
32 bit implementation is distributed. This might change in the future
building the compiler ourselves and using vkd3d-shader to sign the
generated shaders.
2023-10-16 22:36:17 +02:00
Giovanni Mascellani
680a5aaa78 ci: Build the DXIL parser. 2023-10-16 22:36:17 +02:00
Giovanni Mascellani
1ee0cbb627 ci: Build widl for 64 bit. 2023-10-16 22:36:15 +02:00
Alistair Leslie-Hughes
71715cc434 vkd3d-shader: Fix compiler warning.
vkd3d-shader/tpf.c:3810:39: warning: passing argument 2 of ‘sm4_register_from_node’ from incompatible pointer type [-Wincompatible-pointer-types]
vkd3d-shader/tpf.c:4750:59: warning: passing argument 3 of ‘sm4_register_from_deref’ from incompatible pointer type [-Wincompatible-pointer-types]

Change to use uint32_t as requested.
2023-10-05 16:14:44 +02:00
Giovanni Mascellani
d10e94d8d5 ci: Update the README with some recent changes. 2023-10-02 22:25:16 +02:00
Giovanni Mascellani
ede1ff6951 demos: Do not trigger -Wmissing-prototypes for wmain().
For some reason wmain() is not exempted from -Wmissing-prototypes
in the same way as main() is. So we just declare a prototype for it.
2023-10-02 22:25:14 +02:00
Giovanni Mascellani
627cf50320 vkd3d: Use CONST_VTABLE. 2023-10-02 22:25:14 +02:00
Giovanni Mascellani
ef77d78a39 ci: Store config.log as a build artifact. 2023-10-02 22:25:14 +02:00
Giovanni Mascellani
fd6c6895d6 ci: Compile with -Werror.
Manually disable some warnings that are currently emitted. Eventually
the warnings should be solved and -Werror should remain alone.
2023-10-02 22:25:13 +02:00
Giovanni Mascellani
7366b5fd38 ci: Prepend an ordinal number to commits in artifacts. 2023-09-27 22:34:24 +02:00
Giovanni Mascellani
e85e2417d5 ci: Build vkd3d with MinGW too.
Nowadays vkd3d is probably most commonly used compiled as PE rather then
ELF, so it makes sense to at least ensure that compilation succeeds.
In the future it would be nice to somehow test these binaries as well.
2023-09-27 22:34:18 +02:00
Giovanni Mascellani
2dd4211b77 ci: Wrap complex commands in CI scripts. 2023-09-26 22:07:36 +02:00
Giovanni Mascellani
335f9fb31e ci: Build crosstests with -Wno-array-bounds. 2023-09-26 22:07:36 +02:00
Giovanni Mascellani
81da13b9e2 ci: Build crosstests in a dedicated CI job.
Mostly to avoid polluting other logs and artifacts, and also to avoid
recompiling crosstests over and over. Eventually the artifacts produced
at this stage should be run on native Windows.
2023-09-26 22:07:35 +02:00
Giovanni Mascellani
c052cd8998 vkd3d-shader/ir: Introduce a boilerplate to validate the generated IR.
For the moment the validator is trivial, it never fails. Checks will
be added incrementally.
2023-09-22 11:06:13 +02:00
Giovanni Mascellani
3113f167ba ci: Do not drop artifacts after 1 day.
There is no point in using such a short timeout. We trust the GitLab
instance to already have a sensible default.
2023-09-14 20:28:49 +02:00
Giovanni Mascellani
d72c91ef97 ci: Run the tests on macOS. 2023-09-14 20:28:47 +02:00
Giovanni Mascellani
f525e9e93a ci: Run the tests on a 32 bit Linux system. 2023-09-04 20:26:05 +02:00
Giovanni Mascellani
367cf10cdc ci: Briefly document the CI setup. 2023-08-31 22:07:21 +02:00
Giovanni Mascellani
229a34b93c ci: Execute the tests. 2023-08-31 22:07:21 +02:00
Giovanni Mascellani
52d52ad1b9 ci: Execute CI also an a runner with an AMD GPU.
In order for this to work it is expected that the Docker host exposes
the devices in /dev/dri to the guest system, and that the render nodes
have GID 800 (usually that would be the "render" group, but the GID
for that group is dynamically assigned, so we explicitly agree on a
fixed number).
2023-08-31 22:07:16 +02:00
Giovanni Mascellani
4a3ad750e0 ci: Introduce a CI pipeline for GitLab. 2023-08-29 22:07:56 +02:00