Commit Graph

5476 Commits

Author SHA1 Message Date
Jérôme Leclercq
f24e48e2dc Rework build system to handle better external libs 2020-08-25 12:16:17 +02:00
Jérôme Leclercq
9b313dac2e Quality of life improvements 2020-08-24 17:14:01 +02:00
Jérôme Leclercq
63f259b907 SpirvAstVisitor: Add safety assert 2020-08-24 16:49:59 +02:00
Jérôme Leclercq
f5fa211609 ShaderAstCloner: Fix Swizzle case 2020-08-24 16:49:38 +02:00
Jérôme Leclercq
ba777ebbca Shader/SpirvPrinter: Add settings 2020-08-24 16:49:14 +02:00
Jérôme Leclercq
77b66620c9 Refactor SpirV classes
SpirvStatementVisitor was merged with SpirvExpressionLoad
SpirvExpressionLoadAccessMember was renamed SpirvExpressionLoad
2020-08-23 21:56:30 +02:00
Jérôme Leclercq
6c379eff68 Update vert.shader 2020-08-23 18:32:31 +02:00
Jérôme Leclercq
93de44d293 Big SpirVWriter refactor 2020-08-23 18:32:28 +02:00
Jérôme Leclercq
66a14721cb Shader/Spirv: Put types and constants in the same section 2020-08-21 22:51:11 +02:00
Jérôme Leclercq
cd23c01ace Shader: AccessMember can now access nested fields 2020-08-21 22:50:30 +02:00
Jérôme Leclercq
9df219e402 Add SpirvConstantCache
And unsigned int types for shaders
2020-08-20 01:05:16 +02:00
Jérôme Leclercq
0b507708f4 Shader/SpirvWriter: Split section to another class + improve variadic parameters support 2020-08-18 00:00:05 +02:00
Jérôme Leclercq
73e88a2573 Add Spir-V header/source generator 2020-08-17 23:59:08 +02:00
Jérôme Leclercq
581a5344e6 OpenGLRenderer: Add wglSwapIntervalEXT 2020-08-11 00:15:34 +02:00
Jérôme Leclercq
608b80981d Fix OpenGL & Vulkan renderers 2020-08-11 00:13:00 +02:00
Jérôme Leclercq
1a12e18a36 Fix copyright dates and some defines 2020-08-11 00:01:49 +02:00
Jérôme Leclercq
837a6585a1 Split shader generation to a new module 2020-08-11 00:00:36 +02:00
Jérôme Leclercq
0313f2d0a6 Enable GL_DEBUG_OUTPUT 2020-08-09 18:43:44 +02:00
Jérôme Leclercq
777121dbce Remove SPIRV handling in demo 2020-08-09 18:42:01 +02:00
Jérôme Leclercq
d9b34b4ba8 OpenGLRenderer: Handle GL_DEBUG_SEVERITY_NOTIFICATION 2020-08-09 18:41:28 +02:00
Jérôme Leclercq
d4f60c174e OpenGLRenderer: Flip screenspace 2020-08-09 18:40:59 +02:00
Jérôme Leclercq
ac7b523bc7 OpenGLRenderer: Fix textures 2020-08-09 18:38:58 +02:00
Jérôme Leclercq
0da2ee6c99 First rendering using Spir-V generated shaders \o/ 2020-08-09 00:24:07 +02:00
Jérôme Leclercq
3829f0a002 ShaderAstCloner: Improve code readability 2020-08-05 16:28:41 +02:00
Jérôme Leclercq
d6d452d43d Add ShaderAstCloner 2020-08-05 15:30:23 +02:00
Jérôme Leclercq
74fb01af28 Rename a few classes 2020-08-04 15:31:47 +02:00
Jérôme Leclercq
7a5f91f740 SpivWriter WIP
We have debug label, annotations, types and constants. The big part missing is instructions
2020-08-04 01:35:30 +02:00
Jérôme Leclercq
7fd3264d08 Add FieldOffsets class 2020-08-04 01:33:52 +02:00
Jérôme Leclercq
7736312c2f ShaderNodes: Replace union by std::variant 2020-08-04 01:33:31 +02:00
Lynix
50bd150345 WIP 2020-08-02 20:42:51 +02:00
Lynix
10860ed562 Improve code 2020-07-31 12:36:37 +02:00
Lynix
2271432748 Renderer/ShaderValidator: Use ShaderVarVisitor instead of switch 2020-07-29 14:39:34 +02:00
Lynix
a02dd3bf05 Renderer: Add ShaderRecursiveVisitor 2020-07-29 14:31:54 +02:00
Jérôme Leclercq
251810ca99 WIP SpirvWriter 2020-07-29 11:22:52 +02:00
Jérôme Leclercq
59add283cf Add shader type 2020-07-27 18:52:58 +02:00
Lynix
aff617f147 Network: Replace some String by std::string 2020-07-25 14:32:53 +02:00
Jérôme Leclercq
6d0a59caab VulkanTest: Use generated shader nodes 2020-07-22 14:48:35 +02:00
Jérôme Leclercq
063b7dd602 Renderer/GlslWriter: Add parenthesis where required (wip) 2020-07-22 14:48:15 +02:00
Jérôme Leclercq
c6c301c9f5 ShaderNode: Fix BufferField remaining bugs 2020-07-22 14:47:57 +02:00
Jérôme Leclercq
7b1d712560 ShaderNode: Fix struct members serialization 2020-07-22 14:47:13 +02:00
Jérôme Leclercq
471194ec16 ShaderNode: Add PositionOutputValue 2020-07-22 14:47:00 +02:00
Jérôme Leclercq
5a350ee76b ShaderNode: Add Mat4x4 type and nodes 2020-07-22 14:46:44 +02:00
Jérôme Leclercq
b441bab218 Renderer/ShaderNodes: Fix BinOp expression type 2020-07-22 14:45:40 +02:00
Jérôme Leclercq
db945d11fb Renderer/GlslWriter: Fix generation bugs 2020-07-22 14:45:19 +02:00
Jérôme Leclercq
f66758f99b Renderer/ShaderSerializer: Fix AccessMember 2020-07-22 14:44:49 +02:00
Jérôme Leclercq
5ce67f434b Finish BufferField 2020-07-20 20:41:22 +02:00
Jérôme Leclercq
042eb067a0 Move and rename functions 2020-07-20 11:21:31 +02:00
Jérôme Leclercq
405c020125 Set some struct in default scene for testing 2020-07-19 21:08:53 +02:00
Jérôme Leclercq
3c1c61fb5e Improve code 2020-07-19 21:08:43 +02:00
Jérôme Leclercq
e342c88e64 ShaderNodes/InputValue: Fix output type when using Float1 2020-07-19 21:08:25 +02:00