Magnus Norddahl
9203784ee0
Use a uniform buffer for the light list
2023-05-06 02:45:17 +02:00
Magnus Norddahl
b7236f3031
Remove unused uniforms and restrict push constants to only control offsets into buffers
2023-04-24 22:10:17 +02:00
Magnus Norddahl
e0c11c1e48
Remove EPassType from VkShaderManager::Get and CompileNextShader() from VkShaderManager constructor
2023-04-24 00:14:04 +02:00
Magnus Norddahl
5c9ff283a6
Only add the lightmode actually being used into the shader
2023-04-19 02:28:32 +02:00
Magnus Norddahl
6894eb013f
Begin removing binding points from the hwrenderer layer.
...
Well known buffers should be created and managed by the backend, otherwise the backend just becomes an OpenGL emulator.
2023-04-16 19:30:27 +02:00
Magnus Norddahl
184e73ab28
Add GetDevice function instead of accessing device member directly
2023-04-16 17:07:55 +02:00
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
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
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
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
6a005e3a2a
Switch vulkan backend to use the zvulkan library
2022-12-05 07:49:43 +01:00
Shiny Metagross
08f520f1c6
IQM Support Implemented
...
More info to come
2022-10-19 22:48:57 +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
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
5aa0fb536f
Only define SUPPORTS_RAYTRACING if it was detected
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
ba88303527
Move more code into the correct managers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8004532cba
Begin detaching internal vulkan object lifetimes from the hardware renderer layer
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8ebad1003b
Split postprocess part into more files
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8517c9713a
Move descriptor sets from VkRenderPassManager into a new class called VkDescriptorSetManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
e26fb04adf
Some minor bug fixes
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c1aab074c
Hook up the acceleration structure to the shader and start shooting some rays!
2022-06-22 07:55:19 +02:00
Christoph Oelckers
3ad6793ba3
- fixed yet another index issue in the shader code.
2022-05-18 20:14:43 +02:00
Christoph Oelckers
648dc87101
- fixed two index out of range issues in Vulkan's shader compiler code.
2022-05-15 09:12:30 +02:00
Christoph Oelckers
2be13e1b9f
- changed shader loader to load only one shader at a time
...
This is merely preparation - the actual loading is still in one uninterrupted piece.
2022-05-13 08:22:22 +02:00
nashmuhandes
57112742fe
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
...
# Conflicts:
# src/common/rendering/gl/gl_shader.cpp
# src/common/rendering/hwrenderer/data/buffers.h
# src/common/rendering/v_video.h
2022-01-16 01:57:38 +08:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Magnus Norddahl
604c4ff8e0
Fix vertex layout locations and add lightmap to vulkan shader
2021-09-24 16:21:23 +02:00
Christoph Oelckers
03c8fd9956
- block user overrides for the logic module of core fragment shaders.
2021-08-24 10:24:23 +02:00
Christoph Oelckers
ba146ed5e5
- Backend update from Raze
2021-04-19 12:58:35 +02:00
Mitchell Richters
8af21a13e7
- fix missing terminator in vk_shader.cpp on #ifdef guarded line.
2020-06-11 13:33:19 +03:00
Christoph Oelckers
c9833a811e
- added 3 more texture samplers to the shaders to compensate for the now always occupied slots for brightmap, glow and detail.
2020-06-09 20:40:43 +02:00
Christoph Oelckers
9e51a2f63c
- added Build's NPOT emulation to the backend.
...
For GZDoom this is completely disabled, of course, because the Doom engine does not need it, but in order to have the same backend code in both engines it needs to be present.
2020-06-08 23:37:20 +02:00
Christoph Oelckers
3e8f53e98c
- fixed shader building.
...
We really need a version directive for user shaders, this is getting too messy. :(
2020-05-25 20:26:58 +02:00
Christoph Oelckers
652712d970
- moved Vulkan and Softpoly backends to 'common'.
2020-04-29 22:17:35 +02:00