Jérôme Leclercq
|
961c3bf1df
|
Shader: Fix LangWriter generation
|
2021-05-05 12:06:02 +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
|
eb67990b7b
|
Shader: Fix SpirV generation for Swizzle expressions
+ fix OpSampledImage
|
2021-05-05 12:04:09 +02:00 |
Jérôme Leclercq
|
bfb93bc925
|
VulkanRenderer: Fix VkRenderWindow subpass dependencies
|
2021-05-05 12:02:00 +02:00 |
Jérôme Leclercq
|
10aa7231b6
|
Renderer: Fix MRT support
|
2021-05-05 12:01:20 +02:00 |
Jérôme Leclercq
|
990193ebb4
|
Minor fixes
|
2021-05-02 13:58:56 +02:00 |
Jérôme Leclercq
|
55c2dd8485
|
Add FrameGraph (WIP)
|
2021-05-02 13:58:35 +02:00 |
Jérôme Leclercq
|
377129586b
|
Renderer: Rename some TextureLayout entry
|
2021-05-02 13:57:24 +02:00 |
Jérôme Leclercq
|
8028044966
|
Fix Linux compilation
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
f85d11e55b
|
Fix Graphics module compilation
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
0cc392b78f
|
Shader/SpirvWriter: Fix Image not registering Float as a dependent type
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
044195b209
|
Minor fixes
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
2238bbfa0c
|
Shader: Add AstReflect
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
500ccda85a
|
Shader: StatementPtr& => const StatementPtr&
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
1a8599ba29
|
Shader: Add sanitization of identifiers (fixes GLSL generation)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
8359d46711
|
Graphics fixes
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
5bdbb866b5
|
Shader: Add LangWriter (outputs NZSL)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
e7a9fd95ea
|
ShaderNode fixes
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
3a7f5c2630
|
Shader: Fix optimization
|
2021-04-20 18:18:27 +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
|
d335d44d6a
|
Shader: Cleanup and rename AST files
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
afe3a0ea93
|
Shader: Merge AstScopedVisitor, AstValidator and TransformVisitor to SanitizeVisitor
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
8515c9cea1
|
Shader: Improve ShaderAstCloner
|
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
|
54c34869a4
|
Fix Shader unit tests
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
3e704b9ea6
|
Shader: Minor fixes
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
85ce6a4f43
|
Shader: Fix struct nesting
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
0860a0689f
|
Shader/GlslWriter: Improve GLSL readability
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
a90937eb4f
|
Update ShaderNode
|
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
|
bca1561f73
|
Shader/GlslWriter: Improve GLSL output
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
3499c1f92f
|
Shader: Remove the need of layout(std140) in external block
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
854bb16320
|
VulkanRenderer: Fix OpEntryPoint parsing
|
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
|
f93a5bbdc1
|
Shader: Rework scope handling
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
feffcfa6e5
|
VulkanRenderer: Fix handling of shader modules
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
09df5f389e
|
Shader: Add SpirvDecoder
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
e4aabf309e
|
Renderer: Replace ShaderStage by ShaderModule (a module can handle multiple stages)
|
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
|
a318b28cd6
|
Shader: Improve SpirvPrinter output
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
593d80c80e
|
SpirV grammar parser: Add result id operand and version info
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
f694eb767f
|
Shader: Fix return type not being properly registered
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
5598487e87
|
ShaderLang: Improve lexer
|
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
|
8135f22b2f
|
Shader: Add attribute and square bracket tokens (first step for attribute support)
|
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
|
48b93a9dea
|
Shader: Fix SPIRV generation
|
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 |
Jérôme Leclercq
|
57adfa09de
|
VulkanRenderer: Fix Depth24Stencil8 format
|
2021-02-20 19:25:38 +01:00 |
Jérôme Leclercq
|
b291f8a21c
|
Renderer: Implement TextureUsage
|
2021-02-20 19:25:25 +01:00 |
Jérôme Leclercq
|
311cfeaf3c
|
OpenGLRenderer: Fix Y flipping for FBOs
|
2021-02-20 19:23:29 +01:00 |
Jérôme Leclercq
|
fb3468854f
|
Renderer: Implement Framebuffers
|
2021-02-20 19:22:08 +01:00 |
Jérôme Leclercq
|
3ef74d6e1d
|
OpenGLRenderer: Use glTexStorage2D instead of glTexImage2D
|
2021-02-20 19:14:13 +01:00 |
Jérôme Leclercq
|
f7442982a4
|
OpenGLRenderer: Implement debug region data
|
2021-02-20 19:10:32 +01:00 |
Jérôme Leclercq
|
8f9f943e2c
|
OpenGLRenderer: Implement primitive mode
|
2021-02-20 18:56:54 +01:00 |
Jérôme Leclercq
|
ac3db8a8bf
|
Utility/PixelFormat: Add preliminary support for SRGB formats (WIP)
|
2021-02-20 18:01:03 +01:00 |
Jérôme Leclercq
|
36be581d9a
|
Shader/SpirV: Fix missing OpSelectionMerge before branching
|
2021-02-19 14:51:06 +01:00 |
Jérôme Leclercq
|
32569eef5e
|
Add SpirV masks and update grammar
|
2021-02-19 14:47:24 +01:00 |
Jérôme Leclercq
|
080fd9c7eb
|
Minor fixes
|
2021-02-15 18:17:30 +01:00 |
Jérôme Leclercq
|
a6b5246633
|
OpenGLRenderer: Fix clear values
|
2021-02-15 18:17:10 +01:00 |
Jérôme Leclercq
|
08c2f711b0
|
Graphics/Material: Add UpdateBuffers
|
2021-02-15 18:16:19 +01:00 |
Jérôme Leclercq
|
d058a127e1
|
Renderer/RenderPass: Implement RenderPass correctly
|
2021-02-15 18:14:47 +01:00 |
Jérôme Leclercq
|
2ef772cec7
|
Merge branch 'nazara-next' into graphics-next
|
2021-01-28 16:37:46 +01:00 |
Jérôme Leclercq
|
5eedd3c0bc
|
Renderers: Fix UploadPool
|
2021-01-28 15:59:18 +01:00 |
Jérôme Leclercq
|
b9151d8a7a
|
Graphics: Improve TextureSampler handling
|
2021-01-27 18:50:49 +01:00 |
Jérôme Leclercq
|
a9e9ef2524
|
Graphics: Add GraphicalMesh and Model classes
|
2021-01-27 16:45:00 +01:00 |
Jérôme Leclercq
|
e3e5c4ba8f
|
Graphics: Add ModelInstance class
|
2021-01-22 23:32:32 +01:00 |
Jérôme Leclercq
|
19783f7755
|
Graphics/Material: Rework UBO handling
|
2021-01-22 23:31:54 +01:00 |
Jérôme Leclercq
|
a0d5750ec8
|
Graphics: Add GetViewerDataUBO
|
2021-01-22 23:27:11 +01:00 |
Jérôme Leclercq
|
a6ff64106e
|
Minor stuff
|
2021-01-22 23:23:28 +01:00 |
Jérôme Leclercq
|
d52be87fd5
|
OpenGLRenderer: Fix Draw[Indexed]Data states
|
2021-01-22 23:18:35 +01:00 |
Jérôme Leclercq
|
dbcb4a61d0
|
OpenGLRenderer: Fix context not being shared on OpenGL ES
|
2021-01-22 23:17:55 +01:00 |
Jérôme Leclercq
|
c76d6505b0
|
Renderer/ShaderBinder: Make Update take a pointer and size
|
2021-01-22 23:15:31 +01:00 |
Jérôme Leclercq
|
e6ada6846d
|
Graphics: Fix PredefinedViewerData size
|
2021-01-22 18:04:58 +01:00 |
Jérôme Leclercq
|
711199fe51
|
Shader/ShaderAstOptimizer: Fix branch optimization
|
2021-01-15 19:19:19 +01:00 |
Jérôme Leclercq
|
bb18ca13ca
|
Fix shader generation
|
2021-01-15 19:19:05 +01:00 |
Jérôme Leclercq
|
96d7b9424b
|
Renderer: Handle null textures in shader binding
|
2021-01-14 22:03:01 +01:00 |
Jérôme Leclercq
|
c8f4e53244
|
ShaderNode: Add code output window
|
2021-01-14 22:02:34 +01:00 |
Jérôme Leclercq
|
a037eef4c9
|
Shader: Remove ShaderNode::GetExpressionType (replaced by visitor) and minor stuff
|
2021-01-14 22:01:53 +01:00 |
Jérôme Leclercq
|
00ac6e8a0a
|
Shader: Add ShaderAstOptimizer
|
2021-01-14 22:01:05 +01:00 |
Jérôme Leclercq
|
acb998f67e
|
ShaderAst: Add NoOp node
|
2021-01-14 21:58:06 +01:00 |
Jérôme Leclercq
|
a9f2e05b57
|
Fix typo in enum
|
2021-01-14 21:56:55 +01:00 |
Jérôme Leclercq
|
4d63d6e022
|
Shader: Add basic support for Branch node in spir-v
|
2021-01-04 10:27:08 +01:00 |
Jérôme Leclercq
|
44bc86d082
|
Shader/SpirvWriter: Rename MergeBlocks to MergeSections
to avoid confusion with SpirV blocks
|
2021-01-03 11:11:54 +01:00 |
Jérôme Leclercq
|
f327932738
|
Commit current work
Reworked conditions, added uber-shaders, comparison nodes, fixed Discard
|
2021-01-02 21:15:59 +01:00 |
Jérôme Leclercq
|
ed72d668d9
|
Shader: Add Discard node
|
2020-12-30 20:05:16 +01:00 |
ImperatorS79
|
9a613c6fd6
|
Fix ShaderNodes on macos
|
2020-11-27 14:44:19 +01:00 |
ImperatorS79
|
f05ed5781b
|
IP_MTU missing on macos
|
2020-11-22 13:32:17 +01:00 |
ImperatorS79
|
d4cd0581e4
|
Update SocketImpl.cpp
|
2020-11-21 21:35:51 +01:00 |
ImperatorS79
|
255812c80e
|
Fix missing MSG_NOSIGNAL and TCP_KEEPIDLE on macos
|
2020-11-21 21:29:23 +01:00 |
ImperatorS79
|
143d7d391a
|
Remove Value for size_t and correctly fix the problem
|
2020-11-21 20:21:26 +01:00 |
ImperatorS79
|
4bf49876c6
|
Build Nazara on macos up to Nazara_network (not included
|
2020-11-21 20:05:19 +01:00 |
Jérôme Leclercq
|
960817a1f1
|
Add conditional expression/statement support for shaders
|
2020-11-19 13:56:54 +01:00 |
Jérôme Leclercq
|
bd9d30407c
|
Fix SDL2 cursor
|
2020-11-17 17:44:31 +01:00 |
Jérôme Leclercq
|
7526923a8d
|
Platform: Fix space not generating a text event
|
2020-11-17 17:43:42 +01:00 |
Jérôme Leclercq
|
af55ecc2a5
|
Fix SDL2 crash when creating cursor
Enfoiré de REMqb
|
2020-11-12 16:28:33 +01:00 |
Jérôme Leclercq
|
f52c43df49
|
Network: Fix TcpClient::PollConnection on Linux
|
2020-10-31 17:33:56 +01:00 |
Jérôme Leclercq
|
ad88561245
|
Graphics: Fix MaterialPipeline::GetRenderPipeline
|
2020-10-31 16:29:02 +01:00 |
Jérôme Leclercq
|
8027ae9abe
|
Graphics: Fix PredefinedShaderBinding enum
|
2020-10-31 16:27:35 +01:00 |
Jérôme Leclercq
|
89609570f4
|
Graphics: WIP (almost working)
|
2020-10-30 23:08:48 +01:00 |
Jérôme Leclercq
|
73e86407b3
|
Fix some warnings
|
2020-10-30 23:08:27 +01:00 |
Jérôme Leclercq
|
e5cd461bae
|
ShaderNode: Fix possible crash with incompatible types
|
2020-10-30 23:08:03 +01:00 |
Jérôme Leclercq
|
5ca9776755
|
ShaderNode: Fix missing "add texture" button
|
2020-10-30 23:07:42 +01:00 |
Jérôme Leclercq
|
b62130dab9
|
VulkanRenderer: Fix physical device bullshit
Keep a single list instead of many
|
2020-10-30 23:06:56 +01:00 |
Jérôme Leclercq
|
009e5a0466
|
Renderer: Rename ShaderStageImpl to ShaderStage
|
2020-10-30 23:06:15 +01:00 |
Jérôme Leclercq
|
d243e7bcd2
|
OpenGLRenderer: Move error to string to Utils
|
2020-09-26 20:43:55 +02:00 |
Jérôme Leclercq
|
3b2e375382
|
WIP
|
2020-09-26 20:04:05 +02:00 |
Jérôme Leclercq
|
abf58857d7
|
Core/StringExt: Make PointerToString portable
|
2020-09-26 12:22:49 +02:00 |
Jérôme Leclercq
|
9291ef6299
|
Disable OpenGL overriding with MSVC / x86
Seems like a bug with MSVC when targetting 32bits targets
|
2020-09-26 11:50:37 +02:00 |
Jérôme Leclercq
|
65337c6a38
|
Fix a lot of warnings and some errors
|
2020-09-26 11:44:09 +02:00 |
Jérôme Leclercq
|
2b6a463a45
|
Remove Nz::String and Nz::StringStream
|
2020-09-25 19:31:01 +02:00 |
Lynix
|
d665af1f9d
|
Shader/SpirV: Fix sampler storage class
|
2020-09-22 21:50:56 +02:00 |
Lynix
|
79c53061e0
|
Shader: Add type functions
|
2020-09-22 21:50:07 +02:00 |
Jérôme Leclercq
|
f15709c8a3
|
Renderer: Replace unique_ptr by shared_ptr
|
2020-09-20 15:56:58 +02:00 |
Jérôme Leclercq
|
95c9ad0fd8
|
Add graphics module base
|
2020-09-20 14:52:44 +02:00 |
Jérôme Leclercq
|
790815e9ee
|
Merge branch 'master' into nazara-next
|
2020-09-17 20:28:11 +02:00 |
Jérôme Leclercq
|
37418d482e
|
Renderer: Allow to set a preferred render api using configuration
|
2020-09-17 20:11:10 +02:00 |
Jérôme Leclercq
|
36d3c51eeb
|
Add module configurations
|
2020-09-17 20:10:39 +02:00 |
Jérôme Leclercq
|
7a7a67cd40
|
Update OpenGLVaoCache.cpp
|
2020-09-17 18:54:41 +02:00 |
Jérôme Leclercq
|
98e20ecbb7
|
Last modules fixes
|
2020-09-17 18:54:33 +02:00 |
Jérôme Leclercq
|
fd1d416510
|
Rename Module to ModuleBase
|
2020-09-11 13:39:18 +02:00 |
Jérôme Leclercq
|
a7fac3beb8
|
Rework modules
|
2020-09-10 20:12:09 +02:00 |
Jérôme Leclercq
|
193deb6c04
|
Fix some minor stuff
|
2020-09-06 17:09:39 +02:00 |
Jérôme Leclercq
|
67b0d70b7c
|
Upgrade to Newton 3.14 and make it a thirdparty lib
|
2020-09-06 17:09:19 +02:00 |
Jérôme Leclercq
|
1e29790831
|
Physics2D/RigidBody2D: Fix velocity func not being copied
|
2020-09-05 12:56:35 +02:00 |
Jérôme Leclercq
|
385927b05a
|
Fix minor stuff
|
2020-09-04 16:14:11 +02:00 |
Jérôme Leclercq
|
33e60a97b6
|
VulkanRenderer: Fix case where swapchain has more image than requested
|
2020-09-04 15:59:01 +02:00 |
Jérôme Leclercq
|
53e5aa924f
|
VulkanRenderer/Swapchain: Rename Buffer to Image
|
2020-09-04 15:58:07 +02:00 |
Jérôme Leclercq
|
55ac0ccdf6
|
Restore Vulkan renderer
|
2020-09-04 15:25:49 +02:00 |
Jérôme Leclercq
|
f8dc5a5516
|
OpenGLRenderer: Default to WGL on Windows
|
2020-09-04 15:23:14 +02:00 |
Jérôme Leclercq
|
ab0cc800e3
|
Remove VMA dependency from OpenGLRenderer
|
2020-09-04 15:22:05 +02:00 |
Jérôme Leclercq
|
e0a4d27c2e
|
Fix some warnings
|
2020-09-04 15:21:53 +02:00 |
Jérôme Leclercq
|
69dda85e45
|
Vulkan: Refactor function list headers
|
2020-09-04 15:21:46 +02:00 |
Jérôme Leclercq
|
d98cddcfe0
|
Remove no longer used code
|
2020-09-04 14:19:11 +02:00 |
Jérôme Leclercq
|
a8b9a8c56d
|
Workaround MSVC bug
|
2020-09-04 14:18:57 +02:00 |
Jérôme Leclercq
|
3082620ef9
|
Remove useless code
|
2020-09-03 16:33:56 +02:00 |
Jérôme Leclercq
|
0255541b44
|
Replace EGL symbol loader
|
2020-09-03 16:33:37 +02:00 |
Jérôme Leclercq
|
addcd52552
|
Try to get around MSVC bug
|
2020-09-03 15:47:43 +02:00 |
Jérôme Leclercq
|
58efffc51f
|
Improve code a bit
Prevent converting back and forth the same function pointer
|
2020-09-03 13:58:45 +02:00 |
Jérôme Leclercq
|
0609a10c25
|
OpenGLRenderer: Get rid of std::function by using function indexes
|
2020-09-03 13:54:44 +02:00 |
Jérôme Leclercq
|
6848ff8b34
|
OpenGLRenderer: Add debug wrapper (which handle OpenGL errors)
|
2020-09-03 13:39:34 +02:00 |
Jérôme Leclercq
|
df33262ab4
|
OpenGLRenderer: Fix context activation
|
2020-09-03 13:18:09 +02:00 |
Jérôme Leclercq
|
d622a75d73
|
Add BufferUsage_Dynamic
Since OpenGL screams in performance warning because of a GL_STATIC_DRAW buffer being updated from another buffer
|
2020-09-02 17:19:52 +02:00 |
Jérôme Leclercq
|
b85a734e6e
|
Utility/OBJParser: Make OBJ meshes order deterministic
|
2020-09-02 16:30:31 +02:00 |