Commit graph

175 commits

Author SHA1 Message Date
RaveYard
651903fe71 WIP VkLightmap integration 2023-08-31 22:57:56 +02:00
Magnus Norddahl
1162a5017a Adjust names of variables for better readability 2023-08-31 03:11:24 +02:00
Magnus Norddahl
3750173eae Import ZDRay's GPURaytracer class as VkLightmap as the first step in letting the backend update them dynamically 2023-08-31 02:47:11 +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
nashmuhandes
07f722b6f3 Merge branch 'master' of https://github.com/ZDoom/gzdoom into GZDoomUpdate-12-07-2023 2023-07-12 20:51:41 +08:00
Christoph Oelckers
62b9243142 - made some changes to vectors.h so that it can be used without the floating point function replacements.
Using __has_include and providing fallback implementations.
2023-06-16 20:51:25 +02:00
Christoph Oelckers
acfe82b9a8 - Backend update from Raze. 2023-05-27 09:31:17 +02:00
Magnus Norddahl
7bdf3f7364 Create a RenderState object for each thread 2023-05-17 22:39:22 +02:00
Magnus Norddahl
83254204ff Add support for submitting command buffers from worker threads 2023-05-17 22:02:27 +02:00
Magnus Norddahl
9067d7529d Make VkMaterial::GetDescriptorSet thread safe 2023-05-17 19:08:57 +02:00
Magnus Norddahl
79d958f665 Add thread safe render pass and pipeline creation and fetching 2023-05-17 00:46:43 +02:00
Magnus Norddahl
4a0a4d2fb3 Move VkRSBuffers to new file 2023-05-16 23:51:00 +02:00
Magnus Norddahl
753c5b1997 Split postprocess pipeline creation to its own files 2023-05-16 23:14:14 +02:00
Magnus Norddahl
d74ee4088e Create RenderState buffers for each thread 2023-05-12 03:30:40 +02:00
Magnus Norddahl
1fd14f1140 Remove FFlatVertexBuffer 2023-05-08 23:12:14 +02:00
Magnus Norddahl
154cb2e967 Prepare FFlatVertexBuffer for removal 2023-05-07 03:19:43 +02:00
Magnus Norddahl
84c2980398 Remove the reserved vbo_shadowdata so only hw_vertexbuffer still needs it 2023-05-07 00:49:54 +02:00
Magnus Norddahl
f05fccb110 Fix offset bug when using more than 1024 lights in a scene 2023-05-06 06:14:15 +02:00
Magnus Norddahl
9203784ee0 Use a uniform buffer for the light list 2023-05-06 02:45:17 +02:00
Magnus Norddahl
eba0bee9f6 Change the matrix interface on RenderState so the backend doesn't have to try detect changes on each Apply
Include the texture matrix in the mesh builder
2023-05-06 00:34:42 +02:00
Magnus Norddahl
96ac7ba3f0 Don't use VkHardwareDataBuffer for internal backend buffers 2023-05-05 22:04:11 +02:00
Magnus Norddahl
1d8f406162 Let the backend manage the shadowmap buffers 2023-05-01 02:10:43 +02:00
Magnus Norddahl
d7a7953d10 Move bone buffer to backend 2023-04-30 04:49:06 +02:00
Magnus Norddahl
f2585a3b17 Manage the light buffer in the backend 2023-04-30 03:43:38 +02:00
Magnus Norddahl
aadb1c31b6 Manage viewpoint buffer internally in the backend 2023-04-30 02:32:04 +02:00
Magnus Norddahl
eef9b05f46 Remove mAlphaThreshold 2023-04-24 22:50:04 +02:00
Magnus Norddahl
02be512738 Remove mClipSplit 2023-04-24 22:45:19 +02:00
Magnus Norddahl
ac1a918989 Remove mLightParms 2023-04-24 22:41:07 +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
Christoph Oelckers
b8f5511ee4 - fixed several warnings emitted by Clang. 2023-04-21 00:41:19 +08:00
Magnus Norddahl
5c9ff283a6 Only add the lightmode actually being used into the shader 2023-04-19 02:28:32 +02:00
Magnus Norddahl
6381280177 Remove virtual inheritance 2023-04-16 21:49:05 +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
1b221db996 Remove dead code 2023-04-16 17:34:52 +02:00
Magnus Norddahl
184e73ab28 Add GetDevice function instead of accessing device member directly 2023-04-16 17:07:55 +02:00
Magnus Norddahl
cd35a0ad76 More folder adjustments 2023-04-16 16:51:52 +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
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
Christoph Oelckers
47b76180d6 - fixed several warnings emitted by Clang. 2023-03-26 08:48:54 +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