Commit graph

1776 commits

Author SHA1 Message Date
Robert Beckebans
feffa4a4dd Replaced ternary operators in HLSL code. Fixes #803 2023-10-09 15:14:43 +02:00
Robert Beckebans
a51833e4ed Applied astyle 2023-07-14 11:35:37 +02:00
Robert Beckebans
047dd46d9e Merge remote-tracking branch 'SRSaunders/clang-warnings-fixes' 2023-07-14 11:30:13 +02:00
Robert Beckebans
e0e77ce6b3 Applied astyle 2023-07-14 09:45:35 +02:00
Robert Beckebans
33615ef541 Merge remote-tracking branch 'SRSaunders/optick-vulkan' 2023-07-14 09:44:55 +02:00
Robert Beckebans
3da97f0e3f Applied astyle 2023-07-14 08:46:32 +02:00
Robert Beckebans
330486ecdf Merge remote-tracking branch 'SRSaunders/swapchain-fixes' 2023-07-14 08:41:40 +02:00
Stephen Saunders
eaa5cf8ff4 Enable gnu extensions for Optick profiler when using gcc compiler, i.e. support ##__VA_ARGS__ 2023-07-06 11:21:07 -04:00
Stephen Saunders
37fd056c2d Fix type mismatches in Optick GPUProfiler::Stop() 2023-07-06 11:08:50 -04:00
Stephen Saunders
a99c11730e Fix system vs. bundled library logic, suppress gcc/clang warnings for some third party source libs (jpeg, zlib, minizip) 2023-06-26 15:39:13 -04:00
Stephen Saunders
eef8e1b329 Fix PCH for idlib when using gcc compiler on linux 2023-06-24 01:24:08 -04:00
Stephen Saunders
c0e6c7a5dd Fix MSVC warnings for RBDoom3BFG, suppress for some third party source libs (jpeg, png, oggvorbis) 2023-06-23 16:30:48 -04:00
Stephen Saunders
02eda6f1d1 In Optick Core::DumpProgressFormatted() use vsnprintf() vs. vsprintf() for non-MSVC compilers 2023-06-23 16:02:32 -04:00
Stephen Saunders
4f6f23e8ac Fix Sync timer for timedemo "twice" mode and remove unneeded timings in TimeRenderDemo() 2023-06-20 22:25:24 -04:00
Stephen Saunders
4110dc1f05 Remove unneeded references to com_smp cvar 2023-06-20 22:04:11 -04:00
Stephen Saunders
99d9868bd9 Update CMakeLists to add clang -Wno-shorten-64-to-32 flag to suppress flood of int conversion warnings 2023-06-20 14:37:46 -04:00
Stephen Saunders
a67a100f19 Update rapidjson lib to remove deprecated std::iterator template and replace with required iterator types 2023-06-20 13:30:47 -04:00
Stephen Saunders
16077c7cd6 Update jpeglib's format_message() error routine to use snprintf() for buffer security 2023-06-20 13:16:37 -04:00
Stephen Saunders
52dd6193bf Replace sprintf() / vsprintf() with idStr::snPrintf() / idStr::vsnPrintf() for buffer security 2023-06-20 12:24:24 -04:00
Stephen Saunders
5ff88fdfd0 Fix Doom Classic crashes on exit and/or quit 2023-06-15 15:13:52 -04:00
Stephen Saunders
078eb4e779 Fix SDL window vs. Vulkan swapchain extent errors, align SDL vs. Win32 window handling & error logic 2023-06-09 14:48:36 -04:00
Stephen Saunders
db79692287 Implement Vulkan eMailbox present mode option, perform runtime check for all present modes
(cherry picked from commit 268c057af1aaf59833c52744ee76465c697ebdac)
2023-06-06 11:43:50 -04:00
Stephen Saunders
9ab8c2a4da Init swapChainBufferCount to NUM_FRAME_DATA (all renderers) and clamp to Vulkan surfaceCaps 2023-06-06 11:42:22 -04:00
Stephen Saunders
444b25a1e8 Wait for Vulkan device idle in DestroyDeviceAndSwapChain() to avoid random crashes on exit 2023-06-01 00:53:02 -04:00
Stephen Saunders
8a915b88a4 Enable PCH in CMakeLists for Optick-enabled builds with non-MSVC compilers 2023-05-24 01:11:18 -04:00
Stephen Saunders
9ebe476f4f Remove unnecessary Vulkan cast for m_SwapChain when calling OPTICK_GPU_FLIP() 2023-05-23 14:45:34 -04:00
Robert Beckebans
387c10ee52 Fixed crash in Delta Labs Sector 3 with Vulkan on Linux (Radeon RX 6700) 2023-05-23 17:50:25 +02:00
Stephen Saunders
2b933df6da Enable VSync / Present queue frameID labeling for DX12 2023-05-23 08:24:40 -04:00
Stephen Saunders
22dc020401 Redo Optick D3D12 VSync / Present queue labeling using measured vs. calculated frame latency 2023-05-23 08:19:53 -04:00
Robert Beckebans
5cbca047e7 Merge remote-tracking branch 'SRSaunders/dx12-alt-enter-fix' 2023-05-22 18:36:26 +02:00
Robert Beckebans
1788b9c92f Bumped version to 1.5.1 2023-05-22 18:30:00 +02:00
Robert Beckebans
87bedde244 Fixed PSO creation error in Erebus 3 map. #770 2023-05-22 18:27:32 +02:00
Stephen Saunders
6bb8c1feeb Remove unneeded Vulkan extensions: VK_KHR_present_id + macOS-specifics 2023-05-13 10:22:52 -04:00
Stephen Saunders
cf7883f688 Replace std::llround() with (int64_t) cast in optic_gpu for linux compatibility (no C++23) 2023-05-13 10:07:47 -04:00
Stephen Saunders
2d46e47046 Disable DXGI automatic display mode switching for alt-enter borderless fullscreen 2023-05-12 14:43:07 -04:00
Stephen Saunders
be6088eee4 Extend Optick to support labeling of D3D12 VSync / Present queue with frame IDs 2023-05-12 03:04:06 -04:00
Stephen Saunders
0b510de3e9 Update RenderBackend to select OPTICK_GPU_CONTEXT graphics API at runtime 2023-05-12 03:01:11 -04:00
Stephen Saunders
7c4f41bfd5 Extend Optick GPUContextScope() with typeless prototype for runtime selection of graphics API 2023-05-12 02:40:05 -04:00
Stephen Saunders
6769126b14 Add Vulkan Present / VSync queue profiling if VK_GOOGLE_display_timing extension available 2023-05-04 22:51:30 -04:00
Stephen Saunders
85a9186c5b Add Optick profiler support for Vulkan Present / VSync queue via VK_GOOGLE_display_timing extension 2023-05-04 22:51:30 -04:00
Stephen Saunders
4ca70e0e17 Resolve Optick delayed GPU timestamps before dumping data on stop capture 2023-05-04 22:51:30 -04:00
Stephen Saunders
23e313cb6f Improve Optick Vulkan GPU profiler clock sync to reduce offset errors and drift 2023-05-04 22:51:30 -04:00
Stephen Saunders
18665e34a1 Fix Optick threadTLS nullptr check and OPTICK_SET_MEMORY_ALLOCATOR stub #define 2023-05-04 22:51:30 -04:00
Stephen Saunders
d9d721a73e Add Optick for Vulkan, remove need for USE_OPTICK_GPU, fix calls to OPTICK_SHUTDOWN() 2023-05-04 22:51:30 -04:00
HarrievG
ab7fefcadc - Added possibility to use Focal Length / FOV animation with GLTF Camera animations.
- Added blenderPy script which shows howto set lenscurves as a custom prop float array containing all evaluated fov values
- minor cleanup to gltfparser and gltfExtras.
- gltfExtra key value pairs can now contain a bracket enclosed string as value

# Conflicts:
#	neo/idlib/gltfProperties.h
2023-04-29 12:43:54 +02:00
Robert Beckebans
edb62c15d9 Never commit stuff before testing 2023-04-29 12:22:33 +02:00
HarrievG
03bbf9aaf4 -Fixed timestamp check while loading a camera animation from a gltf file
- Set gltfCamera fov to framefov during anim

# Conflicts:
#	neo/d3xp/Camera.cpp
2023-04-29 12:02:58 +02:00
Robert Beckebans
ad41a268b0 Fixed crash when executing extract_resources.cfg on Linux 2023-04-29 13:35:07 +02:00
Robert Beckebans
f07d8881b2 Find bone of selected armature if -transfermotion is given 2023-04-18 21:09:10 +02:00
Robert Beckebans
97c302f761 If -DSTANDALONE=ON option is set filesystem will look for content/ instead of base/ 2023-04-13 22:04:34 +02:00
Robert Beckebans
d5473c51f1 Added glTF2 import option -nomikktspace 2023-04-13 21:49:39 +02:00
Robert Beckebans
097995d21a Fixed crash and made the -rotate [yaw] glTF2 import option functional 2023-04-13 21:31:34 +02:00
Robert Beckebans
52acc84901 [glTF2] Fetch all skinned for selected rig 2023-04-12 18:43:26 +02:00
Robert Beckebans
d1d04d70da Fixed support for static glTF2 models 2023-04-12 14:09:21 +02:00
Robert Beckebans
9e927137c6 Use FindModelRoot() in idRenderModelGLTF::GetAnimBin() 2023-04-12 12:56:01 +02:00
Robert Beckebans
00b27d3141 Extended FindModelRoot logic 2023-04-10 17:17:28 +02:00
Robert Beckebans
c67a1b4379 Added glTF2 code comments 2023-04-09 20:51:01 +02:00
Robert Beckebans
f2739e4abc Fixed bone hierarchy when -addorigin is used 2023-04-09 20:41:18 +02:00
Robert Beckebans
114dbcd2c3 Some fixes to get the xaero.glb loading. Still broken 2023-04-09 17:24:52 +02:00
Robert Beckebans
0ca9d755a1 Fixed glTF2 root node lookup 2023-04-08 18:47:27 +02:00
HarrievG
cdce094518 gltf GetNode mesh* fix 2023-04-08 15:25:53 +02:00
HarrievG
a8703607d3 + bug fixes for animated gltf models
+ crude attempt to support translation animations on armature bone

# Conflicts:
#	neo/renderer/Model_gltf.cpp
2023-04-08 15:25:18 +02:00
Robert Beckebans
bc5b4d97e9 Made idRenderModelGLTF::rootID private 2023-04-08 15:17:07 +02:00
Robert Beckebans
d2115c1a07 Cleanup, indented comments 2023-04-06 15:44:07 +02:00
Robert Beckebans
033282f8d6 Avoid copy constructor in glTF library 2023-04-04 22:36:46 +02:00
HarrievG
41a0c9a310 - Fixed loading gltf models with multiple skinned meshes
- All skeletons wil now automatically use the armature node as root bone. In gltfs with a single armature you can name the armature "origin". You can also rename the armature node on import with -rename "armature" "origin".
2023-04-04 22:36:46 +02:00
Robert Beckebans
1d36dcf1a4 Removed glew and updated LICENSE_EXCEPTIONS with new third parties 2023-04-02 16:02:35 +02:00
Robert Beckebans
383d4b84c7 exportEntityDefsToBlender exports to _bl/entities.json 2023-04-02 15:42:14 +02:00
Robert Beckebans
75e6fe2a27 Prefer high performance GPUs in laptops with DX12 #746 2023-04-02 12:31:22 +02:00
Robert Beckebans
8c9f79b28f Applied Astyle 2023-03-31 12:28:41 +02:00
Stephen Saunders
7880773f1a Disable Win32 SC_MAXIMIZE for faster borderless fullscreen transitions 2023-03-31 11:54:44 +02:00
Stephen Saunders
acc3038933 Improve SDL desktop window position error handling and sdl_vkimp error reporting 2023-03-31 11:54:44 +02:00
Stephen Saunders
dafed51a79 Simplify VKimp_Init() and remove defunct cvars 2023-03-31 11:54:44 +02:00
Stephen Saunders
b427ec338c Support Borderless Fullscreen and Borderless Window modes for Win32 and SDL platforms 2023-03-31 11:54:44 +02:00
Robert Beckebans
33b54481d1 Little cleanup 2023-03-30 22:58:59 +02:00
Robert Beckebans
49dc6cee46 Reverted com_smp back to boolean 2023-03-30 19:30:33 +02:00
Robert Beckebans
aeb219589a Merge branch 'master' into vsync-fixes 2023-03-30 18:10:31 +02:00
Stephen Saunders
e8b76ee1ab Give each Vulkan swapchain image (vs frame) its own acquire/present semaphore 2023-03-30 01:07:43 -04:00
Robert Beckebans
a05d73ecef Removed unused cvar r_useHalfLambert 2023-03-29 21:20:19 +02:00
Stephen Saunders
3c4cdea02a Define r_mvkSynchronousQueueSubmits cvar to control MoltenVK's queue submit option 2023-03-28 12:15:41 -04:00
Stephen Saunders
59b4555bc9 Optimize macOS frame sync / fps by enabling MoltenVK asynchronous queue submission 2023-03-27 15:51:43 -04:00
Stephen Saunders
4207e22e10 Fix frame "Sync" timer calculation to handle Vulkan Vsync modes 2023-03-26 23:32:16 -04:00
Stephen Saunders
98a5d63cdc nvrhi sync option for DX12 supporting NUM_FRAME_DATA = 2 or 3 2023-03-24 13:15:00 -04:00
Stephen Saunders
5968997562 Fix Vulkan Vsync mode and handle NUM_FRAME_DATA = 2 or 3 2023-03-24 11:29:40 -04:00
Stephen Saunders
2faa15bab5 Fix Vsync mode switching to support all modes: 0 (off), 1 (smart), 2 (on) 2023-03-24 10:04:34 -04:00
Robert Beckebans
fd86362724 Show shadow atlas stats with com_showFPS 3 2023-03-18 14:44:59 +01:00
Robert Beckebans
518af4c257 Enable D3D12 Debug Layer with r_useValidationLayers 2 2023-03-17 19:01:41 +01:00
Robert Beckebans
9f305c2399 Removed stencil shadow volumes with additional fixes by icecoldduke 2023-03-16 20:49:30 +01:00
Robert Beckebans
a6d76a7104 Stencil shadows work but some flicker as bad as in RBDOOM 1.4.0 2023-03-15 12:36:43 +01:00
Robert Beckebans
1e29c5e15d Fixed r_useShadowAtlas 0 2023-03-14 23:55:37 +01:00
Robert Beckebans
d846b54e72 Fixed most stencil shadows related bugs. Still not working 2023-03-14 22:06:19 +01:00
Robert Beckebans
a5a6bf0e33 Format doomclassic with Astyle too 2023-03-14 10:33:41 +01:00
HarrievG
fd975a8f24 Fixed recursive mesh adding in findEntities for gltf scenes 2023-03-13 19:28:55 +01:00
Robert Beckebans
972a727f1e Changed animated glTF2 models to be cached like md5 so model overlays work on them 2023-03-13 19:25:30 +01:00
Robert Beckebans
d1c8425153 Store glTF2 source timestamp in .bglb binary cache file 2023-03-13 19:17:07 +01:00
Robert Beckebans
ef9b2e6504 Removed broken aviDemo code. External tools do a better job on this 2023-03-12 12:40:21 +01:00
Robert Beckebans
1c2380e285 Removed obsolete sdl_glimp.cpp 2023-03-11 12:49:44 +01:00
Robert Beckebans
e5519c5fc4 Removed many obsolete #if defined( USE_NVRHI ) 2023-03-10 19:25:56 +01:00
Robert Beckebans
a973403fd7 Removed OpenGL code from win_glimp.cpp 2023-03-10 19:02:59 +01:00
Robert Beckebans
95f9b4de4a Removed more obsolete Vulkan code 2023-03-10 18:49:32 +01:00