Commit graph

81 commits

Author SHA1 Message Date
dpjudas
a885833db2 Add more code to the shader 2024-09-15 04:12:19 +02:00
Magnus Norddahl
2778225048 Run the ZMinMax pass before the light tiles compute shader 2024-09-15 01:44:34 +02:00
Magnus Norddahl
521e2ed39c Run the light tiles compute shader 2024-09-14 04:59:39 +02:00
Magnus Norddahl
2ba2c24f6b Add shaders for light tiles 2024-09-13 20:45:36 +02:00
nashmuhandes
27058efe85 Rename "depth fade falloff" to "depth fade threshold" as it makes more sense 2024-09-09 17:06:04 +08:00
Magnus Norddahl
c62bb7a0f0 Add RenderState.SetDepthFadeFalloff 2024-09-08 20:32:30 +02:00
Dileep V. Reddy
8a5e7449c1 Consolidated isometric mode commits. 2024-08-11 15:55:21 +02:00
Magnus Norddahl
73ee25ad39 Remove the need for pipelines for each material layer count 2024-02-10 01:42:28 +01:00
Magnus Norddahl
e9e9081372 Shader backwards compatibility support 2024-01-21 14:40:04 +01:00
Magnus Norddahl
e7e89fce09 Make the vk_rayquery cvar a bit more robust 2024-01-21 14:25:08 +01:00
Magnus Norddahl
d181774e02 Fix shadows not working for non-rt render path 2024-01-17 13:27:30 +01:00
Magnus Norddahl
805bce1166 Merge remote-tracking branch 'gzdoom/master' 2024-01-10 04:03:35 +01:00
Christoph Oelckers
a020b8c2f5 do not compile the first shader in the shader manager's constructor
This was crashing with the move of the V_Init2 call. Instead do it when we first render something so that we can open the window without immediately making the full backend operational.
This was only working on GLES because it performs lazy shader compilation.
2024-01-05 16:55:11 +01:00
Magnus Norddahl
4ca2ffd58e Implement line portals and improve sky handling 2023-12-26 04:31:00 +01:00
dpjudas
57fe68c8a1 Draw depth pass and portal occlusion test 2023-12-26 04:30:57 +01:00
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
Christoph Oelckers
df3e82d94c cleaned up some redundant file reads and fixed file opening in the movie player.
As a streaming action this cannot borrow the one from the archive.
2023-12-14 17:22:31 +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