Compare commits
6 Commits
mesa-8.0-r
...
useful
Author | SHA1 | Date | |
---|---|---|---|
|
d6db9143b6 | ||
|
9c0b233c44 | ||
|
364aa72824 | ||
|
d290ec228b | ||
|
c0906e06ee | ||
|
b6c49104ce |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -10,12 +10,7 @@
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.so
|
||||
*.so.*
|
||||
*.sw[a-z]
|
||||
*.tar
|
||||
*.tar.bz2
|
||||
*.tar.gz
|
||||
*.zip
|
||||
*~
|
||||
depend
|
||||
depend.bak
|
||||
@@ -30,5 +25,4 @@ cscope*
|
||||
.scon*
|
||||
config.py
|
||||
build
|
||||
manifest.txt
|
||||
.dir-locals.el
|
||||
|
@@ -1,63 +0,0 @@
|
||||
# Mesa 3-D graphics library
|
||||
#
|
||||
# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
|
||||
# Copyright (C) 2010-2011 LunarG Inc.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN 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.
|
||||
|
||||
# use c99 compiler by default
|
||||
ifeq ($(LOCAL_CC),)
|
||||
ifeq ($(LOCAL_IS_HOST_MODULE),true)
|
||||
LOCAL_CC := $(HOST_CC) -std=c99
|
||||
else
|
||||
LOCAL_CC := $(TARGET_CC) -std=c99
|
||||
endif
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(MESA_TOP)/include
|
||||
|
||||
# define ANDROID_VERSION (e.g., 4.0.x => 0x0400)
|
||||
major := $(word 1, $(subst ., , $(PLATFORM_VERSION)))
|
||||
minor := $(word 2, $(subst ., , $(PLATFORM_VERSION)))
|
||||
LOCAL_CFLAGS += \
|
||||
-DANDROID_VERSION=0x0$(major)0$(minor)
|
||||
|
||||
LOCAL_CFLAGS += \
|
||||
-DPTHREADS \
|
||||
-fvisibility=hidden \
|
||||
-Wno-sign-compare
|
||||
|
||||
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
|
||||
ifeq ($(TARGET_ARCH),x86)
|
||||
LOCAL_CFLAGS += \
|
||||
-DUSE_X86_ASM
|
||||
endif
|
||||
endif
|
||||
|
||||
LOCAL_CPPFLAGS += \
|
||||
-Wno-error=non-virtual-dtor \
|
||||
-Wno-non-virtual-dtor
|
||||
|
||||
# uncomment to keep the debug symbols
|
||||
#LOCAL_STRIP_MODULE := false
|
||||
|
||||
ifeq ($(strip $(LOCAL_MODULE_TAGS)),)
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
endif
|
94
Android.mk
94
Android.mk
@@ -1,94 +0,0 @@
|
||||
# Mesa 3-D graphics library
|
||||
#
|
||||
# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
|
||||
# Copyright (C) 2010-2011 LunarG Inc.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN 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.
|
||||
|
||||
# BOARD_GPU_DRIVERS should be defined. The valid values are
|
||||
#
|
||||
# classic drivers: i915 i965
|
||||
# gallium drivers: swrast i915g nouveau r300g r600g vmwgfx
|
||||
#
|
||||
# The main target is libGLES_mesa. For each classic driver enabled, a DRI
|
||||
# module will also be built. DRI modules will be loaded by libGLES_mesa.
|
||||
|
||||
MESA_TOP := $(call my-dir)
|
||||
MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
|
||||
MESA_PYTHON2 := python
|
||||
|
||||
DRM_TOP := external/drm
|
||||
DRM_GRALLOC_TOP := hardware/drm_gralloc
|
||||
|
||||
classic_drivers := i915 i965
|
||||
gallium_drivers := swrast i915g nouveau r300g r600g vmwgfx
|
||||
|
||||
MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS))
|
||||
|
||||
# warn about invalid drivers
|
||||
invalid_drivers := $(filter-out \
|
||||
$(classic_drivers) $(gallium_drivers), $(MESA_GPU_DRIVERS))
|
||||
ifneq ($(invalid_drivers),)
|
||||
$(warning invalid GPU drivers: $(invalid_drivers))
|
||||
# tidy up
|
||||
MESA_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(MESA_GPU_DRIVERS))
|
||||
endif
|
||||
|
||||
# host and target must be the same arch to generate matypes.h
|
||||
ifeq ($(TARGET_ARCH),$(HOST_ARCH))
|
||||
MESA_ENABLE_ASM := true
|
||||
else
|
||||
MESA_ENABLE_ASM := false
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(classic_drivers), $(MESA_GPU_DRIVERS)),)
|
||||
MESA_BUILD_CLASSIC := true
|
||||
else
|
||||
MESA_BUILD_CLASSIC := false
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(gallium_drivers), $(MESA_GPU_DRIVERS)),)
|
||||
MESA_BUILD_GALLIUM := true
|
||||
else
|
||||
MESA_BUILD_GALLIUM := false
|
||||
endif
|
||||
|
||||
# add subdirectories
|
||||
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
|
||||
|
||||
SUBDIRS := \
|
||||
src/mapi \
|
||||
src/glsl \
|
||||
src/mesa \
|
||||
src/egl/main
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
|
||||
SUBDIRS += \
|
||||
src/egl/drivers/dri2 \
|
||||
src/mesa/drivers/dri
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
SUBDIRS += src/gallium
|
||||
endif
|
||||
|
||||
mkfiles := $(patsubst %,$(MESA_TOP)/%/Android.mk,$(SUBDIRS))
|
||||
include $(mkfiles)
|
||||
|
||||
endif
|
341
Makefile
341
Makefile
@@ -21,10 +21,6 @@ all: default
|
||||
doxygen:
|
||||
cd doxygen && $(MAKE)
|
||||
|
||||
check:
|
||||
cd src/glsl/tests/ && ./optimization-test
|
||||
make -C tests check
|
||||
|
||||
clean:
|
||||
-@touch $(TOP)/configs/current
|
||||
-@for dir in $(SUBDIRS) ; do \
|
||||
@@ -55,7 +51,7 @@ install:
|
||||
done
|
||||
|
||||
|
||||
.PHONY: default doxygen clean realclean distclean install check
|
||||
.PHONY: default doxygen clean realclean distclean install
|
||||
|
||||
# If there's no current configuration file
|
||||
$(TOP)/configs/current:
|
||||
@@ -82,6 +78,7 @@ aix-static \
|
||||
autoconf \
|
||||
bluegene-osmesa \
|
||||
bluegene-xlc-osmesa \
|
||||
beos \
|
||||
catamount-osmesa-pgi \
|
||||
darwin \
|
||||
darwin-fat-32bit \
|
||||
@@ -112,6 +109,8 @@ linux \
|
||||
linux-i965 \
|
||||
linux-alpha \
|
||||
linux-alpha-static \
|
||||
linux-cell \
|
||||
linux-cell-debug \
|
||||
linux-debug \
|
||||
linux-dri \
|
||||
linux-dri-debug \
|
||||
@@ -184,42 +183,263 @@ ultrix-gcc:
|
||||
|
||||
# Rules for making release tarballs
|
||||
|
||||
PACKAGE_VERSION=8.0-rc2
|
||||
PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
|
||||
PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
|
||||
VERSION=7.11-devel
|
||||
DIRECTORY = Mesa-$(VERSION)
|
||||
LIB_NAME = MesaLib-$(VERSION)
|
||||
GLUT_NAME = MesaGLUT-$(VERSION)
|
||||
|
||||
EXTRA_FILES = \
|
||||
aclocal.m4 \
|
||||
configure \
|
||||
tests/Makefile.in \
|
||||
tests/glx/Makefile.in \
|
||||
src/glsl/glsl_parser.cpp \
|
||||
src/glsl/glsl_parser.h \
|
||||
src/glsl/glsl_lexer.cpp \
|
||||
src/glsl/glcpp/glcpp-lex.c \
|
||||
src/glsl/glcpp/glcpp-parse.c \
|
||||
src/glsl/glcpp/glcpp-parse.h \
|
||||
src/mesa/program/lex.yy.c \
|
||||
src/mesa/program/program_parse.tab.c \
|
||||
src/mesa/program/program_parse.tab.h
|
||||
# This is part of MAIN_FILES
|
||||
MAIN_ES_FILES = \
|
||||
$(DIRECTORY)/src/mesa/main/*.xml \
|
||||
$(DIRECTORY)/src/mesa/main/*.py \
|
||||
$(DIRECTORY)/src/mesa/main/*.dtd
|
||||
|
||||
IGNORE_FILES = \
|
||||
-x autogen.sh
|
||||
MAIN_FILES = \
|
||||
$(DIRECTORY)/Makefile* \
|
||||
$(DIRECTORY)/configure \
|
||||
$(DIRECTORY)/configure.ac \
|
||||
$(DIRECTORY)/acinclude.m4 \
|
||||
$(DIRECTORY)/aclocal.m4 \
|
||||
$(DIRECTORY)/bin/config.guess \
|
||||
$(DIRECTORY)/bin/config.sub \
|
||||
$(DIRECTORY)/bin/extract_git_sha1 \
|
||||
$(DIRECTORY)/bin/install-sh \
|
||||
$(DIRECTORY)/bin/mklib \
|
||||
$(DIRECTORY)/bin/minstall \
|
||||
$(DIRECTORY)/bin/version.mk \
|
||||
$(DIRECTORY)/configs/[a-z]* \
|
||||
$(DIRECTORY)/docs/*.html \
|
||||
$(DIRECTORY)/docs/COPYING \
|
||||
$(DIRECTORY)/docs/README.* \
|
||||
$(DIRECTORY)/docs/RELNOTES* \
|
||||
$(DIRECTORY)/docs/*.spec \
|
||||
$(DIRECTORY)/include/GL/gl.h \
|
||||
$(DIRECTORY)/include/GL/glext.h \
|
||||
$(DIRECTORY)/include/GL/gl_mangle.h \
|
||||
$(DIRECTORY)/include/GL/glu.h \
|
||||
$(DIRECTORY)/include/GL/glu_mangle.h \
|
||||
$(DIRECTORY)/include/GL/glx.h \
|
||||
$(DIRECTORY)/include/GL/glxext.h \
|
||||
$(DIRECTORY)/include/GL/glx_mangle.h \
|
||||
$(DIRECTORY)/include/GL/glfbdev.h \
|
||||
$(DIRECTORY)/include/GL/mesa_wgl.h \
|
||||
$(DIRECTORY)/include/GL/osmesa.h \
|
||||
$(DIRECTORY)/include/GL/vms_x_fix.h \
|
||||
$(DIRECTORY)/include/GL/wglext.h \
|
||||
$(DIRECTORY)/include/GL/wmesa.h \
|
||||
$(DIRECTORY)/src/glsl/Makefile \
|
||||
$(DIRECTORY)/src/glsl/Makefile.template \
|
||||
$(DIRECTORY)/src/glsl/SConscript \
|
||||
$(DIRECTORY)/src/glsl/*.[ch] \
|
||||
$(DIRECTORY)/src/glsl/*.[cly]pp \
|
||||
$(DIRECTORY)/src/glsl/README \
|
||||
$(DIRECTORY)/src/glsl/glcpp/*.[chly] \
|
||||
$(DIRECTORY)/src/glsl/glcpp/README \
|
||||
$(DIRECTORY)/src/glsl/builtins \
|
||||
$(DIRECTORY)/src/Makefile \
|
||||
$(DIRECTORY)/src/mesa/Makefile* \
|
||||
$(DIRECTORY)/src/mesa/sources.mak \
|
||||
$(DIRECTORY)/src/mesa/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/gl.pc.in \
|
||||
$(DIRECTORY)/src/mesa/osmesa.pc.in \
|
||||
$(DIRECTORY)/src/mesa/depend \
|
||||
$(MAIN_ES_FILES) \
|
||||
$(DIRECTORY)/src/mesa/main/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/main/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/math/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/math/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/program/*.[chly] \
|
||||
$(DIRECTORY)/src/mesa/program/*.cpp \
|
||||
$(DIRECTORY)/src/mesa/program/Makefile \
|
||||
$(DIRECTORY)/src/mesa/program/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
|
||||
$(DIRECTORY)/src/mesa/drivers/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/beos/*.cpp \
|
||||
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/x86/Makefile \
|
||||
$(DIRECTORY)/src/mesa/x86/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/x86/*.S \
|
||||
$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/x86-64/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/x86-64/Makefile
|
||||
|
||||
MAPI_FILES = \
|
||||
$(DIRECTORY)/include/GLES/*.h \
|
||||
$(DIRECTORY)/include/GLES2/*.h \
|
||||
$(DIRECTORY)/include/VG/*.h \
|
||||
$(DIRECTORY)/src/mapi/es?api/Makefile \
|
||||
$(DIRECTORY)/src/mapi/es?api/*.pc.in \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen/Makefile \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen/*.xml \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen/*.py \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen/*.dtd \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen-es/Makefile \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen-es/*.xml \
|
||||
$(DIRECTORY)/src/mapi/glapi/gen-es/*.py \
|
||||
$(DIRECTORY)/src/mapi/glapi/Makefile \
|
||||
$(DIRECTORY)/src/mapi/glapi/SConscript \
|
||||
$(DIRECTORY)/src/mapi/glapi/sources.mak \
|
||||
$(DIRECTORY)/src/mapi/glapi/*.[chS] \
|
||||
$(DIRECTORY)/src/mapi/mapi/mapi_abi.py \
|
||||
$(DIRECTORY)/src/mapi/mapi/sources.mak \
|
||||
$(DIRECTORY)/src/mapi/mapi/*.[ch] \
|
||||
$(DIRECTORY)/src/mapi/vgapi/Makefile \
|
||||
$(DIRECTORY)/src/mapi/vgapi/vgapi.csv \
|
||||
$(DIRECTORY)/src/mapi/vgapi/vg.pc.in
|
||||
|
||||
EGL_FILES = \
|
||||
$(DIRECTORY)/include/KHR/*.h \
|
||||
$(DIRECTORY)/include/EGL/*.h \
|
||||
$(DIRECTORY)/src/egl/Makefile \
|
||||
$(DIRECTORY)/src/egl/*/Makefile \
|
||||
$(DIRECTORY)/src/egl/*/Makefile.template \
|
||||
$(DIRECTORY)/src/egl/*/*.[ch] \
|
||||
$(DIRECTORY)/src/egl/*/*/Makefile \
|
||||
$(DIRECTORY)/src/egl/*/*/*.[ch] \
|
||||
$(DIRECTORY)/src/egl/main/*.pc.in \
|
||||
$(DIRECTORY)/src/egl/main/*.def
|
||||
|
||||
GALLIUM_FILES = \
|
||||
$(DIRECTORY)/src/mesa/state_tracker/*[ch] \
|
||||
$(DIRECTORY)/src/gallium/Makefile \
|
||||
$(DIRECTORY)/src/gallium/Makefile.template \
|
||||
$(DIRECTORY)/src/gallium/SConscript \
|
||||
$(DIRECTORY)/src/gallium/targets/Makefile.dri \
|
||||
$(DIRECTORY)/src/gallium/targets/Makefile.xorg \
|
||||
$(DIRECTORY)/src/gallium/targets/SConscript.dri \
|
||||
$(DIRECTORY)/src/gallium/*/Makefile \
|
||||
$(DIRECTORY)/src/gallium/*/SConscript \
|
||||
$(DIRECTORY)/src/gallium/*/*/Makefile \
|
||||
$(DIRECTORY)/src/gallium/*/*/SConscript \
|
||||
$(DIRECTORY)/src/gallium/*/*/*.[ch] \
|
||||
$(DIRECTORY)/src/gallium/auxiliary/gallivm/*.cpp \
|
||||
$(DIRECTORY)/src/gallium/*/*/*.py \
|
||||
$(DIRECTORY)/src/gallium/*/*/*.csv \
|
||||
$(DIRECTORY)/src/gallium/*/*/*/Makefile \
|
||||
$(DIRECTORY)/src/gallium/*/*/*/SConscript \
|
||||
$(DIRECTORY)/src/gallium/*/*/*/*.[ch] \
|
||||
$(DIRECTORY)/src/gallium/*/*/*/*.py
|
||||
|
||||
|
||||
DRI_FILES = \
|
||||
$(DIRECTORY)/include/GL/internal/dri_interface.h \
|
||||
$(DIRECTORY)/include/GL/internal/sarea.h \
|
||||
$(DIRECTORY)/src/glx/Makefile \
|
||||
$(DIRECTORY)/src/glx/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/*.cpp \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/*/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/*/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile
|
||||
|
||||
SGI_GLU_FILES = \
|
||||
$(DIRECTORY)/src/glu/Makefile \
|
||||
$(DIRECTORY)/src/glu/glu.pc.in \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.mgw \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.win \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.def \
|
||||
$(DIRECTORY)/src/glu/sgi/dummy.cc \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.exports \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.exports.darwin \
|
||||
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
|
||||
$(DIRECTORY)/src/glu/sgi/include/gluos.h \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h \
|
||||
$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc \
|
||||
$(DIRECTORY)/src/glu/sgi/libtess/README \
|
||||
$(DIRECTORY)/src/glu/sgi/libtess/alg-outline \
|
||||
$(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \
|
||||
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
|
||||
|
||||
GLW_FILES = \
|
||||
$(DIRECTORY)/src/glw/*.[ch] \
|
||||
$(DIRECTORY)/src/glw/Makefile* \
|
||||
$(DIRECTORY)/src/glw/README \
|
||||
$(DIRECTORY)/src/glw/glw.pc.in \
|
||||
$(DIRECTORY)/src/glw/depend
|
||||
|
||||
GLUT_FILES = \
|
||||
$(DIRECTORY)/include/GL/glut.h \
|
||||
$(DIRECTORY)/include/GL/glutf90.h \
|
||||
$(DIRECTORY)/src/glut/glx/Makefile* \
|
||||
$(DIRECTORY)/src/glut/glx/depend \
|
||||
$(DIRECTORY)/src/glut/glx/glut.pc.in \
|
||||
$(DIRECTORY)/src/glut/glx/*def \
|
||||
$(DIRECTORY)/src/glut/glx/*.[ch] \
|
||||
$(DIRECTORY)/src/glut/beos/*.[ch] \
|
||||
$(DIRECTORY)/src/glut/beos/*.cpp \
|
||||
$(DIRECTORY)/src/glut/beos/Makefile
|
||||
|
||||
DEPEND_FILES = \
|
||||
$(TOP)/src/mesa/depend \
|
||||
$(TOP)/src/glx/depend \
|
||||
$(TOP)/src/glw/depend \
|
||||
$(TOP)/src/glut/glx/depend \
|
||||
$(TOP)/src/glu/sgi/depend
|
||||
|
||||
|
||||
LIB_FILES = \
|
||||
$(MAIN_FILES) \
|
||||
$(MAPI_FILES) \
|
||||
$(ES_FILES) \
|
||||
$(EGL_FILES) \
|
||||
$(GALLIUM_FILES) \
|
||||
$(DRI_FILES) \
|
||||
$(SGI_GLU_FILES) \
|
||||
$(GLW_FILES)
|
||||
|
||||
|
||||
parsers: configure
|
||||
-@touch $(TOP)/configs/current
|
||||
$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp
|
||||
$(MAKE) -C src/glsl/glcpp glcpp-lex.c glcpp-parse.c glcpp-parse.h
|
||||
$(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
|
||||
$(MAKE) -C src/mesa/program lex.yy.c program_parse.tab.c program_parse.tab.h
|
||||
|
||||
# Everything for new a Mesa release:
|
||||
ARCHIVES = $(PACKAGE_NAME).tar.gz \
|
||||
$(PACKAGE_NAME).tar.bz2 \
|
||||
$(PACKAGE_NAME).zip \
|
||||
ARCHIVES = $(LIB_NAME).tar.gz \
|
||||
$(LIB_NAME).tar.bz2 \
|
||||
$(LIB_NAME).zip \
|
||||
$(GLUT_NAME).tar.gz \
|
||||
$(GLUT_NAME).tar.bz2 \
|
||||
$(GLUT_NAME).zip
|
||||
|
||||
tarballs: md5
|
||||
rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
|
||||
rm -f ../$(LIB_NAME).tar
|
||||
|
||||
# Helper for autoconf builds
|
||||
ACLOCAL = aclocal
|
||||
@@ -228,36 +448,55 @@ AUTOCONF = autoconf
|
||||
AC_FLAGS =
|
||||
aclocal.m4: configure.ac acinclude.m4
|
||||
$(ACLOCAL) $(ACLOCAL_FLAGS)
|
||||
configure: configure.ac aclocal.m4 acinclude.m4
|
||||
configure: rm_depend configure.ac aclocal.m4 acinclude.m4
|
||||
$(AUTOCONF) $(AC_FLAGS)
|
||||
|
||||
manifest.txt: .git
|
||||
( \
|
||||
ls -1 $(EXTRA_FILES) ; \
|
||||
git ls-files $(IGNORE_FILES) \
|
||||
) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@
|
||||
rm_depend:
|
||||
@for dep in $(DEPEND_FILES) ; do \
|
||||
rm -f $$dep ; \
|
||||
touch $$dep ; \
|
||||
done
|
||||
|
||||
../$(PACKAGE_DIR):
|
||||
ln -s $(PWD) $@
|
||||
rm_config: parsers
|
||||
rm -f configs/current
|
||||
rm -f configs/autoconf
|
||||
|
||||
$(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt
|
||||
cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt
|
||||
$(LIB_NAME).tar: rm_config
|
||||
cd .. ; tar -cf $(DIRECTORY)/$(LIB_NAME).tar $(LIB_FILES)
|
||||
|
||||
$(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR)
|
||||
gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz
|
||||
$(LIB_NAME).tar.gz: $(LIB_NAME).tar
|
||||
gzip --stdout --best $(LIB_NAME).tar > $(LIB_NAME).tar.gz
|
||||
|
||||
$(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar
|
||||
bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2
|
||||
$(GLUT_NAME).tar: rm_depend
|
||||
cd .. ; tar -cf $(DIRECTORY)/$(GLUT_NAME).tar $(GLUT_FILES)
|
||||
|
||||
$(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
|
||||
rm -f $(PACKAGE_NAME).zip ; \
|
||||
$(GLUT_NAME).tar.gz: $(GLUT_NAME).tar
|
||||
gzip --stdout --best $(GLUT_NAME).tar > $(GLUT_NAME).tar.gz
|
||||
|
||||
$(LIB_NAME).tar.bz2: $(LIB_NAME).tar
|
||||
bzip2 --stdout --best $(LIB_NAME).tar > $(LIB_NAME).tar.bz2
|
||||
|
||||
$(GLUT_NAME).tar.bz2: $(GLUT_NAME).tar
|
||||
bzip2 --stdout --best $(GLUT_NAME).tar > $(GLUT_NAME).tar.bz2
|
||||
|
||||
$(LIB_NAME).zip: rm_config
|
||||
rm -f $(LIB_NAME).zip ; \
|
||||
cd .. ; \
|
||||
zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
|
||||
mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
|
||||
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
|
||||
mv $(LIB_NAME).zip $(DIRECTORY)
|
||||
|
||||
$(GLUT_NAME).zip:
|
||||
rm -f $(GLUT_NAME).zip ; \
|
||||
cd .. ; \
|
||||
zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \
|
||||
mv $(GLUT_NAME).zip $(DIRECTORY)
|
||||
|
||||
md5: $(ARCHIVES)
|
||||
@-md5sum $(PACKAGE_NAME).tar.gz
|
||||
@-md5sum $(PACKAGE_NAME).tar.bz2
|
||||
@-md5sum $(PACKAGE_NAME).zip
|
||||
@-md5sum $(LIB_NAME).tar.gz
|
||||
@-md5sum $(LIB_NAME).tar.bz2
|
||||
@-md5sum $(LIB_NAME).zip
|
||||
@-md5sum $(GLUT_NAME).tar.gz
|
||||
@-md5sum $(GLUT_NAME).tar.bz2
|
||||
@-md5sum $(GLUT_NAME).zip
|
||||
|
||||
.PHONY: tarballs md5
|
||||
.PHONY: tarballs rm_depend rm_config md5
|
||||
|
58
SConstruct
58
SConstruct
@@ -40,9 +40,6 @@ env = Environment(
|
||||
ENV = os.environ,
|
||||
)
|
||||
|
||||
# XXX: This creates a many problems as it saves...
|
||||
#opts.Save('config.py', env)
|
||||
|
||||
# Backwards compatability with old target configuration variable
|
||||
try:
|
||||
targets = ARGUMENTS['targets']
|
||||
@@ -83,6 +80,44 @@ env.Append(CPPPATH = [
|
||||
if env['msvc']:
|
||||
env.Append(CPPPATH = ['#include/c99'])
|
||||
|
||||
# Embedded
|
||||
if env['platform'] == 'embedded':
|
||||
env.Append(CPPDEFINES = [
|
||||
'_POSIX_SOURCE',
|
||||
('_POSIX_C_SOURCE', '199309L'),
|
||||
'_SVID_SOURCE',
|
||||
'_BSD_SOURCE',
|
||||
'_GNU_SOURCE',
|
||||
|
||||
'PTHREADS',
|
||||
])
|
||||
env.Append(LIBS = [
|
||||
'm',
|
||||
'pthread',
|
||||
'dl',
|
||||
])
|
||||
|
||||
# Posix
|
||||
if env['platform'] in ('posix', 'linux', 'freebsd', 'darwin'):
|
||||
env.Append(CPPDEFINES = [
|
||||
'_POSIX_SOURCE',
|
||||
('_POSIX_C_SOURCE', '199309L'),
|
||||
'_SVID_SOURCE',
|
||||
'_BSD_SOURCE',
|
||||
'_GNU_SOURCE',
|
||||
'PTHREADS',
|
||||
'HAVE_POSIX_MEMALIGN',
|
||||
])
|
||||
if env['gcc']:
|
||||
env.Append(CFLAGS = ['-fvisibility=hidden'])
|
||||
if env['platform'] == 'darwin':
|
||||
env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE'])
|
||||
env.Append(LIBS = [
|
||||
'm',
|
||||
'pthread',
|
||||
'dl',
|
||||
])
|
||||
|
||||
# for debugging
|
||||
#print env.Dump()
|
||||
|
||||
@@ -95,7 +130,7 @@ if env['msvc']:
|
||||
#
|
||||
|
||||
# Create host environent
|
||||
if env['crosscompile'] and not env['embedded']:
|
||||
if env['crosscompile'] and env['platform'] != 'embedded':
|
||||
host_env = Environment(
|
||||
options = opts,
|
||||
# no tool used
|
||||
@@ -144,18 +179,3 @@ SConscript(
|
||||
duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
|
||||
)
|
||||
|
||||
|
||||
########################################################################
|
||||
# List all aliases
|
||||
|
||||
try:
|
||||
from SCons.Node.Alias import default_ans
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
aliases = default_ans.keys()
|
||||
aliases.sort()
|
||||
env.Help('\n')
|
||||
env.Help('Recognized targets:\n')
|
||||
for alias in aliases:
|
||||
env.Help(' %s\n' % alias)
|
||||
|
@@ -15,6 +15,4 @@ MAKEFLAGS=""
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
"$srcdir"/configure "$@"
|
||||
fi
|
||||
"$srcdir"/configure "$@"
|
||||
|
2
bin/.gitignore
vendored
2
bin/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
/depcomp
|
||||
/missing
|
@@ -1,20 +1,10 @@
|
||||
#!/bin/sh
|
||||
if [ ! -f src/mesa/main/git_sha1.h ]; then
|
||||
touch src/mesa/main/git_sha1.h
|
||||
fi
|
||||
|
||||
if [ ! -d .git ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
touch src/mesa/main/git_sha1.h
|
||||
if which git > /dev/null; then
|
||||
# Extract the 7-digit "short" SHA1 for the current HEAD, convert
|
||||
# it to a string, and wrap it in a #define. This is used in
|
||||
# src/mesa/main/version.c to put the GIT SHA1 in the GL_VERSION string.
|
||||
git log -n 1 --oneline |\
|
||||
sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
|
||||
> src/mesa/main/git_sha1.h.tmp
|
||||
if ! cmp -s src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h; then
|
||||
mv src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h
|
||||
fi
|
||||
> src/mesa/main/git_sha1.h
|
||||
fi
|
||||
|
66
bin/mklib
66
bin/mklib
@@ -260,7 +260,7 @@ if [ $STATIC = 1 ]; then
|
||||
NEWOBJECTS=""
|
||||
for OBJ in $OBJECTS ; do
|
||||
case $OBJ in
|
||||
-Wl,*|-L*|-l*)
|
||||
-Wl,*)
|
||||
echo "mklib: warning: ignoring $OBJ for static library"
|
||||
;;
|
||||
*)
|
||||
@@ -767,8 +767,9 @@ case $ARCH in
|
||||
OPTS="${OPTS} -exported_symbols_list ${EXPORTS}"
|
||||
fi
|
||||
|
||||
LINKNAME="lib${LIBNAME}.${LIBSUFFIX}"
|
||||
LIBNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
LINKNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
LINKNAME2="lib${LIBNAME}.${LIBSUFFIX}"
|
||||
LIBNAME="lib${LIBNAME}.${MAJOR}.${MINOR}.${LIBSUFFIX}"
|
||||
|
||||
# examine first object to determine ABI
|
||||
set ${OBJECTS}
|
||||
@@ -781,6 +782,9 @@ case $ARCH in
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
# XXX can we always add -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
||||
# to OPTS here?
|
||||
|
||||
# determine linker
|
||||
if [ $CPLUSPLUS = 1 ] ; then
|
||||
LINK="g++"
|
||||
@@ -792,7 +796,8 @@ case $ARCH in
|
||||
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
ln -s ${LIBNAME} ${LINKNAME}
|
||||
FINAL_LIBS="${LIBNAME} ${LINKNAME}"
|
||||
ln -s ${LIBNAME} ${LINKNAME2}
|
||||
FINAL_LIBS="${LIBNAME} ${LINKNAME} ${LINKNAME2}"
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -802,6 +807,22 @@ case $ARCH in
|
||||
FINAL_LIBS=`make_ar_static_lib -ru 0 ${LIBNAME} ${OBJECTS}`
|
||||
;;
|
||||
|
||||
'BeOS')
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making BeOS static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -cru 0 ${LIBNAME} ${OBJECTS}`
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so"
|
||||
echo "mklib: Making BeOS shared library: " ${LIBNAME}
|
||||
gcc -nostart -Xlinker "-soname=${LIBNAME}" -L/Be/develop/lib/x86 -lbe ${DEPS} ${OBJECTS} -o "${LIBNAME}"
|
||||
mimeset -f "${LIBNAME}"
|
||||
# XXX remove the Mesa3D stuff here since mklib isn't mesa-specific.
|
||||
setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!"
|
||||
fi
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
;;
|
||||
|
||||
'QNX')
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making QNX library: " ${LIBNAME}
|
||||
@@ -959,43 +980,6 @@ case $ARCH in
|
||||
fi
|
||||
;;
|
||||
|
||||
'Haiku')
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
if [ "x$LINK" = "x" ] ; then
|
||||
# -linker was not specified so set default link command now
|
||||
if [ $CPLUSPLUS = 1 ] ; then
|
||||
LINK=g++
|
||||
else
|
||||
LINK=gcc
|
||||
fi
|
||||
fi
|
||||
|
||||
OPTS="-ru"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
echo "mklib: Making static library for Haiku: " ${LIBNAME}
|
||||
|
||||
# expand .a into .o files
|
||||
NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
|
||||
|
||||
# make static lib
|
||||
FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
|
||||
|
||||
# remove temporary extracted .o files
|
||||
rm -rf ${LIBNAME}.obj
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||
OPTS="-shared"
|
||||
|
||||
echo "mklib: Making shared library for Haiku: " ${LIBNAME}
|
||||
${LINK} ${OPTS} ${LDFLAGS} ${OBJECTS} ${DEPS} -o ${LIBNAME}
|
||||
FINAL_LIBS="${LIBNAME}"
|
||||
fi
|
||||
;;
|
||||
|
||||
'example')
|
||||
# If you're adding support for a new architecture, you can
|
||||
# start with this:
|
||||
|
10
common.py
10
common.py
@@ -79,18 +79,14 @@ def AddOptions(opts):
|
||||
from SCons.Options.EnumOption import EnumOption
|
||||
opts.Add(EnumOption('build', 'build type', 'debug',
|
||||
allowed_values=('debug', 'checked', 'profile', 'release')))
|
||||
opts.Add(BoolOption('verbose', 'verbose output', 'no'))
|
||||
opts.Add(BoolOption('quiet', 'quiet command lines', 'yes'))
|
||||
opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine,
|
||||
allowed_values=('generic', 'ppc', 'x86', 'x86_64')))
|
||||
opts.Add(EnumOption('platform', 'target platform', host_platform,
|
||||
allowed_values=('linux', 'windows', 'darwin', 'cygwin', 'sunos', 'freebsd8')))
|
||||
opts.Add(BoolOption('embedded', 'embedded build', 'no'))
|
||||
allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded', 'cygwin', 'sunos', 'freebsd8')))
|
||||
opts.Add('toolchain', 'compiler toolchain', default_toolchain)
|
||||
opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support', 'no'))
|
||||
opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
|
||||
opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)', 'no'))
|
||||
opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes'))
|
||||
opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no'))
|
||||
opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes'))
|
||||
if host_platform == 'windows':
|
||||
opts.Add(EnumOption('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
|
||||
opts.Add(EnumOption('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
|
||||
|
@@ -17,11 +17,14 @@ MKLIB_OPTIONS =
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
GL_LIB_DEPS = -lX11 -lXext -lpthread -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC
|
||||
GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXm -lXt -lX11
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
|
||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
|
||||
|
||||
|
@@ -15,10 +15,13 @@ LIB_DIR = lib64
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lC
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXm -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/lib64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
|
||||
|
||||
|
@@ -16,6 +16,10 @@ LIB_DIR = lib64
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
APP_LIB_DEPS = -q64 -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
||||
-lX11 -lXext -lXmu -lXi -lm -lpthread -lC
|
||||
|
||||
|
@@ -18,4 +18,6 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
MKLIB_OPTIONS = -arch aix-gcc
|
||||
GL_LIB_DEPS = -lX11 -lXext -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -Wl,-brtl -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXmu -lXi
|
||||
|
||||
|
@@ -15,6 +15,11 @@ MKLIB_OPTIONS = -static
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
||||
-lX11 -lXext -lXmu -lXi -lm -lpthread -lC
|
||||
|
||||
|
||||
|
@@ -25,9 +25,7 @@ CXXFLAGS = $(CXXFLAGS_NOVISIBILITY) @VISIBILITY_CXXFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
|
||||
RADEON_CFLAGS = @RADEON_CFLAGS@
|
||||
RADEON_LIBS = @RADEON_LIBS@
|
||||
NOUVEAU_CFLAGS = @NOUVEAU_CFLAGS@
|
||||
NOUVEAU_LIBS = @NOUVEAU_LIBS@
|
||||
RADEON_LDFLAGS = @RADEON_LDFLAGS@
|
||||
INTEL_LIBS = @INTEL_LIBS@
|
||||
INTEL_CFLAGS = @INTEL_CFLAGS@
|
||||
X11_LIBS = @X11_LIBS@
|
||||
@@ -36,6 +34,7 @@ LLVM_CFLAGS = @LLVM_CFLAGS@
|
||||
LLVM_LDFLAGS = @LLVM_LDFLAGS@
|
||||
LLVM_LIBS = @LLVM_LIBS@
|
||||
GLW_CFLAGS = @GLW_CFLAGS@
|
||||
GLUT_CFLAGS = @GLUT_CFLAGS@
|
||||
GLX_TLS = @GLX_TLS@
|
||||
DRI_CFLAGS = @DRI_CFLAGS@
|
||||
DRI_CXXFLAGS = @DRI_CXXFLAGS@
|
||||
@@ -54,21 +53,15 @@ MKLIB_OPTIONS = @MKLIB_OPTIONS@
|
||||
MKDEP = @MKDEP@
|
||||
MKDEP_OPTIONS = @MKDEP_OPTIONS@
|
||||
INSTALL = @INSTALL@
|
||||
AWK = @AWK@
|
||||
GREP = @GREP@
|
||||
NM = @NM@
|
||||
|
||||
# Python and flags (generally only needed by the developers)
|
||||
PYTHON2 = @PYTHON2@
|
||||
PYTHON_FLAGS = -t -O -O
|
||||
|
||||
# Flex and Bison for GLSL compiler
|
||||
FLEX = @FLEX@
|
||||
BISON = @BISON@
|
||||
|
||||
# Library names (base name)
|
||||
GL_LIB = @GL_LIB@
|
||||
GLU_LIB = @GLU_LIB@
|
||||
GL_LIB = GL
|
||||
GLU_LIB = GLU
|
||||
GLUT_LIB = glut
|
||||
GLW_LIB = GLw
|
||||
OSMESA_LIB = @OSMESA_LIB@
|
||||
GLESv1_CM_LIB = GLESv1_CM
|
||||
@@ -76,11 +69,11 @@ GLESv2_LIB = GLESv2
|
||||
VG_LIB = OpenVG
|
||||
GLAPI_LIB = glapi
|
||||
WAYLAND_EGL_LIB = wayland-egl
|
||||
GBM_LIB = gbm
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = @GL_LIB_NAME@
|
||||
GLU_LIB_NAME = @GLU_LIB_NAME@
|
||||
GLUT_LIB_NAME = @GLUT_LIB_NAME@
|
||||
GLW_LIB_NAME = @GLW_LIB_NAME@
|
||||
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
|
||||
EGL_LIB_NAME = @EGL_LIB_NAME@
|
||||
@@ -89,11 +82,11 @@ GLESv2_LIB_NAME = @GLESv2_LIB_NAME@
|
||||
VG_LIB_NAME = @VG_LIB_NAME@
|
||||
GLAPI_LIB_NAME = @GLAPI_LIB_NAME@
|
||||
WAYLAND_EGL_LIB_NAME = @WAYLAND_EGL_LIB_NAME@
|
||||
GBM_LIB_NAME = @GBM_LIB_NAME@
|
||||
|
||||
# Globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = @GL_LIB_GLOB@
|
||||
GLU_LIB_GLOB = @GLU_LIB_GLOB@
|
||||
GLUT_LIB_GLOB = @GLUT_LIB_GLOB@
|
||||
GLW_LIB_GLOB = @GLW_LIB_GLOB@
|
||||
OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@
|
||||
EGL_LIB_GLOB = @EGL_LIB_GLOB@
|
||||
@@ -102,7 +95,6 @@ GLESv2_LIB_GLOB = @GLESv2_LIB_GLOB@
|
||||
VG_LIB_GLOB = @VG_LIB_GLOB@
|
||||
GLAPI_LIB_GLOB = @GLAPI_LIB_GLOB@
|
||||
WAYLAND_EGL_LIB_GLOB = @WAYLAND_EGL_LIB_GLOB@
|
||||
GBM_LIB_GLOB = @GBM_LIB_GLOB@
|
||||
|
||||
# Directories to build
|
||||
LIB_DIR = @LIB_DIR@
|
||||
@@ -110,7 +102,6 @@ SRC_DIRS = @SRC_DIRS@
|
||||
GLU_DIRS = @GLU_DIRS@
|
||||
DRIVER_DIRS = @DRIVER_DIRS@
|
||||
EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@
|
||||
GBM_BACKEND_DIRS = @GBM_BACKEND_DIRS@
|
||||
GALLIUM_DIRS = @GALLIUM_DIRS@
|
||||
GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@
|
||||
GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@
|
||||
@@ -141,14 +132,16 @@ OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
|
||||
EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
|
||||
$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
|
||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
|
||||
GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv1_CM_LIB_DEPS@
|
||||
GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv2_LIB_DEPS@
|
||||
VG_LIB_DEPS = $(EXTRA_LIB_PATH) @VG_LIB_DEPS@
|
||||
GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) @GLAPI_LIB_DEPS@
|
||||
WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @WAYLAND_EGL_LIB_DEPS@
|
||||
GBM_LIB_DEPS = $(EXTRA_LIB_PATH) @GBM_LIB_DEPS@
|
||||
WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIBPATH) @WAYLAND_EGL_LIB_DEPS@
|
||||
|
||||
# DRI dependencies
|
||||
MESA_MODULES = @MESA_MODULES@
|
||||
@@ -179,12 +172,6 @@ DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@
|
||||
# EGL driver install directory
|
||||
EGL_DRIVER_INSTALL_DIR = @EGL_DRIVER_INSTALL_DIR@
|
||||
|
||||
# VDPAU library install directory
|
||||
VDPAU_LIB_INSTALL_DIR=@VDPAU_LIB_INSTALL_DIR@
|
||||
|
||||
# VA library install directory
|
||||
VA_LIB_INSTALL_DIR=@VA_LIB_INSTALL_DIR@
|
||||
|
||||
# Xorg driver install directory (for xorg state-tracker)
|
||||
XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@
|
||||
|
||||
@@ -197,6 +184,9 @@ GLU_PC_REQ = @GLU_PC_REQ@
|
||||
GLU_PC_REQ_PRIV = @GLU_PC_REQ_PRIV@
|
||||
GLU_PC_LIB_PRIV = @GLU_PC_LIB_PRIV@
|
||||
GLU_PC_CFLAGS = @GLU_PC_CFLAGS@
|
||||
GLUT_PC_REQ_PRIV = @GLUT_PC_REQ_PRIV@
|
||||
GLUT_PC_LIB_PRIV = @GLUT_PC_LIB_PRIV@
|
||||
GLUT_PC_CFLAGS = @GLUT_PC_CFLAGS@
|
||||
GLW_PC_REQ_PRIV = @GLW_PC_REQ_PRIV@
|
||||
GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@
|
||||
GLW_PC_CFLAGS = @GLW_PC_CFLAGS@
|
||||
@@ -210,9 +200,6 @@ EGL_PC_CFLAGS = @GL_PC_CFLAGS@
|
||||
WAYLAND_EGL_PC_REQ_PRIV = @WAYLAND_EGL_PC_REQ_PRIV@
|
||||
WAYLAND_EGL_PC_LIB_PRIV = @WAYLAND_EGL_PC_LIB_PRIV@
|
||||
WAYLAND_EGL_PC_CFLAGS = @WAYLAND_EGL_PC_CFLAGS@
|
||||
GBM_PC_REQ_PRIV = @GBM_PC_REQ_PRIV@
|
||||
GBM_PC_LIB_PRIV = @GBM_PC_LIB_PRIV@
|
||||
GBM_PC_CFLAGS = @GBM_PC_CFLAGS@
|
||||
|
||||
XCB_DRI2_CFLAGS = @XCB_DRI2_CFLAGS@
|
||||
XCB_DRI2_LIBS = @XCB_DRI2_LIBS@
|
||||
|
103
configs/beos
Normal file
103
configs/beos
Normal file
@@ -0,0 +1,103 @@
|
||||
# Configuration for BeOS
|
||||
# Written by Philippe Houdoin
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = beos
|
||||
|
||||
|
||||
DEFINES = \
|
||||
-DBEOS_THREADS
|
||||
|
||||
MACHINE=$(shell uname -m)
|
||||
ifeq ($(MACHINE), BePC)
|
||||
CPU = x86
|
||||
else
|
||||
CPU = ppc
|
||||
endif
|
||||
|
||||
ifeq ($(CPU), x86)
|
||||
# BeOS x86 settings
|
||||
|
||||
DEFINES += \
|
||||
-DGNU_ASSEMBLER \
|
||||
-DUSE_X86_ASM \
|
||||
-DUSE_MMX_ASM \
|
||||
-DUSE_3DNOW_ASM \
|
||||
-DUSE_SSE_ASM
|
||||
|
||||
MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
GLAPI_ASM_SOURCES = $(X86_API)
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
LD = gcc
|
||||
|
||||
CFLAGS = \
|
||||
-Wall -Wno-multichar -Wno-ctor-dtor-privacy \
|
||||
$(DEFINES)
|
||||
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
LDFLAGS += -Xlinker
|
||||
|
||||
ifdef DEBUG
|
||||
CFLAGS += -g -O0
|
||||
LDFLAGS += -g
|
||||
DEFINES += -DDEBUG
|
||||
else
|
||||
CFLAGS += -O3
|
||||
endif
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
else
|
||||
# BeOS PPC settings
|
||||
|
||||
CC = mwcc
|
||||
CXX = $(CC)
|
||||
LD = mwldppc
|
||||
|
||||
CFLAGS = \
|
||||
-w on -requireprotos \
|
||||
$(DEFINES)
|
||||
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
|
||||
LDFLAGS += \
|
||||
-export pragma \
|
||||
-init _init_routine_ \
|
||||
-term _term_routine_ \
|
||||
-lroot \
|
||||
/boot/develop/lib/ppc/glue-noinit.a \
|
||||
/boot/develop/lib/ppc/init_term_dyn.o \
|
||||
/boot/develop/lib/ppc/start_dyn.o
|
||||
|
||||
ifdef DEBUG
|
||||
CFLAGS += -g -O0
|
||||
CXXFLAGS += -g -O0
|
||||
LDFLAGS += -g
|
||||
else
|
||||
CFLAGS += -O7
|
||||
CXXFLAGS += -O7
|
||||
endif
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
endif
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = gallium mesa glu glut/beos
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = beos
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS = -lgame -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
|
||||
|
@@ -29,3 +29,4 @@ DRIVER_DIRS = osmesa
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
||||
|
@@ -25,3 +25,4 @@ DRIVER_DIRS = osmesa
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
||||
|
@@ -28,3 +28,4 @@ DRIVER_DIRS = osmesa
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
||||
|
42
configs/config.mgw
Normal file
42
configs/config.mgw
Normal file
@@ -0,0 +1,42 @@
|
||||
# MinGW config include file updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) Although more tests are needed, it can be used individually!
|
||||
|
||||
# The generated DLLs by MingW with STDCALL are not totally compatible
|
||||
# with the ones linked by Microsoft's compilers.
|
||||
#
|
||||
# xxx_USING_STDCALL = 1 Compiling MESA with __stdcall. This is default!
|
||||
#
|
||||
# xxx_USING_STDCALL = 0 Compiling MESA without __stdcall. I like this:)
|
||||
#
|
||||
|
||||
# In fact, GL_USING_STDCALL and GLUT_USING_STDCALL can be
|
||||
# different. For example:
|
||||
#
|
||||
# GL_USING_STDCALL = 0
|
||||
# GLUT_USING_STDCALL = 1
|
||||
#
|
||||
# Suggested setting:
|
||||
#
|
||||
# ALL_USING_STDCALL = 1
|
||||
#
|
||||
# That's default!
|
||||
#
|
||||
|
||||
|
||||
ALL_USING_STDCALL = 1
|
||||
|
||||
|
||||
ifeq ($(ALL_USING_STDCALL),1)
|
||||
GL_USING_STDCALL = 1
|
||||
GLUT_USING_STDCALL = 1
|
||||
else
|
||||
GL_USING_STDCALL = 0
|
||||
GLUT_USING_STDCALL = 0
|
||||
endif
|
@@ -25,34 +25,35 @@ DEFINES = -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE \
|
||||
|
||||
ARCH_FLAGS += $(RC_CFLAGS)
|
||||
|
||||
CFLAGS = -ggdb3 -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fvisibility=hidden \
|
||||
CFLAGS = -ggdb3 -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing \
|
||||
-I$(INSTALL_DIR)/include -I$(X11_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
|
||||
CXXFLAGS = -ggdb3 -Os -Wall -fno-strict-aliasing -fvisibility=hidden \
|
||||
CXXFLAGS = -ggdb3 -Os -Wall -fno-strict-aliasing \
|
||||
-I$(INSTALL_DIR)/include -I$(X11_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = lib$(GL_LIB).dylib
|
||||
GLU_LIB_NAME = lib$(GLU_LIB).dylib
|
||||
GLW_LIB_NAME = lib$(GLW_LIB).dylib
|
||||
OSMESA_LIB_NAME = lib$(OSMESA_LIB).dylib
|
||||
VG_LIB_NAME = lib$(VG_LIB).dylib
|
||||
GL_LIB_NAME = libGL.dylib
|
||||
GLU_LIB_NAME = libGLU.dylib
|
||||
GLUT_LIB_NAME = libglut.dylib
|
||||
GLW_LIB_NAME = libGLw.dylib
|
||||
OSMESA_LIB_NAME = libOSMesa.dylib
|
||||
|
||||
# globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = lib$(GL_LIB).*dylib
|
||||
GLU_LIB_GLOB = lib$(GLU_LIB).*dylib
|
||||
GLW_LIB_GLOB = lib$(GLW_LIB).*dylib
|
||||
OSMESA_LIB_GLOB = lib$(OSMESA_LIB).*dylib
|
||||
VG_LIB_GLOB = lib$(VG_LIB).*dylib
|
||||
GL_LIB_GLOB = libGL.*dylib
|
||||
GLU_LIB_GLOB = libGLU.*dylib
|
||||
GLUT_LIB_GLOB = libglut.*dylib
|
||||
GLW_LIB_GLOB = libGLw.*dylib
|
||||
OSMESA_LIB_GLOB = libOSMesa.*dylib
|
||||
|
||||
GL_LIB_DEPS = -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXext -lm -lpthread
|
||||
OSMESA_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXi -lXext
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXt
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
|
||||
|
||||
SRC_DIRS = glsl mapi/glapi mapi/vgapi glx/apple mesa gallium glu
|
||||
# omit glw lib for now:
|
||||
SRC_DIRS = glsl mapi/glapi mapi/vgapi glx/apple mesa gallium glu glut/glx
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = osmesa
|
||||
#DRIVER_DIRS = dri
|
||||
DRI_DIRS = swrast
|
||||
GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad
|
||||
#GALLIUM_DRIVERS_DIRS += llvmpipe
|
||||
|
@@ -8,8 +8,8 @@
|
||||
CONFIG_NAME = default
|
||||
|
||||
# Version info
|
||||
MESA_MAJOR=8
|
||||
MESA_MINOR=0
|
||||
MESA_MAJOR=7
|
||||
MESA_MINOR=11
|
||||
MESA_TINY=0
|
||||
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
|
||||
|
||||
@@ -38,9 +38,6 @@ MKLIB_OPTIONS =
|
||||
MKDEP = makedepend
|
||||
MKDEP_OPTIONS = -fdepend
|
||||
MAKE = make
|
||||
FLEX = flex
|
||||
BISON = bison
|
||||
PKG_CONFIG = pkg-config
|
||||
|
||||
# Use MINSTALL for installing libraries, INSTALL for everything else
|
||||
MINSTALL = $(SHELL) $(TOP)/bin/minstall
|
||||
@@ -55,6 +52,7 @@ INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
|
||||
# Library names (base name)
|
||||
GL_LIB = GL
|
||||
GLU_LIB = GLU
|
||||
GLUT_LIB = glut
|
||||
GLW_LIB = GLw
|
||||
OSMESA_LIB = OSMesa
|
||||
EGL_LIB = EGL
|
||||
@@ -63,11 +61,12 @@ GLESv2_LIB = GLESv2
|
||||
VG_LIB = OpenVG
|
||||
GLAPI_LIB = glapi
|
||||
WAYLAND_EGL_LIB = wayland-egl
|
||||
GBM_LIB = gbm
|
||||
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = lib$(GL_LIB).so
|
||||
GLU_LIB_NAME = lib$(GLU_LIB).so
|
||||
GLUT_LIB_NAME = lib$(GLUT_LIB).so
|
||||
GLW_LIB_NAME = lib$(GLW_LIB).so
|
||||
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
|
||||
EGL_LIB_NAME = lib$(EGL_LIB).so
|
||||
@@ -76,11 +75,11 @@ GLESv2_LIB_NAME = lib$(GLESv2_LIB).so
|
||||
VG_LIB_NAME = lib$(VG_LIB).so
|
||||
GLAPI_LIB_NAME = lib$(GLAPI_LIB).so
|
||||
WAYLAND_EGL_LIB_NAME = lib$(WAYLAND_EGL_LIB).so
|
||||
GBM_LIB_NAME = lib$(GBM_LIB).so
|
||||
|
||||
# globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = $(GL_LIB_NAME)*
|
||||
GLU_LIB_GLOB = $(GLU_LIB_NAME)*
|
||||
GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
|
||||
GLW_LIB_GLOB = $(GLW_LIB_NAME)*
|
||||
OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
|
||||
EGL_LIB_GLOB = $(EGL_LIB_NAME)*
|
||||
@@ -89,7 +88,6 @@ GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)*
|
||||
VG_LIB_GLOB = $(VG_LIB_NAME)*
|
||||
GLAPI_LIB_GLOB = $(GLAPI_LIB_NAME)*
|
||||
WAYLAND_EGL_LIB_GLOB = $(WAYLAND_EGL_LIB_NAME)*
|
||||
GBM_LIB_GLOB = $(GBM_LIB_NAME)*
|
||||
|
||||
DRI_CFLAGS = $(CFLAGS)
|
||||
DRI_CXXFLAGS = $(CXXFLAGS)
|
||||
@@ -106,20 +104,17 @@ MOTIF_CFLAGS = -I/usr/include/Motif1.2
|
||||
# Directories to build
|
||||
LIB_DIR = lib
|
||||
SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
|
||||
gallium egl gallium/winsys gallium/targets glu
|
||||
gallium egl gallium/winsys gallium/targets glu glut/glx glw
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = x11 osmesa
|
||||
|
||||
# EGL drivers to build
|
||||
EGL_DRIVERS_DIRS = glx
|
||||
|
||||
# gbm backends to build
|
||||
GBM_BACKEND_DIRS = dri
|
||||
|
||||
# Gallium directories and
|
||||
# Gallium directories and
|
||||
GALLIUM_DIRS = auxiliary drivers state_trackers
|
||||
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
|
||||
GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 svga r300 nvfx nv50
|
||||
GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 i965 svga r300 nvfx nv50 failover
|
||||
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
|
||||
GALLIUM_WINSYS_DIRS = sw sw/xlib
|
||||
GALLIUM_TARGET_DIRS = libgl-xlib
|
||||
@@ -135,15 +130,17 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
||||
EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -ldl -lpthread
|
||||
OSMESA_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLU_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm
|
||||
GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
|
||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
|
||||
GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
|
||||
VG_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
|
||||
GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
|
||||
WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -lwayland-client -ldrm
|
||||
GBM_LIB_DEPS = $(EXTRA_LIB_PATH) -ludev -ldl
|
||||
|
||||
# Program dependencies - specific GL libraries added in Makefiles
|
||||
# Program dependencies - specific GL/glut libraries added in Makefiles
|
||||
APP_LIB_DEPS = -lm
|
||||
X11_LIBS = -lX11
|
||||
|
||||
DLOPEN_LIBS = -ldl
|
||||
@@ -160,9 +157,6 @@ DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
||||
# EGL driver install directory
|
||||
EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl
|
||||
|
||||
# gbm backend install directory
|
||||
GBM_BACKEND_INSTALL_DIR = $(INSTALL_LIB_DIR)/gbm
|
||||
|
||||
# Xorg driver install directory (for xorg state-tracker)
|
||||
XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers
|
||||
|
||||
@@ -175,6 +169,9 @@ GLU_PC_REQ = gl
|
||||
GLU_PC_REQ_PRIV =
|
||||
GLU_PC_LIB_PRIV =
|
||||
GLU_PC_CFLAGS =
|
||||
GLUT_PC_REQ_PRIV =
|
||||
GLUT_PC_LIB_PRIV =
|
||||
GLUT_PC_CFLAGS =
|
||||
GLW_PC_REQ_PRIV =
|
||||
GLW_PC_LIB_PRIV =
|
||||
GLW_PC_CFLAGS =
|
||||
@@ -192,6 +189,3 @@ VG_PC_CFLAGS =
|
||||
WAYLAND_EGL_PC_REQ_PRIV =
|
||||
WAYLAND_EGL_PC_LIB_PRIV =
|
||||
WAYLAND_EGL_PC_CFLAGS =
|
||||
GBM_PC_REQ_PRIV =
|
||||
GBM_PC_LIB_PRIV =
|
||||
GBM_PC_CFLAGS =
|
||||
|
@@ -21,9 +21,11 @@ CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ff
|
||||
|
||||
CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
EXTRA_LIB_PATH = -L/usr/local/lib
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
|
||||
|
@@ -32,20 +32,22 @@ MESA_ASM_SOURCES =
|
||||
# Library/program dependencies
|
||||
MESA_MODULES = $(TOP)/src/mesa/libmesa.a
|
||||
|
||||
LIBDRM_CFLAGS = `$(PKG_CONFIG) --cflags libdrm`
|
||||
LIBDRM_LIB = `$(PKG_CONFIG) --libs libdrm`
|
||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||
DRI_LIB_DEPS = $(MESA_MODULES) -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = -L/usr/local/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -pthread $(LIBDRM_LIB)
|
||||
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11
|
||||
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = glx gallium mesa glu
|
||||
SRC_DIRS = glx gallium mesa glu glut/glx glw
|
||||
DRIVER_DIRS = dri
|
||||
|
||||
DRM_SOURCE_PATH=$(TOP)/../drm
|
||||
|
||||
DRI_DIRS = i915 i965 r200 radeon
|
||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
|
||||
unichrome savage sis
|
||||
|
||||
|
@@ -11,3 +11,4 @@ CXX = aCC
|
||||
CFLAGS = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
||||
CXXFLAGS = -O +DAportable +Z -Ae -D_HPUX_SOURCE
|
||||
|
||||
APP_LIB_DEPS = -$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
@@ -10,9 +10,11 @@ CXX = g++
|
||||
|
||||
CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
||||
CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
||||
|
@@ -16,6 +16,7 @@ MKLIB_OPTIONS = -static
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
@@ -23,4 +24,7 @@ OSMESA_LIB_NAME = libOSMesa.a
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -lstdc++
|
||||
|
@@ -18,10 +18,13 @@ MKLIB_OPTIONS =
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Library/program dependencies
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
|
||||
GL_LIB_DEPS = -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXt -lXi -lX11 -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
|
@@ -18,8 +18,10 @@ MKLIB_OPTIONS = -static
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Library/program dependencies
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread -lCsup -lcl
|
||||
|
||||
|
@@ -18,7 +18,9 @@ MKLIB_OPTIONS = -static
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Library/program dependencies
|
||||
APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
@@ -19,10 +19,13 @@ LIB_DIR = lib64
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Library/program dependencies
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
|
||||
GL_LIB_DEPS = -L/usr/lib/X11R6/pa20_64 -L/usr/contrib/X11R6/lib/pa20_64 -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
|
@@ -19,7 +19,9 @@ LIB_DIR = lib64
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Library/program dependencies
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6/pa20_64 -L/usr/contrib/X11R6/lib/pa20_64 -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread -lCsup -lcl
|
||||
|
@@ -19,10 +19,12 @@ LIB_DIR = lib64
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.so
|
||||
GLU_LIB_NAME = libGLU.so
|
||||
GLUT_LIB_NAME = libglut.so
|
||||
GLW_LIB_NAME = libGLw.so
|
||||
OSMESA_LIB_NAME = libOSMesa.so
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS = -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
|
@@ -19,7 +19,9 @@ LIB_DIR = lib64
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Library/program dependencies
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lXt -lX11 -lpthread -lm -lCsup -lcl
|
||||
|
@@ -12,4 +12,5 @@ CXX = c++
|
||||
CFLAGS = +z -O +Olibcalls +ESlit -Ae +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM
|
||||
CXXFLAGS = +z -O +Olibcalls +ESlit -Ae +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11 -lm
|
||||
|
||||
|
@@ -11,3 +11,4 @@ CXX = aCC
|
||||
CFLAGS = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
||||
CXXFLAGS = -O +DAportable +Z -Ae -D_HPUX_SOURCE
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
@@ -14,3 +14,4 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
||||
|
||||
LIB_DIR = lib64
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -64 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lpthread -lm
|
||||
|
@@ -15,9 +15,11 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
||||
|
||||
LIB_DIR = lib64
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
|
@@ -14,3 +14,4 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
||||
|
||||
LIB_DIR = lib32
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -n32 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lfpe -lpthread -lm
|
||||
|
@@ -15,9 +15,11 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
||||
|
||||
LIB_DIR = lib32
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -n32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
|
@@ -14,4 +14,5 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
||||
|
||||
LIB_DIR = lib32
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -32 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
|
||||
|
||||
|
@@ -15,9 +15,11 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
||||
|
||||
LIB_DIR = lib32
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
|
@@ -33,5 +33,6 @@ CXXFLAGS = -Wall -Wpointer-arith $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
||||
|
@@ -9,11 +9,14 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
||||
|
@@ -9,6 +9,7 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static
|
||||
PIC_FLAGS =
|
||||
|
||||
@@ -19,9 +20,12 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -L/usr/X11R6/lib -lX11 -lm
|
||||
|
72
configs/linux-cell
Normal file
72
configs/linux-cell
Normal file
@@ -0,0 +1,72 @@
|
||||
# linux-cell (non-debug build)
|
||||
|
||||
include $(TOP)/configs/linux
|
||||
|
||||
CONFIG_NAME = linux-cell
|
||||
|
||||
|
||||
# Omiting other gallium drivers:
|
||||
GALLIUM_DRIVERS_DIRS = cell softpipe trace rbug identity
|
||||
|
||||
|
||||
# Compiler and flags
|
||||
CC = ppu32-gcc
|
||||
CXX = ppu32-g++
|
||||
HOST_CC = gcc
|
||||
APP_CC = gcc
|
||||
APP_CXX = g++
|
||||
|
||||
OPT_FLAGS = -O3
|
||||
|
||||
# Cell SDK location
|
||||
## For SDK 2.1: (plus, remove -DSPU_MAIN_PARAM_LONG_LONG below)
|
||||
#SDK = /opt/ibm/cell-sdk/prototype/sysroot/usr
|
||||
## For SDK 3.0:
|
||||
SDK = /opt/cell/sdk/usr
|
||||
|
||||
|
||||
|
||||
COMMON_C_CPP_FLAGS = $(OPT_FLAGS) -Wall -Winline \
|
||||
-fPIC -m32 -mabi=altivec -maltivec \
|
||||
-I. -I$(SDK)/include \
|
||||
-DGALLIUM_CELL $(DEFINES)
|
||||
|
||||
CFLAGS = $(COMMON_C_CPP_FLAGS) -Wmissing-prototypes -std=c99
|
||||
|
||||
CXXFLAGS = $(COMMON_C_CPP_FLAGS)
|
||||
|
||||
|
||||
# Omitting glw here:
|
||||
SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
|
||||
gallium gallium/winsys gallium/targets glu glut/glx
|
||||
|
||||
# Build no traditional Mesa drivers:
|
||||
DRIVER_DIRS =
|
||||
|
||||
|
||||
MKDEP_OPTIONS = -fdepend -Y
|
||||
|
||||
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread \
|
||||
-L$(SDK)/lib -m32 -Wl,-m,elf32ppc -R$(SDK)/lib -lspe2
|
||||
|
||||
|
||||
CELL_SPU_LIB = $(TOP)/src/gallium/drivers/cell/spu/g3d_spu.a
|
||||
|
||||
|
||||
### SPU stuff
|
||||
|
||||
SPU_CC = spu-gcc
|
||||
|
||||
SPU_CFLAGS = $(OPT_FLAGS) -W -Wall -Winline -Wmissing-prototypes -Wno-main \
|
||||
-I. -I$(SDK)/spu/include -I$(TOP)/src/mesa/ $(INCLUDE_DIRS) \
|
||||
-DSPU_MAIN_PARAM_LONG_LONG \
|
||||
-include spu_intrinsics.h
|
||||
|
||||
SPU_LFLAGS = -L$(SDK)/spu/lib -Wl,-N -lmisc -lm
|
||||
|
||||
SPU_AR = ppu-ar
|
||||
SPU_AR_FLAGS = -qcs
|
||||
|
||||
SPU_EMBED = ppu32-embedspu
|
||||
SPU_EMBED_FLAGS = -m32
|
10
configs/linux-cell-debug
Normal file
10
configs/linux-cell-debug
Normal file
@@ -0,0 +1,10 @@
|
||||
# linux-cell-debug
|
||||
|
||||
include $(TOP)/configs/linux-cell
|
||||
|
||||
# just override name and OPT_FLAGS here:
|
||||
|
||||
CONFIG_NAME = linux-cell-debug
|
||||
|
||||
OPT_FLAGS = -g -DDEBUG
|
||||
|
@@ -32,6 +32,7 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
|
||||
|
||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
@@ -44,8 +45,8 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib
|
||||
|
||||
MESA_MODULES = $(TOP)/src/mesa/libmesa.a
|
||||
|
||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
|
||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
|
||||
DRI_LIB_DEPS = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -lpthread -ldl $(LIBDRM_LIB)
|
||||
@@ -58,18 +59,15 @@ SRC_DIRS := glx egl $(SRC_DIRS)
|
||||
EGL_DRIVERS_DIRS = glx
|
||||
|
||||
DRIVER_DIRS = dri
|
||||
GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm
|
||||
GALLIUM_TARGET_DIRS = dri-vmwgfx
|
||||
GALLIUM_STATE_TRACKERS_DIRS = egl dri
|
||||
GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel drm/i965
|
||||
GALLIUM_TARGET_DIRS =
|
||||
GALLIUM_STATE_TRACKERS_DIRS = egl
|
||||
|
||||
DRI_DIRS = i915 i965 nouveau r200 radeon swrast
|
||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \
|
||||
savage sis tdfx unichrome swrast
|
||||
|
||||
INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel)
|
||||
INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel)
|
||||
INTEL_LIBS = `pkg-config --libs libdrm_intel`
|
||||
INTEL_CFLAGS = `pkg-config --cflags libdrm_intel`
|
||||
|
||||
NOUVEAU_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_nouveau)
|
||||
NOUVEAU_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_nouveau)
|
||||
|
||||
RADEON_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_radeon)
|
||||
RADEON_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_radeon)
|
||||
RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS)
|
||||
RADEON_LIBS = `pkg-config --libs libdrm_radeon`
|
||||
RADEON_CFLAGS = `pkg-config --cflags libdrm_radeon`
|
||||
|
@@ -10,5 +10,7 @@ ARCH_FLAGS = -DDEBUG
|
||||
# Helpful to reduce the amount of stuff that gets built sometimes:
|
||||
#DRI_DIRS = i915tex i915
|
||||
#DRI_DIRS = i965
|
||||
#DRI_DIRS = radeon r200
|
||||
#DRI_DIRS = radeon r200 r300
|
||||
#DRI_DIRS = unichrome sis
|
||||
#DRI_DIRS = i810 mga r128 tdfx
|
||||
|
||||
|
@@ -13,5 +13,5 @@ MESA_ASM_SOURCES = $(PPC_SOURCES)
|
||||
|
||||
# Build only the drivers for cards that exist on PowerPC. At some point MGA
|
||||
# will be added, but not yet.
|
||||
DRI_DIRS = r200 radeon
|
||||
DRI_DIRS = mach64 r128 r200 r300 radeon tdfx
|
||||
|
||||
|
@@ -16,5 +16,9 @@ LIB_DIR = lib64
|
||||
# Library/program dependencies
|
||||
EXTRA_LIB_PATH=-L/usr/X11R6/lib64
|
||||
|
||||
DRI_DIRS = i915 i965 r200 radeon
|
||||
# sis is missing because it has not been converted to use
|
||||
# the new interface. i810 are missing because there is no x86-64
|
||||
# system where they could *ever* be used.
|
||||
#
|
||||
DRI_DIRS = i915 i965 mach64 mga r128 r200 r300 radeon savage tdfx unichrome
|
||||
|
||||
|
@@ -25,7 +25,7 @@ DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
|
||||
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
|
||||
-DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN
|
||||
|
||||
X11_INCLUDES = $(shell $(PKG_CONFIG) --cflags-only-I x11) $(shell $(PKG_CONFIG) --cflags-only-I xcb) $(shell $(PKG_CONFIG) --cflags-only-I x11-xcb) $(shell $(PKG_CONFIG) --cflags-only-I xcb-glx)
|
||||
X11_INCLUDES = $(shell pkg-config --cflags-only-I x11) $(shell pkg-config --cflags-only-I xcb) $(shell pkg-config --cflags-only-I x11-xcb) $(shell pkg-config --cflags-only-I xcb-glx)
|
||||
|
||||
CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
||||
$(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math
|
||||
@@ -39,17 +39,18 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
MESA_ASM_SOURCES =
|
||||
|
||||
# Library/program dependencies
|
||||
EXTRA_LIB_PATH=$(shell $(PKG_CONFIG) --libs-only-L x11)
|
||||
EXTRA_LIB_PATH=$(shell pkg-config --libs-only-L x11)
|
||||
|
||||
MESA_MODULES = $(TOP)/src/mesa/libmesa.a
|
||||
|
||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
|
||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
|
||||
DRI_LIB_DEPS = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
|
||||
$(LIBDRM_LIB) $(shell $(PKG_CONFIG) --libs xcb) $(shell $(PKG_CONFIG) --libs x11-xcb) $(shell $(PKG_CONFIG) --libs xcb-glx)
|
||||
$(LIBDRM_LIB) $(shell pkg-config --libs xcb) $(shell pkg-config --libs x11-xcb) $(shell pkg-config --libs xcb-glx)
|
||||
|
||||
SRC_DIRS = glx gallium mesa glu
|
||||
SRC_DIRS = glx gallium mesa glu glut/glx glw
|
||||
|
||||
DRIVER_DIRS = dri
|
||||
DRI_DIRS = i915 r200 radeon
|
||||
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon \
|
||||
savage sis tdfx unichrome
|
||||
|
@@ -40,8 +40,8 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib
|
||||
|
||||
MESA_MODULES = $(TOP)/src/mesa/libmesa.a
|
||||
|
||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
|
||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
|
||||
DRI_LIB_DEPS = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -lpthread -ldl \
|
||||
|
18
configs/linux-fbdev
Normal file
18
configs/linux-fbdev
Normal file
@@ -0,0 +1,18 @@
|
||||
# Configuration for Linux fbdev interface
|
||||
|
||||
include $(TOP)/configs/linux
|
||||
|
||||
CONFIG_NAME = linux-fbdev
|
||||
|
||||
CFLAGS += -DUSE_GLFBDEV_DRIVER
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
|
||||
SRC_DIRS += glut/fbdev
|
||||
DRIVER_DIRS = fbdev osmesa
|
||||
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lgpm -lm
|
||||
|
9
configs/linux-i965
Normal file
9
configs/linux-i965
Normal file
@@ -0,0 +1,9 @@
|
||||
# Configuration for standalone mode i965 debug
|
||||
|
||||
include $(TOP)/configs/linux-debug
|
||||
|
||||
CONFIG_NAME = linux-i965
|
||||
|
||||
GALLIUM_DRIVER_DIRS = i965
|
||||
GALLIUM_WINSYS_DIRS = drm/i965/xlib
|
||||
GALLIUM_TARGET_DIRS =
|
@@ -9,10 +9,13 @@ CC = icc
|
||||
CXX = icpc
|
||||
CFLAGS = -O3 -ansi -KPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
|
||||
CXXFLAGS = -O3 -ansi -KPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -arch icc-istatic
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
|
||||
|
||||
|
||||
|
@@ -9,15 +9,19 @@ CC = icc
|
||||
CXX = icpc
|
||||
CFLAGS = -O3 -ansi -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
|
||||
CXXFLAGS = -O3 -ansi -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static -arch icc-istatic
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
GL_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -i-static -cxxlib-icc -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lpthread -lm -lcxa -lunwind
|
||||
|
||||
|
@@ -9,9 +9,12 @@ CC = icc
|
||||
CXX = g++
|
||||
CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -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
|
||||
CXXFLAGS = -O3
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -arch icc
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
||||
MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
GLAPI_ASM_SOURCES = $(X86_API)
|
||||
|
@@ -9,15 +9,19 @@ CC = icc
|
||||
CXX = icpc
|
||||
CFLAGS = -O3 -tpp6 -axK -D_GCC_LIMITS_H_ -D__GNUC__ -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
|
||||
CXXFLAGS = -O3 -tpp6 -axK -DPTHREADS
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static -arch icc
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
GL_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm -lpthread -lcxa -lunwind
|
||||
|
||||
MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
GLAPI_ASM_SOURCES = $(X86_API)
|
||||
|
@@ -48,5 +48,5 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
|
||||
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = glx glu
|
||||
SRC_DIRS = glx glu glut/glx glw
|
||||
DRIVER_DIRS =
|
||||
|
@@ -30,7 +30,7 @@ else
|
||||
endif
|
||||
|
||||
ifeq ($(MESA_LLVM),1)
|
||||
LLVM_CFLAGS=`llvm-config --cppflags|sed 's/-DNDEBUG\>//g'`
|
||||
LLVM_CFLAGS=`llvm-config --cppflags`
|
||||
LLVM_CXXFLAGS=`llvm-config --cxxflags` -Wno-long-long
|
||||
LLVM_LDFLAGS = $(shell llvm-config --ldflags)
|
||||
LLVM_LIBS = $(shell llvm-config --libs)
|
||||
@@ -42,6 +42,3 @@ endif
|
||||
|
||||
LD = g++
|
||||
GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++
|
||||
|
||||
# to allow the NV drivers to compile
|
||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
|
||||
|
@@ -24,3 +24,4 @@ DRIVER_DIRS = osmesa
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread -ldl
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
|
@@ -17,6 +17,7 @@ MKLIB_OPTIONS = -static
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
@@ -29,4 +30,7 @@ DRIVER_DIRS = osmesa
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||
|
@@ -27,3 +27,4 @@ DRIVER_DIRS = osmesa
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
|
@@ -28,3 +28,4 @@ DRIVER_DIRS = osmesa
|
||||
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
|
@@ -27,3 +27,4 @@ DRIVER_DIRS = osmesa
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lm -lpthread
|
||||
|
@@ -10,5 +10,6 @@ PIC_FLAGS =
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
@@ -10,6 +10,7 @@ PIC_FLAGS =
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
@@ -17,7 +18,9 @@ OSMESA_LIB_NAME = libOSMesa.a
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
|
||||
# Need to specify all libraries we may need
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) \
|
||||
-l$(GL_LIB) -lm -L/usr/X11R6/lib/ -lX11 -lXext -lXmu -lXi -lpthread
|
||||
|
@@ -10,6 +10,7 @@ PIC_FLAGS =
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
@@ -17,5 +18,10 @@ OSMESA_LIB_NAME = libOSMesa.a
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
|
||||
# Need to specify all libraries we may need
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -Wl,--start-group \
|
||||
-l$(GL_LIB) $(TOP)/src/mesa/pipe/softpipe/libsoftpipe.a -Wl,--end-group \
|
||||
$(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||
|
@@ -10,6 +10,7 @@ PIC_FLAGS =
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
@@ -17,5 +18,9 @@ OSMESA_LIB_NAME = libOSMesa.a
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
|
||||
# Need to specify all libraries we may need
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) \
|
||||
-l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||
|
@@ -9,6 +9,8 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -O2 -fPIC -DUSE_XSHM -I/usr/X11R6/include -DHZ=100
|
||||
CXXFLAGS = -O2 -fPIC
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
|
@@ -17,4 +17,6 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
||||
|
@@ -12,3 +12,5 @@ CXXFLAGS = -O2 -std ansi -ieee -DPTHREADS -D_REENTRANT
|
||||
|
||||
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm
|
||||
|
@@ -13,3 +13,5 @@ MKLIB_OPTIONS = -static
|
||||
|
||||
GL_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
APP_LIB_DEPS = -noso -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -so_archive -lX11 -lXext -lXmu -lXi -lpthread -lm -lcxx
|
||||
|
@@ -9,8 +9,10 @@ CC = cc
|
||||
CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm -lglut -lGLU -lGL
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
@@ -9,6 +9,7 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -march=i486 -fPIC
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
@@ -16,3 +17,5 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXi -lXmu
|
||||
|
@@ -9,6 +9,7 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
|
||||
CXXFLAGS = -O3 -march=i486 -fPIC
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
@@ -17,8 +18,11 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXi -lXmu
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
@@ -7,5 +7,6 @@ CONFIG_NAME = sunos4
|
||||
# Compiler and flags
|
||||
CC = acc
|
||||
CFLAGS = -Kpic -O -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi -lm
|
||||
|
||||
|
||||
|
@@ -9,9 +9,11 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
|
||||
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
|
||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
||||
|
||||
|
@@ -12,6 +12,7 @@ MKLIB_OPTIONS = -static
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
@@ -19,4 +20,6 @@ OSMESA_LIB_NAME = libOSMesa.a
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm
|
||||
|
@@ -9,7 +9,10 @@ CC = cc
|
||||
CXX = c++
|
||||
CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM
|
||||
CXXFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lCrun -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
@@ -26,6 +26,7 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||
-I/usr/openwin/include
|
||||
|
||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
@@ -35,3 +36,5 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
EXTRA_LIB_PATH=-L/usr/openwin/lib
|
||||
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXi -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
@@ -9,8 +9,11 @@ CC = cc
|
||||
CXX = c++
|
||||
CFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG
|
||||
CXXFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lCrun
|
||||
|
||||
|
@@ -9,7 +9,10 @@ CC = cc
|
||||
CXX = CC
|
||||
CFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
CXXFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
@@ -11,4 +11,6 @@ CC = cc
|
||||
CXX = CC
|
||||
CFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
CXXFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 -lXext -lXmu -lXi -lpthread -lm -lCstd -lCrun
|
||||
|
@@ -13,8 +13,11 @@ CC = cc
|
||||
CXX = CC
|
||||
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
||||
|
@@ -26,7 +26,10 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
#CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
|
@@ -13,4 +13,6 @@ CC = cc
|
||||
CXX = CC
|
||||
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 -lXext -lXmu -lXi -lpthread -lm -lCstd -lCrun
|
||||
|
@@ -9,6 +9,7 @@ CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -pedantic -O2
|
||||
CXXFLAGS = -pedantic -O2
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
@@ -17,6 +18,8 @@ CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXmu -lX11 -lXi -lm
|
||||
|
1434
configure.ac
1434
configure.ac
File diff suppressed because it is too large
Load Diff
101
docs/GL3.txt
101
docs/GL3.txt
@@ -12,47 +12,48 @@ Feature Status
|
||||
|
||||
GL 3.0:
|
||||
|
||||
GLSL 1.30 DONE
|
||||
glBindFragDataLocation, glGetFragDataLocation DONE
|
||||
Conditional rendering (GL_NV_conditional_render) DONE (i965, r600, swrast)
|
||||
Map buffer subranges (GL_ARB_map_buffer_range) DONE (i965, r600, swrast)
|
||||
Clamping controls (GL_ARB_color_buffer_float) DONE (i965, r600)
|
||||
Float textures, renderbuffers (GL_ARB_texture_float) DONE (i965, r600)
|
||||
GL_EXT_packed_float DONE (i965, r600)
|
||||
GL_EXT_texture_shared_exponent DONE (i965, r600, swrast)
|
||||
Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600)
|
||||
Framebuffer objects (GL_EXT_framebuffer_object) DONE (i965, r600, swrast)
|
||||
GLSL changes (GL_EXT_gpu_shader4, etc) not started
|
||||
Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
|
||||
Map buffer subranges (GL_ARB_map_buffer_range) DONE
|
||||
Clamping controls (GL_ARB_color_buffer_float) DONE
|
||||
Float textures, renderbuffers (GL_ARB_texture_float) BRANCH ~mareko/mesa floating2
|
||||
GL_EXT_packed_float not started
|
||||
GL_EXT_texture_shared_exponent not started
|
||||
Float depth buffers (GL_ARB_depth_buffer_float) not started
|
||||
Framebuffer objects (GL_EXT_framebuffer_object) DONE
|
||||
Half-float DONE
|
||||
Multisample blit DONE
|
||||
Non-normalized Integer texture/framebuffer formats ~50% done
|
||||
1D/2D Texture arrays DONE
|
||||
1D/2D Texture arrays core Mesa, swrast done
|
||||
Packed depth/stencil formats DONE
|
||||
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, swrast)
|
||||
GL_EXT_texture_compression_rgtc DONE (i965, r600, swrast)
|
||||
Red and red/green texture formats DONE (i965, swrast, gallium)
|
||||
Transform feedback (GL_EXT_transform_feedback) DONE (i965)
|
||||
Vertex array objects (GL_APPLE_vertex_array_object) DONE (i965, r600, swrast)
|
||||
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600)
|
||||
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
|
||||
GL_EXT_texture_compression_rgtc DONE (swrast, gallium r600)
|
||||
Red and red/green texture formats DONE (swrast, i965, gallium)
|
||||
Transform feedback (GL_EXT_transform_feedback) ~50% done
|
||||
glBindFragDataLocation, glGetFragDataLocation,
|
||||
glBindBufferRange, glBindBufferBase commands
|
||||
Vertex array objects (GL_APPLE_vertex_array_object) DONE
|
||||
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) core GL done (i965, gallium), GLX todo
|
||||
glClearBuffer commands DONE
|
||||
glGetStringi command DONE
|
||||
glTexParameterI, glGetTexParameterI commands DONE
|
||||
glVertexAttribI commands DONE (but converts int
|
||||
values to floats)
|
||||
Depth format cube textures DONE
|
||||
GLX_ARB_create_context (GLX 1.4 is required) DONE
|
||||
Depth format cube textures 0% done
|
||||
|
||||
|
||||
|
||||
GL 3.1:
|
||||
|
||||
GLSL 1.40 not started
|
||||
GLSL 1.30 and 1.40 not started
|
||||
Instanced drawing (GL_ARB_draw_instanced) DONE (gallium, swrast)
|
||||
Buffer copying (GL_ARB_copy_buffer) DONE (i965, r600, swrast)
|
||||
Primitive restart (GL_NV_primitive_restart) DONE (r600)
|
||||
16 vertex texture image units DONE
|
||||
Buffer copying (GL_ARB_copy_buffer) DONE
|
||||
Primitive restart (GL_NV_primitive_restart) DONE (gallium)
|
||||
16 vertex texture image units not started
|
||||
Texture buffer objs (GL_ARB_texture_buffer_object) not started
|
||||
Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r600, swrast)
|
||||
Rectangular textures (GL_ARB_texture_rectangle) DONE
|
||||
Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
|
||||
Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r600)
|
||||
Signed normalized textures (GL_EXT_texture_snorm) DONE (gallium)
|
||||
|
||||
|
||||
GL 3.2:
|
||||
@@ -60,36 +61,35 @@ GL 3.2:
|
||||
Core/compatibility profiles not started
|
||||
GLSL 1.50 not started
|
||||
Geometry shaders (GL_ARB_geometry_shader4) partially done (Zack)
|
||||
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (i965, r600, swrast)
|
||||
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (i965, r600, swrast)
|
||||
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r600, swrast)
|
||||
Provoking vertex (GL_ARB_provoking_vertex) DONE (i965, r600, swrast)
|
||||
Seamless cubemaps (GL_ARB_seamless_cube_map) DONE (i965, r600)
|
||||
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE
|
||||
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE
|
||||
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
|
||||
Provoking vertex (GL_ARB_provoking_vertex) DONE
|
||||
Seamless cubemaps (GL_ARB_seamless_cube_map) DONE, mostly?
|
||||
Multisample textures (GL_ARB_texture_multisample) not started
|
||||
Frag depth clamp (GL_ARB_depth_clamp) DONE (i965, r600, swrast)
|
||||
Fence objects (GL_ARB_sync) DONE (i965, r600, swrast)
|
||||
GLX_ARB_create_context_profile DONE
|
||||
Frag depth clamp (GL_ARB_depth_clamp) DONE
|
||||
Fence objects (GL_ARB_sync) DONE
|
||||
|
||||
|
||||
GL 3.3:
|
||||
|
||||
GLSL 3.30 not started
|
||||
GL_ARB_blend_func_extended not started
|
||||
GL_ARB_explicit_attrib_location DONE (i915, i965, r600, swrast)
|
||||
GL_ARB_occlusion_query2 DONE (r600, swrast)
|
||||
GL_ARB_sampler_objects DONE (i965, r600)
|
||||
GL_ARB_texture_rgb10_a2ui DONE (gallium)
|
||||
GL_ARB_texture_swizzle DONE (same as EXT version) (i965, r600, swrast)
|
||||
GL_ARB_timer_query ~60% done (the EXT variant)
|
||||
GL_ARB_instanced_arrays DONE (r600)
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE (r600)
|
||||
GL_ARB_explicit_attrib_location DONE (swrast, i915, i965)
|
||||
GL_ARB_occlusion_query2 DONE (swrast, gallium)
|
||||
GL_ARB_sampler_objects DONE (gallium)
|
||||
GL_ARB_texture_rgb10_a2ui not started
|
||||
GL_ARB_texture_swizzle DONE (same as EXT version)
|
||||
GL_ARB_timer_query DONE (only Xlib sw driver)
|
||||
GL_ARB_instanced_arrays DONE (gallium)
|
||||
GL_ARB_vertex_type_2_10_10_10_rev not started
|
||||
|
||||
|
||||
GL 4.0:
|
||||
|
||||
GLSL 4.0 not started
|
||||
GL_ARB_texture_query_lod not started
|
||||
GL_ARB_draw_buffers_blend DONE (r600, softpipe)
|
||||
GL_ARB_draw_buffers_blend DONE (gallium softpipe)
|
||||
GL_ARB_draw_indirect not started
|
||||
GL_ARB_gpu_shader_fp64 not started
|
||||
GL_ARB_sample_shading not started
|
||||
@@ -98,14 +98,14 @@ GL_ARB_tessellation_shader not started
|
||||
GL_ARB_texture_buffer_object_rgb32 not started
|
||||
GL_ARB_texture_cube_map_array not started
|
||||
GL_ARB_texture_gather not started
|
||||
GL_ARB_transform_feedback2 DONE
|
||||
GL_ARB_transform_feedback2 not started
|
||||
GL_ARB_transform_feedback3 not started
|
||||
|
||||
|
||||
GL 4.1:
|
||||
|
||||
GLSL 4.1 not started
|
||||
GL_ARB_ES2_compatibility DONE (i965, r600)
|
||||
GL_ARB_ES2_compatibility not started
|
||||
GL_ARB_get_program_binary not started
|
||||
GL_ARB_separate_shader_objects some infrastructure done
|
||||
GL_ARB_shader_precision not started
|
||||
@@ -113,19 +113,6 @@ GL_ARB_vertex_attrib_64bit not started
|
||||
GL_ARB_viewport_array not started
|
||||
|
||||
|
||||
GL 4.2:
|
||||
GLSL 4.2 not started
|
||||
GL_ARB_texture_compression_bptc not started
|
||||
GL_ARB_compressed_texture_pixel_storage not started
|
||||
GL_ARB_shader_atomic_counters not started
|
||||
GL_ARB_texture_storage DONE (r600, swrast)
|
||||
GL_ARB_transform_feedback_instanced not started
|
||||
GL_ARB_base_instance not started
|
||||
GL_ARB_shader_image_load_store not started
|
||||
GL_ARB_conservative_depth DONE (compiler)
|
||||
GL_ARB_shading_language_420pack not started
|
||||
GL_ARB_internalformat_query not started
|
||||
GL_ARB_map_buffer_alignment not started
|
||||
|
||||
|
||||
More info about these features and the work involved can be found at
|
||||
|
@@ -66,7 +66,6 @@ New Tokens
|
||||
|
||||
EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x0001
|
||||
EGL_DRM_BUFFER_USE_SHARE_MESA 0x0002
|
||||
EGL_DRM_BUFFER_USE_CURSOR_MESA 0x0004
|
||||
|
||||
Accepted in the <target> parameter of eglCreateImageKHR:
|
||||
|
||||
@@ -90,16 +89,13 @@ Additions to the EGL 1.4 Specification:
|
||||
extension is EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel
|
||||
is a CPU-endian, 32-bit quantity, with alpha in the upper 8 bits,
|
||||
then red, then green, then blue. The bit values accepted by
|
||||
EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA,
|
||||
EGL_DRM_BUFFER_USE_SHARE_MESA and EGL_DRM_BUFFER_USE_CURSOR_MESA.
|
||||
EGL_DRM_BUFFER_USE_SCANOUT_MESA requests that the created EGLImage
|
||||
should be usable as a scanout buffer with the DRM kernel
|
||||
modesetting API. EGL_DRM_BUFFER_USE_SHARE_MESA requests that the
|
||||
EGLImage can be shared with other processes by passing the
|
||||
underlying DRM buffer name. EGL_DRM_BUFFER_USE_CURSOR_MESA
|
||||
requests that the image must be usable as a cursor with KMS. When
|
||||
EGL_DRM_BUFFER_USE_CURSOR_MESA is set, width and height must both
|
||||
be 64.
|
||||
EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA and
|
||||
EGL_DRM_BUFFER_USE_SHARE_MESA. EGL_DRM_BUFFER_USE_SCANOUT_MESA
|
||||
requests that the created EGLImage should be usable as a scanout
|
||||
buffer with the DRM kernel modesetting API. The
|
||||
EGL_DRM_BUFFER_USE_SHARE_MESA bit requests that the EGLImage can
|
||||
be shared with other processes by passing the underlying DRM
|
||||
buffer name.
|
||||
|
||||
To create a process local handle or a global DRM name for a
|
||||
buffer, call
|
||||
|
830
docs/README.3DFX
Normal file
830
docs/README.3DFX
Normal file
@@ -0,0 +1,830 @@
|
||||
|
||||
3Dfx Glide device driver
|
||||
|
||||
|
||||
|
||||
Requirements:
|
||||
-------------
|
||||
|
||||
A Voodoo-based videocard/accelerator
|
||||
DOS (with DJGPP), Windows9x/2k (with MinGW), Linux
|
||||
Glide3x library for your OS
|
||||
|
||||
http://sourceforge.net/projects/glide/
|
||||
|
||||
|
||||
|
||||
How to compile:
|
||||
---------------
|
||||
|
||||
DJGPP:
|
||||
Place the Glide3 SDK in the top Mesa directory:
|
||||
$(MESA)/glide3/include/
|
||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||
$(MESA)/glide3/lib/
|
||||
libgld3x.a, libgld3i.a, glide3x.dxe
|
||||
Type:
|
||||
make -f Makefile.DJ X86=1 FX=1
|
||||
Look into the makefile for further information.
|
||||
|
||||
MinGW:
|
||||
Place the Glide3 SDK in the top Mesa directory:
|
||||
$(MESA)/glide3/include/
|
||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||
$(MESA)/glide3/lib/
|
||||
libglide3x.a, glide3x.dll
|
||||
Type:
|
||||
make -f Makefile.mgw X86=1 FX=1
|
||||
Look into the makefile for further information.
|
||||
|
||||
Linux:
|
||||
Place the Glide3 SDK in /usr/local/glide
|
||||
/usr/local/glide/include/
|
||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||
/usr/local/glide/lib/
|
||||
libglide3x.a, libglide3x.so
|
||||
Type:
|
||||
make linux-glide
|
||||
or
|
||||
make linux-x86-glide
|
||||
|
||||
|
||||
|
||||
Compilation defines:
|
||||
--------------------
|
||||
|
||||
FX_DEBUG
|
||||
enable driver debug code
|
||||
FX_TRAP_GLIDE
|
||||
enable Glide trace code
|
||||
FX_PACKEDCOLOR
|
||||
use packed color in vertex structure
|
||||
FX_TC_NAPALM
|
||||
map GL_COMPRESSED_RGB[A] to FXT1. Works with VSA100-based cards only.
|
||||
FX_COMPRESS_S3TC_AS_FXT1_HACK
|
||||
map S3TC to FXT1
|
||||
FX_RESCALE_BIG_TEXURES_HACK
|
||||
fake textures larger than HW can support
|
||||
(see MESA_FX_MAXLOD environment variable)
|
||||
|
||||
|
||||
|
||||
Environment variables:
|
||||
----------------------
|
||||
|
||||
The following environment variables affect MesaFX. Those that affect Glide
|
||||
only, are beyond the scope of this section. Entries that don't have a "Value"
|
||||
field, can have any value whatsoever
|
||||
ex: set MESA_FX_IGNORE_CMBEXT=y
|
||||
|
||||
"Note" (*) means that the environment variable affects Glide, too; also, if
|
||||
the var is not found in the environment, it is searched in windoze registry.
|
||||
"Note" (!) means that the environment variable is not working as expected;
|
||||
may have undefined effects, might have effects only at Glide level or might
|
||||
not have any effect whatsoever. Caveat emptor! Those are to be revised soon.
|
||||
|
||||
It is recommended to leave the envvars alone, so that Mesa/Glide will run with
|
||||
default values. Use them only when you experience crashes or strange behavior.
|
||||
|
||||
FX_GLIDE_NUM_TMU
|
||||
OS: all
|
||||
HW: dual-TMU cards (Voodoo2, Avenger, Napalm)
|
||||
Desc: force single-TMU
|
||||
Note: (*)
|
||||
Value: "1"
|
||||
FX_GLIDE_SWAPPENDINGCOUNT
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: max # of buffers allowed to build up
|
||||
Note: (*) (!)
|
||||
Value: "0", "1", "2", "3", "4", "5" or "6"
|
||||
FX_GLIDE_SWAPINTERVAL
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: number of vertical retraces to wait before swapping
|
||||
Note: (*) (!) works only at Glide-level?
|
||||
SSTH3_SLI_AA_CONFIGURATION
|
||||
OS: all
|
||||
HW: VSA100-based cards
|
||||
Desc: SLI/AA setup
|
||||
Note: (*) (!) works only at Glide-level?
|
||||
Value:
|
||||
1, 2, 4 chip cards
|
||||
"0" - SLI & AA disable
|
||||
"1" - SLI disabled, 2 sample AA enabled
|
||||
2, 4 chip cards
|
||||
"2" - 2-way SLI enabled, AA disabled
|
||||
"3" - 2-way SLI enabled, 2 sample AA enabled
|
||||
"4" - SLI disabled, 4 sample AA enabled
|
||||
4 chip cards
|
||||
"5" - 4-way SLI enabled, AA disabled
|
||||
"6" - 4-way SLI enabled, 2 sample AA enabled
|
||||
"7" - 2-way SLI enabled, 4 sample AA enabled
|
||||
"8" - SLI disabled, 8 sample AA enabled
|
||||
SST_DUALHEAD
|
||||
OS: win32
|
||||
HW: ?
|
||||
Desc: ?
|
||||
Note: (!) disabled?
|
||||
MESA_FX_NO_SIGNALS
|
||||
OS: linux
|
||||
HW: all
|
||||
Desc: avoid installing signals
|
||||
Note: (!) untested!
|
||||
MESA_FX_INFO
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: verbose to stderr
|
||||
Value: any; special value "r" to redirect stderr to MESA.LOG
|
||||
MESA_FX_NOSNAP
|
||||
OS: all
|
||||
HW: Voodoo1, Rush, Banshee
|
||||
Desc: do not snap vertices inside Mesa
|
||||
Note: to be used with Glide3x that snaps vertices internally
|
||||
MESA_FX_POINTCAST
|
||||
OS: all
|
||||
HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm)
|
||||
Desc: try to use pointcast palette
|
||||
Note: may give adverse effects on UMA cards (Avenger, Napalm)
|
||||
MESA_FX_IGNORE_PALEXT
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable 6666 palette
|
||||
MESA_FX_IGNORE_PIXEXT
|
||||
OS: all
|
||||
HW: Napalm
|
||||
Desc: force 565 16bpp mode (traditional Voodoo, no 32/15bpp)
|
||||
MESA_FX_IGNORE_TEXFMT
|
||||
OS: all
|
||||
HW: Napalm
|
||||
Desc: disable 32bit textures
|
||||
MESA_FX_IGNORE_CMBEXT
|
||||
OS: all
|
||||
HW: Napalm
|
||||
Desc: disable Napalm combiners (color/alpha/texture)
|
||||
Note: this option allows dual-TMU cards perform single-pass
|
||||
trilinear, but some advanced (multi)texturing modes
|
||||
won't work (GL_EXT_texture_env_combine)
|
||||
MESA_FX_IGNORE_MIREXT
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable mirror extension
|
||||
MESA_FX_IGNORE_TEXUMA
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable UMA
|
||||
MESA_FX_IGNORE_TEXUS2
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable Texus2
|
||||
MESA_FX_MAXLOD
|
||||
OS: all
|
||||
HW: non VSA-100 cards
|
||||
Desc: enable large texture support using SW rescaling
|
||||
Value:
|
||||
"9" - 512x512 textures
|
||||
"10" - 1024x1024 textures
|
||||
"11" - 2048x2048 textures
|
||||
MESA_FX_ALLOW_VP
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: allow vertex program extensions
|
||||
MESA_GLX_FX
|
||||
OS: linux
|
||||
HW: Voodoo1, Rush, Voodoo2
|
||||
Desc: display mode
|
||||
Note: (!) experimental
|
||||
Value:
|
||||
"w" - windowed mode
|
||||
"f" - fullscreen mode
|
||||
"d" - disable glide driver
|
||||
OS: win32
|
||||
HW: Rush, Banshee, Avenger, Napalm
|
||||
Desc: display mode
|
||||
Note: (!) experimental
|
||||
Value:
|
||||
"w" - windowed mode
|
||||
|
||||
|
||||
|
||||
Contact:
|
||||
--------
|
||||
|
||||
Daniel Borca <dborca 'at' users 'dot' sourceforge 'dot' net>
|
||||
Hiroshi Morii <koolsmoky 'at' users 'dot' sourceforge 'dot' net>
|
||||
|
||||
|
||||
|
||||
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
|
||||
*******************************************************************************
|
||||
|
||||
|
||||
|
||||
Info for Mesa 4.1
|
||||
-----------------
|
||||
|
||||
The 3dfx Glide driver in Mesa is disabled by default. Not too many people
|
||||
use this driver anymore and at some point down the road it will be dropped.
|
||||
|
||||
To use/enable the Glide driver either do this:
|
||||
|
||||
'./configure --with-glide=DIR' Where DIR is the location of Glide, like
|
||||
/usr/ or /usr/local
|
||||
|
||||
OR
|
||||
|
||||
'make linux-x86-glide' If using the old-style Makefile system.
|
||||
|
||||
The rest of this file hasn't changed since Mesa 3.3. Some of it's out of
|
||||
date, but some is still valid.
|
||||
|
||||
|
||||
|
||||
What do you need ?
|
||||
------------------
|
||||
|
||||
- A PC with a 3Dfx Voodoo1/2 Graphics or Voodoo Rush based board
|
||||
(Pure3D, Monster 3D, R3D, Obsidian, Stingray 128/3D, etc.).
|
||||
The Quantum3D Obsidian3D-2 X-24 requires some special env. setting
|
||||
under Linux (more information in the "Useful Glide Environment
|
||||
Variables");
|
||||
|
||||
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
||||
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
|
||||
compatible with the Glide 2.x so it doesn't work with the current
|
||||
version of the driver;
|
||||
|
||||
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
||||
Watcom (tested), GCC for Linux (tested), etc.);
|
||||
|
||||
- It's nice to have two monitors - one for your normal graphics
|
||||
card and one for your 3Dfx card. If something goes wrong with
|
||||
an application using the 3Dfx hardware you can still see your
|
||||
normal screen in order to recover.
|
||||
|
||||
|
||||
|
||||
Tested on:
|
||||
----------
|
||||
Windows 95 - David Bucciarelli
|
||||
Windows NT - Henri Fousse
|
||||
MS-DOS
|
||||
Linux - Daryll Strauss, Brian Paul, David Bucciarelli
|
||||
FreeBSD
|
||||
BeOS - Duncan Wilcox
|
||||
MacOS - Fazekas Miklos
|
||||
|
||||
|
||||
What is able to do ?
|
||||
--------------------
|
||||
|
||||
- It is able accelerate points, lines and polygon with flat
|
||||
shading, gouraud shading, Z-buffer, texture mapping, blending, fog and
|
||||
antialiasing (when possible). There is also the support for rendering
|
||||
in a window with a slow trick for the Voodoo Graphics (available only
|
||||
for Linux) and at full speed with the Voodoo Rush chipset.
|
||||
Under Linux is also possible to switch on-the-fly between the fullscreen
|
||||
and in-window rendering hack.
|
||||
There is also the support for using more than one Voodoo Graphics in the
|
||||
some application/PC (you can create one context for each board and use
|
||||
multiple video outputs for driving monitors, videoprojectors or HMDs).
|
||||
The driver is able to fallback to pure software rendering when afeature
|
||||
isn't supported by the Voodoo hardware (however software rendering is
|
||||
very slow compared to hardware supported rendering)
|
||||
|
||||
|
||||
|
||||
How to compile:
|
||||
---------------
|
||||
|
||||
Linux:
|
||||
------
|
||||
Here are the basic steps for using the 3Dfx hardware with Mesa
|
||||
on Linux:
|
||||
|
||||
- You'll need the Glide library and headers. Mesa expects:
|
||||
/usr/local/glide/include/*.h // all the Glide headers
|
||||
/usr/local/glide/lib/libglide2x.so
|
||||
|
||||
If your Glide libraries and headers are in a different directory
|
||||
you'll have to modify the Mesa-config and mklib.glide files.
|
||||
|
||||
- Unpack the MesaLib-3.1.tar.gz and MesaDemos-3.1.tar.gz archives;
|
||||
|
||||
- If you're going to use a newer Mesa/Glide driver than v0.27 then
|
||||
unpack the new driver archive over the Mesa directory.
|
||||
|
||||
- In the Mesa-3.1 directory type "make linux-glide"
|
||||
|
||||
- Compilation _should_ finish without errors;
|
||||
|
||||
- Set your LD_LIBRARY_PATH environment variable so that the
|
||||
libglide2x.so and Mesa library files can be found. For example:
|
||||
setenv LD_LIBRARY_PATH "/usr/local/glide/lib:/SOMEDIR/Mesa-3.1/lib"
|
||||
|
||||
- You'll have to run Glide-based programs as root or set the suid
|
||||
bit on executables;
|
||||
|
||||
- Try a demo:
|
||||
cd gdemos
|
||||
su
|
||||
setenv MESA_GLX_FX f
|
||||
./gears (hit ESC to exit)
|
||||
|
||||
- You can find the demos especially designed for the Voodoo driver in
|
||||
in the Mesa-3.1/3Dfx/demos directory (type "make" in order to compile
|
||||
everything).
|
||||
|
||||
MacOS:
|
||||
------
|
||||
Check the WEB page at http://valerie.inf.elte.hu/~boga/Mesa.html
|
||||
|
||||
MS Windows:
|
||||
-----------
|
||||
|
||||
For the MSVC++:
|
||||
- The glide2x.lib have to be in the default MSVC++ lib directory;
|
||||
|
||||
- The Glide headers have to be in the default MSVC++ include directory;
|
||||
|
||||
- You must have the vcvars32.bat script in your PATH;
|
||||
|
||||
- Go to the directory Mesa-3.1 and run the mesafx.bat;
|
||||
|
||||
- The script will compile everything (Mesa-3.1/lib/OpenGL32.{lib,dll},
|
||||
Mesa-3.1/lib/GLU32.{lib,dll}, Mesa-3.1/lib/GLUT32.{lib,dll} and
|
||||
Voodoo demos);
|
||||
|
||||
- At the end, you will be in the Mesa-3.1/3Dfx/demos directory;
|
||||
|
||||
- Try some demo (fire.exe, teapot.exe, etc.) in order to check if
|
||||
everything is OK (you can use Alt-Tab or Ctrl-F9 to switch between
|
||||
the Voodoo screen and the windows desktop);
|
||||
|
||||
- Remember to copy the Mesa OpenGL32.dll, GLU32.dll and GLUT32.dll in the
|
||||
some directory were you run your Mesa based applications.
|
||||
|
||||
- I think that you can easy change the Makefile.fx files in order
|
||||
to work with other kind of compilers;
|
||||
|
||||
- To discover how open the 3Dfx screen, read the sources under
|
||||
the Mesa-3.1/3Dfx/demos directory. You can use the GLUT library or
|
||||
the Diego Picciani's wgl emulator.
|
||||
|
||||
NOTE: the MSVC++ 5.0 optimizer is really buggy. Also if you install the
|
||||
SP3, you could have some problem (you can disable optimization in order
|
||||
solve these kind of problems).
|
||||
|
||||
|
||||
Doing more with Mesa & Linux Glide:
|
||||
-----------------------------------
|
||||
|
||||
The MESA_GLX_FX environment variable can be used to coax most
|
||||
GLX-based programs into using Glide (and the __GLUT library
|
||||
is GLX-based__).
|
||||
|
||||
Full-screen 3Dfx rendering:
|
||||
---------------------------
|
||||
|
||||
1. Set the MESA_GLX_FX variable to "fullscreen":
|
||||
|
||||
ksh:
|
||||
export MESA_GLX_FX = "fullscreen"
|
||||
csh:
|
||||
setenv MESA_GLX_FX fullscreen
|
||||
|
||||
2. As root, run a GLX-based program (any GLUT demo on Linux).
|
||||
|
||||
3. Be careful: once the 3Dfx screen appears you won't be able
|
||||
to see the GLUT windows on your X display. This can make using
|
||||
the mouse tricky! One solution is to hook up your 3Dfx card to
|
||||
a second monitor. If you can do this then set these env vars
|
||||
first:
|
||||
|
||||
setenv SST_VGA_PASS 1
|
||||
setenv SST_NOSHUTDOWN
|
||||
|
||||
or for the Voodoo2:
|
||||
|
||||
setenv SSTV2_VGA_PASS 1
|
||||
setenv SSTV2_NOSHUTDOWN
|
||||
|
||||
Rendering into an X window with the help of the Voodoo hardware:
|
||||
----------------------------------------------------------------
|
||||
|
||||
1. Start your X server in 16 bpp mode (XFree86: startx -- -bpp 16)
|
||||
in order to have the best performance and the best visual
|
||||
quality. However you can use any visual depth supported by X.
|
||||
|
||||
2. Set the following environment variables:
|
||||
export MESA_GLX_FX="window" # to enable window rendering
|
||||
export SST_VGA_PASS=1 # to stop video signal switching
|
||||
export SST_NOSHUTDOWN=1 # to stop video signal switching
|
||||
OR
|
||||
setenv MESA_GLX_FX window
|
||||
setenv SST_VGA_PASS 1
|
||||
setenv SST_NOSHUTDOWN 1
|
||||
|
||||
(the Voodoo2 requires to use "SSTV2_" instead "SST_").
|
||||
|
||||
3. As root, try running a GLX-based program
|
||||
|
||||
How does it work? We use the 3Dfx hardware to do rendering then
|
||||
copy the image from the 3Dfx frame buffer into an X window when
|
||||
the SwapBuffers() function is called. The problem with this
|
||||
idea is it's slow. The image must be copied from the 3Dfx frame
|
||||
buffer to main memory then copied into the X window (and when the X
|
||||
visual depth doesn't match the Voodoo framebufffer bit per pixel, it
|
||||
is required also a pixel format translation).
|
||||
|
||||
NOTE: the in-window rendering feature only works with double-buffering.
|
||||
|
||||
|
||||
On the fly switching between in window rendering and full screen rendering
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
The Mesa 2.6 has introduced the capability of switching
|
||||
on-the-fly between the fullscreen/fullspeed rendering and the in-window
|
||||
hack and vice versa. The on-the-fly switching requires a direct support
|
||||
by the application but it is really easy to add. You have to start
|
||||
your X server in 16 bpp mode and to add the following lines to your
|
||||
application:
|
||||
|
||||
#if defined(FX) && define(XMESA)
|
||||
#include <GL/xmesa.h>
|
||||
|
||||
static int fullscreen=1;
|
||||
#endif
|
||||
|
||||
...
|
||||
|
||||
/* In the GLUT keyboard event callback */
|
||||
|
||||
#if defined(FX) && !define(WIN32)
|
||||
case ' ':
|
||||
fullscreen=(!fullscreen);
|
||||
XMesaSetFXmode(fullscreen ? XMESA_FX_FULLSCREEN : XMESA_FX_WINDOW);
|
||||
break;
|
||||
#endif
|
||||
...
|
||||
|
||||
See the 3Dfx/demos/tunnel.c program
|
||||
for an example. You have to set the -DXMESA flag in the Makefile's COPTS
|
||||
to enable it.
|
||||
|
||||
Rendering into an X window with the X11 software driver:
|
||||
--------------------------------------------------------
|
||||
|
||||
Set the MESA_GLX_FX variable to "disable" your GLX-based program will use
|
||||
the X11 software driver (the 3Dfx hardware isn't used at all).
|
||||
|
||||
|
||||
|
||||
Useful Glide Environment Variables:
|
||||
-----------------------------------
|
||||
|
||||
- To disable the 3Dfx logo, set the FX_GLIDE_NO_SPLASH variable.
|
||||
|
||||
- To disable video signal switching:
|
||||
setenv SST_VGA_PASS 1
|
||||
setenv SST_NOSHUTDOWN
|
||||
or for the Voodoo2:
|
||||
setenv SSTV2_VGA_PASS 1
|
||||
setenv SSTV2_NOSHUTDOWN
|
||||
|
||||
- To set the default screen refresh rate:
|
||||
setenv SST_SCREENREFRESH=75
|
||||
|
||||
the supported values are 60, 70, 72, 75, 80, 85, 90, 100, 120.
|
||||
|
||||
- To force the Mesa library to swap buffers as fast as possible,
|
||||
without any vertical blanking synchronization (useful for benchmarks):
|
||||
setenv FX_GLIDE_SWAPINTERVAL 0
|
||||
setenv SST_SWAP_EN_WAIT_ON_VIDSYNC 0
|
||||
|
||||
- You can slight improve the performances of your Voodoo1 board with
|
||||
the following env. var.:
|
||||
setenv SST_FASTMEM 1
|
||||
setenv SST_PCIRD 1
|
||||
setenv SST_GRXCLK 57
|
||||
|
||||
(don't use this setting with the Quantum3D 100SB or with any other
|
||||
SLI configuration: it will hang everything !).
|
||||
The following setting can be used with the Voodoo2:
|
||||
setenv SSTV2_FASTMEM_RAS_READS=1
|
||||
setenv SSTV2_FASTPCIRD=1
|
||||
setenv SSTV2_GRXCLK=95
|
||||
|
||||
- The Quantum3D Obsidian3D-2 X-24 requires some special env. setting
|
||||
in order to work under Linux:
|
||||
|
||||
export SSTV2_FT_CLKDEL=5
|
||||
export SSTV2_TF0_CLKDEL=7
|
||||
export SSTV2_TF1_CLKDEL=7
|
||||
export SSTV2_TF2_CLKDEL=7
|
||||
export SSTV2_SLIM_VIN_CLKDEL=3
|
||||
export SSTV2_SLIM_VOUT_CLKDEL=2
|
||||
export SSTV2_SLIS_VIN_CLKDEL=3
|
||||
export SSTV2_SLIS_VOUT_CLKDEL=2
|
||||
|
||||
(Thanks to Phil Ross for this trick).
|
||||
|
||||
|
||||
|
||||
|
||||
The Mesa/Voodoo Environment Variables:
|
||||
--------------------------------------
|
||||
|
||||
- Only for Windows/Voodoo Rush users, if you define the
|
||||
env. var. MESA_WGL_FX:
|
||||
export MESA_WGL_FX=fullscreen
|
||||
you will get fullscreen rendering;
|
||||
|
||||
- Only for Windows/Voodoo Rush users, if you define the
|
||||
env. var. MESA_WGL_FX:
|
||||
export MESA_WGL_FX=window
|
||||
you will get window rendering (default value);
|
||||
|
||||
- Only for Linux users, you can find more informations about
|
||||
the env. var. MESA_GLX_FX in the "Doing more with Mesa & Linux Glide"
|
||||
section;
|
||||
|
||||
- If you define the env. var. MESA_FX_SWAP_PENDING:
|
||||
export MESA_FX_SWAP_PENDING=4
|
||||
you will able to set the maximum number of swapbuffers
|
||||
commands in the Voodoo FIFO after a swapbuffer (default value: 2);
|
||||
|
||||
- If you define the env. var. MESA_FX_INFO:
|
||||
export MESA_FX_INFO=1
|
||||
you will get some useful statistic.
|
||||
|
||||
- If you define the env. var. MESA_FX_NO_SIGNALS:
|
||||
export MESA_FX_NO_SIGNALS=1
|
||||
Mesa/FX will not install atexit() or signal() handlers.
|
||||
|
||||
|
||||
|
||||
Know BUGS and Problems:
|
||||
-----------------------
|
||||
|
||||
- fog doesn't work in the right way when using the glDepthRange() function;
|
||||
|
||||
- Maximum texture size: 256x256 (this is an hardware limit);
|
||||
|
||||
- Texture border aren't yet supported;
|
||||
|
||||
- A GL_BLEND in a glTexEnv() is not supported (it is an hardware limit);
|
||||
|
||||
- Use the glBindTexture extension (standard in OpenGL 1.1) for texture
|
||||
mapping (the old way: glTexImage inside a display list, download
|
||||
the texture map each time that you call the display list !!!);
|
||||
|
||||
- Stencil buffer and Accumulation buffer are emulated in software (they are not
|
||||
directly supported by the Hardware);
|
||||
|
||||
- Color index mode not implemented (this is an hardware limit);
|
||||
|
||||
- Thre is an know bug in the Linux Glide library so the in-window-rendering hack
|
||||
and any other operations that requires to read the Voodoo frame buffer
|
||||
(like the accumulation buffer support) doesn't work on Voodoo SLI cards.
|
||||
|
||||
- The driver switch to pure software (_slow_) rendering when:
|
||||
|
||||
- Stencil enabled;
|
||||
- Using the Accumulation buffer;
|
||||
- Blend enabled and blend equation != GL_FUNC_ADD_EXT;
|
||||
- Color logic operation enabled and color logic operation != GL_COPY;
|
||||
- Using GL_SEPARATE_SPECULAR_COLOR;
|
||||
- The four values of glColorMask() aren't the some;
|
||||
- Texture 1D or 3D enabled;
|
||||
- Texture function is GL_BLEND;
|
||||
- Using the Multitexture extension with Voodoo cards with only one TMU;
|
||||
- Using the Multitexture extension with Voodoo cards with more than
|
||||
one TMU, and texture function isn't GL_MODULATE;
|
||||
- Point size is != 1.0 or point params vector != (1.0,0.0,0.0);
|
||||
- Line width != 1.0 or using stipple lines.
|
||||
- Using polygon offset or stipple polygons;
|
||||
|
||||
NOTE: this is list is not yet complete.
|
||||
|
||||
|
||||
Hints and Special Features:
|
||||
---------------------------
|
||||
|
||||
- Under Linux and with a Voodoo Graphics board, you can use
|
||||
XMesaSetFXmode(XMESA_FX_FULLSCREEN or XMESA_FX_WINDOW) in order to
|
||||
switch on the fly between fullscreen rendering and the in-window-rendering
|
||||
hack.
|
||||
|
||||
- The driver is able to use all the texture memory available: 2/4MB on
|
||||
Voodoo1 boards and 8MB (!) on high-end Voodoo1 and Voodoo2 boards.
|
||||
|
||||
- Trilinear filtering is fully supported on Voodoo boards with two TMUs
|
||||
(high-end Voodoo1 boards and Voodoo2 boards). When only one TMU is
|
||||
available the driver fallback to bilinear filter also if you ask
|
||||
for trilinear filtering.
|
||||
|
||||
- The Voodoo driver support multiple Voodoo Graphics boards in the
|
||||
some PC. Using this feature, you can write applications that use
|
||||
multiple monitors, videoprojectors or HMDs for the output. See
|
||||
Mesa-3.1/3Dfx/demos/tunnel2.c for an example of how setup one
|
||||
context for each board.
|
||||
|
||||
- The v0.19 introduces a new powerful texture memory manager: the
|
||||
texture memory is used as a cache of the set of all defined texture
|
||||
maps. You can now define several MBs of texture maps also with a 2MB
|
||||
of texture memory (the texture memory manager will do automatically
|
||||
all the swap out/swap in
|
||||
texture memory work). The new texture memory manager has also
|
||||
solved a lot of other bugs/no specs compliance/problems
|
||||
related to the texture memory usage.
|
||||
|
||||
- Use triangles and quads strip: they are a LOT faster than sparse
|
||||
triangles and quads.
|
||||
|
||||
- The Voodoo driver supports the GL_EXT_paletted_texture. it works
|
||||
only with GL_COLOR_INDEX8_EXT, GL_RGBA palettes and the alpha value
|
||||
is ignored because this is a limitation of the current Glide
|
||||
version and of the Voodoo hardware. See Mesa-3.1/3Dfx/demos/paltex.c for
|
||||
a demo of this extension.
|
||||
|
||||
- The Voodoo driver directly supports 3Dfx Global Palette extension.
|
||||
It was written for GLQuake and I think that it isn't a good idea
|
||||
to use this extension for any other purpose (it is a trick). See
|
||||
Mesa-3.1/3Dfx/demos/glbpaltex.c for a demo of this extension.
|
||||
|
||||
- The Voodoo driver chooses the screen resolution according to the
|
||||
requested window size. If you open a 640x480 window, you will get
|
||||
a 640x480 screen resolution, if you open a 800x600 window, you
|
||||
will get a 800x600 screen resolution, etc.
|
||||
Most GLUT demos support the '-geometry' option, so you can choose
|
||||
the screen resolution: 'tunnel -geometry 800x600'.
|
||||
Clearly, you Voodoo board must have enough framebuffer RAM (otherwise
|
||||
the window creation will fail).
|
||||
|
||||
- The glGetString(GL_RENDERER) returns more information
|
||||
about the hardware configuration: "Mesa Glide <version>
|
||||
<Voodoo_Graphics|Voodoo_Rush|UNKNOWN> <num> CARD/<num> FB/
|
||||
<num> TM/<num> TMU/<NOSLI|SLI>"
|
||||
where: <num> CARD is the card used for the current context,
|
||||
<num> FB is the number of MB for the framebuffer,
|
||||
<num> TM is the number of MB for the texture memory,
|
||||
<num> TMU is the number of TMU. You can try to run
|
||||
Mesa/demos/glinfo in order to have an example of the output.
|
||||
|
||||
Did you find a lot BUGs and problems ? Good, send me an email.
|
||||
|
||||
|
||||
|
||||
FAQ:
|
||||
----
|
||||
|
||||
For a complete FAQ check the Bernd Kreimeier's Linux 3Dfx HOWTO
|
||||
available at http://www.gamers.org/dEngine/xf3D (it includes also
|
||||
a lot of informations not strictly related to Linux, so it can be
|
||||
useful also if you don't use Linux)
|
||||
|
||||
1. What is 3Dfx?
|
||||
|
||||
3Dfx Interactive, Inc. is the company which builds the VooDoo 3-D graphics
|
||||
chipset (and others) used in popular PC cards such as the Diamond Monster 3D
|
||||
and the Orchid Righteous 3D (more informations at http://www.3dfx.com).
|
||||
|
||||
|
||||
2. What is Glide?
|
||||
|
||||
Glide is a "thin" programming interface for the 3Dfx hardware. It was
|
||||
originally written for Windows/Intel but has been ported to Linux/Intel
|
||||
by Daryll Strauss.
|
||||
|
||||
3Dfx, Inc. should be applauded for allowing the Linux version of Glide
|
||||
to be written.
|
||||
|
||||
You can directly program with the Glide library if you wish. You can
|
||||
obtain Glide from the "Developer" section of the 3Dfx website: www.3dfx.com
|
||||
There's a Linux/Glide newsgroup at news://news.3dfx.com/3dfx.glide.linux
|
||||
|
||||
|
||||
3. What is fxmesa?
|
||||
|
||||
"fxmesa" is the name of the Mesa device driver for the 3Dfx Glide library.
|
||||
It was written by David Bucciarelli and others. It works on both Linux
|
||||
and Windows. Basically, it allows you to write and run OpenGL-style programs
|
||||
on the 3Dfx hardware.
|
||||
|
||||
|
||||
4. What is GLQuake?
|
||||
|
||||
Quake is a very popular game from id software, Inc. See www.idsoftware.com
|
||||
GLQuake is a version of Quake written for OpenGL. There is now a Linux
|
||||
version of GLQuake with works with the Mesa/3Dfx/Glide combo.
|
||||
|
||||
Here's what you need to run GLQuake on Linux:
|
||||
PC with 100MHz Pentium or better
|
||||
a 3Dfx-based card
|
||||
Mesa 3.1 libraries: libMesaGL.so libMesaGLU.so
|
||||
Glide 2.4 libraries: libglide2x.so libtexus.so
|
||||
GLQuake for Linux.
|
||||
|
||||
Also, the windows version of GLQuake works fine with the Mesa OpenGL32.dll,
|
||||
you have only to copy the Mesa-3.1/lib/OpenGL32.dll in the GLQuake directory
|
||||
in order to test 'MesaQuake'.
|
||||
|
||||
|
||||
5. What is GLUT?
|
||||
|
||||
GLUT is Mark Kilgard's OpenGL Utility Toolkit. It provides an API for
|
||||
writing portable OpenGL programs with support for multiple windows, pop-
|
||||
up menus, event handling, etc.
|
||||
|
||||
Check the Mark's home page for more informations (http://reality.sgi.com/mjk_asd).
|
||||
|
||||
Every OpenGL programmer should check out GLUT.
|
||||
|
||||
GLUT on Linux uses GLX.
|
||||
|
||||
|
||||
6. What is GLX?
|
||||
|
||||
GLX is the OpenGL extension to the X Window System. I defines both a
|
||||
programming API (glX*() functions) and a network protocol. Mesa implements
|
||||
an emulation of GLX on Linux. A real GLX implementation would requires
|
||||
hooks into the X server. The 3Dfx hardware can be used with GLX-based
|
||||
programs via the MESA_GLX_FX environment variable.
|
||||
|
||||
|
||||
7. Is the Voodoo driver able to use the 4Mb texture memory of
|
||||
the Pure3D boards ?
|
||||
|
||||
Yes, the Voodoo driver v0.20 includes the support for Voodoo
|
||||
Graphics boards with more than 2Mb of texture memory.
|
||||
|
||||
|
||||
8. Do the Voodoo driver support the Voodoo Rush under Windows ?
|
||||
|
||||
Yes, Diego Picciani has developed the support for the Voodoo
|
||||
Rush but David Bucciarelli has a Pure3D and a Monster3D and Brian Paul
|
||||
has a Monster3D, so the new versions of the Mesa/Voodoo sometime are
|
||||
not tested with the Voodoo Rush.
|
||||
|
||||
|
||||
9. Do the Voodoo driver support the Voodoo Rush under Linux ?
|
||||
|
||||
No because the Linux Glide doesn't (yet) support the Voodoo Rush.
|
||||
|
||||
|
||||
10. Can I sell my Mesa/Voodoo based software and include
|
||||
a binary copy of the Mesa in order to make the software
|
||||
working out of the box ?
|
||||
|
||||
Yes.
|
||||
|
||||
|
||||
11. Which is the best make target for compiling the Mesa for
|
||||
Linux GLQuake ('make linux-glide', 'make linux-386-glide', etc.) ?
|
||||
|
||||
'make linux-386-opt-glide' for Voodoo1 and 'make linux-386-opt-V2-glide'
|
||||
for Voodoo2 boards because it doesn't include the '-fPIC'
|
||||
option (4-5% faster).
|
||||
|
||||
|
||||
12. Can I use a Mesa compiled with a 'make linux-386-opt-V2-glide'
|
||||
for my applications/programs/demos ?
|
||||
|
||||
Yes, there is only one constrain: you can't run two Mesa applications
|
||||
at the some time. This isn't a big issue with the today Voodoo Graphics.
|
||||
|
||||
|
||||
Thanks to:
|
||||
----------
|
||||
|
||||
Henri Fousse (he has written several parts of the v0.15 and the old GLUT
|
||||
emulator for Win);
|
||||
|
||||
Diego Picciani (he has developed all the Voodoo Rush support and the wgl
|
||||
emulator);
|
||||
|
||||
Daryll Strauss (for the Linux Glide and the first Linux support);
|
||||
|
||||
Brian Paul (of course);
|
||||
|
||||
Dave 'Zoid' Kirsch (for the Linux GLQuake and Linux Quake2test/Q2 ports)
|
||||
|
||||
Bernd Kreimeier (for the Linux 3Dfx HOWTO and for pushing companies to offer
|
||||
a better Linux support)
|
||||
|
||||
3Dfx and Quantum3D (for actively supporting Linux)
|
||||
|
||||
The most update places where find Mesa VooDoo driver related informations are
|
||||
the Mesa mailing list and my driver WEB page
|
||||
(http://www-hmw.caribel.pisa.it/fxmesa/index.shtml)
|
||||
|
||||
|
||||
David Bucciarelli (davibu@tin.it)
|
||||
|
||||
Humanware s.r.l.
|
||||
Via XXIV Maggio 62
|
||||
Pisa, Italy
|
||||
Tel./Fax +39-50-554108
|
||||
email: info.hmw@plus.it
|
||||
www: www-hmw.caribel.pisa.it
|
181
docs/README.AMIWIN
Normal file
181
docs/README.AMIWIN
Normal file
@@ -0,0 +1,181 @@
|
||||
AMIGA AMIWIN PORT of MESA: THE OPENGL SOFTWARE EMULATION
|
||||
========================================================
|
||||
Port by Victor Ng-Thow-Hing (victorng@dgp.toronto.edu)
|
||||
Original Author (Brian Paul (brianp@ssec.wisc.edu)
|
||||
|
||||
Dec.1 , 1995: Port of release Mesa 1.2.5
|
||||
- Modifications made to minimize changes to Mesa distribution.
|
||||
|
||||
Nov.25, 1995: Port of release Mesa 1.2.4
|
||||
|
||||
|
||||
HISTORY
|
||||
=======
|
||||
As a 3D graphics progammer, I was increasingly frustrated to see OpenGL
|
||||
appearing on so many platforms EXCEPT the Amiga. Up to now, the task
|
||||
of porting OpenGL directly from native Amiga drawing routines seemed like
|
||||
a daunting task. However, two important events made this port possible.
|
||||
|
||||
First of all, Brian Paul wrote Mesa, the OpenGL software emulator that
|
||||
can be found on many platforms - except the Amiga and Atari (who cares
|
||||
about the latter!). This was pretty ironic considering that Mesa was
|
||||
originally prototyped on an Amiga! The second great event was when
|
||||
Holger Kruse developed AmiWin, the X11R6 server for the Amiga (definitely
|
||||
register for this great piece of software) and released a development kit
|
||||
so one could compile X programs with SAS/C.
|
||||
|
||||
Since Mesa had X routines as its primitive drawing operations, this made
|
||||
a marriage of Mesa and Amiwin feasible. I copied over the sources from
|
||||
an ftp site, played with the code, wrote some Smakefiles, and voila,
|
||||
I had OpenGL programs displaying on my Amiga.
|
||||
|
||||
Although the speed is nothing to be impressed about, this port can be
|
||||
potentially useful to those who want to quickly test their code in
|
||||
wireframe or perhaps learn more about programming with the OpenGL API.
|
||||
|
||||
I hope Amiga developers will continue to write excellent software for
|
||||
their machine, especially more X clients for Amiwin. If you have any
|
||||
solutions so some of my problems in the porting notes, please send me
|
||||
some email!
|
||||
|
||||
See you around,
|
||||
Vic.
|
||||
|
||||
HOW TO CREATE THE LIBRARIES AND SAMPLE CODE
|
||||
===========================================
|
||||
|
||||
Just run the shell script mklib.amiwin in the mesa directory. This will
|
||||
make all the libraries and copy them into the mesa/lib directory. If you
|
||||
don't want to compile everything, just go to the desired directory and
|
||||
type smake in that directory.
|
||||
|
||||
Change any of the variables in the smakefiles as necessary. You will REQUIRE
|
||||
the Amiwin development kit to compile these libraries since you need X11.LIB
|
||||
and the shareable X libraries. Some examples require the AmiTCP4.0
|
||||
net.lib static link library and related header files for unix related
|
||||
header files and functions like sleep().
|
||||
|
||||
HOW TO USE THE MESA LIBRARIES
|
||||
=============================
|
||||
|
||||
Study the Smakefiles in the demos, samples and book directories for the
|
||||
proper SAS/C options and linkable libraries to use. Basically aux calls
|
||||
require Mesaaux.LIB, gl calls require MesaGL.LIB, glu calls MesaGLU.LIB,
|
||||
tk calls Mesatk.LIB. There is a preliminary port of MesaGLUT.LIB toolkit
|
||||
available in the lib directory with the other Mesa libraries. However,
|
||||
it seems to cause crashes on some of the sample code. Someone else may want
|
||||
to attempt a more stable port.
|
||||
|
||||
PORTING NOTES TO AMIWIN
|
||||
=======================
|
||||
|
||||
My strategy of porting was to leave as much of the code untouched as
|
||||
possible. I surrounded any amiga specific changes with
|
||||
#ifdef AMIWIN ... #endif or #ifndef AMIWIN ... #endif preprocessor
|
||||
symbols. The code was ported on an Amiga 2000, with Fusion 40 accelerator
|
||||
and a Picasso II graphics card. The SAS/C 6.56 compiler was used, with
|
||||
the AmiWin 2.16 X development kit.
|
||||
|
||||
All compilations were done for a 68040 CPU with 68882 math coprocessor for
|
||||
maximum speed. Please edit the smakefile for other compilers.
|
||||
I wrote smakefiles for the directories I ported. I omitted the Windows
|
||||
and Widgets directories. The former is for MS Windows and the latter
|
||||
requires Motif, which is not easily available for the Amiga.
|
||||
|
||||
Here are the changes I did per directory:
|
||||
|
||||
* mesa
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added a mklib.amiwin shell script that will make all the libraries and
|
||||
sample code for Mesa
|
||||
- created this readme file: readme.AMIGA
|
||||
|
||||
* mesa/include
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- added the following to GL/xmesa.h
|
||||
#ifdef AMIWIN
|
||||
#include <pragmas/xlib_pragmas.h>
|
||||
extern struct Library *XLibBase;
|
||||
#endif
|
||||
NET CHANGE: xmesa.h
|
||||
|
||||
* mesa/src
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
xmesa1.c, xmesa2.c, xmesa3.c, xfonts.c, glx.c
|
||||
This prevents undefined symbols errors during the linking phase for
|
||||
X library calls
|
||||
- created smakefile
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN includes from xmesa1.c, xmesa2.c, xmesa3.c, xfonts.c,
|
||||
glx.c since they are now defined in include/GL/xmesa.h
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/src-tk
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
private.h
|
||||
- created smakefile
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN includes from private.h since it is now defined in
|
||||
include/GL/xmesa.h
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/src-glu
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- created smakefile
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/src-aux
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
glaux.c
|
||||
- created smakefile
|
||||
NET CHANGE: glaux.c, smakefile
|
||||
|
||||
* mesa/demos
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
xdemo.c, glxdemo.c, offset.c
|
||||
- created smakefile
|
||||
- put #ifndef AMIWIN ... #endif around sleep() calls in xdemo.c since
|
||||
they are not part of AmigaDOS.
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN defines from xdemo.c, glxdemo.c, offset.c since
|
||||
already defined in include/GL/xmesa.h
|
||||
- modified Smakefile to include header and includes from the AmiTCP4.0
|
||||
net.lib linkable library to provide unix-compatible sys/time.h and
|
||||
the sleep() function
|
||||
- removed AMIWIN defines in xdemo.c since sleep() now defined
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/samples
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
oglinfo.c
|
||||
- created smakefile
|
||||
- put #ifndef AMIWIN ... #endif around sleep() in blendxor.c
|
||||
- removed olympic from smakefile targets since <sys/time.h> not defined
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN defines from oglinfo.c, since already defined in
|
||||
include/GL/xmesa.h
|
||||
- modified Smakefile to include header and includes from the AmiTCP4.0
|
||||
net.lib linkable library to provide unix-compatible sys/time.h and
|
||||
the sleep() function
|
||||
- removed AMIWIN defines in blendxor.c for sleep()
|
||||
- added AMIWIN defines around _MACHTEN_ in olympic.c since xrandom()
|
||||
functions are not defined in any libraries
|
||||
- added olympic back into the Smakefile targets
|
||||
NET CHANGE: smakefile, olympic.c
|
||||
|
||||
* mesa/book
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- created smakefile
|
||||
- removed accpersp and dof from smakefile targets since the SAS/C compile seems to
|
||||
confuse the near,far variables with near/far memory models.
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/windows
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- Removed directory to save space since this is only needed for Windows based
|
||||
machines.
|
136
docs/README.BEOS
Normal file
136
docs/README.BEOS
Normal file
@@ -0,0 +1,136 @@
|
||||
|
||||
Mesa / BeOS Information
|
||||
|
||||
|
||||
|
||||
* Introduction
|
||||
|
||||
Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system.
|
||||
This driver implements a clone of the BGLView class. This class,
|
||||
derived from BView, allows OpenGL rendering into any BeOS window. His
|
||||
driver was updated in Mesa 4.1 and again in version 6.1 by Philippe
|
||||
Houdoin, who's maintaining this driver since.
|
||||
|
||||
Any application which uses the BGLView should be able to use Mesa
|
||||
instead of Be's OpenGL without changing any code.
|
||||
|
||||
Since Be's OpenGL implementation (as of R5) is basically just the
|
||||
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
||||
is considerably faster.
|
||||
|
||||
|
||||
* Source Code
|
||||
|
||||
The source code for the driver is in src/mesa/drivers/beos/ directory.
|
||||
It's not 100% finished at this time but many GLUT-based demos are
|
||||
working. No optimizations have been made at this time.
|
||||
|
||||
|
||||
* Compiling
|
||||
|
||||
Since Mesa 6.x, it can be build under BeOS with both the R5 builtin gcc version
|
||||
or more recent gcc versions available for BeOS, like this gcc version 2.95.3 for BeOS
|
||||
you can find at http://www.bebits.com/app/2157.
|
||||
Anyway, keep in mind that to take full advantage of Mesa x86 optimizations, you better
|
||||
want to use gcc 2.95.3 or sooner versions...
|
||||
|
||||
To build Mesa-powered BeOS libGL.so version, open an Terminal window,
|
||||
move to Mesa root folder and type this command:
|
||||
|
||||
$ make beos
|
||||
|
||||
Note that the "beos" argument is only needed the first time to setup build config.
|
||||
Next times, typing "make" will be enough.
|
||||
|
||||
When it finishes the Mesa based libGL.so library for
|
||||
BeOS will be in the lib/ directory, along libglut.so library.
|
||||
Several demo/test programs should have been build too under progs/* folders.
|
||||
If it stop when building one of the progs/* programs, you may want to ignore it
|
||||
and force make to move on next target by adding the -k make option:
|
||||
|
||||
$ cd progs
|
||||
$ make -k
|
||||
|
||||
To install it as Be's default libGL.so replacement, put it in your
|
||||
/boot/home/config/lib/ directory. All your GL/GLUT apps will use
|
||||
the Mesa based then.
|
||||
|
||||
By default, it build a non-debug version library.
|
||||
The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
|
||||
For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations
|
||||
yet.
|
||||
|
||||
To build a DEBUG version, type instead this :
|
||||
|
||||
$ DEBUG=1 make
|
||||
|
||||
|
||||
* Example Programs
|
||||
|
||||
Look under progs/beos/ for some BGLView-based programs.
|
||||
You should find under progs/samples and progs/redbook directories GLUT-based programs too.
|
||||
They all should have been compiled along with the Mesa library.
|
||||
|
||||
|
||||
* GLUT
|
||||
|
||||
A beta version of GLUT 3.7 port for BeOS, made by Jake Hamby, can be found at
|
||||
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
|
||||
This is the version currently included in Mesa source code, and
|
||||
build in lib/libglut.so.
|
||||
|
||||
A previous 3.5 version of this GLUT BeOS port used to be available at
|
||||
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip.
|
||||
|
||||
They're special versions of GLUT for the BeOS platform. I don't
|
||||
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
||||
support.
|
||||
|
||||
|
||||
* Special Features
|
||||
|
||||
Mesa's implementation of the BGLView class has an extra member
|
||||
function: CopySubBufferMESA(). It basically works like SwapBuffers()
|
||||
but it only copies a sub region from the back buffer to the front
|
||||
buffer. This is a useful optimization for some applications.
|
||||
If you use this method in your code be sure that you check at runtime
|
||||
that you're actually using Mesa (with glGetString) so you don't
|
||||
cause a fatal error when running with Be's OpenGL.
|
||||
|
||||
|
||||
* Work Left To Do
|
||||
|
||||
- BDirectWindow single buffering support is not implemented yet.
|
||||
- Color index mode is not implemented yet.
|
||||
- Reading pixels from the front buffer not implemented yet.
|
||||
- There is also a BGLScreen class in BeOS for full-screen OpenGL rendering.
|
||||
This should also be implemented for Mesa.
|
||||
- Multiple renderers add-ons support, first step toward hardware acceleration
|
||||
support.
|
||||
|
||||
* Other contributors to this BeOS port
|
||||
|
||||
Jake Hamby jhamby <at> anobject <dot> com
|
||||
Marcin Konicki ahwayakchih <at> neoni <dot> net
|
||||
Francois Revol revol <at> free <dot> fr
|
||||
Nathan Whitehorn nathanw <at> uchicago <dot> edu
|
||||
|
||||
|
||||
* Older BeOS Driver
|
||||
|
||||
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
|
||||
rendering interface, not BGLView. If you're interested in the older
|
||||
driver you should get Mesa 2.6.
|
||||
|
||||
|
||||
* BeOS and Glide
|
||||
|
||||
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
|
||||
if interested. Ideally, the 3Dfx/Glide support should be updated to
|
||||
work with the new Mesa 3.1 BGLView implementation.
|
||||
|
||||
The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge,
|
||||
as of February, 1999.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
275
docs/README.DJ
Normal file
275
docs/README.DJ
Normal file
@@ -0,0 +1,275 @@
|
||||
Mesa 6.5 DOS/DJGPP Port v1.8
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
||||
Description:
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Well, guess what... this is the DOS port of Mesa 6.5, for DJGPP fans... Whoa!
|
||||
The driver uses OSMesa to draw off screen, and then blits the buffer. This is
|
||||
not terribly efficient, and has some drawbacks, but saves maintenance costs.
|
||||
|
||||
|
||||
|
||||
Legal:
|
||||
~~~~~~
|
||||
|
||||
Mesa copyright applies.
|
||||
|
||||
|
||||
|
||||
Installation:
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Unzip and type:
|
||||
|
||||
make -f Makefile.DJ [OPTIONS...]
|
||||
|
||||
Available options:
|
||||
|
||||
Environment variables:
|
||||
CPU optimize for the given processor.
|
||||
default = pentium
|
||||
GLIDE path to Glide3 SDK; used with FX.
|
||||
default = $(TOP)/glide3
|
||||
FX=1 build for 3dfx Glide3. Note that this disables
|
||||
compilation of most DMesa code and requires fxMesa.
|
||||
As a consequence, you'll need the DJGPP Glide3
|
||||
library to build any application.
|
||||
default = no
|
||||
X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
||||
default = no
|
||||
|
||||
Targets:
|
||||
all: build everything
|
||||
libgl: build GL
|
||||
libglu: build GLU
|
||||
libglut: build GLUT
|
||||
clean: remove object files
|
||||
realclean: remove all generated files
|
||||
|
||||
|
||||
|
||||
Tested on:
|
||||
Video card: Radeon 9500
|
||||
DJGPP: djdev 2.04 + gcc v4.1.0 + make v3.80
|
||||
OS: DOS, Win98SE, WinXP (using Videoport driver)
|
||||
|
||||
|
||||
|
||||
FAQ:
|
||||
~~~~
|
||||
|
||||
1. Compilation
|
||||
|
||||
Q) `make' barfs and exits because it cannot find some stupid file.
|
||||
A) You need LFN support.
|
||||
A) When compiling for Glide (FX=1), pay attention to Glide path.
|
||||
|
||||
Q) Libraries built OK, but linker complains about `vsnprintf' every time I
|
||||
compile some demo.
|
||||
A) Upgrade to DJGPP 2.04.
|
||||
A) Add `vsnprintf.c' to the CORE_SOURCES in `src/Makefile.DJ' (untested!).
|
||||
A) Patch `src/mesa/main/imports.c' with the following line:
|
||||
#define vsnprintf(buf, max, fmt, arg) vsprintf(buf, fmt, arg)
|
||||
This hack should be safe in 90% of the cases, but if anything goes wrong,
|
||||
don't come back to me crying.
|
||||
|
||||
Q) `make' complains about DXE3 or something, yet it builds the libraries.
|
||||
A) DXE3 refers to the DJGPP dynamic modules. You'll need either the latest
|
||||
DJGPP distro, or download the separate package from my web page. Read the
|
||||
DXE3 documentation on how to use them.
|
||||
A) When compiling for Glide (FX=1), make sure `glide3x.dxe' can be found in
|
||||
LD_LIBRARY_PATH (or top `lib' directory).
|
||||
|
||||
2. Using Mesa for DJGPP
|
||||
|
||||
Q) Every test I tried crashes badly.
|
||||
A) If you have compiled with SSE and you're running under plain DOS, you
|
||||
have to disable SSE at run-time. See environment variables below.
|
||||
|
||||
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
|
||||
A) Is that a question? If you have a 3dfx Voodoo (any model), you're
|
||||
lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
|
||||
If you haven't, sorry; everything is done in software.
|
||||
|
||||
Q) I tried to set refresh rate w/ DMesa, but without success.
|
||||
A) Refresh rate control works only for VESA 3.0 and the 3dfx driver (in
|
||||
which case FX_GLIDE_REFRESH will be overwritten if it is defined and
|
||||
is not 0).
|
||||
|
||||
Q) I made a simple application and it does nothing. It exits right away. Not
|
||||
even a blank screen.
|
||||
A) Software drivers (VESA/VGA/NUL) must to be constructed as single-buffered
|
||||
visuals. However, DMesaSwapBuffers must be called to get any output.
|
||||
A) Another weird "feature" is that buffer width must be multiple of 8 (I'm a
|
||||
lazy programmer and I found that the easiest way to keep buffer handling
|
||||
at peak performance ;-).
|
||||
|
||||
Q) I'm getting a "bad font!" fatal error.
|
||||
A) Always use GLUT_STROKE_* and GLUT_BITMAP_* constants when dealing with
|
||||
GLUT fonts. If you're using `glut.dxe', then make sure GLUT_STROKE_* and
|
||||
GLUT_BITMAP_* are mapped to integer constants, not to the actual font
|
||||
address (same mechanism used for Win32 _DLL).
|
||||
|
||||
Q) What is NUL driver good for, if I don't get any output at all?
|
||||
A) For debugging. The NUL driver is very much like OSMesa. Everything is
|
||||
done just the same as VESA/VGA drivers, only it doesn't touch your video
|
||||
hardware. You can query the actual buffer by issuing:
|
||||
DMesaGetIntegerv(DMESA_GET_BUFFER_ADDR, &buffer);
|
||||
and dump it to a file.
|
||||
|
||||
Q) How do I query for a list of available video modes to choose as a visual?
|
||||
A) This is an ugly hack, for which I'm sure I'll burn in hell.
|
||||
First, query for a list of modes:
|
||||
n = DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, NULL);
|
||||
If `n' is strictly positive, you allocate an array of pointers to a given
|
||||
struct (which is guaranteed to be extended only - not changed in future):
|
||||
struct {
|
||||
int xres, yres;
|
||||
int bpp;
|
||||
} **l = malloc(n * sizeof(void *));
|
||||
Now pass the newly allocated buffer to fill in:
|
||||
DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, (GLint *)l);
|
||||
And collect the info:
|
||||
for (i = 0; i < n; i++) {
|
||||
printf("%dx%d:%d\n", l[i]->xres, l[i]->yres, l[i]->bpp);
|
||||
}
|
||||
|
||||
Q) The GLUT is incomplete.
|
||||
A) See below.
|
||||
|
||||
|
||||
|
||||
libGLUT (the toolkit):
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Well, this "skeletal" GLUT implementation was taken from AllegGL project and
|
||||
heavily changed. Thanks should go to Bernhard Tschirren, Mark Kilgard, Brian
|
||||
Paul and probably others (or probably not ;-). GLUT functionality will be
|
||||
extended only on an "as needed" basis.
|
||||
|
||||
GLUT talks to hardware via PC_HW package which was put together from various
|
||||
pieces I wrote long time ago. It consists from the keyboard, mouse and timer
|
||||
drivers.
|
||||
|
||||
My keyboard driver used only scancodes; as GLUT requires ASCII values for keys,
|
||||
I borrowed the translation tables (and maybe more) from Allegro -- many thanks
|
||||
to Shawn Hargreaves et co. Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users)
|
||||
will shut down the GLUT engine unconditionally: it will raise SIGINT, which in
|
||||
turn will (hopefully) call the destructors, thus cleaning up your/my mess ;-)
|
||||
NB: since the DJGPP guys ensured signal handlers won't go beyond program's
|
||||
space (and since dynamic modules shall) the SIGINT can't be hooked (well, it
|
||||
can, but it is useless), therefore you must live with the 'Exiting due to
|
||||
signal SIGINT' message...
|
||||
|
||||
The mouse driver is far from complete (lack of drawing, etc), but is enough to
|
||||
make almost all the demos work. Supports the CuteMouse WheelAPI.
|
||||
|
||||
The timer is pretty versatile for it supports multiple timers with different
|
||||
frequencies. While not being the most accurate timer in the known universe, I
|
||||
think it's OK. Take this example: you have timer A with a very high rate, and
|
||||
then you have timer B with very low rate compared to A; now, A ticks OK, but
|
||||
timer B will probably loose precision!
|
||||
|
||||
As an addition, stdout and stderr are redirected and dumped upon exit. This
|
||||
means that `printf' can be safely called during graphics. A bit of a hack, I
|
||||
know, because all messages come in bulk, but I think it's better than nothing.
|
||||
"Borrowed" from LIBRHUTI (Robert Hoehne).
|
||||
|
||||
Window creating defaults: (0, 0, 300, 300), 16bpp. However, the video mode is
|
||||
chosen in such a way that first window will fit. If you need high resolution
|
||||
with small windows, set initial position far to the right (or way down); then
|
||||
you can move them back to any position right before the main loop.
|
||||
|
||||
|
||||
|
||||
Environment variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
DMESA_NULDRV - (any value) force NUL driver
|
||||
GLUT_FPS - print frames/second statistics to stderr
|
||||
MESA_NO_SSE - (any value) safe option under pure DOS
|
||||
DMESA_GLUT_REFRESH - set vertical screen refresh rate (VESA3)
|
||||
DMESA_GLUT_BPP - set default bits per pixel (VGA needs 8)
|
||||
DMESA_GLUT_ALPHA - set default alpha bits (8)
|
||||
DMESA_GLUT_DEPTH - set default depth bits (16)
|
||||
DMESA_GLUT_STENCIL - set default stencil bits (8)
|
||||
DMESA_GLUT_ACCUM - set default accum bits (16)
|
||||
|
||||
|
||||
|
||||
History:
|
||||
~~~~~~~~
|
||||
|
||||
v1.0 (mar-2002)
|
||||
initial release
|
||||
|
||||
v1.1 (sep-2002)
|
||||
+ added 3dfx Glide3 support
|
||||
+ added refresh rate control
|
||||
+ added fonts in GLUT
|
||||
* lots of minor changes
|
||||
|
||||
v1.2 (nov-2002)
|
||||
* synced w/ Mesa-4.1
|
||||
- removed dmesadxe.h
|
||||
|
||||
v1.3 (mar-2003)
|
||||
+ enabled OpenGL 1.4 support
|
||||
+ added MMX clear/blit routines
|
||||
+ enabled SGI's GLU compilation
|
||||
+ added samples makefile
|
||||
+ added new GLUT functions
|
||||
+ added color-index modes
|
||||
+ added Matrox Millennium MGA2064W driver
|
||||
+ added 8bit FakeColor (thanks to Neil Funk)
|
||||
+ added VGA support (to keep Ben Decker happy)
|
||||
! fixed some compilation errors (reported by Chan Kar Heng)
|
||||
* optimized driver for faster callback access... yeah, right :)
|
||||
* overhauled virtual buffer and internal video drivers
|
||||
* better fxMesa integration
|
||||
* revamped GLUT
|
||||
* switched to DXE3
|
||||
|
||||
v1.4 (dec-2003)
|
||||
+ enabled GLUT fonts with DXE
|
||||
+ truly added multi-window support in GLUT (for Adrian Woodward)
|
||||
* accomodated makefiles with the new sourcetree
|
||||
* fixed some ALPHA issues
|
||||
* minor changes to PC_HW/timer interface
|
||||
x hacked and slashed the 3dfx driver (w/ help from Hiroshi Morii)
|
||||
|
||||
v1.5 (jan-2004)
|
||||
+ added interface to query available "visuals" (GLFW - Marcus Geelnard)
|
||||
+ added GLUT timer callback
|
||||
- removed Matrox Millennium MGA2064W driver
|
||||
x more changes to the 3dfx driver
|
||||
|
||||
v1.6 (aug-2004)
|
||||
+ implemented NUL driver
|
||||
+ added DMesaGetProcAddress and glutGetProcAddress
|
||||
* reorganized fxMesa wrapper to handle multiple contexts
|
||||
! fixed a horrible bug in VGA initialization routine
|
||||
! fixed partial clears
|
||||
|
||||
v1.7 (???-2005)
|
||||
+ enabled OpenGL 2.0 support
|
||||
+ added support for sw texture compression
|
||||
+ added FreeGLUT specific functions
|
||||
* no more GLX sources in DOS GLUT
|
||||
* made GLUT timer callbacks less accurate but safer
|
||||
|
||||
v1.8 (apr-2006)
|
||||
* killed lots of code, the driver is now a front-end to OSMesa
|
||||
* fixed problem with WinNT (http://www.volny.cz/martin.sulak/)
|
||||
- removed 3dfx Glide3 support (temporarily?)
|
||||
|
||||
|
||||
|
||||
Contact:
|
||||
~~~~~~~~
|
||||
|
||||
Name: Daniel Borca
|
||||
E-mail: dborca@users.sourceforge.net
|
||||
WWW: http://www.geocities.com/dborca/
|
26
docs/README.GGI
Normal file
26
docs/README.GGI
Normal file
@@ -0,0 +1,26 @@
|
||||
GGIMesa for LibGGI 2.x
|
||||
|
||||
Requirements:
|
||||
-------------
|
||||
LibGGI 2.0 or greater
|
||||
|
||||
Installation:
|
||||
-------------
|
||||
To install GGIMesa, follow the instructions in INSTALL.GNU. If you
|
||||
wish to install GGIGLUT as well, first install GGIMesa and then run
|
||||
|
||||
make
|
||||
make install (must be root)
|
||||
|
||||
in ggi/ggiglut.
|
||||
|
||||
Notes:
|
||||
------
|
||||
|
||||
* Set the environment variables GGIMESA_DEBUG and/or GGIGLUT_DEBUG
|
||||
to 255 to see lots of debugging output.
|
||||
|
||||
* GGIGLUT contains support for all of the GLUT 3.6 API except for the
|
||||
high-level primitive drawing functions, but many of the functions (in
|
||||
particular the menu drawing functions) are just stubs.
|
||||
|
64
docs/README.LYNXOS
Normal file
64
docs/README.LYNXOS
Normal file
@@ -0,0 +1,64 @@
|
||||
|
||||
Mesa 3.0 for LynxOS builds in the following way:
|
||||
|
||||
make lynxos
|
||||
|
||||
This will build all the libraries and demo applications. You should have
|
||||
around 400 megabytes free for everything since everything is done with
|
||||
static
|
||||
libraries.
|
||||
|
||||
Before using this make file however, you should perform the following
|
||||
actions:
|
||||
0) cd to the Mesa-3.0 directory
|
||||
1) Copy the GL directory under the include directory to /usr/include.
|
||||
2) Copy the files in the lib directory to /lib.
|
||||
3) Make links so that the Mesa libraries look like ordinary OpenGL
|
||||
libraries
|
||||
in /lib. This is important for compatibility with other OpenGL apps. This
|
||||
is done as follows:
|
||||
|
||||
cd /lib
|
||||
ln -s libMesaGL.a libGL.a
|
||||
ln -s libMesaGLU.a libGLU.a
|
||||
|
||||
Mesa 3.0 includes the GLUT (GL Utility Toolkit) by default.
|
||||
The demo applications are done using this toolkit.
|
||||
|
||||
Mesa makefiles for building their apps could be used as well, but the
|
||||
following one is much more concise. Note that the order of the X libraries
|
||||
is important to the linker so that all symbols get resolved correctly.
|
||||
Changing the order may result in having to list a library twice to make
|
||||
sure all linkages are made correctly.
|
||||
|
||||
----cut here for Makefile -----
|
||||
|
||||
FILES = your_app.x
|
||||
|
||||
SPECIAL_INCLUDES = -I/usr/include/GL
|
||||
|
||||
SPECIAL_CFLAGS = -g -ansi -pedantic -funroll-loops -ffast-math -DSHM
|
||||
|
||||
SPECIAL_LIBS = -lglut -lGLU -lGL -lm -L/usr/X11/lib -lXext -lXmu -lXi \
|
||||
-lX11 -lbsd -g
|
||||
|
||||
STANDARD_OFILES = $(FILES:.x=.o)
|
||||
|
||||
%.o: %.c
|
||||
gcc -c $(SPECIAL_CFLAGS) $(SPECIAL_INCLUDES) $< -o $@
|
||||
|
||||
all: $(STANDARD_OFILES)
|
||||
gcc -o your_app $(STANDARD_OFILES) $(SPECIAL_LIBS)
|
||||
|
||||
|
||||
----cut here for Makefile-----
|
||||
|
||||
I have tested Mesa under LynxOS 3.0 and 3.01. It should build fine under
|
||||
other
|
||||
versions as well. Note, however, that LynxOS versions prior to 3.0 are not
|
||||
binary compatible, so you will have to rebuild from source.
|
||||
|
||||
|
||||
Vik Sohal
|
||||
vik@lynx.com
|
||||
January 13, 1999
|
153
docs/README.MINGW32
Normal file
153
docs/README.MINGW32
Normal file
@@ -0,0 +1,153 @@
|
||||
Mesa 6.1 for MinGW32
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
||||
Quick & dirty start:
|
||||
--------------------
|
||||
|
||||
mingw32-make -f Makefile.mgw [OPTIONS...]
|
||||
|
||||
Look into the corresponding makefiles for further information.
|
||||
Check README.3DFX to find out how to compile Mesa Glide3 driver
|
||||
with MinGW32!
|
||||
|
||||
|
||||
|
||||
*******************************************************************************
|
||||
The Mingw port for Mesa 3-D Graphics Library was created August 30, 1998 by Paul Garceau.
|
||||
|
||||
Updated January 13, 2000; June 3, 2005 -- Paul Garceau <pgarceau@users.sourceforge.net>
|
||||
|
||||
DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
|
||||
to the general public. I can, in no way support or make any guarantee that the
|
||||
build will work for your system.
|
||||
|
||||
Acknowledgements:
|
||||
|
||||
Daniel Borca, whose work and commitment to maintaining the Mingw port of the Mesa 3-D Graphics Library has been, and will continue to be greatly appreciated by an overworked and underpaid developer such as myself.
|
||||
Without the creative inspiration and personal commitment provided by Mumit Khan, Jan-Jaap Vanderhagen and Colin Peters, Mingw would never have existed. Acknowledgements also need to be given to all of the developers who have worked on Mingw, Mesa and Msys over the years.
|
||||
Last, but certainly far from the least, Brian Paul, who has dedicated at least the last seven or eight years of his life to making Mesa 3-D Graphics Library what it is today and managing the development for all of those years.
|
||||
*********************************************************************************
|
||||
|
||||
Greetings,
|
||||
|
||||
Feel free to modify or change things related to the Mingw build as you see fit, just remember that, the author of the current build may not be able to support any modifications you might want to make to the files which have been included for the build.
|
||||
|
||||
Mesa core components are licensed under XFree-86 (for more on licensing of Mesa 3-D Graphics Library, check out the Mesa homepage (http://www.mesa3d.org).
|
||||
|
||||
The Mingw generated libraries themselves are licensed under the GNU-LGPL license. Source code for Mingw can be found at http://www.mingw.org. For licensing terms on Mingw, please visit http://www.mingw.org.
|
||||
|
||||
It is recommended that you use the latest "stable" release of Mingw. "Candidates" are beta testing distributions for Mingw. Mingw is available at http://www.mingw.org.
|
||||
|
||||
This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
|
||||
|
||||
Installation:
|
||||
|
||||
This readme assumes that you already have extracted the necessary files to a working directory/folder that Mingw can use to build the Mesa3D libraries and that you know where that directory/folder is located on your Windows system. If you have any questions about how to set things up properly which is specific to Mesa3D, the folks on the Mesa3D mailing lists (http://www.mesa3d.org) would probably be happy to assist you. Also you can probably ask anyone on the Mingw mailing lists for any questions specific to Mingw (http://www.mingw.org)
|
||||
|
||||
Targets and Environment variables used for Mingw build:
|
||||
|
||||
Before going into the actual build of the libraries, here is a list of available targets for the make process:
|
||||
|
||||
"all" or "libgl" -- this target will build libopengl.a, a static library. It will not build the demos, etc.
|
||||
|
||||
clean -- this target will clean up most of the Mesa 3-D Graphics Library/object code from your hard drive.
|
||||
|
||||
realclean -- this target will clean up all of the Mesa 3D Graphics Library and the Mesa object code that it can find.
|
||||
|
||||
Environment Variables:
|
||||
|
||||
The environment variables are used to determine what sort of graphics driver support needs to be included in the finished Mesa 3-D Graphics Library.
|
||||
|
||||
GLIDE path to Glide3 SDK; used with FX.
|
||||
default = $(TOP)/glide3
|
||||
FX=1 build for 3dfx Glide3. Note that this disables
|
||||
compilation of most WMesa code and requires fxMesa.
|
||||
As a consequence, you'll need the Win32 Glide3
|
||||
library to build any application.
|
||||
default = no
|
||||
ICD=1 build the installable client driver interface
|
||||
(windows opengl driver interface)
|
||||
default = no
|
||||
X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
||||
default = no
|
||||
|
||||
|
||||
Running the Build:
|
||||
|
||||
Launch Mingw.
|
||||
From the Windows Command Prompt:
|
||||
Set Environment Variables (as needed).
|
||||
"cd" to your Mesa3D 'root' directory.
|
||||
Enter "mingw32-make -f makefile.mgw <target>
|
||||
|
||||
That's all there is to it.
|
||||
|
||||
Enjoy!
|
||||
|
||||
Paul G. <pgarceau@users.sourceforge.net>
|
||||
Daniel Borca <dborca@users.sourceforge.net>
|
||||
|
||||
|
||||
|
||||
******This section is added by Heromyth <zxpmyth@yahoo.com.cn>*************
|
||||
|
||||
====================
|
||||
Updated on 2007-7-21
|
||||
====================
|
||||
|
||||
Notice:
|
||||
1) The generated DLLs are *not* compatible with the ones built
|
||||
with the other compilers like VC8, especially for GLUT.
|
||||
|
||||
2) Although more tests are needed, it can be used individually!
|
||||
|
||||
3) You can set the options about whether using STDCALL to build MESA. The
|
||||
config file is <Mesa3D-root>\configs\config.mgw. The default setting is that:
|
||||
ALL_USING_STDCALL = 1
|
||||
, which means using STDCALL to build MESA.
|
||||
|
||||
4) Of course, you can MESA without using STDCALL,I like this:)
|
||||
The setting is :
|
||||
ALL_USING_STDCALL = 0
|
||||
To do this, however, you must modify wingdi.h which is in MingW's include dir.
|
||||
For example, run:
|
||||
notepad C:\MingW\include\wingdi.h
|
||||
, and delete all the lines where all the wgl*() functions are. Because they would
|
||||
be conflicted with the ones in <Mesa3D-root>\include\GL\mesa_wgl.h.
|
||||
|
||||
>>>>>>>>>> Conflicted Functions List >>>>>>>>>>
|
||||
WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
|
||||
WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
|
||||
WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
|
||||
WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
|
||||
WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
|
||||
WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
|
||||
WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
|
||||
WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
|
||||
WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
|
||||
WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
|
||||
WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||
|
||||
====================
|
||||
Updated on 2007-7-22
|
||||
====================
|
||||
I havn't thought that I would find a better way to solve my problems so soon.
|
||||
I changed the method in which the import-libs and DLLs are made. After this update,
|
||||
the DLLs of MESA are more optimized and more compatible.
|
||||
It seems that there is no need to keep the building way of 'NO-STDCALL'.The
|
||||
way of USING_STDCALL is so nice! The file <Mesa3D-root>\configs\config.mgw is
|
||||
also not needed, and can be deleted safely!
|
||||
|
||||
|
||||
|
||||
*********************************************************************************
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user