Commit graph

65 commits

Author SHA1 Message Date
Magnus Norddahl
f550f5b05a Hook up bindless textures for gl_levelmesh 2023-12-26 04:30:55 +01:00
Magnus Norddahl
e713299410 Rename StreamData to SurfaceUniforms 2023-12-26 04:30:54 +01:00
Magnus Norddahl
e9620e64a4 Enable include directive and use the latest version of glsl, if available 2023-12-14 12:39:24 +01:00
Magnus Norddahl
dfae2a25b0 Add support for using #include in postprocess shaders 2023-12-14 12:28:11 +01:00
Magnus Norddahl
a76dfafbaa Fix misc bugs in the fogball implementation - it works now 2023-12-11 11:37:24 +01:00
dpjudas
81cdc402c9 Add code collecting fogballs from the visible scene 2023-12-11 11:34:14 +01:00
Magnus Norddahl
1d0fed0326 Add the shader math needed to draw fogballs 2023-12-11 11:28:55 +01:00
Magnus Norddahl
91ca6c39a3 Add support for loading older custom shaders 2023-12-07 12:19:19 +01:00
Magnus Norddahl
05e46e0cb4 Fix DrawLevelMesh bugs 2023-10-19 22:10:26 +02:00
Magnus Norddahl
fc65d43ae8 Add code that should draw the mesh 2023-10-19 22:09:26 +02:00
Magnus Norddahl
52ec71b05b Remove allowSSBO, useSSBO, glslversion, hwcaps and BuffersArePersistent as none of them apply to Vulkan 2023-10-19 21:31:12 +02:00
Magnus Norddahl
e75e5a387b Merge remote-tracking branch 'gzdoom/master' into merge-gzdoom 2023-10-19 21:05:17 +02:00
Christoph Oelckers
1717ff47b2 add GetChars() accessors to many FString uses where const char* is wanted.
By no means complete, it's just a start to get rid of that automatic type conversion operator.
2023-10-03 14:27:39 +02:00
Magnus Norddahl
757320c5bc Fix node buffers not working for the rayquery polyfill shader path
Rearrange how the upload code is done for the level mesh
2023-09-30 01:31:07 +02:00
Magnus Norddahl
45a2cbe081 Update zvulkan to latest version 2023-09-16 00:32:15 -04:00
Christoph Oelckers
ebb71cebf1 - put the entire filesystem code into a namespace and created some subdirectories. 2023-08-22 22:54:54 +02:00
Christoph Oelckers
2c2bf0265f - refactored all places which treated FileData as zero terminated. 2023-08-22 22:54:53 +02:00
Christoph Oelckers
4906d287cb - use std::vector<std::string> to pass the file list to InitMultipleFiles 2023-08-22 22:54:52 +02:00
Christoph Oelckers
eccbafc1bc - let FileData.GetString only return a const char pointer.
Not exposing the implementation will allow a lot more optimization in the backend and we also want to get rid of FString here.
2023-08-22 22:18:53 +02:00
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