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
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
Christoph Oelckers
c598d9bab7
- Backend update from Raze.
...
* TArray extensions
* MSVC setup so that [[deprecated]] emits warnings.
2021-11-12 09:36:46 +01:00
Christoph Oelckers
eb69bbcae0
- replaced MIN/MAX in common code.
2021-10-30 10:46:17 +02:00
Magnus Norddahl
8e59ed754e
Fix vulkan validation errors for wrong image transitions and buffers used after destroyed
2021-10-29 22:38:18 +02:00
Magnus Norddahl
796890bb98
Limit texture upload transfer buffers to roughly 64 MB
2021-09-13 23:56:15 +02:00
Rachael Alexanderson
a2d3dbf74e
- Change VKHardwareTexture::CreateTexture to allow a null buffer to be passed. This is used by the software renderer to create an arbitrary texture for screen rendering.
2021-04-25 02:06:40 -04:00
Christoph Oelckers
ba146ed5e5
- Backend update from Raze
2021-04-19 12:58:35 +02:00
Magnus Norddahl
7e68223794
Add support for zero size buffers as the hwrenderer uses that!
...
Also add a sanity check on zero size textures just in case that ever happens!
2021-02-12 06:38:26 -05:00
Christoph Oelckers
ff62d7a8a3
- made sysCallbacks a value variable instead of a pointer to simplify the checks for it.
2020-10-03 16:47:47 +02:00
Christoph Oelckers
5ab648b055
- fixed texture sampler generation in the Vulkan backend.
2020-06-06 16:10:19 +02:00