Commit graph

1,227 commits

Author SHA1 Message Date
nashmuhandes
07f722b6f3 Merge branch 'master' of https://github.com/ZDoom/gzdoom into GZDoomUpdate-12-07-2023 2023-07-12 20:51:41 +08:00
Magnus Norddahl
a7f4971d5d Add HWDrawContext so that multiple threads can maintain their own drawinfo without need for synchronization 2023-06-29 03:33:07 +02:00
Ricardo Luís Vaz Silva
71d4eb66f2 Clear Services Map during VM Shutdown 2023-06-28 20:19:43 +02:00
Ricardo Luís Vaz Silva
c6978c23ab Disable FName as a native parameter 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
49eae74272 assert that FName is a POD and as such is passed directly on registers, so that if it changes to be a non-pod, it won't silently break parameters 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
61d68eb2d6 Rewrite changed model rendering code, and change how model skins are handled 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
5b85557ddb add TArray::AppendFill for appending a single value multiple times 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
30e7b30c45 Simplify DirectNativeDesc, allow FName as a native parameter 2023-06-26 00:36:36 -04:00
Rachael Alexanderson
bc41356b35 - minor formatting fix 2023-06-19 04:38:35 -04:00
l2ksolkov
01dfcc7d95 Fix compilation on FreeBSD
Fixes #2073
Changes get_current_dir_name to functionally equivalent getcwd. Also moves "printf.h" to outside linux ifdef.
2023-06-19 04:31:18 -04:00
Christoph Oelckers
4538236a38 - cleaned i_music.h off external dependencies.
* take I_BuildMIDIMenuList out of it
* pass the command line state to disable music from the init call.
* don't declare internal 'nomusic' variable in the header.
2023-06-17 09:49:15 +02:00
Christoph Oelckers
89d8c7b4fe - minor cleanup of i_soundinternal.h. 2023-06-16 20:51:26 +02: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
40679294df - fixed some warnings. 2023-06-16 20:50:48 +02:00
alexey.lysiuk
3ddf72104b - added detection of macOS 14 2023-06-11 12:14:58 +03:00
alexey.lysiuk
170cc8d7ba - reduced string duplication in macOS detection 2023-06-11 12:14:35 +03:00
l2ksolkov
245dac814e Add missing include guards 2023-05-29 07:35:26 +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
Ricardo Luís Vaz Silva
9ca30826db Fix win32 mouse cursor permanently disappearing 2023-05-14 07:15:41 +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
1fe5b8e26f Remove IRenderQueue 2023-05-07 01:02:54 +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
ca5fae50d6 Improve vid_fps stats 2023-05-06 04:52:56 +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
Rachael Alexanderson
a5f0174e07 - addendum to previous commit: forgot one line 2023-04-30 10:50:14 -04:00
Rachael Alexanderson
e5fcb331df - remove vid_gpuswitch and all its handling; it is only as of now useful in old unsupported versions of Windows 7/8/10 which are no longer supported 2023-04-30 10:38:46 -04: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
ae443c78d4 There is no reason to default to poor stuttery performance 2023-04-27 11:22:11 +02:00
Magnus Norddahl
87c3be94d5 Adjust meshbuilder to vkdoom changes and make sure the drawinfo functions always allocate vertices from the output renderstate object 2023-04-26 04:22:07 +02:00
Magnus Norddahl
71a78f2baf Merge all sectors into one mesh 2023-04-26 01:09:06 +02:00
Magnus Norddahl
a5a0279fd2 Upload vertices to vertex buffers 2023-04-26 01:09:06 +02:00
Magnus Norddahl
26dcb77f5e Add support for drawing flats into the mesh cache 2023-04-26 01:09:05 +02:00
Magnus Norddahl
88595c7777 Only create a Mesh if anything was actually drawn 2023-04-26 01:09:05 +02:00
Magnus Norddahl
463315fec0 Fix misc state init issues 2023-04-26 01:09:05 +02:00
Magnus Norddahl
28ef69ca5a Add the most basic implementation of a Mesh drawer as technically possible :) 2023-04-26 01:09:05 +02:00
Magnus Norddahl
3fe8b6909b Add a basic renderstate->mesh builder class 2023-04-26 01:09:04 +02:00