Compare commits

..

30 Commits

Author SHA1 Message Date
Brian
ae16a51e95 added GLU bug fixes 2007-08-03 13:39:09 -06:00
Brian
4398d67546 update 7.0.1 release info/date 2007-08-03 13:32:47 -06:00
Brian
c93738687c remove -rc2 2007-08-03 13:32:28 -06:00
Brian
799492e606 add OSMESA_LIB_NAME 2007-08-03 10:08:16 -06:00
Brian
f33ff071bb added -lm 2007-08-03 07:24:33 -06:00
Brian
99e854743c added bluegene-osmesa 2007-08-02 14:24:05 -06:00
Brian
6f79062d91 OSmesa on BlueGene (Alexander Neundorf) 2007-08-02 14:22:52 -06:00
Brian
2f682c3995 fix stencil value masking bug 11805, and fix sizeof() bug 2007-08-02 09:08:53 -06:00
Brian
067370e68f fix invalid pointer usage in bezierPatchDeleteList(), bug 11807 2007-08-02 08:40:58 -06:00
Brian
2aa439a6a4 fix double free()s (bug 11808) 2007-08-02 08:38:10 -06:00
Brian
b477182dc3 s/MAX_TEXTURE_LEVELS/SIS_MAX_TEXTURE_LEVELS/ and add assertion (bug 11806) 2007-08-02 08:35:27 -06:00
Michel Dänzer
a8964ca89e i915tex: Better attempt to release miptree when overriding texture image.
The previous approach could lead to crashes in FBO code that dereferences the
miptree struct pointer unconditionally.
2007-08-02 12:14:03 +02:00
Brian
4f0e92d07c Merge branch 'mesa_7_0_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into mesa_7_0_branch 2007-08-01 17:03:09 -06:00
Brian
577f4e8a5f Obsolete 2007-08-01 11:45:47 -06:00
Brian
0586d9fe56 fix error code test limit (bug 11795) 2007-08-01 11:27:47 -06:00
Michel Dänzer
1f0d9bf05e i915tex: Missing piece of SetTexOffset hook implementation for I830 generation. 2007-08-01 17:46:32 +02:00
Michel Dänzer
8bcae2a527 i915tex: Implement SetTexOffset hook.
Only build tested for I830 generation.
2007-08-01 17:46:31 +02:00
Michel Dänzer
35ca9aae91 r300: Implement SetTexOffset hook. 2007-08-01 17:46:30 +02:00
Michel Dänzer
6cdd2bf8d7 Add interfaces for overriding texture images with driver specific 'offsets'.
To be used by AIGLX for GLX_EXT_texture_from_pixmap without several
additional data copies.
2007-08-01 17:46:29 +02:00
Brian
ce7d175adb fix mem leak (bug 11793) 2007-08-01 08:42:13 -06:00
Brian
1904fd095f fix mem leak (bug 11791) 2007-08-01 08:42:09 -06:00
Brian
897d0ac5cc fix some FreeBSD issues 2007-07-31 14:57:54 -06:00
Brian
e262d0182f fix failure caused by undeclared variable (bug 11783) 2007-07-31 09:43:40 -06:00
Brian
aa5b748c10 glGetAttribLocation always returned 1 (bug 11774) 2007-07-31 09:29:31 -06:00
Brian
3c182c5bc8 Added sunos5-v9-cc-g++ config (Roland Egger) 2007-07-30 09:00:09 -06:00
Brian
1b5677847b _mesa_pack_bitmap() fix from trunk 2007-07-30 08:13:05 -06:00
Brian
1be59a9dbe dlist polygon stipple fix from trunk 2007-07-30 08:12:29 -06:00
Brian
55c2178ad4 fix bug 11754 2007-07-29 18:28:09 -06:00
Jan Dvorak
3e3d392e1c fix glPointParameteriv bug 11754 2007-07-29 18:26:55 -06:00
Brian
756a7a4e4b minor tweaks 2007-07-27 11:44:55 -06:00
671 changed files with 143639 additions and 6319 deletions

9
.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
*.a
*.o
*.so
*.sw[a-z]
*~
depend
depend.bak
lib
lib64

View File

@@ -1,5 +1,7 @@
# Top-level Mesa makefile
SHELL = /bin/bash
TOP = .
SUBDIRS = src progs
@@ -67,6 +69,7 @@ aix-64-static \
aix-gcc \
aix-static \
beos \
bluegene-osmesa \
darwin \
darwin-static \
darwin-static-x86ppc \
@@ -151,6 +154,7 @@ sunos5-v8 \
sunos5-v8-static \
sunos5-v9 \
sunos5-v9-static \
sunos5-v9-cc-g++ \
ultrix-gcc:
@ if [ -e configs/current ] ; then \
echo "Please run 'make realclean' before changing configs" ; \
@@ -162,10 +166,10 @@ ultrix-gcc:
# Rules for making release tarballs
DIRECTORY = Mesa-7.0.1-rc2
LIB_NAME = MesaLib-7.0.1-rc2
DEMO_NAME = MesaDemos-7.0.1-rc2
GLUT_NAME = MesaGLUT-7.0.1-rc2
DIRECTORY = Mesa-7.0.1
LIB_NAME = MesaLib-7.0.1
DEMO_NAME = MesaDemos-7.0.1
GLUT_NAME = MesaGLUT-7.0.1
MAIN_FILES = \
$(DIRECTORY)/Makefile* \

1
configs/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
current

29
configs/bluegene-osmesa Normal file
View File

@@ -0,0 +1,29 @@
# Configuration for building only libOSMesa on BlueGene, no Xlib driver
# This doesn't really have a lot of dependencies, so it should be usable
# on other (gcc-based) systems too.
# It uses static linking and disables multithreading.
include $(TOP)/configs/default
CONFIG_NAME = bluegene-osmesa
# Compiler and flags
CC = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc
CXX = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURC
MKLIB_OPTIONS = -static
OSMESA_LIB_NAME = libOSMesa.a
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS = osdemos
# Dependencies
OSMESA_LIB_DEPS = -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU -lm

View File

@@ -1,42 +0,0 @@
# 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

View File

@@ -1,18 +0,0 @@
# Define Debian-specific defaults.
CONFIG_NAME = debian-default
OPT_FLAGS = -O2 -g
CFLAGS += -fno-strict-aliasing
# override settings in configs/linux-x86-64
LIB_DIR = lib
EXTRA_LIB_PATH =
SRC_DIRS = mesa
PROGRAM_DIRS =
INSTALL_DIR = $(DESTDIR)/usr
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building the DRI drivers on i386.
include $(TOP)/configs/linux-dri-x86-64
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-dri-amd64
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building the DRI drivers on the build architecture.
include $(TOP)/configs/linux-dri
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-dri-any
# vim: ft=make

View File

@@ -1,36 +0,0 @@
# Configuration defaults for building the DRI drivers and DRI/GLX-enabled
# libGL.
include $(TOP)/configs/debian-default
CONFIG_NAME = debian-dri-default
SRC_DIRS = glx/x11 mesa progs
DRIVER_DIRS = dri
PROGRAM_DIRS = xdemos
PROGS = glxdemo \
glxgears \
glxheads \
glxinfo
LIB_DIR = lib/glx
DRI_DRIVER_INSTALL_DIR = $(INSTALL_DIR)/lib/dri
DRI_DRIVER_SEARCH_DIR = /usr/lib/dri
DRI_DIRS = mach64 mga r128 r200 r300 radeon s3v savage tdfx trident
ARCH_X86 = i386 amd64
ifneq ($(findstring $(DEB_BUILD_ARCH), $(ARCH_X86)),)
DRI_DIRS += i810 i915 i915tex i965 sis unichrome
endif
ifeq ($(DEB_BUILD_ARCH), sparc)
DRI_DIRS += ffb
endif
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building the DRI drivers on i386.
include $(TOP)/configs/linux-dri-x86
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-dri-i386
# vim: ft=make

View File

@@ -1,14 +0,0 @@
# Configuration for building the DRI drivers on i386.
include $(TOP)/configs/linux-dri-x86
include $(TOP)/configs/debian-dri-optimized-default
CONFIG_NAME = debian-dri-i386-i686
ARCH_FLAGS = -march=i686
LIB_DIR = lib/glx/i686/cmov
DRI_DRIVER_INSTALL_DIR = $(INSTALL_DIR)/lib/dri/i686/cmov
# vim: ft=make

View File

@@ -1,13 +0,0 @@
# Configuration defaults for CPU-optimized builds of the DRI drivers and
# DRI/GLX-enabled libGL.
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-dri-optimized-default
# override so that the utility programs are not rebuilt with CPU-specific
# optimizations
SRC_DIRS = glx/x11 mesa
# vim: ft=make

View File

@@ -1,7 +0,0 @@
# Configuration defaults for building GLX-enabled libGL.
include $(TOP)/configs/debian-dri-default
CONFIG_NAME = debian-indirect-default
DRI_DIRS =

View File

@@ -1,9 +0,0 @@
# Configuration for building the DRI drivers on the build architecture.
include $(TOP)/configs/linux-indirect
include $(TOP)/configs/debian-indirect-default
CONFIG_NAME = debian-indirect-hurd-i386
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building only OSMesa on Debian.
include $(TOP)/configs/linux-osmesa
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration defaults for building OSMesa.
include $(TOP)/configs/debian-default
CONFIG_NAME = debian-osmesa-default
DRIVER_DIRS = osmesa
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building only OSMesa (static version) on Debian.
include $(TOP)/configs/linux-osmesa-static
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa-static
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building OSMesa with support for 16 bits per color
# channel.
include $(TOP)/configs/linux-osmesa16
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa16
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building a static version of OSMesa with support for 16
# bits per color channel.
include $(TOP)/configs/linux-osmesa16-static
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa16-static
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building OSMesa with support for 32 bits per color
# channel.
include $(TOP)/configs/linux-osmesa32
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa32
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building a static version of OSMesa with support for 32
# bits per color channel.
include $(TOP)/configs/linux-osmesa32-static
include $(TOP)/configs/debian-osmesa-default
CONFIG_NAME = debian-osmesa32-static
# vim: ft=make

View File

@@ -1,12 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) on alpha (ev5 optimized).
include $(TOP)/configs/linux-alpha
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-alpha-ev5
SRC_DIRS = mesa
LIB_DIR = lib/ev5/cmov
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on amd64.
include $(TOP)/configs/linux-x86-64
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-amd64
# vim: ft=make

View File

@@ -1,9 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) on the build architecture.
include $(TOP)/configs/linux
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-any
# vim: ft=make

View File

@@ -1,14 +0,0 @@
# Configuration defaults for building Mesa (swx11 and GLU).
include $(TOP)/configs/debian-default
CONFIG_NAME = debian-swx11+glu-default
SRC_DIRS = mesa glu glw
DRIVER_DIRS = x11
GLW_SOURCES += GLwMDrawA.c
GLW_LIB_DEPS += -lXm
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on i386.
include $(TOP)/configs/linux-x86
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-i386
# vim: ft=make

View File

@@ -1,14 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on i386 (i686 optimized).
include $(TOP)/configs/linux-x86
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-i386-i686
ARCH_FLAGS += -march=i686
SRC_DIRS = mesa
LIB_DIR = lib/i686/cmov
# vim: ft=make

View File

@@ -1,13 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on powerpc (603 optimized).
include $(TOP)/configs/linux-ppc
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-powerpc-603
SRC_DIRS = mesa
LIB_DIR = lib/603/cmov
# vim: ft=make

View File

@@ -1,11 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on ppc64.
include $(TOP)/configs/debian-swx11+glu-any
CONFIG_NAME = debian-swx11+glu-ppc64
LIB_DIR = lib64
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on sparc.
include $(TOP)/configs/linux-sparc
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-sparc
# vim: ft=make

View File

@@ -1,13 +0,0 @@
# Configuration for building Mesa (swx11 and GLU) with runtime-detected
# assembler optimizations on sparc (ultrasparc-optimized).
include $(TOP)/configs/linux-ultrasparc
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-sparc-ultrasparc
SRC_DIRS = mesa
LIB_DIR = lib/ultrasparc/cmov
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on amd64.
include $(TOP)/configs/linux-x86-64-static
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-static-amd64
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on the build architecture.
include $(TOP)/configs/linux-static
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-static-any
# vim: ft=make

View File

@@ -1,10 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on i386.
include $(TOP)/configs/linux-x86-static
include $(TOP)/configs/debian-swx11+glu-default
CONFIG_NAME = debian-swx11+glu-static-i386
# vim: ft=make

View File

@@ -1,11 +0,0 @@
# Configuration for building static versions of the libraries (swx11 and GLU)
# on ppc64.
include $(TOP)/configs/debian-swx11+glu-static-any
CONFIG_NAME = debian-swx11+glu-static-ppc64
LIB_DIR = lib64
# vim: ft=make

View File

@@ -1,75 +0,0 @@
# Default/template configuration
# This is included by other config files which may override some
# of these variables.
CONFIG_NAME = default
# Version info
MESA_MAJOR=6
MESA_MINOR=3
MESA_TINY=0
# external projects
#DRM_SOURCE_PATH=$(TOP)/../drm
DRM_SOURCE_PATH=/home/projects/DRI-freedesktop/drm
# Compiler and flags
CC = cc
CXX = CC
CFLAGS = -O
CXXFLAGS = -O
GLU_CFLAGS =
# Misc tools and flags
MKLIB_OPTIONS =
MKDEP = makedepend
MKDEP_OPTIONS = -fdepend
MAKE = make
# Library names (base name)
GL_LIB = GL
GLU_LIB = GLU
GLUT_LIB = glut
GLW_LIB = GLw
OSMESA_LIB = OSMesa
# 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).so
# Optional assembly language optimization files for libGL
ASM_SOURCES =
# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
# order to build the Motif widget too)
GLW_SOURCES = GLwDrawA.c
# Directories
LIB_DIR = $(TOP)/lib
INSTALL_PREFIX = /usr/local
SRC_DIRS = mesa glu glut/glx glw
GLU_DIRS = sgi
DRIVER_DIRS = x11 osmesa
# Which subdirs under $(TOP)/progs/ to enter:
PROGRAM_DIRS = demos redbook samples xdemos
# Library/program dependencies
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
# Shading language support (set to 0 or 1)
SHADING_LANGUAGE = 0

View File

@@ -13,7 +13,7 @@ OPT_FLAGS = -O2
PIC_FLAGS = -fPIC
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
-DHZ=100 -DHAVE_POSIX_MEMALIGN
-DHZ=100
X11_INCLUDES = -I/usr/X11R6/include

View File

@@ -15,7 +15,7 @@ EXPAT_INCLUDES = -I/usr/local/include
X11_INCLUDES = -I/usr/X11R6/include
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
-DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
-DHAVE_ALIAS
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
$(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)

View File

@@ -1,55 +0,0 @@
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/default
CONFIG_NAME = linux-dri
# Compiler and flags
CC = gcc
CXX = g++
MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend
WARN_FLAGS = -Wall
OPT_FLAGS = -g
PIC_FLAGS = -fPIC
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE \
-DDRI_NEW_INTERFACE_ONLY -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1
X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
$(ASM_FLAGS) -std=c99 -ffast-math
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
ASM_SOURCES =
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
# Directories
SRC_DIRS = glx/x11 mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# ffb and gamma are missing because they have not been converted to use the new
# interface.
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon s3v \
savage sis tdfx trident unichrome fb

View File

@@ -1,14 +0,0 @@
# Configuration for building only libOSMesa on Linux, no Xlib driver
# This doesn't really have any Linux dependencies, so it should be usable
# on other (gcc-based) systems.
include $(TOP)/configs/linux-osmesa
CONFIG_NAME = linux-osmesa-static
# Compiler and flags
MKLIB_OPTIONS = -static
# Library names
OSMESA_LIB_NAME = libOSMesa.a

View File

@@ -1,28 +0,0 @@
# Configuration for 32 bits/channel OSMesa library on Linux
include $(TOP)/configs/default
CONFIG_NAME = linux-osmesa32-static
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
# Library names
OSMESA_LIB = OSMesa32
OSMESA_LIB_NAME = libOSMesa32.a
# Directories
SRC_DIRS = mesa glu
DRIVER_DIRS = osmesa
PROGRAM_DIRS =
# Dependencies
OSMESA_LIB_DEPS = -lm -lpthread
APP_LIB_DEPS = -lOSMesa32

View File

@@ -1,22 +0,0 @@
# Configuration for debugging on Linux
include $(TOP)/configs/default
CONFIG_NAME = linux-tcc
# Compiler and flags
CC = gcc
CXX = g++
TCC_DIR=/home/progs/tcc-0.9.20
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DUSE_TCC -I$(TCC_DIR)
CXXFLAGS = -g -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
GLUT_CFLAGS = -fexceptions
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L$(TCC_DIR) -ltcc -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm

32
configs/sunos5-v9-cc-g++ Normal file
View File

@@ -0,0 +1,32 @@
# Configuration for SunOS 5, SPARC V9 and cc/g++ (for C and C++ sources)
include $(TOP)/configs/default
CONFIG_NAME = sunos5-v9-cc-g++
MKLIB_OPTIONS = -cplusplus
LIB_DIR = lib64
# Compiler and flags
CC = cc
CXX = g++
CXX_WARN_FLAGS = -Wall
CXX_PIC_FLAGS = -fPIC
CXX_OPT_FLAGS = -O3 -m64 -mcpu=ultrasparc -mv8plus -mvis -g -fomit-frame-pointer -pipe
CXX_ARCH_FLAGS = -m64
CXXFLAGS = $(CXX_WARN_FLAGS) $(CXX_OPT_FLAGS) $(CXX_PIC_FLAGS) $(CXX_ARCH_FLAGS) $(DEFINES) \
-I/usr/openwin/include
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

1075
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored
View File

@@ -1 +0,0 @@
5

354
debian/control vendored
View File

@@ -1,354 +0,0 @@
Source: mesa
Section: graphics
Priority: optional
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Thierry Reding <thierry@gilfi.de>, Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>
Standards-Version: 3.7.2
Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config, libdrm-dev (>= 2.2.0) [!hurd-i386], libx11-dev, xutils-dev, x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev, libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.13.19), libxfixes-dev, libxdamage-dev
Package: libgl1-mesa-swx11
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, libosmesa6 (>= 6.5.2-1)
Conflicts: mesag3-glide, mesag3-glide2, mesag3+ggi, libgl1, nvidia-glx, mesag3, libgl1-mesa-swrast
Provides: libgl1, mesag3, libgl1-mesa-swrast
Replaces: libgl1, mesag3, libgl1-mesa-swrast
Description: A free implementation of the OpenGL API -- runtime
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL. To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc. However, the author makes no claim that Mesa
is in any way a compatible replacement for OpenGL or associated with
Silicon Graphics, Inc.
.
This library provides a pure software rasteriser; it does not provide
a direct rendering-capable library, or one which uses GLX. For that,
please see libgl1-mesa-glx.
.
On Linux, this library is also known as libGL or libGL.so.1.
Package: libgl1-mesa-swx11-dbg
Section: libs
Priority: extra
Architecture: any
Depends: libgl1-mesa-swx11 (= ${binary:Version})
Conflicts: libgl1-mesa-swrast-dbg
Provides: libgl1-mesa-swrast-dbg
Replaces: libgl1-mesa-swrast-dbg
Description: A free implementation of the OpenGL API -- debugging symbols
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL. To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc. However, the author makes no claim that Mesa
is in any way a compatible replacement for OpenGL or associated with
Silicon Graphics, Inc.
.
This library provides a pure software rasteriser; it does not provide
a direct rendering-capable library, or one which uses GLX. For that,
please see libgl1-mesa-glx.
.
On Linux, this library is also known as libGL or libGL.so.1.
.
This package contains debugging symbols for the software rasterization GL
library.
Package: libgl1-mesa-swx11-i686
Section: libs
Priority: extra
Architecture: i386
Pre-Depends: libgl1-mesa-swx11
Description: Mesa OpenGL runtime [i686 optimized]
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL. To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc. However, the author makes no claim that Mesa
is in any way a compatible replacement for OpenGL or associated with
Silicon Graphics, Inc.
.
This library provides a pure software rasteriser; it does not provide
a direct rendering-capable library, or one which uses GLX. For that,
please see libgl1-mesa-glx.
.
On Linux, this library is also known as libGL or libGL.so.1.
.
This set of libraries is optimized for i686 machines and will only be used if
you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro,
Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones
such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla).
Package: libgl1-mesa-swx11-dev
Section: libdevel
Architecture: any
Depends: libgl1-mesa-swx11 (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${source:Version})
Provides: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev
Conflicts: mesa-dev, libgl-dev, mesag3 (<< 3.1-1), nvidia-glx-dev, mesag-dev, libgl1-mesa-swrast-dev
Replaces: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev
Description: A free implementation of the OpenGL API -- development files
This package provides the development environment required for
compiling programs with Mesa. For a complete description of Mesa,
please look at the libgl1-mesa-swx11 package.
.
This library provides a pure software rasteriser; it does not provide
a direct rendering-capable library, or one which uses GLX. For that,
please see libgl1-mesa-dev.
Package: libgl1-mesa-glx
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Conflicts: libgl1, libgl1-mesa-dri (<< 6.4.0)
Replaces: libgl1, libgl1-mesa-dri (<< 6.4.0)
Provides: libgl1
Description: A free implementation of the OpenGL API -- GLX runtime
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
.
This package does not include the modules themselves: these can be found
in the libgl1-mesa-dri package.
.
For a complete description of Mesa, please look at the
libgl1-mesa-swx11 package.
Package: libgl1-mesa-glx-dbg
Section: libdevel
Priority: extra
Architecture: any
Depends: libgl1-mesa-glx (= ${binary:Version})
Description: Debugging symbols for the Mesa GLX runtime
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
.
This package does not include the modules themselves: these can be found
in the libgl1-mesa-dri package.
.
For a complete description of Mesa, please look at the
libgl1-mesa-swx11 package.
.
This package contains debugging symbols for the GL library with GLX and DRI
capabilities.
#Package: libgl1-mesa-glx-i686
#Section: libs
#Priority: extra
#Architecture: i386
#Pre-Depends: libgl1-mesa-glx
#Description: A free implementation of the OpenGL API -- GLX runtime [i686 optimized]
# This version of Mesa provides GLX and DRI capabilities: it is capable of
# both direct and indirect rendering. For direct rendering, it can use DRI
# modules from the libgl1-mesa-dri package to accelerate drawing.
# .
# This package does not include the modules themselves: these can be found
# in the libgl1-mesa-dri package.
# .
# For a complete description of Mesa, please look at the
# libgl1-mesa-swx11 package.
# .
# This set of libraries is optimized for i686 machines and will only be used if
# you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro,
# Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones
# such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla).
Package: libgl1-mesa-dri
Section: libs
Priority: optional
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc s390 sparc
Depends: ${shlibs:Depends}, libgl1-mesa-glx (= ${binary:Version})
Suggests: libglide3
Conflicts: xlibmesa-dri (<< 1:7.0.0)
Replaces: xlibmesa-dri (<< 1:7.0.0)
Description: A free implementation of the OpenGL API -- DRI modules
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
.
This package does not include the OpenGL library itself, only the DRI
modules for accelerating direct rendering.
.
For a complete description of Mesa, please look at the
libgl1-mesa-swx11 package.
.
The tdfx DRI module needs libglide3 to enable direct rendering.
Package: libgl1-mesa-dri-dbg
Section: libdevel
Priority: extra
Architecture: alpha amd64 arm armeb armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc s390 sparc
Depends: libgl1-mesa-dri (= ${binary:Version})
Description: Debugging symbols for the Mesa DRI modules
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
.
This package does not include the OpenGL library itself, only the DRI
modules for accelerating direct rendering.
.
For a complete description of Mesa, please look at the
libgl1-mesa-swx11 package.
.
This package contains debugging symbols for the DRI modules.
#Package: libgl1-mesa-dri-i686
#Section: libs
#Priority: extra
#Architecture: i386
#Pre-Depends: libgl1-mesa-dri
#Description: A free implementation of the OpenGL API -- DRI modules [i686 optimized]
# This version of Mesa provides GLX and DRI capabilities: it is capable of
# both direct and indirect rendering. For direct rendering, it can use DRI
# modules from the libgl1-mesa-dri package to accelerate drawing.
# .
# This package does not include the OpenGL library itself, only the DRI
# modules for accelerating direct rendering.
# .
# For a complete description of Mesa, please look at the
# libgl1-mesa-swx11 package.
# .
# This set of libraries is optimized for i686 machines and will only be used if
# you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro,
# Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones
# such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla).
Package: libgl1-mesa-dev
Section: libdevel
Architecture: all
Depends: libc6-dev, mesa-common-dev (= ${source:Version}), libgl1-mesa-glx (>= ${source:Upstream-Version})
Conflicts: libgl-dev, libgl1-mesa-dri-dev
Replaces: libgl-dev, libgl1-mesa-dri-dev
Provides: libgl-dev, libgl1-mesa-dri-dev
Description: A free implementation of the OpenGL API -- GLX development files
This version of Mesa provides GLX and DRI capabilities: it is capable of
both direct and indirect rendering. For direct rendering, it can use DRI
modules from the libgl1-mesa-dri package to accelerate drawing.
.
This package includes headers and static libraries for compiling
programs with Mesa.
.
For a complete description of Mesa, please look at the libgl1-mesa-swx11
package.
Package: mesa-common-dev
Section: devel
Architecture: all
Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 6.5.2)
Depends: libx11-dev
Description: Developer documentation for Mesa
This package includes the specifications for the Mesa-specific OpenGL
extensions, the complete set of release release notes and the
development header files common to all Mesa packages.
Package: libosmesa6
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Replaces: libgl1-mesa-swx11 (<< 6.5.2)
Description: Mesa Off-screen rendering extension
OSmesa is a Mesa extension that allows programs to render to an
off-screen buffer using the OpenGL API without having to create a
rendering context on an X Server. It uses a pure software renderer.
.
This package provides both 16-bit and 32-bit versions of the off-screen
renderer which do not require external libraries to work.
Package: libosmesa6-dev
Section: devel
Architecture: any
Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${source:Version}) | libgl-dev
Conflicts: xlibosmesa-dev, libosmesa4-dev, libosmesa-dev
Replaces: xlibosmesa-dev, libosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), mesa-common-dev (<< 6.5.2)
Provides: xlibosmesa-dev, libosmesa-dev
Description: Mesa Off-screen rendering extension -- development files
This package provides the required environment for developing programs
that use the off-screen rendering extension of Mesa.
.
For more information on OSmesa see the libosmesa6 package.
Package: libglu1-mesa
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, libgl1-mesa-glx | libgl1
Provides: libglu1
Conflicts: mesag3 (<< 5.0.0-1), xlibmesa3, libglu1
Replaces: libglu1
Description: The OpenGL utility library (GLU)
GLU offers simple interfaces for building mipmaps; checking for the
presence of extensions in the OpenGL (or other libraries which follow
the same conventions for advertising extensions); drawing
piecewise-linear curves, NURBS, quadrics and other primitives
(including, but not limited to, teapots); tesselating surfaces; setting
up projection matrices and unprojecting screen coordinates to world
coordinates.
.
On Linux, this library is also known as libGLU or libGLU.so.1.
.
This package provides the SGI implementation of GLU shipped with the
Mesa package (ergo the "-mesa" suffix).
Package: libglu1-mesa-dev
Section: libdevel
Architecture: any
Depends: libglu1-mesa (= ${binary:Version}), libgl1-mesa-dev | libgl-dev
Provides: libglu-dev, xlibmesa-glu-dev
Conflicts: mesag-dev (<< 5.0.0-1), mesa-glide2-dev (<< 5.0.0-1), mesag3+ggi-dev (<< 5.0.0-1), xlibmesa-dev
Replaces: libglu-dev
Description: The OpenGL utility library -- development files
Includes headers and static libraries for compiling programs with GLU.
.
For a complete description of GLU, please look at the libglu1-mesa
package.
Package: libglw1-mesa
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Provides: libglw1
Description: A free implementation of the OpenGL API -- runtime
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL. To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc. However, the author makes no claim that Mesa
is in any way a compatible replacement for OpenGL or associated with
Silicon Graphics, Inc.
.
This package provides a simple widgets library, libGLw, which
allows Motif-based applications to embed an OpenGL drawing context.
.
On Linux, this library is also known as libGLw or libGLw.so.1.
Package: libglw1-mesa-dev
Section: libdevel
Architecture: any
Depends: libglw1-mesa (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${source:Version})
Provides: mesag3-widgets, mesag-widgets-dev, libglw-dev
Conflicts: libglw-dev, libgl1-mesa-swx11-dev (<< 6.5.2-4)
Replaces: libglw-dev
Description: A free implementation of the OpenGL API -- development files
This package provides the development environment required for
compiling programs with the Mesa widgets library, libGLw, which
allows Motif-based applications to embed an OpenGL drawing context.
The headers and static libraries for compiling programs that use this
library are included.
Package: mesa-swx11-source
Section: libdevel
Architecture: all
Description: Mesa software rasteriser source -- development files
This package contains the source to the Mesa software rasteriser, which
implements all of Mesa's GL support in software. It powers the X11 and
X server backends (assuming unaccelerated indirect). This package is
provided mainly for modular X servers which support GL, and need the
software rasteriser source to build the GLcore module for unaccelerated
indirect rendering.
Package: mesa-utils
Section: x11
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}
Replaces: xbase-clients (<< 6.8.2-38)
Description: Miscellaneous Mesa GL utilities
This package provides several basic GL utilities built by Mesa, including
glxinfo and glxgears.
# vim: tw=0

444
debian/copyright vendored
View File

@@ -1,444 +0,0 @@
This package was debianized by James A. Treacy treacy@debian.org on Thu,
6 Jan 2000 01:11:34 -0500. It was newly debianized by Marcelo E.
Magallon <mmagallo@debian.org> on Sat, 25 Dec 2004 14:50:02 -0600. It was
again debianized by Thierry Reding <thierry@gilfi.de> on Sat, 14 Oct 2006
02:01:12 +0200.
It was downloaded from http://www.mesa3d.org/download.html
For more information see:
http://www.mesa3d.org/
Copyright:
Upstream Author: Brian Paul <brian.paul@tungstengraphics.com>
License:
License / Copyright Information
The Mesa distribution consists of several components. Different
copyrights and licenses apply to different components. For
example, GLUT is copyrighted by Mark Kilgard, some demo programs
are copyrighted by SGI, some of the Mesa device drivers are
copyrighted by their authors. See below for a list of Mesa's
components and the copyright/license for each.
The core Mesa library is licensed according to the terms of the
XFree86 copyright (an MIT-style license). This allows integration
with the XFree86/DRI project. Unless otherwise stated, the Mesa
source code and documentation is licensed as follows:
Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
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
BRIAN PAUL 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.
Attention, Contributors
When contributing to the Mesa project you must agree to relinquish
your work to the holder of the copyright for the particular
component you're contributing to. That is, you can't put your own
copyright on the code, unless it's a modular piece that can be
omitted from Mesa (like a new device driver). If for example, you
contribute a bug fix to Mesa's texture mapping code, your code
will become a part of the body of work which is copyrighted by
Brian Paul and licensed by the above terms.
----------------------------------------------------------------------
Some files, as listed below, are made available under the SGI Free B
license. This license is as follows:
SGI FREE SOFTWARE LICENSE B (Version 1.1 [02/22/2000])
1. Definitions.
1.1. "Additional Notice Provisions" means such additional provisions as
appear in the Notice in Original Code under the heading "Additional
Notice Provisions."
1.2. "Covered Code" means the Original Code or Modifications, or any
combination thereof.
1.3. "Hardware" means any physical device that accepts input, processes
input, stores the results of processing, and/or provides output.
1.4. "Larger Work" means a work that combines Covered Code or portions
thereof with code not governed by the terms of this License.
1.5. "Licensable" means having the right to grant, to the maximum extent
possible, whether at the time of the initial grant or subsequently
acquired, any and all of the rights conveyed herein.
1.6. "License" means this document.
1.7. "Licensed Patents" means patent claims Licensable by SGI that are
infringed by the use or sale of Original Code or any Modifications
provided by SGI, or any combination thereof.
1.8. "Modifications" means any addition to or deletion from the
substance or structure of the Original Code or any previous
Modifications. When Covered Code is released as a series of files,
a Modification is:
A. Any addition to the contents of a file containing Original Code
and/or addition to or deletion from the contents of a file
containing previous Modifications.
B. Any new file that contains any part of the Original Code or
previous Modifications.
1.9. "Notice" means any notice in Original Code or Covered Code, as
required by and in compliance with this License.
1.10. "Original Code" means source code of computer software code that
is described in the source code Notice required by Exhibit A as
Original Code, and updates and error corrections specifically
thereto.
1.11. "Recipient" means an individual or a legal entity exercising
rights under, and complying with all of the terms of, this License
or a future version of this License issued under Section 8. For
legal entities, "Recipient" includes any entity that controls, is
controlled by, or is under common control with Recipient. For
purposes of this definition, "control" of an entity means (a) the
power, direct or indirect, to direct or manage such entity, or (b)
ownership of fifty percent (50%) or more of the outstanding shares
or beneficial ownership of such entity.
1.12. "Recipient Patents" means patent claims Licensable by a Recipient
that are infringed by the use or sale of Original Code or any
Modifications provided by SGI, or any combination thereof.
1.13. "SGI" means Silicon Graphics, Inc.
1.14. "SGI Patents" means patent claims Licensable by SGI other than the
Licensed Patents.
2. License Grant and Restrictions.
2.1. SGI License Grant. Subject to the terms of this License and any
third party intellectual property claims, for the duration of
intellectual property protections inherent in the Original Code,
SGI hereby grants Recipient a worldwide, royalty-free,
non-exclusive license, to do the following: (i) under copyrights
Licensable by SGI, to reproduce, distribute, create derivative
works from, and, to the extent applicable, display and perform the
Original Code and/or any Modifications provided by SGI alone and/or
as part of a Larger Work; and (ii) under any Licensable Patents, to
make, have made, use, sell, offer for sale, import and/or otherwise
transfer the Original Code and/or any Modifications provided by
SGI. Recipient accepts the terms and conditions of this License by
undertaking any of the aforementioned actions. The patent license
shall apply to the Covered Code if, at the time any related
Modification is added, such addition of the Modification causes
such combination to be covered by the Licensed Patents. The patent
license in Section 2.1(ii) shall not apply to any other
combinations that include the Modification. No patent license is
provided under SGI Patents for infringements of SGI Patents by
Modifications not provided by SGI or combinations of Original Code
and Modifications not provided by SGI.
2.2. Recipient License Grant. Subject to the terms of this License and
any third party intellectual property claims, Recipient hereby
grants SGI and any other Recipients a worldwide, royalty-free,
non-exclusive license, under any Recipient Patents, to make, have
made, use, sell, offer for sale, import and/or otherwise transfer
the Original Code and/or any Modifications provided by SGI.
2.3. No License For Hardware Implementations. The licenses granted in
Section 2.1 and 2.2 are not applicable to implementation in
Hardware of the algorithms embodied in the Original Code or any
Modifications provided by SGI .
3. Redistributions.
3.1. Retention of Notice/Copy of License. The Notice set forth in
Exhibit A, below, must be conspicuously retained or included in any
and all redistributions of Covered Code. For distributions of the
Covered Code in source code form, the Notice must appear in every
file that can include a text comments field; in executable form,
the Notice and a copy of this License must appear in related
documentation or collateral where the Recipients rights relating
to Covered Code are described. Any Additional Notice Provisions
which actually appears in the Original Code must also be retained
or included in any and all redistributions of Covered Code.
3.2. Alternative License. Provided that Recipient is in compliance with
the terms of this License, Recipient may, so long as without
derogation of any of SGIs rights in and to the Original Code,
distribute the source code and/or executable version(s) of Covered
Code under (1) this License; (2) a license identical to this
License but for only such changes as are necessary in order to
clarify Recipients role as licensor of Modifications; and/or (3) a
license of Recipients choosing, containing terms different from
this License, provided that the license terms include this Section
3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be
modified or superseded by any other terms of such license. If
Recipient elects to use any license other than this License,
Recipient must make it absolutely clear that any of its terms which
differ from this License are offered by Recipient alone, and not by
SGI. It is emphasized that this License is a limited license, and,
regardless of the license form employed by Recipient in accordance
with this Section 3.2, Recipient may relicense only such rights, in
Original Code and Modifications by SGI, as it has actually been
granted by SGI in this License.
3.3. Indemnity. Recipient hereby agrees to indemnify SGI for any
liability incurred by SGI as a result of any such alternative
license terms Recipient offers.
4. Termination. This License and the rights granted hereunder will
terminate automatically if Recipient breaches any term herein and
fails to cure such breach within 30 days thereof. Any sublicense to
the Covered Code that is properly granted shall survive any
termination of this License, absent termination by the terms of such
sublicense. Provisions that, by their nature, must remain in effect
beyond the termination of this License, shall survive.
5. No Trademark Or Other Rights. This License does not grant any rights
to: (i) any software apart from the Covered Code, nor shall any
other rights or licenses not expressly granted hereunder arise by
implication, estoppel or otherwise with respect to the Covered Code;
(ii) any trade name, trademark or service mark whatsoever, including
without limitation any related right for purposes of endorsement or
promotion of products derived from the Covered Code, without prior
written permission of SGI; or (iii) any title to or ownership of the
Original Code, which shall at all times remains with SGI. All rights
in the Original Code not expressly granted under this License are
reserved.
6. Compliance with Laws; Non-Infringement. There are various worldwide
laws, regulations, and executive orders applicable to dispositions
of Covered Code, including without limitation export, re-export, and
import control laws, regulations, and executive orders, of the U.S.
government and other countries, and Recipient is reminded it is
obliged to obey such laws, regulations, and executive orders.
Recipient may not distribute Covered Code that (i) in any way
infringes (directly or contributorily) any intellectual property
rights of any kind of any other person or entity or (ii) breaches
any representation or warranty, express, implied or statutory, to
which, under any applicable law, it might be deemed to have been
subject.
7. Claims of Infringement. If Recipient learns of any third party claim
that any disposition of Covered Code and/or functionality wholly or
partially infringes the third party's intellectual property rights,
Recipient will promptly notify SGI of such claim.
8. Versions of the License. SGI may publish revised and/or new versions
of the License from time to time, each with a distinguishing version
number. Once Covered Code has been published under a particular
version of the License, Recipient may, for the duration of the
license, continue to use it under the terms of that version, or
choose to use such Covered Code under the terms of any subsequent
version published by SGI. Subject to the provisions of Sections 3
and 4 of this License, only SGI may modify the terms applicable to
Covered Code created under this License.
9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL
EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED,
INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS
OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR
PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY
AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE
IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING,
REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL
PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED
HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.
10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY,
WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT
LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR
BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF
DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SGI's NEGLIGENCE TO THE EXTENT APPLICABLE LAW
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
11. Indemnity. Recipient shall be solely responsible for damages
arising, directly or indirectly, out of its utilization of rights
under this License. Recipient will defend, indemnify and hold
harmless Silicon Graphics, Inc. from and against any loss,
liability, damages, costs or expenses (including the payment of
reasonable attorneys fees) arising out of Recipient's use,
modification, reproduction and distribution of the Covered Code or
out of any representation or warranty made by Recipient.
12. U.S. Government End Users. The Covered Code is a "commercial item"
consisting of "commercial computer software" as such terms are
defined in title 48 of the Code of Federal Regulations and all U.S.
Government End Users acquire only the rights set forth in this
License and are subject to the terms of this License.
13. Miscellaneous. This License represents the complete agreement
concerning the its subject matter. If any provision of this License
is held to be unenforceable, such provision shall be reformed so as
to achieve as nearly as possible the same legal and economic effect
as the original provision and the remainder of this License will
remain in effect. This License shall be governed by and construed
in accordance with the laws of the United States and the State of
California as applied to agreements entered into and to be
performed entirely within California between California residents.
Any litigation relating to this License shall be subject to the
exclusive jurisdiction of the Federal Courts of the Northern
District of California (or, absent subject matter jurisdiction in
such courts, the courts of the State of California), with venue
lying exclusively in Santa Clara County, California, with the
losing party responsible for costs, including without limitation,
court costs and reasonable attorneys fees and expenses. The
application of the United Nations Convention on Contracts for the
International Sale of Goods is expressly excluded. Any law or
regulation that provides that the language of a contract shall be
construed against the drafter shall not apply to this License.
Exhibit A
License Applicability. Except to the extent portions of this file are
made subject to an alternative license as permitted in the SGI Free
Software License B, Version 1.1 (the "License"), the contents of this
file are subject only to the provisions of the License. You may not use
this file except in compliance with the License. You may obtain a copy
of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
http://oss.sgi.com/projects/FreeB
Note that, as provided in the License, the Software is distributed on an
"AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
Original Code. The Original Code is: [name of software, version number,
and release date], developed by Silicon Graphics, Inc. The Original Code
is Copyright (c) [dates of first publication, as appearing in the Notice
in the Original Code] Silicon Graphics, Inc. Copyright in any portions
created by third parties is as indicated elsewhere herein. All Rights
Reserved.
Additional Notice Provisions: [such additional provisions, if any, as
appear in the Notice in the Original Code under the heading "Additional
Notice Provisions"]
--------------------------------------------------------------------------
Some other files listed below are made available from Silicon Graphics,
Inc. under a more liberal, MIT-style license, as follows:
Permission to use, copy, modify, and distribute this software for
any purpose and without fee is hereby granted, provided that the above
copyright notice appear in all copies and that both the copyright notice
and this permission notice appear in supporting documentation, and that
the name of Silicon Graphics, Inc. not be used in advertising
or publicity pertaining to distribution of the software without specific,
written prior permission.
THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE
INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
US Government Users Restricted Rights
Use, duplication, or disclosure by the Government is subject to
restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
(c)(1)(ii) of the Rights in Technical Data and Computer Software
clause at DFARS 252.227-7013 and/or in similar or successor
clauses in the FAR or the DOD or NASA FAR Supplement.
Unpublished-- rights reserved under the copyright laws of the
United States. Contractor/manufacturer is Silicon Graphics,
Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
--------------------------------------------------------------------------
Mesa Component Licenses:
Component Files Primary Author License
----------------------------------------------------------------------------
core Mesa code src/*.[ch] Brian Paul Mesa
include/GL/gl.h
GLX driver src/X/* Brian Paul Mesa
include/GL/glx.h
include/GL/xmesa.h
OS/Mesa driver src/OSmesa/* Brian Paul Mesa
include/GL/osmesa.h
3Dfx driver src/FX/* David Bucciarelli Mesa
include/GL/fxmesa.h
BeOS R4 driver mesa/drivers/beos/ Brian Paul Mesa
MGL driver include/GL/mglmesa.h SciTech, Inc GNU LGPL
Windows driver mesa/drivers/windows/ Li Wei GNU LGPL
include/GL/wmesa.h
SVGA driver mesa/drivers/svga/ Brian Paul GNU LGPL
include/GL/svgamesa.h
DOS driver mesa/drivers/dos/ Charlie Wallace GNU LGPL
include/GL/dosmesa.h
GGI driver mesa/drivers/ggi/ Uwe Maurer GNU LGPL
include/GL/ggimesa.h
GLUT src/glut/* Mark Kilgard Mark's copyright
include/GL/*glut*.h
GLU library src/glu/* Brian Paul GNU LGPL
SGI GLU library src/glu/sgi/* SGI SGI Free B
include/GL/glu.h
Ext registry include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
demo programs progs/demos/* various see source files
X demos progs/xdemos/* Brian Paul see source files
SGI demos progs/samples/* SGI SGI MIT-style
RedBook demos progs/redbook/* SGI SGI MIT-style
On Debian systems the full text of the GNU LGPL license is found in
/usr/share/common-licenses/LGPL.
------------------------------------------------------------------------------
The Debian packaging is (C) 2006, Thierry Reding <thierry@gilfi.de> and
is licensed under the GPL, see `/usr/share/common-licenses/GPL'.

15
debian/glxdemo.1 vendored
View File

@@ -1,15 +0,0 @@
.TH glxdemo 1 "2006-11-29"
.SH NAME
glxdemo \- a demonstration of the GLX functions
.SH SYNOPSIS
.B glxdemo
.SH DESCRIPTION
The \fIglxdemo\fP program shows how to use the GLX functions in order to
create an OpenGL program running on top of an X server. This program is most
useful when studied in its source code form.
.SH AUTHOR
glxdemo was written by Brian Paul <brian.paul@tungstengraphics.com>.
.PP
This manual page was written by Thierry Reding <thierry@gilfi.de>, for the
Debian project (but may be used by others).

29
debian/glxgears.1 vendored
View File

@@ -1,29 +0,0 @@
.TH glxgears 1 "2006-11-29"
.SH NAME
glxgears \- ``gears'' demo for GLX
.SH SYNOPSIS
.B glxgears
.RI [ options ]
.SH DESCRIPTION
The \fIglxgears\fP program is a port of the ``gears'' demo to GLX. It displays
a set of rotating gears and prints out the frame rate at regular intervals. It
has become quite popular as basic benchmarking tool.
.SH OPTIONS
.TP 8
.B \-display \fIdisplay\fP
Specify which X display to run on.
.TP 8
.B \-info
Display OpenGL renderer information.
.TP 8
.B \-stereo
Use a stereo enabled GLX visual.
.TP 8
.B \-fullscreen
Run in fullscreen mode.
.SH AUTHOR
glxgears was written by Brian Paul <brian.paul@tungstengraphics.com>.
.PP
This manual page was written by Thierry Reding <thierry@gilfi.de>, for the
Debian project (but may be used by others).

30
debian/glxheads.1 vendored
View File

@@ -1,30 +0,0 @@
.TH glxheads 1 "2006-11-29"
.SH NAME
glxheads \- exercise multiple GLX connections
.SH SYNOPSIS
.B glxheads
[\fIdisplay\fP ...]
.SH DESCRIPTION
The \fIglxheads\fP program will try to open GLX connections on multiple X
displays as specified on the command-line. If a connection can be made it will
try to create a direct GLX context (and fallback to using indirect contexts if
that fails) and open a window displaying a spinning green triangle.
.PP
If no display names are specified, \fIglxheads\fP will default to opening a
single local connection on display 0.
.SH EXAMPLE
To open a local connection on display 0 and two remote connections to the
hosts \fImars\fP (display 0) and \fIvenus\fP (display 1), run glxheads with
the following command-line:
.PP
.RS 3n
.nf
$ glxheads :0 mars:0 venus:1
.fi
.RE
.SH AUTHOR
glxheads was written by Brian Paul <brian.paul@tungstengraphics.com>.
.PP
This manual page was written by Thierry Reding <thierry@gilfi.de> for the
Debian project (but may be used by others).

41
debian/glxinfo.1 vendored
View File

@@ -1,41 +0,0 @@
.TH glxinfo 1 "2006-11-29"
.SH NAME
glxinfo \- show information about the GLX implementation
.SH SYNOPSIS
.B glxinfo
.RI [ options ]
.SH DESCRIPTION
The \fIglxinfo\fP program shows information about the OpenGL and GLX
implementations running on a given X display.
.PP
The information includes details about the server- and client-side GLX
implementation, the OpenGL and GLU implementations as well as a list
of available GLX visuals.
.SH OPTIONS
.TP 8
.B \-v
Print visuals info in verbose form.
.TP 8
.B \-t
Print verbose table.
.TP 8
.B \-display \fIdisplay\fP
Specify the X display to interrogate.
.TP 8
.B \-h
Print usage information.
.TP 8
.B \-i
Force an indirect rendering context.
.TP 8
.B \-b
Find the ``best'' visual and print it's number.
.TP 8
.B \-l
Print interesting OpenGL limits.
.SH AUTHOR
glxinfo was written by Brian Paul <brian.paul@tungstengraphics.com>.
.PP
This manual page was written by Thierry Reding <thierry@gilfi.de>, for the
Debian project (but may be used by others).

View File

@@ -1 +0,0 @@
usr/lib/libGL.so

View File

@@ -1 +0,0 @@
usr/lib/dri/i686/cmov/*.so

View File

@@ -1 +0,0 @@
usr/lib/dri/*.so

View File

@@ -1 +0,0 @@
usr/lib/glx/i686/cmov/libGL.so.* usr/lib/i686/cmov

View File

@@ -1 +0,0 @@
usr/lib/glx/libGL.so.* usr/lib

View File

@@ -1 +0,0 @@
libGL 1 libgl1-mesa-glx | libgl1

View File

@@ -1,2 +0,0 @@
usr/lib/libGL.a
usr/lib/libGL.so

View File

@@ -1 +0,0 @@
usr/lib/i686/cmov/libGL.so.*

View File

@@ -1 +0,0 @@
libGL 1 libgl1-mesa-glx | libgl1

View File

@@ -1 +0,0 @@
usr/lib/libGL.so.*

View File

@@ -1 +0,0 @@
libGL 1 libgl1-mesa-glx | libgl1

View File

@@ -1,4 +0,0 @@
usr/include/GL/glu.h
usr/include/GL/glu_mangle.h
usr/lib/libGLU.a
usr/lib/libGLU.so

View File

@@ -1 +0,0 @@
usr/lib/libGLU.so.*

View File

@@ -1 +0,0 @@
libGLU 1 libglu1-mesa | libglu1

View File

@@ -1,3 +0,0 @@
usr/include/GL/GLw*A.h
usr/lib/libGLw.a
usr/lib/libGLw.so

View File

@@ -1 +0,0 @@
usr/lib/libGLw.so.*

View File

@@ -1 +0,0 @@
libGLw 1 libglw1-mesa | libglw1

View File

@@ -1,7 +0,0 @@
usr/include/GL/osmesa.h
usr/lib/libOSMesa.a
usr/lib/libOSMesa.so
usr/lib/libOSMesa16.a
usr/lib/libOSMesa16.so
usr/lib/libOSMesa32.a
usr/lib/libOSMesa32.so

View File

@@ -1,3 +0,0 @@
usr/lib/libOSMesa.so.*
usr/lib/libOSMesa16.so.*
usr/lib/libOSMesa32.so.*

View File

@@ -1,3 +0,0 @@
libOSMesa 6 libosmesa6 (>= 6.5.2-1) | libgl1-mesa-glide3
libOSMesa16 6 libosmesa6 (>= 6.5.2-1)
libOSMesa32 6 libosmesa6 (>= 6.5.2-1)

View File

@@ -1,8 +0,0 @@
docs/bugs.html
docs/debugging.html
docs/envvars.html
docs/faq.html
docs/osmesa.html
docs/RELNOTES-*
docs/relnotes*
docs/*.spec

View File

@@ -1,4 +0,0 @@
usr/include/GL/gl.h
usr/include/GL/glext.h
usr/include/GL/gl_mangle.h
usr/include/GL/glx*.h

View File

@@ -1 +0,0 @@
usr/share/mesa-source/*

View File

@@ -1,4 +0,0 @@
usr/bin/glxdemo
usr/bin/glxgears
usr/bin/glxheads
usr/bin/glxinfo

View File

@@ -1,4 +0,0 @@
debian/glxdemo.1
debian/glxgears.1
debian/glxheads.1
debian/glxinfo.1

View File

@@ -1,17 +0,0 @@
Patch that allows the Mesa makefile to create a LIB_DIR that is more than one
level below TOP.
This patch by Thierry Reding.
Not submitted to Mesa.
--- a/src/Makefile
+++ b/src/Makefile
@@ -29,7 +29,7 @@
done
$(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
+ mkdir -p $(TOP)/$(LIB_DIR)
clean:

View File

@@ -1,18 +0,0 @@
Do not build OSMesa for a standalone configuration, since Debian only ships
OSMesa in a separate package.
This patch by Thierry Reding.
Index: mesa/src/mesa/Makefile
===================================================================
--- mesa.orig/src/mesa/Makefile 2007-04-25 01:44:31.000000000 +0200
+++ mesa/src/mesa/Makefile 2007-04-25 01:44:58.000000000 +0200
@@ -105,7 +105,7 @@
$(OSMESA_DRIVER_OBJECTS)
-stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
+stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
osmesa-only: depend subdirs $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)

View File

@@ -1,19 +0,0 @@
Patch that fixes Debian bug #349437.
This patch by David Nusinow.
Index: mesa/src/mesa/main/imports.h
===================================================================
--- mesa.orig/src/mesa/main/imports.h 2007-04-25 01:44:31.000000000 +0200
+++ mesa/src/mesa/main/imports.h 2007-04-25 01:45:04.000000000 +0200
@@ -158,8 +158,9 @@
*** USE_IEEE: Determine if we're using IEEE floating point
***/
#if defined(__i386__) || defined(__386__) || defined(__sparc__) || \
- defined(__s390x__) || defined(__powerpc__) || \
+ defined(__s390__) || defined(__s390x__) || defined(__powerpc__) || \
defined(__amd64__) || \
+ defined(__m68k__) || \
defined(ia64) || defined(__ia64__) || \
defined(__hppa__) || defined(hpux) || \
defined(__mips) || defined(_MIPS_ARCH) || \

View File

@@ -1,45 +0,0 @@
Allow the programs that are to be built to be defined in the build
configuration.
Provide an install target for installing the programs in $(INSTALL_DIR)/bin.
This patch by Thierry Reding.
Not submitted to Mesa.
--- a/progs/xdemos/Makefile
+++ b/progs/xdemos/Makefile
@@ -8,7 +8,7 @@
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME)
-PROGS = glthreads \
+PROGS ?= glthreads \
glxdemo \
glxgears \
glxgears_fbconfig \
@@ -44,6 +44,9 @@
default: $(PROGS)
+install: $(PROGS)
+ $(INSTALL) -d $(INSTALL_DIR)/bin
+ $(INSTALL) -m 755 $(PROGS) $(INSTALL_DIR)/bin
clean:
-rm -f $(PROGS)
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -21,8 +21,12 @@
fi \
done
-# Dummy install target
install:
+ @for dir in $(SUBDIRS) ; do \
+ if [ -d $$dir ] ; then \
+ (cd $$dir ; $(MAKE) install) ; \
+ fi \
+ done
clean:
@for dir in $(SUBDIRS) tests ; do \

View File

@@ -1,189 +0,0 @@
diff --git a/configs/linux-osmesa b/configs/linux-osmesa
index cc1fbbd..aabab59 100644
--- a/configs/linux-osmesa
+++ b/configs/linux-osmesa
@@ -9,8 +9,17 @@ CONFIG_NAME = linux-osmesa
# Compiler and flags
CC = gcc
CXX = g++
-CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
-CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+PIC_FLAGS = -fPIC
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE \
+ -DPTHREADS -DUSE_XSHM -DHAVE_POSIX_MEMALIGN
+
+CFLAGS = -ansi -pedantic $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(ASM_FLAGS) -ffast-math
+
+CXXFLAGS = -ansi -pedantic $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
# Directories
@@ -23,3 +33,4 @@ PROGRAM_DIRS = osdemos
OSMESA_LIB_DEPS = -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
APP_LIB_DEPS = -lOSMesa -lGLU
+
diff --git a/configs/linux-osmesa-static b/configs/linux-osmesa-static
index 465f83c..eb3575f 100644
--- a/configs/linux-osmesa-static
+++ b/configs/linux-osmesa-static
@@ -8,7 +8,8 @@ CONFIG_NAME = linux-osmesa-static
# Compiler and flags
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names
-OSMESA_LIB_NAME = libOSMesa.a
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
diff --git a/configs/linux-osmesa16 b/configs/linux-osmesa16
index 1fb0186..2a06254 100644
--- a/configs/linux-osmesa16
+++ b/configs/linux-osmesa16
@@ -1,28 +1,17 @@
# Configuration for 16 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
+include $(TOP)/configs/linux-osmesa
CONFIG_NAME = linux-osmesa16
-# Compiler and flags
-CC = gcc
-CXX = g++
-CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
-
+DEFINES += -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=32
# Library names
OSMESA_LIB = OSMesa16
-OSMESA_LIB_NAME = libOSMesa16.so
-
# Directories
-SRC_DIRS = mesa glu
-DRIVER_DIRS = osmesa
PROGRAM_DIRS =
-
# Dependencies
-OSMESA_LIB_DEPS = -lm -lpthread
-GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
-APP_LIB_DEPS = -lOSMesa16
+APP_LIB_DEPS = -l$(OSMESA_LIB)
+
diff --git a/configs/linux-osmesa16-static b/configs/linux-osmesa16-static
index 6645504..894cf82 100644
--- a/configs/linux-osmesa16-static
+++ b/configs/linux-osmesa16-static
@@ -1,28 +1,13 @@
# Configuration for 16 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
+include $(TOP)/configs/linux-osmesa16
CONFIG_NAME = linux-osmesa16-static
# Compiler and flags
-CC = gcc
-CXX = g++
-CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
-
+PIC_FLAGS =
# Library names
-OSMESA_LIB = OSMesa16
-OSMESA_LIB_NAME = libOSMesa16.a
-
-
-# Directories
-SRC_DIRS = mesa glu
-DRIVER_DIRS = osmesa
-PROGRAM_DIRS =
-
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
-# Dependencies
-OSMESA_LIB_DEPS = -lm -lpthread
-APP_LIB_DEPS = -lOSMesa16
diff --git a/configs/linux-osmesa32 b/configs/linux-osmesa32
index a1e5a35..5a703f6 100644
--- a/configs/linux-osmesa32
+++ b/configs/linux-osmesa32
@@ -1,28 +1,18 @@
# Configuration for 32 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
+include $(TOP)/configs/linux-osmesa
CONFIG_NAME = linux-osmesa32
# Compiler and flags
-CC = gcc
-CXX = g++
-CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
-
+DEFINES += -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
# Library names
OSMESA_LIB = OSMesa32
-OSMESA_LIB_NAME = libOSMesa32.so
-
# Directories
-SRC_DIRS = mesa glu
-DRIVER_DIRS = osmesa
PROGRAM_DIRS =
-
# Dependencies
-OSMESA_LIB_DEPS = -lm -lpthread
-GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
-APP_LIB_DEPS = -lOSMesa32
+APP_LIB_DEPS = -l$(OSMESA_LIB)
+
diff --git a/configs/linux-osmesa32-static b/configs/linux-osmesa32-static
index 6db8bc0..ecbb72e 100644
--- a/configs/linux-osmesa32-static
+++ b/configs/linux-osmesa32-static
@@ -1,28 +1,13 @@
# Configuration for 32 bits/channel OSMesa library on Linux
-include $(TOP)/configs/default
+include $(TOP)/configs/linux-osmesa32
CONFIG_NAME = linux-osmesa32-static
# Compiler and flags
-CC = gcc
-CXX = g++
-CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
-CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
MKLIB_OPTIONS = -static
-
+PIC_FLAGS =
# Library names
-OSMESA_LIB = OSMesa32
-OSMESA_LIB_NAME = libOSMesa32.a
-
-
-# Directories
-SRC_DIRS = mesa glu
-DRIVER_DIRS = osmesa
-PROGRAM_DIRS =
-
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).a
-# Dependencies
-OSMESA_LIB_DEPS = -lm -lpthread
-APP_LIB_DEPS = -lOSMesa32

View File

@@ -1,60 +0,0 @@
diff --git a/configs/linux-alpha-static b/configs/linux-alpha-static
index 2a30af9..eb6a08a 100644
--- a/configs/linux-alpha-static
+++ b/configs/linux-alpha-static
@@ -11,6 +11,7 @@ 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 =
# Library names (actual file names)
diff --git a/configs/linux-ppc-static b/configs/linux-ppc-static
index d0e1688..3f3dc55 100644
--- a/configs/linux-ppc-static
+++ b/configs/linux-ppc-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-ppc
CONFIG_NAME = linux-ppc-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
diff --git a/configs/linux-static b/configs/linux-static
index 85141ea..1592668 100644
--- a/configs/linux-static
+++ b/configs/linux-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux
CONFIG_NAME = linux-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
diff --git a/configs/linux-x86-64-static b/configs/linux-x86-64-static
index 0257430..2d0b664 100644
--- a/configs/linux-x86-64-static
+++ b/configs/linux-x86-64-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86-64
CONFIG_NAME = linux-x86-64-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a
diff --git a/configs/linux-x86-static b/configs/linux-x86-static
index 9915987..e6a3696 100644
--- a/configs/linux-x86-static
+++ b/configs/linux-x86-static
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86
CONFIG_NAME = linux-x86-static
MKLIB_OPTIONS = -static
+PIC_FLAGS =
# Library names (actual file names)
GL_LIB_NAME = libGL.a

View File

@@ -1,6 +0,0 @@
00_create-libdir.patch
01_fix-makefile.patch
02_use-ieee-fp-on-s390-and-m68k.patch
03_optional-progs-and-install.patch
04_cleanup-osmesa-configs.patch
05_static-nonpic.patch

139
debian/rules vendored
View File

@@ -1,139 +0,0 @@
#!/usr/bin/make -f
# debian/rules for the Debian mesa package
# Copyright © 2006 Thierry Reding <thierry@gilfi.de>
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
STAMP_DIR = debian/stamp
QUILT_STAMPFN = $(STAMP_DIR)/patch
include /usr/share/quilt/quilt.make
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_BUILD_DIR ?= $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
export DEB_BUILD_ARCH
# choose which configurations to build
SWX11_GLU_CONFIGS =
DRI_CONFIGS =
include debian/scripts/choose-configs
# build the following configurations by default
CONFIGS = $(SWX11_GLU_CONFIGS) \
$(DRI_CONFIGS) \
debian-osmesa \
debian-osmesa-static \
debian-osmesa16 \
debian-osmesa16-static \
debian-osmesa32 \
debian-osmesa32-static
STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)
BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))
ARCH_INSTALL_STAMPS = $(addprefix $(STAMP)-install-, $(CONFIGS))
INDEP_INSTALL_STAMPS = $(STAMP_DIR)/install-source
# list the configurations that will built
configs:
@echo Building the following configurations: $(CONFIGS)
$(STAMP_DIR):
dh_testdir
mkdir -p $@
$(QUILT_STAMPFN): $(STAMP_DIR)
build: $(BUILD_STAMPS)
$(STAMP)-build-%: patch
dh_testdir
mkdir -p $(DEB_BUILD_DIR)/$*
find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \
xargs cp -rlf -t $(DEB_BUILD_DIR)/$*
ln -sf $* $(DEB_BUILD_DIR)/$*/configs/current
cd $(DEB_BUILD_DIR)/$* && $(MAKE)
touch $@
pre-install:
dh_testdir
dh_testroot
dh_clean -k
rm -rf $(INSTALL_STAMPS)
install: pre-install $(ARCH_INSTALL_STAMPS)
$(STAMP)-install-%: $(STAMP)-build-%
# Add here commands to install the package into debian/tmp
cd $(DEB_BUILD_DIR)/$* && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
touch $@
$(STAMP_DIR)/install-source: pre-install
# install Mesa source for mesa-swx11-source package
chmod a+x debian/scripts/install-source.sh
debian/scripts/install-source.sh
touch $@
clean: unpatch
dh_testdir
dh_testroot
dh_clean --exclude ./Makefile.orig
rm -rf $(DEB_BUILD_DIR) $(STAMP_DIR)
# Build architecture-independent files here.
binary-indep: build install $(INDEP_INSTALL_STAMPS)
dh_testdir
dh_testroot
dh_installchangelogs -i
dh_installdocs -i
dh_installexamples -i
dh_install --sourcedir=debian/tmp --list-missing -i
dh_installman -i
dh_link -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs -s
dh_installdocs -s
dh_installexamples -s
dh_install --sourcedir=debian/tmp --list-missing -s
dh_installman -s
dh_link -s
dh_strip -plibgl1-mesa-swx11 --dbg-package=libgl1-mesa-swx11-dbg
dh_strip -plibgl1-mesa-glx --dbg-package=libgl1-mesa-glx-dbg
dh_strip -plibgl1-mesa-dri --dbg-package=libgl1-mesa-dri-dbg
dh_strip -s
dh_compress -s
dh_fixperms -s
dh_makeshlibs -s
dh_installdeb -s
dh_shlibdeps -s
dh_gencontrol -s
dh_md5sums -s
dh_builddeb -s
binary: binary-indep binary-arch
.PHONY: configs build clean binary-indep binary-arch binary install configure

View File

@@ -1,56 +0,0 @@
# Script to choose which configurations are to be built depending on the value
# of the DEB_BUILD_ARCH variable.
#
# Copyright © 2006 Thierry Reding <thierry@gilfi.de>
##############################################################################
## architecture-specific configurations ######################################
# choose an architecture-specific build of swx11 and GLU if a matching
# configuration exists
ifneq ($(wildcard configs/debian-swx11+glu-$(DEB_BUILD_ARCH)),)
SWX11_GLU_CONFIGS := debian-swx11+glu-$(DEB_BUILD_ARCH)
else
SWX11_GLU_CONFIGS := debian-swx11+glu-any
endif
# same for static builds
ifneq ($(wildcard configs/debian-swx11+glu-static-$(DEB_BUILD_ARCH)),)
SWX11_GLU_CONFIGS += debian-swx11+glu-static-$(DEB_BUILD_ARCH)
else
SWX11_GLU_CONFIGS += debian-swx11+glu-static-any
endif
# and for the GLX/DRI-enabled libGL
ifneq ($(wildcard configs/debian-indirect-$(DEB_BUILD_ARCH)),)
DRI_CONFIGS := debian-indirect-$(DEB_BUILD_ARCH)
else
ifneq ($(wildcard configs/debian-dri-$(DEB_BUILD_ARCH)),)
DRI_CONFIGS := debian-dri-$(DEB_BUILD_ARCH)
else
DRI_CONFIGS := debian-dri-any
endif
endif
##############################################################################
## CPU-optimized configurations ##############################################
ifeq ($(DEB_BUILD_ARCH), i386)
SWX11_GLU_CONFIGS += debian-swx11+glu-i386-i686
# DRI_CONFIGS += debian-dri-i386-i686
endif
#ifeq ($(DEB_BUILD_ARCH), alpha)
# SWX11_GLU_CONFIGS += debian-swx11+glu-alpha-ev5
#endif
#ifeq ($(DEB_BUILD_ARCH), powerpc)
# SWX11_GLU_CONFIGS += debian-swx11+glu-powerpc-603
#endif
#ifeq ($(DEB_BUILD_ARCH), sparc)
# SWX11_GLU_CONFIGS += debian-swx11+glu-sparc-ultrasparc
#endif
# vim: ft=make

View File

@@ -1,46 +0,0 @@
#!/bin/sh
if [ -n "$1" ]; then
TOP="$1"
else
TOP=`pwd`
fi
SOURCE_DIRS='
include/GL/internal
src/glx/x11
src/mesa/drivers/common
src/mesa/drivers/dri/common
src/mesa/drivers/dri/glcore
src/mesa/drivers/x11
src/mesa/glapi
src/mesa/main
src/mesa/math
src/mesa/ppc
src/mesa/shader
src/mesa/sparc
src/mesa/swrast_setup
src/mesa/swrast
src/mesa/tnl_dd
src/mesa/tnl
src/mesa/vbo
src/mesa/x86-64
src/mesa/x86
'
FILTER="-not -path '*/.svn*'"
TARGET=${TOP}/debian/tmp/usr/share/mesa-source
(
find $SOURCE_DIRS $FILTER -name '*.[ch]';
find include/GL $FILTER -name 'xmesa*.h';
) | \
while read x; do
DIRNAME=`dirname "$x"`
mkdir -p "$TARGET/$DIRNAME"
cp -lf "$x" "$TARGET/$DIRNAME"
done
# fix permissions
find "$TARGET" -type f | xargs chmod 0644

2
debian/watch vendored
View File

@@ -1,2 +0,0 @@
version=3
http://sf.net/mesa3d/MesaLib-(.*)\.tar\.gz

View File

@@ -9,7 +9,7 @@
<H1>Downloading</H1>
<p>
Last stable release: <b>7.0</b>
Last stable release: <b>7.0.1</b>
</p>
<p>

View File

@@ -1,221 +0,0 @@
<HTML>
<TITLE>Writing Mesa Device Drivers</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<center><h1>Writing Mesa Device Drivers</h1></center>
<h2>Introduction</h2>
<p>
Several different classes of drivers can be identified:
</p>
<ul>
<li><b>100% Software Driver</b> -
a software driver that does not utilize accelerated graphics hardware.
Such a driver will basically just write (and read) pixel values to the
computer's frame buffer or a malloc'd color buffer.
Examples include the X11/XMesa driver, the Windows driver and OSMesa.
</li>
<br>
<li><b>Hardware Rasterization Driver</b> -
for graphics hardware that implements accelerated point/line/triangle
rasterization, but relies on core Mesa for vertex transformation.
Examples include the DRI 3Dfx, Matrox, and Rage 128 drivers.
</li>
<br>
<li><b>Hardware Transformation and Rasterization Driver</b> -
for graphics hardware that implements accelerated rasterization and vertex
transformation.
Examples include the DRI Radeon and R200 drivers.
</li>
</ul>
<p>
Each class of driver builds on the functionality of the preceeding one.
For example, a hardware rasterization driver may need to fall back to
software rasterization when a particular OpenGL state combination is set
but not supported by the hardware (perhaps smooth, stippled, textured
triangles).
</p>
<p>
Likewise, a hardware transformation driver might need to fall back to
software-based transformation when a particular, seldom-used lighting
mode is enabled.
</p>
<h2>Getting Started</h2>
<p>
The best way to get started writing a new driver is to find an existing
driver similar to what you plan to implement, and then study it.
</p>
<p>
It's not feasible for this document to explain every detail of writing
a driver.
The minute details can be gleaned by looking at existing drivers.
This document focuses on the high-level concepts and will perhaps expand
on the details in the future.
</p>
<p>
For examples of 100% software drivers, the OSMesa and XMesa (fake/stand-alone
GLX) drivers are the best examples.
</p>
<p>
For examples of hardware drivers, the DRI Radeon and R200 drivers are good
examples.
</p>
<h2>Programming API vs. Drivers</h2>
<p>
There are two aspects to a Mesa device driver:
</p>
<ul>
<li><b>Public programming API</b> -
this is the interface which application programmers use.
Examples are the GLX, WGL and OSMesa interfaces.
If you're developing a device driver for a new operating system or
window system you'll have to design and implement an <em>OpenGL glue</em>
interface similar to these.
This interface will, in turn, communicate with the internal driver code.
</li>
<br>
<li><b>Private/internal driver code</b> -
this is the code which (effectively) translates OpenGL API calls into
rendering operations.
The device driver must manage hardware resources, track OpenGL state
and implement or dispatch the fundamental rendering operations such as
point, line, triangle and image rendering.
</li>
</ul>
<p>
The remainder of this document will focus on the later part.
Furthermore, we'll use the GLX interface for examples.
</p>
<p>
In the case of the DRI drivers, the public GLX interface is contained in
the <b>libGL.so</b> library.
libGL.so, in turn, dynamically loads one of the DRI drivers (such as
radeon_dri.so).
Both libGL.so and the driver modules talk to the X window system via the
DRI extension.
Furthermore, the driver modules interface to the graphics hardware with
the help of a kernel module and the conventional 2D X server driver.
</p>
<h2>Software Driver Overview</h2>
<p>
A software driver is primarily concerned with writing pixel values to the
system's color buffer (and reading them back).
The color buffers might be window canvases (typically the front
color buffer) and/or off-screen image buffers (typically the back color
buffer).
The depth, stencil and accumulation buffers will be implemented within
core Mesa.
</p>
<p>
The software driver must also be concerned with allocation and deallocation
of rendering contexts, frame buffers and pixel formats (visuals).
</p>
<h3>Rendering Contexts</h3>
<p>
The glue interface will always have a function for creating new rendering
contexts (such as glXCreateContext).
The device driver must have a function which allocates and initializes
a device-specific rendering context.
</p>
<h3>Frame Buffers</h3>
<p>
The <em>frame buffer</em> can either be a screen region defined by a window
or the entire screen.
</p>
<p>
In either case, the device driver must implement functions for allocating,
initializing and managing frame buffers.
<p>
<h3>Spans</h3>
<p>
The fundamental rendering operation is to write (and read)
<em>spans</em> of pixels to the front / back color buffers.
A span is a horizontal array of pixel colors with an array of mask
flags. The span begins at a particular (x,y) screen coordinate,
extends for N pixels, describes N RGBA colors (or color indexes) and
has an array of N boolean flags indicating which pixels to write and skip.
<p>
<h3>Miscellaneous functions</h3>
<p>
Additionally, a software driver will typically have functions for
binding rendering contexts to frame buffers (via glXMakeCurrent),
swapping color buffers (via glXSwapBuffers), synchronization
(via glFlush/glFinish) and queries (via glGetString).
</p>
<h3>Optimizations</h3>
<p>
A software driver might implement optimized routines for drawing lines
and triangles for common cases (such as smooth shading with depth-testing).
Then, the span functions can be bypassed for a little extra speed.
The OSMesa and XMesa drivers have examples of this.
</p>
<h2>Hardware Driver Overview</h2>
<p>
To do...
</p>
<h2>OOP-Style Inheritance and Specialization</h2>
<p>
Even though Mesa and most device drivers are written in C, object oriented
programming principles are used in several places.
</p>
<h3>Rendering Contexts</h3>
<p>
Every Mesa device driver will need to define a device-specific rendering
context structure.
</p>
<h2>State Tracking</h2>
</BODY>
</HTML>

BIN
docs/gears.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -11,6 +11,13 @@
<H1>News</H1>
<h2>August 3, 2007</h2>
<p>
<a href="relnotes-7.0.html">Mesa 7.0.1</a> is released.
This is a bug-fix release.
</p>
<h2>June 22, 2007</h2>
<p>
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.

View File

@@ -8,7 +8,7 @@
<body bgcolor="#eeeeee">
<H1>Mesa 7.0.1 Release Notes / (date), 2007</H1>
<H1>Mesa 7.0.1 Release Notes / August 3, 2007</H1>
<p>
Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
@@ -22,6 +22,7 @@ Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
<h2>New features</h2>
<ul>
<li>Added a bluegene-osmesa build config
</ul>
<h2>Bug fixes</h2>
@@ -45,10 +46,13 @@ Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
the terminating zero (bug 11588)
<li>glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
<li>Fixed a GLSL function call bug (#11731)
<li>glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work (bug 11754)
<li>glGetAttribLocation() always returned 1 (bug 11774)
<li>Fixed a few memory-related bugs in GLU library
</ul>
<h2>Change</h2>
<h2>Changes</h2>
<ul>
<li>The libOSMesa library version has been reverted to 6.5.3 (soname=6)
in order to avoid application linking issues. Otherwise, applications

15
doxygen/.gitignore vendored Normal file
View File

@@ -0,0 +1,15 @@
*.tag
agpgart
array_cache
core
core_subset
math
math_subset
miniglx
radeon_subset
radeondrm
radeonfb
swrast
swrast_setup
tnl
tnl_dd

33
doxygen/Makefile Normal file
View File

@@ -0,0 +1,33 @@
default: full
all: full subset
%.tag: %.doxy
doxygen $<
FULL = \
main.doxy \
math.doxy \
vbo.doxy \
glapi.doxy \
shader.doxy \
swrast.doxy \
swrast_setup.doxy \
tnl.doxy \
tnl_dd.doxy
full: $(FULL:.doxy=.tag)
$(foreach FILE,$(FULL),doxygen $(FILE);)
SUBSET = \
main.doxy \
math.doxy \
miniglx.doxy
subset: $(SUBSET:.doxy=.tag)
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
clean:
rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
rm -rf *.tag

10
doxygen/README Normal file
View File

@@ -0,0 +1,10 @@
This directory is for doxygen (a source code documentation system).
See http://www.doxygen.org/ for more info.
Either run 'make' (Unix) or 'doxy.bat' (Windows) to run doxygen
and generate souce code documentation.
Then, load either doxygen/main/index.html or doxygen/core_subset/index.html into
your web browser.

1153
doxygen/common.doxy Normal file

File diff suppressed because it is too large Load Diff

226
doxygen/core_subset.doxy Normal file
View File

@@ -0,0 +1,226 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa Main"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
INTERNAL_DOCS = YES
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = YES
SHORT_NAMES = NO
HIDE_SCOPE_NAMES = NO
VERBATIM_HEADERS = YES
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
ALIASES =
ENABLED_SECTIONS = subset
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = NO
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/mesa/main/
FILE_PATTERNS = \
accum.h \
attrib.h \
blend.[ch] \
buffers.[ch] \
dd.h \
debug.h \
depth.h \
dlist.h \
context.[ch] \
config.h \
colormac.h \
colortab.h \
enable.h \
enums.h \
eval.h \
extensions.h \
feedback.[ch] \
fog.h \
get.h \
glheader.h \
glthread.h \
hash.[ch] \
hint.h \
histogram.h \
image.[ch] \
imports.[ch] \
lines.[ch] \
light.h \
matrix.[ch] \
macros.h \
mmath.h \
mtypes.h \
pixel.h \
points.[ch] \
polygon.[ch] \
rastpos.[ch] \
simple_list.h \
state.[ch] \
stencil.[ch] \
subset_*.c \
texformat.h \
teximage.h \
texstate.h \
texstore.h \
texobj.[ch] \
texutil_tmp.h \
varray.h
RECURSIVE = NO
EXCLUDE =
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = core_subset
HTML_HEADER = header_subset.html
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT =
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT =
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT =
MAN_EXTENSION =
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = ../include/
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = \
math_subset.tag=../math_subset \
miniglx.tag=../miniglx
GENERATE_TAGFILE = core_subset.tag
ALLEXTERNALS = NO
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
TEMPLATE_RELATIONS = YES
HIDE_UNDOC_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME =
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH =
EXT_DOC_PATHS =

19
doxygen/doxy.bat Normal file
View File

@@ -0,0 +1,19 @@
doxygen tnl_dd.doxy
doxygen vbo.doxy
doxygen math.doxy
doxygen swrast.doxy
doxygen swrast_setup.doxy
doxygen tnl.doxy
doxygen core.doxy
doxygen glapi.doxy
doxygen shader.doxy
echo Building again, to resolve tags
doxygen tnl_dd.doxy
doxygen vbo.doxy
doxygen math.doxy
doxygen swrast.doxy
doxygen swrast_setup.doxy
doxygen tnl.doxy
doxygen glapi.doxy
doxygen shader.doxy

49
doxygen/glapi.doxy Normal file
View File

@@ -0,0 +1,49 @@
# Doxyfile 0.1
@INCLUDE = common.doxy
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa GL API dispatcher"
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/mesa/glapi/
FILE_PATTERNS = *.c *.h
RECURSIVE = NO
EXCLUDE =
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
HTML_OUTPUT = glapi
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = ../include/
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = main.tag=../core \
math.tag=../math \
tnl_dd.tag=../tnl_dd \
swrast.tag=../swrast \
swrast_setup.tag=../swrast_setup \
tnl.tag=../tnl \
vbo.tag=vbo
GENERATE_TAGFILE = swrast.tag

17
doxygen/header.html Normal file
View File

@@ -0,0 +1,17 @@
<html>
<head>
<title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="qindex">
<a class="qindex" href="../main/index.html">core</a> |
<a class="qindex" href="../glapi/index.html">glapi</a> |
<a class="qindex" href="../vbo/index.html">vbo</a> |
<a class="qindex" href="../math/index.html">math</a> |
<a class="qindex" href="../shader/index.html">shader</a> |
<a class="qindex" href="../swrast/index.html">swrast</a> |
<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
<a class="qindex" href="../tnl/index.html">tnl</a> |
<a class="qindex" href="../tnl_dd/index.html">tnl_dd</a>
</div>

Some files were not shown because too many files have changed in this diff Show More