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
Magnus Norddahl
ba88303527
Move more code into the correct managers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
69cfadf411
Manage buffers in VkBufferManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ef802b85e7
Manage postprocess texture lifetimes in the same way as for hw textures
2022-06-22 07:55:19 +02:00
Magnus Norddahl
b3316fbe21
Let VkTextureManager manage the VkHardwareTexture resources
...
Let VkDescriptorSetManager manage the VkMaterial resources
Add the resources to the delete list instead of freeing them immediately as the backend cannot rely on exactly when the hardware renderer decides to destroy them
2022-06-22 07:55:19 +02:00
Magnus Norddahl
298c023b1d
Add buffer and texture managers for handling object lifetimes
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
ecd2dc6300
Move command buffers out of vk_framebuffer and into its own manager class
2022-06-22 07:55:19 +02:00
Magnus Norddahl
a4e82766d7
Move inlined builder functions to the cpp file and remove FixedVector (none of it is on the critical path anyway)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
3f28a7e5e4
Add some more pipeline barriers hoping it will make any difference to Nvidia drivers crashing on a worker thread (yay, nvidia!)
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
138d3e86ce
Fix null pointer crash when writing debug messages
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
Magnus Norddahl
e08965b0b3
Improve vk_debug output a lot by throwing away the useless parts of the message and limit the callstack to the first 5 gzdoom calls
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c90a72c66
Upgrade SPV and GLSL version if using Vulkan 1.2
2022-06-22 07:55:19 +02:00
Magnus Norddahl
97073410c4
Upload acceleration structures for the level mesh
2022-06-22 07:55:19 +02:00
Magnus Norddahl
bf1732904f
Enable vulkan 1.2 and ray tracing extensions, if available
2022-06-22 07:55:19 +02:00
Magnus Norddahl
c6416a2afe
Update volk to a newer version
2022-06-22 07:55:19 +02:00
Christoph Oelckers
013f2003e8
Revert "-got rid of shared_ptr in postprocessing system"
...
This reverts commit 40872a2b21
.
This crashed on Vulkan in a very weird way.
2022-06-09 09:16:58 +02:00
Christoph Oelckers
40872a2b21
-got rid of shared_ptr in postprocessing system
2022-06-07 13:59:00 +02:00
Christoph Oelckers
c11729c2bb
- fixed: Vulkan descriptor sets must check the real translation, not just the translation ID.
...
In particular the one for the menu's player sprite and ACS translations can alter a translation ID's actual translation at run time, these changes never triggered a descriptor set change.
2022-06-01 16:47:54 +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
Magnus Norddahl
1452dd06a7
Fix that vk_debug doesn't output anything for newer versions of the vulkan sdk
2022-05-13 08:18:17 +02:00
temx
0dfa632d29
Fix off-by-one in Vulkan multisample sample count selection
2022-05-04 18:19:29 +02:00
Christoph Oelckers
45e7badb71
- avoid passing game structs to common backend code
...
InitLightmap was using a „FLevelLocals“ pointer, better pass the needed elements separately instead.
2022-04-11 00:01:30 +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
79c9b979d2
- backend update from Raze.
2022-01-11 17:19:16 +01:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
nashmuhandes
2ed99c735d
Merge branch 'lightmaps2' of https://github.com/dpjudas/gzdoom into lightmaps2
2021-11-15 02:56:10 +08:00
Magnus Norddahl
8c54015b4b
Fix upload and sampling bug for array textures in the vulkan backend
2021-11-14 19:53:10 +01:00