libdrm: Changes to 'debian-unstable'
Android.mk | 63
CleanSpec.mk | 3
Makefile.am | 29
Makefile.sources | 32
configure.ac | 194 +-
debian/changelog | 8
debian/libdrm-intel1.symbols | 1
debian/patches/03_hide_symbols.diff | 2389 ------------------------------------
debian/patches/series | 1
debian/rules | 2
exynos/Makefile.am | 1
exynos/exynos_drm.c | 37
exynos/exynos_fimg2d.c | 19
freedreno/Android.mk | 30
freedreno/Makefile.am | 27
freedreno/Makefile.sources | 24
freedreno/freedreno_bo.c | 77 -
freedreno/freedreno_device.c | 12
freedreno/freedreno_drmif.h | 2
freedreno/freedreno_pipe.c | 15
freedreno/freedreno_priv.h | 10
freedreno/freedreno_ringbuffer.c | 42
freedreno/kgsl/kgsl_bo.c | 10
freedreno/kgsl/kgsl_device.c | 4
freedreno/kgsl/kgsl_pipe.c | 4
freedreno/kgsl/kgsl_ringbuffer.c | 8
freedreno/msm/msm_bo.c | 4
freedreno/msm/msm_device.c | 4
freedreno/msm/msm_pipe.c | 4
freedreno/msm/msm_ringbuffer.c | 4
include/Makefile.am | 1
include/drm/Makefile.am | 44
include/drm/i810_drm.h | 281 ----
include/drm/i830_drm.h | 342 -----
intel/Android.mk | 55
intel/Makefile.am | 20
intel/Makefile.sources | 14
intel/intel_bufmgr.c | 107 +
intel/intel_bufmgr.h | 5
intel/intel_bufmgr_fake.c | 31
intel/intel_bufmgr_gem.c | 339 ++++-
intel/intel_bufmgr_priv.h | 12
intel/intel_decode.c | 19
intel/test_decode.c | 9
libdrm.h | 89 +
libkms/Android.mk | 53
libkms/Makefile.am | 25
libkms/Makefile.sources | 23
libkms/api.c | 2
libkms/dumb.c | 13
libkms/exynos.c | 5
libkms/intel.c | 11
libkms/linux.c | 18
libkms/nouveau.c | 11
libkms/radeon.c | 13
libkms/vmwgfx.c | 11
nouveau/Android.mk | 30
nouveau/Makefile.am | 14
nouveau/Makefile.sources | 9
nouveau/abi16.c | 4
nouveau/bufctx.c | 10
nouveau/nouveau.c | 46
nouveau/private.h | 1
nouveau/pushbuf.c | 20
omap/Makefile.am | 1
omap/omap_drm.c | 46
radeon/Android.mk | 30
radeon/Makefile.am | 25
radeon/Makefile.sources | 19
radeon/r600_pci_ids.h | 7
radeon/radeon_bo.c | 46
radeon/radeon_bo_gem.c | 31
radeon/radeon_cs.c | 50
radeon/radeon_cs_gem.c | 9
radeon/radeon_cs_space.c | 18
radeon/radeon_surface.c | 25
tests/dristat.c | 4
tests/drmstat.c | 2
tests/modetest/Android.mk | 14
tests/modetest/Makefile.am | 9
tests/modetest/Makefile.sources | 6
tests/modetest/buffers.c | 2
tests/modetest/cursor.c | 2
tests/modetest/modetest.c | 4
tests/vbltest/vbltest.c | 2
xf86atomic.h | 9
xf86drm.c | 8
xf86drmMode.c | 2
88 files changed, 1524 insertions(+), 3594 deletions(-)
New commits:
commit 40063fa85ee6a4fc52e153c9ba268634a3872096
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date: Thu Oct 2 16:54:08 2014 +0200
Update libdrm-intel1.symbols and shlibs.
diff --git a/debian/changelog b/debian/changelog
index 48be0e3..c4a24c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ libdrm (2.4.58-1) UNRELEASED; urgency=medium
* New upstream release.
- 03_hide_symbols.diff dropped, upstream.
+ * Update libdrm-intel1.symbols and shlibs.
-- Andreas Boll <andreas.boll.dev@gmail.com> Thu, 02 Oct 2014 16:22:13 +0200
diff --git a/debian/libdrm-intel1.symbols b/debian/libdrm-intel1.symbols
index c1d5e7c..5f07bbf 100644
--- a/debian/libdrm-intel1.symbols
+++ b/debian/libdrm-intel1.symbols
@@ -2,6 +2,7 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER#
drm_intel_bo_alloc@Base 2.4.1
drm_intel_bo_alloc_for_render@Base 2.4.5
drm_intel_bo_alloc_tiled@Base 2.4.15
+ drm_intel_bo_alloc_userptr@Base 2.4.57
drm_intel_bo_busy@Base 2.4.13
drm_intel_bo_disable_reuse@Base 2.4.10
drm_intel_bo_emit_reloc@Base 2.4.1
diff --git a/debian/rules b/debian/rules
index 4bcfc4d..48d5f70 100755
--- a/debian/rules
+++ b/debian/rules
@@ -90,7 +90,7 @@ endif
override_dh_makeshlibs:
dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.46)' --add-udeb=libdrm2-udeb -- -c4
ifeq ($(INTEL), yes)
- dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.46)' -- -c4
+ dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.57)' -- -c4
endif
ifeq ($(NOUVEAU), yes)
dh_makeshlibs -plibdrm-nouveau2 -V'libdrm-nouveau2 (>= 2.4.38)' -- -c4
commit 3a3d16fe91206a6be3f94922379f294bd4bd72a1
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date: Thu Oct 2 16:49:35 2014 +0200
03_hide_symbols.diff dropped, upstream.
diff --git a/debian/changelog b/debian/changelog
index 588694f..48be0e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
libdrm (2.4.58-1) UNRELEASED; urgency=medium
* New upstream release.
+ - 03_hide_symbols.diff dropped, upstream.
-- Andreas Boll <andreas.boll.dev@gmail.com> Thu, 02 Oct 2014 16:22:13 +0200
diff --git a/debian/patches/03_hide_symbols.diff b/debian/patches/03_hide_symbols.diff
deleted file mode 100644
index e87295d..0000000
--- a/debian/patches/03_hide_symbols.diff
+++ /dev/null
@@ -1,2389 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 826c30d..65680da 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -69,6 +69,7 @@ libdrm_la_SOURCES = \
- xf86drmSL.c \
- xf86drmMode.c \
- xf86atomic.h \
-+ libdrm.h \
- libdrm_lists.h
-
- libdrmincludedir = ${includedir}
-diff --git a/configure.ac b/configure.ac
-index 5e9cb6c..bb0559a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -366,6 +366,26 @@ AC_ARG_WITH([kernel-source],
- [kernel_source="$with_kernel_source"])
- AC_SUBST(kernel_source)
-
-+dnl Add flags for gcc and g++
-+if test "x$GCC" = xyes; then
-+ # Enable -fvisibility=hidden if using a gcc that supports it
-+ save_CFLAGS="$CFLAGS"
-+ AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
-+ VISIBILITY_CFLAGS="-fvisibility=hidden"
-+ CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
-+ [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
-+
-+ # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
-+ CFLAGS=$save_CFLAGS
-+
-+ if test "x$VISIBILITY_CFLAGS" != x; then
-+ AC_DEFINE(HAVE_VISIBILITY, 1, [Compiler has -fvisibility support])
-+ fi
-+
-+ AC_SUBST([VISIBILITY_CFLAGS])
-+fi
-+
- AC_SUBST(WARN_CFLAGS)
- AC_CONFIG_FILES([
- Makefile
-diff --git a/exynos/Makefile.am b/exynos/Makefile.am
-index 0a2663a..06bee00 100644
---- a/exynos/Makefile.am
-+++ b/exynos/Makefile.am
-@@ -1,5 +1,6 @@
- AM_CFLAGS = \
- $(WARN_CFLAGS) \
-+ $(VISIBILITY_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/exynos \
- $(PTHREADSTUBS_CFLAGS) \
-diff --git a/exynos/exynos_drm.c b/exynos/exynos_drm.c
-index 5fff259..4c7dd13 100644
---- a/exynos/exynos_drm.c
-+++ b/exynos/exynos_drm.c
-@@ -38,6 +38,7 @@
-
- #include <xf86drm.h>
-
-+#include "libdrm.h"
- #include "exynos_drm.h"
- #include "exynos_drmif.h"
-
-@@ -48,7 +49,7 @@
- *
- * if true, return the device object else NULL.
- */
--struct exynos_device * exynos_device_create(int fd)
-+drm_public struct exynos_device * exynos_device_create(int fd)
- {
- struct exynos_device *dev;
-
-@@ -69,7 +70,7 @@ struct exynos_device * exynos_device_create(int fd)
- *
- * @dev: exynos drm device object.
- */
--void exynos_device_destroy(struct exynos_device *dev)
-+drm_public void exynos_device_destroy(struct exynos_device *dev)
- {
- free(dev);
- }
-@@ -87,8 +88,8 @@ void exynos_device_destroy(struct exynos_device *dev)
- *
- * if true, return a exynos buffer object else NULL.
- */
--struct exynos_bo * exynos_bo_create(struct exynos_device *dev,
-- size_t size, uint32_t flags)
-+drm_public struct exynos_bo * exynos_bo_create(struct exynos_device *dev,
-+ size_t size, uint32_t flags)
- {
- struct exynos_bo *bo;
- struct drm_exynos_gem_create req = {
-@@ -141,8 +142,8 @@ fail:
- *
- * if true, return 0 else negative.
- */
--int exynos_bo_get_info(struct exynos_device *dev, uint32_t handle,
-- size_t *size, uint32_t *flags)
-+drm_public int exynos_bo_get_info(struct exynos_device *dev, uint32_t handle,
-+ size_t *size, uint32_t *flags)
- {
- int ret;
- struct drm_exynos_gem_info req = {
-@@ -167,7 +168,7 @@ int exynos_bo_get_info(struct exynos_device *dev, uint32_t handle,
- *
- * @bo: a exynos buffer object to be destroyed.
- */
--void exynos_bo_destroy(struct exynos_bo *bo)
-+drm_public void exynos_bo_destroy(struct exynos_bo *bo)
- {
- if (!bo)
- return;
-@@ -199,7 +200,8 @@ void exynos_bo_destroy(struct exynos_bo *bo)
- * if true, return a exynos buffer object else NULL.
- *
- */
--struct exynos_bo * exynos_bo_from_name(struct exynos_device *dev, uint32_t name)
-+drm_public struct exynos_bo *
-+exynos_bo_from_name(struct exynos_device *dev, uint32_t name)
- {
- struct exynos_bo *bo;
- struct drm_gem_open req = {
-@@ -241,7 +243,7 @@ err_free_bo:
- *
- * if true, return 0 else negative.
- */
--int exynos_bo_get_name(struct exynos_bo *bo, uint32_t *name)
-+drm_public int exynos_bo_get_name(struct exynos_bo *bo, uint32_t *name)
- {
- if (!bo->name) {
- struct drm_gem_flink req = {
-@@ -264,7 +266,7 @@ int exynos_bo_get_name(struct exynos_bo *bo, uint32_t *name)
- return 0;
- }
-
--uint32_t exynos_bo_handle(struct exynos_bo *bo)
-+drm_public uint32_t exynos_bo_handle(struct exynos_bo *bo)
- {
- return bo->handle;
- }
-@@ -277,7 +279,7 @@ uint32_t exynos_bo_handle(struct exynos_bo *bo)
- *
- * if true, user pointer mmaped else NULL.
- */
--void *exynos_bo_map(struct exynos_bo *bo)
-+drm_public void *exynos_bo_map(struct exynos_bo *bo)
- {
- if (!bo->vaddr) {
- struct exynos_device *dev = bo->dev;
-@@ -309,8 +311,8 @@ void *exynos_bo_map(struct exynos_bo *bo)
- *
- * @return: 0 on success, -1 on error, and errno will be set
- */
--int exynos_prime_handle_to_fd(struct exynos_device *dev, uint32_t handle,
-- int *fd)
-+drm_public int
-+exynos_prime_handle_to_fd(struct exynos_device *dev, uint32_t handle, int *fd)
- {
- return drmPrimeHandleToFD(dev->fd, handle, 0, fd);
- }
-@@ -324,8 +326,8 @@ int exynos_prime_handle_to_fd(struct exynos_device *dev, uint32_t handle,
- *
- * @return: 0 on success, -1 on error, and errno will be set
- */
--int exynos_prime_fd_to_handle(struct exynos_device *dev, int fd,
-- uint32_t *handle)
-+drm_public int
-+exynos_prime_fd_to_handle(struct exynos_device *dev, int fd, uint32_t *handle)
- {
- return drmPrimeFDToHandle(dev->fd, fd, handle);
- }
-@@ -347,8 +349,9 @@ int exynos_prime_fd_to_handle(struct exynos_device *dev, int fd,
- *
- * if true, return 0 else negative.
- */
--int exynos_vidi_connection(struct exynos_device *dev, uint32_t connect,
-- uint32_t ext, void *edid)
-+drm_public int
-+exynos_vidi_connection(struct exynos_device *dev, uint32_t connect,
-+ uint32_t ext, void *edid)
- {
- struct drm_exynos_vidi_connection req = {
- .connection = connect,
-diff --git a/exynos/exynos_fimg2d.c b/exynos/exynos_fimg2d.c
-index fc281b6..ce1ba1e 100644
---- a/exynos/exynos_fimg2d.c
-+++ b/exynos/exynos_fimg2d.c
-@@ -24,6 +24,7 @@
-
- #include <xf86drm.h>
-
-+#include "libdrm.h"
- #include "exynos_drm.h"
- #include "fimg2d_reg.h"
- #include "fimg2d.h"
-@@ -184,7 +185,7 @@ static int g2d_flush(struct g2d_context *ctx)
- *
- * fd: a file descriptor to drm device driver opened.
- */
--struct g2d_context *g2d_init(int fd)
-+drm_public struct g2d_context *g2d_init(int fd)
- {
- struct drm_exynos_g2d_get_ver ver;
- struct g2d_context *ctx;
-@@ -212,7 +213,7 @@ struct g2d_context *g2d_init(int fd)
- return ctx;
- }
-
--void g2d_fini(struct g2d_context *ctx)
-+drm_public void g2d_fini(struct g2d_context *ctx)
- {
- if (ctx)
- free(ctx);
-@@ -223,7 +224,7 @@ void g2d_fini(struct g2d_context *ctx)
- *
- * @ctx: a pointer to g2d_context structure.
- */
--int g2d_exec(struct g2d_context *ctx)
-+drm_public int g2d_exec(struct g2d_context *ctx)
- {
- struct drm_exynos_g2d_exec exec;
- int ret;
-@@ -255,7 +256,8 @@ int g2d_exec(struct g2d_context *ctx)
- * @w: width value to buffer filled with given color data.
- * @h: height value to buffer filled with given color data.
- */
--int g2d_solid_fill(struct g2d_context *ctx, struct g2d_image *img,
-+drm_public int
-+g2d_solid_fill(struct g2d_context *ctx, struct g2d_image *img,
- unsigned int x, unsigned int y, unsigned int w,
- unsigned int h)
- {
-@@ -315,7 +317,8 @@ int g2d_solid_fill(struct g2d_context *ctx, struct g2d_image *img,
- * @w: width value to source and destination buffers.
- * @h: height value to source and destination buffers.
- */
--int g2d_copy(struct g2d_context *ctx, struct g2d_image *src,
-+drm_public int
-+g2d_copy(struct g2d_context *ctx, struct g2d_image *src,
- struct g2d_image *dst, unsigned int src_x, unsigned int src_y,
- unsigned int dst_x, unsigned dst_y, unsigned int w,
- unsigned int h)
-@@ -414,7 +417,8 @@ int g2d_copy(struct g2d_context *ctx, struct g2d_image *src,
- * @negative: indicate that it uses color negative to source and
- * destination buffers.
- */
--int g2d_copy_with_scale(struct g2d_context *ctx, struct g2d_image *src,
-+drm_public int
-+g2d_copy_with_scale(struct g2d_context *ctx, struct g2d_image *src,
- struct g2d_image *dst, unsigned int src_x,
- unsigned int src_y, unsigned int src_w,
- unsigned int src_h, unsigned int dst_x,
-@@ -526,7 +530,8 @@ int g2d_copy_with_scale(struct g2d_context *ctx, struct g2d_image *src,
- * @h: height value to source and destination buffer.
- * @op: blend operation type.
- */
--int g2d_blend(struct g2d_context *ctx, struct g2d_image *src,
-+drm_public int
-+g2d_blend(struct g2d_context *ctx, struct g2d_image *src,
- struct g2d_image *dst, unsigned int src_x,
- unsigned int src_y, unsigned int dst_x, unsigned int dst_y,
- unsigned int w, unsigned int h, enum e_g2d_op op)
-diff --git a/freedreno/Makefile.am b/freedreno/Makefile.am
-index 7903e5b..49471e9 100644
---- a/freedreno/Makefile.am
-+++ b/freedreno/Makefile.am
-@@ -2,6 +2,7 @@ AUTOMAKE_OPTIONS=subdir-objects
-
- AM_CFLAGS = \
- $(WARN_CFLAGS) \
-+ $(VISIBILITY_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/freedreno \
- $(PTHREADSTUBS_CFLAGS) \
-diff --git a/freedreno/freedreno_bo.c b/freedreno/freedreno_bo.c
-index 8cea4de..3a2e464 100644
---- a/freedreno/freedreno_bo.c
-+++ b/freedreno/freedreno_bo.c
-@@ -163,8 +163,8 @@ static struct fd_bo *find_in_bucket(struct fd_device *dev,
- }
-
-
--struct fd_bo * fd_bo_new(struct fd_device *dev,
-- uint32_t size, uint32_t flags)
-+drm_public struct fd_bo *
-+fd_bo_new(struct fd_device *dev, uint32_t size, uint32_t flags)
- {
- struct fd_bo *bo = NULL;
- struct fd_bo_bucket *bucket;
-@@ -197,8 +197,8 @@ struct fd_bo * fd_bo_new(struct fd_device *dev,
- return bo;
- }
-
--struct fd_bo *fd_bo_from_handle(struct fd_device *dev,
-- uint32_t handle, uint32_t size)
-+drm_public struct fd_bo *
-+fd_bo_from_handle(struct fd_device *dev, uint32_t handle, uint32_t size)
- {
- struct fd_bo *bo = NULL;
-
-@@ -209,7 +209,7 @@ struct fd_bo *fd_bo_from_handle(struct fd_device *dev,
- return bo;
- }
-
--struct fd_bo * fd_bo_from_name(struct fd_device *dev, uint32_t name)
-+drm_public struct fd_bo * fd_bo_from_name(struct fd_device *dev, uint32_t name)
- {
- struct drm_gem_open req = {
- .name = name,
-@@ -242,13 +242,13 @@ out_unlock:
- return bo;
- }
-
--struct fd_bo * fd_bo_ref(struct fd_bo *bo)
-+drm_public struct fd_bo * fd_bo_ref(struct fd_bo *bo)
- {
- atomic_inc(&bo->refcnt);
- return bo;
- }
-
--void fd_bo_del(struct fd_bo *bo)
-+drm_public void fd_bo_del(struct fd_bo *bo)
- {
- struct fd_device *dev = bo->dev;
-
-@@ -307,7 +307,7 @@ static void bo_del(struct fd_bo *bo)
- bo->funcs->destroy(bo);
- }
-
--int fd_bo_get_name(struct fd_bo *bo, uint32_t *name)
-+drm_public int fd_bo_get_name(struct fd_bo *bo, uint32_t *name)
- {
- if (!bo->name) {
- struct drm_gem_flink req = {
-@@ -330,17 +330,17 @@ int fd_bo_get_name(struct fd_bo *bo, uint32_t *name)
- return 0;
- }
-
--uint32_t fd_bo_handle(struct fd_bo *bo)
-+drm_public uint32_t fd_bo_handle(struct fd_bo *bo)
- {
- return bo->handle;
- }
-
--uint32_t fd_bo_size(struct fd_bo *bo)
-+drm_public uint32_t fd_bo_size(struct fd_bo *bo)
- {
- return bo->size;
- }
-
--void * fd_bo_map(struct fd_bo *bo)
-+drm_public void * fd_bo_map(struct fd_bo *bo)
- {
- if (!bo->map) {
- uint64_t offset;
-@@ -362,12 +362,12 @@ void * fd_bo_map(struct fd_bo *bo)
- }
-
- /* a bit odd to take the pipe as an arg, but it's a, umm, quirk of kgsl.. */
--int fd_bo_cpu_prep(struct fd_bo *bo, struct fd_pipe *pipe, uint32_t op)
-+drm_public int fd_bo_cpu_prep(struct fd_bo *bo, struct fd_pipe *pipe, uint32_t op)
- {
- return bo->funcs->cpu_prep(bo, pipe, op);
- }
-
--void fd_bo_cpu_fini(struct fd_bo *bo)
-+drm_public void fd_bo_cpu_fini(struct fd_bo *bo)
- {
- bo->funcs->cpu_fini(bo);
- }
-diff --git a/freedreno/freedreno_device.c b/freedreno/freedreno_device.c
-index c34963c..2d3aa33 100644
---- a/freedreno/freedreno_device.c
-+++ b/freedreno/freedreno_device.c
-@@ -76,7 +76,7 @@ init_cache_buckets(struct fd_device *dev)
- }
- }
-
--struct fd_device * fd_device_new(int fd)
-+drm_public struct fd_device * fd_device_new(int fd)
- {
- struct fd_device *dev;
- drmVersionPtr version;
-@@ -115,7 +115,7 @@ struct fd_device * fd_device_new(int fd)
- /* like fd_device_new() but creates it's own private dup() of the fd
- * which is close()d when the device is finalized.
- */
--struct fd_device * fd_device_new_dup(int fd)
-+drm_public struct fd_device * fd_device_new_dup(int fd)
- {
- struct fd_device *dev = fd_device_new(dup(fd));
- if (dev)
-@@ -123,7 +123,7 @@ struct fd_device * fd_device_new_dup(int fd)
- return dev;
- }
-
--struct fd_device * fd_device_ref(struct fd_device *dev)
-+drm_public struct fd_device * fd_device_ref(struct fd_device *dev)
- {
- atomic_inc(&dev->refcnt);
- return dev;
-@@ -146,7 +146,7 @@ void fd_device_del_locked(struct fd_device *dev)
- fd_device_del_impl(dev);
- }
-
--void fd_device_del(struct fd_device *dev)
-+drm_public void fd_device_del(struct fd_device *dev)
- {
- if (!atomic_dec_and_test(&dev->refcnt))
- return;
-diff --git a/freedreno/freedreno_pipe.c b/freedreno/freedreno_pipe.c
-index 805bf00..f55aaa4 100644
---- a/freedreno/freedreno_pipe.c
-+++ b/freedreno/freedreno_pipe.c
-@@ -29,7 +29,8 @@
- #include "freedreno_drmif.h"
- #include "freedreno_priv.h"
-
--struct fd_pipe * fd_pipe_new(struct fd_device *dev, enum fd_pipe_id id)
-+drm_public struct fd_pipe *
-+fd_pipe_new(struct fd_device *dev, enum fd_pipe_id id)
- {
- struct fd_pipe *pipe = NULL;
-
-@@ -54,18 +55,18 @@ fail:
- return NULL;
- }
-
--void fd_pipe_del(struct fd_pipe *pipe)
-+drm_public void fd_pipe_del(struct fd_pipe *pipe)
- {
- pipe->funcs->destroy(pipe);
- }
-
--int fd_pipe_get_param(struct fd_pipe *pipe, enum fd_param_id param,
-- uint64_t *value)
-+drm_public int fd_pipe_get_param(struct fd_pipe *pipe,
-+ enum fd_param_id param, uint64_t *value)
- {
- return pipe->funcs->get_param(pipe, param, value);
- }
-
--int fd_pipe_wait(struct fd_pipe *pipe, uint32_t timestamp)
-+drm_public int fd_pipe_wait(struct fd_pipe *pipe, uint32_t timestamp)
- {
- return pipe->funcs->wait(pipe, timestamp);
- }
-diff --git a/freedreno/freedreno_priv.h b/freedreno/freedreno_priv.h
-index 7438485..6bd1dec 100644
---- a/freedreno/freedreno_priv.h
-+++ b/freedreno/freedreno_priv.h
-@@ -29,6 +29,10 @@
- #ifndef FREEDRENO_PRIV_H_
- #define FREEDRENO_PRIV_H_
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <errno.h>
- #include <string.h>
-@@ -41,6 +45,7 @@
- #include <stdio.h>
- #include <assert.h>
-
-+#include "libdrm.h"
- #include "xf86drm.h"
- #include "xf86atomic.h"
-
-diff --git a/freedreno/freedreno_ringbuffer.c b/freedreno/freedreno_ringbuffer.c
-index b9849c5..def869f 100644
---- a/freedreno/freedreno_ringbuffer.c
-+++ b/freedreno/freedreno_ringbuffer.c
-@@ -32,8 +32,8 @@
- #include "freedreno_priv.h"
- #include "freedreno_ringbuffer.h"
-
--struct fd_ringbuffer * fd_ringbuffer_new(struct fd_pipe *pipe,
-- uint32_t size)
-+drm_public struct fd_ringbuffer *
-+fd_ringbuffer_new(struct fd_pipe *pipe, uint32_t size)
- {
- struct fd_ringbuffer *ring;
-
-@@ -51,7 +51,7 @@ struct fd_ringbuffer * fd_ringbuffer_new(struct fd_pipe *pipe,
- return ring;
- }
-
--void fd_ringbuffer_del(struct fd_ringbuffer *ring)
-+drm_public void fd_ringbuffer_del(struct fd_ringbuffer *ring)
- {
- ring->funcs->destroy(ring);
- }
-@@ -60,13 +60,13 @@ void fd_ringbuffer_del(struct fd_ringbuffer *ring)
- * the IB source) as it's parent before emitting reloc's, to ensure
- * the bookkeeping works out properly.
- */
--void fd_ringbuffer_set_parent(struct fd_ringbuffer *ring,
-- struct fd_ringbuffer *parent)
-+drm_public void fd_ringbuffer_set_parent(struct fd_ringbuffer *ring,
-+ struct fd_ringbuffer *parent)
- {
- ring->parent = parent;
- }
-
--void fd_ringbuffer_reset(struct fd_ringbuffer *ring)
-+drm_public void fd_ringbuffer_reset(struct fd_ringbuffer *ring)
- {
- uint32_t *start = ring->start;
- if (ring->pipe->id == FD_PIPE_2D)
-@@ -77,30 +77,32 @@ void fd_ringbuffer_reset(struct fd_ringbuffer *ring)
- }
-
- /* maybe get rid of this and use fd_ringmarker_flush() from DDX too? */
--int fd_ringbuffer_flush(struct fd_ringbuffer *ring)
-+drm_public int fd_ringbuffer_flush(struct fd_ringbuffer *ring)
- {
- return ring->funcs->flush(ring, ring->last_start);
- }
-
--uint32_t fd_ringbuffer_timestamp(struct fd_ringbuffer *ring)
-+drm_public uint32_t fd_ringbuffer_timestamp(struct fd_ringbuffer *ring)
- {
- return ring->last_timestamp;
- }
-
--void fd_ringbuffer_reloc(struct fd_ringbuffer *ring,
-- const struct fd_reloc *reloc)
-+drm_public void fd_ringbuffer_reloc(struct fd_ringbuffer *ring,
-+ const struct fd_reloc *reloc)
- {
- ring->funcs->emit_reloc(ring, reloc);
- }
-
--void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
-- struct fd_ringmarker *target, struct fd_ringmarker *end)
-+drm_public void
-+fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
-+ struct fd_ringmarker *target,
-+ struct fd_ringmarker *end)
- {
- assert(target->ring == end->ring);
- ring->funcs->emit_reloc_ring(ring, target, end);
- }
-
--struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring)
-+drm_public struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring)
- {
- struct fd_ringmarker *marker = NULL;
-
-@@ -117,23 +119,23 @@ struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring)
- return marker;
- }
-
--void fd_ringmarker_del(struct fd_ringmarker *marker)
-+drm_public void fd_ringmarker_del(struct fd_ringmarker *marker)
- {
- free(marker);
- }
-
--void fd_ringmarker_mark(struct fd_ringmarker *marker)
-+drm_public void fd_ringmarker_mark(struct fd_ringmarker *marker)
- {
- marker->cur = marker->ring->cur;
- }
-
--uint32_t fd_ringmarker_dwords(struct fd_ringmarker *start,
-- struct fd_ringmarker *end)
-+drm_public uint32_t fd_ringmarker_dwords(struct fd_ringmarker *start,
-+ struct fd_ringmarker *end)
- {
- return end->cur - start->cur;
- }
-
--int fd_ringmarker_flush(struct fd_ringmarker *marker)
-+drm_public int fd_ringmarker_flush(struct fd_ringmarker *marker)
- {
- struct fd_ringbuffer *ring = marker->ring;
- return ring->funcs->flush(ring, marker->cur);
-diff --git a/freedreno/kgsl/kgsl_bo.c b/freedreno/kgsl/kgsl_bo.c
-index 19a1008..c868097 100644
---- a/freedreno/kgsl/kgsl_bo.c
-+++ b/freedreno/kgsl/kgsl_bo.c
-@@ -171,8 +171,8 @@ struct fd_bo * kgsl_bo_from_handle(struct fd_device *dev,
- return bo;
- }
-
--struct fd_bo * fd_bo_from_fbdev(struct fd_pipe *pipe,
-- int fbfd, uint32_t size)
-+drm_public struct fd_bo *
-+fd_bo_from_fbdev(struct fd_pipe *pipe, int fbfd, uint32_t size)
- {
- struct fd_bo *bo;
-
-diff --git a/intel/Makefile.am b/intel/Makefile.am
-index f49b099..f734b0b 100644
---- a/intel/Makefile.am
-+++ b/intel/Makefile.am
-@@ -24,6 +24,7 @@
-
- AM_CFLAGS = \
- $(WARN_CFLAGS) \
-+ $(VISIBILITY_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/intel \
- $(PTHREADSTUBS_CFLAGS) \
-diff --git a/intel/intel_bufmgr.c b/intel/intel_bufmgr.c
-index 905556f..03dba50 100644
---- a/intel/intel_bufmgr.c
-+++ b/intel/intel_bufmgr.c
-@@ -37,6 +37,7 @@
- #include <drm.h>
- #include <i915_drm.h>
- #include <pciaccess.h>
-+#include "libdrm.h"
- #include "intel_bufmgr.h"
- #include "intel_bufmgr_priv.h"
- #include "xf86drm.h"
-@@ -46,21 +47,21 @@
- * Convenience functions for buffer management methods.
- */
-
--drm_intel_bo *drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name,
-- unsigned long size, unsigned int alignment)
-+drm_public drm_intel_bo *
-+drm_intel_bo_alloc(drm_intel_bufmgr *bufmgr, const char *name,
-+ unsigned long size, unsigned int alignment)
- {
- return bufmgr->bo_alloc(bufmgr, name, size, alignment);
- }
-
--drm_intel_bo *drm_intel_bo_alloc_for_render(drm_intel_bufmgr *bufmgr,
-- const char *name,
-- unsigned long size,
-- unsigned int alignment)
-+drm_public drm_intel_bo *
-+drm_intel_bo_alloc_for_render(drm_intel_bufmgr *bufmgr, const char *name,
-+ unsigned long size, unsigned int alignment)
- {
- return bufmgr->bo_alloc_for_render(bufmgr, name, size, alignment);
- }
-
--drm_intel_bo *
-+drm_public drm_intel_bo *
- drm_intel_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
- int x, int y, int cpp, uint32_t *tiling_mode,
- unsigned long *pitch, unsigned long flags)
-@@ -69,12 +70,14 @@ drm_intel_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
- tiling_mode, pitch, flags);
- }
-
--void drm_intel_bo_reference(drm_intel_bo *bo)
-+drm_public void
-+drm_intel_bo_reference(drm_intel_bo *bo)
- {
- bo->bufmgr->bo_reference(bo);
- }
-
--void drm_intel_bo_unreference(drm_intel_bo *bo)
-+drm_public void
-+drm_intel_bo_unreference(drm_intel_bo *bo)
- {
- if (bo == NULL)
- return;
-@@ -82,24 +85,26 @@ void drm_intel_bo_unreference(drm_intel_bo *bo)
- bo->bufmgr->bo_unreference(bo);
- }
-
--int drm_intel_bo_map(drm_intel_bo *buf, int write_enable)
-+drm_public int
-+drm_intel_bo_map(drm_intel_bo *buf, int write_enable)
- {
- return buf->bufmgr->bo_map(buf, write_enable);
- }
-
--int drm_intel_bo_unmap(drm_intel_bo *buf)
-+drm_public int
-+drm_intel_bo_unmap(drm_intel_bo *buf)
- {
- return buf->bufmgr->bo_unmap(buf);
- }
-
--int
-+drm_public int
- drm_intel_bo_subdata(drm_intel_bo *bo, unsigned long offset,
- unsigned long size, const void *data)
- {
- return bo->bufmgr->bo_subdata(bo, offset, size, data);
- }
-
--int
-+drm_public int
- drm_intel_bo_get_subdata(drm_intel_bo *bo, unsigned long offset,
- unsigned long size, void *data)
- {
-@@ -118,24 +123,26 @@ drm_intel_bo_get_subdata(drm_intel_bo *bo, unsigned long offset,
- return 0;
- }
-
--void drm_intel_bo_wait_rendering(drm_intel_bo *bo)
-+drm_public void
-+drm_intel_bo_wait_rendering(drm_intel_bo *bo)
- {
- bo->bufmgr->bo_wait_rendering(bo);
- }
-
--void drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr)
-+drm_public void
-+drm_intel_bufmgr_destroy(drm_intel_bufmgr *bufmgr)
- {
- bufmgr->destroy(bufmgr);
- }
-
--int
-+drm_public int
- drm_intel_bo_exec(drm_intel_bo *bo, int used,
- drm_clip_rect_t * cliprects, int num_cliprects, int DR4)
- {
- return bo->bufmgr->bo_exec(bo, used, cliprects, num_cliprects, DR4);
- }
-
--int
-+drm_public int
- drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used,
- drm_clip_rect_t *cliprects, int num_cliprects, int DR4,
- unsigned int rings)
-@@ -155,17 +162,20 @@ drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used,
- }
- }
-
--void drm_intel_bufmgr_set_debug(drm_intel_bufmgr *bufmgr, int enable_debug)
-+drm_public void
-+drm_intel_bufmgr_set_debug(drm_intel_bufmgr *bufmgr, int enable_debug)
- {
- bufmgr->debug = enable_debug;
- }
-
--int drm_intel_bufmgr_check_aperture_space(drm_intel_bo ** bo_array, int count)
-+drm_public int
-+drm_intel_bufmgr_check_aperture_space(drm_intel_bo ** bo_array, int count)
- {
- return bo_array[0]->bufmgr->check_aperture_space(bo_array, count);
- }
-
--int drm_intel_bo_flink(drm_intel_bo *bo, uint32_t * name)
-+drm_public int
-+drm_intel_bo_flink(drm_intel_bo *bo, uint32_t * name)
- {
- if (bo->bufmgr->bo_flink)
- return bo->bufmgr->bo_flink(bo, name);
-@@ -173,7 +183,7 @@ int drm_intel_bo_flink(drm_intel_bo *bo, uint32_t * name)
- return -ENODEV;
- }
-
--int
-+drm_public int
- drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset,
- drm_intel_bo *target_bo, uint32_t target_offset,
- uint32_t read_domains, uint32_t write_domain)
-@@ -184,7 +194,7 @@ drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset,
- }
-
- /* For fence registers, not GL fences */
--int
-+drm_public int
- drm_intel_bo_emit_reloc_fence(drm_intel_bo *bo, uint32_t offset,
- drm_intel_bo *target_bo, uint32_t target_offset,
- uint32_t read_domains, uint32_t write_domain)
-@@ -195,7 +205,8 @@ drm_intel_bo_emit_reloc_fence(drm_intel_bo *bo, uint32_t offset,
- }
-
-
--int drm_intel_bo_pin(drm_intel_bo *bo, uint32_t alignment)
-+drm_public int
-+drm_intel_bo_pin(drm_intel_bo *bo, uint32_t alignment)
- {
- if (bo->bufmgr->bo_pin)
- return bo->bufmgr->bo_pin(bo, alignment);
-@@ -203,7 +214,8 @@ int drm_intel_bo_pin(drm_intel_bo *bo, uint32_t alignment)
- return -ENODEV;
- }
-
--int drm_intel_bo_unpin(drm_intel_bo *bo)
-+drm_public int
-+drm_intel_bo_unpin(drm_intel_bo *bo)
- {
- if (bo->bufmgr->bo_unpin)
- return bo->bufmgr->bo_unpin(bo);
-@@ -211,8 +223,9 @@ int drm_intel_bo_unpin(drm_intel_bo *bo)
- return -ENODEV;
- }
-
--int drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
-- uint32_t stride)
-+drm_public int
-+drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
-+ uint32_t stride)
- {
- if (bo->bufmgr->bo_set_tiling)
- return bo->bufmgr->bo_set_tiling(bo, tiling_mode, stride);
-@@ -221,8 +234,9 @@ int drm_intel_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
- return 0;
- }
-
--int drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
-- uint32_t * swizzle_mode)
-+drm_public int
-+drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
-+ uint32_t * swizzle_mode)
- {
- if (bo->bufmgr->bo_get_tiling)
- return bo->bufmgr->bo_get_tiling(bo, tiling_mode, swizzle_mode);
-@@ -232,40 +246,46 @@ int drm_intel_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
- return 0;
- }
-
--int drm_intel_bo_disable_reuse(drm_intel_bo *bo)
-+drm_public int
-+drm_intel_bo_disable_reuse(drm_intel_bo *bo)
- {
- if (bo->bufmgr->bo_disable_reuse)
- return bo->bufmgr->bo_disable_reuse(bo);
- return 0;
- }
-
--int drm_intel_bo_is_reusable(drm_intel_bo *bo)
-+drm_public int
-+drm_intel_bo_is_reusable(drm_intel_bo *bo)
- {
- if (bo->bufmgr->bo_is_reusable)
- return bo->bufmgr->bo_is_reusable(bo);
- return 0;
- }
-
--int drm_intel_bo_busy(drm_intel_bo *bo)
-+drm_public int
-+drm_intel_bo_busy(drm_intel_bo *bo)
Reply to: