SirLynix
8555b3d6ef
ComputeTest: Handle hot-reload compilation errors
2022-12-29 21:49:37 +01:00
Jérôme Leclercq
dd421a6385
Replace float/UInt64 durations by a more precise Time class ( #388 )
...
Improve Clock class with atomic RestartIfOver method and allows to choose required precision
2022-12-29 21:31:46 +01:00
SirLynix
9a553e5e9d
Core: Make Color constexpr
2022-12-29 12:13:00 +01:00
SirLynix
3d88746060
Move unit tests to the unittests asset folder
2022-12-29 12:07:52 +01:00
SirLynix
98f2feecc7
Tests/ComputeTest: Load shader from file (and support hot-reload)
2022-12-29 12:04:11 +01:00
SirLynix
4b804dc613
Move ComputeTest,GraphicsTest,RenderTest and Std140Debug to the tests folder
...
Also renamed NazaraUnitTests to UnitTests
2022-12-26 08:44:11 +01:00
SirLynix
fd29d8d031
Add a yield to make TCPTest more resilient
2022-12-18 17:19:40 +01:00
SirLynix
46fe1c550c
Fixes unit tests
2022-12-18 17:08:03 +01:00
SirLynix
5ca7b398c2
More Math cleanup
2022-12-18 16:33:05 +01:00
Lynix
71c5133c7a
XMake: Use new syntax
2022-11-13 13:05:45 +01:00
SirLynix
0a8048809c
XMake: simplifies option syntax
2022-10-10 08:49:52 +02:00
SirLynix
364d1bafb4
Math: Add support for Turn angles
2022-09-26 19:09:30 +02:00
SirLynix
6bf4ccaae1
Core/ParameterList: Rework Parameter getter using Result
2022-09-09 13:47:06 +02:00
SirLynix
481702c109
Tests: Update Catch2 to 3.x
2022-08-01 18:05:33 +02:00
SirLynix
1e1dc3ebce
Build: Don't install private headers
2022-07-27 18:11:00 +02:00
SirLynix
e63bb072da
Install private header files to a private folder
...
until xmake supports https://github.com/xmake-io/xmake/issues/2577
2022-07-18 08:47:57 +02:00
SirLynix
2229dfd6e5
Core/VirtualDirectory: Handle physical directories as virtual directories
2022-07-07 08:50:03 +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
Lynix
dd4be081aa
Core/VirtualDirectory: Add Uproot property
2022-05-14 10:22:22 +02:00
SirLynix
6dc2cefc2c
Add some missing includes
2022-05-09 09:00:17 +02:00
Lynix
df55a02fa7
Core/VirtualDirectory: Add GetFileContent method
2022-05-08 15:50:59 +02:00
SirLynix
95dc7aa15c
Try to fix MusicTest
2022-05-07 15:31:07 +02:00
SirLynix
21a38fb31b
Audio: Add some fixes and tests
2022-05-06 12:41:02 +02:00
SirLynix
8db95b445b
UnitTests: Add GIF decoding tests
2022-04-27 18:24:00 +02:00
SirLynix
e7274b24e9
Core/Color: Switch formal from RGBA8 to RGBA32F
2022-04-23 16:08:15 +02:00
SirLynix
a10682628d
Warning fixes
2022-04-23 12:25:54 +02:00
SirLynix
c209552f81
Math/Matrix4: Rework "transform matrix" support
2022-04-19 18:32:16 +02:00
SirLynix
02ffbcc50b
Shader: Fix scoping on unrolled for-each
2022-04-19 18:32:16 +02:00
SirLynix
138f2b88b3
Fix buffering issues
2022-04-19 13:38:44 +02:00
Lynix
d9ab6720d8
Add buffering test to spot errors
2022-04-18 23:14:48 +02:00
SirLynix
8784ec9b47
Add shader compiler (nzslc) and use it
2022-04-06 09:04:09 +02:00
SirLynix
aa43db956c
Shader: Fixes some errors and add unit tests
2022-04-02 16:07:13 +02:00
SirLynix
52d0c5b0bc
UnitTests/Shader: Add intrinsic tests
2022-04-01 18:19:50 +02:00
SirLynix
a4bca0f169
Shader: Add lexer tests
2022-03-31 13:34:43 +02:00
Jérôme Leclercq
a54f70fd24
Shader: Fix parsing of unary/dot/indices/and/or
2022-03-21 23:11:28 +01:00
Jérôme Leclercq
4fa3de519c
Adjust sound unit tests
2022-03-20 19:41:46 +01:00
Lynix
cf5e4b72e1
Core/StringExt: Add overloads of EndsWith
2022-03-19 14:19:52 +01:00
Lynix
dc24ff33a4
Audio: Add sound stream test
2022-03-19 12:36:55 +01:00
Lynix
45f0825a6e
Audio: Final fixes
2022-03-19 12:16:52 +01:00
Jérôme Leclercq
82641c6653
Audio: Add dummy device (in case OpenAL fails to load) and unifiate unit tests
2022-03-18 19:03:57 +01:00
Jérôme Leclercq
615509d1ba
Add support for shader hotreloading
2022-03-17 21:36:36 +01:00
Jérôme Leclercq
6165b3a101
Audio: Rewrite audio module
2022-03-17 18:15:53 +01:00
Jérôme Leclercq
0f55779a8a
Fix compilation
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
bf44672354
Shader: Add support for exported functions
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
e9543b20a2
Shader: Fix function calls with OpenGL
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
e40e8eb204
Shader: Change module system (no longer based on path)
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
80f9556f8c
Shader/LangWriter: Make LangWriter able to output AST before sanitization as well
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
5a9a55ee7e
Shader/MultiStatement: Remove sectionName
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
33554cf5a0
Shader: Remove struct and functions that aren't required
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
3d4271706a
Core/VirtualDirectory: Fix some bugs and add more tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
db98b86eaf
Core: Rewrite VirtualDirectory class and add more tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
db0c1e6e8c
Shader: Add module resolver + use modules for engine shaders
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
bf7f06ac4c
Shader: Fix shader serialization
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
39a2992791
Shader: Minor module fixes
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
da40a2db28
UnitTests: Add shader module tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
e8fceeb2f5
UnitTests: Rename shader tests files
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
05cf98477e
Shader: Add proper support for alias
2022-03-14 18:30:55 +01:00
Lynix
83d26e209e
WIP2
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
012712b8d0
WIP
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
d72ac9cc73
Core/Uuid: Add FromString builder method
2022-03-14 18:30:55 +01:00
Lynix
8dcce73738
Fix after rebase
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
a7acf32886
Shader: Replace indices-based option keys by CRC32
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
505d996c88
Core: Add constexpr CRC32 function
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
1919bd3302
Fix compilation
2022-03-14 18:30:55 +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
4a8ebf869b
Minor fixes
2022-03-09 20:05:33 +01:00
Jérôme Leclercq
f90888261f
UnitTests/Shader: Add serialization unit tests
2022-03-06 13:19:47 +01:00
Jérôme Leclercq
95742b6ba3
Update UuidTest.cpp
2022-03-05 00:44:54 +01:00
Jérôme Leclercq
72b664f42c
Core: Add Uuid class
2022-03-04 20:40:41 +01:00
Jérôme Leclercq
142f15d538
Fix dependency checker and add unit test
2022-02-28 13:28:59 +01:00
Jérôme Leclercq
d827477de2
UnitTests/TCPTest: Don't use a random port
2022-02-24 13:03:30 +01:00
Jérôme Leclercq
05e56d627d
Improve unit tests
2022-02-24 12:56:53 +01:00
Jérôme Leclercq
7dbaed9aa5
Network: Fix minor issues with IP address parsing and add tests
2022-02-24 12:38:08 +01:00
Jérôme Leclercq
86cc814f1b
Utility/GuillotineImageAtlas: Add max layer size
2022-02-23 23:48:58 +01:00
Jérôme Leclercq
6c318b915f
Tests/Utility: Add font loading test
2022-02-23 13:20:20 +01:00
Jérôme Leclercq
7ece44b4f4
Shader: Rename Optimize to ConstantPropagation
2022-02-22 13:28:01 +01:00
Jérôme Leclercq
ad544a595d
Core/MemoryPool: Add iterator
2022-02-21 20:45:25 +01:00
Jérôme Leclercq
29c798a683
Core/MemoryPool: Remake memory pool
2022-02-20 16:00:32 +01:00
Jérôme Leclercq
42c80143eb
Try to fix unit tests
2022-02-18 19:57:41 +01:00
Jérôme Leclercq
402e16bd2b
Shader: Handle type as expressions
2022-02-17 13:23:56 +01:00
Jérôme Leclercq
b8e017aa25
Add utility tests
2022-02-10 14:12:44 +01:00
Jérôme Leclercq
979bf2cc80
UnitTests: Improve hash unit tests (add file test)
2022-02-10 11:56:35 +01:00
Jérôme Leclercq
97ee89afb7
Rework hashes (also fix Fletcher16 and CRC64)
2022-02-10 01:46:58 +01:00
Jérôme Leclercq
6c35b0be57
Minor fixes
2022-02-05 21:30:36 +01:00
Jérôme Leclercq
33dddf6d41
UnitTests: Try to fix leak
2022-02-05 16:24:05 +01:00
Jérôme Leclercq
e6951d54a5
Shader: Switch type<subtype> to type[subtype]
2022-01-26 19:24:46 +01:00
Jérôme Leclercq
64efd81bf8
Shader: Handle matrix cast properly
2022-01-23 19:58:04 +01:00
Jérôme Leclercq
89e9e41357
Core/SparsePtr: Use template type for +/- and +=/-=
2022-01-23 13:27:39 +01:00
Jérôme Leclercq
3c308970a1
Minor fixes
2022-01-23 01:22:16 +01:00
Lynix
9f05a22db7
Build: Disable unit tests build (and requirements) by default
2022-01-18 06:25:33 +01:00
Jérôme Leclercq
22c99bfd1d
XMake: Add options to disable tools/plugins and unit tests building
2022-01-18 06:15:51 +01:00
Lynix
f30a1faeca
Fix client unit tests
2022-01-11 17:32:16 +01:00
Jérôme Leclercq
756fd773a9
Shader: Add support for numerical fors
2022-01-06 20:38:55 +01:00
Jérôme Leclercq
2bdcc045cd
Shader: Replace const for with [unroll] attribute
2022-01-03 20:21:09 +01:00
Jérôme Leclercq
4fe44339c5
Shader: Add support for for-each statements and improve arrays
2022-01-02 22:02:11 +01:00
Jérôme Leclercq
3a4e006106
UnitTests/Shader: Update scalar swizzle test
2021-12-28 20:09:26 +01:00
Jérôme Leclercq
101a3d70da
Shader/AstOptimizer: Add swizzle optimization
2021-12-28 20:09:04 +01:00
Jérôme Leclercq
22651255df
UnitTests/Shader: Add cond/const if tests
2021-12-28 13:36:11 +01:00
Jérôme Leclercq
a8bb5291f2
Update Optimizations.cpp
2021-12-28 11:54:49 +01:00
Jérôme Leclercq
2f64e493de
UnitTests/Shader: Add sanitization and optimizations unit tests
2021-12-28 11:49:53 +01:00
Jérôme Leclercq
47e2ec35e3
UnitTests/Shader: Improve GLSL handling (detect shader point type instead of assuming fragment)
2021-12-28 11:49:20 +01:00
Jérôme Leclercq
a0f66d9e88
Shader/SPIRV: Fix multiple branch handling (by splitting)
2021-12-28 11:48:19 +01:00
Jérôme Leclercq
e21b45946f
Shader/SPIRV: Fix double termination of blocks when branching
...
Which could happen when using OpKill (discard) for example
2021-12-26 22:00:44 +01:00
Jérôme Leclercq
b98fd65a01
Fix a lot of small bugs/warnings
2021-12-25 20:07:53 +01:00
Jérôme Leclercq
b9642b0662
UnitTests: Add a lot of shader generation tests
2021-12-25 19:13:32 +01:00
Jérôme Leclercq
f798901c23
UnitTests: Use glslang to validate GLSL shaders
2021-12-24 14:54:35 +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
1aa56b4db8
Tests: disable unity buildd
2021-12-23 18:26:00 +01:00
Jérôme Leclercq
b53d2a0560
Rework shader module unit tests
2021-12-23 17:39:24 +01:00
Jérôme Leclercq
e497faabaf
Fix compilation
2021-12-21 14:45:53 +01: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
Jérôme Leclercq
2f9e495739
Fix unit tests
2021-08-28 19:09:53 +02:00
Jérôme Leclercq
2b9d8becea
Math: Rework Frustum class
2021-08-23 18:43:34 +02:00
Jérôme Leclercq
8db8533300
Fixes a lot of warnings and move math enums to enum classes
2021-08-19 20:27:20 +02:00
Jérôme Leclercq
9ab47edd11
Fix compilation
2021-07-08 12:27:18 +02:00
Jérôme Leclercq
5aa63831e8
Remove Nazara SDK
2021-07-07 22:56:50 +02:00
Jérôme Leclercq
1f6937ab1b
Shader: Implement const if and const values
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
dfa46ebaa5
Fix shader generation unit tests
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
bd1f5214b8
Math: Replace M_PI defines with template constexpr constants
2021-06-05 16:35:15 +02:00
Jérôme Leclercq
d72984380d
Replace Catch header by a xmake package
2021-06-04 20:09:35 +02:00
Jérôme Leclercq
4b3b595a99
Minor fixes
2021-06-04 18:02:28 +02:00
Jérôme Leclercq
8fe11711a3
UnitTests: Rename .cpp (it was confusing the debugger)
2021-06-04 14:12:26 +02:00
Jérôme Leclercq
4d74cef034
Math: Remove NAZARA_MATH_ANGLE_RADIAN and functions using it
2021-06-01 17:37:40 +02:00
Jérôme Leclercq
d0d65be35f
Tests: Fix Shader/AccessMember
...
It turns out the Sanitizer AccessMember refactor also optimized the SPIRV output by merging the resulting AccessIndex
2021-06-01 17:00:55 +02:00
Jérôme Leclercq
d5c27a756b
Audio: Fix AudioFormat names (U16 -> I16)
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
874fb3542e
Convert all remaining enums to enum classes (!)
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
8cdd0b51cb
Upgrade Audio (part 2)
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
ac57b3fbf4
Shader/GlslWriter: Accepts mono-functions shader without specifying entry points
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
7140e322c1
Commit missing files
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
ba7c56ddfa
Upgrade Platform
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
8b0b5295f7
Upgrade Physics2D and Physics3D
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
a52103a641
Rework ResourceLoader, ResourceManager and ObjectLibrary
...
They're no longer static
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
Jérôme Leclercq
044195b209
Minor fixes
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
54c34869a4
Fix Shader unit tests
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
65337c6a38
Fix a lot of warnings and some errors
2020-09-26 11:44:09 +02:00
Jérôme Leclercq
267bd74a97
Merge branch 'master' into nazara-next
2020-09-26 10:49:32 +02:00
Jérôme Leclercq
2b6a463a45
Remove Nz::String and Nz::StringStream
2020-09-25 19:31:01 +02:00
Jérôme Leclercq
602de2e772
Update Ray.cpp
2020-09-22 17:40:57 +02:00
Jérôme Leclercq
98e20ecbb7
Last modules fixes
2020-09-17 18:54:33 +02:00
Jérôme Leclercq
7ea0b223ec
Linux fixes
2020-09-01 19:18:27 +02:00
Jérôme Leclercq
2a875c8bdc
Remove Graphics module and fix compilation
2020-08-27 19:43:31 +02:00
Jérôme Leclercq
8fb7bb78a5
Add a shader generation unit test
2020-08-27 19:26:59 +02:00
Jérôme Leclercq
e0a3cab457
Fix UnitTest compilation
2020-08-27 19:26:27 +02:00
Lynix
68208f5426
Merge branch 'master' into vulkan
2020-05-27 19:48:22 +02:00
Jérôme Leclercq
1425f99edf
Merge branch 'master' into SDL2
2020-05-27 11:11:21 +02:00
Lynix
43ee75b75f
Replace #include <NDK/ by #include <NazaraSDK/
2020-02-24 17:57:46 +01:00
Lynix
eb8800f812
Remove Lua and Noise modules
2020-02-24 17:52:06 +01:00