Commit Graph

5962 Commits

Author SHA1 Message Date
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 feb1774eb2 Update Algorithm.inl 2021-12-25 20:25:43 +01:00
Jérôme Leclercq b43ed890d0 Fix scissor bugs (fixes Deferred Shading flare on Vulkan and widget scissor on OpenGL) 2021-12-25 20:25:39 +01:00
Jérôme Leclercq b98fd65a01 Fix a lot of small bugs/warnings 2021-12-25 20:07:53 +01:00
Jérôme Leclercq 1080823c4d Shader/SpirvPrinter: Handle LiteralInteger as value 2021-12-25 19:13:48 +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 f98ea6b0ca Shader: Add full support for scalar swizzle 2021-12-25 19:13:08 +01:00
Jérôme Leclercq ec3da7e3f5 XMake: Fix NAZARA_DEBUG not being defined in unit tests and examples 2021-12-25 19:10:26 +01:00
Jérôme Leclercq 8ad01f9e6e Core/Algorithm: Rewrite SafeCast 2021-12-25 18:37:07 +01:00
Jérôme Leclercq 157e74b016 Shader/GlslWriter: Reorder function implementations 2021-12-25 14:02:22 +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 3e708cf5ed XMake: Use remove_files/remove_headerfiles 2021-12-24 11:06:44 +01:00
Jérôme Leclercq 1aa56b4db8 Tests: disable unity buildd 2021-12-23 18:26:00 +01:00
Jérôme Leclercq 0aff946665 Examples/DeferredShading: Add flare sprite 2021-12-23 17:40:03 +01:00
Jérôme Leclercq d4dfe97006 Minor fixes 2021-12-23 17:39:37 +01:00
Jérôme Leclercq b53d2a0560 Rework shader module unit tests 2021-12-23 17:39:24 +01:00
Jérôme Leclercq a5cc915948 Shader/SPIRV: Fix structs being always decorated as block
They are now only decorated as blocks when used as uniform buffers, which fixes structure nesting
2021-12-23 17:36:40 +01:00
Jérôme Leclercq ed3ee34565 Graphics/Sprite: Allow to change origin 2021-12-23 17:32:18 +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 e497faabaf Fix compilation 2021-12-21 14:45:53 +01:00
Jérôme Leclercq 837b72f68e Shader: Rework Swizzle and add support for swizzle store in SPIRV 2021-12-21 14:30:47 +01:00
Jérôme Leclercq e43a638112 Shader/SpirvData: Regenerate SPIRV data (update to 1.6.1) 2021-12-20 22:37:34 +01:00
Jérôme Leclercq 1a859b90e6 XMake/Actions: Fix SPIRV data generator
it was output floating-point numbers since XMake upgraded to Lua 5.4
2021-12-20 22:37:04 +01:00
Jérôme Leclercq 5963f4c848 Graphics/FrameGraph: Fix texture pool issue 2021-12-19 18:29:20 +01:00
Lynix 9bd411e53c Shader/SPIRV: Add support for swizzling with one component 2021-12-18 15:51:20 +01:00
Jérôme Leclercq a6b8caa5ba Examples/DeferredShading: Add god rays (WIP) 2021-12-16 23:12:09 +01:00
Jérôme Leclercq a8fefeb833 Some fixes 2021-12-16 23:11:48 +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 07199301df Graphics/FrameGraph: Handle invalidation and flush barriers 2021-12-16 18:29:40 +01:00
Jérôme Leclercq 38b143ce8f VulkanRenderer: Improve ImageAspectFlags handling 2021-12-16 18:29:15 +01:00
Jérôme Leclercq 07bf924092 Update .gitignore 2021-12-13 23:44:41 +01:00
Jérôme Leclercq 90ab0e9438 Graphics/FramePass: Add SetReadInput method 2021-12-13 23:44:34 +01:00
Jérôme Leclercq dfa2a0040a Graphics/FrameGraph: Add AttachmentProxy 2021-12-13 23:44:14 +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 31c71e542e Examples/DeferredShading: Improve bloom quality 2021-12-12 23:04:05 +01:00
Jérôme Leclercq f64e16f7d8 Demo/DeferredShading: Add tone-mapping (without automatic exposure for now) 2021-12-05 17:03:08 +01:00
Jérôme Leclercq 0aec863300 Shader: Add support for exp intrinsic 2021-12-05 17:02:46 +01:00
Jérôme Leclercq 7e4a058d41 Renderer/[OpenGL|Vulkan]Renderer: Add support for RGBA16F pixelformat 2021-12-05 17:01:55 +01:00
Jérôme Leclercq 4eb96849db Graphics/FrameGraph: Reuse textures if possible 2021-12-05 16:53:02 +01:00
Jérôme Leclercq 3b1bf480e6 Fix some warnings 2021-12-03 22:18:03 +01:00
Jérôme Leclercq 11d4ba22da Graphics/ForwardFramePipeline: Use RenderGraph to merge viewers views 2021-12-03 22:17:24 +01:00
Jérôme Leclercq 5aefef2517 XMake: Fix build_rendererplugins rule 2021-12-03 22:15:54 +01:00
Jérôme Leclercq 17df8fafa4 Renderer/CommandBuffer: Add support for texture blit/copy 2021-12-03 22:15:34 +01:00
Jérôme Leclercq 53747abf6e XMake: Fix build_rendererplugins rule 2021-12-02 12:02:39 +01:00
Jérôme Leclercq 84bc04cee7 Fix compilation 2021-12-01 20:35:18 +01:00
Jérôme Leclercq 61779d1cad Graphics/Widgets: Add support for scissoring 2021-12-01 20:26:33 +01:00
Jérôme Leclercq a483e16e15 Graphics: Fix render layer sorting 2021-12-01 20:25:55 +01:00
Jérôme Leclercq 8f897084d7 Widgets: Add support for render layer (fixes rendering) 2021-12-01 18:58:48 +01:00