Commit Graph

170 Commits

Author SHA1 Message Date
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
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
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 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
Jérôme Leclercq b6cd85d6fe Shader: Add import statement (not doing anything for now) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq ca83f363a3 Shader: Add export attribute for structs ([export]) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq a2f4f3c802 Shader: Many fixes 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 0c3607579e Shader/ShaderLangParser: small refactor 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 99e07e6e1e Shader: Add module statement 2022-03-14 18:30:55 +01:00
Jérôme Leclercq acf1b30355 Shader/AstCompare: Fix missing ConditionalStatement compare 2022-03-06 13:19:19 +01:00
Jérôme Leclercq 36aea2ca0c Shader/SanitizeVisitor: Fix sanitization of already sanitized AST with holes in indices
this happens when you sanitize an AST that went through a remove unused pass
2022-02-28 13:30:53 +01:00
Lynix 1e606f3043 Fix compilation after merge 2022-02-27 20:18:36 +01:00
Lynix 4c226eda0c Merge branch 'master' into nzsl-modules 2022-02-27 20:12:30 +01:00
Lynix 1c986b7431 Fix compilation 2022-02-27 20:04:52 +01:00
Jérôme Leclercq 96d87d9439 Merge fix 2022-02-27 18:54:45 +01:00
Jérôme Leclercq bcfef75ec2 Merge branch 'master' into nzsl-modules 2022-02-27 18:44:44 +01:00
Jérôme Leclercq fbae413620 Shader/GlslWriter: Improve removal of unused code 2022-02-27 18:42:41 +01:00
Jérôme Leclercq a155aa598e Shader: Move DependencyChecker to a public class 2022-02-26 16:08:16 +01:00
Jérôme Leclercq 7ece44b4f4 Shader: Rename Optimize to ConstantPropagation 2022-02-22 13:28:01 +01:00
Jérôme Leclercq 3f7815175b Shader: Add EliminateUnusedPassVisitor and use it when optimizing 2022-02-18 13:06:47 +01:00
Jérôme Leclercq 402e16bd2b Shader: Handle type as expressions 2022-02-17 13:23:56 +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 b8a52b93e8 Shader/SPIRV: Handle arrays properly 2022-01-23 19:59:26 +01:00
Jérôme Leclercq 2463e471cc Shader/SPIRV: Fix issues with loops containing branches and cross product 2022-01-23 19:59:10 +01:00
Jérôme Leclercq 64efd81bf8 Shader: Handle matrix cast properly 2022-01-23 19:58:04 +01:00
Jérôme Leclercq b0a3941f4e Add Phong lighting (WIP) 2022-01-11 19:47:29 +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 1f15328fdd Shader: Add initial support for arrays 2022-01-01 23:01:31 +01:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq 101a3d70da Shader/AstOptimizer: Add swizzle optimization 2021-12-28 20:09:04 +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 b98fd65a01 Fix a lot of small bugs/warnings 2021-12-25 20:07:53 +01:00