OSDN Git Service

auxiliary/vl: add galliumvl_stub.la
authorEmil Velikov <emil.l.velikov@gmail.com>
Sun, 9 Nov 2014 04:44:15 +0000 (04:44 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 26 Nov 2014 20:09:09 +0000 (20:09 +0000)
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 <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
src/gallium/auxiliary/Makefile.am
src/gallium/auxiliary/Makefile.sources
src/gallium/auxiliary/vl/vl_stubs.c [new file with mode: 0644]

index 19037a2..bea9c55 100644 (file)
@@ -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 \
index 6becb8d..38c39b6 100644 (file)
@@ -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 (file)
index 0000000..d690eca
--- /dev/null
@@ -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};