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