Magnus Norddahl
|
dba5399635
|
Add HWDrawContext so that multiple threads can maintain their own drawinfo without need for synchronization
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
0adb152913
|
Create a RenderState object for each thread
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
6739b079d0
|
Add support for submitting command buffers from worker threads
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
c06123e040
|
Make VkMaterial::GetDescriptorSet thread safe
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
6ba64b8e2f
|
Add thread safe render pass and pipeline creation and fetching
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
9f62679684
|
Move VkRSBuffers to new file
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
0bb6b2c298
|
Split postprocess pipeline creation to its own files
|
2023-09-25 21:19:06 +02:00 |
|
Magnus Norddahl
|
17f8027cc9
|
Create RenderState buffers for each thread
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
60fb2af02f
|
Remove FFlatVertexBuffer
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
8c4ddea735
|
Prepare FFlatVertexBuffer for removal
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
eb3878ad78
|
Remove IRenderQueue
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
c43cef96d1
|
Remove the reserved vbo_shadowdata so only hw_vertexbuffer still needs it
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
2c9a1cbab7
|
Fix offset bug when using more than 1024 lights in a scene
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
e4578a7626
|
Improve vid_fps stats
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
795c0d90de
|
Use a uniform buffer for the light list
|
2023-09-25 21:19:05 +02:00 |
|
Magnus Norddahl
|
bc2105eab9
|
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-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
fd3febaf7a
|
Don't use VkHardwareDataBuffer for internal backend buffers
|
2023-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
b413c80e49
|
Let the backend manage the shadowmap buffers
|
2023-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
930107636e
|
Move bone buffer to backend
|
2023-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
d24ffc021b
|
Manage the light buffer in the backend
|
2023-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
62a227621a
|
Manage viewpoint buffer internally in the backend
|
2023-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
309330d222
|
There is no reason to default to poor stuttery performance
|
2023-09-25 21:19:04 +02:00 |
|
Magnus Norddahl
|
e7610904dd
|
Adjust meshbuilder to vkdoom changes and make sure the drawinfo functions always allocate vertices from the output renderstate object
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
34470aa588
|
Merge all sectors into one mesh
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
1a64adf2be
|
Add gl_meshcache cvar for toggling it on and off
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
9365af7bfe
|
Upload vertices to vertex buffers
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
43cef43e9b
|
Add support for drawing flats into the mesh cache
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
0ee22ccd80
|
Test drawing all cached sectors every frame
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
bd762a17eb
|
Only create a Mesh if anything was actually drawn
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
31a861f343
|
Build a mesh cache for all sectors
|
2023-09-25 21:19:03 +02:00 |
|
Magnus Norddahl
|
528afe3ee3
|
Fix misc state init issues
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
fadda8146d
|
Add the most basic implementation of a Mesh drawer as technically possible :)
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
3cae271219
|
Adjust HWWall to allocate vertices from renderstate
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
4be3e2d53a
|
Add a basic renderstate->mesh builder class
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
b5e2de91a4
|
Add hint which of the uniforms are used by SetColor (maybe later move them to a secondary uniform block for independent updating)
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
367c1f8aaa
|
Remove mAlphaThreshold
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
5de7c1ee03
|
Remove mClipSplit
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
59c72e98a4
|
Remove mLightParms
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
f80807d26a
|
Remove unused uniforms and restrict push constants to only control offsets into buffers
|
2023-09-25 21:19:02 +02:00 |
|
Magnus Norddahl
|
6d3cb20699
|
Remove EPassType from VkShaderManager::Get and CompileNextShader() from VkShaderManager constructor
|
2023-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
f220577ca4
|
Change the options menu to follow a more logical modern layout
Remove the old simple menu as that only made things worse
|
2023-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
85f138841c
|
Only add the lightmode actually being used into the shader
|
2023-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
ca7e5be6b4
|
Remove virtual inheritance
|
2023-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
ae72639853
|
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-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
c22c9bea29
|
Remove dead code
|
2023-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
9caa966f6f
|
Add GetDevice function instead of accessing device member directly
|
2023-09-25 21:19:01 +02:00 |
|
Magnus Norddahl
|
3551e1e5e9
|
More folder adjustments
|
2023-09-25 21:19:00 +02:00 |
|
Magnus Norddahl
|
dd9feeea45
|
Change the folder structure of the vulkan backend to better reflect what is going on
|
2023-09-25 21:19:00 +02:00 |
|
Magnus Norddahl
|
6781b3215c
|
Fix null pointer crash when drawing sprites with a null actor
|
2023-09-25 21:19:00 +02:00 |
|
Magnus Norddahl
|
447932025f
|
Add support for gl_light_raytrace for cards that do not support rayquery
|
2023-09-25 21:19:00 +02:00 |
|