64 Commits

Author SHA1 Message Date
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
Turánszki János 604140ad85 Procedural Terrain (#408)
0.60.50:
- Added procedural terrain generator (for now this is Editor only preview version)
- Added LOD (Level Of Detail) support
- Added LOD Generator to Editor (Mesh Window -> LOD Gen), uses the meshoptimizer library
- Editor can merge multiple objects now into one mesh (Mesh window -> Merge Selected)
- Ocean: added occlusion culling support to detect when ocean is occluded
	- can skip planar reflection render for ocean
	- can skip ocean simulation
	- can skip ocean rendering
- CPU ray tracing optimization: TMin and TMax parameter
	- can improve Ray-AABB and Ray-Triangle tests
	- improves performance of third person character controller script
- other fixes
2022-04-10 11:42:10 +02:00
Megumumpkin 26a9d5dd5e SDL Input Refactor (#406)
* SDL Input Refactor (Initial Edit)

* SDL Input Refactor - IMGUI Text Input Fix

* SDL Input Refactor - wiGUI Text Input Fix

* SDL Input Refactor - Pruning Includes

* SDL Input Refactor - Fix Includes

* SDL Input Refactor - Fix Compiler Error (Windows)

* SDL Input Refactor - Fix Compile Error (2)

* SDL Input Refactor - SDL Version Checking For LED

* Trying out Sniper SDK build system

* SDL Input Refactor - Processing Design Changes

* SDL Input Refactor - Separate Steam Deck Build

* SDL Input Refactor - Separate Steam Deck (2)

* Steam SDK CI Build - Change Package Name & Reduct

* Steam SDK CI - Straight up building, no apt update
2022-03-29 11:26:34 +02:00
Turánszki János 406d24d031 updated to visual studio 2022 (#392)
* updated to visual studio 2022

* github actions fix
2022-02-19 12:54:52 +01:00
Turánszki János 0fdc67dcd0 DX12 custom root signatures (#372)
* dx12: abandoned shader reflection, added support for custom root signatures, removed dxcompiler dependency

* removed dll copies from build scripts

* update

* updates

* updates

* fix

* update

* update

* updates

* added custom root signatures to some passes

* fix

* updates

* comment fix

* allow shaders to not have root signatures, if they are part of a pipeline which has root signature for an other shader

* root signature optimizer

* batched descriptor null initializer

* shader updates

* update

* put the atmospheric sky update to async compute

* improved debug of root constant - push constant data size mismatch

* bitwise root param iteration

* added superluminal perf api

* performance api will be optional

* async updaterenderdata fixes

* fixes

* fixes

* occludee update

* raytraced reflection implementation with ray query instead of rt pipeline

* alwaysactive

* shadercompiler enable old d3dcompiler because why not, it's only loaded on demand now

* removed common sampler api

* root signature simplification

* fixes

* linear allocator fix

* push constants are now immediately set

* fixes

* version

* fix?

* improved descriptor allocator

* default sampler table reduction

* gpu sort lib push constants

* small update

* descriptor allocator safety

* shader compiler refactor

* some optimizations
2021-12-19 15:53:18 +01:00