Commit graph

1521 commits

Author SHA1 Message Date
Stephen Pridham
47d68fb6e0 Invalid binding set cache if either vertex data or joint data changes 2022-11-20 12:52:07 +01:00
Stephen Pridham
2ac23b0c9b Add back uniformsChanged = false 2022-11-20 12:52:07 +01:00
Stephen Pridham
8f190b85c2 Remove unused comment 2022-11-20 12:52:07 +01:00
Stephen Pridham
7a82dc1c9b Update NVRHI submodule 2022-11-20 12:52:07 +01:00
Stephen Pridham
726c4524e9 Update map buffer calls. Astyle 2022-11-20 12:52:07 +01:00
Stephen Pridham
4af1742b17 Astyle 2022-11-20 12:52:06 +01:00
Stephen Pridham
e3ede978d4 Update to make it easier to switch constant buffer usage 2022-11-20 12:52:06 +01:00
Stephen Pridham
47312f8997 Allow buffer ranges for constant buffers 2022-11-20 12:52:06 +01:00
Stephen Pridham
c1c0334bf2 Fix VK descriptor set slot for motionBlur shader 2022-11-20 12:52:06 +01:00
Robert Beckebans
3a3af32ddb Replaced std::min/max with Min/Max 2022-11-19 16:46:21 +01:00
Robert Beckebans
636e64a1f4 Astyle after merge conflicts 2022-11-18 16:58:08 +01:00
Robert Beckebans
37127cde0e Merge branch 'master' into 635-nvrhi4 2022-11-18 16:51:40 +01:00
Robert Beckebans
8a821c3a7a Astyle 2022-11-18 16:47:29 +01:00
Stephen Saunders
96347cab74 Minor defensive #ifdef change in sdl_vkimp for SetScreenParmsWindowed() - handle non-macOS / non-linux case 2022-11-18 10:30:08 -05:00
Stephen Saunders
afacd8014c Improve timer stats, get / set displayFrequency, implement Vulkan vsync mode 1, fix DX12 vsync mode 0 for fullscreen 2022-11-17 23:42:06 -05:00
Stephen Saunders
8d57d5399b Skip GL_BlockingSwapBuffers() sync during shutdown when in Doom 3 mode (com_smp = -1) 2022-11-14 23:38:55 -05:00
Stephen Saunders
7a7571f88a Fix window resize/fullscreen handling and make consistent between DX12 and Vulkan (Windows & SDL) 2022-11-11 21:51:31 -05:00
Robert Beckebans
f1d7f2ff9e Fixed compile errors 2022-11-11 17:34:38 +01:00
Robert Beckebans
ad78435446 Merge branch '721-gltf2-cameras' into 705-gltf2-import-options 2022-11-11 17:00:47 +01:00
Robert Beckebans
6689d60b74 Passed idImportOptions along the animations loader code 2022-11-11 16:59:36 +01:00
Robert Beckebans
0d5d947f17 Apply import options to glTF2 models 2022-11-11 16:59:36 +01:00
Robert Beckebans
6cbb205ece Hook idImportOptions into idRenderModel*::InitFromFile() 2022-11-11 16:59:36 +01:00
Robert Beckebans
81d70dc5d8 Parse idImportOptions for model declarations 2022-11-11 16:59:36 +01:00
Robert Beckebans
e499514fea Little cleanup of the glTF2 code 2022-11-11 16:59:35 +01:00
Robert Beckebans
891ba7478e Added idMat4::GetTranslation() and some comments 2022-11-11 16:58:19 +01:00
Robert Beckebans
9f50dbc9bc Astyle 2022-11-11 13:12:38 +01:00
HarrievG
389798ee4b [!] Corrected Spot light transforms
[+] Added support for GLTF cameras. useable with idCameraView and idAnimatedCamera
2022-11-11 13:11:21 +01:00
HarrievG
3d366ba386 [!] Fixed runtime reloading for gltf models
[!] Fixed timestamp check for static models
2022-11-11 13:11:21 +01:00
Stephen Saunders
f5745b4ab6 Support window resize and fullscreen changes on Windows and Linux without validation errors 2022-11-10 14:56:18 -05:00
Stephen Saunders
f6e5571d39 Support image depth/stencil format D32S8 when D24S8 not available (e.g. Vulkan on AMD GPUs) 2022-11-10 14:50:09 -05:00
Stephen Saunders
80c56e573d Fix compile errors: DeviceManager.h include path for DX12, sync2 structure initialization typo for Vulkan 2022-11-10 12:19:54 -05:00
Stephen Saunders
f756ef26c2 Move DeviceManager_<API>.cpp files to neo/sys directory for single stream common maintenance 2022-11-08 16:33:29 -05:00
Stephen Saunders
7703d4221d Vulkan timer query fixes, support in-game display mode / window size / vsync changes 2022-11-08 15:27:09 -05:00
Stephen Saunders
1adedfd3fc Vulkan volatile buffer and validation error fixes (sync2, fillModeNonSolid, MoltenVK imageViewFormatSwizzle) 2022-11-08 15:21:50 -05:00
Robert Beckebans
7fb6948777 Merge branch '635-nvrhi3-cleanexit' into 635-nvrhi3 2022-11-03 18:54:56 +01:00
Robert Beckebans
600e50ad50 Astyle 2022-11-03 18:54:38 +01:00
Robert Beckebans
e9284c3818 Use fixed size (-8 -8 0, 8 8 16) bounds for all model based entities for TB 2022-11-02 15:51:12 +01:00
Robert Beckebans
15a9d12661 exportFGD proxymodel fix 2022-11-02 11:44:38 +01:00
Robert Beckebans
1ee669c31f Merge branch 'master' into 635-nvrhi3 2022-10-29 19:09:30 +02:00
Robert Beckebans
3a877568e4 Support glTF2 vertex colors for static models 2022-10-29 19:08:12 +02:00
Robert Beckebans
b53271fc68 No need to set the rotation for the Blender lights 2022-10-29 18:25:56 +02:00
Robert Beckebans
7166b50501 Astyle 2022-10-29 17:42:09 +02:00
HarrievG
889f613610 [+] Ext_KHR_lights_punctual::Point support
[!] Fix for multple collections, entity names will be written out according to the full hierarchy.
2022-10-29 17:37:47 +02:00
Stephen Saunders
3d3658384d Cleanup references to nvrhi::IDevice on shutdown, otherwise device won't clean up properly on final exit 2022-10-28 17:50:48 -04:00
Stephen Saunders
9734df5f01 Fix NVRHI device shutdown for SDL and do additional resource cleanup on exit 2022-10-28 14:11:10 -04:00
Stephen Saunders
8219860378 Clean up NVRHI resources before Sys_Quit(), otherwise non-zero exit code (destructors too late) 2022-10-27 14:52:08 -04:00
HarrievG
2cf8d5c8f9 [+] Recursive entity/collection support for gltf maps
[+] KHR_lights_punctual spotlight support
2022-10-27 12:10:32 +02:00
HarrievG
9589ea300d [+] Inline support for gltf maps; add "inline" 0 property to an idStaticEntity or func_static to not inlude it in the map bsp. Defaults to 1 2022-10-27 12:10:32 +02:00
Robert Beckebans
98ed96adf4 LoadOgg fix 2022-10-27 12:09:47 +02:00
Robert Beckebans
dd69e30e40 Reenabled parallel shader compiling on Windows 2022-10-26 11:09:50 +02:00
Robert Beckebans
b3bab4de96 Merge branch 'master' into 635-nvrhi3 2022-10-26 10:59:41 +02:00
Robert Beckebans
822ff7d860 Astyle 2022-10-26 10:59:22 +02:00
Robert Beckebans
b12379e1af Merge branch '635-nvrhi3-sdl' into 635-nvrhi3 2022-10-25 20:55:54 +02:00
Robert Beckebans
bb79eae285 Turn off SSAO if Vulkan is active 2022-10-25 20:42:16 +02:00
Robert Beckebans
40aec4ca2e Turn off timer queries if Vulkan is active 2022-10-25 20:33:03 +02:00
Robert Beckebans
bdea96cc2a Astyle 2022-10-25 19:11:22 +02:00
Robert Beckebans
7ee1180d22 Build with NVRHI Vulkan by default 2022-10-25 19:10:47 +02:00
Robert Beckebans
b58f009369 LoadOgg fix 2022-10-25 19:02:34 +02:00
Stephen Saunders
9eef374819 Update DeviceManager_VK.cpp for Windows and SDL (linux + macOS) cross-platform portability 2022-10-23 23:31:12 -04:00
Richard Tollerton
bc8882b8a2 Cinematic.cpp: Revert removal of void from METHODDEF(void), etc.
In fd6c589d, all instances of (void) were replaced by (). However, the libjpeg
defines `METHODDEF`, `LOCAL`, `GLOBAL`, and `EXTERN` (see `jmorecfg.h`) are
occasionally used in code as if they are functions:

```
	METHODDEF(void)
	METHODDEF void
init_source( j_decompress_ptr cinfo )
```

fd6c589d therefore breaks these builds when `USE_NEWER_JPEG` is defined, because
several function definitions are missing return types.
2022-10-23 17:49:56 -05:00
Richard Tollerton
a7322c1131 Add various move constructors
Commit 93b8564b requires move constructors for many classes which do not
presently exist; they seem simple enough to add.

Fixes #708.
2022-10-23 17:49:54 -05:00
Stephen Saunders
2ffb89c80e Fix builtin/VR case sensitivity on linux, fix r_useValidationsLayers on macOS when USE_MoltenVK set 2022-10-23 08:45:53 -04:00
Stephen Saunders
86bcffdd00 Build / Source changes for NVRHI on SDL, source cleanup for clang C++17 std, initial macOS NVRHI implementation 2022-10-21 23:46:42 -04:00
Robert Beckebans
ddb2be02ff Merge branch 'master' into 635-nvrhi3 2022-10-20 17:08:08 +02:00
Robert Beckebans
9866e121ba Cleanup & Astyle 2022-10-20 16:40:11 +02:00
HarrievG
b1e198ce57 - fixed dmap crash while trying to merge leaf nodes 2022-10-20 16:28:40 +02:00
HarrievG
3702fb1dec - removal of backface genration in Aasbuild for polygonmeshes. 2022-10-20 16:28:40 +02:00
Robert Beckebans
73b70ce4ba Astyle 2022-10-19 18:26:14 +02:00
Robert Beckebans
0119d754b9
Merge pull request #659 from SRSaunders/vulkan211-fixes
Enable VK_KHR_portability_enumeration for macOS on Vulkan SDK 1.3.211.0 or later
2022-10-19 18:17:30 +02:00
Robert Beckebans
f11ae43dcf
Merge pull request #707 from SRSaunders/compiler-fixes
List.h fix and Doom Classic snprintf() fixes for modern clang and gcc compilers
2022-10-19 18:15:29 +02:00
Robert Beckebans
2a9d846dab
Merge pull request #699 from Admer456/better-idlist-perf
Thanks for the contribution :)
2022-10-19 18:14:19 +02:00
Stephen Saunders
4691a4cf01 Include STL <algorithm> in List.h to define std::copy() for clang 14+
(cherry picked from commit 2c36496af53d89a74cf3e9d7889a019c829afb48)
2022-10-18 14:24:05 -04:00
Robert Beckebans
fc42078ccf Fixed Linux compile issues. Closes #702 #703 2022-10-13 09:37:14 +02:00
HarrievG
67022836c4 ~ Fixed pose root root matrix correction.
- Removed single bone orientation hack
- removed unused code.
2022-10-11 20:48:03 +02:00
Robert Beckebans
e792a586a6 Merge branch 'master' into 635-nvrhi3 2022-10-01 14:22:37 +02:00
Robert Beckebans
f08657cb3f Fixed random Unknown punctuation error while loading a glTF2 model 2022-10-01 13:59:10 +02:00
Robert Beckebans
0991956693 Merge branch 'master' into 635-nvrhi3 2022-09-26 22:13:43 +02:00
Admer
93b8564b6e Add move semantics to idList and idStr
* idListArrayResize uses std::move
* idStr implements move constructor
* and move operator
* mpMap_t also implements a move operator
2022-09-26 20:54:27 +02:00
Robert Beckebans
e4ed5733fc Moved BSP visualization into separate dmap -asciiTree option 2022-09-26 13:32:42 +02:00
HarrievG
28730655a1 Fixed boneless TRS animations 2022-09-26 12:05:50 +02:00
HarrievG
d8f7b72d74 Fixed multiplication order for idRenderModelGLTF::ProcessNode_r 2022-09-26 11:52:49 +02:00
Robert Beckebans
0ede52ba72 Transform entity geometry for dmap -glview .obj output into world space 2022-09-26 11:51:41 +02:00
Robert Beckebans
d8aba3e850 Renormalize normals & tangents from dmap .glb import 2022-09-26 11:50:29 +02:00
Robert Beckebans
ace5c7e87f Merge branch 'master' into 635-nvrhi3 2022-09-26 10:18:23 +02:00
Robert Beckebans
0b677fe752 Fixed dmap .glb world+entity geom for the Y-Up case 2022-09-26 10:06:13 +02:00
Robert Beckebans
02941624f9 Repaired glTF2 animations for the Y-Up case 2022-09-26 00:31:47 +02:00
Robert Beckebans
64cd34412c Fixed math problem and transposed idMat4::ToMat3() 2022-09-26 00:30:20 +02:00
Robert Beckebans
c23a30003b Merge branch 'master' into 635-nvrhi3 2022-09-25 14:41:39 +02:00
Robert Beckebans
868fd1dce3 .glb models require the +Y-Up option to be turned off 2022-09-25 14:16:29 +02:00
Robert Beckebans
abff7d850c Merge branch 'master' into 635-nvrhi3 2022-09-25 13:48:54 +02:00
Robert Beckebans
111c554215 Merge branch '519-background-music' 2022-09-25 13:32:13 +02:00
Robert Beckebans
d36cbec34b Make sound files in base/music/* automatically loop 2022-09-25 13:31:56 +02:00
Robert Beckebans
379057ecaa Cleanup 2022-09-24 21:28:39 +02:00
Robert Beckebans
d3227eb2b0 Sub meshes for entities from Blender work but only without the Y-Up option 2022-09-24 21:06:30 +02:00
Robert Beckebans
03c1a91647 Attempt to use submodels with origin != 0 0 0 2022-09-24 20:13:48 +02:00
Robert Beckebans
cc169f9ba8 Merge branch 'master' into 635-nvrhi3 2022-09-23 19:26:13 +02:00
Robert Beckebans
a02f7dde13 Merge branch '694-nvrhi-vulkan-swapchain' into 635-nvrhi3 2022-09-23 19:21:26 +02:00
Robert Beckebans
283e94269f Removed obsolete HLSL shaders and changed Vulkan descriptor sets 2022-09-23 19:15:01 +02:00
Robert Beckebans
620a1616ed Made sure that struct VS_IN has the same signature for all idDrawVert shaders 2022-09-23 18:04:59 +02:00
Robert Beckebans
4c85798e67 Fixed rendering of the main menu with Vulkan 2022-09-23 09:39:48 +02:00