Commit graph

83 commits

Author SHA1 Message Date
Joshua Ashton
30519fd9ec rendervulkan: Add NV12 capture blit infra
Performs blit + rgb -> nv12 in one.
2022-11-19 00:39:05 +00:00
Simon Ser
7b5a338e7e drm: remove connector type table
We can just rely on libdrm instead.
2022-11-04 12:48:18 +01:00
Simon Ser
343e286308 build: bump wayland-server dep version
Wayland global filtering requires 1.21 to work properly with
globals which are created and destroyed on-the-fly.
2022-09-10 00:06:44 +00:00
Simon Ser
c40c8aa482 build: bump libdrm dep version
We use drmGetDeviceFromDevId() now.
2022-09-01 17:58:48 +02:00
Joshua Ashton
c5269642a2 build: fix ci 2022-08-23 23:18:58 +00:00
Joshua Ashton
8d03522dcd subprojects: Bump libliftoff to support unsetting props 2022-08-11 08:46:24 +02:00
Georg Lehmann
9a2c4af585 fix shader generator 2022-05-26 23:11:25 +00:00
Eric
a515153a93 rendervulkan: Add support for NVIDIA image scaling 2022-05-18 01:41:01 +00:00
Georg Lehmann
7708d62801 rendervulkan: Layer 0 blur support. 2022-02-18 02:44:08 +00:00
Georg Lehmann
96acb9de7e rendervulkan: Fp16 easu. 2022-01-31 23:41:04 +00:00
Georg Lehmann
d0605bef22 rendervulkan: Add fsr shaders. 2022-01-31 23:41:04 +00:00
Simon Ser
c110515345 build: bump min meson version to 0.58.0
Fixes the following warning:

    ../meson.build:59: WARNING: Project targeting '>=0.55.0' but tried to use feature introduced in '0.58.0': Positional argument to dep.get_variable().
2022-01-31 14:39:34 +01:00
Simon Ser
429107e193 build: set check: false in run_command()
Fixes this warning:

    WARNING: You should add the boolean check kwarg to the run_command call.
             It currently defaults to false,
             but it will default to true in future releases of meson.
             See also: https://github.com/mesonbuild/meson/issues/9300
2022-01-31 14:38:12 +01:00
Tobias Jakobi
1f5c56ba6d build: link to librt since the pipewire code uses shm_open() 2022-01-28 21:19:15 +01:00
Georg Lehmann
83cf86bcc1 build: rebuild shaders when included files changed 2022-01-23 05:10:41 +00:00
Georg Lehmann
5bfc27576d build: preparations for more shaders 2022-01-23 05:10:41 +00:00
Joshua Ashton
905889bc39 build: Disable -Winvalid-offsetof
Clang gets annoyed when doing offsetof for wl_container_of on a
non POD structure -- but there's no virtual inheritance of anything
fancy going on so it should shut up.
2022-01-20 07:11:40 +00:00
Aleksei Bavshin
40b456ac56 Fix build without subprojects
In absence of subprojects meson has no reason to look for a C compiler.
But the protocol files require it to compile and thus the build would
fail with
```
meson.build:114:0: ERROR: No host machine compiler for "gamescope-xwayland-protocol.c"
```
Addres that by adding 'c' language to the project.
2022-01-11 15:31:33 +01:00
FlightlessMango
0b6d3607e4 mangoapp: frametime message queue
Co-Authored-By: Martin Roukala <martin.roukala@mupuf.org>
2022-01-11 00:09:33 +00:00
Simon Ser
8be45451d9 Introduce --generate-drm-mode 2021-11-20 16:01:39 -08:00
Simon Ser
93bd0e6740 build: bump min Meson version to 0.55.0
Otherwise we get this warning:

    WARNING: Project specifies a minimum meson_version '>=0.54.0' but uses features which were added in newer versions:
     * 0.55.0: {'Wrap files with patch_directory'}
2021-10-26 14:32:24 +02:00
Simon Ser
dd45be8eec build: check vulkan-headers dependency 2021-10-19 15:20:45 +02:00
Simon Ser
49da53db55 Implement a subset of input-method-unstable-v2
This allows a Wayland client to send arbitrary UTF-8 text to the
currently focused X11 client. Useful for virtual keyboards.

We generate a keymap on-the-fly suitable for the text to type.
2021-10-08 22:55:01 -07:00
Simon Ser
a5a31d46e3 Upgrade libliftoff 2021-09-30 11:22:40 +02:00
Simon Ser
0d8afd8e51 ci: turn on werror 2021-09-15 19:03:37 +02:00
Simon Ser
1cf749c43b build: ensure wlroots has been built with libinput support 2021-09-15 18:57:44 +02:00
Simon Ser
0687d241a1 build: simplify have_xwayland check 2021-09-15 18:55:39 +02:00
Simon Ser
033695da64 build: disable unused wlroots backends and renderers 2021-09-15 18:44:36 +02:00
Simon Ser
9593ef0bfe build: bump wlroots version requirement 2021-09-15 13:35:42 +02:00
Joshua Ashton
2cea675db0 meta: Use wrap file for STB rather than submodule
Allows us to use this as a Meson subproject which means that recursive cloning doesn't matter (Meson resolves it for subprojects).

Given this subproject doesn't have a meson file, doing subproject() on it would fail, so:
Make a wrap file with an overlay that declares a proper dependency.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-11 02:55:21 +02:00
Simon Ser
6557cdce18 build: specify explicit C++ edition 2021-09-10 10:50:41 +02:00
Simon Ser
ef64b60cec Add gamescope-pipewire protocol
Can be tested with:

https://git.sr.ht/~emersion/gamescope-pipewire-demo
2021-08-31 17:06:49 +02:00
Simon Ser
bb3d5a4edb pipewire: initialize stream 2021-08-31 17:06:49 +02:00
Simon Ser
a54b5c9ee0 Introduce basic logging module 2021-08-25 17:20:11 +02:00
Simon Ser
c9af23c750 drm: use drmIsKMS to detect KMS-capable devices 2021-07-20 21:20:34 +02:00
Simon Ser
f021460c90 build: lookup a native glslangValidator executable 2021-07-20 18:56:05 +02:00
Simon Ser
a691f08171 build: remove C from language list 2021-07-20 18:43:09 +02:00
Simon Ser
0c33a70f11 build: stop linking against math 2021-07-20 18:41:16 +02:00
Simon Ser
bfd02dc550 build: whitespace inconsistency fixes 2021-07-20 18:40:09 +02:00
Simon Ser
09980c11fd build: remove duplicate cc assignment 2021-07-20 18:38:24 +02:00
Simon Ser
cf395c765b build: use force_fallback_for
This allows users to more easily control how dependencies are
looked up. By default, a subproject is used, but users can pass
--force_fallback_for=[] to use system deps.
2021-07-20 18:33:51 +02:00
Simon Ser
17ba657dd6 build: cleanup source files indent 2021-07-20 18:25:36 +02:00
Simon Ser
b380f3fbf2 drm: allow to switch refresh rate at runtime
References: https://github.com/Plagman/gamescope/issues/206
2021-07-20 17:53:38 +02:00
Joshua Ashton
e818aec744 Move to combined samplers and rewrite composite shader in GLSL
Cleans up the composite shader significantly as well as it uses
arrays of descriptors/samplers now.

This all gets unrolled as the loop is spec-constant sized.
2021-05-01 16:50:51 -07:00
Simon Ser
6f8e25dc89 Add gamescope-xwayland protocol 2021-04-20 09:13:10 +02:00
Simon Ser
bee939e691 build: force-enable xwayland in wlroots subproject
This should give a better error message if xwayland deps are missing.
2021-04-10 10:23:24 +02:00
Simon Ser
e76d82828b build: update wlroots system dep version 2021-04-08 09:27:10 +02:00
Simon Ser
25a0a75811 build: simplify wlroots xwayland check 2021-04-08 09:26:17 +02:00
Sefa Eyeoglu
72c629638d fix: update libliftoff pkg-config dependency
emersion/libliftoff@470af77869 changed the
name of the pkg-config dependency to libliftoff
2021-02-25 14:59:02 +01:00
Simon Ser
70af2c38f0 Query window PID via XRes
References: https://github.com/Plagman/gamescope/issues/17
2021-02-12 22:16:04 +01:00