[Mesa-dev] [PATCH v2 00/12] gallium: Misc. changes from gallium-compute.

Francisco Jerez currojerez at riseup.net
Sat Mar 24 06:39:53 PDT 2012


Jakob Bornecrantz <jakob at vmware.com> writes:

> ----- Original Message -----
>> Jakob Bornecrantz <jakob at vmware.com> writes:
>> 
>> >> +libws_loader_la_LIBADD = \
>> >> + $(top_srcdir)/src/gallium/winsys/sw/null/libws_null.la
>> >> +
>> >> +if HAVE_XLIB_LOADER_GALLIUM
>> >> +libws_loader_la_LIBADD += \
>> >> + $(top_srcdir)/src/gallium/winsys/sw/xlib/libws_xlib.la
>> >> +AM_CFLAGS += -DHAVE_WS_LOADER_XLIB
>> >> +endif
>> >
>> > Ah so this explains the not sorting winsys dir, this shouldn't
>> > be done on the winsys this is for the target to keep track of.
>> > Just as it is the targets job to link libdrm.
>> >
>> 
>> I had the feeling that letting a winsys link to another wouldn't be
>> much of a problem, especially if all the winsys build system is
>> going to be converted to automake and we're going to get a more
>> automated dependency tracking.  But, if we don't want to relax
>> that restriction anyway, the other possibility would be to define
>> a GALLIUM_WS_LOADER_LIBS variable at configure time containing all
>> the objects a target has to pull in order to link to the winsys
>> loader.  Would that be OK with you?
>
> Sounds good with me. Under the scons build we usually put that
> calculation in the targets [1][2], but I guess for automake we
> want a more centralized approach.
>

Updated patch series follows.  I've used the configure variable
approach to avoid having to replicate the same logic in every target
that makes use of winsys/loader.  '[PATCH 09/15] configure.ac: Don't
sort GALLIUM_WINSYS_DIRS' isn't necessary now.

Jakob Bornecrantz <jakob at vmware.com> writes:

> I'm not against this and the other change per say, I just
> wished all of the winsys's where converted at the same time.

OK, I'm also leaving out the automake conversion of winsys/null and
winsys/xlib for a future patch series.

Thanks.

Francisco Jerez (12):
      gallium/util: Define util_strchrnul.
      gallium/tgsi/ureg: Lift the restriction on releasing temporaries over UREG_MAX_TEMP.
      gallium/tgsi/ureg: Support local temporary emission.
      st/mesa: Use local temporary registers.
      gallium/tgsi: Add new 'has_label' opcode info flag, and fix tgsi_text.c to use it.
      gallium/tgsi: Fix tgsi_build_full_immediate() for non-float data types.
      gallium/tgsi/text: Parse immediates of non-float data types.
      gallium/tgsi/text: Replace open-coded integer parsing with parse_int().
      gallium: Add winsys loader for device enumeration and driver multiplexing.
      gallium: Add "pipe-loader" target.
      gallium/tests/trivial: Switch to the winsys loader.
      gallium/gbm: Switch to the winsys loader.

 configs/autoconf.in                                |    3 +
 configure.ac                                       |   33 ++
 src/gallium/auxiliary/tgsi/tgsi_build.c            |   30 +-
 src/gallium/auxiliary/tgsi/tgsi_info.c             |  352 ++++++++++----------
 src/gallium/auxiliary/tgsi/tgsi_info.h             |    1 +
 src/gallium/auxiliary/tgsi/tgsi_text.c             |   88 +++--
 src/gallium/auxiliary/tgsi/tgsi_ureg.c             |   85 +++--
 src/gallium/auxiliary/tgsi/tgsi_ureg.h             |    3 +
 src/gallium/auxiliary/util/u_string.h              |   24 +-
 src/gallium/state_trackers/gbm/gbm_drm.c           |    5 +-
 .../state_trackers/gbm/gbm_gallium_drmint.h        |    3 +
 src/gallium/targets/gbm/Makefile                   |  170 +---------
 src/gallium/targets/gbm/gbm.c                      |   44 ++-
 src/gallium/targets/gbm/pipe_i915.c                |   27 --
 src/gallium/targets/gbm/pipe_loader.c              |  192 -----------
 src/gallium/targets/gbm/pipe_loader.h              |   48 ---
 src/gallium/targets/gbm/pipe_nouveau.c             |   21 --
 src/gallium/targets/gbm/pipe_r300.c                |   27 --
 src/gallium/targets/gbm/pipe_r600.c                |   26 --
 src/gallium/targets/gbm/pipe_swrast.c              |   22 --
 src/gallium/targets/gbm/pipe_vmwgfx.c              |   27 --
 src/gallium/targets/pipe-loader/Makefile           |  165 +++++++++
 src/gallium/targets/pipe-loader/pipe_i915.c        |   27 ++
 src/gallium/targets/pipe-loader/pipe_nouveau.c     |   21 ++
 src/gallium/targets/pipe-loader/pipe_r300.c        |   27 ++
 src/gallium/targets/pipe-loader/pipe_r600.c        |   26 ++
 src/gallium/targets/pipe-loader/pipe_swrast.c      |   22 ++
 src/gallium/targets/pipe-loader/pipe_vmwgfx.c      |   27 ++
 src/gallium/tests/trivial/Makefile                 |   25 +-
 src/gallium/tests/trivial/quad-tex.c               |   24 +-
 src/gallium/tests/trivial/tri.c                    |   24 +-
 src/gallium/winsys/loader/Makefile.am              |   34 ++
 src/gallium/winsys/loader/ws_loader.c              |  102 ++++++
 src/gallium/winsys/loader/ws_loader.h              |  144 ++++++++
 src/gallium/winsys/loader/ws_loader_drm.c          |  218 ++++++++++++
 src/gallium/winsys/loader/ws_loader_priv.h         |   47 +++
 src/gallium/winsys/loader/ws_loader_sw.c           |  107 ++++++
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         |    8 +-
 38 files changed, 1411 insertions(+), 868 deletions(-)


More information about the mesa-dev mailing list