Commit Graph

249 Commits

Author SHA1 Message Date
SirLynix
35f6240786 Shader: Fix some errors 2022-04-01 18:19:50 +02:00
SirLynix
1afc599e3d Shader: Fix compilation error when unity build is used 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
98237acb6f Shader: Fix sourceLocation cloning 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
a4bca0f169 Shader: Add lexer tests 2022-03-31 13:34:43 +02:00
SirLynix
47f8081202 Shader: Fix external binding set attribute value 2022-03-28 09:01:52 +02:00
SirLynix
7af25777dc Shader/FilesystemModuleResolver: Don't register in case of parsing errors 2022-03-25 12:56:20 +01: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
615509d1ba Add support for shader hotreloading 2022-03-17 21:36:36 +01:00
Jérôme Leclercq
801b06abfe Shader: Fix module overwriting 2022-03-15 18:35:02 +01:00
Jérôme Leclercq
06406fc20e Shader/FilesystemModuleResolver: Fix RegisterModuleDirectory 2022-03-15 13:20:17 +01:00
Jérôme Leclercq
0f55779a8a Fix compilation 2022-03-15 12:44:21 +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
56c6eff7f8 Rebase fix 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
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
2f26a1d9c7 Graphics: Move LightData to a shader module and add hotreload in debug 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
d29876f448 Shader/SanitizeVisitor: Minor cleanup 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
1401c46d44 Shader: Better fix than 3ccec0ce 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
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
a7acf32886 Shader: Replace indices-based option keys by CRC32 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
53157875b9 Shader: Fix LangWriter not outputting const if 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
a4858d6793 Shader: Add comments to surround modules 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
4bded2182c Minor changes 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
53728200ac Shader: Add module ID (UUID) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
43ac86e85c Shader/Modules: proof of concept 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
7dab1d735f Shader: Add AstExportVisitor 2022-03-14 18:30:55 +01:00
Jérôme Leclercq
073f1dc434 Shader/DependencyCheckerVisitor: Update default config 2022-03-14 18:30:55 +01:00