Commit Graph

268 Commits

Author SHA1 Message Date
kd-11
a60eab6e36 aarch64: Fix compilation for windows-on-arm 2024-09-04 07:49:49 +03:00
oltolm
7f30e52fda cmake: fix EGL and add USE_SYSTEM_CURL 2024-08-21 20:33:40 +03:00
kd-11
c7b2a21fcb Fix OpenGL behavior under wayland-egl 2024-08-12 04:55:26 +03:00
kd-11
f6b5511546 Improved wayland support 2024-08-04 02:59:03 +03:00
Megamouse
b76fd38854 Run platform sanity checks after creating the log and log windows path 2024-08-02 21:40:30 +02:00
oltolm
065a64371e improve CMake files
Signed-off-by: oltolm <oleg.tolmatcev@gmail.com>
2024-07-13 15:39:29 +02:00
Megamouse
eb8ab8ef15 implement mouse handler config 2024-05-21 23:35:35 +02:00
Florin9doi
ecedbc38ec Consolidate input products in a single place 2024-05-17 08:58:14 +02:00
Megamouse
b032f2dd87 gui/input: add gui input with native events 2024-02-22 19:31:00 +01:00
Megamouse
68f3df4975 input: implement raw_mouse_handler 2024-02-14 01:13:44 +01:00
Steveice10
3ef48cbdd5 rpcs3qt: Add macOS support to the updater. 2024-01-24 09:44:56 +01:00
Megamouse
0bb5974ab6 input: try to add tony hawk RIDE Skateboard 2023-09-05 20:41:39 +02:00
oltolm
01a05502e8 cmake: replace add_compile_definitions with target_compile_definitions 2023-08-15 20:56:39 +02:00
oltolm
a01a7a44cd qt6: fix mingw-w64 build 2023-08-15 20:56:39 +02:00
Megamouse
d119cf6e96 Qt6 port 2023-07-31 20:03:24 +03:00
oltolm
0c94606fcf
Make compile with msvc, clang and gcc on Windows 2023-07-11 21:40:30 +03:00
Margen67
5bb89328d0 Remove whitespace 2023-02-15 08:58:02 +01:00
Megamouse
18b7955384 SDL handler 2022-12-13 11:56:48 +01:00
Nicolas Adenis-Lamarre
2805fe0a06 evdev gun support
supports guns via evdev. multiple guns.
extra buttons are configurable (guns can be configured for that).

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2022-11-30 19:38:42 +01:00
Jeff Guo
cefc37a553
PPU LLVM arm64+macOS port (#12115)
* BufferUtils: use naive function pointer on Apple arm64

Use naive function pointer on Apple arm64 because ASLR breaks asmjit.
See BufferUtils.cpp comment for explanation on why this happens and how
to fix if you want to use asmjit.

* build-macos: fix source maps for Mac

Tell Qt not to strip debug symbols when we're in debug or relwithdebinfo
modes.

* LLVM PPU: fix aarch64 on macOS

Force MachO on macOS to fix LLVM being unable to patch relocations
during codegen. Adds Aarch64 NEON intrinsics for x86 intrinsics used by
PPUTranslator/Recompiler.

* virtual memory: use 16k pages on aarch64 macOS

Temporary hack to get things working by using 16k pages instead of 4k
pages in VM emulation.

* PPU/SPU: fix NEON intrinsics and compilation for arm64 macOS

Fixes some intrinsics usage and patches usages of asmjit to properly
emit absolute jmps so ASLR doesn't cause out of bounds rel jumps. Also
patches the SPU recompiler to properly work on arm64 by telling LLVM to
target arm64.

* virtual memory: fix W^X toggles on macOS aarch64

Fixes W^X on macOS aarch64 by setting all JIT mmap'd regions to default
to RW mode. For both SPU and PPU execution threads, when initialization
finishes we toggle to RX mode. This exploits Apple's per-thread setting
for RW/RX to let us be technically compliant with the OS's W^X
    enforcement while not needing to actually separate the memory
    allocated for code/data.

* PPU: implement aarch64 specific functions

Implements ppu_gateway for arm64 and patches LLVM initialization to use
the correct triple. Adds some fixes for macOS W^X JIT restrictions when
entering/exiting JITed code.

* PPU: Mark rpcs3 calls as non-tail

Strictly speaking, rpcs3 JIT -> C++ calls are not tail calls. If you
call a function inside e.g. an L2 syscall, it will clobber LR on arm64
and subtly break returns in emulated code. Only JIT -> JIT "calls"
should be tail.

* macOS/arm64: compatibility fixes

* vm: patch virtual memory for arm64 macOS

Tag mmap calls with MAP_JIT to allow W^X on macOS. Fix mmap calls to
existing mmap'd addresses that were tagged with MAP_JIT on macOS. Fix
memory unmapping on 16K page machines with a hack to mark "unmapped"
pages as RW.

* PPU: remove wrong comment

* PPU: fix a merge regression

* vm: remove 16k page hacks

* PPU: formatting fixes

* PPU: fix arm64 null function assembly

* ppu: clean up arch-specific instructions
2022-06-14 15:28:38 +03:00
RipleyTom
2010d697c8 feat: add boot test menu entry 2022-06-03 01:15:54 +02:00
C.W. Betts
39201e5042 Fix macdeployqt.
This is based off of the instructions found here: https://riptutorial.com/qt/example/24133/integrating-with-cmake
2022-03-18 13:19:36 +01:00
陈俊嘉
20cc2d7267 Add multi-config generator build support for Windows. 2022-01-02 23:59:54 +01:00
orbea
59f253ba24 cmake: Use GNUInstalldirs 2021-11-22 21:45:55 +01:00
Megamouse
aff7d8a994 Qt: fix QSvg deployment 2021-10-28 23:54:56 +02:00
陈俊嘉
42e3add6a1
BUILD: a couple of cmake msvc compile fixes (#10799)
* cmake: a couple of msvc compile fixes

Throw error when using multi-config generators.
Add USE_MSVC_STATIC_CRT option for statically linking with CRT.
Set curl's CURL_STATIC_CRT aligned with USE_MSVC_STATIC_CRT.
Fix cmake configs of 7z and OpenAL in msvc build.
Remove unecessary hard coded compiling and linking flags.
Use debug option in windeployqt when configuring for a debug build.
Search for windeployqt tool in configure time.
Add vcpkg's Qt support.

* Fix some typos
2021-09-11 23:55:53 +02:00
Justin Lewis
ae491f04a1
Fixes build issue with LLVM on Windows with cmake (#10776)
LLVM fails to build on Windows with C++ 20 standard.  When building LLVM
on Windows, we use C++ 14 already.  This commit changes the c++ standard
to be picked by each subdirectory rather than the standard being picked
by the root level cmake file.
2021-08-31 11:07:49 +01:00
Lctrs
0042f4e16e metainfo: move away from deprecated appdata 2021-05-19 19:55:58 +03:00
p01arst0rm
35ee550171 changed discord-rpc to discordRPC 2021-05-04 01:27:41 +02:00
David Carlier
0b9e4ffe54 Mac OS build update and simplification, recent releases of macOS has clock_gettime support. 2021-04-24 12:55:21 +03:00
p01arst0rm
e9d785475e removed redundant cmake version check 2021-04-20 21:38:47 +03:00
p01arst0rm
bcfae17219 unified missmatched indentation in CMake files 2021-04-20 21:38:47 +03:00
p01arst0rm
b812ef2771 removed space between and its opening parentheses 2021-04-19 08:59:28 +03:00
Timothy Redaelli
826dc7d5a6 Fix linking with system curl 2021-03-04 12:22:19 +03:00
Megamouse
b9a4abce0e DS4: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Nekotekina
25827c12a3 Make out of source builds get copy of /GuiConfigs/, /git/, etc.
Reduce quality of kot-bg.jpg.
2021-02-06 12:55:14 +03:00
Luke Barr
cb8ef46ec7
Initial DualSense Support (#9308)
* Initial DualSense Support

* Add Vibration Support

* Add CRC32 Validation to Incoming Bluetooth Packets
Cleanup report sizes

* Consistency, remove button comments, add two buttons.

Co-authored-by: Ani <ani-leo@outlook.com>
2020-12-13 00:00:45 +01:00
RipleyTom
9e14d240a8 Implement ethernet address determination 2020-10-16 22:53:48 +03:00
RipleyTom
190822c2b2
RPCN Client (#8663) 2020-08-27 20:47:04 +01:00
scribam
20f53e65eb cmake: Add support for target_precompiled_headers if available 2020-04-14 23:00:51 +03:00
scribam
a2bf0719ea
cmake: Fix windeployqt command line for release builds (#7871) 2020-03-27 00:33:07 +00:00
Nekotekina
491526b421 Add option USE_COTIRE=ON (by default)
Precompiled headers cause rebuild problems with ninja, for example.
2020-02-10 14:47:12 +03:00
linkmauve
e9c5c6e6bf Move input to its own directory (#7126) 2019-12-22 17:39:42 +01:00
kd-11
fff1007d9a cmake: Fix vulkan on X11 2019-12-20 16:57:01 +03:00
Emmanuel Gil Peyrot
e30173a835 rsx: Make X11 optional on Linux
This makes it possible to build rpcs3 on a pure Wayland system, without
the Xlib installed.
2019-12-20 10:48:03 +00:00
scribam
f29709105f cmake: Add post-build commands for Windows 2019-11-25 23:08:37 +03:00
Alex James
3ad743ecaa Add option for preventing display sleep (#5783)
Adds support for preventing the display from sleeping while a game is
running. Supports Windows, Linux (with the org.freedesktop.ScreenSaver
D-Bus service), and macOS.
2019-10-12 15:40:47 +03:00
Megamouse
503d43889d rename rpcs3_app to headless_application 2019-08-14 23:54:09 +02:00
Nekotekina
f63e89f9b4 Implement waitable atomics
Moved Atomic.h to util/atomic.hpp
List source files in CMakeLists.txt
2019-07-29 03:04:55 +03:00
RipleyTom
f2aaad11bb Adds libusb 2019-03-18 19:05:02 +03:00