Commit Graph

195 Commits

Author SHA1 Message Date
gogo 610ec87cf3 add tsan 2022-05-30 18:22:17 +02:00
SirLynix 5507b98f2f Remove assets from repository and download them using xmake 2022-05-27 08:34:36 +02:00
Jérôme Leclercq 03e2801dbe Split engine to packages NazaraUtils and NZSL (#375)
* Move code to NazaraUtils and NZSL packages

* Reorder includes

* Tests: Remove glslang and spirv-tools deps

* Tests: Remove glslang init

* Remove NazaraUtils tests and fix Vector4Test

* Fix Linux compilation

* Update msys2-build.yml

* Fix assimp package

* Update xmake.lua

* Update xmake.lua

* Fix shader compilation on MinGW

* Final fixes

* The final fix 2: the fix strikes back!

* Disable cache on CI

* The return of the fix™️
2022-05-25 19:36:10 +02:00
SirLynix 23e869d4d6 Build: Add deferred compilation shader option 2022-05-05 20:17:16 +02:00
Alexandre Janniaux f146661a76 VulkanRenderer: implement metal view
The metal view backing the MoltenVK compatibility wrapper is written in
Obj-C.

It would have been possible to use the Objective-C runtime in C++ but
the code is less performant (the symbol binding is done at first use
instead of the beginning of the program) and actually harder to get
right.

Note that MoltenVK is not linked to the loader, so the libMoltenVK.dylib
object must be available for loading.
2022-05-04 22:12:01 +02:00
Lynix 0c70d77c82 Revert "Try to build MinGW with static stdlib"
This reverts commit 8a9a0899b05f6e1d2527d55b2617f15dee4e4add.
2022-04-19 18:32:16 +02:00
Lynix 2b43b24ae9 Try to build MinGW with static stdlib 2022-04-19 18:32:16 +02:00
SirLynix d5f7f7a1a5 XMake: Remove fuzz build mode 2022-04-08 13:13:13 +02:00
SirLynix ad80f3e0ec Utility: Switch static unordered_set to constexpr 2022-04-07 08:42:10 +02:00
SirLynix 447cdfddc9 Shader: Error fixes 2022-04-06 09:06:02 +02:00
SirLynix 8784ec9b47 Add shader compiler (nzslc) and use it 2022-04-06 09:04:09 +02:00
SirLynix 262c82b9e1 Shader: Use constexpr maps for static data 2022-04-05 08:41:47 +02:00
SirLynix 68d2dfcae6 Move FieldOffsets class to Shader module and remove Utility dependency 2022-04-04 19:22:18 +02:00
SirLynix b8bf19f8cd Build: Add fmt dependency 2022-04-01 18:19:50 +02:00
Jérôme Leclercq f114f900b4 Remove moltenvk package for now 2022-03-20 19:41:31 +01:00
Jérôme Leclercq 723c58b6f5 Update xmake.lua 2022-03-20 19:41:31 +01:00
Jérôme Leclercq 69869ccb74 Update xmake.lua 2022-03-20 19:41:31 +01:00
Alexandre Janniaux b6290070cb xmake.lua: add molten-vk on MacOS 2022-03-20 19:41:31 +01:00
Jérôme Leclercq b9690e08f3 Build: Remove custom qt5lib (fix has been merged on xmake-repo) 2022-03-20 12:24:30 +01:00
Jérôme Leclercq 1edc82f9cd macOS: Try to run unit tests 2022-03-20 12:23:50 +01:00
Jérôme Leclercq bd4cf8e264 macOS fixes 2022-03-20 10:52:19 +01:00
Jérôme Leclercq ddd1492b9d macOS: Try to install libx11 using xmake 2022-03-20 10:17:07 +01:00
Jérôme Leclercq a6dce6861d macOS fixes 2022-03-20 10:02:31 +01:00
Jérôme Leclercq b09702acbf Build: NazaraCore doesn't require entt 2022-03-20 09:40:34 +01:00
Jérôme Leclercq b2ac8debcd Fix qt5lib for macOS 2022-03-19 19:28:17 +01:00
Lynix 93b829aea5 Build: Disable FP optimizations on Shader module 2022-03-19 17:49:31 +01:00
Lynix f3eeace359 CI: Replace fuzzing with asan mode 2022-03-19 17:48:03 +01:00
Lynix 75f0e24bf8 Remove local repo packages 2022-03-19 13:23:23 +01:00
Jérôme Leclercq efa2c0a253 XMake: Add efsw dependency 2022-03-17 23:07:02 +01:00
Jérôme Leclercq eb4629947e Minor fixes 2022-03-16 08:25:19 +01:00
Jérôme Leclercq 6bd9f1a9e4 Add unity build support 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 0a4fd8f56d Enable unity build on modules that support it 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 3e556a72b6 Build: Add usepch option to use precompiled headers 2022-03-09 20:06:38 +01:00
Jérôme Leclercq 84db6981bc XMake: Fix allowed modes on Windows 2022-03-06 12:53:30 +01:00
Jérôme Leclercq ca0ab34f32 Try to fix sanitizer CI 2022-03-06 10:59:05 +01:00
Jérôme Leclercq 1aa0a696ba Fix MinGW compilation 2022-03-05 00:32:07 +01:00
Jérôme Leclercq 72b664f42c Core: Add Uuid class 2022-03-04 20:40:41 +01:00
Jérôme Leclercq 28531f5118 Minor changes 2022-02-25 19:36:54 +01:00
Jérôme Leclercq fb9aed2800 XMake: Add create-class 2022-02-15 13:34:17 +01:00
Jérôme Leclercq 3beacd3ffc Build: set rpath to origin 2022-02-09 17:38:36 +01:00
Jérôme Leclercq f466a7494b Update for EnTT 3.9 2022-02-08 20:05:14 +01:00
Jérôme Leclercq 8094949001 CI: Rework fuzzing and sanitizing 2022-02-05 15:53:30 +01:00
Jérôme Leclercq 504249e70f Update xmake.lua 2022-01-06 20:38:57 +01:00
Jérôme Leclercq ec3da7e3f5 XMake: Fix NAZARA_DEBUG not being defined in unit tests and examples 2021-12-25 19:10:26 +01:00
Jérôme Leclercq 3e708cf5ed XMake: Use remove_files/remove_headerfiles 2021-12-24 11:06:44 +01:00
Jérôme Leclercq d4dfe97006 Minor fixes 2021-12-23 17:39:37 +01:00
Jérôme Leclercq 5aefef2517 XMake: Fix build_rendererplugins rule 2021-12-03 22:15:54 +01:00
Jérôme Leclercq 53747abf6e XMake: Fix build_rendererplugins rule 2021-12-02 12:02:39 +01:00
Jérôme Leclercq 2d236afe0f Minor fixes 2021-11-30 12:42:19 +01:00
Jérôme Leclercq 34521e7d50 Update xmake.lua 2021-10-28 13:10:39 +02:00
Jérôme Leclercq f117b76129 XMake: Fix 2.5.9/dev handling 2021-10-28 13:03:32 +02:00
Jérôme Leclercq 04ee6f0fd1 Add support for xmake 2.5.9 (and unity build for unit tests) 2021-10-19 14:26:45 +02:00
Lynix 9740db8fe2 Improve MinGW support 2021-10-16 17:45:43 +02:00
Jérôme Leclercq 2a2f7d8085 Add support for coverage mode (WIP) 2021-10-16 12:09:36 +02:00
Jérôme Leclercq a66f6faed1 Add widgets (WIP) 2021-10-04 09:25:45 +02:00
Jérôme Leclercq ece18bf472 Implement back text rendering (WIP) 2021-09-07 18:45:10 +02:00
Jérôme Leclercq 601a0cedec Fix MinGW support 2021-09-06 10:37:24 +02:00
Jérôme Leclercq 0bb443b0d0 Fix xmake.lua 2021-08-23 19:35:45 +02:00
Jérôme Leclercq 72b959d6ca XMake: Enable MinGW 2021-08-23 19:30:00 +02:00
ImperatorS79 c977ad6440 Use is_plat("windows", "mingw") 2021-08-23 19:29:25 +02:00
ImperatorS79 8d4639d8e1 Add support for mingw 2021-08-23 19:29:25 +02:00
Jérôme Leclercq 1cb3c86a3b XMake: Fix missing global headers in install/projects 2021-08-23 18:46:46 +02:00
Jérôme Leclercq 335b48056f XMake: Setup allowed modes/plats/archs 2021-08-19 18:47:11 +02:00
Jérôme Leclercq f0de7efd2d Update xmake.lua 2021-08-19 18:47:11 +02:00
Jérôme Leclercq f0ea623408 XMake: fix Nazara include installation folder 2021-08-18 02:29:31 +02:00
Jérôme Leclercq 5a406e8a20 Add entt dependency to Core and Physics3D 2021-06-20 14:06:28 +02:00
Lynix 54d56abc56 WIP 2021-06-16 16:50:00 +02:00
Jérôme Leclercq 4b3b595a99 Minor fixes 2021-06-04 18:02:28 +02:00
Jérôme Leclercq 7c9bc16535 XMake: Add asan mode 2021-06-03 17:22:12 +02:00
Jérôme Leclercq 57ee511b86 XMake: Add OpenAL-soft package
In order to provide openal-soft DLL when running or installing the engine
2021-06-03 17:22:00 +02:00
Jérôme Leclercq 0dd5e92a50 Audio: Add FLAC support 2021-06-03 17:21:15 +02:00
Jérôme Leclercq ce5ace52cc XMake: Add math includes to core project 2021-06-01 12:32:54 +02:00
Jérôme Leclercq 577643d128 Audio: Remove libsndfile loader 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 0d2535b47c Fix libvorbis handling 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 312a6d3ba8 Fix libvorbisfile dependency 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 79b6b87379 Audio: Add .ogg loader (using libvorbisfile) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq ca51ab16c9 XMake: Add dl and pthread links (fixes Linux compilation) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 7ced0e5f08 Audio: Add .wav loader (using dr_wav) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq d121393267 Audio: Add mp3 support + new demo 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 9d1c821a16 Remove stb from thirdparty and use xmake instead 2021-05-30 16:45:50 +02:00
Jérôme Leclercq a90844f0dd Remove X11 dependency properly (as it's handled by SDL and EGL) 2021-05-29 00:52:10 +02:00
Jérôme Leclercq 41baacd9ab Fix linux compilation 2021-05-29 00:34:09 +02:00
Jérôme Leclercq c2b61b6732 A lot of fixes 2021-05-28 22:58:40 +02:00
Jérôme Leclercq 392a23eeb1 Add Std140Debug "example" (using OpenGL directly to debug stuff) 2021-05-26 22:23:30 +02:00
Jérôme Leclercq c880a431a2 XMake: add headers from src to projects 2021-05-25 10:40:07 +02:00
Jérôme Leclercq e716b44aa3 Add tests and SDK 2021-05-17 23:08:37 +02:00
Lynix 40772f2137 xmake: Add automatic resource embedding 2021-05-16 23:09:29 +02:00
Jérôme Leclercq 8ba8a0d1bb Translate premake actions to xmake tasks 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 7fd94a2068 Use xmake dev for CI (until xmake 2.5.4 is out) 2021-05-14 03:35:32 +02:00
Jérôme Leclercq df31666d0e CI: Fix dependencies hash (until next xmake version) 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 1858e1f35c xmake: Build NewtonDynamics in debug only on Windows 2021-05-14 03:35:32 +02:00
Jérôme Leclercq ff107564ee xmake: Build renderer backends when building examples 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 3221dfdb09 xmake: Add support for shader editor 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 24c2de405f Improve xmake build 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 2641117847 Add building using xmake and cleanup thirdparty 2021-05-14 03:35:32 +02:00