summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2014-11-09 04:44:15 +0000
committerEmil Velikov <[email protected]>2014-11-26 20:09:09 +0000
commitf093c1c8ec1bce50d9338533ce775b564358fbeb (patch)
treea4a8d22fe542286f90294eb76432f349b82be406 /src/gallium
parent2dbaedaf109aad822d72bd0e761c506efbb29ec4 (diff)
auxiliary/vl: add galliumvl_stub.la
Will be used by the non-VL targets, to stub out the functions called by the drivers. The entry point to those are within the VL state-trackers, yet the compiler cannot determine that at link time. Thus we'll need to stub them out to prevent unresolved symbols in the dri, egl, gbm and pipe-loader targets. v2: Rebase. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/Makefile.am5
-rw-r--r--src/gallium/auxiliary/Makefile.sources3
-rw-r--r--src/gallium/auxiliary/vl/vl_stubs.c147
3 files changed, 155 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 19037a271ef..bea9c550810 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -46,6 +46,11 @@ util/u_format_table.c: $(srcdir)/util/u_format_table.py $(srcdir)/util/u_format_
$(AM_V_at)$(MKDIR_P) util
$(AM_V_GEN) $(PYTHON2) $(srcdir)/util/u_format_table.py $(srcdir)/util/u_format.csv > $@
+
+noinst_LTLIBRARIES += libgalliumvl_stub.la
+libgalliumvl_stub_la_SOURCES = \
+ $(VL_STUB_SOURCES)
+
EXTRA_DIST = \
Android.mk SConscript \
indices/u_indices.c \
diff --git a/src/gallium/auxiliary/Makefile.sources b/src/gallium/auxiliary/Makefile.sources
index 6becb8daea2..38c39b60a3a 100644
--- a/src/gallium/auxiliary/Makefile.sources
+++ b/src/gallium/auxiliary/Makefile.sources
@@ -336,6 +336,9 @@ C_SOURCES := \
vl/vl_zscan.c \
vl/vl_zscan.h
+VL_STUB_SOURCES := \
+ vl/vl_stubs.c
+
GENERATED_SOURCES := \
indices/u_indices_gen.c \
indices/u_unfilled_gen.c \
diff --git a/src/gallium/auxiliary/vl/vl_stubs.c b/src/gallium/auxiliary/vl/vl_stubs.c
new file mode 100644
index 00000000000..d690eca5688
--- /dev/null
+++ b/src/gallium/auxiliary/vl/vl_stubs.c
@@ -0,0 +1,147 @@
+#include <assert.h>
+
+#include "vl_decoder.h"
+#include "vl_mpeg12_bitstream.h"
+#include "vl_mpeg12_decoder.h"
+#include "vl_video_buffer.h"
+#include "vl_zscan.h"
+
+
+/*
+ * vl_decoder stubs
+ */
+bool
+vl_profile_supported(struct pipe_screen *screen,
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
+{
+ assert(0);
+ return false;
+}
+
+int
+vl_level_supported(struct pipe_screen *screen,
+ enum pipe_video_profile profile)
+{
+ assert(0);
+ return 0;
+}
+
+struct pipe_video_codec *
+vl_create_decoder(struct pipe_context *pipe,
+ const struct pipe_video_codec *templat)
+{
+ assert(0);
+ return NULL;
+}
+
+
+/*
+ * vl_video_buffer stubs
+ */
+const enum pipe_format *
+vl_video_buffer_formats(struct pipe_screen *screen, enum pipe_format format)
+{
+ assert(0);
+ return NULL;
+}
+
+boolean
+vl_video_buffer_is_format_supported(struct pipe_screen *screen,
+ enum pipe_format format,
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
+{
+ assert(0);
+ return false;
+}
+
+unsigned
+vl_video_buffer_max_size(struct pipe_screen *screen)
+{
+ assert(0);
+ return 0;
+}
+
+void
+vl_video_buffer_set_associated_data(struct pipe_video_buffer *vbuf,
+ struct pipe_video_codec *vcodec,
+ void *associated_data,
+ void (*destroy_associated_data)(void *))
+{
+ assert(0);
+}
+
+void *
+vl_video_buffer_get_associated_data(struct pipe_video_buffer *vbuf,
+ struct pipe_video_codec *vcodec)
+{
+ assert(0);
+ return NULL;
+}
+
+void
+vl_video_buffer_template(struct pipe_resource *templ,
+ const struct pipe_video_buffer *tmpl,
+ enum pipe_format resource_format,
+ unsigned depth, unsigned array_size,
+ unsigned usage, unsigned plane)
+{
+ assert(0);
+}
+
+struct pipe_video_buffer *
+vl_video_buffer_create(struct pipe_context *pipe,
+ const struct pipe_video_buffer *tmpl)
+{
+ assert(0);
+ return NULL;
+}
+
+struct pipe_video_buffer *
+vl_video_buffer_create_ex2(struct pipe_context *pipe,
+ const struct pipe_video_buffer *tmpl,
+ struct pipe_resource *resources[VL_NUM_COMPONENTS])
+{
+ assert(0);
+ return NULL;
+}
+
+
+/*
+ * vl_mpeg12_bitstream stubs
+ */
+void
+vl_mpg12_bs_init(struct vl_mpg12_bs *bs, struct pipe_video_codec *decoder)
+{
+ assert(0);
+}
+
+void
+vl_mpg12_bs_decode(struct vl_mpg12_bs *bs,
+ struct pipe_video_buffer *target,
+ struct pipe_mpeg12_picture_desc *picture,
+ unsigned num_buffers,
+ const void * const *buffers,
+ const unsigned *sizes)
+{
+ assert(0);
+}
+
+
+/*
+ * vl_mpeg12_decoder stubs
+ */
+struct pipe_video_codec *
+vl_create_mpeg12_decoder(struct pipe_context *pipe,
+ const struct pipe_video_codec *templat)
+{
+ assert(0);
+ return NULL;
+}
+
+/*
+ * vl_zscan
+ */
+const int vl_zscan_normal[] = {0};
+const int vl_zscan_alternate[] = {0};