diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | configs/linux-glide | 22 | ||||
-rw-r--r-- | configs/linux-x86-glide | 26 | ||||
-rw-r--r-- | docs/README.DJ | 12 | ||||
-rw-r--r-- | src/mesa/Makefile.DJ | 75 | ||||
-rw-r--r-- | src/mesa/Makefile.mgw | 77 | ||||
-rw-r--r-- | src/mesa/tnl/t_vtx_x86_gcc.S | 4 |
7 files changed, 65 insertions, 153 deletions
@@ -64,6 +64,7 @@ linux \ linux-alpha \ linux-alpha-static \ linux-debug \ +linux-glide \ linux-icc \ linux-icc-static \ linux-osmesa16 \ @@ -79,6 +80,7 @@ linux-ultrasparc \ linux-x86 \ linux-x86-64 \ linux-x86-64-static \ +linux-x86-glide \ linux-x86-static \ netbsd \ openbsd \ diff --git a/configs/linux-glide b/configs/linux-glide new file mode 100644 index 00000000000..503f0bb0773 --- /dev/null +++ b/configs/linux-glide @@ -0,0 +1,22 @@ +# Configuration for generic Linux with 3Dfx Glide driver + +include $(TOP)/configs/default + +CONFIG_NAME = linux-glide + +# Compiler and flags +CC = gcc +CXX = g++ + +CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include +CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE +GLUT_CFLAGS = -fexceptions + + +# Library/program dependencies +GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread +OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL +GLU_LIB_DEPS = -L$(LIB_DIR) -lGL -lm +GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm +GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib -lXt -lXm -lX11 +APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide3x -lm diff --git a/configs/linux-x86-glide b/configs/linux-x86-glide new file mode 100644 index 00000000000..6e4b6229acc --- /dev/null +++ b/configs/linux-x86-glide @@ -0,0 +1,26 @@ +# Configuration for Linux with 3Dfx Glide driver and x86 optimizations + +include $(TOP)/configs/default + +CONFIG_NAME = linux-x86-glide + +# Compiler and flags +CC = gcc +CXX = g++ + +CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include + +CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE + +GLUT_CFLAGS = -fexceptions + + +ASM_SOURCES = $(X86_SOURCES) + +# Library/program dependencies +GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread +OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL +GLU_LIB_DEPS = -L$(LIB_DIR) -lGL -lm +GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm +GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib -lXt -lXm -lX11 +APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide3x -lm diff --git a/docs/README.DJ b/docs/README.DJ index 63d3711e0e1..12ffc116640 100644 --- a/docs/README.DJ +++ b/docs/README.DJ @@ -42,15 +42,7 @@ Available options: As a consequence, you'll need the DJGPP Glide3 library to build any application. default = no - HAVE_X86=1 optimize for i386. - default = no - HAVE_MMX=1 allow MMX specializations, provided your assembler - supports MMX instruction set. However, the true CPU - capabilities are checked at run-time to avoid lockups. - default = no - HAVE_SSE=1 (see HAVE_MMX) - default = no - HAVE_3DNOW=1 (see HAVE_MMX) + X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow). default = no Targets: @@ -100,7 +92,7 @@ FAQ: 2. Using Mesa for DJGPP Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better... - A) Is that a question? If you have a 3dfx Voodoo^2 or higher card, you're + A) Is that a question? If you have a 3dfx Voodoo or higher card, you're lucky (check http://sourceforge.net/projects/glide for the DJGPP port). If you haven't, sorry; everything is done in software. Suggestions? diff --git a/src/mesa/Makefile.DJ b/src/mesa/Makefile.DJ index ee14aa6c5af..6ee62fc3745 100644 --- a/src/mesa/Makefile.DJ +++ b/src/mesa/Makefile.DJ @@ -40,15 +40,7 @@ # As a consequence, you'll need the DJGPP Glide3 # library to build any application. # default = no -# HAVE_X86=1 optimize for i386. -# default = no -# HAVE_MMX=1 allow MMX specializations, provided your assembler -# supports MMX instruction set. However, the true CPU -# capabilities are checked at run-time to avoid crashes. -# default = no -# HAVE_SSE=1 (see HAVE_MMX) -# default = no -# HAVE_3DNOW=1 (see HAVE_MMX) +# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow). # default = no # # Targets: @@ -71,7 +63,7 @@ GL_IMP = libigl.a export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR);$(GLIDE)/lib CC = gcc -CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi +CFLAGS += $(INCLUDE_DIRS) ifeq ($(FX),1) CFLAGS += -D__DOS__ CFLAGS += -I$(GLIDE)/include -DFX @@ -93,59 +85,11 @@ endif include sources -X86_SOURCES = \ - x86/x86.c \ - x86/glapi_x86.S \ - x86/common_x86.c \ - x86/common_x86_asm.S \ - x86/x86_xform2.S \ - x86/x86_xform3.S \ - x86/x86_xform4.S \ - x86/x86_cliptest.S - -MMX_SOURCES = \ - x86/mmx_blend.S - -SSE_SOURCES = \ - x86/sse.c \ - x86/sse_xform2.S \ - x86/sse_xform3.S \ - x86/sse_xform4.S \ - x86/sse_normal.S - -K3D_SOURCES = \ - x86/3dnow.c \ - x86/3dnow_xform2.S \ - x86/3dnow_xform3.S \ - x86/3dnow_xform4.S \ - x86/3dnow_normal.S - -CORE_SOURCES = \ - $(MAIN_SOURCES) \ - $(GLAPI_SOURCES) \ - $(MATH_SOURCES) \ - $(ARRAY_CACHE_SOURCES) \ - $(TNL_SOURCES) \ - $(SWRAST_SOURCES) \ - $(SWRAST_SETUP_SOURCES) - -ifeq ($(HAVE_MMX),1) -X86_SOURCES += $(MMX_SOURCES) +ifeq ($(X86),1) +CFLAGS += -DUSE_X86_ASM CFLAGS += -DUSE_MMX_ASM -HAVE_X86 = 1 -endif -ifeq ($(HAVE_SSE),1) -X86_SOURCES += $(SSE_SOURCES) CFLAGS += -DUSE_SSE_ASM -HAVE_X86 = 1 -endif -ifeq ($(HAVE_3DNOW),1) -X86_SOURCES += $(K3D_SOURCES) CFLAGS += -DUSE_3DNOW_ASM -HAVE_X86 = 1 -endif -ifeq ($(HAVE_X86),1) -CFLAGS += -DUSE_X86_ASM else X86_SOURCES = endif @@ -154,16 +98,7 @@ DRIVER_SOURCES = \ drivers/dos/dmesa.c ifeq ($(FX),1) DRIVER_SOURCES += \ - drivers/glide/fxapi.c \ - drivers/glide/fxdd.c \ - drivers/glide/fxddspan.c \ - drivers/glide/fxddtex.c \ - drivers/glide/fxsetup.c \ - drivers/glide/fxtexman.c \ - drivers/glide/fxtris.c \ - drivers/glide/fxvb.c \ - drivers/glide/fxglidew.c \ - drivers/glide/fxg.c + $(GLIDE_DRIVER_SOURCES) else DRIVER_SOURCES += \ drivers/dos/video.c \ diff --git a/src/mesa/Makefile.mgw b/src/mesa/Makefile.mgw index 31b57959f92..9084bf478ba 100644 --- a/src/mesa/Makefile.mgw +++ b/src/mesa/Makefile.mgw @@ -20,7 +20,7 @@ # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# MinGW core makefile v1.2 for Mesa +# MinGW core makefile v1.3 for Mesa # # Copyright (C) 2002 - Borca Daniel # Email : [email protected] @@ -40,15 +40,7 @@ # As a consequence, you'll need the Win32 Glide3 # library to build any application. # default = no -# HAVE_X86=1 optimize for i386. -# default = no -# HAVE_MMX=1 allow MMX specializations, provided your assembler -# supports MMX instruction set. However, the true CPU -# capabilities are checked at run-time to avoid crashes. -# default = no -# HAVE_SSE=1 (see HAVE_MMX) -# default = no -# HAVE_3DNOW=1 (see HAVE_MMX) +# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow). # default = no # # Targets: @@ -72,7 +64,7 @@ LDLIBS = -lgdi32 CC = mingw32-gcc CFLAGS += -DBUILD_GL32 -D_OPENGL32_ -D_MSC_VER -CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi +CFLAGS += $(INCLUDE_DIRS) ifeq ($(FX),1) CFLAGS += -I$(GLIDE)/include -DFX LDLIBS += -L$(GLIDE)/lib -lglide3x @@ -93,75 +85,18 @@ endif include sources -X86_SOURCES = \ - x86/x86.c \ - x86/glapi_x86.S \ - x86/common_x86.c \ - x86/common_x86_asm.S \ - x86/x86_xform2.S \ - x86/x86_xform3.S \ - x86/x86_xform4.S \ - x86/x86_cliptest.S - -MMX_SOURCES = \ - x86/mmx_blend.S - -SSE_SOURCES = \ - x86/sse.c \ - x86/sse_xform2.S \ - x86/sse_xform3.S \ - x86/sse_xform4.S \ - x86/sse_normal.S - -K3D_SOURCES = \ - x86/3dnow.c \ - x86/3dnow_xform2.S \ - x86/3dnow_xform3.S \ - x86/3dnow_xform4.S \ - x86/3dnow_normal.S - -CORE_SOURCES = \ - $(MAIN_SOURCES) \ - $(GLAPI_SOURCES) \ - $(MATH_SOURCES) \ - $(ARRAY_CACHE_SOURCES) \ - $(TNL_SOURCES) \ - $(SWRAST_SOURCES) \ - $(SWRAST_SETUP_SOURCES) - -ifeq ($(HAVE_MMX),1) -X86_SOURCES += $(MMX_SOURCES) +ifeq ($(X86),1) +CFLAGS += -DUSE_X86_ASM CFLAGS += -DUSE_MMX_ASM -HAVE_X86 = 1 -endif -ifeq ($(HAVE_SSE),1) -X86_SOURCES += $(SSE_SOURCES) CFLAGS += -DUSE_SSE_ASM -HAVE_X86 = 1 -endif -ifeq ($(HAVE_3DNOW),1) -X86_SOURCES += $(K3D_SOURCES) CFLAGS += -DUSE_3DNOW_ASM -HAVE_X86 = 1 -endif -ifeq ($(HAVE_X86),1) -CFLAGS += -DUSE_X86_ASM else X86_SOURCES = endif ifeq ($(FX),1) DRIVER_SOURCES = \ - drivers/glide/fxapi.c \ - drivers/glide/fxdd.c \ - drivers/glide/fxddspan.c \ - drivers/glide/fxddtex.c \ - drivers/glide/fxsetup.c \ - drivers/glide/fxtexman.c \ - drivers/glide/fxtris.c \ - drivers/glide/fxvb.c \ - drivers/glide/fxglidew.c \ - drivers/glide/fxg.c \ + $(GLIDE_DRIVER_SOURCES) \ drivers/glide/fxwgl.c else DRIVER_SOURCES = \ diff --git a/src/mesa/tnl/t_vtx_x86_gcc.S b/src/mesa/tnl/t_vtx_x86_gcc.S index 7dbe5c06283..1d8682d5e98 100644 --- a/src/mesa/tnl/t_vtx_x86_gcc.S +++ b/src/mesa/tnl/t_vtx_x86_gcc.S @@ -36,13 +36,13 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. .globl x; \ x: -#else /* defined(__DJGPP__) */ +#else /* defined(__DJGPP__) || defined (__MINGW32__) */ #define GLOBL( x ) \ .globl _##x; \ _##x: -#endif /* defined(__DJGPP__) */ +#endif /* defined(__DJGPP__) || defined (__MINGW32__) */ .data .align 4 |