glcore: build from mesa
This commit is contained in:
7
Makefile
7
Makefile
@@ -50,6 +50,13 @@ install:
|
|||||||
linux-directfb-install:
|
linux-directfb-install:
|
||||||
cd src/mesa/drivers/directfb && $(MAKE) install
|
cd src/mesa/drivers/directfb && $(MAKE) install
|
||||||
|
|
||||||
|
# Xserver GLcore module
|
||||||
|
glcore:
|
||||||
|
cd src/mesa/drivers/xorg ; $(MAKE)
|
||||||
|
|
||||||
|
glcore-install:
|
||||||
|
cd src/mesa/drivers/xorg ; $(MAKE) install
|
||||||
|
|
||||||
# If there's no current configuration file
|
# If there's no current configuration file
|
||||||
$(TOP)/configs/current:
|
$(TOP)/configs/current:
|
||||||
@echo
|
@echo
|
||||||
|
@@ -83,6 +83,9 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
|
|||||||
$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
|
$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
|
||||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
|
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
|
||||||
|
|
||||||
|
# GLcore dependencies
|
||||||
|
GLCORE_LIB_DEPS = $(EXTRA_LIB_PATH) @GLCORE_LIB_DEPS@
|
||||||
|
|
||||||
# DRI dependencies
|
# DRI dependencies
|
||||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
|
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
|
||||||
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
|
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
|
||||||
|
@@ -387,6 +387,7 @@ xlib)
|
|||||||
GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
|
GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
|
||||||
fi
|
fi
|
||||||
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
|
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
|
||||||
|
GLCORE_LIB_DEPS=""
|
||||||
|
|
||||||
# if static, move the external libraries to the programs
|
# if static, move the external libraries to the programs
|
||||||
# and empty the libraries for libGL
|
# and empty the libraries for libGL
|
||||||
@@ -418,13 +419,16 @@ dri)
|
|||||||
|
|
||||||
# need DRM libs, -lpthread, etc.
|
# need DRM libs, -lpthread, etc.
|
||||||
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
||||||
|
GLCORE_LIB_DEPS="-lm -lpthread $DLOPEN_LIBS"
|
||||||
;;
|
;;
|
||||||
osmesa)
|
osmesa)
|
||||||
# No libGL for osmesa
|
# No libGL for osmesa
|
||||||
GL_LIB_DEPS=""
|
GL_LIB_DEPS=""
|
||||||
|
GLCORE_LIB_DEPS=""
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
AC_SUBST(GL_LIB_DEPS)
|
AC_SUBST(GL_LIB_DEPS)
|
||||||
|
AC_SUBST(GLCORE_LIB_DEPS)
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl More X11 setup
|
dnl More X11 setup
|
||||||
|
@@ -181,4 +181,77 @@ typedef struct __GLcontextModesRec {
|
|||||||
#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
|
#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
|
||||||
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
|
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
|
||||||
|
#ifdef _NEED_GL_CORE_IF
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The GLcore interface (a subset of the XMesa interface)
|
||||||
|
*/
|
||||||
|
#define __GL_CORE "GL_Core"
|
||||||
|
|
||||||
|
typedef struct __GLcoreModuleRec {
|
||||||
|
/*
|
||||||
|
* XMesaVisual
|
||||||
|
*/
|
||||||
|
XMesaVisual (*XMesaCreateVisual)( ScreenPtr display,
|
||||||
|
VisualPtr visinfo,
|
||||||
|
GLboolean rgb_flag,
|
||||||
|
GLboolean alpha_flag,
|
||||||
|
GLboolean db_flag,
|
||||||
|
GLboolean stereo_flag,
|
||||||
|
GLboolean ximage_flag,
|
||||||
|
GLint depth_size,
|
||||||
|
GLint stencil_size,
|
||||||
|
GLint accum_red_size,
|
||||||
|
GLint accum_green_size,
|
||||||
|
GLint accum_blue_size,
|
||||||
|
GLint accum_alpha_size,
|
||||||
|
GLint num_samples,
|
||||||
|
GLint level,
|
||||||
|
GLint visualCaveat );
|
||||||
|
|
||||||
|
void (*XMesaDestroyVisual)( XMesaVisual v );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XMesaBuffer
|
||||||
|
*/
|
||||||
|
XMesaBuffer (*XMesaCreateWindowBuffer)( XMesaVisual v,
|
||||||
|
WindowPtr w );
|
||||||
|
|
||||||
|
XMesaBuffer (*XMesaCreatePixmapBuffer)( XMesaVisual v,
|
||||||
|
PixmapPtr p,
|
||||||
|
ColormapPtr cmap );
|
||||||
|
|
||||||
|
void (*XMesaDestroyBuffer)( XMesaBuffer b );
|
||||||
|
|
||||||
|
void (*XMesaSwapBuffers)( XMesaBuffer b );
|
||||||
|
|
||||||
|
void (*XMesaResizeBuffers)( XMesaBuffer b );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XMesaContext
|
||||||
|
*/
|
||||||
|
XMesaContext (*XMesaCreateContext)( XMesaVisual v,
|
||||||
|
XMesaContext share_list );
|
||||||
|
|
||||||
|
void (*XMesaDestroyContext)( XMesaContext c );
|
||||||
|
|
||||||
|
GLboolean (*XMesaCopyContext)( XMesaContext src,
|
||||||
|
XMesaContext dst,
|
||||||
|
GLuint mask );
|
||||||
|
|
||||||
|
GLboolean (*XMesaMakeCurrent2)( XMesaContext c,
|
||||||
|
XMesaBuffer drawBuffer,
|
||||||
|
XMesaBuffer readBuffer );
|
||||||
|
|
||||||
|
GLboolean (*XMesaForceCurrent)( XMesaContext c );
|
||||||
|
|
||||||
|
GLboolean (*XMesaLoseCurrent)( XMesaContext c );
|
||||||
|
|
||||||
|
} __GLcoreModule;
|
||||||
|
|
||||||
|
#endif /* _NEED_GL_CORE_IF */
|
||||||
|
|
||||||
#endif /* __gl_core_h_ */
|
#endif /* __gl_core_h_ */
|
||||||
|
@@ -103,9 +103,11 @@ OSMESA16_OBJECTS = \
|
|||||||
$(OSMESA_DRIVER_OBJECTS)
|
$(OSMESA_DRIVER_OBJECTS)
|
||||||
|
|
||||||
|
|
||||||
stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
|
stand-alone: depend subdirs libmesa.a \
|
||||||
|
$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
|
||||||
|
|
||||||
osmesa-only: depend subdirs $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
|
osmesa-only: depend subdirs \
|
||||||
|
$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
|
||||||
|
|
||||||
# Make the GL library
|
# Make the GL library
|
||||||
$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS)
|
$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS)
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
#ifdef XFree86Server
|
#ifdef XFree86Server
|
||||||
|
|
||||||
|
# include "xorg-server.h"
|
||||||
# include "resource.h"
|
# include "resource.h"
|
||||||
# include "windowstr.h"
|
# include "windowstr.h"
|
||||||
|
|
||||||
|
3
src/mesa/drivers/xorg/.gitignore
vendored
Normal file
3
src/mesa/drivers/xorg/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
glxheader.h
|
||||||
|
xmesaP.h
|
||||||
|
xm_*
|
86
src/mesa/drivers/xorg/Makefile
Normal file
86
src/mesa/drivers/xorg/Makefile
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# src/mesa/drivers/xorg/Makefile
|
||||||
|
|
||||||
|
TOP = ../../../..
|
||||||
|
include $(TOP)/configs/current
|
||||||
|
|
||||||
|
LIBNAME = libGLcore.so
|
||||||
|
|
||||||
|
SYMLINKS = \
|
||||||
|
glxheader.h \
|
||||||
|
xmesaP.h \
|
||||||
|
xm_api.c \
|
||||||
|
xm_buffer.c \
|
||||||
|
xm_dd.c \
|
||||||
|
xm_image.c \
|
||||||
|
xm_image.h \
|
||||||
|
xm_line.c \
|
||||||
|
xm_span.c \
|
||||||
|
xm_tri.c
|
||||||
|
|
||||||
|
C_SOURCES = \
|
||||||
|
xm_api.c \
|
||||||
|
xm_buffer.c \
|
||||||
|
xm_dd.c \
|
||||||
|
xm_image.c \
|
||||||
|
xm_line.c \
|
||||||
|
xm_span.c \
|
||||||
|
xm_tri.c \
|
||||||
|
glcore.c
|
||||||
|
|
||||||
|
########################################
|
||||||
|
|
||||||
|
MESA_MODULES = $(TOP)/src/mesa/libmesa.a
|
||||||
|
|
||||||
|
C_SOURCES += ../common/driverfuncs.c
|
||||||
|
|
||||||
|
OBJECTS = $(C_SOURCES:.c=.o)
|
||||||
|
|
||||||
|
### Include directories
|
||||||
|
INCLUDES = \
|
||||||
|
-I. \
|
||||||
|
-I.. \
|
||||||
|
-I$(TOP)/include \
|
||||||
|
-I$(TOP)/src/mesa \
|
||||||
|
-I$(TOP)/src/mesa/main \
|
||||||
|
-I$(TOP)/src/mesa/glapi \
|
||||||
|
`pkg-config --cflags xorg-server`
|
||||||
|
|
||||||
|
# undef 'USE_XSHM' to make it explicit that 'XFree86Server' takes precedence
|
||||||
|
DRIVER_DEFINES = -UUSE_XSHM -DXFree86Server
|
||||||
|
|
||||||
|
##### RULES #####
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
##### TARGETS #####
|
||||||
|
|
||||||
|
default: depend symlinks $(LIBNAME)
|
||||||
|
|
||||||
|
|
||||||
|
$(LIBNAME): $(OBJECTS) $(MESA_MODULES) Makefile
|
||||||
|
$(TOP)/bin/mklib -noprefix -o $@ \
|
||||||
|
$(OBJECTS) $(MESA_MODULES) $(GLCORE_LIB_DEPS)
|
||||||
|
|
||||||
|
|
||||||
|
depend: $(C_SOURCES) $(SYMLINKS)
|
||||||
|
touch depend
|
||||||
|
$(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
|
||||||
|
> /dev/null
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f *.o *.so $(SYMLINKS)
|
||||||
|
-rm -f depend depend.bak
|
||||||
|
|
||||||
|
install: $(LIBNAME)
|
||||||
|
$(INSTALL) -d $(DRI_DRIVER_INSTALL_DIR)
|
||||||
|
$(INSTALL) -m 755 $(LIBNAME) $(DRI_DRIVER_INSTALL_DIR)
|
||||||
|
|
||||||
|
$(SYMLINKS):
|
||||||
|
@[ -e $@ ] || ln -sf ../x11/$@ ./
|
||||||
|
|
||||||
|
symlinks: $(SYMLINKS)
|
||||||
|
|
||||||
|
include depend
|
24
src/mesa/drivers/xorg/glcore.c
Normal file
24
src/mesa/drivers/xorg/glcore.c
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
#define _NEED_GL_CORE_IF
|
||||||
|
#include <GL/xmesa.h>
|
||||||
|
#include <GL/internal/glcore.h>
|
||||||
|
#include "xmesaP.h"
|
||||||
|
|
||||||
|
PUBLIC
|
||||||
|
__GLcoreModule GL_Core = {
|
||||||
|
XMesaCreateVisual,
|
||||||
|
XMesaDestroyVisual,
|
||||||
|
|
||||||
|
XMesaCreateWindowBuffer,
|
||||||
|
XMesaCreatePixmapBuffer,
|
||||||
|
XMesaDestroyBuffer,
|
||||||
|
XMesaSwapBuffers,
|
||||||
|
XMesaResizeBuffers,
|
||||||
|
|
||||||
|
XMesaCreateContext,
|
||||||
|
XMesaDestroyContext,
|
||||||
|
XMesaCopyContext,
|
||||||
|
XMesaMakeCurrent2,
|
||||||
|
XMesaForceCurrent,
|
||||||
|
XMesaLoseCurrent
|
||||||
|
};
|
@@ -50,6 +50,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_DIX_CONFIG_H
|
||||||
|
#include <dix-config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "glheader.h"
|
#include "glheader.h"
|
||||||
#include "glapi.h"
|
#include "glapi.h"
|
||||||
#include "glapioffsets.h"
|
#include "glapioffsets.h"
|
||||||
|
@@ -29,6 +29,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_DIX_CONFIG_H
|
||||||
|
#include <dix-config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "glheader.h"
|
#include "glheader.h"
|
||||||
#include "glthread.h"
|
#include "glthread.h"
|
||||||
|
|
||||||
|
@@ -46,11 +46,6 @@
|
|||||||
#ifndef GLHEADER_H
|
#ifndef GLHEADER_H
|
||||||
#define GLHEADER_H
|
#define GLHEADER_H
|
||||||
|
|
||||||
/* This allows Mesa to be integrated into XFree86 */
|
|
||||||
#ifdef HAVE_DIX_CONFIG_H
|
|
||||||
#include "dix-config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#if defined(__alpha__) && defined(CCPML)
|
#if defined(__alpha__) && defined(CCPML)
|
||||||
|
Reference in New Issue
Block a user