mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-04-28 13:27:58 +03:00
Linux support. (#54)
* Initial Linux attempt. * Add clang toolchain & make tools compile. * vcpkg as submodule. * First implementation of IO rewrite. (#31) * Fix directory iteration resolving symlinks. * Refactor kernel objects to be lock-free. * Implement guest critical sections using std::atomic. * Make D3D12 support optional. (#33) * Make D3D12 support optional. * Update ShaderRecomp, fix macros. * Replace QueryPerformanceCounter. (#35) * Add Linux home path for GetUserPath(). (#36) * Cross-platform Sleep. (#37) * Add mmap implementations for virtual allocation. (#38) * Cross-platform TLS. (#34) * Cross-platform TLS. * Fix front() to back(), use Mutex. * Fix global variable namings. --------- Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> * Unicode support. (#39) * Replace CreateDirectoryA with Unicode version. * Cross platform thread implementation. (#41) * Cross-platform thread implementation. * Put set thread name calls behind a Win32 macro. * Cross-platform semaphore implementation. (#43) * xam: use SDL for keyboard input * Cross-platform atomic operations. (#44) * Cross-platform spin lock implementation. * Cross-platform reference counting. * Cross-platform event implementation. (#47) * Compiling and running on Linux. (#49) * Current work trying to get it to compile. * Update vcpkg.json baseline. * vcpkg, memory mapped file. * Bitscan forward. * Fix localtime_s. * FPS patches high res clock. * Rename Window to GameWindow. Fix guest pointers. * GetCurrentThreadID gone. * Code cache pointers, RenderWindow type. * Add Linux stubs. * Refactor Config. * Fix paths. * Add linux-release config. * FS fixes. * Fix Windows compilation errors & unicode converter crash. * Rename physical memory allocation functions to not clash with X11. * Fix NULL character being added on RtlMultiByteToUnicodeN. * Use std::exit. * Add protection to memory on Linux. * Convert majority of dependencies to submodules. (#48) * Convert majority of dependencies to submodules. * Don't compile header-only libraries. * Fix a few incorrect data types. * Fix config directory. * Unicode fixes & sizeof asserts. * Change the exit function to not call static destructors. * Fix files picker. * Add RelWithDebInfo preset for Linux. * Implement OS Restart on Linux. (#50) --------- Co-authored-by: Dario <dariosamo@gmail.com> * Update PowerRecomp. * Add Env Var detection for VCPKG_ROOT, add DLC detection. * Use error code version on DLC directory iterator. * Set D3D12MA::ALLOCATOR_FLAG_DONT_PREFER_SMALL_BUFFERS_COMMITTED flag. * Linux flatpak. (#51) * Add flatpak support. * Add game install directory override for flatpak. * Flatpak'ing. * Flatpak it some more. * We flat it, we pak it. * Flatpak'd. * The Marvelous Misadventures of Flatpak. * Attempt to change logic of NFD and show error. * Flattenpakken. * Use game install directory instead of current path. * Attempt to fix line endings. * Update io.github.hedge_dev.unleashedrecomp.json * Fix system time query implementation. * Add Present Wait to Vulkan to improve frame pacing and reduce latency. (#53) * Add present wait support to Vulkan. * Default to triple buffering if presentWait is supported. * Bracey fellas. * Update paths.h * SDL2 audio (again). (#52) * Implement SDL2 audio (again). * Call timeBeginPeriod/timeEndPeriod. * Replace miniaudio with SDL mixer. * Queue audio samples in a separate thread. * Enable CMake option override policy & fix compilation error. * Fix compilation error on Linux. * Fix but also trim shared strings. * Wayland support. (#55) * Make channel index a global variable in embedded player. * Fix SDL Audio selection for OGG on Flatpak. * Minor installer wizard fixes. * Fix compilation error. * Yield in model consumer and pipeline compiler threads. * Special case Sleep(0) to yield on Linux. * Add App Id hint. * Correct implementation for auto reset events. (#57) --------- Co-authored-by: Dario <dariosamo@gmail.com> Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
This commit is contained in:
parent
f547c7ca6d
commit
67633917bf
109 changed files with 3373 additions and 2850 deletions
19
thirdparty/CMakeLists.txt
vendored
19
thirdparty/CMakeLists.txt
vendored
|
@ -1,7 +1,22 @@
|
|||
cmake_policy(SET CMP0077 NEW)
|
||||
|
||||
set(MSDF_ATLAS_BUILD_STANDALONE OFF)
|
||||
set(MSDF_ATLAS_USE_SKIA OFF)
|
||||
set(MSDF_ATLAS_NO_ARTERY_FONT ON)
|
||||
set(MSDFGEN_DISABLE_PNG ON)
|
||||
|
||||
add_subdirectory(${SWA_THIRDPARTY_ROOT}/o1heap)
|
||||
add_subdirectory(${SWA_THIRDPARTY_ROOT}/msdf-atlas-gen)
|
||||
set(SDL2MIXER_DEPS_SHARED OFF)
|
||||
set(SDL2MIXER_VENDORED ON)
|
||||
set(SDL2MIXER_FLAC OFF)
|
||||
set(SDL2MIXER_MOD OFF)
|
||||
set(SDL2MIXER_MP3 OFF)
|
||||
set(SDL2MIXER_MIDI OFF)
|
||||
set(SDL2MIXER_OPUS OFF)
|
||||
set(SDL2MIXER_VORBIS "VORBISFILE")
|
||||
set(SDL2MIXER_WAVPACK OFF)
|
||||
|
||||
add_subdirectory("${SWA_THIRDPARTY_ROOT}/msdf-atlas-gen")
|
||||
add_subdirectory("${SWA_THIRDPARTY_ROOT}/nativefiledialog-extended")
|
||||
add_subdirectory("${SWA_THIRDPARTY_ROOT}/o1heap")
|
||||
add_subdirectory("${SWA_THIRDPARTY_ROOT}/SDL")
|
||||
add_subdirectory("${SWA_THIRDPARTY_ROOT}/SDL_mixer")
|
||||
|
|
1
thirdparty/D3D12MemoryAllocator
vendored
Submodule
1
thirdparty/D3D12MemoryAllocator
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit e00c4a7c85cf9c28c6f4a6cc75032736f416410f
|
1
thirdparty/SDL
vendored
Submodule
1
thirdparty/SDL
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 1edaad17218d67b567c149badce9ef0fc67f65fa
|
1
thirdparty/SDL_mixer
vendored
Submodule
1
thirdparty/SDL_mixer
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 437992692cf9300f2b2f04be35adc7445a9055bf
|
1
thirdparty/Vulkan-Headers
vendored
Submodule
1
thirdparty/Vulkan-Headers
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 14345dab231912ee9601136e96ca67a6e1f632e7
|
1
thirdparty/VulkanMemoryAllocator
vendored
Submodule
1
thirdparty/VulkanMemoryAllocator
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 1c35ba99ce775f8342d87a83a3f0f696f99c2a39
|
1
thirdparty/concurrentqueue
vendored
Submodule
1
thirdparty/concurrentqueue
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 6dd38b8a1dbaa7863aa907045f32308a56a6ff5d
|
1
thirdparty/imgui
vendored
Submodule
1
thirdparty/imgui
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 8199457a7d9e453f8d3d9cadc14683fb54a858b5
|
1
thirdparty/magic_enum
vendored
Submodule
1
thirdparty/magic_enum
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 1a1824df7ac798177a521eed952720681b0bf482
|
1
thirdparty/miniaudio
vendored
1
thirdparty/miniaudio
vendored
|
@ -1 +0,0 @@
|
|||
Subproject commit 12a8d4e4911c5ab4f4c089b4d039433975ed8a66
|
1
thirdparty/nativefiledialog-extended
vendored
Submodule
1
thirdparty/nativefiledialog-extended
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 388549a5badaa7cbd138f5f189f50c67d5bf060c
|
1
thirdparty/stb
vendored
Submodule
1
thirdparty/stb
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 5c205738c191bcb0abc65c4febfa9bd25ff35234
|
1
thirdparty/tiny-AES-c
vendored
Submodule
1
thirdparty/tiny-AES-c
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 23856752fbd139da0b8ca6e471a13d5bcc99a08d
|
1
thirdparty/unordered_dense
vendored
Submodule
1
thirdparty/unordered_dense
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit d911053e390816ecc5dedd5a9d6b4bb5ed92b4c9
|
1
thirdparty/vcpkg
vendored
Submodule
1
thirdparty/vcpkg
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit b322364f06308bdd24823f9d8f03fe0cc86fd46f
|
1
thirdparty/volk
vendored
Submodule
1
thirdparty/volk
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 447e21b5d92ed8d5271b0d39b071f938fcfa875f
|
Loading…
Add table
Add a link
Reference in a new issue