Commit graph

307 commits

Author SHA1 Message Date
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
18daf2c510 - update comment on SSBOs. 2023-04-21 00:41:21 +08: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
Magnus Norddahl
fd2ae4865c Merge tracelights 2023-04-05 23:14:25 +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
nashmuhandes
896102c179 Change more default settings
- Show item counter on automap
- Enable thicker automap lines and anti-aliased lines for better visibility with high res displays
- Enable textured automap
- HUD border scaling factor to better match default status bar scaling
- Enable subtitles
- Set render quality to "quality" to fix level mesh seams (gl_seamless)
- Enable mouse in menus by default (instead of touchscreen-like)
- Don't show ENDDOOM when quitting the app
- Enable the first crosshair, and set its scale slightly smaller
- Grow crosshair when picking up items
- Set autoaim slider to 0
- Show nametags when switching items and weapons
- Always run enabled
- Disable save/load confirmation dialog
- Enable quicksave rotation
- Enable additively-translucent Doom rocket explosion
- Increase default particles to 10k, and increase the slider to 65k (engine limit)
- Disable night vision effect
- Set sprite clipping to "Always" as this looks better than having sprites sink into the geometry
- Set particle style to round as it matches the pixelated aesthetics better
2023-03-19 04:35:27 +08:00
Magnus Norddahl
b417958f17 Remove old vk_raytrace cvar 2023-03-17 00:06:33 +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
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
df7d31968d Change various defaults 2023-03-16 22:56:21 +01:00
Magnus Norddahl
151b60c436 Remove OpenGL and OpenGL ES backends 2023-03-16 22:09:19 +01:00
Christoph Oelckers
087050c201 - use uniform buffers for dynamic lights everywhere.
Branching on SSBO content does not work that well on NVidia so it is better disabled.
So far only implemented for OpenGL - Vulkan needs more work.
2023-02-18 12:22:26 +01:00
Emile Belanger
c41b07531a Fixing GLES mode to work on real GLES hardware and OpenGL 2 again 2023-02-10 13:44:11 -05:00
Emile Belanger
c8bd2deb1e GLES: Fix first wipe 2023-01-29 20:03:05 +01:00
Christoph Oelckers
ec04a95929 - validate the buffer size in HWViewpointBuffer::Set2D.
This was causing crashes in Dragon Sector when writing past the buffer's end.
2023-01-27 18:25:13 +01:00
Christoph Oelckers
5b7826f68b - set lightblendmode to 0 when setting up a 2D viewpoint.
2D never uses dynamic lights so this should always be 0 - and eliminates another place in the backend referencing game data.
2023-01-15 09:21:01 +01:00
Christoph Oelckers
bafd6be342 - removed backend dependencies on game data. 2023-01-15 08:23:26 +01:00
Ricardo Luís Vaz Silva
1ebd4f0d41 Add Tonemap support for Unclamped lighting mode 2023-01-14 11:29:12 -05: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
7b864fd665 Add vulkan pipeline cache 2022-12-19 17:40:27 +01:00
Christoph Oelckers
941c0850ba - Backend update from Raze.
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Magnus Norddahl
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Emile Belanger
f41f393e91 GLES: Added IQM bone support. 2022-11-13 21:19:54 +01:00
Christoph Oelckers
d422737a7e - fixed statistics code to do proper checks for OpenGL's capabilities. 2022-11-06 23:29:29 +01:00
Magnus Norddahl
181eda0a83 Fix canvas textures getting clipped by wrong scissor box 2022-10-28 18:01:59 -04:00
Magnus Norddahl
1a1adc5c29 Fix vulkan backend clearing the canvas textures to undefined contents 2022-10-28 14:53:05 -04:00
Christoph Oelckers
7e0084f56b - Backend update from Raze. 2022-10-25 07:02:45 +02:00
Christoph Oelckers
671b8696bb - made CVar declarations type safe again. 2022-10-22 09:29:38 +02:00
Christoph Oelckers
453688ccc6 - reworked CVARs to not use a linked list and to be initialized manually.
This solves two problems:

* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Shiny Metagross
7972afc350 Revert "Before moving boneSelector from unsigned complete"
This reverts commit 8f2b8fa8789a5d4aff3890334e2f7368efa99572.
2022-10-19 22:48:57 +02:00