Commit Graph

68 Commits

Author SHA1 Message Date
Turánszki János 3899e472b6 Mac OS support (#1346) 2026-01-11 21:53:46 +01:00
Dennis Brakhane 4d2ca34e6f gh actions: disable IPO for now (#1358) 2025-12-11 18:36:42 +01:00
Dennis Brakhane be6756ae01 cmake: add option to compile and embed shaders during the build process (#1356)
This adds an option WICKED_EMBED_SHADERS (off by default). When ON,
offlineshadercompiler will be compiled first and run every time
a *.hlsl? file changes, the resulting wiShaderDump.h will be put
in the build directory, and then wiRenderer will be compiled again with
the build directory in the include path; this will cause the
__hasinclude to trigger embedded shaders mode.

A nice side effect is that the hacky solution to handle the __hasinclude
is not needed anymore, all dependencies are now handled correctly.

offlineshadercompiler was also extended with a "quiet" option to
suppress messages during compilation.
2025-12-11 07:49:43 +01:00
Turánszki János 507ba798a0 arm64 build support (#1345) 2025-12-04 14:47:12 +01:00
Dennis Brakhane c45dc7f58f cmake: also build using clang on windows (#1325)
also update CCache to newest version
2025-11-24 15:49:05 +01:00
Turánszki János 40f862135b windows cmake test build (#1321) 2025-11-24 09:27:35 +01:00
Dennis Brakhane d7e9cc90cd cmake: add flags to enable sanitizers on linux (#1284)
Sanitizers added: address, undefined behaviour, thread

also rename WICKED_USE_{IPO,SYMLINKS} to WICKED_ENABLE_{IPO,SYMLINKS}
for consistency with the other options.
2025-11-04 17:17:59 +01:00
Dennis Brakhane fafd14acfd Fix CCache build on windows (#1200)
This reverts commit 8251c2a025 and
adds the necessary fix: setting the environment variable
CCACHE_NODIRECT on Windows.
2025-08-09 09:51:05 +02:00
Turánszki János 8251c2a025 fixed the broken windows github build 2025-08-07 19:17:16 +02:00
Dennis Brakhane f0d24e3574 gh actions: no LTO for PR verification (#1197)
IPO/LTO increases link time significantly; we want PR checks to finish
as quickly as possible and we don't really care about the performance
of the result, so disable it.

Nightly builds will still use IPO
2025-08-05 14:44:07 +02:00
Dennis Brakhane 58099a9ab2 cmake: handle (non)existance of wiShaderDump.h automatically (#1195)
We set SHADERDUMP_ENABLED on wiRenderer depending on whether or not
wiShaderDump.h exists. This will cause a recompile if necessary, even
though normally the build system cannot see the has_includes.

Since the compiler flags are different, this will even work with CCache
in direct mode.

This commit also configures CCache to have better hit rate for
precompiled headers as well as re-enabling the (much faster) direct
mode.
2025-08-02 09:04:04 +02:00
Dennis Brakhane b9527bf60a gh actions: don't fail fast (#1183)
by default, if any run of a matrix strategy fails, the others are
stopped immediately. In our case it means that if gcc fails, the
clang build will also fail, which is not what we want.

Change fail-fast to false so that if gcc fails, we can still see if
clang also fails or if it is a gcc specific problem or vice versa.
2025-07-23 08:13:18 +02:00
Dennis Brakhane 4acc10d3cc github build: fix ccache not being updated, limit size (#1173)
GitHub has the weird restriction that builders in a branch can only
access their own cache as well as the one from "master". Which means
PRs cannot use each others CCache. Therefore the master build was
also updating the cache.

This also means we'll have to compile clang there as well, just so that
the cache can get updated. As with the PR build, the resulting binaries
aren't packaged.

I've also fixed the name for the windows cache, build-pr was using
ccache-win, but build.yml was using win-ccache

This commit also reduces the maximum size to 500MiB, otherwise
the caches can become too big and get deleted by GitHub before they
can be used (the windows one was over 4GiB, and a new one
was created for every PR, quickly exceeding the 10 GB limit)
2025-07-17 08:05:23 +02:00
Dennis Brakhane f59bd4f9a9 github builds: on linux, compile PRs with clang as well (#1170)
PR builds will be compiled with both GCC and Clang to more easily spot
errors.

There is still only one Linux artifact, the GCC one.

build.yml and build-nightly.yml will still only use GCC. The only
changes there are switching to ninja and adjusting the name of
the github cache to be consitent with build-pr.

Also the Windows CCache binary was updated to the latest version
2025-07-14 14:01:27 +02:00
Dennis Brakhane 551bbe8745 cmake: rename WickedEngineEditor target to Editor (#1139) 2025-06-25 23:05:48 +02:00
Turánszki János 1192755617 linux: don't include languages folder because some version of linux can't open some files 2025-05-11 09:54:45 +02:00
Turánszki János 92a73e6f19 pr build script fix 2025-04-05 10:58:24 +02:00
Turánszki János 79be01536d remove all upx usage 2025-03-11 08:55:29 +01:00
Turánszki János 2d5e464807 other builds 2025-03-11 08:39:06 +01:00
Turánszki János a9fc100702 try fix github virus detected 2025-03-11 08:01:47 +01:00
Turánszki János bee1d11567 hairparticle simulation rewrite and multisegment fix; added indirect debug draw features; added custom lod selection for shadow maps; 2025-02-15 18:34:21 +01:00
Turánszki János 4bae72f5f7 props file moved from root dir (#1043) 2025-01-23 07:55:33 +01:00
Dennis Brakhane 0022b69da1 Github actions: Add Ccache to Windows build (#1041) 2025-01-21 06:47:15 +01:00
Dennis Brakhane 98dfd7f589 github actions: use offical UPX, update .editorconfig (#1031)
* Update .editorconfig so my Emacs doesn't add tabs into the YAML files
  anymore

* The UPX version in ubuntu doesn't use the NRV library and seems to be
  a bit buggier. Furthermore, UPX is GPL and they allow an exception
  only if the binary is compressed with the official build. The latter
  is not really a problem, nobody will care, but the worse compression
  and potential crashes are. So just use the official build for Linux.
  Windows was already using it, but to keep it consistent with
  UPX_VERSION we now also download it instead of using Chocolatey.
2025-01-19 07:45:35 +01:00
Dennis Brakhane 7918369856 github actions: cancel superseded PR build actions (#1030)
When a PR is updated while the build action hasn't finished yet,
the old action is not automatically cancelled. That build is of
very limited usefulness since its results will not be shown and
are not relevant anymore, so it just wastes resources.

This commit fixes that, now an older build will get cancelled.
2025-01-18 08:15:19 +01:00
Dennis Brakhane ddc55487d1 Compress Editor with UPX (#1022) 2025-01-17 07:34:32 +01:00
Dennis Brakhane dc1b346b39 GitHub actions: replace deprecated save-always (#1002) 2025-01-08 08:33:36 +01:00
Turánszki János b78030b02f async queue updates (#885) 2024-07-19 06:56:14 +02:00
Dennis Brakhane 7dc740cca8 split actions (#893) 2024-07-19 05:44:43 +02:00
Dennis Brakhane f29495838a actions: don't use ccache direct mode (#892)
Conditional inclusion based on what files are available is the
one edge case that doesn't work in direct mode.
2024-07-18 19:26:30 +02:00
Dennis Brakhane 6c8ed16d0e use ccache on linux builds (#889)
github workflows: use ccache on linux builds

this speeds up build time significantly if there aren't many changes.
2024-07-18 13:10:49 +02:00
Turánszki János de656d7bbc Packaging updates (#846) 2024-05-22 17:15:13 +02:00
Turánszki János 484f32f3e4 shader buffer refactor; vulkan mesh shader fixes; (#713) 2023-07-25 09:59:59 +02:00
Turánszki János bbc71222af readme, features and build script updates (#711) 2023-07-21 10:43:55 +02:00
Turánszki János 3fbb10b6b5 Font changes (#680)
- font renderer DPI scale change handling
- Editor: user fonts will be loaded from fonts folder, config.ini can override default font, removed yumin embedded font, added NotoSans CJK font to support Chinese, Janpanese and Korean characters with one file
2023-05-21 21:15:21 +02:00
Turánszki János e5783a98db disable steamdeck build because of timeouts 2023-04-07 11:49:48 +02:00
Turánszki János 49def1c269 Localization (#654) 2023-03-25 20:28:12 +01:00
Turánszki János b02f57d160 shader compiler: strip reflection option (#648) 2023-03-18 11:06:41 +01:00
Turánszki János 67c87cb221 updated dxcompiler (#634) 2023-01-30 23:30:10 +01:00
Turánszki János 897db1148d Vulkan 1.3, dynamic renderpass, PSO precompile option (#610) 2022-12-23 12:38:47 +01:00
Turánszki János 573fef905a Mesh shader updates (#606)
- Removed VK_NV_mesh_shader
- Added VK_EXT_mesh_shader
- Added DispatchMeshIndirectCount
- Updated Vulkan headers
- Updated Volk
- Updated DXC
2022-12-13 20:39:12 +01:00
Turánszki János a3b496147c Procedural talk (#601) 2022-12-10 16:30:26 +01:00
Turánszki János f7ebdbda64 New character controller sample (#575) 2022-09-30 16:25:45 +02:00
Turánszki János 6d031729f7 embedded credits (#546) 2022-08-31 10:02:22 +02:00
Turánszki János a0ad653d7d GUI ResizeLayout (#495)
* gui resizelayout #51

* checkbox icons

* updates

* weather reset

* embedded logo asset
2022-07-31 19:28:41 +02:00
Molasses d7cec56946 CMake template project for Linux (#491) 2022-07-21 10:04:34 +02:00
Turánszki János 2bcc7cc35c added funding.yml 2022-07-13 11:06:03 +02:00
Turánszki János b944465263 Font renderer updates (#483)
* font renderer updates, text debug drawer;
editor: name visualizer;
github CI: vulkan sdk not required;

* cmake: vulkan sdk not required

* refactors

* lua binding for DrawDebugText()

* comment

* transparency sorting for debug texts;
font alphablend fix;

* softer debug text
2022-07-05 15:20:23 +02:00
Turánszki János c02ab327d8 Physical light units (#476) 2022-06-29 20:15:36 +02:00
Molasses e0bfb799bc Added multiple jobs to the GitHub CI workflows (#464) 2022-06-14 11:37:04 +02:00