Geoffrey McRae
e810577317
[client] audio: initial addition of PipeWire audio support via SPICE
2021-12-26 11:09:42 +11:00
Geoffrey McRae
43545a4e17
[all] cmake: refuse to perform in-source builds
2021-12-15 10:56:27 +11:00
Quantum
ad4b40fad6
[client] opengl: add gl_dynprocs module
...
This is similar to egl_dynprocs, except for OpenGL functions.
2021-10-01 01:45:11 +10:00
Geoffrey McRae
e249106ddf
[client] app: remove dead code
2021-09-11 10:22:44 +10:00
Quantum
5a906131eb
[all] cmake: tell users to clone submodules when they haven't
...
This gives users a command to run that will automagically fix the submodule
situation, and should reduce the amount of support requests.
2021-08-19 21:28:36 +10:00
Quantum
2ff32b230e
[client] cmake: don't install cimgui.a into CMAKE_INSTALL_PREFIX
2021-08-16 20:02:43 +10:00
Quantum
2dbd4f168e
[all] cmake: provide an uninstall target
2021-08-16 19:56:37 +10:00
Geoffrey McRae
d2c36b8449
[client] overlay: add new configuration overlay [wip]
2021-08-04 10:27:47 +10:00
Quantum
edabd1bae7
[client] imgui: remove no longer used overlay_utils.cpp
2021-07-31 14:56:49 +10:00
arcnmx
3b37898eb2
[all] use cmake FindPkgConfig IMPORTED_TARGETs
2021-07-24 12:35:48 +10:00
arcnmx
aa2ea05af9
[client] removed unused GMP dependency
2021-07-24 12:35:48 +10:00
arcnmx
38cb348201
[all] make OPTIMIZE_FOR_NATIVE a tristate option
2021-07-24 12:35:17 +10:00
arcnmx
be664c49c8
[all] cmake: use -march=x86-64-v2 when it becomes available
...
Moves the logic in 0525515
to a common cmake include, and applies it to
the other binaries.
2021-07-24 12:35:17 +10:00
Quantum
f09738678e
[client] fonts: remove font rendering machinery
2021-07-23 20:18:12 +10:00
Quantum
be44249c05
[client] imgui: converted alerts to use imgui
2021-07-23 20:18:12 +10:00
Quantum
036f16b9ef
[client] imgui: convert help overlay to use imgui
2021-07-23 18:04:05 +10:00
Quantum
5d053128ac
[client] imgui: use improved high DPI rendering
...
This actually makes imgui render at a higher resolution, avoiding scaling
and resulting blurriness.
2021-07-23 16:07:42 +10:00
Quantum
56308fcbd1
[client] overlay: use utility function to get ImGui rectangle
2021-07-23 15:54:18 +10:00
Geoffrey McRae
fdbdf6f167
[client] app: implement new overlay rendering framework
...
This change set implements a framework for overlays to be registered
that make use of ImGui. See `overlay/fps` for a simple implementation
example.
2021-07-22 17:27:30 +10:00
Quantum
0cbc529640
[client] ds: refactor common EGL swap with damage logic
...
This commit creates a new utility library, eglutil.h, which contains code
to detect and use EGL_KHR_swap_buffers_with_damage or its EXT equivalent.
This logic used to be duplicated between the X11 and Wayland display servers,
which is not ideal.
2021-07-19 19:35:52 +10:00
Quantum
6695ca3f34
[client] ds: remove SDL display server
2021-07-18 10:34:41 +10:00
Quantum
39ec32b2ef
[client] cimgui: build as static library
2021-07-18 10:31:45 +10:00
Geoffrey McRae
f08163fd72
[client] imgui: added imgui to the client and OpenGL/EGL renderers
2021-07-17 21:09:51 +10:00
arcnmx
1345e92ec0
[client] install cmake target
2021-07-03 03:30:53 +10:00
Quantum
82e107af8a
[client] cmake: support building with libdecor
2021-03-15 10:54:35 +11:00
Quantum
fc7dd7dbb7
[common] cmake: correctly link static libbfd.a
...
When linking against libbfd.so, just passing libbfd.so to the compiler is
sufficient. When linking against the static version libbfd.a, however,
we must additionally link against libiberty.a and libz.a.
This commit adds a CMake helper to find the correct libraries that need
to be passed to link against libbfd correctly.
2021-03-03 16:37:34 +11:00
Quantum
c34fe10f23
[client] ds: make SDL display server optional
...
This commit also moved the SDL dependencies into the SDL backend so that
-DENABLE_SDL=NO builds do not link against SDL.
2021-02-26 10:28:51 +11:00
Quantum
46758efc8f
[client] cmake: build for nehalem when OPTIMIZE_FOR_NATIVE=NO
...
We need SSE intrinsics like _mm_stream_load_si128 which is only available
on CPUs of nehalem or newer.
2021-02-22 11:25:44 +11:00
Quantum
ecebcc4c35
[client] opengl: make ds functions optional
...
Using a macro ENABLE_OPENGL just like ENABLE_EGL to optionally remove
OpenGL implementation code. This is mostly because on Wayland it's just
a rehash of the EGL code (as EGL is the only way to create OpenGL
contexts on Wayland).
2021-02-21 10:31:48 +11:00
Geoffrey McRae
ca5c3938e4
[client] all: move all SDL specific code into displayservers/sdl
2021-02-21 10:31:48 +11:00
Geoffrey McRae
7ff5da4d62
[client] refactor keybinds out of main.c
2021-02-21 10:31:48 +11:00
Geoffrey McRae
bf583290a4
[client/common] restructure project in prep for full SDL removal
2021-02-21 10:31:46 +11:00
Geoffrey McRae
ab79dae0b8
[client] cmake: fix typo in cmake configuration
2021-01-20 15:33:10 +11:00
Geoffrey McRae
27a38294ea
[client] major restructure of platform specific code
2021-01-16 20:41:13 +11:00
Quantum
0495f5de26
[client] enable useful extra warnings
...
-Wno-sign-compare is used to suppress warnings related to comparing signed
values with unsigned ones. It's too pedantic.
-Wunused-parameter is also too pedantic, especially since all parameters
have to be named in C.
Otherwise, -Wextra lets us catch bugs, such as x < 0 for unsigned x.
On gcc, we pass -Wimplicit-fallthrough=2 so it will recognize our fall
through comment.
2021-01-15 08:06:56 +11:00
Tudor Brindus
5538a31f6b
[client] add support for compiling with UndefinedBehaviorSanitizer
2021-01-14 17:48:28 +11:00
Tudor Brindus
a205515d91
[client] clipboard/wayland: implement a no-op Wayland clipboard
...
Build scaffolding only; implementation in later commits.
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Quantum
ab96f77d9e
[client] wm/wayland: generate protocol files into the build dir
...
This avoids polluting the source tree.
2021-01-12 16:00:12 +11:00
Quantum
24a4de6d65
[client] wm/wayload: implement keyboard grabbing
2021-01-12 15:26:42 +11:00
Geoffrey McRae
b58176fcdb
[client] removed last remnents of the decoders & parsers
2021-01-12 12:42:06 +11:00
Tudor Brindus
a97332025c
[cmake] add option to build Wayland headers
2021-01-12 12:36:21 +11:00
Geoffrey McRae
76ed75f871
[client] spice: create and use platform agnostic grab/ungrab methods
2021-01-10 15:26:33 +11:00
Quantum
0b890ed1ac
[client] add support for compiling with AddressSanitizer
2021-01-10 13:42:58 +11:00
Geoffrey McRae
0bd5f0b2f1
[client/host] disable stack execution
2021-01-05 00:01:45 +11:00
Geoffrey McRae
a94d3734c2
[all] pass the project path to the version.cmake script
2020-10-09 02:51:28 +11:00
Geoffrey McRae
e6c88a4af3
[all] be smarter about getting the git version
2020-10-09 02:17:20 +11:00
Geoffrey McRae
0b7f422d5d
[client] moved spice into a seperate repository
2020-01-31 21:39:57 +11:00
Geoffrey McRae
406e22a681
[client] override new behaviour in SDL 2.0.15 and disable xinput2
...
xinput2 is used to get touch interface events with the side effect of
consuming MotionNotify events which we use because of SDL2's inability
to correctly track the window size. Since we are not that intertested in
touch for our usecase, we just turn the events off again.
2020-01-13 22:21:12 +11:00
Geoffrey McRae
2d755a45e0
[client] added support for LGMP
2020-01-09 20:32:42 +11:00
Jonathan (JJRcop) Rubenstein
491ffc3576
Fix client not building on void linux
...
Thanks to
SharkWipf#8539,
Aiber#4888,
and Hadet#6969 on the VFIO discord
2019-12-28 00:07:39 +11:00