| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This means that `shadertoy` & `texturator` might not be supported in a given build.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
|
| |
|
|
|
|
|
| |
Only wired up for shadertoy mode, other modes aren't likely to be
interesting.
|
| |
|
|
|
|
|
|
| |
Doesn't handle shadertoy shaders which use textures for inputs. That
probably wouldn't be straightforward without using the web API to fetch
and introspect the shader. But that sounds like a lot more work.
|
|
|
|
|
|
|
|
|
|
|
|
| |
EGLImage was added to core EGL in version 1.5, but was available as an
extension in 1.4 as EGLImageKHR, all of the rest of kmscube is EGL 1.4
compatible except this typedef. Allow kmscube to be EGL 1.4 compatible
again by checking for EGL 1.5 and if not available falling back to the
old typedef name.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|
|
|
|
|
|
|
|
| |
Instead of changing the code each time, allow the fourcc to be passed
in as an argument.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
|
|
|
|
|
|
|
|
| |
A utility for testing layouts of various types of textures in various
formats.
Not really too much related to kms or kmscube, other than re-using
kmscube's kms/gbm code and egl helper.
|
| |
|
|
|
|
|
| |
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes rendering issues with mode rgba on etnaviv. I have applied
the same change for nv12 variants but they are not supported on
etnaviv.
v1 -> v2:
- check if EGL_EXT_image_dma_buf_import_modifiers is supported
- use weak function trick for gbm_bo_get_modifier(..)
v2 -> v3:
- check if modifier != DRM_FORMAT_MOD_INVALID
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add weak function declaration and check if they're valid prior
to calling the functions.
This allows us to remove conditional compilation, yet allowing the
modifiers codepath to work if API is available.
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The GBM surface format has to match the DRM mode. Both are used in a
couple of places, so unify it so that it's only set in one place. Note
that the GBM and DRM formats are identical.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove some boilerplate and check more specifically for all the entry-
points that different modules need.
Ok, I guess it isn't likely for a driver to expose eglCreateImageKHR
but not eglDeleteImageKHR.. but otoh kmscube is useful for bringing
up drivers.
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Atomic does not let us have multiple requests in flight at once; if we
don't synchronise with the request completion on the CPU side, we can
get -EBUSY from the atomic commit.
We already have everything required to do this, namely the out-fence
from the last commit. Block on that with a CPU-side wait before we call
atomic commit, to make sure we'll never attempt to queue an atomic
commit before the previous one has completed.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|
|
|
|
|
| |
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uses gstreamer for a simple decoder. If decoder can give us dma-buf's
directly, we'll directly use that as a texture (zero copy), otherwise
memcpy into a buffer from gbm. This should work with both hw and sw
decoders.
Probably room for improvement. And the interface between gl and the
decoder is pretty simple so I suppose other decoders would be possible.
(But hopefully they could already be supported via gstreamer.)
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
|
|
|
|
| |
We would fall-back to eglGetDisplay() if EGL_EXT_platform_base is not
supported, but that still required at least compiling against recent EGL
headers.
|
|
|
|
|
|
|
|
|
| |
The define itself is sort of a hack for cases where one wants to static
link against extensions. Instead one should be calling
{egl,glX}GetProcAddress as clearly documented. Since our code is sane
enough to not depend on the static link, simply drop the quirky define.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The file is provided by the libdrm which knows about the location.
Since we already honour the Cflags provided by libdrm, any potential
build issues are most likely due to broken package shipped by the
distro.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
|
|
| |
Based mostly on original atomic conversion from Gustavo Padovan.
|
|
|
|
| |
Preping to add new atomic alternative path.
|
| |
|
| |
|
| |
|
|
|