Commit graph

133 commits

Author SHA1 Message Date
Magnus Norddahl
295eb252ab Change the folder structure of the vulkan backend to better reflect what is going on 2023-04-16 16:39:15 +02:00
Magnus Norddahl
1f5b7a0256 Add support for gl_light_raytrace for cards that do not support rayquery 2023-04-12 02:09:28 +02:00
Magnus Norddahl
caefc09549 Improve shader performance significantly by only including raytracing or shadowmaps in the shader if enabled 2023-04-07 04:22:43 +02:00
Magnus Norddahl
5ca4c51b7d Avoid stepping further into VkShaderManager::Get unless the shader has not been compiled 2023-04-06 19:48:28 +02:00
Magnus Norddahl
d5d6c07f53 Fix misc shader related issues 2023-04-06 19:36:58 +02:00
Magnus Norddahl
87ee014b5b Improve VkShaderProgram to handle more program types
Fix memory alignment issues with the shader/pipeline keys
2023-04-06 17:56:44 +02:00
dpjudas
94a06d393f Add VkShaderKey and start preparing VkShaderManager to be able to handle a lot more shader permutations 2023-04-04 01:00:08 +02:00
Magnus Norddahl
44fed1451d Fix shader build errors and remove support for old deprecated shader types 2023-03-24 03:34:24 +01:00
Magnus Norddahl
c495c8c094 Add support for using #include in glsl files and improve glsl compile errors 2023-03-22 00:06:13 +01:00
Magnus Norddahl
6878dc5580 Move static layout code back to wadsrc 2023-03-21 20:24:08 +01:00
Magnus Norddahl
b417958f17 Remove old vk_raytrace cvar 2023-03-17 00:06:33 +01:00
Magnus Norddahl
342d495c08 Fix some compile errors caused by cherry-picking an old commit 2023-03-16 23:17:23 +01:00
Magnus Norddahl
7eb9053e30 Update ZVulkan, rename vk_raytrace to gl_light_raytrace and support turning it on and off without a restart 2023-03-16 23:15:02 +01:00
Magnus Norddahl
4bbc88d358 Updates ZVulkan to latest version.
Also changes vsync off from mailbox to immediate since otherwise it doesn't work in exclusive full screen mode.
And finally it fixes a scratch buffer alignment bug with the vk raytrace thing
2023-03-16 23:00:56 +01:00
Magnus Norddahl
151b60c436 Remove OpenGL and OpenGL ES backends 2023-03-16 22:09:19 +01:00
Ricardo Luís Vaz Silva
8e7897233e Add Alternate Light Blending Options 2023-01-14 11:29:12 -05:00
Rachael Alexanderson
aa061562cd - manually reimplement pull request #1850 2023-01-14 11:23:10 -05:00
Magnus Norddahl
7b864fd665 Add vulkan pipeline cache 2022-12-19 17:40:27 +01:00
Magnus Norddahl
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Magnus Norddahl
1a1adc5c29 Fix vulkan backend clearing the canvas textures to undefined contents 2022-10-28 14:53:05 -04:00
Shiny Metagross
08f520f1c6 IQM Support Implemented
More info to come
2022-10-19 22:48:57 +02:00
Magnus Norddahl
37039721bd Fix washed out colors in Vulkan HDR mode 2022-10-11 00:10:02 +02:00
Magnus Norddahl
742ae8c907 Fix viewpoint buffer not getting cleared when in the menus 2022-07-28 13:52:09 +02:00
Magnus Norddahl
fe3751a502 Fix renderdoc error message about not all textures getting bound 2022-07-25 18:50:16 +02:00
Magnus Norddahl
6137ea12d1 Fix typo 2022-07-25 18:50:16 +02:00
Magnus Norddahl
bb503950df Add canvastexture definition to animdefs.
Split canvas texture rendering from camera texture rendering.
2022-07-25 18:50:16 +02:00
Magnus Norddahl
aa083604e1 Fix variable arg bindings
Always clear the drawer
2022-07-25 18:50:16 +02:00
Magnus Norddahl
4f0b02b396 Add a 2d drawer to canvas textures 2022-07-25 18:50:16 +02:00
Magnus Norddahl
89f5428a9a Fixes vulkan crash when multisampling is enabled 2022-07-16 17:51:44 +02:00
Gutawer
ee0d90a983
- add stencil buffer support for 2d drawing (#1660)
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-07-16 14:56:28 +02:00
Magnus Norddahl
69778667aa Minor cleanup of some vulkan rtx code 2022-07-16 08:55:57 +02:00
Christoph Oelckers
7847a55d67 - do not include game specific stuff in the backend. 2022-07-02 10:26:17 +02:00
Christoph Oelckers
9002cdb61d - fixed bad use of local variable. 2022-07-02 10:24:51 +02:00
Christoph Oelckers
e3d7afa2d5 - added missing return 2022-06-22 09:26:53 +02:00
Magnus Norddahl
a0259e8e00 Hide experimental ray query behind vk_raytrace 2022-06-22 07:55:19 +02:00
Magnus Norddahl
ed134c9b19 Improve the builder syntax so that fewer temp variables are required to build vulkan objects 2022-06-22 07:55:19 +02:00
Magnus Norddahl
7fc579c8b2 Add some helpers 2022-06-22 07:55:19 +02:00
Magnus Norddahl
c7fe3de4b0 Avoid creating new descriptor pools every frame 2022-06-22 07:55:19 +02:00
Magnus Norddahl
5aa0fb536f Only define SUPPORTS_RAYTRACING if it was detected 2022-06-22 07:55:19 +02:00
Magnus Norddahl
e0907f62d5 Use a black lightmap texture rather than an undefined one (NV and AMD differ on the contents of undefined textures) 2022-06-22 07:55:19 +02:00
Magnus Norddahl
f1775ee64b Fix null pointer crash if shader fails to compile during startup 2022-06-22 07:55:19 +02:00
Magnus Norddahl
5446e37874 Add debug names to some buffers 2022-06-22 07:55:19 +02:00
Magnus Norddahl
5cc21c5a4a Upgrade glslang to 11.10.0 2022-06-22 07:55:19 +02:00
Magnus Norddahl
32d059e432 Tell the debug layer what the name of the shader is
Always bind both buffer descriptor sets
2022-06-22 07:55:19 +02:00
Magnus Norddahl
821bd3b460 Adjust some init/deinit code and rename some things 2022-06-22 07:55:19 +02:00
Magnus Norddahl
4644221454 Make sure everything has finished rendering or uploading before changing the render buffers 2022-06-22 07:55:19 +02:00
Magnus Norddahl
24bf0c685c Remove GetVulkanFrameBuffer() so nobody is tempted to call it in the future 2022-06-22 07:55:19 +02:00
Magnus Norddahl
1c4798f059 Move lightmap and shadowmap textures to VkTextureManager 2022-06-22 07:55:19 +02:00
Magnus Norddahl
3d43819a3f Move null texture to the texture manager 2022-06-22 07:55:19 +02:00
Magnus Norddahl
63d40ffbf9 Avoiding adding empty objects to the delete list 2022-06-22 07:55:19 +02:00