Commit Graph

29 Commits

Author SHA1 Message Date
Jérôme Leclercq 142f15d538 Fix dependency checker and add unit test 2022-02-28 13:28:59 +01:00
Jérôme Leclercq 7ece44b4f4 Shader: Rename Optimize to ConstantPropagation 2022-02-22 13:28:01 +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 64efd81bf8 Shader: Handle matrix cast properly 2022-01-23 19:58:04 +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 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 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 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 d72984380d Replace Catch header by a xmake package 2021-06-04 20:09:35 +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 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 ac57b3fbf4 Shader/GlslWriter: Accepts mono-functions shader without specifying entry points 2021-05-25 10:40:07 +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 8fb7bb78a5 Add a shader generation unit test 2020-08-27 19:26:59 +02:00