Jérôme Leclercq
|
343eac6616
|
Shader/Parser: Allow external and struct declarations to be conditional
|
2021-12-28 13:35:53 +01:00 |
Jérôme Leclercq
|
e2882f6595
|
Shader: Rename Parse function to ParseFromFile
to avoid ambiguous calls when passing const char*
|
2021-12-23 17:18:30 +01:00 |
Jérôme Leclercq
|
0f9060c45b
|
Shader: Add support for while loops
|
2021-12-16 23:10:58 +01:00 |
Jérôme Leclercq
|
3185e73941
|
Shader: Fix handling of if/else construct
|
2021-12-12 23:04:37 +01:00 |
Jérôme Leclercq
|
ed7ab31933
|
Apply copyright fix to all files
|
2021-10-26 14:31:35 +02:00 |
Jérôme Leclercq
|
68708c54f7
|
Minor stuff
|
2021-10-04 09:24:42 +02:00 |
Jérôme Leclercq
|
0442db1c53
|
Shader: Add support for compound operators
|
2021-09-24 15:39:03 +02:00 |
Jérôme Leclercq
|
ea49f56530
|
Shader/LangParser: OCD fix
|
2021-09-23 17:49:36 +02:00 |
Jérôme Leclercq
|
3af1cd80ee
|
Shader/ShaderLangParser: Fix > and >= parsing
|
2021-09-05 15:49:05 +02:00 |
Jérôme Leclercq
|
ac08afe9f1
|
Shader: Add missing ! and != parsing
|
2021-08-19 18:47:11 +02:00 |
Jérôme Leclercq
|
d3e0d8a39f
|
Shader: Replace select_opt by const_select
|
2021-07-08 10:53:11 +02:00 |
Jérôme Leclercq
|
838063c8b6
|
Shader: Fix nested blocks parsing
|
2021-07-08 10:52:29 +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
|
72edff30c7
|
Shader: Add support for logical and/or
|
2021-07-07 22:38:24 +02:00 |
Jérôme Leclercq
|
f9af35b489
|
Shader: Attribute can now have expressions as values and struct fields can be conditionally supported
|
2021-07-07 22:38:24 +02:00 |
Jérôme Leclercq
|
f9b453bd2b
|
Shader: Add support for branching and discard statements
|
2021-07-03 19:13:22 +02:00 |
Jérôme Leclercq
|
dfa46ebaa5
|
Fix shader generation unit tests
|
2021-06-16 16:50:00 +02:00 |
Jérôme Leclercq
|
f22b501e25
|
Add initial support for shader binding sets (WIP)
|
2021-06-16 16:50:00 +02:00 |
Jérôme Leclercq
|
4465e230af
|
Shader/NZSL: Add support for array indexing
|
2021-06-01 16:22:41 +02:00 |
Jérôme Leclercq
|
0f3c0abb96
|
Shader/ShaderAst: Rename AccessMember* to Access*
|
2021-06-01 12:38:17 +02:00 |
Jérôme Leclercq
|
16e2f5f819
|
Shader: Add support for depth_write and early_fragment_tests attributes (+ FragDepth builtin)
|
2021-06-01 12:32:24 +02:00 |
Jérôme Leclercq
|
465837ff12
|
Renderer: Add support for cubemaps
|
2021-06-01 12:30:37 +02:00 |
Jérôme Leclercq
|
e7a2573221
|
Shader: Add support for FragCoord builtin
|
2021-05-26 22:17:07 +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
|
cce32a64d4
|
Upgrade Utility
|
2021-05-25 10:40:07 +02:00 |
Jérôme Leclercq
|
f6fd996bf1
|
Shader: Add support for custom functions calls (and better handle intrinsics)
|
2021-05-22 13:37:54 +02:00 |
Jérôme Leclercq
|
a7235ab02d
|
Shader: Add support for max/min intrinsic
|
2021-05-19 20:31:26 +02:00 |
Lynix
|
525f24af2e
|
Shader/ShaderLang: Add support for Unary operators
|
2021-05-16 23:07:25 +02:00 |
Jérôme Leclercq
|
830ec6ac94
|
Add a few helper functions
|
2021-05-14 02:09:25 +02:00 |
Jérôme Leclercq
|
51ecff2912
|
ShaderLang: Add support for length intrinsic
|
2021-05-14 02:02:12 +02:00 |
Jérôme Leclercq
|
7d4a084a62
|
Shader/Parser: Fix handling of . in rvalues + add support for swizzling
For example: var.field was okay but texture.Sample(uv).x wasn't
|
2021-05-05 12:05:46 +02:00 |
Jérôme Leclercq
|
87ce2edc6e
|
Shader: Add initial support for options (WIP)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
9fd4249a87
|
Shader: compilation fixes
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
fce336bfc9
|
Shader: Fix struct attributes handling
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
0bb9c37a38
|
Shader/Lang: [[attribute]] => [attribute]
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
b234134abc
|
Shader/ShaderLang: Add type inference for variable declaration
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
aababb205f
|
Shader: Move attribute parsing to parser, simplifying writer code
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
ea99c6a19e
|
Shader: First working version on both Vulkan & OpenGL (ES)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
c1d1838336
|
ShaderLang: Proof of concept (add support for a lot of things)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
9d8ce8f2cd
|
Shader: Add support for function attributes (entry)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
da81a5b871
|
Shader: Add attribute parsing
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
3f74ee4d66
|
Shader: Rework Parser internals
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
fed7370e77
|
Rework shader AST (WIP)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
b320b5b44e
|
Shader: Add function parameters and return handling
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
9a0f201433
|
Initial shaderlang commit
|
2021-04-20 18:18:27 +02:00 |