[PATCHv2 2/4] st/xa: use pipe-loader to get screen

Emil Velikov emil.l.velikov at gmail.com
Tue Feb 11 04:38:40 PST 2014


On 11/02/14 12:08, Rob Clark wrote:
> On Mon, Feb 10, 2014 at 11:36 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> On 10/02/14 18:34, Rob Clark wrote:
>>> From: Rob Clark <robclark at freedesktop.org>
>>>
>>> This lets multiple gallium drivers use XA.
>>>
>> Hi Rob,
>>
>> Seems like I should have explained a bit better.
>>
>> There is no need to have sourcefiles in order to have a specific target.
>> All you needed was to link the state-tracker, mesagallium, gallium(aux
>> library), pipe-loader and a few winsys' to wrap up the library.
>>
>> The opencl target + my vdpau/dri patches are a decent example of what I
>> had in mind.
> 
> yeah, the only reason for the wrappers in target/xa was to keep
> -DPIPE_SEARCH_DIR=.. and GALLIUM_PIPE_LOADER_LIBS in targets vs
> state_trackers.. if you don't care about that, then we can do it with
> no src files as with opencl.
> 
In my humble understanding the relationship between state-trackers and
targets should be one way. Targets should expose the st functionality
rather than imposing new one back to the st.
One can build several variations of one st from the by flexing the aux
module to their liking.

Pardon for the preach
-Emil

> BR,
> -R
> 
>> Sorry for the confusion
>> -Emil
>>
>>> Signed-off-by: Rob Clark <robclark at freedesktop.org>
>>> ---
>>>  configure.ac                                  |  9 ++--
>>>  src/gallium/state_trackers/xa/Makefile.am     |  1 +
>>>  src/gallium/state_trackers/xa/xa_priv.h       |  1 +
>>>  src/gallium/state_trackers/xa/xa_tracker.c    |  9 +++-
>>>  src/gallium/targets/Makefile.am               |  8 ++--
>>>  src/gallium/targets/xa-vmwgfx/Makefile.am     | 61 ------------------------
>>>  src/gallium/targets/xa-vmwgfx/vmw_target.c    | 26 ----------
>>>  src/gallium/targets/xa-vmwgfx/xatracker.pc.in |  9 ----
>>>  src/gallium/targets/xa/Makefile.am            | 68 +++++++++++++++++++++++++++
>>>  src/gallium/targets/xa/xa.c                   | 49 +++++++++++++++++++
>>>  src/gallium/targets/xa/xa.h                   | 37 +++++++++++++++
>>>  src/gallium/targets/xa/xatracker.pc.in        |  9 ++++
>>>  12 files changed, 182 insertions(+), 105 deletions(-)
>>>  delete mode 100644 src/gallium/targets/xa-vmwgfx/Makefile.am
>>>  delete mode 100644 src/gallium/targets/xa-vmwgfx/vmw_target.c
>>>  delete mode 100644 src/gallium/targets/xa-vmwgfx/xatracker.pc.in
>>>  create mode 100644 src/gallium/targets/xa/Makefile.am
>>>  create mode 100644 src/gallium/targets/xa/xa.c
>>>  create mode 100644 src/gallium/targets/xa/xa.h
>>>  create mode 100644 src/gallium/targets/xa/xatracker.pc.in
>>>
>>> diff --git a/configure.ac b/configure.ac
>>> index cba6301..29ca954 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -1270,6 +1270,7 @@ dnl XA configuration
>>>  dnl
>>>  if test "x$enable_xa" = xyes; then
>>>      GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
>>> +    enable_gallium_loader=yes
>>>  fi
>>>  AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
>>>
>>> @@ -1743,7 +1744,7 @@ if test "x$with_gallium_drivers" != x; then
>>>          xsvga)
>>>              HAVE_GALLIUM_SVGA=yes
>>>              GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
>>> -            gallium_check_st "svga/drm" "dri-vmwgfx" "xa-vmwgfx"
>>> +            gallium_check_st "svga/drm" "dri-vmwgfx" ""
>>>              ;;
>>>          xi915)
>>>              HAVE_GALLIUM_I915=yes
>>> @@ -1962,7 +1963,7 @@ AC_SUBST([XVMC_MAJOR], 1)
>>>  AC_SUBST([XVMC_MINOR], 0)
>>>
>>>  AC_SUBST([XA_MAJOR], 2)
>>> -AC_SUBST([XA_MINOR], 1)
>>> +AC_SUBST([XA_MINOR], 2)
>>>  AC_SUBST([XA_TINY], 0)
>>>  AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
>>>
>>> @@ -2035,6 +2036,8 @@ AC_CONFIG_FILES([Makefile
>>>               src/gallium/targets/egl-static/Makefile
>>>               src/gallium/targets/gbm/Makefile
>>>               src/gallium/targets/opencl/Makefile
>>> +             src/gallium/targets/xa/Makefile
>>> +             src/gallium/targets/xa/xatracker.pc
>>>               src/gallium/targets/osmesa/Makefile
>>>               src/gallium/targets/osmesa/osmesa.pc
>>>               src/gallium/targets/pipe-loader/Makefile
>>> @@ -2046,8 +2049,6 @@ AC_CONFIG_FILES([Makefile
>>>               src/gallium/targets/r600/xvmc/Makefile
>>>               src/gallium/targets/libgl-xlib/Makefile
>>>               src/gallium/targets/vdpau-nouveau/Makefile
>>> -             src/gallium/targets/xa-vmwgfx/Makefile
>>> -             src/gallium/targets/xa-vmwgfx/xatracker.pc
>>>               src/gallium/targets/xvmc-nouveau/Makefile
>>>               src/gallium/tests/trivial/Makefile
>>>               src/gallium/tests/unit/Makefile
>>> diff --git a/src/gallium/state_trackers/xa/Makefile.am b/src/gallium/state_trackers/xa/Makefile.am
>>> index 7d0b366..af79ccd 100644
>>> --- a/src/gallium/state_trackers/xa/Makefile.am
>>> +++ b/src/gallium/state_trackers/xa/Makefile.am
>>> @@ -29,6 +29,7 @@ AM_CFLAGS = \
>>>       $(VISIBILITY_CFLAGS)
>>>
>>>  AM_CPPFLAGS = \
>>> +     -I$(top_srcdir)/src/gallium/targets/xa \
>>>       -I$(top_srcdir)/src/gallium/ \
>>>       -I$(top_srcdir)/src/gallium/winsys \
>>>       -I$(top_srcdir)/src/gallium/drivers
>>> diff --git a/src/gallium/state_trackers/xa/xa_priv.h b/src/gallium/state_trackers/xa/xa_priv.h
>>> index ee182e7..b99c214 100644
>>> --- a/src/gallium/state_trackers/xa/xa_priv.h
>>> +++ b/src/gallium/state_trackers/xa/xa_priv.h
>>> @@ -74,6 +74,7 @@ struct xa_tracker {
>>>      unsigned int format_map[XA_LAST_SURFACE_TYPE][2];
>>>      int d_depth_bits_last;
>>>      int ds_depth_bits_last;
>>> +    struct pipe_loader_device *dev;
>>>      struct pipe_screen *screen;
>>>      struct xa_context *default_ctx;
>>>  };
>>> diff --git a/src/gallium/state_trackers/xa/xa_tracker.c b/src/gallium/state_trackers/xa/xa_tracker.c
>>> index cda6501..6943a29 100644
>>> --- a/src/gallium/state_trackers/xa/xa_tracker.c
>>> +++ b/src/gallium/state_trackers/xa/xa_tracker.c
>>> @@ -28,8 +28,10 @@
>>>
>>>  #include "xa_tracker.h"
>>>  #include "xa_priv.h"
>>> +#include "xa.h"
>>>  #include "pipe/p_state.h"
>>>  #include "pipe/p_format.h"
>>> +#include "pipe-loader/pipe_loader.h"
>>>  #include "state_tracker/drm_driver.h"
>>>  #include "util/u_inlines.h"
>>>
>>> @@ -143,7 +145,9 @@ xa_tracker_create(int drm_fd)
>>>      if (!xa)
>>>       return NULL;
>>>
>>> -    xa->screen = driver_descriptor.create_screen(drm_fd);
>>> +    xa->dev = xa_pipe_probe(drm_fd);
>>> +    if (xa->dev)
>>> +     xa->screen = xa_pipe_create_screen(xa->dev);
>>>      if (!xa->screen)
>>>       goto out_no_screen;
>>>
>>> @@ -190,6 +194,8 @@ xa_tracker_create(int drm_fd)
>>>   out_no_pipe:
>>>      xa->screen->destroy(xa->screen);
>>>   out_no_screen:
>>> +    if (xa->dev)
>>> +     xa_pipe_release(xa->dev);
>>>      free(xa);
>>>      return NULL;
>>>  }
>>> @@ -200,6 +206,7 @@ xa_tracker_destroy(struct xa_tracker *xa)
>>>      free(xa->supported_formats);
>>>      xa_context_destroy(xa->default_ctx);
>>>      xa->screen->destroy(xa->screen);
>>> +    xa_pipe_release(xa->dev);
>>>      free(xa);
>>>  }
>>>
>>> diff --git a/src/gallium/targets/Makefile.am b/src/gallium/targets/Makefile.am
>>> index e356020..a7c70f4 100644
>>> --- a/src/gallium/targets/Makefile.am
>>> +++ b/src/gallium/targets/Makefile.am
>>> @@ -34,6 +34,10 @@ if HAVE_GALLIUM_GBM
>>>  SUBDIRS += gbm
>>>  endif
>>>
>>> +if HAVE_ST_XA
>>> +SUBDIRS += xa
>>> +endif
>>> +
>>>  if HAVE_CLOVER
>>>  SUBDIRS += opencl
>>>  endif
>>> @@ -42,10 +46,6 @@ if HAVE_GALLIUM_SVGA
>>>  if HAVE_DRI
>>>  SUBDIRS += dri-vmwgfx
>>>  endif
>>> -
>>> -if HAVE_ST_XA
>>> -SUBDIRS += xa-vmwgfx
>>> -endif
>>>  endif
>>>
>>>  if HAVE_GALLIUM_FREEDRENO
>>> diff --git a/src/gallium/targets/xa-vmwgfx/Makefile.am b/src/gallium/targets/xa-vmwgfx/Makefile.am
>>> deleted file mode 100644
>>> index 6fe0510..0000000
>>> --- a/src/gallium/targets/xa-vmwgfx/Makefile.am
>>> +++ /dev/null
>>> @@ -1,61 +0,0 @@
>>> -# Copyright © 2012 Intel Corporation
>>> -#
>>> -# Permission is hereby granted, free of charge, to any person obtaining a
>>> -# copy of this software and associated documentation files (the "Software"),
>>> -# to deal in the Software without restriction, including without limitation
>>> -# the rights to use, copy, modify, merge, publish, distribute, sublicense,
>>> -# and/or sell copies of the Software, and to permit persons to whom the
>>> -# Software is furnished to do so, subject to the following conditions:
>>> -#
>>> -# The above copyright notice and this permission notice (including the next
>>> -# paragraph) shall be included in all copies or substantial portions of the
>>> -# Software.
>>> -#
>>> -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>>> -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>>> -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>>> -# NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
>>> -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
>>> -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>>> -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>> -# DEALINGS IN THE SOFTWARE.
>>> -
>>> -include $(top_srcdir)/src/gallium/Automake.inc
>>> -
>>> -AM_CFLAGS = \
>>> -     -Wall -pedantic \
>>> -     $(GALLIUM_CFLAGS) \
>>> -     $(XORG_CFLAGS)
>>> -AM_CPPFLAGS = \
>>> -     -I$(top_srcdir)/src/gallium/drivers \
>>> -     -I$(top_srcdir)/src/gallium/winsys
>>> -
>>> -pkgconfigdir = $(libdir)/pkgconfig
>>> -pkgconfig_DATA = xatracker.pc
>>> -
>>> -lib_LTLIBRARIES = libxatracker.la
>>> -
>>> -libxatracker_la_SOURCES = vmw_target.c
>>> -
>>> -libxatracker_la_LDFLAGS = -version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY)
>>> -
>>> -libxatracker_la_LIBADD = \
>>> -     $(top_builddir)/src/gallium/auxiliary/libgallium.la \
>>> -     $(top_builddir)/src/gallium/state_trackers/xa/libxatracker.la \
>>> -     $(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \
>>> -     $(top_builddir)/src/gallium/drivers/svga/libsvga.la \
>>> -     $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
>>> -     $(top_builddir)/src/gallium/drivers/rbug/librbug.la
>>> -
>>> -nodist_EXTRA_libxatracker_la_SOURCES = dummy.cpp
>>> -
>>> -if HAVE_MESA_LLVM
>>> -libxatracker_la_LDFLAGS += $(LLVM_LDFLAGS)
>>> -libxatracker_la_LIBADD += $(LLVM_LIBS)
>>> -endif
>>> -
>>> -# Provide compatibility with scripts for the old Mesa build system for
>>> -# a while by putting a link to the driver into /lib of the build tree.
>>> -all-local: libxatracker.la
>>> -     $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/gallium
>>> -     ln -f .libs/libxatracker.so* $(top_builddir)/$(LIB_DIR)/gallium/
>>> diff --git a/src/gallium/targets/xa-vmwgfx/vmw_target.c b/src/gallium/targets/xa-vmwgfx/vmw_target.c
>>> deleted file mode 100644
>>> index 1087801..0000000
>>> --- a/src/gallium/targets/xa-vmwgfx/vmw_target.c
>>> +++ /dev/null
>>> @@ -1,26 +0,0 @@
>>> -
>>> -#include "target-helpers/inline_debug_helper.h"
>>> -#include "state_tracker/drm_driver.h"
>>> -#include "svga/drm/svga_drm_public.h"
>>> -#include "svga/svga_public.h"
>>> -
>>> -static struct pipe_screen *
>>> -create_screen(int fd)
>>> -{
>>> -   struct svga_winsys_screen *sws;
>>> -   struct pipe_screen *screen;
>>> -
>>> -   sws = svga_drm_winsys_screen_create(fd);
>>> -   if (!sws)
>>> -      return NULL;
>>> -
>>> -   screen = svga_screen_create(sws);
>>> -   if (!screen)
>>> -      return NULL;
>>> -
>>> -   screen = debug_screen_wrap(screen);
>>> -
>>> -   return screen;
>>> -}
>>> -
>>> -DRM_DRIVER_DESCRIPTOR("vmwgfx", "vmwgfx", create_screen, NULL)
>>> diff --git a/src/gallium/targets/xa-vmwgfx/xatracker.pc.in b/src/gallium/targets/xa-vmwgfx/xatracker.pc.in
>>> deleted file mode 100644
>>> index c99d8d6..0000000
>>> --- a/src/gallium/targets/xa-vmwgfx/xatracker.pc.in
>>> +++ /dev/null
>>> @@ -1,9 +0,0 @@
>>> -prefix=@prefix@
>>> -exec_prefix=${prefix}
>>> -libdir=@libdir@
>>> -includedir=@includedir@
>>> -
>>> -Name: xatracker
>>> -Description: Xorg Gallium3D acceleration library
>>> -Version: @XA_VERSION@
>>> -Libs: -L${libdir} -lxatracker
>>> diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am
>>> new file mode 100644
>>> index 0000000..dddb05c
>>> --- /dev/null
>>> +++ b/src/gallium/targets/xa/Makefile.am
>>> @@ -0,0 +1,68 @@
>>> +# Copyright © 2012 Intel Corporation
>>> +#
>>> +# Permission is hereby granted, free of charge, to any person obtaining a
>>> +# copy of this software and associated documentation files (the "Software"),
>>> +# to deal in the Software without restriction, including without limitation
>>> +# the rights to use, copy, modify, merge, publish, distribute, sublicense,
>>> +# and/or sell copies of the Software, and to permit persons to whom the
>>> +# Software is furnished to do so, subject to the following conditions:
>>> +#
>>> +# The above copyright notice and this permission notice (including the next
>>> +# paragraph) shall be included in all copies or substantial portions of the
>>> +# Software.
>>> +#
>>> +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>>> +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>>> +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>>> +# NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
>>> +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
>>> +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>>> +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>> +# DEALINGS IN THE SOFTWARE.
>>> +
>>> +include $(top_srcdir)/src/gallium/Automake.inc
>>> +
>>> +AM_CPPFLAGS = \
>>> +     -I$(top_srcdir)/include \
>>> +     -I$(top_srcdir)/src/gallium/state_trackers/xa \
>>> +     -I$(top_srcdir)/src/gallium/winsys \
>>> +     $(GALLIUM_PIPE_LOADER_DEFINES) \
>>> +     -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\"
>>> +
>>> +AM_CFLAGS = \
>>> +     $(GALLIUM_CFLAGS) \
>>> +     $(LIBUDEV_CFLAGS) \
>>> +     $(LIBDRM_CFLAGS)
>>> +
>>> +pkgconfigdir = $(libdir)/pkgconfig
>>> +pkgconfig_DATA = xatracker.pc
>>> +
>>> +lib_LTLIBRARIES = libxatracker.la
>>> +
>>> +libxatracker_la_SOURCES = xa.c
>>> +
>>> +libxatracker_la_LIBADD = \
>>> +     $(GALLIUM_PIPE_LOADER_LIBS) \
>>> +     $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
>>> +     $(top_builddir)/src/gallium/state_trackers/xa/libxatracker.la \
>>> +     $(top_builddir)/src/gallium/auxiliary/libgallium.la \
>>> +     $(LIBUDEV_LIBS) \
>>> +     $(LIBDRM_LIBS)
>>> +
>>> +libxatracker_la_LDFLAGS = \
>>> +     -no-undefined \
>>> +     -version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY)
>>> +
>>> +# FIXME: this shouldn't be needed
>>> +if HAVE_MESA_LLVM
>>> +libxatracker_la_LINK = $(CXXLINK) $(libxatracker_la_LDFLAGS)
>>> +# Mention a dummy pure C++ file to trigger generation of the $(LINK) variable
>>> +nodist_EXTRA_libxatracker_la_SOURCES = dummy-cpp.cpp
>>> +
>>> +libxatracker_la_LIBADD += $(LLVM_LIBS)
>>> +libxatracker_la_LDFLAGS += $(LLVM_LDFLAGS)
>>> +else
>>> +libxatracker_la_LINK = $(CXXLINK) $(libxatracker_la_LDFLAGS)
>>> +# Mention a dummy pure C file to trigger generation of the $(LINK) variable
>>> +nodist_EXTRA_libxatracker_la_SOURCES = dummy-c.c
>>> +endif
>>> diff --git a/src/gallium/targets/xa/xa.c b/src/gallium/targets/xa/xa.c
>>> new file mode 100644
>>> index 0000000..e3ceaf6
>>> --- /dev/null
>>> +++ b/src/gallium/targets/xa/xa.c
>>> @@ -0,0 +1,49 @@
>>> +/*
>>> + * Copyright (C) 2014 Red Hat
>>> + *
>>> + * Permission is hereby granted, free of charge, to any person obtaining a
>>> + * copy of this software and associated documentation files (the "Software"),
>>> + * to deal in the Software without restriction, including without limitation
>>> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
>>> + * and/or sell copies of the Software, and to permit persons to whom the
>>> + * Software is furnished to do so, subject to the following conditions:
>>> + *
>>> + * The above copyright notice and this permission notice (including the next
>>> + * paragraph) shall be included in all copies or substantial portions of the
>>> + * Software.
>>> + *
>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
>>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>>> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
>>> + * SOFTWARE.
>>> + *
>>> + * Authors:
>>> + *    Rob Clark <robclark at freedesktop.org>
>>> + */
>>> +
>>> +#include "xa.h"
>>> +
>>> +struct pipe_loader_device *
>>> +xa_pipe_probe(int fd)
>>> +{
>>> +    struct pipe_loader_device *dev;
>>> +    if (pipe_loader_drm_probe_fd(&dev, fd))
>>> +     return dev;
>>> +    return NULL;
>>> +}
>>> +
>>> +void
>>> +xa_pipe_release(struct pipe_loader_device *dev)
>>> +{
>>> +    if (dev)
>>> +     pipe_loader_release(&dev, 1);
>>> +}
>>> +
>>> +struct pipe_screen *
>>> +xa_pipe_create_screen(struct pipe_loader_device *dev)
>>> +{
>>> +    return pipe_loader_create_screen(dev, PIPE_SEARCH_DIR);
>>> +}
>>> diff --git a/src/gallium/targets/xa/xa.h b/src/gallium/targets/xa/xa.h
>>> new file mode 100644
>>> index 0000000..9de6851
>>> --- /dev/null
>>> +++ b/src/gallium/targets/xa/xa.h
>>> @@ -0,0 +1,37 @@
>>> +/*
>>> + * Copyright (C) 2014 Red Hat
>>> + *
>>> + * Permission is hereby granted, free of charge, to any person obtaining a
>>> + * copy of this software and associated documentation files (the "Software"),
>>> + * to deal in the Software without restriction, including without limitation
>>> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
>>> + * and/or sell copies of the Software, and to permit persons to whom the
>>> + * Software is furnished to do so, subject to the following conditions:
>>> + *
>>> + * The above copyright notice and this permission notice (including the next
>>> + * paragraph) shall be included in all copies or substantial portions of the
>>> + * Software.
>>> + *
>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
>>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>>> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
>>> + * SOFTWARE.
>>> + *
>>> + * Authors:
>>> + *    Rob Clark <robclark at freedesktop.org>
>>> + */
>>> +
>>> +#ifndef _XA_H_
>>> +#define _XA_H_
>>> +
>>> +#include "pipe/p_screen.h"
>>> +#include "pipe-loader/pipe_loader.h"
>>> +
>>> +struct pipe_loader_device *xa_pipe_probe(int fd);
>>> +void xa_pipe_release(struct pipe_loader_device *dev);
>>> +struct pipe_screen * xa_pipe_create_screen(struct pipe_loader_device *dev);
>>> +
>>> +#endif /* _XA_H_ */
>>> diff --git a/src/gallium/targets/xa/xatracker.pc.in b/src/gallium/targets/xa/xatracker.pc.in
>>> new file mode 100644
>>> index 0000000..c99d8d6
>>> --- /dev/null
>>> +++ b/src/gallium/targets/xa/xatracker.pc.in
>>> @@ -0,0 +1,9 @@
>>> +prefix=@prefix@
>>> +exec_prefix=${prefix}
>>> +libdir=@libdir@
>>> +includedir=@includedir@
>>> +
>>> +Name: xatracker
>>> +Description: Xorg Gallium3D acceleration library
>>> +Version: @XA_VERSION@
>>> +Libs: -L${libdir} -lxatracker
>>>
>>



More information about the dri-devel mailing list