Robert Beckebans
5b98d387ce
Fixed compiling of the Vulkan backend
2022-03-06 10:26:37 +01:00
Robert Beckebans
d212e5b948
Merge remote-tracking branch 'SRSaunders/master'
2022-03-06 08:34:02 +01:00
Robert Beckebans
f1668b7db8
Stencil shadows work again (thanks to Stephen Pridham), Renderer Sync #395
2022-03-05 18:27:27 +01:00
Stephen Saunders
bd3c82c930
Align frame logic for Cinematic decoders (ffmpeg, Bink, RoQ), use correct shaders, fix bugs in RoQ looping and testVideo cmd
2022-03-02 20:49:26 -05:00
Stephen Saunders
69be2f1e05
Enabled RoQ & ffmpeg decoders in testVideo cmd, fixed RoQ looping with ffmpeg decoder
2022-02-26 18:51:01 -05:00
Robert Beckebans
c23709c2db
Formatted code with Astyle
2022-02-12 12:55:46 +01:00
Stephen Saunders
813767feea
Generalize handling of heap avoid flags in Vulkan and VMA Allocators
...
(cherry picked from commit 7c49b044d37ff65599470103d360b8d46045bfb5)
2022-02-01 14:38:59 -05:00
Stephen Saunders
6d41dae922
Add display of VK_MEMORY_HEAP_MULTI_INSTANCE_BIT to Vulkan_PrintHeapInfo console command
...
(cherry picked from commit 794d8e52c81448c09b537b4b9b9767d69dbfc563)
2022-02-01 01:18:27 -05:00
Stephen Saunders
552ada02d7
macOS Vulkan: Check and disable MoltenVK's use of Metal argument buffers for shader allocation scalability
...
(cherry picked from commit 939ab3b6396bd7196ce7f0c16cf59c83ebdc6a4e)
2022-01-30 12:41:12 -05:00
Stephen Saunders
96da1f3eed
Fix heap flags check in Vulkan Allocator and add heap flags check to VMA Allocator
...
(cherry picked from commit 488f8d27616570029de9429cf4794886f6d209e1)
2022-01-29 13:28:10 -05:00
Stephen Saunders
e4021513d1
Fixes for: Vulkan+BinkDec validation errors, BinkDec replay in PDAs, macOS Vulkan+BinkDec stall, VK_EXT_debug_utils handling, Vulkan gfxInfo on Windows & Linux, idVulkanAllocator::Free(), idCinematicLocal::GetStartTime(), ImGui timings for timedemo first pass
...
(cherry picked from commit 2a93ad2380374e1a327f7af4f8e71c27b2b51528)
2022-01-28 10:33:07 -05:00
Stephen Saunders
bf889b9631
Vulkan: Simplify Instance error checking, fix validation errors when using BINK decoder, check GPU's maxSamplerAnisotropy
...
(cherry picked from commit f0f7536e888e4a4b70a71510d5b61313aa4ebb6a)
2022-01-19 23:41:18 -05:00
Stephen Saunders
0c6e72be37
Improve Vulkan instance extension setup, add Vulkan instance and driver info to gfxInfo
...
(cherry picked from commit 631358eda14468bdc3f8dd5c0ed7998b8e0be0eb)
2022-01-19 23:40:45 -05:00
Stephen Saunders
1b865406c0
Add support for Apple GPUs (e.g. M1) and fill-in gfxInfo data for Vulkan renderer
...
(cherry picked from commit 22f38cef0bbc3997c24990b5ee0f16c05e10de53)
2022-01-07 01:27:45 -05:00
Robert Beckebans
79b28779b7
Astyle cleanup
2021-09-28 09:58:48 +02:00
Stephen Saunders
f75701a9ab
Fix overwrite of RC_DRAW_VIEW_3D timestamps by RC_DRAW_VIEW_GUI rendering pass
2021-09-22 17:40:11 -04:00
Stephen Saunders
c80d601276
Remove all X11_XCB platform-specific code from RBDoom3BFG
2021-07-30 14:08:44 -04:00
Stephen Saunders
d71eb2bf36
Disable X11_XCB dependencies for Linux and macOS
2021-07-29 00:10:13 -04:00
Robert Beckebans
fb8c744330
Astyle
2021-06-12 10:31:42 +02:00
Stephen Saunders
4c3a9ad3df
Use custom _aligned_alloc on macOS for better SDK and runtime portability
2021-06-11 11:12:49 -04:00
Robert Beckebans
6ee08ed8a4
Formatting
2021-06-03 12:27:40 +02:00
Stephen Saunders
2429e8bda0
Fix build on macOS for latest Vulkan SDK 1.2.176.1
2021-05-23 12:00:01 -04:00
Robert Beckebans
e466940b95
Write smaller EXR files using TinyEXR zip compression
2021-05-07 11:31:03 +02:00
Stephen Saunders
7918e9af5e
Fixed uint64_t print formatting in Allocator_VK.cpp
2021-05-05 12:33:53 -04:00
Robert Beckebans
8ae5bace37
Fixed building for Vulkan on Linux
2021-04-30 11:42:20 +02:00
Robert Beckebans
0964c02bcf
Ran Astyle
2021-04-29 15:20:45 +02:00
Stephen Saunders
0aae6f0902
macOS support for OpenGL and MoltenVK, demo recording/playback improvements
2021-04-19 14:32:52 -04:00
Robert Beckebans
39facaa1ac
Vulkan can handle FMT_R11G11B10F textures
2021-03-26 17:39:04 +01:00
Robert Beckebans
9fae3ccdb2
Vulkan backend compiles again
2021-03-26 13:35:05 +01:00
Robert Beckebans
30b88cc197
Ran Astyle
2021-03-15 21:16:11 +01:00
Robert Beckebans
381424f47b
Merge pull request #527 from infapi00/limit-staging-commands
...
Staging: add a limit of how many commands to stage
2021-03-15 21:14:04 +01:00
Alejandro Piñeiro
23f27816ad
Staging: add a limit of how many commands to stage
...
Although staging commands can be a good idea from performance pov, it
also means that we are increasing the size of the command buffer,
until the queue submission is set (in most drivers).
For example, when computing the Interactions, staged command buffers
can be easily greater that 15k. This could be a problem with
low-memory devices, like rpi4.
This patch adds a new variable to configure the maximum size of staged
commands. When that limit is reached a Flush is done (similar to the
existing limit on the UploadBufferSize).
2021-02-22 14:04:46 +01:00
Alejandro Piñeiro
8d9c71763d
Don't ask for depthClamp device feature
...
It is not used at all (VkPipelineRasterizationStateCreateInfo at
RenderProgs_VK.cpp sets it to false), so not asking for it would make
possible to support more drivers (for example, v3dv for the rpi4
doesn't support it).
2021-02-09 12:58:00 +01:00
Alejandro Piñeiro
a0f107ec4a
Make depthBounds optional for the Vulkan renderer
...
This is already the case for the OpenGL renderer. This feature is not
supported by all the Vulkan drivers. For example Mesa ANV with
Coffe-lake (that is relatively recent) or Mesa v3dv (Broadcom) used on
the rpi4.
2021-02-09 12:55:29 +01:00
Robert Beckebans
16631ad1c9
Fixed Vulkan validation layer query
2020-11-12 20:22:11 +01:00
Robert Beckebans
1115feefa7
Vulkan works again with newest SDK 1.2.154.1 on Windows
2020-11-12 10:16:56 +01:00
Robert Beckebans
c8af9c3b0e
Fixed savegame size problem with some user maps
2020-11-06 17:46:29 +01:00
Robert Beckebans
50eb5b4537
Moved generic ImGui drawing to idGuiModel::EmitImGui
2020-05-09 17:38:00 +02:00
Robert Beckebans
d3bc29d510
Added GPU timer queries for Vulkan
2020-05-05 01:21:29 +02:00
Robert Beckebans
14a331fadd
Made ImGui to work with the Vulkan builds
2020-05-04 17:22:51 +02:00
Robert Beckebans
faefaa4669
Updated idRenderLog to support RenderDoc and Nvidia's Nsight
2020-05-03 13:39:38 +02:00
Robert Beckebans
3f9b85d434
Fixed textureLod with Vulkan and tweaked IBL to use r_lightScale
2020-05-01 21:11:13 +02:00
Robert Beckebans
6037889a85
Implemented idRenderBackend::DBG_TestImage() for Vulkan
2020-05-01 16:52:48 +02:00
Robert Beckebans
fa7a512ba5
Fixed support of RG16F textures with Vulkan
2020-05-01 13:52:02 +02:00
Robert Beckebans
af701aea33
Vulkan works on Kubuntu 19.10, g++ and open source drivers for the AMD RX 580
2020-03-22 15:29:24 +01:00
Robert Beckebans
367d5af7a2
Fixed Windows build
2020-03-22 13:22:45 +01:00
Robert Beckebans
bcb61ce306
Applied Astyle
2020-03-22 12:23:52 +01:00
Eric Womer
596fbb18ca
RenderBackend.h:
...
* Renamed vkwindow to sdlWindow in struct vulkanContext_t to matche the rest of the struct naming conventions.
Image_VK.cpp:
* disabled printing "Vulkan Image alloc " to the terminal, flooding it
with data
RenderBackend_VK.cpp:
* Re-enabled r_vkEnableValidationLayers enabling/disabling Vulkan
validation checking, I had it hard-coded to true for testing reasons.
* static void DestroySwapChain():
* I don't know if the changes I introduced here are helping or not,
or even doing anything, so this part can be ignored or changed back.
* GL_StartFrame() and GL_BlockingSwapBuffers():
* VkResult for these two functions, vkAcquireNextImageKHR and
vkQueuePresentKHR, don't need to return VK_SUCCESS for the
application to be valid, so handle them differently here. There may
be others like this, but I don't know.
qvk.h:
* Since VK_USE_PLATFORM_* is defined in the CMakeLists.txt file, for
now anyways, use them to wrap the correct platform headers instead of
defining them here.
sdl_vkimp.cpp:
* Some debug printing changes, from GL to Vulkan, since this is for
the Vulkan API.
2020-01-01 14:31:28 -05:00
Eric Womer
ae07018a3c
Removed an inclusion guard as it is needed for Physical Device
...
extensions and not Instance extensions.
2019-12-30 15:39:41 -05:00
Eric Womer
e9ef21ce5c
SDL2/Vulkan on Linux, still broken for Doom3BFG
2019-12-30 15:20:15 -05:00