Commit Graph

16 Commits

Author SHA1 Message Date
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
Turánszki János 2f681cb7eb looks like exceptions were not disabled properly, now they are 2025-11-23 16:25:29 +01:00
Turánszki János acf8006e68 compile optimizations (#1301)
- removed exceptions
- removed runtime security checks from release builds
- disabled runtime type information
2025-11-17 08:00:19 +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 89ad0f1a1a cmake: add support for link time optimization (#1196)
add an option WICKED_USE_IPO that enables IPO/LTO on non-debug builds.

It defaults to ON, unless the compiler doesn't support it.
2025-08-04 08:01:28 +02:00
Turánszki János 566b2490be enabled avx (#1184) 2025-07-24 08:36:31 +02:00
Dennis Brakhane 9efa9ddcfc cmake: add build flags for using AVX2 etc., work around GCC bug (#1167)
* cmake: work around GCC bug when compiling Jolt

* cmake: add build flags for using AVX2 etc.

On linux, AVX2 was used by default for compiling Jolt,
buy not in other parts, which clang doesn't like
(specifically inlining functions using a disabled instruction set)

So now, we just define some compile time options to enable/disable
AVX2, AVX, AVX512 etc. and make the compiler use the code for
everything, not just Jolt. By default, AVX2 is used.

Furthermore, the CMakeLists files were slightly refactored to be
a bit less messy.

* silence GCC warnings

* fix clang build on window

* disable another gcc warning-turned-error

* spring initialization fix

* size_t initializaed to 0 instead of -1

* remove initialization

---------

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
Co-authored-by: Turánszki János <turanszkij@gmail.com>
2025-07-13 16:24:39 +02:00
Dennis Brakhane 854ea1fbd5 cmake: restore Template_Windows/CMakeLists.txt
also, remove reference to nonexistant Template_Windows.rc file.
2025-07-01 19:19:33 +02:00
Turánszki János ef16be5f41 removed mostly win32 code clutter 2025-06-03 19:34:47 +02:00
Turánszki János 27179a025a DirectXShaderCompiler 2025 May update (#1112) 2025-05-31 09:13:46 +02:00
Turánszki János 9691cdf4e0 restore shader compiler reverted stuff 2025-05-29 09:43:33 +02:00
Dennis Brakhane 2779e1848e Updated DirectXShaderCompiler to 2025 February release, removed dxil.dll 2025-05-27 08:03:41 +02:00
Dennis Brakhane b0390c1f44 require cmake 3.19
We use features that aren't supported before that
2025-03-11 14:20:49 +01:00
CitroenGames 765fd549d4 fixing template windows cmake (#983)
* Update CMakeLists.txt

* improved build speed for windows
2024-12-08 10:28:07 +01:00
Turánszki János 94a34c51c1 refactored samples (#942) 2024-09-12 08:49:00 +02:00