diff options
Diffstat (limited to 'src/gallium/targets/libgl-xlib')
-rw-r--r-- | src/gallium/targets/libgl-xlib/Makefile | 13 | ||||
-rw-r--r-- | src/gallium/targets/libgl-xlib/SConscript | 4 | ||||
-rw-r--r-- | src/gallium/targets/libgl-xlib/xlib.c | 12 |
3 files changed, 27 insertions, 2 deletions
diff --git a/src/gallium/targets/libgl-xlib/Makefile b/src/gallium/targets/libgl-xlib/Makefile index fe0541543a..79e516a2a7 100644 --- a/src/gallium/targets/libgl-xlib/Makefile +++ b/src/gallium/targets/libgl-xlib/Makefile @@ -25,7 +25,8 @@ INCLUDE_DIRS = \ $(X11_CFLAGS) DEFINES += \ - -DGALLIUM_SOFTPIPE + -DGALLIUM_SOFTPIPE \ + -DGALLIUM_GALAHAD #-DGALLIUM_CELL will be defined by the config */ XLIB_TARGET_SOURCES = \ @@ -50,6 +51,14 @@ LIBS = \ $(CELL_SPU_LIB) \ +# LLVM +ifeq ($(MESA_LLVM),1) +DEFINES += -DGALLIUM_LLVMPIPE +GL_LIB_DEPS += $(LLVM_LIBS) +LDFLAGS += $(LLVM_LDFLAGS) +endif + + .SUFFIXES : .cpp .c.o: @@ -68,7 +77,7 @@ $(TOP)/$(LIB_DIR)/gallium: # Make the libGL.so library $(TOP)/$(LIB_DIR)/gallium/$(GL_LIB_NAME): $(XLIB_TARGET_OBJECTS) $(LIBS) Makefile $(TOP)/bin/mklib -o $(GL_LIB) \ - -linker "$(CXX)" \ + -linker "$(CXX)" -ldflags '$(LDFLAGS)' \ -major $(GL_MAJOR) -minor $(GL_MINOR) -patch $(GL_TINY) \ -cplusplus \ -install $(TOP)/$(LIB_DIR)/gallium \ diff --git a/src/gallium/targets/libgl-xlib/SConscript b/src/gallium/targets/libgl-xlib/SConscript index 88e216a65b..27b562e1d5 100644 --- a/src/gallium/targets/libgl-xlib/SConscript +++ b/src/gallium/targets/libgl-xlib/SConscript @@ -48,6 +48,10 @@ if True: env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') env.Prepend(LIBS = [softpipe]) +if True: + env.Append(CPPDEFINES = 'GALLIUM_GALAHAD') + env.Prepend(LIBS = [galahad]) + if env['llvm']: env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') env.Tool('udis86') diff --git a/src/gallium/targets/libgl-xlib/xlib.c b/src/gallium/targets/libgl-xlib/xlib.c index 5a9c80c856..5914f63352 100644 --- a/src/gallium/targets/libgl-xlib/xlib.c +++ b/src/gallium/targets/libgl-xlib/xlib.c @@ -78,6 +78,10 @@ st_api_create_OpenGL() #include "cell/ppu/cell_public.h" #endif +#ifdef GALLIUM_GALAHAD +#include "galahad/glhd_public.h" +#endif + static struct pipe_screen * swrast_create_screen(struct sw_winsys *winsys) { @@ -112,6 +116,14 @@ swrast_create_screen(struct sw_winsys *winsys) screen = softpipe_create_screen( winsys ); #endif +#if defined(GALLIUM_GALAHAD) + if (screen) { + struct pipe_screen *galahad_screen = galahad_screen_create(screen); + if (galahad_screen) + screen = galahad_screen; + } +#endif + return screen; } |