Commit graph

65 commits

Author SHA1 Message Date
Magnus Norddahl
f41e7f044a Fix SceneLinearDepth texture using wrong size 2024-09-08 23:15:48 +02:00
Magnus Norddahl
cc06294932 Remove linear depth from texture manager again (this wasn't a good idea)
Add linear depth texture to the fixed descriptor set
2024-09-08 21:18:22 +02:00
Magnus Norddahl
1b8effe1ea Make linearized depth data available to translucent material shaders via the texture name SceneLinearDepth. Does it work? Who knows! 2024-09-08 02:32:01 +02:00
Magnus Norddahl
08d376d3f4 Add hwtexture count to vk_mem_budget 2024-02-19 10:00:46 +01:00
Magnus Norddahl
4fbb58d836 Switch to using bindless textures for the entire hwrenderer 2024-02-10 01:36:27 +01:00
Magnus Norddahl
f550f5b05a Hook up bindless textures for gl_levelmesh 2023-12-26 04:30:55 +01:00
Magnus Norddahl
f8fd08a623 Clean up VkDescriptorSetManager a bit and bind the surface uniforms when drawing with gl_levelmesh 2023-12-26 04:30:54 +01:00
Magnus Norddahl
fc65d43ae8 Add code that should draw the mesh 2023-10-19 22:09:26 +02:00
dpjudas
411b281e7c Remove multithreading RenderState as that seemed to be a poor approach 2023-10-09 03:20:19 +02:00
Magnus Norddahl
bcea260f33 Fix misc bugs related to the dynamic lightmap and polybsp lines in the lightmapper 2023-10-02 02:40:40 +02:00
Magnus Norddahl
ef0fb85103 Fix some image transition errors 2023-09-28 21:33:17 +02:00
Magnus Norddahl
6f4730d5ae Fix view index binding error 2023-09-22 11:31:50 +02:00
Magnus Norddahl
30db3feb5a Use a shader to copy the pixels as vkCmdCopyImage is very slow. Also gives us more flexibility in the future for composite lightmaps 2023-09-22 01:41:56 +02:00
Magnus Norddahl
bb7a33d7b1 Add bindless texture support 2023-09-19 23:58:17 +02:00
Magnus Norddahl
651b2ef9e3 Change lightmapper to only use one image 2023-09-15 18:07:37 +02:00
RaveYard
c05376c273 Fix variety of bugs and assume that any surface not contained in LIGHTMAP lump does not need updating 2023-09-13 21:58:11 +02:00
RaveYard
c6b92e1c1b Initial implementation for lightmap lump loading 2023-09-13 21:58:11 +02:00
Magnus Norddahl
bbdd886f23 Only recreate lightmap texture if its size changes 2023-09-04 14:47:55 +02:00
Magnus Norddahl
cff50b8087 Initialize lightmap texture in SetLevelMesh
Create VkLightmap class on VulkanRenderDevice
2023-09-01 00:03:18 +02:00
nashmuhandes
4aa6ac5585 Merge remote-tracking branch 'remotes/origin/gzd_staging' 2023-08-31 08:37:25 +08:00
Magnus Norddahl
370bf24d2c Fix crash when frame buffers are resized 2023-08-30 18:53:45 +02:00
RaveYard
97eaa46b69 Configurable sampling per custom texture in material shaders 2023-08-25 18:18:03 +02:00
nashmuhandes
9e0bf90be6 Merge remote-tracking branch 'remotes/ZDoom/gzdoom/staging' into gzd_staging 2023-08-22 09:09:51 +08:00
Cacodemon345
fe7beaaf17 Add support for HDR canvas textures
Vulkan only.
2023-08-12 06:46:05 -04:00
Magnus Norddahl
9067d7529d Make VkMaterial::GetDescriptorSet thread safe 2023-05-17 19:08:57 +02:00
Magnus Norddahl
753c5b1997 Split postprocess pipeline creation to its own files 2023-05-16 23:14:14 +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
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
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Magnus Norddahl
6137ea12d1 Fix typo 2022-07-25 18:50:16 +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
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
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
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
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
ba88303527 Move more code into the correct managers 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
8517c9713a Move descriptor sets from VkRenderPassManager into a new class called VkDescriptorSetManager 2022-06-22 07:55:19 +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
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
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