Fix arm64 building and X11 conflicts (#214)
This commit is contained in:
parent
0a0699f272
commit
b803da8a58
|
@ -13,3 +13,6 @@
|
||||||
[submodule "lib/lunasvg"]
|
[submodule "lib/lunasvg"]
|
||||||
path = lib/lunasvg
|
path = lib/lunasvg
|
||||||
url = https://github.com/sammycage/lunasvg
|
url = https://github.com/sammycage/lunasvg
|
||||||
|
[submodule "lib/sse2neon"]
|
||||||
|
path = lib/sse2neon
|
||||||
|
url = https://github.com/DLTcollab/sse2neon.git
|
||||||
|
|
|
@ -175,17 +175,25 @@ target_include_directories(Zelda64Recompiled PRIVATE
|
||||||
${CMAKE_SOURCE_DIR}/lib/rt64/src
|
${CMAKE_SOURCE_DIR}/lib/rt64/src
|
||||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/rhi
|
${CMAKE_SOURCE_DIR}/lib/rt64/src/rhi
|
||||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/render
|
${CMAKE_SOURCE_DIR}/lib/rt64/src/render
|
||||||
|
${CMAKE_SOURCE_DIR}/lib/sse2neon
|
||||||
${CMAKE_SOURCE_DIR}/lib/freetype-windows-binaries/include
|
${CMAKE_SOURCE_DIR}/lib/freetype-windows-binaries/include
|
||||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/contrib/nativefiledialog-extended/src/include
|
${CMAKE_SOURCE_DIR}/lib/rt64/src/contrib/nativefiledialog-extended/src/include
|
||||||
${CMAKE_BINARY_DIR}/shaders
|
${CMAKE_BINARY_DIR}/shaders
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(Zelda64Recompiled PRIVATE
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
|
||||||
-march=nehalem
|
target_compile_options(Zelda64Recompiled PRIVATE
|
||||||
-fno-strict-aliasing
|
-march=nehalem
|
||||||
-fms-extensions
|
-fno-strict-aliasing
|
||||||
)
|
-fms-extensions
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
target_compile_options(Zelda64Recompiled PRIVATE
|
||||||
|
-fno-strict-aliasing
|
||||||
|
-fms-extensions
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
|
@ -289,7 +297,19 @@ if (${WIN32})
|
||||||
set (DXC "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/x64/dxc.exe")
|
set (DXC "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/x64/dxc.exe")
|
||||||
add_compile_definitions(NOMINMAX)
|
add_compile_definitions(NOMINMAX)
|
||||||
else()
|
else()
|
||||||
set (DXC "LD_LIBRARY_PATH=${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/lib/x64" "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/x64/dxc")
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
|
||||||
|
if (APPLE)
|
||||||
|
set (DXC "DYLD_LIBRARY_PATH=${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/lib/x64" "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/x64/dxc")
|
||||||
|
else()
|
||||||
|
set (DXC "LD_LIBRARY_PATH=${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/lib/x64" "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/x64/dxc")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if (APPLE)
|
||||||
|
set (DXC "DYLD_LIBRARY_PATH=${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/lib/arm64" "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/arm64/dxc-macos")
|
||||||
|
else()
|
||||||
|
set (DXC "LD_LIBRARY_PATH=${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/lib/arm64" "${PROJECT_SOURCE_DIR}/lib/rt64/src/contrib/dxc/bin/arm64/dxc-linux")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
build_vertex_shader(Zelda64Recompiled "shaders/InterfaceVS.hlsl" "shaders/InterfaceVS.hlsl")
|
build_vertex_shader(Zelda64Recompiled "shaders/InterfaceVS.hlsl" "shaders/InterfaceVS.hlsl")
|
||||||
|
|
|
@ -20,14 +20,13 @@
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#define ARCHITECTURE_AMD64
|
#if defined(__x86_64__) || defined(_M_X64)
|
||||||
#define ARCHITECTURE_SUPPORTS_SSE4_1 1
|
#define ARCHITECTURE_SUPPORTS_SSE4_1 1
|
||||||
|
|
||||||
#if defined(ARCHITECTURE_AMD64)
|
|
||||||
#include <nmmintrin.h>
|
#include <nmmintrin.h>
|
||||||
using v128 = __m128i;
|
using v128 = __m128i;
|
||||||
#elif defined(ARCHITECTURE_ARM64)
|
#elif defined(__aarch64__) || defined(_M_ARM64)
|
||||||
#include <sse2neon.h>
|
#define ARCHITECTURE_SUPPORTS_SSE4_1 1
|
||||||
|
#include "sse2neon.h"
|
||||||
using v128 = __m128i;
|
using v128 = __m128i;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
2
lib/rt64
2
lib/rt64
|
@ -1 +1 @@
|
||||||
Subproject commit ecdd609c49fb5f10e3040335901d8860ef259f67
|
Subproject commit 1dd801264dbbf7a2f4e8fc483d28664852f50082
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 42c704755d3ec218ed9126a122f0a667beeb630a
|
Loading…
Reference in New Issue