- Mar 05, 2020
-
-
Ludovico de Nittis authored
With this helper we are able to test if VA-API is available and usable. It tests the ability to gather the supported configuration profiles, then it creates two surfaces and perform a few simple rendering transformations. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 27, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
With this helper we are able to test if VDPAU is available and usable. It is a simple test that renders a 4x4 surface and checks that the output is what we expected. Exit code is 0 on success. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 09, 2020
-
-
Simon McVittie authored
It's slightly preferable to list linker and compiler flags in stack order, with the lowest in the stack first. This allows use of a higher-level library from a non-standard prefix without also necessarily picking up lower-level libraries from the same non-standard-prefix. For example, if /path/to/json-glib also includes a copy of GLib, then -L/path/to/glib -lglib-2.0 -L/path/to/json-glib -ljson-glib-1.0 will link the GLib from /path/to/glib, but -L/path/to/json-glib -ljson-glib-1.0 -L/path/to/glib -lglib-2.0 will link both the GLib and the json-glib from /path/to/json-glib. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 20, 2019
-
-
Jeremy Whiting authored
Just as with check-vulkan use --visible to see the triangle window otherwise application draws a few frames and reports any gl errors found or does exit 0 on success.
-
- Nov 15, 2019
-
-
Simon McVittie authored
This ensures that they can find the non-ubiquitous json-glib library, and the steam-runtime-tools library, even if relocated into a non-standard prefix like the LD_LIBRARY_PATH Steam Runtime. We can't just use a relative version of the standard library directory as our RPATH, because if we did that, we would load glibc from the same place. This causes crashes in pressure-vessel, where ld.so and the rest of glibc are often taken from the host system via /overrides/lib, and the glibc in /lib and /usr/lib is incompatible with ld.so. Instead, use a private library directory and populate it with relative symlinks to our non-glibc dependencies; we assume the host version of glibc is new enough that this is OK. Using DT_RPATH in preference to DT_RUNPATH means we take all our direct and indirect dependencies from the same place. This is important when libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in GIO as an indirect dependency of check-locale, which doesn't directly depend on GIO. The GIO library we get must match the versions of GLib and GObject we're using. This also bypasses LD_LIBRARY_PATH. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 13, 2019
-
-
Simon McVittie authored
This made them usable from outside the LD_LIBRARY_PATH runtime, but breaks their use inside a pressure-vessel container. In pressure-vessel, the glibc family of libraries are typically taken from outside the container (for example /overrides/lib/x86_64-linux-gnu/libc.so.6), and the dynamic linker ld.so is replaced with one that is suitable for the libraries in /overrides. In general, these versions will be incompatible with the ones in /usr/lib/x86_64-linux-gnu, which unfortunately are the ones that get pulled in via the DT_RPATH. This reverts commit 91478a07. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 11, 2019
-
-
Simon McVittie authored
This matters when invoked as a subproject, for example by pressure-vessel, in which case we don't get -I$(top_builddir). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Detected by g++ -Wshadow. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 08, 2019
-
-
Simon McVittie authored
This ensures that they can find the non-ubiquitous json-glib library, and the steam-runtime-tools library, even if relocated into a non-standard prefix like the LD_LIBRARY_PATH Steam Runtime. Using DT_RPATH in preference to DT_RUNPATH means we take all our direct and indirect dependencies from the same place. This is important when libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in GIO as an indirect dependency of check-locale, which doesn't directly depend on GIO. The GIO library we get must match the versions of GLib and GObject we're using. This also bypasses LD_LIBRARY_PATH. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
VkClearValue is a struct whose first member is a union whose first member is an array of four floats, so we need three levels of braces to initialize it. clang++ 8 warns for this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 05, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 01, 2019
-
-
Simon McVittie authored
We install them in /usr/libexec/steam-runtime-tools-0/shaders, not in /usr/libexec/steam-runtime-tools-0. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 31, 2019
-
-
Jeremy Whiting authored
Since we aren't using the debugCallback or other debugging bits in check-vulkan, remove them.
-
Simon McVittie authored
This is not used by the shared library, but can be useful for debugging. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes it easier to tell which version we are dealing with. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes it reject unrecognised command-line options, but very little else so far. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We explicitly disable -Wunused-parameter for C, but not for C++. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This avoids having to have precompiled SPIRV in the source tree. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Some libraries like "libtheoraenc.so.1" or "libCgGL.so" assumes that you have already linked to other libraries. With this commit we add support for those situations with the concept of "hidden dependencies". Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 29, 2019
-
-
Jeremy Whiting authored
%multiarch%-check-vulkan uses vulkan to draw a simple triangle in a 200x200 window (next commit will not draw the window) and reports any issues found. Exit code is 0 on success. shader.frag and shader.vert are shader source files compiled into shaders/frag.spv and shaders/vert.spv respectively by using glslc such as: glslc shader.frag -o shaders/frag.spv glslc shader.vert -o shaders/vert.spv Binary shaders included in commit because glslc hasn't been packaged for scout runtime yet. Also add libvulkan-dev and libxcb1-dev to ci dependencies.
-
- Aug 27, 2019
-
-
Simon McVittie authored
Some Steam games assume that the en_US.UTF-8 locale is available, and it's reasonably likely that others assume that the C.UTF-8 locale is available, or that the locale environment variables are set to usable values. Having checks for locale properties will also help us when experimenting with containers: we can check whether the locale that was set outside the container is available inside the container. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 21, 2019
-
-
Jeremy Whiting authored
Also remove references to GPL since helpers licensed as gpl are removed. Also remove bits about GPL 2 from debian copyright. Also remove unused gnome-session-check-accelerated-common.h file. Also remove no longer used dependencies from debian/control.
-
- Aug 12, 2019
-
-
Simon McVittie authored
If we don't know what symbols we're looking for, we need to print a comma to follow "path" and precede "dependencies". Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 06, 2019
-
-
Ludovico de Nittis authored
`-D_GNU_SOURCE` was required by a lot of components, so it's easier to set it by default for the entire project. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 29, 2019
-
-
Simon McVittie authored
Closes: #4 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 26, 2019
-
-
Simon McVittie authored
The Steam Runtime is built using dpkg/apt, so we have this information already for a lot of the shared libraries, for example in `/var/lib/dpkg/info/zlib1g:amd64.symbols` in a SDK container. For those that we don't, such as libcurl3, we can generate a deb-symbols(5) file by either improving the packaging, or using for example dpkg-gensymbols -q -v0 -plibcurl3 -e/usr/lib/x86_64-linux-gnu/libcurl.so.3 -I/dev/null -O (although the output of such commands will require some postprocessing and common sense to filter out private symbols that are not meant to be part of the ABI). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously, we would have accepted this as not a parse error, and then crashed with strcmp(NULL, ...) when we tried to use it. It obviously ought to mean the same thing as @Base, so treat it the same. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
There's no point in freeing the buffer every time: getline() is designed to reuse it. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We were relying on the fact that strsep(&line, ...) resets line to NULL when it reaches the end, which is not at all obvious. Swap the roles of the variables around. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
To test: echo "foo@Base" | ./_build/helpers/x86_64-linux-gnu-inspect-library libz.so.1 - This isn't used for anything yet, but when we give it more integration into the library, we might want to use a pipe to supply the list of symbols. For instance, if we use deb-symbols(5) symbols lists (which describe one or more shared libraries, each with their symbols) to describe the Steam Runtime, then we'll want something like this pseudocode: while lines remain: SONAME = next line until first whitespace run helper with pipes on stdin and stdout while next line starts with one of ('|', '*', ' '): if next line starts with ' ': symbol@version = rest of line until first whitespace write symbol@version to pipe else: ignore '* Field: value' or '| alternative dependency' close pipe to helper's stdin collect results from stdout collect exit status add SrtLibrary to list of libraries Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
This helper takes a SONAME as an argument, and optionally a filename for symbols, and outputs a parsable JSON with the path, the dependencies and the possible missing symbols of the requested library. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 16, 2019
-
-
Simon McVittie authored
I'm not deleting this because we expect to want it later. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is necessary to be able to compile on SteamRT 1 'scout'. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Jeremy Whiting authored
In order to check opengl and gles on linux desktop for multiple architectures build check-gl|gles] with architecture prefix. Modifications from upstream sources include: Removing kernel parameter checks for gnome.fallback, just run no need to check for fallbacks. Removing blacklisted renderer list support, no need for our use case. Removing dependency on gtk+ and gdk. Removing dependency on epoxy.
-
- Jun 27, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-