From d08e7bcd0c59464c848b4d89a5fbfda8dab89728 Mon Sep 17 00:00:00 2001 From: "Sergey Semyonov (Serge)" Date: Mon, 1 Sep 2014 20:27:45 +0000 Subject: [PATCH] mesa: build gbm_gallium_drm.dll git-svn-id: svn://kolibrios.org@5081 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/sdk/sources/Mesa/src/gallium/Makefile | 17 +++++-- contrib/sdk/sources/Mesa/src/gallium/gbm.def | 4 ++ .../sources/newlib/libc/include/kos32sys.h | 51 ++++++++++--------- 3 files changed, 42 insertions(+), 30 deletions(-) create mode 100644 contrib/sdk/sources/Mesa/src/gallium/gbm.def diff --git a/contrib/sdk/sources/Mesa/src/gallium/Makefile b/contrib/sdk/sources/Mesa/src/gallium/Makefile index f40f466237..0441e50381 100644 --- a/contrib/sdk/sources/Mesa/src/gallium/Makefile +++ b/contrib/sdk/sources/Mesa/src/gallium/Makefile @@ -17,7 +17,7 @@ INC_I965:= -I$(SRC_DIR)/libdrm/intel -I$(SRC_DIR)/libdrm/include/drm LIBPATH:= -L$(SDK_DIR)/lib -L/home/autobuild/tools/win32/mingw32/lib -LIBS:= -ldll -lglsl -lGL.dll -lsupc++ -lgcc_eh -ldrm.dll -lexpat -lc.dll -lgcc +LIBS:= -ldll -lgallium -lc.dll -lgcc MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256 MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\" @@ -156,27 +156,34 @@ GALLIUM_SRC:= \ auxiliary/vl/vl_video_buffer.c GBM_SRC = \ + auxiliary/pipe-loader/pipe_loader.c \ + auxiliary/pipe-loader/pipe_loader_drm.c \ + auxiliary/pipe-loader/pipe_loader_sw.c \ state_trackers/gbm/gbm_drm.c \ - targets/gbm/gbm.c - -WINSYS_SRC = \ + targets/gbm/gbm.c \ winsys/sw/null/null_sw_winsys.c I965_SRC = \ $(NULL) GALLIUM_OBJS = $(patsubst %.c, %.o, $(patsubst %.S, %.o, $(patsubst %.cpp, %.o, $(GALLIUM_SRC)))) +GBM_OBJS = $(patsubst %.c, %.o, $(GBM_SRC)) + OSMESA_OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(OSMESA_SRC))) I965_OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(I965_SRC))) # targets -all: libgallium.a +all: libgallium.a gbm_gallium_drm.dll libgallium.a: $(GALLIUM_OBJS) Makefile $(AR) crs $@ $(GALLIUM_OBJS) mv -f $@ $(SDK_DIR)/lib +gbm_gallium_drm.dll: libgallium.a $(GBM_OBJS) Makefile + $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(GBM_OBJS) gbm.def $(LIBS) + mv -f $@ $(SDK_DIR)/bin + i965_dri.drv: $(I965_OBJS) $(MESA_OBJS) dri.def Makefile $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(I965_OBJS) $(MESA_OBJS) dri.def $(LIBS) mv -f $@ $(SDK_DIR)/bin diff --git a/contrib/sdk/sources/Mesa/src/gallium/gbm.def b/contrib/sdk/sources/Mesa/src/gallium/gbm.def new file mode 100644 index 0000000000..e1738e4f36 --- /dev/null +++ b/contrib/sdk/sources/Mesa/src/gallium/gbm.def @@ -0,0 +1,4 @@ +VERSION 6.5 +EXPORTS + DllStartup + gbm_backend DATA diff --git a/contrib/sdk/sources/newlib/libc/include/kos32sys.h b/contrib/sdk/sources/newlib/libc/include/kos32sys.h index c834a1417d..de445dd075 100644 --- a/contrib/sdk/sources/newlib/libc/include/kos32sys.h +++ b/contrib/sdk/sources/newlib/libc/include/kos32sys.h @@ -212,25 +212,27 @@ uint32_t get_os_button() static inline uint32_t get_service(char *name) { - uint32_t retval = 0; - asm volatile ("int $0x40" - :"=a"(retval) - :"a"(68),"b"(16),"c"(name) - :"memory"); + uint32_t retval = 0; + __asm__ __volatile__( + "int $0x40" + :"=a"(retval) + :"a"(68),"b"(16),"c"(name) + :"memory"); - return retval; + return retval; }; static inline int call_service(ioctl_t *io) { - int retval; + int retval; - asm volatile("int $0x40" - :"=a"(retval) - :"a"(68),"b"(17),"c"(io) - :"memory","cc"); + __asm__ __volatile__( + "int $0x40" + :"=a"(retval) + :"a"(68),"b"(17),"c"(io) + :"memory","cc"); - return retval; + return retval; }; @@ -340,26 +342,26 @@ typedef union static inline ufile_t load_file(const char *path) { - ufile_t uf; + ufile_t uf; - __asm__ __volatile__ ( - "int $0x40" - :"=A"(uf.raw) - :"a" (68), "b"(27),"c"(path)); + __asm__ __volatile__ ( + "int $0x40" + :"=A"(uf.raw) + :"a" (68), "b"(27),"c"(path)); - return uf; + return uf; }; static inline ufile_t LoadFile(const char *path) __attribute__ ((alias ("load_file"))); static inline int GetScreenSize() { - int retval; + int retval; - __asm__ __volatile__( - "int $0x40" - :"=a"(retval) - :"a"(61), "b"(1)); - return retval; + __asm__ __volatile__( + "int $0x40" + :"=a"(retval) + :"a"(61), "b"(1)); + return retval; } static inline @@ -461,7 +463,6 @@ static inline void Blit(void *bitmap, int dst_x, int dst_y, __asm__ __volatile__( "int $0x40" ::"a"(73),"b"(0),"c"(&bc.dstx)); - }; #endif