Commit Graph

3086 Commits

Author SHA1 Message Date
Lynix dd4be081aa Core/VirtualDirectory: Add Uproot property 2022-05-14 10:22:22 +02:00
SirLynix b6ab3ba1b3 Graphics: Add light type 2022-05-12 23:09:40 +02:00
SirLynix 5544d336ab Shader: Fix index remapping when importing a text shader in a precompiled shader 2022-05-12 23:08:21 +02:00
SirLynix 6469ab5fde Utility: Refactor some algorithms 2022-05-12 18:15:20 +02:00
SirLynix 7c2b8e0576 Core/File: Add WriteWhole static function 2022-05-12 18:11:41 +02:00
SirLynix b0ecb64f19 OpenGLRenderer: Fix loading of glSpecializeShader 2022-05-09 13:19:31 +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
Lynix 5f389ef0a4 Core/File: Add ReadWhole 2022-05-08 15:50:29 +02:00
Lynix 17b1c2407d Audio/AudioSource: Add GetSampleOffsetAndLatency 2022-05-08 15:44:41 +02:00
SirLynix 41712a3f18 Minor fixes 2022-05-08 13:21:20 +02:00
SirLynix 4794073b73 Audio: Add support for AL_SOFT_source_latency 2022-05-08 13:20:55 +02:00
SirLynix 81085508ec Minor fixes 2022-05-05 20:20:44 +02:00
SirLynix 973b589b08 Shader: Fix conditional statement handling in partial compilation mode 2022-05-05 20:19:27 +02:00
SirLynix e62969999a ShaderCompiler: Add --log-format option 2022-05-05 20:18:34 +02:00
SirLynix 106d629342 Shader: Update SPIRV data 2022-05-05 20:17:32 +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
Jérôme Leclercq e6c74fbc5f Physics2D/Constraint2D: Add method GetLastImpulse 2022-05-01 17:37:11 +02:00
SirLynix 13f765fc0d Utility: Fix GIF loading 2022-04-27 18:24:00 +02:00
SirLynix 2a091d25b7 Utility: Add ImageStream and GIF support 2022-04-27 18:24:00 +02:00
SirLynix 3d15f3578b Utility: Use UInt64 to store index/vertex instead of size_t 2022-04-23 23:12:40 +02:00
SirLynix 0f58117b76 Fix compilation on macOS 2022-04-23 22:23:07 +02:00
SirLynix 2389a2fe53 Platform/WindowManager: Rename to WindowBackend 2022-04-23 16:26:59 +02:00
SirLynix e7274b24e9 Core/Color: Switch formal from RGBA8 to RGBA32F 2022-04-23 16:08:15 +02:00
SirLynix de53c88c01 Utility/Algorithm: Use UInt64 for index count and vertex count 2022-04-23 14:07:26 +02:00
SirLynix e11644a81d Shader/IndexRemapperVisitor: Fix unhandled cases 2022-04-20 01:02:42 +02:00
SirLynix 7fccfbb63e Minor fixes 2022-04-19 18:32:16 +02:00
SirLynix c209552f81 Math/Matrix4: Rework "transform matrix" support 2022-04-19 18:32:16 +02:00
SirLynix f9d4451b4a OCD fix 2022-04-19 18:32:16 +02:00
SirLynix 138f2b88b3 Fix buffering issues 2022-04-19 13:38:44 +02:00
SirLynix 22f58fdbf5 Add stream buffering (WIP) 2022-04-09 18:22:57 +02:00
SirLynix 2b66ea1e90 Core/Bitset: Fix doc 2022-04-09 18:21:16 +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 18edd41048 Shader: Fix dependency check of modules 2022-04-05 08:35:12 +02:00
SirLynix 7f15c66f16 Shader/EliminateUnusedPassVisitor: Handle alias declarations 2022-04-04 19:23:20 +02:00
SirLynix 68d2dfcae6 Move FieldOffsets class to Shader module and remove Utility dependency 2022-04-04 19:22:18 +02:00
SirLynix 998bcde2e2 Fix compilation 2022-04-04 12:14:56 +02:00
SirLynix 9d526741b9 Add proper support for IndexType and uint32 indices 2022-04-04 09:02:00 +02:00
SirLynix 66ff6cfa81 Minor fixes 2022-04-04 08:17:03 +02:00
Lynix 83de0939bb Shader: Fix validation and cast from u32 to i32 2022-04-02 21:20:01 +02:00
Lynix 5cd9f6fdcd Minor fixes 2022-04-02 21:18:04 +02:00
SirLynix 71db80c374 Update global headers 2022-04-02 17:25:08 +02:00
SirLynix aa43db956c Shader: Fixes some errors and add unit tests 2022-04-02 16:07:13 +02:00
SirLynix 1c7a3a96e5 Shader/SourceLocation: Fix column index 2022-04-02 03:03:06 +02:00
SirLynix 81b1b9b473 Shader/DependencyCheckerVisitor: Handle aliases 2022-04-02 02:04:42 +02:00
SirLynix 7c640f5c00 Shader: Add types to error messages (and remove ID) 2022-04-01 18:19:50 +02:00
SirLynix 16cf75440b Shader: Turn every AstError into a proper compilation error (with source info) 2022-04-01 18:19:50 +02:00
SirLynix ac9e7207ac Shader: Add compiler and AST errors (WIP)
I'm so afraid to lose all this work
2022-04-01 18:19:50 +02:00
SirLynix 35f6240786 Shader: Fix some errors 2022-04-01 18:19:50 +02:00
SirLynix 78f4751967 Shader: Fill SourceLocation info to AST when parsing 2022-04-01 18:19:50 +02:00
SirLynix 8429411755 Shader: Improve attribute source location 2022-04-01 18:19:50 +02:00
SirLynix 960ab64d98 Shader: Add SourceLocation members
TODO: Fill from Parser and use them for error throwing in SanitizeVisitor
2022-04-01 18:19:50 +02:00
SirLynix ebad7b5e8c Shader: Add support for error messages (WIP) 2022-04-01 18:19:50 +02:00
SirLynix f14b10baf4 Graphics/ViewerInstance: fix typo 2022-03-31 13:35:08 +02:00
SirLynix 83deecd8f1 Shader: Fix SPIRV shaders terminating before function last statement 2022-03-25 12:55:32 +01:00
SirLynix 8146ec251a Shader: Add support for partial sanitization 2022-03-25 12:54:51 +01: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 f1af498710 Update Prerequisites.hpp 2022-03-20 19:09:45 +01:00
Alexandre Janniaux ccb36e2e4c Prerequisites: differentiate MacOS from iOS/tvOS
TargetConditionals.h is exposed on every Apple Darwin platforms and
provides defines to signal the kind of underlying device.
2022-03-20 19:09:45 +01:00
Jérôme Leclercq a541d44d03 MoltenVK fix 2022-03-20 15:30:19 +01:00
Jérôme Leclercq d86f61cd82 VulkanRenderer: Fix VK_EXT_debug_utils with MoltenVK 2022-03-20 14:54:38 +01:00
Jérôme Leclercq 48b87cc99b Core/DynLib: Fix extension handling 2022-03-20 13:42:41 +01:00
Jérôme Leclercq 63320fa205 macOS fixes (+ cache deps) 2022-03-20 11:29:39 +01:00
Jérôme Leclercq bd4cf8e264 macOS fixes 2022-03-20 10:52:19 +01:00
Jérôme Leclercq a6dce6861d macOS fixes 2022-03-20 10:02:31 +01:00
Jérôme Leclercq 04dfd25c74 CI: Try to build NazaraCore on macOS 2022-03-19 23:29:19 +01:00
Jérôme Leclercq 021fd9d031 macOS fix 2022-03-19 20:01:49 +01:00
Lynix cf5e4b72e1 Core/StringExt: Add overloads of EndsWith 2022-03-19 14:19: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 667a4a0c08 Audio: Handle AudioBuffer compatibility
OpenAL buffers are shared between contextes
2022-03-17 18:15:53 +01:00
Jérôme Leclercq 01061380ee Audio/AudioDevice: Improve GetListenerRotation 2022-03-17 18:15:53 +01:00
Jérôme Leclercq 6165b3a101 Audio: Rewrite audio module 2022-03-17 18:15:53 +01:00
Jérôme Leclercq 19f6bdf7e0 Add Physics2D components and systems (WIP) 2022-03-16 08:24:57 +01:00
Jérôme Leclercq 06406fc20e Shader/FilesystemModuleResolver: Fix RegisterModuleDirectory 2022-03-15 13:20:17 +01:00
Jérôme Leclercq 0e92ef823d Graphics: Use module name to retrieve material shaders 2022-03-15 13:14:43 +01:00
Jérôme Leclercq 79a5716110 Revert "Try to fix GCC error"
This reverts commit 11d5eb7d6063e6cf1da276cc5981d2d57e13f05e.
2022-03-15 12:44:21 +01:00
Jérôme Leclercq 9b1d8b5fcf Try to fix GCC error 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 6bd9f1a9e4 Add unity build support 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 1c4ce75aa0 Fix compilation 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 b92a9f8a1c Core/VirtualDirectory: Fix physical path traversal 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 3d4271706a Core/VirtualDirectory: Fix some bugs and add more tests 2022-03-14 18:30:55 +01:00
Jérôme Leclercq bfaa428b39 Fix compilation 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 98bd04e35a Shader/SanitizeVisitor: Fix an issue when double-sanitizing
... with differents parameters (like reducing loops to while, which introduces new variables which would take over existing var indices)
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 05cf98477e Shader: Add proper support for alias 2022-03-14 18:30:55 +01:00
Jérôme Leclercq ce93b61c91 Shader: Serialize cached expression type 2022-03-14 18:30:55 +01:00
Jérôme Leclercq d45ba6696f Shader: Rename VariableExpression to VariableValueExpression 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 3c290c1d0e Shader: Fix unit tests 2022-03-14 18:30:55 +01:00
Jérôme Leclercq be9bdc4705 Modules are workings \o/ 2022-03-14 18:30:55 +01:00