diff --git a/CMakeLists.txt b/CMakeLists.txt index fdccd03027..99323807a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,8 +115,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Binaries) if (WIN32) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Binary) - if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY /ARM64) + if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY /ARM64) endif() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) @@ -557,7 +557,12 @@ add_subdirectory(Externals/imgui) add_subdirectory(Externals/glslang) if(ENABLE_VULKAN) - add_definitions(-DUSE_VULKAN) + add_definitions(-DHAS_VULKAN) +endif() + +if(NOT WIN32 OR (NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64"))) + # OpenGL is available on all platforms except windows-arm64 + add_definitions(-DHAS_OPENGL) endif() find_package(pugixml) diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp index 690745f9c8..c4c26ed6a3 100644 --- a/Source/Core/VideoCommon/VideoBackendBase.cpp +++ b/Source/Core/VideoCommon/VideoBackendBase.cpp @@ -22,11 +22,6 @@ #include "Core/ConfigManager.h" #include "Core/Core.h" -// OpenGL is not available on Windows-on-ARM64 -#if !defined(_WIN32) || !defined(_M_ARM64) -#define HAS_OPENGL 1 -#endif - // TODO: ugly #ifdef _WIN32 #include "VideoBackends/D3D/VideoBackend.h" @@ -37,7 +32,9 @@ #include "VideoBackends/OGL/VideoBackend.h" #include "VideoBackends/Software/VideoBackend.h" #endif +#ifdef HAS_VULKAN #include "VideoBackends/Vulkan/VideoBackend.h" +#endif #include "VideoCommon/AsyncRequests.h" #include "VideoCommon/BPStructs.h" @@ -225,7 +222,7 @@ const std::vector>& VideoBackendBase::GetAvail backends.push_back(std::make_unique()); backends.push_back(std::make_unique()); #endif -#ifdef USE_VULKAN +#ifdef HAS_VULKAN backends.push_back(std::make_unique()); #endif #ifdef HAS_OPENGL diff --git a/Source/Core/VideoCommon/VideoCommon.vcxproj b/Source/Core/VideoCommon/VideoCommon.vcxproj index 53842ece7d..bd144ae0f6 100644 --- a/Source/Core/VideoCommon/VideoCommon.vcxproj +++ b/Source/Core/VideoCommon/VideoCommon.vcxproj @@ -15,6 +15,16 @@ + + + HAS_OPENGL;%(PreprocessorDefinitions) + + + + + HAS_VULKAN;%(PreprocessorDefinitions) + + @@ -191,4 +201,4 @@ - + \ No newline at end of file