Most of these changes affect various parts of the gallium auxiliary libraries and they aren't directly related to compute by themselves, but they turned out to be useful for the OpenCL state tracker in one way or another.
Patch 12 implements the winsys/loader abstraction that will be used by the CL library to enumerate the hardware (or software) devices that are present in the system, load the shared library that contains the matching pipe driver, and create winsys and pipe_screen instances for them using a uniform API. The main reason for converting winsys/null and winsys/xlib to automake in patches 10 and 11 was to make the linking process of winsys/loader a bit less painful. Patches 2, 8, 15 aren't strictly required by anything else, they're mainly clean-ups that are made possible by other commits of the series. Francisco Jerez (14): 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(). winsys/sw/null: Convert to automake. winsys/sw/xlib: Convert to automake. 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. Tom Stellard (1): configure.ac: Don't sort GALLIUM_WINSYS_DIRS configure.ac | 22 +- 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 | 168 +--------- 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 | 24 +- 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 | 136 ++++++++ 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/gallium/winsys/sw/null/Makefile | 16 - src/gallium/winsys/sw/null/Makefile.am | 23 ++ src/gallium/winsys/sw/xlib/Makefile | 17 - src/gallium/winsys/sw/xlib/Makefile.am | 24 ++ src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 +- 41 files changed, 1433 insertions(+), 901 deletions(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev