mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 18:20:44 +00:00
f2af65ee2d
A context can create a GLsync object that can be waited on in order to ensure that GL resources created in one context are able to be used in another shared context without any chance of reading invalid data. This meta would be placed on buffers that are known to cross from one context to another. The receiving element would then wait on the sync object to ensure that the data to be used is complete.
172 lines
4.8 KiB
Makefile
172 lines
4.8 KiB
Makefile
|
|
lib_LTLIBRARIES = libgstgl-@GST_API_VERSION@.la
|
|
|
|
SUBDIRS = glprototypes
|
|
DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl
|
|
|
|
noinst_HEADERS =
|
|
|
|
built_sys_header_configure = gstglconfig.h
|
|
|
|
libgstgl_@GST_API_VERSION@_la_SOURCES = \
|
|
gstgldisplay.c \
|
|
gstglcontext.c \
|
|
gstglmemory.c \
|
|
gstglbufferpool.c \
|
|
gstglfilter.c \
|
|
gstglshader.c \
|
|
gstglshadervariables.c \
|
|
gstglcolorconvert.c \
|
|
gstgldownload.c \
|
|
gstglupload.c \
|
|
gstgluploadmeta.c \
|
|
gstglwindow.c \
|
|
gstglapi.c \
|
|
gstglfeature.c \
|
|
gstglutils.c \
|
|
gstglframebuffer.c \
|
|
gstglsyncmeta.c
|
|
|
|
libgstgl_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl
|
|
libgstgl_@GST_API_VERSION@include_HEADERS = \
|
|
gstglwindow.h \
|
|
gstgldisplay.h \
|
|
gstglcontext.h \
|
|
gstglmemory.h \
|
|
gstglbufferpool.h \
|
|
gstglfilter.h \
|
|
gstglshadervariables.h \
|
|
gstglshader.h \
|
|
gstglcolorconvert.h \
|
|
gstgldownload.h \
|
|
gstgluploadmeta.h \
|
|
gstglupload.h \
|
|
gstglapi.h \
|
|
gstglfeature.h \
|
|
gstglutils.h \
|
|
gstglframebuffer.h \
|
|
gstglsyncmeta.h \
|
|
gstgl_fwd.h \
|
|
gl.h
|
|
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD = \
|
|
$(GMODULE_NO_EXPORT_LIBS) \
|
|
$(GST_PLUGINS_BASE_LIBS) \
|
|
-lgstvideo-$(GST_API_VERSION) \
|
|
$(GST_BASE_LIBS) \
|
|
$(GST_LIBS) \
|
|
$(GL_LIBS)
|
|
|
|
if HAVE_WINDOW_WIN32
|
|
SUBDIRS += win32
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += win32/libgstgl-win32.la
|
|
endif
|
|
|
|
if HAVE_WINDOW_COCOA
|
|
SUBDIRS += cocoa
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += cocoa/libgstgl-cocoa.la
|
|
endif
|
|
|
|
if HAVE_WINDOW_X11
|
|
SUBDIRS += x11
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += x11/libgstgl-x11.la
|
|
endif
|
|
|
|
if HAVE_WINDOW_WAYLAND
|
|
SUBDIRS += wayland
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += wayland/libgstgl-wayland.la
|
|
endif
|
|
|
|
if HAVE_WINDOW_DISPMANX
|
|
SUBDIRS += dispmanx
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += dispmanx/libgstgl-dispmanx.la
|
|
endif
|
|
|
|
if HAVE_WINDOW_ANDROID
|
|
SUBDIRS += android
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += android/libgstgl-android.la
|
|
endif
|
|
|
|
if HAVE_WINDOW_EAGL
|
|
SUBDIRS += eagl
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += eagl/libgstgl-eagl.la
|
|
endif
|
|
|
|
if USE_EGL
|
|
SUBDIRS += egl
|
|
libgstgl_@GST_API_VERSION@_la_LIBADD += egl/libgstgl-egl.la
|
|
endif
|
|
|
|
configexecincludedir = $(libdir)/gstreamer-@GST_API_VERSION@/include/gst/gl
|
|
nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
|
|
|
|
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
|
|
-I$(top_srcdir)/gst-libs \
|
|
-I$(top_builddir)/gst-libs \
|
|
$(GL_CFLAGS) \
|
|
$(GST_PLUGINS_BASE_CFLAGS) \
|
|
$(GST_BASE_CFLAGS) \
|
|
$(GST_CFLAGS) \
|
|
$(GL_CFLAGS)
|
|
|
|
libgstgl_@GST_API_VERSION@_la_LDFLAGS = \
|
|
$(GST_LIB_LDFLAGS) \
|
|
$(GST_ALL_LDFLAGS) \
|
|
$(GST_LT_LDFLAGS)
|
|
|
|
# DISTCLEANFILES is for files generated by configure
|
|
DISTCLEANFILES = $(built_sys_header_configure)
|
|
|
|
if HAVE_INTROSPECTION
|
|
BUILT_GIRSOURCES = GstGL-@GST_API_VERSION@.gir
|
|
|
|
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstgl_@GST_API_VERSION@include_HEADERS))
|
|
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstgl_@GST_API_VERSION@_la_SOURCES))
|
|
|
|
GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@.la
|
|
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
|
|
GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
|
|
$(INTROSPECTION_SCANNER) -v --namespace GstGL \
|
|
--nsversion=@GST_API_VERSION@ \
|
|
--strip-prefix=Gst \
|
|
--warn-all \
|
|
--c-include "gst/gl/gl.h" \
|
|
-I$(top_srcdir)/gst-libs \
|
|
-I$(top_builddir)/gst-libs \
|
|
$(GST_PLUGINS_BASE_CFLAGS) \
|
|
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
|
|
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
|
|
--library=libgstgl-@GST_API_VERSION@.la \
|
|
--include=Gst-@GST_API_VERSION@ \
|
|
--include=GstBase-@GST_API_VERSION@ \
|
|
--libtool="$(top_builddir)/libtool" \
|
|
--pkg gstreamer-@GST_API_VERSION@ \
|
|
--pkg gstreamer-base-@GST_API_VERSION@ \
|
|
--pkg gstreamer-video-@GST_API_VERSION@ \
|
|
--pkg-export gstreamer-gl-@GST_API_VERSION@ \
|
|
--add-init-section="gst_init(NULL,NULL);" \
|
|
-DGST_USE_UNSTABLE_API \
|
|
--output $@ \
|
|
$(gir_headers) \
|
|
$(gir_sources)
|
|
|
|
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
|
|
# install anything - we need to install inside our prefix.
|
|
girdir = $(datadir)/gir-1.0
|
|
gir_DATA = $(BUILT_GIRSOURCES)
|
|
|
|
typelibsdir = $(libdir)/girepository-1.0/
|
|
|
|
typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
|
|
|
|
%.typelib: %.gir $(INTROSPECTION_COMPILER)
|
|
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
|
|
$(INTROSPECTION_COMPILER) \
|
|
--includedir=$(srcdir) \
|
|
--includedir=$(builddir) \
|
|
--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
|
|
--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
|
|
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
|
|
|
|
CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
|
|
endif
|