Stephen Saunders
2a0341df5f
Enable shaderStorageImageReadWithoutFormat device feature for new SSAO compute shader
2023-02-19 02:25:16 -05:00
Stephen Saunders
82a39cd59a
Improve cvar name for r_vmaAllocateBufferMemory
2023-02-17 10:35:03 -05:00
Stephen Saunders
8c2cae0458
Define r_vmaUseForBufferMemory cvar to control if VMA is used for buffer memory allocation
2023-02-17 00:22:58 -05:00
Stephen Saunders
658521bd22
Fix PCH with VMA allocator for all platforms: Win32, Linux, macOS
2023-02-16 20:22:25 -05:00
Stephen Saunders
5a881847be
Simplify BufferObject_NVRHI logic for VMA, support *Buffer::Reference() for VMA buffer objects
2023-02-16 12:44:09 -05:00
Stephen Saunders
46fc1b8b7c
Add NVIDIA copyright notices to borrowed code in BufferObject_NVRHI.cpp and Image_NVRHI.cpp
2023-02-16 00:39:44 -05:00
Stephen Saunders
3029b80486
Fix posix pthread_yield and readdir_r deprecations on linux
2023-02-16 00:06:43 -05:00
Stephen Saunders
ea2982c445
Improve Vulkan SDK component detection (dxc & MoltenVK) using FindVulkan.cmake module
2023-02-15 23:36:18 -05:00
Stephen Saunders
8ac44895e1
Fix PCH build failures (on linux) when USE_VMA allocator option enabled
2023-02-15 23:00:50 -05:00
Stephen Saunders
86a6e486d5
Set NVRHI upload buffer size to avoid Vulkan staging buffer fragmentation
...
(cherry picked from commit 3a55e9701a6f4ad5297d41e3486aeb4075972383)
2023-02-14 01:11:43 -05:00
Stephen Saunders
73df924ee2
Add VulkanMemoryAllocator (vma) to the libs directory
2023-02-14 01:05:23 -05:00
Stephen Saunders
421160087d
Integrate the AMD Vma allocator for images and buffer objects
2023-02-13 19:06:41 -05:00
Robert Beckebans
a12db413fc
Added missing TAA pixeloffset to SSAO pass
2023-02-11 18:08:00 +01:00
Robert Beckebans
3e201f63be
Switched back to old projection matrix for less warping
2023-02-11 16:36:46 +01:00
Robert Beckebans
01c2db8bbd
Fixed pixelNormal in ssao_compute.cs.hlsl
2023-02-11 15:41:45 +01:00
Robert Beckebans
c4748f584f
Merge branch '649-donut-ssao'
2023-02-11 14:32:08 +01:00
Robert Beckebans
b4d2b03079
Removed old obsolete SSAO minify shader
2023-02-11 14:31:26 +01:00
Robert Beckebans
5de9dd9b68
Donut SSAO is kind of working
2023-02-11 14:24:59 +01:00
Robert Beckebans
2ca5a759c9
Merge branch '649-donut-ssao'
2023-02-08 09:24:39 +01:00
Robert Beckebans
9d45866a1a
Simplified old SSAO backend code
2023-02-08 09:24:23 +01:00
Robert Beckebans
1d1ad26adf
More SSAO experiments
2023-02-07 21:07:29 +01:00
Robert Beckebans
846cf265fb
Added code for debugging Donut's SSAO pass
2023-02-07 15:06:40 +01:00
Stephen Saunders
050c766f9d
Optimization: Skip ssao compute step for 2d gui overlay views
2023-02-04 01:08:46 -05:00
Stephen Saunders
0f869604c9
Run new ssao pass on 3d + 2d overlay views to avoid flickering, skip for 2d-only views
2023-02-03 17:20:25 -05:00
Stephen Saunders
c7ad3f2801
Add required render matrices to SsaoConstants and init them for render pass
2023-01-30 16:00:51 -05:00
Robert Beckebans
defe317c50
Applied MD3 crashfix by Daniel Gibson
2023-01-30 16:28:00 +01:00
Stephen Saunders
6d83ad0f8d
Include modelMatrix in new SSAO compute shader constant buffer
2023-01-29 23:38:40 -05:00
Stephen Saunders
866244ffdd
Fix AmbientOcclusion_blur.ps.hlsl shader for legacy r_ssaoFiltering option
2023-01-29 02:01:15 -05:00
Stephen Saunders
a466a7a4ad
Restore bounded array in mipmapgen.cs.hlsl for DXIL UAV binding
2023-01-25 21:08:25 -05:00
Stephen Saunders
8fe25bf987
Fix legacy SSAO for NVRHI Vulkan and enable SSAO compute shader alternative
2023-01-25 14:23:14 -05:00
Stephen Saunders
0c7f8be44e
Restore rm_precomp_header custom target for makefile / ninja command line builds
2023-01-25 12:42:42 -05:00
Stephen Saunders
ace8829cda
Fix ImGui include path handling to be consistent with other external libs
2023-01-25 12:27:32 -05:00
Robert Beckebans
dfcbcc2a0a
Ran astyle
2023-01-18 10:16:21 +01:00
Robert Beckebans
0a983d32ad
Merge remote-tracking branch 'SRSaunders/cinematic-updates'
2023-01-18 10:04:00 +01:00
Robert Beckebans
6f89d31d19
Applied astyle
2023-01-18 09:55:03 +01:00
Robert Beckebans
68144334b6
Reverted shader related changes in CMakeLists.txt
2023-01-18 09:54:36 +01:00
Robert Beckebans
7a4c56e105
Merge remote-tracking branch 'SRSaunders/basepath-sdl-fixes'
2023-01-18 09:48:04 +01:00
Stephen Saunders
d62e8a1e55
Disable precompiled headers for the Ninja Multi-Config generator on linux & macOS
2023-01-16 11:28:20 -05:00
Stephen Saunders
2565b1f58f
Generalize basepath search logic for single-config dev builds on linux/macOS when using make or ninja
2023-01-14 01:37:49 -05:00
Robert Beckebans
eb017e40c5
Cleanup
2023-01-13 14:43:09 +01:00
Stephen Saunders
c4a2f52fbf
Simplify precompiled.h.gch cleanup for linux/macOS using post-build custom command
2023-01-12 15:40:35 -05:00
Stephen Saunders
245d06c4d6
Comment out redundant Shaders source groups in main CMakeLists, already handled inside Shaders target
2023-01-12 15:31:18 -05:00
Stephen Saunders
2d1945044a
Create macOS app bundle for Xcode release / universal builds, add macOS app icon, update README
2023-01-12 14:46:36 -05:00
Stephen Saunders
502522826a
Minor consistency change for USE_VK define in DeviceManager.h
2023-01-09 13:41:23 -05:00
Stephen Saunders
26edabe752
Rename / update macOS cmake build scripts, update README to reflect new names
2023-01-08 00:30:02 -05:00
Stephen Saunders
5137637126
Filter SDL video modes same as on Win32, fix SDL window position drift when exiting fullscreen
2023-01-08 00:25:05 -05:00
Stephen Saunders
7485a123f6
Fix idParser::Directive_include() to properly handle full os path as fetched by idLexer::GetFileName()
2023-01-07 22:53:11 -05:00
Stephen Saunders
1c4883354b
Fix linux/macOS CreateOSPath() regression by eliminating path-relative references in fs_basepath
2023-01-07 22:44:42 -05:00
Stephen Saunders
1340adb820
Restore support for FFMPEG legacy channel_layout & channels fields, remove self-assignment in idSoundDecoder_Vorbis::Open()
...
(cherry picked from commit 22f9e5cc0e42a8d101f628df461ee7649acb3e01)
2022-12-26 12:20:50 -05:00
Stephen Saunders
21b021c3c0
Update FFMPEG deprecated calls to use supported ch_layout structure
...
(cherry picked from commit c6fca09b0e2e24735ca808e75e90f6d03e4d16e5)
2022-12-26 12:20:42 -05:00
Stephen Saunders
f1b0f2ec00
R_TestVideo_f command fixes and Cinematics startup fix for NVRHI (BinkDec green frame)
...
(cherry picked from commit 846fcf14c723391c6e6b311eaaeb31926b1e65d1)
2022-12-26 12:20:25 -05:00
Stephen Saunders
600f4de937
Merge branch 'master' of https://github.com/RobertBeckebans/RBDOOM-3-BFG into cinematic-updates
2022-12-26 12:18:55 -05:00
Stephen Saunders
e7b681a06e
Build-time perf improvement for PCH, c_str() fix in idCameraAnim::gltfLoadAnim()
2022-12-24 14:10:55 -05:00
Robert Beckebans
21947e8f08
Merge branch 'master' into 635-nvrhi5
2022-12-22 16:49:18 +01:00
Robert Beckebans
5eaa7801db
Merge fixes, default models scene remains Scene
2022-12-22 16:46:29 +01:00
HarrievG
defc18ddaa
[!] Fixed loading animations when the armatures option is not used..
2022-12-22 15:27:16 +01:00
HarrievG
0a48ec16d4
[!] Fixes loading animations from different GLTF files
...
[!] Fixes loading file exclusive skinned models when multiple scenes are present and scene with model is not the default scene.
2022-12-22 15:27:16 +01:00
HarrievG
8496f9bf30
[!] Fixes regenerating bMD5Anim from GLTF animation when source is newer than binary
2022-12-22 15:27:16 +01:00
HarrievG
e5ec631caf
[+] Allowing binding of asset library instances in gltf scenes.
2022-12-22 15:27:16 +01:00
HarrievG
1cd57dce1d
[!] dont crash when trying to load an animation from and GLB does not match last loaded model glb
2022-12-22 15:27:15 +01:00
HarrievG
0e42fbba93
[!] Root motion transfer fixes.
2022-12-22 15:27:15 +01:00
HarrievG
34d616b08c
GLTF model import improvements
...
- Added rename node option
- Added option for root motion transferal
- Fixed re-orient option parsing
- Fixed last(?) bug in orientation frame conversion
2022-12-22 15:27:15 +01:00
HarrievG
0829898cb4
[!] Fixed loading animated file exclusive models
...
[!] Fixed reloading of models with a commandline (anims: todo)
2022-12-22 15:27:15 +01:00
HarrievG
e97584642a
[!] Make missing joints on player model non-fatal
2022-12-22 15:27:15 +01:00
HarrievG
250c06bfc0
[!] Make checkmodelhierachy non-fatal
2022-12-22 15:27:14 +01:00
HarrievG
8c18d58c49
[+] Added -reorient option to gltf model import
2022-12-22 15:27:14 +01:00
HarrievG
0cf9dac1ef
A-Style
...
# Conflicts:
# neo/d3xp/Camera.cpp
# neo/d3xp/Camera.h
2022-12-22 15:27:14 +01:00
HarrievG
31d79dfd36
[~] idAssert -> assert
...
[+] addOrigin model import option
# Conflicts:
# neo/renderer/Model_gltf.cpp
2022-12-22 15:25:01 +01:00
HarrievG
bba7ddd665
[!] Merge error fixes
...
# Conflicts:
# neo/idlib/MapFile_gltf.cpp
# neo/renderer/Model_gltf.cpp
2022-12-22 15:22:30 +01:00
Robert Beckebans
407086a603
Astyle
2022-12-19 12:40:45 +01:00
Robert Beckebans
91a33de38e
Deleted obsolete cmake shortcut bash files
2022-12-19 12:39:35 +01:00
Stephen Saunders
308892db87
Change DeviceManager_VK Vulkan API calls to NVRHI API, fix vulkan dll unloading bug
2022-12-16 13:42:12 -05:00
Stephen Saunders
591d9d71a7
Clean up macOS cmake build scripts and handle macOS makefile build path within Sys_DefaultBasePath()
2022-12-14 12:50:05 -05:00
Stephen Saunders
cd2bb986c2
Handle macOS / linux differences for build path option within Sys_DefaultBasePath()
2022-12-14 01:30:48 -05:00
Stephen Saunders
7f37eccf61
Extend Sys_DefaultBasePath() to check IDE build path for linux and macOS
2022-12-13 21:28:26 -05:00
Stephen Saunders
55a9950dd8
Support USE_MoltenVK cmake option for macOS NVRHI builds, update xcode cmake scripts
2022-12-12 18:13:55 -05:00
Stephen Saunders
fbeb02df9c
Fix Vulkan descriptor set selection within bink and bink_gui shaders
2022-12-12 17:55:08 -05:00
Stephen Saunders
f41cc5e46a
Decouple FFMPEG / BINKDEC cmake options from x86-only SSE intrinsics, fix macOS-specific logic for intrinsics and PCH
2022-12-12 17:48:49 -05:00
Stephen Saunders
4dc2a8ca12
Fix compileshaders.cmake to reference USE_VULKAN, fix missing override warning in Model_local.h
2022-12-12 17:35:51 -05:00
Robert Beckebans
3f8bc0a568
Fixed FramebufferInfoEx in CommonPasses
2022-12-06 23:51:49 +01:00
Robert Beckebans
a94f67adaa
Point to latest RB/nvrhi/main
2022-12-06 23:43:56 +01:00
Robert Beckebans
22f10571e3
Fixed Win64 build. Renamed USE_NVRHI_VULKAN to USE_VULKAN
2022-12-06 23:28:48 +01:00
Robert Beckebans
e02f2f92c2
Removed obsolete glslang submodule
2022-11-22 18:49:25 +01:00
Robert Beckebans
432af457ca
Removed legacy GL/Vulkan backends from CMakeLists.txt
2022-11-22 18:47:31 +01:00
Robert Beckebans
632ad33f80
Write constant buffers if changed or layout changed
2022-11-20 15:42:48 +01:00
Robert Beckebans
c48346c551
Move nvrhi::Device->waitForIdle() back to GL_BlockingSwapBuffers()
2022-11-20 13:37:10 +01:00
Robert Beckebans
74c8a9f94e
Always write the constant buffer -> BAD but works
2022-11-20 13:34:46 +01:00
Stephen Pridham
a7f83bf631
Update the render state whenever the constant buffer is written to
2022-11-20 12:52:07 +01:00
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