From af701aea33398dc40e271900e697433a432a5f48 Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Sun, 22 Mar 2020 15:29:24 +0100 Subject: [PATCH] Vulkan works on Kubuntu 19.10, g++ and open source drivers for the AMD RX 580 --- README.md | 6 ++++-- neo/cmake-eclipse-mingw-debug.bat | 6 ------ neo/cmake-eclipse-mingw-release.bat | 6 ------ neo/cmake-linux-vulkan-debug.sh | 5 +++++ neo/cmake-linux-vulkan-release.sh | 5 +++++ neo/idlib/geometry/DrawVert.h | 2 +- neo/renderer/RenderSystem_init.cpp | 4 ++-- neo/renderer/Vulkan/vma.h | 2 +- neo/sys/sdl/sdl_vkimp.cpp | 2 +- 9 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 neo/cmake-eclipse-mingw-debug.bat delete mode 100644 neo/cmake-eclipse-mingw-release.bat create mode 100755 neo/cmake-linux-vulkan-debug.sh create mode 100755 neo/cmake-linux-vulkan-release.sh diff --git a/README.md b/README.md index b96ea5db..62a9d076 100644 --- a/README.md +++ b/README.md @@ -186,14 +186,16 @@ See docs/CODE_LICENSE_EXCEPTIONS.md for all parts of the code The parts that are This project's GitHub.net Git repository can be checked out through Git with the following instruction set: - > git clone https://github.com/RobertBeckebans/RBDOOM-3-BFG.git + > git clone --recursive https://github.com/RobertBeckebans/RBDOOM-3-BFG.git + +The paramter --recursive is only required if you want to build RBDOOM-3-BFG with Vulkan support. --- ## Compiling on Windows -1. Download and install the Visual C++ 2013 Express Edition. +1. Download and install the Visual Studio 2017 Community Edition. 2. Download the DirectX SDK (June 2010) here: (Only for Windows 7 builds) http://www.microsoft.com/en-us/download/details.aspx?id=6812 diff --git a/neo/cmake-eclipse-mingw-debug.bat b/neo/cmake-eclipse-mingw-debug.bat deleted file mode 100644 index 0e44ca2d..00000000 --- a/neo/cmake-eclipse-mingw-debug.bat +++ /dev/null @@ -1,6 +0,0 @@ -cd .. -del /s /q build -mkdir build -cd build -cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug ../neo -pause \ No newline at end of file diff --git a/neo/cmake-eclipse-mingw-release.bat b/neo/cmake-eclipse-mingw-release.bat deleted file mode 100644 index 04e2ad45..00000000 --- a/neo/cmake-eclipse-mingw-release.bat +++ /dev/null @@ -1,6 +0,0 @@ -cd .. -del /s /q build -mkdir build -cd build -cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ../neo -pause \ No newline at end of file diff --git a/neo/cmake-linux-vulkan-debug.sh b/neo/cmake-linux-vulkan-debug.sh new file mode 100755 index 00000000..8c444deb --- /dev/null +++ b/neo/cmake-linux-vulkan-debug.sh @@ -0,0 +1,5 @@ +cd .. +rm -rf build +mkdir build +cd build +cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DSDL2=ON -DUSE_VULKAN=ON -DSPIRV_SHADERC=OFF ../neo diff --git a/neo/cmake-linux-vulkan-release.sh b/neo/cmake-linux-vulkan-release.sh new file mode 100755 index 00000000..1b61b090 --- /dev/null +++ b/neo/cmake-linux-vulkan-release.sh @@ -0,0 +1,5 @@ +cd .. +rm -rf build +mkdir build +cd build +cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DSDL2=ON -DUSE_VULKAN=ON -DSPIRV_SHADERC=OFF ../neo diff --git a/neo/idlib/geometry/DrawVert.h b/neo/idlib/geometry/DrawVert.h index e6a0d746..5d51d9a6 100644 --- a/neo/idlib/geometry/DrawVert.h +++ b/neo/idlib/geometry/DrawVert.h @@ -122,7 +122,7 @@ class idDrawVert public: idVec3 xyz; // 12 bytes -private: +//private: // RB: don't let the old tools code mess with these values halfFloat_t st[2]; // 4 bytes byte normal[4]; // 4 bytes diff --git a/neo/renderer/RenderSystem_init.cpp b/neo/renderer/RenderSystem_init.cpp index 516e0bb3..21d89c39 100644 --- a/neo/renderer/RenderSystem_init.cpp +++ b/neo/renderer/RenderSystem_init.cpp @@ -238,7 +238,7 @@ idCVar r_useVirtualScreenResolution( "r_useVirtualScreenResolution", "1", CVAR_R // RB: shadow mapping parameters #if defined( USE_VULKAN ) - idCVar r_useShadowMapping( "r_useShadowMapping", "0", CVAR_RENDERER | CVAR_ROM | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" ); + idCVar r_useShadowMapping( "r_useShadowMapping", "0", CVAR_RENDERER | CVAR_ROM | CVAR_STATIC | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" ); #else idCVar r_useShadowMapping( "r_useShadowMapping", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" ); #endif @@ -261,7 +261,7 @@ idCVar r_shadowMapSunDepthBiasScale( "r_shadowMapSunDepthBiasScale", "0.999991", // RB: HDR parameters #if defined( USE_VULKAN ) - idCVar r_useHDR( "r_useHDR", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "use high dynamic range rendering" ); + idCVar r_useHDR( "r_useHDR", "0", CVAR_RENDERER | CVAR_ROM | CVAR_STATIC | CVAR_BOOL, "use high dynamic range rendering" ); #else idCVar r_useHDR( "r_useHDR", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "use high dynamic range rendering" ); #endif diff --git a/neo/renderer/Vulkan/vma.h b/neo/renderer/Vulkan/vma.h index be417b90..53adffba 100644 --- a/neo/renderer/Vulkan/vma.h +++ b/neo/renderer/Vulkan/vma.h @@ -1322,7 +1322,7 @@ public: { if( &rhs != this ) { - Resize( rhs.m_Count ); + resize( rhs.m_Count ); if( m_Count != 0 ) { memcpy( m_pArray, rhs.m_pArray, m_Count * sizeof( T ) ); diff --git a/neo/sys/sdl/sdl_vkimp.cpp b/neo/sys/sdl/sdl_vkimp.cpp index bc5b6ab4..11802f50 100644 --- a/neo/sys/sdl/sdl_vkimp.cpp +++ b/neo/sys/sdl/sdl_vkimp.cpp @@ -65,7 +65,7 @@ idCVar r_waylandcompat( "r_waylandcompat", "0", CVAR_SYSTEM | CVAR_NOCHEAT | CVA static bool grabbed = false; -vulkanContext_t vkcontext; // Eric: I added this to pass SDL_Window* window to the SDL_Vulkan_* methods that are used else were. +//vulkanContext_t vkcontext; // Eric: I added this to pass SDL_Window* window to the SDL_Vulkan_* methods that are used else were. static SDL_Window* window = nullptr;