0
0
Fork 0
mirror of https://github.com/id-Software/DOOM-3-BFG.git synced 2025-03-16 23:51:28 +00:00
Commit graph

79 commits

Author SHA1 Message Date
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 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
Eric Womer
7145d9b3f1 Compiling/Linking/Running, but no rendering, there is audio. glConfig as
a temp fix for the surfaces having a width and height of 0 since
renderSystem->getHeight()/getWidth() access
glConfig.nativeResolutionHeight/Width directly.
2019-12-29 17:05:33 -05:00
Eric Womer
528da79001 Merge branch 'kung' into vulkan-merge-2 2019-12-29 12:14:29 -05:00
Eric Womer
f1e650e2c4 Applying KungFuJesus's patch from
https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/398#issuecomment-569442019
2019-12-29 11:12:34 -05:00
Robert Beckebans
f6701427dd Added stencil zfail optimization aka Carmack's Reverse 2019-11-19 21:02:47 +01:00
Robert Beckebans
3632d200f9 Added anisotropic filtering to Vulkan backend 2019-11-19 20:16:58 +01:00
Robert Beckebans
e0a397e544 Added Git submodule glslang 7.10.2984 -> stable release Nov 15, 2018 2019-11-19 19:26:35 +01:00
Robert Beckebans
4a6af2d609 Applied new Astyle settings 2019-11-11 20:27:44 +01:00
Robert Beckebans
ab5b233e8e Fixed dynamic shadows on Vulkan. Enabled PBR GGX for interaction shaders 2019-11-11 20:07:33 +01:00
Robert Beckebans
57f502d167 Merged newest custom Vulkan allocator from vkDOOM3 2019-11-08 20:09:33 +01:00
Robert Beckebans
23414ee58d Merge vkDOOM3 stencil PSO creation 2019-11-08 18:12:37 +01:00