Compare commits
12 Commits
mesa-7.8.1
...
mesa_7_7_r
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf75ee9ccc | ||
|
|
006a526edb | ||
|
|
42d9409873 | ||
|
|
11522b74b3 | ||
|
|
b90f7f3ad3 | ||
|
|
f4de0b176d | ||
|
|
fb06d8f097 | ||
|
|
69346c56a1 | ||
|
|
48888b918b | ||
|
|
49e4b624e5 | ||
|
|
8413a3aefa | ||
|
|
f1900323ea |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,7 +4,6 @@
|
||||
*.ilk
|
||||
*.o
|
||||
*.obj
|
||||
*.os
|
||||
*.pc
|
||||
*.pdb
|
||||
*.pyc
|
||||
|
||||
115
Makefile
115
Makefile
@@ -48,7 +48,7 @@ install:
|
||||
done
|
||||
|
||||
|
||||
.PHONY: default doxygen clean realclean distclean install
|
||||
.PHONY: default doxygen clean realclean distclean install linux-directfb-install
|
||||
|
||||
# If there's no current configuration file
|
||||
$(TOP)/configs/current:
|
||||
@@ -80,6 +80,8 @@ catamount-osmesa-pgi \
|
||||
darwin \
|
||||
darwin-fat-32bit \
|
||||
darwin-fat-all \
|
||||
darwin-static \
|
||||
darwin-static-x86ppc \
|
||||
freebsd \
|
||||
freebsd-dri \
|
||||
freebsd-dri-amd64 \
|
||||
@@ -103,12 +105,12 @@ irix6-n32-static \
|
||||
irix6-o32 \
|
||||
irix6-o32-static \
|
||||
linux \
|
||||
linux-i965 \
|
||||
linux-alpha \
|
||||
linux-alpha-static \
|
||||
linux-cell \
|
||||
linux-cell-debug \
|
||||
linux-debug \
|
||||
linux-directfb \
|
||||
linux-dri \
|
||||
linux-dri-debug \
|
||||
linux-dri-x86 \
|
||||
@@ -118,13 +120,12 @@ linux-dri-xcb \
|
||||
linux-egl \
|
||||
linux-indirect \
|
||||
linux-fbdev \
|
||||
linux-glide \
|
||||
linux-ia64-icc \
|
||||
linux-ia64-icc-static \
|
||||
linux-icc \
|
||||
linux-icc-static \
|
||||
linux-llvm \
|
||||
linux-llvm-debug \
|
||||
linux-opengl-es \
|
||||
linux-osmesa \
|
||||
linux-osmesa-static \
|
||||
linux-osmesa16 \
|
||||
@@ -133,6 +134,9 @@ linux-osmesa32 \
|
||||
linux-ppc \
|
||||
linux-ppc-static \
|
||||
linux-profile \
|
||||
linux-solo \
|
||||
linux-solo-x86 \
|
||||
linux-solo-ia64 \
|
||||
linux-sparc \
|
||||
linux-sparc5 \
|
||||
linux-static \
|
||||
@@ -145,6 +149,7 @@ linux-x86-64 \
|
||||
linux-x86-64-debug \
|
||||
linux-x86-64-profile \
|
||||
linux-x86-64-static \
|
||||
linux-x86-glide \
|
||||
linux-x86-profile \
|
||||
linux-x86-static \
|
||||
netbsd \
|
||||
@@ -167,20 +172,17 @@ sunos5-v9 \
|
||||
sunos5-v9-static \
|
||||
sunos5-v9-cc-g++ \
|
||||
ultrix-gcc:
|
||||
@ if test -f configs/current -o -L configs/current; then \
|
||||
if ! cmp configs/$@ configs/current > /dev/null; then \
|
||||
echo "Please run 'make realclean' before changing configs" ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
else \
|
||||
cd configs && rm -f current && ln -s $@ current ; \
|
||||
@ if test -f configs/current || test -L configs/current ; then \
|
||||
echo "Please run 'make realclean' before changing configs" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
(cd configs && rm -f current && ln -s $@ current)
|
||||
$(MAKE) default
|
||||
|
||||
|
||||
# Rules for making release tarballs
|
||||
|
||||
VERSION=7.8.1
|
||||
VERSION=7.7
|
||||
DIRECTORY = Mesa-$(VERSION)
|
||||
LIB_NAME = MesaLib-$(VERSION)
|
||||
DEMO_NAME = MesaDemos-$(VERSION)
|
||||
@@ -205,6 +207,8 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/docs/RELNOTES* \
|
||||
$(DIRECTORY)/docs/*.spec \
|
||||
$(DIRECTORY)/include/GL/internal/glcore.h \
|
||||
$(DIRECTORY)/include/GL/dmesa.h \
|
||||
$(DIRECTORY)/include/GL/ggimesa.h \
|
||||
$(DIRECTORY)/include/GL/gl.h \
|
||||
$(DIRECTORY)/include/GL/glext.h \
|
||||
$(DIRECTORY)/include/GL/gl_mangle.h \
|
||||
@@ -217,16 +221,10 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/include/GL/mesa_wgl.h \
|
||||
$(DIRECTORY)/include/GL/mglmesa.h \
|
||||
$(DIRECTORY)/include/GL/osmesa.h \
|
||||
$(DIRECTORY)/include/GL/svgamesa.h \
|
||||
$(DIRECTORY)/include/GL/vms_x_fix.h \
|
||||
$(DIRECTORY)/include/GL/wglext.h \
|
||||
$(DIRECTORY)/include/GL/wmesa.h \
|
||||
$(DIRECTORY)/include/VG/*.h \
|
||||
$(DIRECTORY)/include/KHR/*.h \
|
||||
$(DIRECTORY)/src/glsl/Makefile \
|
||||
$(DIRECTORY)/src/glsl/Makefile.template \
|
||||
$(DIRECTORY)/src/glsl/SConscript \
|
||||
$(DIRECTORY)/src/glsl/*/Makefile \
|
||||
$(DIRECTORY)/src/glsl/*/*.[ch] \
|
||||
$(DIRECTORY)/src/Makefile \
|
||||
$(DIRECTORY)/src/mesa/Makefile* \
|
||||
$(DIRECTORY)/src/mesa/sources.mak \
|
||||
@@ -242,9 +240,12 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/src/mesa/shader/*.[chly] \
|
||||
$(DIRECTORY)/src/mesa/shader/Makefile \
|
||||
$(DIRECTORY)/src/mesa/shader/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
|
||||
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
|
||||
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
|
||||
@@ -262,13 +263,25 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
|
||||
$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
|
||||
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/display/*.c \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in \
|
||||
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
|
||||
$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
|
||||
$(DIRECTORY)/src/mesa/drivers/x11/Makefile \
|
||||
@@ -290,28 +303,12 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/progs/util/sampleMakefile \
|
||||
$(DIRECTORY)/windows/VC8/
|
||||
|
||||
ES_FILES = \
|
||||
$(DIRECTORY)/include/GLES/*.h \
|
||||
$(DIRECTORY)/include/GLES2/*.h \
|
||||
$(DIRECTORY)/src/mesa/glapi/gen/*.xml \
|
||||
$(DIRECTORY)/src/mesa/glapi/gen/*.py \
|
||||
$(DIRECTORY)/src/mesa/glapi/gen/*.dtd \
|
||||
$(DIRECTORY)/src/mesa/es/glapi/Makefile \
|
||||
$(DIRECTORY)/src/mesa/es/glapi/*.xml \
|
||||
$(DIRECTORY)/src/mesa/es/glapi/*.py \
|
||||
$(DIRECTORY)/src/mesa/es/state_tracker/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/es/main/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/es/main/*.xml \
|
||||
$(DIRECTORY)/src/mesa/es/main/*.py \
|
||||
$(DIRECTORY)/src/mesa/es/main/*.dtd \
|
||||
$(DIRECTORY)/src/mesa/es/Makefile \
|
||||
$(DIRECTORY)/src/mesa/es/sources.mak \
|
||||
|
||||
EGL_FILES = \
|
||||
$(DIRECTORY)/include/EGL/*.h \
|
||||
$(DIRECTORY)/include/GLES/*.h \
|
||||
$(DIRECTORY)/include/GLES2/*.h \
|
||||
$(DIRECTORY)/src/egl/Makefile \
|
||||
$(DIRECTORY)/src/egl/*/Makefile \
|
||||
$(DIRECTORY)/src/egl/*/Makefile.template \
|
||||
$(DIRECTORY)/src/egl/*/*.[ch] \
|
||||
$(DIRECTORY)/src/egl/*/*/Makefile \
|
||||
$(DIRECTORY)/src/egl/*/*/*.[ch] \
|
||||
@@ -324,7 +321,6 @@ GALLIUM_FILES = \
|
||||
$(DIRECTORY)/src/gallium/*/Makefile \
|
||||
$(DIRECTORY)/src/gallium/*/SConscript \
|
||||
$(DIRECTORY)/src/gallium/*/*/Makefile \
|
||||
$(DIRECTORY)/src/gallium/*/*/Makefile.egl \
|
||||
$(DIRECTORY)/src/gallium/*/*/Makefile.template \
|
||||
$(DIRECTORY)/src/gallium/*/*/SConscript \
|
||||
$(DIRECTORY)/src/gallium/*/*/*.[ch] \
|
||||
@@ -343,8 +339,8 @@ DRI_FILES = \
|
||||
$(DIRECTORY)/include/GL/internal/glcore.h \
|
||||
$(DIRECTORY)/include/GL/internal/sarea.h \
|
||||
$(DIRECTORY)/src/glx/Makefile \
|
||||
$(DIRECTORY)/src/glx/Makefile \
|
||||
$(DIRECTORY)/src/glx/*.[ch] \
|
||||
$(DIRECTORY)/src/glx/x11/Makefile \
|
||||
$(DIRECTORY)/src/glx/x11/*.[ch] \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
|
||||
$(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in \
|
||||
@@ -380,6 +376,15 @@ SGI_GLU_FILES = \
|
||||
$(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \
|
||||
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
|
||||
|
||||
MESA_GLU_FILES = \
|
||||
$(DIRECTORY)/src/glu/mesa/README[12] \
|
||||
$(DIRECTORY)/src/glu/mesa/Makefile* \
|
||||
$(DIRECTORY)/src/glu/mesa/descrip.mms \
|
||||
$(DIRECTORY)/src/glu/mesa/mms_depend \
|
||||
$(DIRECTORY)/src/glu/mesa/*.def \
|
||||
$(DIRECTORY)/src/glu/mesa/depend \
|
||||
$(DIRECTORY)/src/glu/mesa/*.[ch]
|
||||
|
||||
GLW_FILES = \
|
||||
$(DIRECTORY)/src/glw/*.[ch] \
|
||||
$(DIRECTORY)/src/glw/Makefile* \
|
||||
@@ -408,14 +413,6 @@ DEMO_FILES = \
|
||||
$(DIRECTORY)/progs/demos/*.cxx \
|
||||
$(DIRECTORY)/progs/demos/*.dat \
|
||||
$(DIRECTORY)/progs/demos/README \
|
||||
$(DIRECTORY)/progs/egl/Makefile \
|
||||
$(DIRECTORY)/progs/egl/*.[ch] \
|
||||
$(DIRECTORY)/progs/es1/*/Makefile \
|
||||
$(DIRECTORY)/progs/es1/*/*.[ch] \
|
||||
$(DIRECTORY)/progs/es2/*/Makefile \
|
||||
$(DIRECTORY)/progs/es2/*/*.[ch] \
|
||||
$(DIRECTORY)/progs/openvg/*/Makefile \
|
||||
$(DIRECTORY)/progs/openvg/*/*.[ch] \
|
||||
$(DIRECTORY)/progs/fbdev/Makefile \
|
||||
$(DIRECTORY)/progs/fbdev/glfbdevtest.c \
|
||||
$(DIRECTORY)/progs/objviewer/*.[ch] \
|
||||
@@ -438,7 +435,11 @@ DEMO_FILES = \
|
||||
$(DIRECTORY)/progs/glsl/*.c \
|
||||
$(DIRECTORY)/progs/glsl/*.frag \
|
||||
$(DIRECTORY)/progs/glsl/*.vert \
|
||||
$(DIRECTORY)/progs/glsl/*.shtest
|
||||
$(DIRECTORY)/progs/glsl/*.shtest \
|
||||
$(DIRECTORY)/progs/windml/Makefile.ugl \
|
||||
$(DIRECTORY)/progs/windml/*.c \
|
||||
$(DIRECTORY)/progs/windml/*.bmp \
|
||||
$(DIRECTORY)/progs/ggi/*.c
|
||||
|
||||
GLUT_FILES = \
|
||||
$(DIRECTORY)/include/GL/glut.h \
|
||||
@@ -450,11 +451,22 @@ GLUT_FILES = \
|
||||
$(DIRECTORY)/src/glut/glx/*.[ch] \
|
||||
$(DIRECTORY)/src/glut/beos/*.[ch] \
|
||||
$(DIRECTORY)/src/glut/beos/*.cpp \
|
||||
$(DIRECTORY)/src/glut/beos/Makefile
|
||||
$(DIRECTORY)/src/glut/beos/Makefile \
|
||||
$(DIRECTORY)/src/glut/dos/*.[ch] \
|
||||
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
|
||||
$(DIRECTORY)/src/glut/ggi/*.[ch] \
|
||||
$(DIRECTORY)/src/glut/ggi/Makefile \
|
||||
$(DIRECTORY)/src/glut/fbdev/Makefile \
|
||||
$(DIRECTORY)/src/glut/fbdev/*[ch] \
|
||||
$(DIRECTORY)/src/glut/mini/*[ch] \
|
||||
$(DIRECTORY)/src/glut/mini/glut.pc.in \
|
||||
$(DIRECTORY)/src/glut/directfb/Makefile \
|
||||
$(DIRECTORY)/src/glut/directfb/NOTES \
|
||||
$(DIRECTORY)/src/glut/directfb/*[ch]
|
||||
|
||||
DEPEND_FILES = \
|
||||
$(TOP)/src/mesa/depend \
|
||||
$(TOP)/src/glx/depend \
|
||||
$(TOP)/src/glx/x11/depend \
|
||||
$(TOP)/src/glw/depend \
|
||||
$(TOP)/src/glut/glx/depend \
|
||||
$(TOP)/src/glu/sgi/depend
|
||||
@@ -462,7 +474,6 @@ DEPEND_FILES = \
|
||||
|
||||
LIB_FILES = \
|
||||
$(MAIN_FILES) \
|
||||
$(ES_FILES) \
|
||||
$(EGL_FILES) \
|
||||
$(GALLIUM_FILES) \
|
||||
$(DRI_FILES) \
|
||||
|
||||
101
SConstruct
101
SConstruct
@@ -23,7 +23,6 @@
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
import SCons.Util
|
||||
|
||||
import common
|
||||
|
||||
@@ -33,14 +32,11 @@ import common
|
||||
default_statetrackers = 'mesa'
|
||||
|
||||
if common.default_platform in ('linux', 'freebsd', 'darwin'):
|
||||
default_drivers = 'softpipe,failover,svga,i915,i965,trace,identity,llvmpipe'
|
||||
default_drivers = 'softpipe,failover,svga,i915,trace,identity,llvmpipe'
|
||||
default_winsys = 'xlib'
|
||||
elif common.default_platform in ('winddk',):
|
||||
default_drivers = 'softpipe,svga,i915,i965,trace,identity'
|
||||
default_drivers = 'softpipe,svga,i915,trace,identity'
|
||||
default_winsys = 'all'
|
||||
elif common.default_platform in ('embedded',):
|
||||
default_drivers = 'softpipe,llvmpipe'
|
||||
default_winsys = 'xlib'
|
||||
else:
|
||||
default_drivers = 'all'
|
||||
default_winsys = 'all'
|
||||
@@ -50,9 +46,9 @@ common.AddOptions(opts)
|
||||
opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statetrackers,
|
||||
['mesa', 'python', 'xorg']))
|
||||
opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers,
|
||||
['softpipe', 'failover', 'svga', 'i915', 'i965', 'trace', 'r300', 'identity', 'llvmpipe']))
|
||||
['softpipe', 'failover', 'svga', 'i915', 'cell', 'trace', 'r300', 'identity', 'llvmpipe']))
|
||||
opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys,
|
||||
['xlib', 'vmware', 'intel', 'i965', 'gdi', 'radeon']))
|
||||
['xlib', 'vmware', 'intel', 'gdi', 'radeon']))
|
||||
|
||||
opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
|
||||
|
||||
@@ -63,36 +59,19 @@ env = Environment(
|
||||
ENV = os.environ,
|
||||
)
|
||||
|
||||
if os.environ.has_key('CC'):
|
||||
env['CC'] = os.environ['CC']
|
||||
if os.environ.has_key('CFLAGS'):
|
||||
env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
|
||||
if os.environ.has_key('CXX'):
|
||||
env['CXX'] = os.environ['CXX']
|
||||
if os.environ.has_key('CXXFLAGS'):
|
||||
env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS'])
|
||||
if os.environ.has_key('LDFLAGS'):
|
||||
env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
|
||||
|
||||
Help(opts.GenerateHelpText(env))
|
||||
|
||||
# replicate options values in local variables
|
||||
debug = env['debug']
|
||||
dri = env['dri']
|
||||
llvm = env['llvm']
|
||||
machine = env['machine']
|
||||
platform = env['platform']
|
||||
drawllvm = 'llvmpipe' in env['drivers']
|
||||
|
||||
# LLVM support in the Draw module
|
||||
if drawllvm:
|
||||
env.Tool('llvm')
|
||||
if not env.has_key('LLVM_VERSION'):
|
||||
drawllvm = False
|
||||
|
||||
# derived options
|
||||
x86 = machine == 'x86'
|
||||
ppc = machine == 'ppc'
|
||||
gcc = platform in ('linux', 'freebsd', 'darwin', 'embedded')
|
||||
gcc = platform in ('linux', 'freebsd', 'darwin')
|
||||
msvc = platform in ('windows', 'winddk')
|
||||
|
||||
Export([
|
||||
@@ -100,7 +79,7 @@ Export([
|
||||
'x86',
|
||||
'ppc',
|
||||
'dri',
|
||||
'drawllvm',
|
||||
'llvm',
|
||||
'platform',
|
||||
'gcc',
|
||||
'msvc',
|
||||
@@ -110,10 +89,6 @@ Export([
|
||||
#######################################################################
|
||||
# Environment setup
|
||||
|
||||
# Always build trace driver
|
||||
if 'trace' not in env['drivers']:
|
||||
env['drivers'].append('trace')
|
||||
|
||||
# Includes
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
@@ -122,25 +97,6 @@ env.Append(CPPPATH = [
|
||||
'#/src/gallium/drivers',
|
||||
])
|
||||
|
||||
if env['msvc']:
|
||||
env.Append(CPPPATH = ['#include/c99'])
|
||||
|
||||
# Embedded
|
||||
if platform == 'embedded':
|
||||
env.Append(CPPDEFINES = [
|
||||
'_POSIX_SOURCE',
|
||||
('_POSIX_C_SOURCE', '199309L'),
|
||||
'_SVID_SOURCE',
|
||||
'_BSD_SOURCE',
|
||||
'_GNU_SOURCE',
|
||||
|
||||
'PTHREADS',
|
||||
])
|
||||
env.Append(LIBS = [
|
||||
'm',
|
||||
'pthread',
|
||||
'dl',
|
||||
])
|
||||
|
||||
# Posix
|
||||
if platform in ('posix', 'linux', 'freebsd', 'darwin'):
|
||||
@@ -154,8 +110,6 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin'):
|
||||
'PTHREADS',
|
||||
'HAVE_POSIX_MEMALIGN',
|
||||
])
|
||||
if platform == 'darwin':
|
||||
env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE'])
|
||||
env.Append(CPPPATH = ['/usr/X11R6/include'])
|
||||
env.Append(LIBPATH = ['/usr/X11R6/lib'])
|
||||
env.Append(LIBS = [
|
||||
@@ -165,6 +119,7 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin'):
|
||||
'dl',
|
||||
])
|
||||
|
||||
|
||||
# DRI
|
||||
if dri:
|
||||
env.ParseConfig('pkg-config --cflags --libs libdrm')
|
||||
@@ -175,9 +130,13 @@ if dri:
|
||||
'GLX_INDIRECT_RENDERING',
|
||||
])
|
||||
|
||||
# LLVM support in the Draw module
|
||||
if drawllvm:
|
||||
env.Append(CPPDEFINES = ['DRAW_LLVM'])
|
||||
# LLVM
|
||||
if llvm:
|
||||
# See also http://www.scons.org/wiki/UsingPkgConfig
|
||||
env.ParseConfig('llvm-config --cflags --ldflags --libs backend bitreader engine instrumentation interpreter ipo')
|
||||
env.Append(CPPDEFINES = ['MESA_LLVM'])
|
||||
# Force C++ linkage
|
||||
env['LINK'] = env['CXX']
|
||||
|
||||
# libGL
|
||||
if platform in ('linux', 'freebsd', 'darwin'):
|
||||
@@ -201,38 +160,8 @@ Export('env')
|
||||
# TODO: Build several variants at the same time?
|
||||
# http://www.scons.org/wiki/SimultaneousVariantBuilds
|
||||
|
||||
if env['platform'] != common.default_platform:
|
||||
# GLSL code has to be built twice -- one for the host OS, another for the target OS...
|
||||
|
||||
host_env = Environment(
|
||||
# options are ignored
|
||||
# default tool is used
|
||||
tools = ['default', 'custom'],
|
||||
toolpath = ['#scons'],
|
||||
ENV = os.environ,
|
||||
)
|
||||
|
||||
host_env['platform'] = common.default_platform
|
||||
host_env['machine'] = common.default_machine
|
||||
host_env['debug'] = env['debug']
|
||||
|
||||
SConscript(
|
||||
'src/glsl/SConscript',
|
||||
variant_dir = os.path.join(env['build'], 'host'),
|
||||
duplicate = 0, # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
|
||||
exports={'env':host_env},
|
||||
)
|
||||
|
||||
SConscript(
|
||||
'src/SConscript',
|
||||
variant_dir = env['build'],
|
||||
duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
|
||||
)
|
||||
|
||||
env.Default('src')
|
||||
|
||||
SConscript(
|
||||
'progs/SConscript',
|
||||
variant_dir = os.path.join('progs', env['build']),
|
||||
duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
|
||||
)
|
||||
|
||||
278
bin/mklib
278
bin/mklib
@@ -25,109 +25,6 @@
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
# Clear CDPATH as the 'cd' command will echo stuff
|
||||
# to stdout if it is set
|
||||
unset CDPATH
|
||||
|
||||
# Given a list of files, look for .a archives and unpack them.
|
||||
# Return the original list of files minus the .a files plus the unpacked files.
|
||||
# first param: name of a temp directory (to be deleted when finished)
|
||||
# remaining params: list of .o and .a files
|
||||
expand_archives() {
|
||||
DIR=$1
|
||||
shift
|
||||
FILES=$@
|
||||
NEWFILES=""
|
||||
ORIG_DIR=`pwd`
|
||||
mkdir -p "$DIR"
|
||||
cd "$DIR"
|
||||
for FILE in $FILES ; do
|
||||
case $FILE in
|
||||
*.a)
|
||||
# extract the .o files from this .a archive
|
||||
case $FILE in
|
||||
/*) ;;
|
||||
*) FILE="$ORIG_DIR/$FILE" ;;
|
||||
esac
|
||||
MEMBERS=`ar t $FILE`
|
||||
ar x $FILE
|
||||
for MEMBER in $MEMBERS ; do
|
||||
NEWFILES="$NEWFILES $DIR/$MEMBER"
|
||||
done
|
||||
;;
|
||||
*)
|
||||
# other file type, just add to list
|
||||
NEWFILES="$NEWFILES $FILE"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
cd "$ORIG_DIR"
|
||||
echo $NEWFILES
|
||||
}
|
||||
|
||||
|
||||
# Make static library with 'ar'
|
||||
# params:
|
||||
# options to ar
|
||||
# 1 or 0 to indicate if ranlib should be run
|
||||
# libname to make
|
||||
# list of object files
|
||||
# Return name of library we made
|
||||
# Example: "make_ar_static_lib -ru 1 libfoo.a foo.o bar.o"
|
||||
make_ar_static_lib() {
|
||||
OPTS=$1
|
||||
shift;
|
||||
RANLIB=$1
|
||||
shift;
|
||||
LIBNAME=$1
|
||||
shift;
|
||||
OBJECTS=$@
|
||||
|
||||
# remove existing lib, if present
|
||||
rm -f ${LIBNAME}
|
||||
|
||||
# make static lib
|
||||
ar ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||
|
||||
# run ranlib
|
||||
if [ ${RANLIB} = 1 ] ; then
|
||||
ranlib ${LIBNAME}
|
||||
fi
|
||||
|
||||
echo ${LIBNAME}
|
||||
}
|
||||
|
||||
|
||||
# Print usage info.
|
||||
usage() {
|
||||
echo 'Usage: mklib [options] objects'
|
||||
echo 'Create a shared library from object files.'
|
||||
echo ' -o LIBRARY specifies the name of the resulting library, without'
|
||||
echo ' the leading "lib" or any suffix.'
|
||||
echo ' (eg: "-o GL" might result in "libGL.so" being made)'
|
||||
echo ' -major N specifies major version number (default is 1)'
|
||||
echo ' -minor N specifies minor version number (default is 0)'
|
||||
echo ' -patch N specifies patch version number (default is 0)'
|
||||
echo ' -lLIBRARY specifies a dependency on LIBRARY'
|
||||
echo ' -LDIR search in DIR for library dependencies at build time'
|
||||
echo ' -RDIR search in DIR for library dependencies at run time'
|
||||
echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)'
|
||||
echo ' Not observed on all systems at this time.'
|
||||
echo ' -ldflags OPT specify any additional linker flags in OPT'
|
||||
echo ' -cplusplus link with C++ runtime'
|
||||
echo ' -static make a static library (default is dynamic/shared)'
|
||||
echo ' -dlopen make a shared library suitable for dynamic loading'
|
||||
echo ' -install DIR put resulting library file(s) in DIR'
|
||||
echo ' -arch ARCH override using `uname` to determine host system'
|
||||
echo ' -archopt OPT specify an extra achitecture-specific option OPT'
|
||||
echo ' -altopts OPTS alternate options to override all others'
|
||||
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
|
||||
echo ' -exports FILE only export the symbols listed in FILE'
|
||||
echo ' -id NAME Sets the id of the dylib (Darwin)'
|
||||
echo ' -h, --help display this information and exit'
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Option defaults
|
||||
#
|
||||
@@ -155,7 +52,31 @@ while true
|
||||
do
|
||||
case $1 in
|
||||
'-h' | '--help')
|
||||
usage
|
||||
echo 'Usage: mklib [options] objects'
|
||||
echo 'Create a shared library from object files.'
|
||||
echo ' -o LIBRARY specifies the name of the resulting library, without'
|
||||
echo ' the leading "lib" or any suffix.'
|
||||
echo ' (eg: "-o GL" might result in "libGL.so" being made)'
|
||||
echo ' -major N specifies major version number (default is 1)'
|
||||
echo ' -minor N specifies minor version number (default is 0)'
|
||||
echo ' -patch N specifies patch version number (default is 0)'
|
||||
echo ' -lLIBRARY specifies a dependency on LIBRARY'
|
||||
echo ' -LDIR search in DIR for library dependencies at build time'
|
||||
echo ' -RDIR search in DIR for library dependencies at run time'
|
||||
echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)'
|
||||
echo ' Not observed on all systems at this time.'
|
||||
echo ' -ldflags OPT specify any additional linker flags in OPT'
|
||||
echo ' -cplusplus link with C++ runtime'
|
||||
echo ' -static make a static library (default is dynamic/shared)'
|
||||
echo ' -dlopen make a shared library suitable for dynamic loading'
|
||||
echo ' -install DIR put resulting library file(s) in DIR'
|
||||
echo ' -arch ARCH override using `uname` to determine host system'
|
||||
echo ' -archopt OPT specify an extra achitecture-specific option OPT'
|
||||
echo ' -altopts OPTS alternate options to override all others'
|
||||
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
|
||||
echo ' -exports FILE only export the symbols listed in FILE'
|
||||
echo ' -id NAME Sets the id of the dylib (Darwin)'
|
||||
echo ' -h, --help display this information and exit'
|
||||
exit 1
|
||||
;;
|
||||
'-o')
|
||||
@@ -276,11 +197,11 @@ fi
|
||||
# Error checking
|
||||
#
|
||||
if [ "x${LIBNAME}" = "x" ] ; then
|
||||
echo "mklib: Error: no library name specified (-h for help)"
|
||||
echo "mklib: Error: no library name specified"
|
||||
exit 1
|
||||
fi
|
||||
if [ "x${OBJECTS}" = "x" ] ; then
|
||||
echo "mklib: Error: no object files specified (-h for help)"
|
||||
echo "mklib: Error: no object files specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -348,24 +269,45 @@ case $ARCH in
|
||||
# finish up
|
||||
FINAL_LIBS="${LIBNAME}"
|
||||
elif [ $STATIC = 1 ] ; then
|
||||
# make a static .a library
|
||||
LIBNAME="lib${LIBNAME}.a" # prefix with "lib", suffix with ".a"
|
||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
||||
LINK="ar"
|
||||
OPTS="-ru"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
rm -f ${LIBNAME}
|
||||
|
||||
# expand .a into .o files
|
||||
NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
|
||||
# expand any .a objects into constituent .o files.
|
||||
NEWOBJECTS=""
|
||||
DELETIA=""
|
||||
for OBJ in $OBJECTS ; do
|
||||
case $OBJ in
|
||||
*.a)
|
||||
# extract the .o files from this .a archive
|
||||
FILES=`ar t $OBJ`
|
||||
ar x $OBJ
|
||||
NEWOBJECTS="$NEWOBJECTS $FILES"
|
||||
# keep track of temporary .o files and delete them below
|
||||
DELETIA="$DELETIA $FILES"
|
||||
;;
|
||||
*)
|
||||
# ordinary .o file
|
||||
NEWOBJECTS="$NEWOBJECTS $OBJ"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# make static lib
|
||||
FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LIBNAME} ${NEWOBJECTS}
|
||||
ranlib ${LIBNAME}
|
||||
|
||||
# remove temporary extracted .o files
|
||||
rm -rf ${LIBNAME}.obj
|
||||
rm -f ${DELETIA}
|
||||
|
||||
# finish up
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
# make dynamic library
|
||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
||||
case $ARCH in 'Linux' | 'GNU' | GNU/*)
|
||||
OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
|
||||
@@ -426,7 +368,9 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making SunOS static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -ruc 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
if [ $NOPREFIX = 0 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.so"
|
||||
@@ -545,19 +489,13 @@ case $ARCH in
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
elif [ $STATIC = 1 ] ; then
|
||||
# make a static .a library
|
||||
STLIB="lib${LIBNAME}.a"
|
||||
echo "mklib: Making FreeBSD static library: " ${STLIB}
|
||||
|
||||
# expand .a into .o files
|
||||
NEW_OBJECTS=`expand_archives ${STLIB}.obj $OBJECTS`
|
||||
|
||||
FINAL_LIBS=`make_ar_static_lib cq 1 ${STLIB} ${NEW_OBJECTS}`
|
||||
|
||||
# remove temporary extracted .o files
|
||||
rm -rf ${STLIB}.obj
|
||||
rm -f ${STLIB}
|
||||
ar cq ${STLIB} ${OBJECTS}
|
||||
ranlib ${STLIB}
|
||||
FINAL_LIBS=${STLIB}
|
||||
else
|
||||
# make dynamic library
|
||||
SHLIB="lib${LIBNAME}.so.${MAJOR}"
|
||||
OPTS="-shared -Wl,-soname,${SHLIB}"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
@@ -575,7 +513,10 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}_pic.a"
|
||||
echo "mklib: Making NetBSD PIC static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib cq 1 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar cq ${LIBNAME} ${OBJECTS}
|
||||
ranlib ${LIBNAME}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
|
||||
echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME}
|
||||
@@ -588,7 +529,9 @@ case $ARCH in
|
||||
'IRIX' | 'IRIX64')
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
FINAL_LIBS=`make_ar_static_lib rc 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar rc ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||
|
||||
@@ -639,7 +582,9 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making HP-UX static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
# HP uses a .2 for their current GL/GLU libraries
|
||||
if [ ${LIBNAME} = "GL" -o ${LIBNAME} = "GLU" ] ; then
|
||||
@@ -669,7 +614,8 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making AIX static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}`
|
||||
ar -ruv ${X64} ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
EXPFILE="lib${LIBNAME}.exp"
|
||||
LIBNAME="lib${LIBNAME}.a" # shared objects are still stored in the .a libraries
|
||||
@@ -720,7 +666,9 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making OSF/1 static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
VERSION="${MAJOR}.${MINOR}"
|
||||
LIBNAME="lib${LIBNAME}.so"
|
||||
@@ -743,20 +691,12 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making Darwin static library: " ${LIBNAME}
|
||||
LINK="ar"
|
||||
OPTS="-ruvs"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
# expand .a into .o files
|
||||
NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
|
||||
|
||||
# make static lib
|
||||
FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
|
||||
|
||||
# remove temporary extracted .o files
|
||||
rm -rf ${LIBNAME}.obj
|
||||
|
||||
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
# On Darwin a .bundle is used for a library that you want to dlopen
|
||||
@@ -784,10 +724,22 @@ case $ARCH in
|
||||
|
||||
# examine first object to determine ABI
|
||||
set ${OBJECTS}
|
||||
ABIS=`lipo -info $1 | sed s/.*://`
|
||||
for ABI in $ABIS; do
|
||||
OPTS="${OPTS} -arch ${ABI}"
|
||||
done
|
||||
ABI_PPC=`file $1 | grep ' ppc'`
|
||||
ABI_I386=`file $1 | grep ' i386'`
|
||||
ABI_PPC64=`file $1 | grep ' ppc64'`
|
||||
ABI_X86_64=`file $1 | grep ' x86_64'`
|
||||
if [ "${ABI_PPC}" ] ; then
|
||||
OPTS="${OPTS} -arch ppc"
|
||||
fi
|
||||
if [ "${ABI_I386}" ] ; then
|
||||
OPTS="${OPTS} -arch i386"
|
||||
fi
|
||||
if [ "${ABI_PPC64}" ] ; then
|
||||
OPTS="${OPTS} -arch ppc64"
|
||||
fi
|
||||
if [ "${ABI_X86_64}" ] ; then
|
||||
OPTS="${OPTS} -arch x86_64"
|
||||
fi
|
||||
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
@@ -815,14 +767,16 @@ case $ARCH in
|
||||
'LynxOS')
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making LynxOS static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -ru 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar ru ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
;;
|
||||
|
||||
'BeOS')
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making BeOS static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib -cru 0 ${LIBNAME} ${OBJECTS}`
|
||||
ar -cru "${LIBNAME}" ${OBJECTS}
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so"
|
||||
echo "mklib: Making BeOS shared library: " ${LIBNAME}
|
||||
@@ -901,7 +855,9 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making AIX GCC static library: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib ru 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar ru ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||
echo "mklib: Making AIX GCC shared library: " ${LIBNAME}
|
||||
@@ -922,7 +878,9 @@ case $ARCH in
|
||||
fi
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making static library for Ultrix: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib ru 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar ru ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS="${LIBNAME}"
|
||||
;;
|
||||
|
||||
CYGWIN*)
|
||||
@@ -942,20 +900,17 @@ case $ARCH in
|
||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
||||
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME=${LIBNAME}.a
|
||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
||||
LINK="ar"
|
||||
OPTS="-ru"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
# expand .a into .o files
|
||||
NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
|
||||
|
||||
FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
|
||||
|
||||
# remove temporary extracted .o files
|
||||
rm -rf ${LIBNAME}.obj
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
||||
ranlib ${LIBNAME}.a
|
||||
# finish up
|
||||
FINAL_LIBS=${LIBNAME}.a
|
||||
else
|
||||
OPTS="-shared -Wl,--enable-auto-image-base -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
@@ -977,11 +932,6 @@ case $ARCH in
|
||||
|
||||
# make lib
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
||||
# make build fail if link failed
|
||||
es=$?
|
||||
if [ "$es" -ne "0" ]; then
|
||||
exit $es
|
||||
fi
|
||||
# make usual symlinks
|
||||
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
|
||||
# finish up
|
||||
@@ -998,7 +948,9 @@ case $ARCH in
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making static library for example arch: " ${LIBNAME}
|
||||
FINAL_LIBS=`make_ar_static_lib rv 0 ${LIBNAME} ${OBJECTS}`
|
||||
rm -f ${LIBNAME}
|
||||
ar rv ${LIBNAME} ${OBJECTS}
|
||||
FINAL_LIBS="${LIBNAME}"
|
||||
else
|
||||
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||
echo "mklib: Making shared library for example arch: " ${LIBNAME}
|
||||
|
||||
366
bin/raw2png.py
Executable file
366
bin/raw2png.py
Executable file
@@ -0,0 +1,366 @@
|
||||
#!/usr/bin/env python
|
||||
##########################################################################
|
||||
#
|
||||
# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
# 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, sub license, 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 (including the
|
||||
# next paragraph) 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 NON-INFRINGEMENT.
|
||||
# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
|
||||
import os.path
|
||||
import sys
|
||||
import struct
|
||||
import Image # http://www.pythonware.com/products/pil/
|
||||
|
||||
PIPE_FORMAT_LAYOUT_RGBAZS = 0
|
||||
PIPE_FORMAT_LAYOUT_YCBCR = 1
|
||||
PIPE_FORMAT_LAYOUT_DXT = 2
|
||||
PIPE_FORMAT_LAYOUT_MIXED = 3
|
||||
|
||||
PIPE_FORMAT_COMP_R = 0
|
||||
PIPE_FORMAT_COMP_G = 1
|
||||
PIPE_FORMAT_COMP_B = 2
|
||||
PIPE_FORMAT_COMP_A = 3
|
||||
PIPE_FORMAT_COMP_0 = 4
|
||||
PIPE_FORMAT_COMP_1 = 5
|
||||
PIPE_FORMAT_COMP_Z = 6
|
||||
PIPE_FORMAT_COMP_S = 7
|
||||
|
||||
PIPE_FORMAT_TYPE_UNKNOWN = 0
|
||||
PIPE_FORMAT_TYPE_FLOAT = 1
|
||||
PIPE_FORMAT_TYPE_UNORM = 2
|
||||
PIPE_FORMAT_TYPE_SNORM = 3
|
||||
PIPE_FORMAT_TYPE_USCALED = 4
|
||||
PIPE_FORMAT_TYPE_SSCALED = 5
|
||||
PIPE_FORMAT_TYPE_SRGB = 6
|
||||
PIPE_FORMAT_TYPE_FIXED = 7
|
||||
|
||||
def _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, EXP2, TYPE ):
|
||||
return ((PIPE_FORMAT_LAYOUT_RGBAZS << 0) |\
|
||||
((SWZ) << 2) |\
|
||||
((SIZEX) << 14) |\
|
||||
((SIZEY) << 17) |\
|
||||
((SIZEZ) << 20) |\
|
||||
((SIZEW) << 23) |\
|
||||
((EXP2) << 26) |\
|
||||
((TYPE) << 29) )
|
||||
|
||||
def _PIPE_FORMAT_SWZ( SWZX, SWZY, SWZZ, SWZW ):
|
||||
return (((SWZX) << 0) | ((SWZY) << 3) | ((SWZZ) << 6) | ((SWZW) << 9))
|
||||
|
||||
def _PIPE_FORMAT_RGBAZS_1( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
|
||||
return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 0, TYPE )
|
||||
|
||||
def _PIPE_FORMAT_RGBAZS_2( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
|
||||
_PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 1, TYPE )
|
||||
|
||||
def _PIPE_FORMAT_RGBAZS_8( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
|
||||
return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 3, TYPE )
|
||||
|
||||
def _PIPE_FORMAT_RGBAZS_64( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
|
||||
return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 6, TYPE )
|
||||
|
||||
def _PIPE_FORMAT_MIXED( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, SIGNX, SIGNY, SIGNZ, SIGNW, NORMALIZED, SCALE8 ):
|
||||
return ((PIPE_FORMAT_LAYOUT_MIXED << 0) |\
|
||||
((SWZ) << 2) |\
|
||||
((SIZEX) << 14) |\
|
||||
((SIZEY) << 17) |\
|
||||
((SIZEZ) << 20) |\
|
||||
((SIZEW) << 23) |\
|
||||
((SIGNX) << 26) |\
|
||||
((SIGNY) << 27) |\
|
||||
((SIGNZ) << 28) |\
|
||||
((SIGNW) << 29) |\
|
||||
((NORMALIZED) << 30) |\
|
||||
((SCALE8) << 31) )
|
||||
|
||||
|
||||
_PIPE_FORMAT_R001 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 )
|
||||
_PIPE_FORMAT_RG01 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 )
|
||||
_PIPE_FORMAT_RGB1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_1 )
|
||||
_PIPE_FORMAT_RGBA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_A )
|
||||
_PIPE_FORMAT_ARGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B )
|
||||
_PIPE_FORMAT_ABGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R )
|
||||
_PIPE_FORMAT_BGRA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_A )
|
||||
_PIPE_FORMAT_1RGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B )
|
||||
_PIPE_FORMAT_1BGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R )
|
||||
_PIPE_FORMAT_BGR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 )
|
||||
_PIPE_FORMAT_0000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
|
||||
_PIPE_FORMAT_000R = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_R )
|
||||
_PIPE_FORMAT_RRR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 )
|
||||
_PIPE_FORMAT_RRRR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R )
|
||||
_PIPE_FORMAT_RRRG = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G )
|
||||
_PIPE_FORMAT_Z000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
|
||||
_PIPE_FORMAT_0Z00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
|
||||
_PIPE_FORMAT_SZ00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
|
||||
_PIPE_FORMAT_ZS00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
|
||||
_PIPE_FORMAT_S000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
|
||||
|
||||
def _PIPE_FORMAT_YCBCR( REV ):
|
||||
return ((PIPE_FORMAT_LAYOUT_YCBCR << 0) |\
|
||||
((REV) << 2) )
|
||||
|
||||
def _PIPE_FORMAT_DXT( LEVEL, RSIZE, GSIZE, BSIZE, ASIZE ):
|
||||
return ((PIPE_FORMAT_LAYOUT_DXT << 0) | \
|
||||
((LEVEL) << 2) | \
|
||||
((RSIZE) << 5) | \
|
||||
((GSIZE) << 8) | \
|
||||
((BSIZE) << 11) | \
|
||||
((ASIZE) << 14) )
|
||||
|
||||
PIPE_FORMAT_NONE = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_0000, 0, 0, 0, 0, PIPE_FORMAT_TYPE_UNKNOWN )
|
||||
PIPE_FORMAT_A8R8G8B8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ARGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_X8R8G8B8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_1RGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_B8G8R8A8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_B8G8R8X8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGR1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_A1R5G5B5_UNORM = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_A4R4G4B4_UNORM = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R5G6B5_UNORM = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_RGB1, 5, 6, 5, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_A2B10G10R10_UNORM = _PIPE_FORMAT_RGBAZS_2 ( _PIPE_FORMAT_ABGR, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_L8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_A8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_000R, 0, 0, 0, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_I8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRR, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_A8L8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_L16_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_YCBCR = _PIPE_FORMAT_YCBCR( 0 )
|
||||
PIPE_FORMAT_YCBCR_REV = _PIPE_FORMAT_YCBCR( 1 )
|
||||
PIPE_FORMAT_Z16_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_Z32_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_Z32_FLOAT = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_S8Z24_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_SZ00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_Z24S8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ZS00, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_X8Z24_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_0Z00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_Z24X8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_S8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_S000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R64_FLOAT = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R64G64_FLOAT = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R64G64B64_FLOAT = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R64G64B64A64_FLOAT = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R32_FLOAT = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R32G32_FLOAT = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R32G32B32_FLOAT = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R32G32B32A32_FLOAT = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FLOAT )
|
||||
PIPE_FORMAT_R32_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R32G32_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R32G32B32_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R32G32B32A32_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R32_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R32G32_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R32G32B32_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R32G32B32A32_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R32_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R32G32_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R32G32B32_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R32G32B32A32_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R32_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R32G32_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R32G32B32_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R32G32B32A32_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R16_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R16G16_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R16G16B16_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R16G16B16A16_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R16_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R16G16_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R16G16B16_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R16G16B16A16_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R16_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R16G16_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R16G16B16_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R16G16B16A16_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R16_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R16G16_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R16G16B16_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R16G16B16A16_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R8G8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R8G8B8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R8G8B8A8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R8G8B8X8_UNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
|
||||
PIPE_FORMAT_R8_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R8G8_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R8G8B8_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R8G8B8A8_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R8G8B8X8_USCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED )
|
||||
PIPE_FORMAT_R8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R8G8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R8G8B8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R8G8B8A8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R8G8B8X8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_B6G5R5_SNORM = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_A8B8G8R8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_X8B8G8R8_SNORM = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
|
||||
PIPE_FORMAT_R8_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R8G8_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R8G8B8_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R8G8B8A8_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R8G8B8X8_SSCALED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED )
|
||||
PIPE_FORMAT_R32_FIXED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FIXED )
|
||||
PIPE_FORMAT_R32G32_FIXED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FIXED )
|
||||
PIPE_FORMAT_R32G32B32_FIXED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FIXED )
|
||||
PIPE_FORMAT_R32G32B32A32_FIXED = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FIXED )
|
||||
PIPE_FORMAT_L8_SRGB = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB )
|
||||
PIPE_FORMAT_A8_L8_SRGB = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB )
|
||||
PIPE_FORMAT_R8G8B8_SRGB = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB )
|
||||
PIPE_FORMAT_R8G8B8A8_SRGB = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB )
|
||||
PIPE_FORMAT_R8G8B8X8_SRGB = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB )
|
||||
PIPE_FORMAT_X8UB8UG8SR8S_NORM = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_1BGR, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 )
|
||||
PIPE_FORMAT_B6UG5SR5S_NORM = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, 0, 1, 1, 0, 1, 0 )
|
||||
PIPE_FORMAT_DXT1_RGB = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 0 )
|
||||
PIPE_FORMAT_DXT1_RGBA = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 8 )
|
||||
PIPE_FORMAT_DXT3_RGBA = _PIPE_FORMAT_DXT( 3, 8, 8, 8, 8 )
|
||||
PIPE_FORMAT_DXT5_RGBA = _PIPE_FORMAT_DXT( 5, 8, 8, 8, 8 )
|
||||
|
||||
|
||||
formats = {}
|
||||
for name, value in globals().items():
|
||||
if name.startswith("PIPE_FORMAT_") and isinstance(value, int):
|
||||
formats[value] = name
|
||||
|
||||
|
||||
def clip(g):
|
||||
return min(max(g, 0), 255)
|
||||
|
||||
|
||||
def yuv2rgb(y, u, v):
|
||||
C = y - 16
|
||||
D = u - 128
|
||||
E = v - 128
|
||||
|
||||
r = clip(( 298 * C + 409 * E + 128) >> 8)
|
||||
g = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8)
|
||||
b = clip(( 298 * C + 516 * D + 128) >> 8)
|
||||
|
||||
return r, g, b
|
||||
|
||||
|
||||
def translate_r5g6b5(data):
|
||||
value, = struct.unpack_from("H", data)
|
||||
r = ((value >> 11) & 0x1f)*0xff/0x1f
|
||||
g = ((value >> 5) & 0x3f)*0xff/0x3f
|
||||
b = ((value >> 0) & 0x1f)*0xff/0x1f
|
||||
a = 255
|
||||
return [[(r, g, b, a)]]
|
||||
|
||||
def translate_a8r8g8b8(data):
|
||||
b, g, r, a = struct.unpack_from("BBBB", data)
|
||||
return [[(r, g, b, a)]]
|
||||
|
||||
|
||||
def translate_x8r8g8b8(data):
|
||||
b, g, r, x = struct.unpack_from("BBBB", data)
|
||||
a = 255
|
||||
return [[(r, g, b, a)]]
|
||||
|
||||
def translate_r8g8b8a8(data):
|
||||
r, g, b, a = struct.unpack_from("BBBB", data)
|
||||
return [[(r, g, b, a)]]
|
||||
|
||||
def translate_ycbcr(data):
|
||||
y1, u, y2, v = struct.unpack_from("BBBB", data)
|
||||
r1, g1, b1 = yuv2rgb(y1, u, v)
|
||||
r2, g2, b2 = yuv2rgb(y1, u, v)
|
||||
return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]]
|
||||
|
||||
def translate_ycbcr_rev(data):
|
||||
v, y2, u, y1 = struct.unpack_from("BBBB", data)
|
||||
r1, g1, b1 = yuv2rgb(y1, u, v)
|
||||
r2, g2, b2 = yuv2rgb(y1, u, v)
|
||||
return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]]
|
||||
|
||||
def translate_x8z24(data):
|
||||
value, = struct.unpack_from("I", data)
|
||||
r = g = b = (value & 0xffffff)*0xff/0xffffff
|
||||
a = 255
|
||||
return [[(r, g, b, a)]]
|
||||
|
||||
def translate_s8z24(data):
|
||||
value, = struct.unpack_from("I", data)
|
||||
r = (value & 0xffffff)*0xff/0xffffff
|
||||
g = value >> 24
|
||||
b = 0
|
||||
a = 255
|
||||
return [[(r, g, b, a)]]
|
||||
|
||||
|
||||
translate = {
|
||||
PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_a8r8g8b8),
|
||||
PIPE_FORMAT_X8R8G8B8_UNORM: (4, 1, 1, translate_x8r8g8b8),
|
||||
PIPE_FORMAT_B8G8R8A8_UNORM: (4, 1, 1, translate_r8g8b8a8),
|
||||
PIPE_FORMAT_B8G8R8X8_UNORM: (4, 1, 1, translate_r8g8b8a8),
|
||||
PIPE_FORMAT_A8B8G8R8_SNORM: (4, 1, 1, translate_r8g8b8a8),
|
||||
PIPE_FORMAT_R5G6B5_UNORM: (2, 1, 1, translate_r5g6b5),
|
||||
PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr),
|
||||
PIPE_FORMAT_YCBCR_REV: (4, 2, 1, translate_ycbcr_rev),
|
||||
PIPE_FORMAT_S8Z24_UNORM: (4, 1, 1, translate_s8z24),
|
||||
PIPE_FORMAT_X8Z24_UNORM: (4, 1, 1, translate_x8z24),
|
||||
}
|
||||
|
||||
def read_header(infile):
|
||||
header_fmt = "IIII"
|
||||
header = infile.read(struct.calcsize(header_fmt))
|
||||
return struct.unpack_from(header_fmt, header)
|
||||
|
||||
def process(infilename, outfilename):
|
||||
sys.stderr.write("%s -> %s\n" % (infilename, outfilename))
|
||||
infile = open(infilename, "rb")
|
||||
format, cpp, width, height = read_header(infile)
|
||||
sys.stderr.write(" %ux%ux%ubpp %s\n" % (width, height, cpp*8, formats[format]))
|
||||
outimage = Image.new(
|
||||
mode='RGB',
|
||||
size=(width, height),
|
||||
color=(0,0,0))
|
||||
outpixels = outimage.load()
|
||||
try:
|
||||
bsize, bwidth, bheight, translate_func = translate[format]
|
||||
except KeyError:
|
||||
sys.stderr.write('error: unsupported format %s\n' % formats[format])
|
||||
return
|
||||
for y in range(0, height, bheight):
|
||||
for x in range(0, width, bwidth):
|
||||
indata = infile.read(bsize)
|
||||
outdata = translate_func(indata)
|
||||
for j in range(bheight):
|
||||
for i in range(bwidth):
|
||||
r, g, b, a = outdata[j][i]
|
||||
outpixels[x+i, y+j] = r, g, b
|
||||
outimage.save(outfilename, "PNG")
|
||||
|
||||
|
||||
def main():
|
||||
if sys.platform == 'win32':
|
||||
# wildcard expansion
|
||||
from glob import glob
|
||||
args = []
|
||||
for arg in sys.argv[1:]:
|
||||
args.extend(glob(arg))
|
||||
else:
|
||||
args = sys.argv[1:]
|
||||
for infilename in args:
|
||||
root, ext = os.path.splitext(infilename)
|
||||
outfilename = root + ".png"
|
||||
process(infilename, outfilename)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -12,7 +12,7 @@ import platform as _platform
|
||||
|
||||
_platform_map = {
|
||||
'linux2': 'linux',
|
||||
'win32': 'windows',
|
||||
'win32': 'winddk',
|
||||
}
|
||||
|
||||
default_platform = sys.platform
|
||||
@@ -59,8 +59,9 @@ def AddOptions(opts):
|
||||
opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine,
|
||||
allowed_values=('generic', 'ppc', 'x86', 'x86_64')))
|
||||
opts.Add(EnumOption('platform', 'target platform', default_platform,
|
||||
allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded')))
|
||||
allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin')))
|
||||
opts.Add(EnumOption('toolchain', 'compiler toolchain', 'default',
|
||||
allowed_values=('default', 'crossmingw', 'winsdk', 'winddk')))
|
||||
opts.Add(BoolOption('llvm', 'use LLVM', 'no'))
|
||||
opts.Add(BoolOption('dri', 'build DRI drivers', default_dri))
|
||||
|
||||
|
||||
@@ -22,8 +22,6 @@ LDFLAGS = @LDFLAGS@
|
||||
EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
|
||||
RADEON_CFLAGS = @RADEON_CFLAGS@
|
||||
RADEON_LDFLAGS = @RADEON_LDFLAGS@
|
||||
INTEL_LIBS = @INTEL_LIBS@
|
||||
INTEL_CFLAGS = @INTEL_CFLAGS@
|
||||
|
||||
# Assembler
|
||||
MESA_ASM_SOURCES = @MESA_ASM_SOURCES@
|
||||
@@ -54,7 +52,6 @@ GLU_LIB_NAME = @GLU_LIB_NAME@
|
||||
GLUT_LIB_NAME = @GLUT_LIB_NAME@
|
||||
GLW_LIB_NAME = @GLW_LIB_NAME@
|
||||
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
|
||||
EGL_LIB_NAME = @EGL_LIB_NAME@
|
||||
|
||||
# Globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = @GL_LIB_GLOB@
|
||||
@@ -62,20 +59,19 @@ GLU_LIB_GLOB = @GLU_LIB_GLOB@
|
||||
GLUT_LIB_GLOB = @GLUT_LIB_GLOB@
|
||||
GLW_LIB_GLOB = @GLW_LIB_GLOB@
|
||||
OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@
|
||||
EGL_LIB_GLOB = @EGL_LIB_GLOB@
|
||||
|
||||
# Directories to build
|
||||
LIB_DIR = @LIB_DIR@
|
||||
SRC_DIRS = @SRC_DIRS@
|
||||
GLU_DIRS = @GLU_DIRS@
|
||||
DRIVER_DIRS = @DRIVER_DIRS@
|
||||
EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@
|
||||
GALLIUM_DIRS = @GALLIUM_DIRS@
|
||||
GALLIUM_AUXILIARY_DIRS = @GALLIUM_AUXILIARY_DIRS@
|
||||
GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@
|
||||
GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@
|
||||
GALLIUM_WINSYS_DRM_DIRS = @GALLIUM_WINSYS_DRM_DIRS@
|
||||
GALLIUM_STATE_TRACKERS_DIRS = @GALLIUM_STATE_TRACKERS_DIRS@
|
||||
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
|
||||
GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a)
|
||||
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
|
||||
|
||||
# Which subdirs under $(TOP)/progs/ to enter:
|
||||
@@ -84,7 +80,7 @@ PROGRAM_DIRS = @PROGRAM_DIRS@
|
||||
# Driver specific build vars
|
||||
DRI_DIRS = @DRI_DIRS@
|
||||
WINDOW_SYSTEM = @WINDOW_SYSTEM@
|
||||
EGL_DISPLAYS = @EGL_DISPLAYS@
|
||||
USING_EGL = @USING_EGL@
|
||||
|
||||
# Dependencies
|
||||
X11_INCLUDES = @X11_INCLUDES@
|
||||
@@ -130,9 +126,6 @@ DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@
|
||||
# Where libGL will look for DRI hardware drivers
|
||||
DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@
|
||||
|
||||
# EGL driver install directory
|
||||
EGL_DRIVER_INSTALL_DIR = @EGL_DRIVER_INSTALL_DIR@
|
||||
|
||||
# Xorg driver install directory (for xorg state-tracker)
|
||||
XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@
|
||||
|
||||
@@ -153,6 +146,3 @@ GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@
|
||||
GLW_PC_CFLAGS = @GLW_PC_CFLAGS@
|
||||
OSMESA_PC_REQ = @OSMESA_PC_REQ@
|
||||
OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@
|
||||
|
||||
EGL_DRI2_CFLAGS = @EGL_DRI2_CFLAGS@
|
||||
EGL_DRI2_LIBS = @EGL_DRI2_LIBS@
|
||||
|
||||
@@ -12,11 +12,11 @@ X11_DIR = $(INSTALL_DIR)
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
PIC_FLAGS = -fPIC
|
||||
DEFINES = -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE \
|
||||
DEFINES = -D_DARWIN_C_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L \
|
||||
-D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS \
|
||||
-DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING
|
||||
|
||||
# -D_GNU_SOURCE - for src/mesa/main ...
|
||||
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx
|
||||
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx/x11
|
||||
# -DGLX_USE_APPLEGL - supposed to be used with GLX_DIRECT_RENDERING to use AGL rather than DRM, but doesn't compile
|
||||
# -DIN_DRI_DRIVER
|
||||
|
||||
@@ -49,7 +49,7 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
|
||||
|
||||
# omit glw lib for now:
|
||||
SRC_DIRS = glsl glx mesa gallium glu glut/glx glew
|
||||
SRC_DIRS = glx/x11 mesa glu glut/glx glew
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = osmesa
|
||||
#DRIVER_DIRS = dri
|
||||
|
||||
33
configs/darwin-x86ppc
Normal file
33
configs/darwin-x86ppc
Normal file
@@ -0,0 +1,33 @@
|
||||
# Configuration for Darwin / MacOS X, making dynamic libs
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = darwin
|
||||
|
||||
# Compiler and flags
|
||||
CC = cc
|
||||
CXX = cc
|
||||
CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
||||
-I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
||||
-I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||
|
||||
MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.dylib
|
||||
GLU_LIB_NAME = libGLU.dylib
|
||||
GLUT_LIB_NAME = libglut.dylib
|
||||
GLW_LIB_NAME = libGLw.dylib
|
||||
OSMESA_LIB_NAME = libOSMesa.dylib
|
||||
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
|
||||
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
|
||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
|
||||
# omit glw lib for now:
|
||||
SRC_DIRS = gallium mesa glu glut/glx glew
|
||||
|
||||
@@ -9,8 +9,8 @@ CONFIG_NAME = default
|
||||
|
||||
# Version info
|
||||
MESA_MAJOR=7
|
||||
MESA_MINOR=8
|
||||
MESA_TINY=1
|
||||
MESA_MINOR=7
|
||||
MESA_TINY=0
|
||||
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
|
||||
|
||||
# external projects. This should be useless now that we use libdrm.
|
||||
@@ -55,7 +55,6 @@ GLUT_LIB = glut
|
||||
GLEW_LIB = GLEW
|
||||
GLW_LIB = GLw
|
||||
OSMESA_LIB = OSMesa
|
||||
EGL_LIB = EGL
|
||||
|
||||
|
||||
# Library names (actual file names)
|
||||
@@ -65,7 +64,6 @@ GLUT_LIB_NAME = lib$(GLUT_LIB).so
|
||||
GLEW_LIB_NAME = lib$(GLEW_LIB).a
|
||||
GLW_LIB_NAME = lib$(GLW_LIB).so
|
||||
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
|
||||
EGL_LIB_NAME = lib$(EGL_LIB).so
|
||||
|
||||
# globs used to install the lib and all symlinks
|
||||
GL_LIB_GLOB = $(GL_LIB_NAME)*
|
||||
@@ -73,7 +71,6 @@ GLU_LIB_GLOB = $(GLU_LIB_NAME)*
|
||||
GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
|
||||
GLW_LIB_GLOB = $(GLW_LIB_NAME)*
|
||||
OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
|
||||
EGL_LIB_GLOB = $(EGL_LIB_NAME)*
|
||||
|
||||
# Optional assembly language optimization files for libGL
|
||||
MESA_ASM_SOURCES =
|
||||
@@ -86,26 +83,25 @@ MOTIF_CFLAGS = -I/usr/include/Motif1.2
|
||||
|
||||
# Directories to build
|
||||
LIB_DIR = lib
|
||||
SRC_DIRS = glsl mesa gallium egl gallium/winsys glu glut/glx glew glw
|
||||
SRC_DIRS = mesa gallium egl gallium/winsys glu glut/glx glew glw
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = x11 osmesa
|
||||
# Which subdirs under $(TOP)/progs/ to enter:
|
||||
PROGRAM_DIRS = demos redbook samples glsl objviewer xdemos
|
||||
|
||||
# EGL drivers to build
|
||||
EGL_DRIVERS_DIRS = glx
|
||||
# EGL directories
|
||||
EGL_DRIVERS_DIRS = demo
|
||||
|
||||
# Gallium directories and
|
||||
GALLIUM_DIRS = auxiliary drivers state_trackers
|
||||
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
|
||||
GALLIUM_DRIVERS_DIRS = softpipe failover svga i915 i965 r300 trace identity
|
||||
GALLIUM_AUXILIARY_DIRS = rbug draw translate cso_cache pipebuffer tgsi sct rtasm util indices vl
|
||||
GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a)
|
||||
GALLIUM_DRIVERS_DIRS = softpipe failover svga i915 trace identity
|
||||
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
|
||||
GALLIUM_WINSYS_DIRS = drm xlib
|
||||
GALLIUM_WINSYS_DRM_DIRS = swrast
|
||||
GALLIUM_STATE_TRACKERS_DIRS = glx vega
|
||||
GALLIUM_WINSYS_DIRS = xlib egl_xlib
|
||||
GALLIUM_WINSYS_DRM_DIRS =
|
||||
GALLIUM_STATE_TRACKERS_DIRS = glx
|
||||
|
||||
# native displays EGL should support
|
||||
EGL_DISPLAYS = x11
|
||||
|
||||
# Library dependencies
|
||||
#EXTRA_LIB_PATH ?=
|
||||
@@ -130,9 +126,6 @@ DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
|
||||
# Where libGL will look for DRI hardware drivers
|
||||
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
||||
|
||||
# EGL driver install directory
|
||||
EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl
|
||||
|
||||
# Xorg driver install directory (for xorg state-tracker)
|
||||
XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers
|
||||
|
||||
|
||||
@@ -41,13 +41,15 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11
|
||||
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = glx gallium mesa glu glut/glx glew glw
|
||||
SRC_DIRS = glx/x11 gallium mesa glu glut/glx glew glw
|
||||
DRIVER_DIRS = dri
|
||||
PROGRAM_DIRS =
|
||||
WINDOW_SYSTEM=dri
|
||||
|
||||
DRM_SOURCE_PATH=$(TOP)/../drm
|
||||
|
||||
# ffb and gamma are missing because they have not been converted to use the new
|
||||
# interface.
|
||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
|
||||
unichrome savage sis
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# linux-cell (non-debug build)
|
||||
|
||||
include $(TOP)/configs/linux
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = linux-cell
|
||||
|
||||
@@ -25,19 +25,15 @@ OPT_FLAGS = -O3
|
||||
SDK = /opt/cell/sdk/usr
|
||||
|
||||
|
||||
|
||||
COMMON_C_CPP_FLAGS = $(OPT_FLAGS) -Wall -Winline \
|
||||
-fPIC -m32 -mabi=altivec -maltivec \
|
||||
CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \
|
||||
-fPIC -m32 -std=c99 -mabi=altivec -maltivec \
|
||||
-I. -I$(SDK)/include \
|
||||
-DGALLIUM_CELL $(DEFINES)
|
||||
|
||||
CFLAGS = $(COMMON_C_CPP_FLAGS) -Wmissing-prototypes -std=c99
|
||||
|
||||
CXXFLAGS = $(COMMON_C_CPP_FLAGS)
|
||||
-DGALLIUM_CELL -DUSE_XSHM -D_BSD_SOURCE -D_SVID_SOURCE
|
||||
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
|
||||
# Omitting glw here:
|
||||
SRC_DIRS = glsl mesa gallium gallium/winsys glu glut/glx glew
|
||||
SRC_DIRS = gallium mesa gallium/winsys glu glut/glx glew
|
||||
|
||||
# Build no traditional Mesa drivers:
|
||||
DRIVER_DIRS =
|
||||
|
||||
@@ -5,5 +5,5 @@ include $(TOP)/configs/linux
|
||||
CONFIG_NAME = linux-debug
|
||||
|
||||
OPT_FLAGS = -g
|
||||
CFLAGS += -pedantic
|
||||
CFLAGS += -ansi -pedantic
|
||||
DEFINES += -DDEBUG -DDEBUG_MATH
|
||||
|
||||
38
configs/linux-directfb
Normal file
38
configs/linux-directfb
Normal file
@@ -0,0 +1,38 @@
|
||||
# Configuration for DirectFB
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = linux-directfb
|
||||
|
||||
# Compiler and flags
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
|
||||
CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D_SVID_SOURCE \
|
||||
-D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DPTHREADS
|
||||
|
||||
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
|
||||
ifeq ($(HAVE_X86), yes)
|
||||
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
||||
CXXFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
||||
MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
GLAPI_ASM_SOURCES = $(X86_API)
|
||||
endif
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = gallium mesa glu glut/directfb glew
|
||||
GLU_DIRS = sgi
|
||||
DRIVER_DIRS = directfb
|
||||
PROGRAM_DIRS = demos directfb
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS = -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB)
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB) -l$(GLUT_LIB)
|
||||
|
||||
@@ -51,23 +51,17 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
|
||||
|
||||
# Directories
|
||||
SRC_DIRS := glx egl $(SRC_DIRS)
|
||||
SRC_DIRS := glx/x11 egl $(SRC_DIRS)
|
||||
PROGRAM_DIRS := egl $(PROGRAM_DIRS)
|
||||
|
||||
# EGL directories
|
||||
EGL_DRIVERS_DIRS = glx
|
||||
EGL_DRIVERS_DIRS = demo glx
|
||||
|
||||
DRIVER_DIRS = dri
|
||||
WINDOW_SYSTEM = dri
|
||||
GALLIUM_WINSYS_DIRS = drm
|
||||
GALLIUM_WINSYS_DRM_DIRS = vmware intel i965
|
||||
GALLIUM_WINSYS_DRM_DIRS = vmware intel
|
||||
GALLIUM_STATE_TRACKERS_DIRS = egl
|
||||
|
||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon \
|
||||
savage sis tdfx unichrome swrast
|
||||
|
||||
INTEL_LIBS = `pkg-config --libs libdrm_intel`
|
||||
INTEL_CFLAGS = `pkg-config --cflags libdrm_intel`
|
||||
|
||||
RADEON_LIBS = `pkg-config --libs libdrm_radeon`
|
||||
RADEON_CFLAGS = `pkg-config --cflags libdrm_radeon`
|
||||
savage sis tdfx unichrome ffb swrast
|
||||
|
||||
@@ -16,7 +16,7 @@ LIB_DIR = lib64
|
||||
# Library/program dependencies
|
||||
EXTRA_LIB_PATH=-L/usr/X11R6/lib64
|
||||
|
||||
# sis is missing because it has not been converted to use
|
||||
# ffb, gamma, and sis are missing because they have not be converted to use
|
||||
# the new interface. i810 are missing because there is no x86-64
|
||||
# system where they could *ever* be used.
|
||||
#
|
||||
|
||||
@@ -47,11 +47,26 @@ DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
|
||||
$(LIBDRM_LIB) $(shell pkg-config --libs xcb) $(shell pkg-config --libs x11-xcb) $(shell pkg-config --libs xcb-glx)
|
||||
|
||||
SRC_DIRS = glx gallium mesa glu glut/glx glew glw
|
||||
|
||||
# This is now 0 by default since it seems to confuse the hell out of people
|
||||
# and generate a lot of extra noise on bugzilla. If you need to build with
|
||||
# EGL, do 'make linux-dri USING_EGL=1'
|
||||
|
||||
USING_EGL=0
|
||||
|
||||
# Directories
|
||||
ifeq ($(USING_EGL), 1)
|
||||
SRC_DIRS = egl glx/x11 gallium mesa glu glut/glx glew glw
|
||||
PROGRAM_DIRS = egl
|
||||
else
|
||||
SRC_DIRS = glx/x11 gallium mesa glu glut/glx glew glw
|
||||
PROGRAM_DIRS = xdemos
|
||||
endif
|
||||
|
||||
DRIVER_DIRS = dri
|
||||
WINDOW_SYSTEM=dri
|
||||
|
||||
# gamma are missing because they have not been converted to use the new
|
||||
# interface.
|
||||
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon \
|
||||
savage sis tdfx unichrome
|
||||
savage sis tdfx unichrome ffb
|
||||
|
||||
@@ -46,6 +46,12 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
$(LIBDRM_LIB)
|
||||
|
||||
|
||||
# This is now 0 by default since it seems to confuse the hell out of people
|
||||
# and generate a lot of extra noise on bugzilla. If you need to build with
|
||||
# EGL, do 'make linux-dri USING_EGL=1'
|
||||
|
||||
USING_EGL=0
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = gallium mesa gallium/winsys glu egl
|
||||
PROGRAM_DIRS = egl
|
||||
@@ -54,4 +60,6 @@ DRIVER_DIRS = dri
|
||||
WINDOW_SYSTEM = dri
|
||||
GALLIUM_WINSYS_DIRS = egl_drm
|
||||
|
||||
# gamma are missing because they have not been converted to use the new
|
||||
# interface.
|
||||
DRI_DIRS = intel
|
||||
|
||||
23
configs/linux-glide
Normal file
23
configs/linux-glide
Normal file
@@ -0,0 +1,23 @@
|
||||
# Configuration for generic Linux with 3Dfx Glide driver
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = linux-glide
|
||||
|
||||
# Compiler and flags
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
|
||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
|
||||
@@ -1,8 +0,0 @@
|
||||
# Configuration for standalone mode i965 debug
|
||||
|
||||
include $(TOP)/configs/linux-debug
|
||||
|
||||
CONFIG_NAME = linux-i965
|
||||
|
||||
GALLIUM_DRIVER_DIRS = i965
|
||||
GALLIUM_WINSYS_DIRS = drm/i965/xlib
|
||||
@@ -47,7 +47,7 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
|
||||
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = glx glu glut/glx glew glw
|
||||
SRC_DIRS = glx/x11 glu glut/glx glew glw
|
||||
DRIVER_DIRS =
|
||||
PROGRAM_DIRS =
|
||||
WINDOW_SYSTEM=dri
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# -*-makefile-*-
|
||||
# Configuration for Linux and LLVM with optimizations
|
||||
# Configuration for Linux and LLVM with debugging info
|
||||
# Builds the llvmpipe gallium driver
|
||||
|
||||
include $(TOP)/configs/linux
|
||||
|
||||
CONFIG_NAME = linux-llvm
|
||||
|
||||
#GALLIUM_AUXILIARY_DIRS += gallivm
|
||||
|
||||
# Add llvmpipe driver
|
||||
GALLIUM_DRIVERS_DIRS += llvmpipe
|
||||
|
||||
OPT_FLAGS = -O3 -ansi -pedantic
|
||||
ARCH_FLAGS = -m32 -mmmx -msse -msse2 -mstackrealign
|
||||
|
||||
DEFINES += -DNDEBUG -DGALLIUM_LLVMPIPE -DDRAW_LLVM -DHAVE_UDIS86
|
||||
OPT_FLAGS = -g -ansi -pedantic
|
||||
DEFINES += -DDEBUG -DDEBUG_MATH -DGALLIUM_LLVMPIPE -DHAVE_UDIS86
|
||||
|
||||
# override -std=c99
|
||||
CFLAGS += -std=gnu99
|
||||
@@ -31,7 +31,7 @@ ifeq ($(MESA_LLVM),1)
|
||||
# LLVM_CFLAGS=`llvm-config --cflags`
|
||||
LLVM_CXXFLAGS=`llvm-config --cxxflags backend bitreader engine ipo interpreter instrumentation` -Wno-long-long
|
||||
LLVM_LDFLAGS = $(shell llvm-config --ldflags backend bitreader engine ipo interpreter instrumentation)
|
||||
LLVM_LIBS = $(shell llvm-config --libs backend bitwriter bitreader engine ipo interpreter instrumentation)
|
||||
LLVM_LIBS = $(shell llvm-config --libs backend bitreader engine ipo interpreter instrumentation)
|
||||
MKLIB_OPTIONS=-cplusplus
|
||||
else
|
||||
LLVM_CFLAGS=
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# -*-makefile-*-
|
||||
# Configuration for Linux and LLVM with debugging info
|
||||
# Builds the llvmpipe gallium driver
|
||||
|
||||
include $(TOP)/configs/linux-llvm
|
||||
|
||||
CONFIG_NAME = linux-llvm-debug
|
||||
|
||||
OPT_FLAGS = -g -ansi -pedantic
|
||||
|
||||
DEFINES += -DDEBUG -UNDEBUG
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# Configuration for OpenGL ES on Linux
|
||||
|
||||
include $(TOP)/configs/linux
|
||||
|
||||
CONFIG_NAME = linux-opengl-es
|
||||
|
||||
# Directories to build
|
||||
LIB_DIR = lib
|
||||
SRC_DIRS = egl glsl mesa/es gallium gallium/winsys
|
||||
PROGRAM_DIRS = es1/screen es1/xegl es2/xegl
|
||||
|
||||
# egl st needs this
|
||||
DEFINES += -DGLX_DIRECT_RENDERING
|
||||
|
||||
# no mesa or egl drivers
|
||||
DRIVER_DIRS =
|
||||
EGL_DRIVERS_DIRS =
|
||||
|
||||
GALLIUM_DRIVERS_DIRS = softpipe
|
||||
|
||||
# build libGLES*.so
|
||||
GALLIUM_STATE_TRACKERS_DIRS = es
|
||||
|
||||
# build egl_x11_{swrast,i915}.so
|
||||
GALLIUM_DRIVERS_DIRS += trace i915
|
||||
GALLIUM_STATE_TRACKERS_DIRS += egl
|
||||
GALLIUM_WINSYS_DIRS += drm
|
||||
GALLIUM_WINSYS_DRM_DIRS += intel swrast
|
||||
54
configs/linux-solo
Normal file
54
configs/linux-solo
Normal file
@@ -0,0 +1,54 @@
|
||||
# Configuration for linux-solo: Linux DRI hardware drivers for fbdev
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = linux-solo
|
||||
|
||||
# Compiler and flags
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
|
||||
WARN_FLAGS = -Wall -Wundef
|
||||
OPT_FLAGS = -O3 -g
|
||||
PIC_FLAGS = -fPIC
|
||||
|
||||
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
|
||||
ARCH_FLAGS ?=
|
||||
|
||||
# DRM and pciaccess
|
||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
|
||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
|
||||
PCIACCESS_CFLAGS = $(shell pkg-config --cflags pciaccess)
|
||||
PCIACCESS_LIB = $(shell pkg-config --libs pciaccess)
|
||||
|
||||
|
||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
|
||||
-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
|
||||
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||
-DHAVE_ALIAS
|
||||
|
||||
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)
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
MESA_ASM_SOURCES =
|
||||
|
||||
# Library/program dependencies
|
||||
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) $(PCIACCESS_LIB)
|
||||
GL_LIB_DEPS = -lm -lpthread -ldl
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = glx/mini gallium mesa glu glut/mini glew
|
||||
DRIVER_DIRS = dri
|
||||
PROGRAM_DIRS = miniglx
|
||||
|
||||
#DRI_DIRS = ffb gamma sis savage tdfx unichrome fb
|
||||
DRI_DIRS = i810 i915tex i915 mach64 mga r128 r200 radeon
|
||||
7
configs/linux-solo-ia64
Normal file
7
configs/linux-solo-ia64
Normal file
@@ -0,0 +1,7 @@
|
||||
# Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev
|
||||
|
||||
include $(TOP)/configs/linux-solo
|
||||
|
||||
CONFIG_NAME = linux-solo-ia64
|
||||
|
||||
DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome
|
||||
10
configs/linux-solo-x86
Normal file
10
configs/linux-solo-x86
Normal file
@@ -0,0 +1,10 @@
|
||||
# -*-makefile-*-
|
||||
# Configuration for linux-solo-x86: Linux hardware drivers for fbdev for x86
|
||||
|
||||
include $(TOP)/configs/linux-solo
|
||||
|
||||
CONFIG_NAME = linux-solo-x86
|
||||
|
||||
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
||||
MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
GLAPI_ASM_SOURCES = $(X86_API)
|
||||
28
configs/linux-x86-glide
Normal file
28
configs/linux-x86-glide
Normal file
@@ -0,0 +1,28 @@
|
||||
# Configuration for Linux with 3Dfx Glide driver and x86 optimizations
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = linux-x86-glide
|
||||
|
||||
# Compiler and flags
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
|
||||
CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
|
||||
|
||||
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
GLUT_CFLAGS = -fexceptions
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
GLAPI_ASM_SOURCES = $(X86_API)
|
||||
|
||||
# Library/program dependencies
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
|
||||
244
configure.ac
244
configure.ac
@@ -19,11 +19,7 @@ AC_CANONICAL_HOST
|
||||
|
||||
dnl Versions for external dependencies
|
||||
LIBDRM_REQUIRED=2.4.15
|
||||
LIBDRM_RADEON_REQUIRED=2.4.17
|
||||
DRI2PROTO_REQUIRED=2.1
|
||||
GLPROTO_REQUIRED=1.4.11
|
||||
LIBDRM_XORG_REQUIRED=2.4.17
|
||||
LIBKMS_XORG_REQUIRED=1.0.0
|
||||
DRI2PROTO_REQUIRED=1.99.3
|
||||
|
||||
dnl Check for progs
|
||||
AC_PROG_CPP
|
||||
@@ -48,28 +44,6 @@ solaris*)
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
|
||||
dnl versions are explictly not supported.
|
||||
if test "x$GCC" = xyes; then
|
||||
AC_MSG_CHECKING([whether gcc version is sufficient])
|
||||
major=0
|
||||
minor=0
|
||||
|
||||
GCC_VERSION=`$CC -dumpversion`
|
||||
if test $? -eq 0; then
|
||||
major=`echo $GCC_VERSION | cut -d. -f1`
|
||||
minor=`echo $GCC_VERSION | cut -d. -f1`
|
||||
fi
|
||||
|
||||
if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
MKDEP_OPTIONS=-fdepend
|
||||
dnl Ask gcc where it's keeping its secret headers
|
||||
if test "x$GCC" = xyes; then
|
||||
@@ -116,22 +90,12 @@ linux*|*-gnu*|gnu*)
|
||||
solaris*)
|
||||
DEFINES="$DEFINES -DPTHREADS -DSVR4"
|
||||
;;
|
||||
cygwin*)
|
||||
DEFINES="$DEFINES -DPTHREADS"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Add flags for gcc and g++
|
||||
if test "x$GCC" = xyes; then
|
||||
CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99 -ffast-math"
|
||||
|
||||
# Enable -fvisibility=hidden if using a gcc that supports it
|
||||
save_CFLAGS="$CFLAGS"
|
||||
AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
|
||||
CFLAGS="$CFLAGS -fvisibility=hidden"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
|
||||
[CFLAGS="$save_CFLAGS" ; AC_MSG_RESULT([no])]);
|
||||
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS="$CFLAGS -fno-strict-aliasing"
|
||||
fi
|
||||
@@ -278,28 +242,24 @@ GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
|
||||
GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
|
||||
GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
|
||||
OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
|
||||
EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
|
||||
|
||||
GL_LIB_GLOB='lib$(GL_LIB).*'${LIB_EXTENSION}'*'
|
||||
GLU_LIB_GLOB='lib$(GLU_LIB).*'${LIB_EXTENSION}'*'
|
||||
GLUT_LIB_GLOB='lib$(GLUT_LIB).*'${LIB_EXTENSION}'*'
|
||||
GLW_LIB_GLOB='lib$(GLW_LIB).*'${LIB_EXTENSION}'*'
|
||||
OSMESA_LIB_GLOB='lib$(OSMESA_LIB).*'${LIB_EXTENSION}'*'
|
||||
EGL_LIB_GLOB='lib$(EGL_LIB).*'${LIB_EXTENSION}'*'
|
||||
|
||||
AC_SUBST([GL_LIB_NAME])
|
||||
AC_SUBST([GLU_LIB_NAME])
|
||||
AC_SUBST([GLUT_LIB_NAME])
|
||||
AC_SUBST([GLW_LIB_NAME])
|
||||
AC_SUBST([OSMESA_LIB_NAME])
|
||||
AC_SUBST([EGL_LIB_NAME])
|
||||
|
||||
AC_SUBST([GL_LIB_GLOB])
|
||||
AC_SUBST([GLU_LIB_GLOB])
|
||||
AC_SUBST([GLUT_LIB_GLOB])
|
||||
AC_SUBST([GLW_LIB_GLOB])
|
||||
AC_SUBST([OSMESA_LIB_GLOB])
|
||||
AC_SUBST([EGL_LIB_GLOB])
|
||||
|
||||
dnl
|
||||
dnl Arch/platform-specific settings
|
||||
@@ -419,7 +379,7 @@ fi
|
||||
|
||||
dnl
|
||||
dnl Driver configuration. Options are xlib, dri and osmesa right now.
|
||||
dnl More later: fbdev, ...
|
||||
dnl More later: directfb, fbdev, ...
|
||||
dnl
|
||||
default_driver="xlib"
|
||||
|
||||
@@ -453,16 +413,13 @@ esac
|
||||
dnl
|
||||
dnl Driver specific build directories
|
||||
dnl
|
||||
|
||||
dnl this variable will be prepended to SRC_DIRS and is not exported
|
||||
CORE_DIRS="glsl mesa"
|
||||
|
||||
SRC_DIRS="glew"
|
||||
SRC_DIRS="mesa glew"
|
||||
GLU_DIRS="sgi"
|
||||
WINDOW_SYSTEM=""
|
||||
GALLIUM_DIRS="auxiliary drivers state_trackers"
|
||||
GALLIUM_WINSYS_DIRS=""
|
||||
GALLIUM_WINSYS_DRM_DIRS=""
|
||||
GALLIUM_AUXILIARY_DIRS="rbug draw translate cso_cache pipebuffer tgsi sct rtasm util indices vl"
|
||||
GALLIUM_DRIVERS_DIRS="softpipe failover trace identity"
|
||||
GALLIUM_STATE_TRACKERS_DIRS=""
|
||||
|
||||
@@ -472,7 +429,7 @@ xlib)
|
||||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS xlib"
|
||||
;;
|
||||
dri)
|
||||
SRC_DIRS="$SRC_DIRS glx"
|
||||
SRC_DIRS="glx/x11 $SRC_DIRS"
|
||||
DRIVER_DIRS="dri"
|
||||
WINDOW_SYSTEM="dri"
|
||||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS drm"
|
||||
@@ -489,7 +446,10 @@ AC_SUBST([GALLIUM_DIRS])
|
||||
AC_SUBST([GALLIUM_WINSYS_DIRS])
|
||||
AC_SUBST([GALLIUM_WINSYS_DRM_DIRS])
|
||||
AC_SUBST([GALLIUM_DRIVERS_DIRS])
|
||||
AC_SUBST([GALLIUM_AUXILIARY_DIRS])
|
||||
AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
|
||||
AC_SUBST([RADEON_CFLAGS])
|
||||
AC_SUBST([RADEON_LDFLAGS])
|
||||
|
||||
dnl
|
||||
dnl User supplied program configuration
|
||||
@@ -614,10 +574,16 @@ dri)
|
||||
# Check for libdrm
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
|
||||
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
|
||||
PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
|
||||
GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
|
||||
GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
|
||||
DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
|
||||
|
||||
PKG_CHECK_MODULES([LIBDRM_RADEON], [libdrm_radeon], HAVE_LIBDRM_RADEON=yes, HAVE_LIBDRM_RADEON=no)
|
||||
|
||||
if test "$HAVE_LIBDRM_RADEON" = yes; then
|
||||
RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
|
||||
RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
|
||||
fi
|
||||
|
||||
# find the DRI deps for libGL
|
||||
if test "$x11_pkgconfig" = yes; then
|
||||
# add xcb modules if necessary
|
||||
@@ -726,6 +692,10 @@ yes)
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Just default to no EGL for now
|
||||
USING_EGL=0
|
||||
AC_SUBST([USING_EGL])
|
||||
|
||||
dnl Set DRI_DIRS, DEFINES and LIB_DEPS
|
||||
if test "$mesa_driver" = dri; then
|
||||
# Use TLS in GLX?
|
||||
@@ -733,6 +703,10 @@ if test "$mesa_driver" = dri; then
|
||||
DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
|
||||
fi
|
||||
|
||||
if test "x$USING_EGL" = x1; then
|
||||
PROGRAM_DIRS="egl"
|
||||
fi
|
||||
|
||||
# Platform specific settings and drivers to build
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
@@ -744,9 +718,10 @@ if test "$mesa_driver" = dri; then
|
||||
|
||||
case "$host_cpu" in
|
||||
x86_64)
|
||||
# sis is missing because they have not be converted to use
|
||||
# the new interface. i810 are missing because there is no
|
||||
# x86-64 system where they could *ever* be used.
|
||||
# ffb, gamma, and sis are missing because they have not be
|
||||
# converted to use the new interface. i810 are missing
|
||||
# because there is no x86-64 system where they could *ever*
|
||||
# be used.
|
||||
if test "x$DRI_DIRS" = "xyes"; then
|
||||
DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \
|
||||
savage tdfx unichrome swrast"
|
||||
@@ -762,7 +737,7 @@ if test "$mesa_driver" = dri; then
|
||||
sparc*)
|
||||
# Build only the drivers for cards that exist on sparc`
|
||||
if test "x$DRI_DIRS" = "xyes"; then
|
||||
DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
|
||||
DRI_DIRS="mach64 r128 r200 r300 r600 radeon ffb swrast"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -778,6 +753,8 @@ if test "$mesa_driver" = dri; then
|
||||
CXXFLAGS="$CXXFLAGS -ansi -pedantic"
|
||||
fi
|
||||
|
||||
# ffb and gamma are missing because they have not been converted
|
||||
# to use the new interface.
|
||||
if test "x$DRI_DIRS" = "xyes"; then
|
||||
DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \
|
||||
unichrome savage sis swrast"
|
||||
@@ -799,7 +776,7 @@ if test "$mesa_driver" = dri; then
|
||||
# default drivers
|
||||
if test "x$DRI_DIRS" = "xyes"; then
|
||||
DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \
|
||||
savage sis tdfx unichrome swrast"
|
||||
savage sis tdfx unichrome ffb swrast"
|
||||
fi
|
||||
|
||||
DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
|
||||
@@ -826,29 +803,6 @@ AC_SUBST([DRI_DIRS])
|
||||
AC_SUBST([EXPAT_INCLUDES])
|
||||
AC_SUBST([DRI_LIB_DEPS])
|
||||
|
||||
case $DRI_DIRS in
|
||||
*i915*|*i965*)
|
||||
PKG_CHECK_MODULES([INTEL], [libdrm_intel >= 2.4.19])
|
||||
;;
|
||||
esac
|
||||
|
||||
case $DRI_DIRS in
|
||||
*radeon*|*r200*|*r300*|*r600*)
|
||||
PKG_CHECK_MODULES([LIBDRM_RADEON],
|
||||
[libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED],
|
||||
HAVE_LIBDRM_RADEON=yes,
|
||||
HAVE_LIBDRM_RADEON=no)
|
||||
|
||||
if test "$HAVE_LIBDRM_RADEON" = yes; then
|
||||
RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
|
||||
RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([RADEON_CFLAGS])
|
||||
AC_SUBST([RADEON_LDFLAGS])
|
||||
|
||||
|
||||
dnl
|
||||
dnl OSMesa configuration
|
||||
dnl
|
||||
@@ -933,28 +887,17 @@ AC_ARG_ENABLE([egl],
|
||||
[enable_egl=yes])
|
||||
if test "x$enable_egl" = xyes; then
|
||||
SRC_DIRS="$SRC_DIRS egl"
|
||||
EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread"
|
||||
EGL_DRIVERS_DIRS=""
|
||||
if test "$enable_static" != yes; then
|
||||
# build egl_glx when libGL is built
|
||||
if test "$mesa_driver" != osmesa; then
|
||||
EGL_DRIVERS_DIRS="glx"
|
||||
fi
|
||||
|
||||
# build egl_dri2 when xcb-dri2 is available
|
||||
PKG_CHECK_MODULES([EGL_DRI2], [x11-xcb xcb-dri2 xcb-xfixes libdrm],
|
||||
[have_xcb_dri2=yes],[have_xcb_dri2=no])
|
||||
if test "$have_xcb_dri2" = yes; then
|
||||
EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS dri2"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$with_demos" = yes; then
|
||||
PROGRAM_DIRS="$PROGRAM_DIRS egl"
|
||||
if test "$x11_pkgconfig" = yes; then
|
||||
PKG_CHECK_MODULES([EGL], [x11])
|
||||
EGL_LIB_DEPS="$EGL_LIBS"
|
||||
else
|
||||
# should check these...
|
||||
EGL_LIB_DEPS="$X_LIBS -lX11"
|
||||
fi
|
||||
EGL_LIB_DEPS="$EGL_LIB_DEPS $DLOPEN_LIBS"
|
||||
fi
|
||||
AC_SUBST([EGL_LIB_DEPS])
|
||||
AC_SUBST([EGL_DRIVERS_DIRS])
|
||||
|
||||
dnl
|
||||
dnl GLU configuration
|
||||
@@ -1205,7 +1148,7 @@ yes)
|
||||
GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
|
||||
fi
|
||||
# Have only tested st/xorg on 1.6.0 servers
|
||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
|
||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0],
|
||||
HAVE_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
|
||||
HAVE_XORG="no")
|
||||
;;
|
||||
@@ -1218,69 +1161,19 @@ yes)
|
||||
test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
|
||||
AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
|
||||
|
||||
case "$tracker" in
|
||||
egl)
|
||||
if test "x$enable_egl" != xyes; then
|
||||
AC_MSG_ERROR([cannot build egl state tracker without EGL library])
|
||||
fi
|
||||
;;
|
||||
xorg)
|
||||
PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
|
||||
PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
|
||||
HAVE_XORG="yes"
|
||||
;;
|
||||
es)
|
||||
# mesa/es is required to build es state tracker
|
||||
CORE_DIRS="$CORE_DIRS mesa/es"
|
||||
;;
|
||||
esac
|
||||
if test "$tracker" = egl && test "x$enable_egl" != xyes; then
|
||||
AC_MSG_ERROR([cannot build egl state tracker without EGL library])
|
||||
fi
|
||||
if test "$tracker" = xorg; then
|
||||
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
|
||||
HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
|
||||
HAVE_XEXTPROTO_71="no")
|
||||
fi
|
||||
done
|
||||
GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "x$HAVE_XORG" = xyes; then
|
||||
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
|
||||
HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
|
||||
HAVE_XEXTPROTO_71="no")
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([egl-displays],
|
||||
[AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
|
||||
[comma delimited native displays libEGL supports, e.g.
|
||||
"x11,kms" @<:@default=auto@:>@])],
|
||||
[with_egl_displays="$withval"],
|
||||
[with_egl_displays=yes])
|
||||
|
||||
EGL_DISPLAYS=""
|
||||
case "$with_egl_displays" in
|
||||
yes)
|
||||
if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
|
||||
EGL_DISPLAYS="x11"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if test "x$enable_egl" != xyes; then
|
||||
AC_MSG_ERROR([cannot build egl state tracker without EGL library])
|
||||
fi
|
||||
# verify the requested driver directories exist
|
||||
egl_displays=`IFS=', '; echo $with_egl_displays`
|
||||
for dpy in $egl_displays; do
|
||||
test -d "$srcdir/src/gallium/state_trackers/egl/$dpy" || \
|
||||
AC_MSG_ERROR([EGL display '$dpy' does't exist])
|
||||
done
|
||||
EGL_DISPLAYS="$egl_displays"
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([EGL_DISPLAYS])
|
||||
|
||||
AC_ARG_WITH([egl-driver-dir],
|
||||
[AS_HELP_STRING([--with-egl-driver-dir=DIR],
|
||||
[directory for EGL drivers [[default=${libdir}/egl]]])],
|
||||
[EGL_DRIVER_INSTALL_DIR="$withval"],
|
||||
[EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
|
||||
AC_SUBST([EGL_DRIVER_INSTALL_DIR])
|
||||
|
||||
AC_ARG_WITH([xorg-driver-dir],
|
||||
[AS_HELP_STRING([--with-xorg-driver-dir=DIR],
|
||||
[Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
|
||||
@@ -1307,15 +1200,13 @@ dnl
|
||||
dnl Gallium SVGA configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([gallium-svga],
|
||||
[AS_HELP_STRING([--enable-gallium-svga],
|
||||
[build gallium SVGA @<:@default=disabled@:>@])],
|
||||
[AS_HELP_STRING([--disable-gallium-svga],
|
||||
[build gallium SVGA @<:@default=enabled@:>@])],
|
||||
[enable_gallium_svga="$enableval"],
|
||||
[enable_gallium_svga=auto])
|
||||
[enable_gallium_svga=yes])
|
||||
if test "x$enable_gallium_svga" = xyes; then
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS vmware"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
|
||||
elif test "x$enable_gallium_svga" = xauto; then
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
|
||||
fi
|
||||
|
||||
dnl
|
||||
@@ -1327,10 +1218,10 @@ AC_ARG_ENABLE([gallium-intel],
|
||||
[enable_gallium_intel="$enableval"],
|
||||
[enable_gallium_intel=auto])
|
||||
if test "x$enable_gallium_intel" = xyes; then
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS intel i965"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965"
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS intel"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
|
||||
elif test "x$enable_gallium_intel" = xauto; then
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
|
||||
fi
|
||||
|
||||
dnl
|
||||
@@ -1340,12 +1231,10 @@ AC_ARG_ENABLE([gallium-radeon],
|
||||
[AS_HELP_STRING([--enable-gallium-radeon],
|
||||
[build gallium radeon @<:@default=disabled@:>@])],
|
||||
[enable_gallium_radeon="$enableval"],
|
||||
[enable_gallium_radeon=auto])
|
||||
[enable_gallium_radeon=no])
|
||||
if test "x$enable_gallium_radeon" = xyes; then
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS radeon"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
|
||||
elif test "x$enable_gallium_radeon" = xauto; then
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
|
||||
fi
|
||||
|
||||
dnl
|
||||
@@ -1358,23 +1247,9 @@ AC_ARG_ENABLE([gallium-nouveau],
|
||||
[enable_gallium_nouveau=no])
|
||||
if test "x$enable_gallium_nouveau" = xyes; then
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS nouveau"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv30 nv40 nv50"
|
||||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv04 nv10 nv20 nv30 nv40 nv50"
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl Gallium swrast configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([gallium-swrast],
|
||||
[AS_HELP_STRING([--enable-gallium-swrast],
|
||||
[build gallium swrast @<:@default=disabled@:>@])],
|
||||
[enable_gallium_swrast="$enableval"],
|
||||
[enable_gallium_swrast=auto])
|
||||
if test "x$enable_gallium_swrast" = xyes; then
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS swrast"
|
||||
fi
|
||||
|
||||
dnl prepend CORE_DIRS to SRC_DIRS
|
||||
SRC_DIRS="$CORE_DIRS $SRC_DIRS"
|
||||
|
||||
dnl Restore LDFLAGS and CPPFLAGS
|
||||
LDFLAGS="$_SAVE_LDFLAGS"
|
||||
@@ -1428,6 +1303,7 @@ if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
|
||||
echo " Gallium dirs: $GALLIUM_DIRS"
|
||||
echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
|
||||
echo " Winsys drm dirs:$GALLIUM_WINSYS_DRM_DIRS"
|
||||
echo " Auxiliary dirs: $GALLIUM_AUXILIARY_DIRS"
|
||||
echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
|
||||
echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
else
|
||||
@@ -1438,11 +1314,7 @@ dnl Libraries
|
||||
echo ""
|
||||
echo " Shared libs: $enable_shared"
|
||||
echo " Static libs: $enable_static"
|
||||
if test "$enable_egl" = yes; then
|
||||
echo " EGL: $EGL_DRIVERS_DIRS"
|
||||
else
|
||||
echo " EGL: no"
|
||||
fi
|
||||
echo " EGL: $enable_egl"
|
||||
echo " GLU: $enable_glu"
|
||||
echo " GLw: $enable_glw (Motif: $enable_motif)"
|
||||
echo " glut: $enable_glut"
|
||||
|
||||
39
debian/README.source
vendored
39
debian/README.source
vendored
@@ -1,39 +0,0 @@
|
||||
------------------------------------------------------
|
||||
Quick Guide To Patching This Package For The Impatient
|
||||
------------------------------------------------------
|
||||
|
||||
1. Make sure you have quilt installed
|
||||
2. Unpack the package as usual with "dpkg-source -x"
|
||||
3. Run the "patch" target in debian/rules
|
||||
4. Create a new patch with "quilt new" (see quilt(1))
|
||||
5. Edit all the files you want to include in the patch with "quilt edit"
|
||||
(see quilt(1)).
|
||||
6. Write the patch with "quilt refresh" (see quilt(1))
|
||||
7. Run the "clean" target in debian/rules
|
||||
|
||||
Alternatively, instead of using quilt directly, you can drop the patch in to
|
||||
debian/patches and add the name of the patch to debian/patches/series.
|
||||
|
||||
|
||||
The X Strike Force team maintains X packages in git repositories on
|
||||
git.debian.org in the pkg-xorg subdirectory. Most upstream packages
|
||||
are actually maintained in git repositories as well, so they often
|
||||
just need to be pulled into git.debian.org in a "upstream-*" branch.
|
||||
|
||||
The .orig.tar.gz upstream source file could be generated this
|
||||
"upstream-*" branch in the Debian git repository but it is actually
|
||||
generated from upstream tarballs directly.
|
||||
Upstream ships Mesa as 3 different tarballs (MesaLib, MesaGLUT and
|
||||
MesaDemos) which are re-bundled together into a single .orig.tar.gz.
|
||||
|
||||
The Debian packaging is added by creating the "debian-*" git branch
|
||||
which contains the aforementioned "upstream-*" branch plus the debian/
|
||||
repository files.
|
||||
When a patch has to be applied to the Debian package, two solutions
|
||||
are involved:
|
||||
* If the patch is available in one of the upstream branches, it
|
||||
may be git'cherry-picked into the Debian repository. In this
|
||||
case, it appears directly in the .diff.gz.
|
||||
* Otherwise, the patch is added to debian/patches/ which is managed
|
||||
with quilt as documented in /usr/share/doc/quilt/README.source.
|
||||
Thus, the patching system requires a build dependency on quilt.
|
||||
1625
debian/changelog
vendored
1625
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
1
debian/compat
vendored
1
debian/compat
vendored
@@ -1 +0,0 @@
|
||||
7
|
||||
609
debian/control
vendored
609
debian/control
vendored
@@ -1,609 +0,0 @@
|
||||
Source: mesa
|
||||
Section: graphics
|
||||
Priority: optional
|
||||
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
||||
Uploaders: David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
|
||||
Standards-Version: 3.8.4
|
||||
Build-Depends: debhelper (>= 7.2.7), quilt (>= 0.40), pkg-config,
|
||||
libdrm-dev (>= 2.4.19) [!hurd-i386], libx11-dev, xutils-dev,
|
||||
x11proto-gl-dev (>= 1.4.11), libxxf86vm-dev,
|
||||
libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.15.6), libxfixes-dev,
|
||||
libxdamage-dev, libxext-dev, autoconf, automake, x11proto-dri2-dev (>= 2.1),
|
||||
linux-libc-dev (>= 2.6.31) [!hurd-i386 !kfreebsd-amd64 !kfreebsd-i386],
|
||||
libx11-xcb-dev, libxcb-dri2-0-dev, libxcb-xfixes0-dev, python-libxml2,
|
||||
Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
|
||||
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
|
||||
Homepage: http://mesa3d.sourceforge.net/
|
||||
|
||||
Package: libgl1-mesa-swx11
|
||||
Section: libs
|
||||
Priority: extra
|
||||
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: debug
|
||||
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 kfreebsd-i386 hurd-i386
|
||||
Depends: libgl1-mesa-swx11 (= ${binary:Version}), ${shlibs:Depends}
|
||||
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
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends: libgl1-mesa-swx11 (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${binary: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: libegl1-mesa
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Recommends: libegl1-mesa-drivers-x11
|
||||
Description: A free implementation of the EGL API -- runtime
|
||||
This package contains the EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package contains modules to interface with the existing system GLX or
|
||||
DRI2 drivers to provide OpenGL via EGL. The libegl1-mesa-drivers-x11 package
|
||||
provides drivers to provide hardware-accelerated OpenGL|ES and OpenVG support.
|
||||
|
||||
Package: libegl1-mesa-dbg
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends: libegl1-mesa (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the EGL API -- debugging symbols
|
||||
This package contains the EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package contains the debugging symbols for the EGL library.
|
||||
|
||||
Package: libegl1-mesa-dev
|
||||
Section: libdevel
|
||||
Architecture: any
|
||||
Depends: libegl1-mesa (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the EGL API -- development files
|
||||
This package contains the development environment required for compiling
|
||||
programs against EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package provides the development environment for compiling programs
|
||||
against the EGL library.
|
||||
|
||||
Package: libegl1-mesa-drivers-x11
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: A free implementation of the EGL API -- X11 drivers
|
||||
This package contains the EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package contains the drivers required for hardware accelerated rendering
|
||||
of EGL-based graphics libraries, such as OpenGL|ES and OpenVG, in an X11
|
||||
environment.
|
||||
|
||||
Package: libegl1-mesa-drivers-x11-dbg
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends: libegl1-mesa-drivers-x11 (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the EGL API -- X11 driver debugging symbols
|
||||
This package contains the EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package contains the debugging symbols for the drivers required for
|
||||
hardware accelerated rendering of EGL-based graphics libraries, such as
|
||||
OpenGL|ES and OpenVG, in an X11 environment.
|
||||
|
||||
Package: libegl1-mesa-drivers-kms
|
||||
Section: libs
|
||||
Architecture: linux-any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: A free implementation of the EGL API -- KMS drivers
|
||||
This package contains the EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package contains the drivers required for hardware accelerated rendering
|
||||
of EGL-based graphics libraries, such as OpenGL|ES and OpenVG in a raw
|
||||
KMS-framebuffer environment.
|
||||
|
||||
Package: libegl1-mesa-drivers-kms-dbg
|
||||
Section: libs
|
||||
Architecture: linux-any
|
||||
Depends: libegl1-mesa-drivers-kms (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the EGL API -- KMS driver debugging symbols
|
||||
This package contains the EGL native platform graphics interface library.
|
||||
EGL provides a platform-agnostic mechanism for creating rendering surfaces
|
||||
for use with other graphics libraries, such as OpenGL|ES and OpenVG.
|
||||
.
|
||||
This package contains the debugging symbols for the drivers required for
|
||||
hardware accelerated rendering of EGL-based graphics libraries, such as
|
||||
OpenGL|ES and OpenVG in a raw KMS-framebuffer environment.
|
||||
|
||||
Package: libopenvg1-mesa
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: A free implementation of the OpenVG API -- runtime
|
||||
This package contains the mesa implementation of the OpenVG 2D acceleration
|
||||
library. OpenVG provides a device independent and vendor-neutral interface
|
||||
for sophisticated 2D graphical applications, while allowing device
|
||||
manufacturers to provide hardware acceleration on devices ranging from wrist
|
||||
watches to full microprocessor-based desktop and server machines.
|
||||
|
||||
Package: libopenvg1-mesa-dbg
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends: libopenvg1-mesa (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the OpenVG API -- debugging symbols
|
||||
This package contains the mesa implementation of the OpenVG 2D acceleration
|
||||
library. OpenVG provides a device independent and vendor-neutral interface
|
||||
for sophisticated 2D graphical applications, while allowing device
|
||||
manufacturers to provide hardware acceleration on devices ranging from wrist
|
||||
watches to full microprocessor-based desktop and server machines.
|
||||
.
|
||||
This package contains the debugging symbols for the OpenVG library.
|
||||
|
||||
Package: libopenvg1-mesa-dev
|
||||
Section: libdevel
|
||||
Architecture: any
|
||||
Depends: libopenvg1-mesa (= ${binary:Version}), libegl1-mesa-dev, ${misc:Depends}
|
||||
Description: A free implementation of the OpenVG API -- development files
|
||||
This package contains the mesa implementation of the OpenVG 2D acceleration
|
||||
library. OpenVG provides a device independent and vendor-neutral interface
|
||||
for sophisticated 2D graphical applications, while allowing device
|
||||
manufacturers to provide hardware acceleration on devices ranging from wrist
|
||||
watches to full microprocessor-based desktop and server machines.
|
||||
.
|
||||
This package contains the development environment required for compiling
|
||||
programs against the OpenVG 2D acceleration library.
|
||||
|
||||
Package: libgles1-mesa
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL|ES 1.x API -- runtime
|
||||
OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on
|
||||
embedded systems - including consoles, phones, appliances and vehicles.
|
||||
It contains a subset of OpenGL plus a number of extensions for the
|
||||
special needs of embedded systems.
|
||||
.
|
||||
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||||
|
||||
Package: libgles1-mesa-dbg
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends: libgles1-mesa (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL|ES 1.x API -- debugging symbols
|
||||
OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on
|
||||
embedded systems - including consoles, phones, appliances and vehicles.
|
||||
It contains a subset of OpenGL plus a number of extensions for the
|
||||
special needs of embedded systems.
|
||||
.
|
||||
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||||
.
|
||||
This package contains the debugging symbols for the libGLESv1_CM library.
|
||||
|
||||
Package: libgles1-mesa-dev
|
||||
Section: libdevel
|
||||
Architecture: any
|
||||
Depends: libgles1-mesa (= ${binary:Version}), libegl1-mesa-dev, ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL|ES 1.x API -- development files
|
||||
OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on
|
||||
embedded systems - including consoles, phones, appliances and vehicles.
|
||||
It contains a subset of OpenGL plus a number of extensions for the
|
||||
special needs of embedded systems.
|
||||
.
|
||||
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||||
.
|
||||
This package provides a development environment for building programs using
|
||||
the OpenGL|ES 1.x APIs.
|
||||
|
||||
Package: libgles2-mesa
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL|ES 2.x API -- runtime
|
||||
OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on
|
||||
embedded systems - including consoles, phones, appliances and vehicles.
|
||||
It contains a subset of OpenGL plus a number of extensions for the
|
||||
special needs of embedded systems.
|
||||
.
|
||||
OpenGL|ES 2.x provides an API for programmable hardware including vertex
|
||||
and fragment shaders.
|
||||
|
||||
Package: libgles2-mesa-dbg
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends: libgles2-mesa (= ${binary:Version}), ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL|ES 2.x API -- debugging symbols
|
||||
OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on
|
||||
embedded systems - including consoles, phones, appliances and vehicles.
|
||||
It contains a subset of OpenGL plus a number of extensions for the
|
||||
special needs of embedded systems.
|
||||
.
|
||||
OpenGL|ES 2.x provides an API for programmable hardware including vertex
|
||||
and fragment shaders.
|
||||
.
|
||||
This package contains the debugging symbols for the libGLESv2 library.
|
||||
|
||||
Package: libgles2-mesa-dev
|
||||
Section: libdevel
|
||||
Architecture: any
|
||||
Depends: libgles2-mesa (= ${binary:Version}), libegl1-mesa-dev, ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL|ES 2.x API -- development files
|
||||
OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on
|
||||
embedded systems - including consoles, phones, appliances and vehicles.
|
||||
It contains a subset of OpenGL plus a number of extensions for the
|
||||
special needs of embedded systems.
|
||||
.
|
||||
OpenGL|ES 2.x provides an API for programmable hardware including vertex
|
||||
and fragment shaders.
|
||||
.
|
||||
This package provides a development environment for building applications
|
||||
using the OpenGL|ES 2.x APIs.
|
||||
|
||||
Package: libgl1-mesa-glx
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}
|
||||
Recommends: libgl1-mesa-dri (>= 7.2)
|
||||
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: debug
|
||||
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 kfreebsd-i386 hurd-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: any
|
||||
Depends: ${shlibs:Depends}
|
||||
Suggests: libglide3
|
||||
Conflicts: xlibmesa-dri (<< 1:7.0.0)
|
||||
Replaces: xlibmesa-dri (<< 1:7.0.0)
|
||||
Breaks: xserver-xorg-core (<< 2:1.5), libgl1-mesa-glx (<< 7.2)
|
||||
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: debug
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
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-experimental
|
||||
Section: libs
|
||||
Architecture: linux-any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: A free implementation of the OpenGL API -- Extra 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 and indirect rendering. The drivers
|
||||
in this package may provide more features than the drivers in the
|
||||
libgl1-mesa-dri at the cost of less stability.
|
||||
.
|
||||
For a complete description of Mesa, please look at the
|
||||
libgl1-mesa-swx11 package.
|
||||
|
||||
Package: libgl1-mesa-dri-experimental-dbg
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Architecture: linux-any
|
||||
Depends: libgl1-mesa-dri-experimental (= ${binary:Version}), ${misc:Depends}
|
||||
Description: Debugging symbols for the experimental 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 Gallium DRI modules.
|
||||
|
||||
#Package: libgl1-mesa-dri-i686
|
||||
#Section: libs
|
||||
#Priority: extra
|
||||
#Architecture: i386 kfreebsd-i386 hurd-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: any
|
||||
Depends: libc6-dev, mesa-common-dev (= ${binary:Version}), libgl1-mesa-glx (= ${binary: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: libdevel
|
||||
Architecture: any
|
||||
Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 7.5~rc4-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 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: libdevel
|
||||
Architecture: any
|
||||
Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${binary: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 (= ${binary: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-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
|
||||
193
debian/copyright
vendored
193
debian/copyright
vendored
@@ -1,193 +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 2.0, Sept. 18, 2008)
|
||||
|
||||
Copyright (C) [dates of first publication] Silicon Graphics, Inc. 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 including the dates of first publication and either
|
||||
this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
|
||||
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 SILICON GRAPHICS, INC. 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.
|
||||
Except as contained in this notice, the name of Silicon Graphics, Inc. shall
|
||||
not be used in advertising or otherwise to promote the sale, use or other
|
||||
dealings in this Software without prior written authorization from Silicon
|
||||
Graphics, Inc.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
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'.
|
||||
|
||||
12
debian/egl.pc
vendored
12
debian/egl.pc
vendored
@@ -1,12 +0,0 @@
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=/usr/lib
|
||||
includedir=/usr/include
|
||||
|
||||
Name: egl
|
||||
Description: Mesa EGL library
|
||||
Requires.private: libdrm >= 2.4.15 dri2proto >= 2.1 glproto >= 1.4.11 x11 xext xxf86vm xdamage xfixes
|
||||
Version: 7.8.1
|
||||
Libs: -L${libdir} -lEGL
|
||||
Libs.private: -lm -lpthread -ldl
|
||||
Cflags: -I${includedir}
|
||||
12
debian/glesv1_cm.pc
vendored
12
debian/glesv1_cm.pc
vendored
@@ -1,12 +0,0 @@
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=/usr/lib
|
||||
includedir=/usr/include
|
||||
|
||||
Name: glesv1_cm
|
||||
Description: Mesa OpenGL ES 1.1 CM library
|
||||
Requires.private:
|
||||
Version: 7.8.1
|
||||
Libs: -L${libdir} -lGLESv1_CM
|
||||
Libs.private: -lm -lpthread -ldl
|
||||
Cflags: -I${includedir}
|
||||
12
debian/glesv2.pc
vendored
12
debian/glesv2.pc
vendored
@@ -1,12 +0,0 @@
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=/usr/lib
|
||||
includedir=/usr/include
|
||||
|
||||
Name: glesv2
|
||||
Description: Mesa OpenGL ES 2.0 library
|
||||
Requires.private:
|
||||
Version: 7.8.1
|
||||
Libs: -L${libdir} -lGLESv2
|
||||
Libs.private: -lm -lpthread -ldl
|
||||
Cflags: -I${includedir}
|
||||
15
debian/glxdemo.1
vendored
15
debian/glxdemo.1
vendored
@@ -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
29
debian/glxgears.1
vendored
@@ -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
30
debian/glxheads.1
vendored
@@ -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
41
debian/glxinfo.1
vendored
@@ -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 its 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).
|
||||
|
||||
4
debian/libegl1-mesa-dev.install
vendored
4
debian/libegl1-mesa-dev.install
vendored
@@ -1,4 +0,0 @@
|
||||
usr/lib/glx/libEGL.so usr/lib
|
||||
usr/include/EGL
|
||||
usr/include/KHR
|
||||
debian/egl.pc usr/lib/pkgconfig
|
||||
1
debian/libegl1-mesa-drivers-kms.install
vendored
1
debian/libegl1-mesa-drivers-kms.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/glx/egl/egl_kms_*.so
|
||||
1
debian/libegl1-mesa-drivers-x11.install
vendored
1
debian/libegl1-mesa-drivers-x11.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/glx/egl/egl_x11_*.so
|
||||
3
debian/libegl1-mesa.install
vendored
3
debian/libegl1-mesa.install
vendored
@@ -1,3 +0,0 @@
|
||||
usr/lib/glx/libEGL.so.1* usr/lib
|
||||
usr/lib/glx/egl/egl_dri2.so usr/lib/egl
|
||||
usr/lib/glx/egl/egl_glx.so usr/lib/egl
|
||||
79
debian/libegl1-mesa.symbols
vendored
79
debian/libegl1-mesa.symbols
vendored
@@ -1,79 +0,0 @@
|
||||
libEGL.so.1 libegl1-mesa #MINVER#
|
||||
_eglAddConfig@Base 7.8.1
|
||||
_eglAddNewMode@Base 7.8.1
|
||||
_eglAddScreen@Base 7.8.1
|
||||
_eglBindContext@Base 7.8.1
|
||||
_eglCheckResource@Base 7.8.1
|
||||
_eglCleanupDisplay@Base 7.8.1
|
||||
_eglCompareConfigs@Base 7.8.1
|
||||
_eglConfigFromContextModesRec@Base 7.8.1
|
||||
_eglConfigToContextModesRec@Base 7.8.1
|
||||
_eglDestroyScreen@Base 7.8.1
|
||||
_eglError@Base 7.8.1
|
||||
_eglGetAPIContext@Base 7.8.1
|
||||
_eglGetCurrentContext@Base 7.8.1
|
||||
_eglGetCurrentThread@Base 7.8.1
|
||||
_eglGetProbeCache@Base 7.8.1
|
||||
_eglInitConfig@Base 7.8.1
|
||||
_eglInitContext@Base 7.8.1
|
||||
_eglInitDriverFallbacks@Base 7.8.1
|
||||
_eglInitImage@Base 7.8.1
|
||||
_eglInitScreen@Base 7.8.1
|
||||
_eglInitSurface@Base 7.8.1
|
||||
_eglLog@Base 7.8.1
|
||||
_eglMatchConfig@Base 7.8.1
|
||||
_eglParseConfigAttribList@Base 7.8.1
|
||||
_eglReleaseDisplayResources@Base 7.8.1
|
||||
_eglSetLogLevel@Base 7.8.1
|
||||
_eglSetLogProc@Base 7.8.1
|
||||
_eglSetProbeCache@Base 7.8.1
|
||||
_eglSortConfigs@Base 7.8.1
|
||||
_eglValidateConfig@Base 7.8.1
|
||||
eglBindAPI@Base 7.8.1
|
||||
eglBindTexImage@Base 7.8.1
|
||||
eglChooseConfig@Base 7.8.1
|
||||
eglChooseModeMESA@Base 7.8.1
|
||||
eglCopyBuffers@Base 7.8.1
|
||||
eglCopyContextMESA@Base 7.8.1
|
||||
eglCreateContext@Base 7.8.1
|
||||
eglCreateImageKHR@Base 7.8.1
|
||||
eglCreatePbufferFromClientBuffer@Base 7.8.1
|
||||
eglCreatePbufferSurface@Base 7.8.1
|
||||
eglCreatePixmapSurface@Base 7.8.1
|
||||
eglCreateScreenSurfaceMESA@Base 7.8.1
|
||||
eglCreateWindowSurface@Base 7.8.1
|
||||
eglDestroyContext@Base 7.8.1
|
||||
eglDestroyImageKHR@Base 7.8.1
|
||||
eglDestroySurface@Base 7.8.1
|
||||
eglGetConfigAttrib@Base 7.8.1
|
||||
eglGetConfigs@Base 7.8.1
|
||||
eglGetCurrentContext@Base 7.8.1
|
||||
eglGetCurrentDisplay@Base 7.8.1
|
||||
eglGetCurrentSurface@Base 7.8.1
|
||||
eglGetDisplay@Base 7.8.1
|
||||
eglGetError@Base 7.8.1
|
||||
eglGetModeAttribMESA@Base 7.8.1
|
||||
eglGetModesMESA@Base 7.8.1
|
||||
eglGetProcAddress@Base 7.8.1
|
||||
eglGetScreensMESA@Base 7.8.1
|
||||
eglInitialize@Base 7.8.1
|
||||
eglMakeCurrent@Base 7.8.1
|
||||
eglQueryAPI@Base 7.8.1
|
||||
eglQueryContext@Base 7.8.1
|
||||
eglQueryModeStringMESA@Base 7.8.1
|
||||
eglQueryScreenMESA@Base 7.8.1
|
||||
eglQueryScreenModeMESA@Base 7.8.1
|
||||
eglQueryScreenSurfaceMESA@Base 7.8.1
|
||||
eglQueryString@Base 7.8.1
|
||||
eglQuerySurface@Base 7.8.1
|
||||
eglReleaseTexImage@Base 7.8.1
|
||||
eglReleaseThread@Base 7.8.1
|
||||
eglScreenPositionMESA@Base 7.8.1
|
||||
eglShowScreenSurfaceMESA@Base 7.8.1
|
||||
eglSurfaceAttrib@Base 7.8.1
|
||||
eglSwapBuffers@Base 7.8.1
|
||||
eglSwapInterval@Base 7.8.1
|
||||
eglTerminate@Base 7.8.1
|
||||
eglWaitClient@Base 7.8.1
|
||||
eglWaitGL@Base 7.8.1
|
||||
eglWaitNative@Base 7.8.1
|
||||
2
debian/libgl1-mesa-dev.install
vendored
2
debian/libgl1-mesa-dev.install
vendored
@@ -1,2 +0,0 @@
|
||||
usr/lib/libGL.so
|
||||
usr/lib/pkgconfig/gl.pc
|
||||
1
debian/libgl1-mesa-dri-experimental.install
vendored
1
debian/libgl1-mesa-dri-experimental.install
vendored
@@ -1 +0,0 @@
|
||||
build/dri/glx/gallium/nouveau_dri.so usr/lib/dri
|
||||
1
debian/libgl1-mesa-dri-i686.install
vendored
1
debian/libgl1-mesa-dri-i686.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/dri/i686/cmov/*.so
|
||||
1
debian/libgl1-mesa-dri.install
vendored
1
debian/libgl1-mesa-dri.install
vendored
@@ -1 +0,0 @@
|
||||
build/dri/glx/*_dri.so usr/lib/dri/
|
||||
1
debian/libgl1-mesa-glx-i686.install
vendored
1
debian/libgl1-mesa-glx-i686.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/glx/i686/cmov/libGL.so.* usr/lib/i686/cmov
|
||||
1
debian/libgl1-mesa-glx.install
vendored
1
debian/libgl1-mesa-glx.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/glx/libGL.so.* usr/lib
|
||||
1
debian/libgl1-mesa-glx.lintian-overrides
vendored
1
debian/libgl1-mesa-glx.lintian-overrides
vendored
@@ -1 +0,0 @@
|
||||
package-name-doesnt-match-sonames libGL1
|
||||
1
debian/libgl1-mesa-glx.shlibs
vendored
1
debian/libgl1-mesa-glx.shlibs
vendored
@@ -1 +0,0 @@
|
||||
libGL 1 libgl1-mesa-glx | libgl1
|
||||
2
debian/libgl1-mesa-swx11-dev.install
vendored
2
debian/libgl1-mesa-swx11-dev.install
vendored
@@ -1,2 +0,0 @@
|
||||
usr/lib/libGL.a
|
||||
usr/lib/libGL.so
|
||||
1
debian/libgl1-mesa-swx11-i686.install
vendored
1
debian/libgl1-mesa-swx11-i686.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/i686/cmov/libGL.so.*
|
||||
1
debian/libgl1-mesa-swx11-i686.shlibs
vendored
1
debian/libgl1-mesa-swx11-i686.shlibs
vendored
@@ -1 +0,0 @@
|
||||
libGL 1 libgl1-mesa-glx | libgl1
|
||||
1
debian/libgl1-mesa-swx11.install
vendored
1
debian/libgl1-mesa-swx11.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/libGL.so.*
|
||||
1
debian/libgl1-mesa-swx11.lintian-overrides
vendored
1
debian/libgl1-mesa-swx11.lintian-overrides
vendored
@@ -1 +0,0 @@
|
||||
package-name-doesnt-match-sonames libGL1
|
||||
1
debian/libgl1-mesa-swx11.shlibs
vendored
1
debian/libgl1-mesa-swx11.shlibs
vendored
@@ -1 +0,0 @@
|
||||
libGL 1 libgl1-mesa-glx | libgl1
|
||||
3
debian/libgles1-mesa-dev.install
vendored
3
debian/libgles1-mesa-dev.install
vendored
@@ -1,3 +0,0 @@
|
||||
usr/glx/libGLESv1_CM.so usr/lib
|
||||
usr/include/GLES
|
||||
debian/glesv1_cm.pc usr/lib/pkgconfig
|
||||
1
debian/libgles1-mesa.install
vendored
1
debian/libgles1-mesa.install
vendored
@@ -1 +0,0 @@
|
||||
usr/glx/libGLESv1_CM.so.1* usr/lib
|
||||
265
debian/libgles1-mesa.symbols
vendored
265
debian/libgles1-mesa.symbols
vendored
@@ -1,265 +0,0 @@
|
||||
libGLESv1_CM.so.1 libgles1-mesa #MINVER#
|
||||
# _glapi_* are internal GL dispatch symbols. They should probably be hidden
|
||||
(regex)"^_glapi_.*@Base$" 7.8.1
|
||||
# These are optimised assembly versions of functions, accessed through a
|
||||
# dispatch table. They're arch-specific, and should probably be hidden.
|
||||
(regex|optional=mesa internal ASM optimized functions)"^_mesa_.*@Base$" 7.8.1
|
||||
_glthread_GetID@Base 7.8.1
|
||||
glActiveTexture@Base 7.8.1
|
||||
glAlphaFunc@Base 7.8.1
|
||||
glAlphaFuncx@Base 7.8.1
|
||||
glAlphaFuncxOES@Base 7.8.1
|
||||
glBindBuffer@Base 7.8.1
|
||||
glBindFramebufferOES@Base 7.8.1
|
||||
glBindRenderbufferOES@Base 7.8.1
|
||||
glBindTexture@Base 7.8.1
|
||||
glBlendEquationOES@Base 7.8.1
|
||||
glBlendEquationSeparateOES@Base 7.8.1
|
||||
glBlendFunc@Base 7.8.1
|
||||
glBlendFuncSeparateOES@Base 7.8.1
|
||||
glBufferData@Base 7.8.1
|
||||
glBufferSubData@Base 7.8.1
|
||||
glCheckFramebufferStatusOES@Base 7.8.1
|
||||
glClear@Base 7.8.1
|
||||
glClearColor@Base 7.8.1
|
||||
glClearColorx@Base 7.8.1
|
||||
glClearColorxOES@Base 7.8.1
|
||||
glClearDepthf@Base 7.8.1
|
||||
glClearDepthfOES@Base 7.8.1
|
||||
glClearDepthx@Base 7.8.1
|
||||
glClearDepthxOES@Base 7.8.1
|
||||
glClearStencil@Base 7.8.1
|
||||
glClientActiveTexture@Base 7.8.1
|
||||
glClipPlanef@Base 7.8.1
|
||||
glClipPlanefOES@Base 7.8.1
|
||||
glClipPlanex@Base 7.8.1
|
||||
glClipPlanexOES@Base 7.8.1
|
||||
glColor4f@Base 7.8.1
|
||||
glColor4ub@Base 7.8.1
|
||||
glColor4x@Base 7.8.1
|
||||
glColor4xOES@Base 7.8.1
|
||||
glColorMask@Base 7.8.1
|
||||
glColorPointer@Base 7.8.1
|
||||
glCompressedTexImage2D@Base 7.8.1
|
||||
glCompressedTexSubImage2D@Base 7.8.1
|
||||
glCopyTexImage2D@Base 7.8.1
|
||||
glCopyTexSubImage2D@Base 7.8.1
|
||||
glCullFace@Base 7.8.1
|
||||
glDeleteBuffers@Base 7.8.1
|
||||
glDeleteFramebuffersOES@Base 7.8.1
|
||||
glDeleteRenderbuffersOES@Base 7.8.1
|
||||
glDeleteTextures@Base 7.8.1
|
||||
glDepthFunc@Base 7.8.1
|
||||
glDepthMask@Base 7.8.1
|
||||
glDepthRangef@Base 7.8.1
|
||||
glDepthRangefOES@Base 7.8.1
|
||||
glDepthRangex@Base 7.8.1
|
||||
glDepthRangexOES@Base 7.8.1
|
||||
glDisable@Base 7.8.1
|
||||
glDisableClientState@Base 7.8.1
|
||||
glDrawArrays@Base 7.8.1
|
||||
glDrawElements@Base 7.8.1
|
||||
glDrawTexfOES@Base 7.8.1
|
||||
glDrawTexfvOES@Base 7.8.1
|
||||
glDrawTexiOES@Base 7.8.1
|
||||
glDrawTexivOES@Base 7.8.1
|
||||
glDrawTexsOES@Base 7.8.1
|
||||
glDrawTexsvOES@Base 7.8.1
|
||||
glDrawTexxOES@Base 7.8.1
|
||||
glDrawTexxvOES@Base 7.8.1
|
||||
glEGLImageTargetRenderbufferStorageOES@Base 7.8.1
|
||||
glEGLImageTargetTexture2DOES@Base 7.8.1
|
||||
glEnable@Base 7.8.1
|
||||
glEnableClientState@Base 7.8.1
|
||||
glFinish@Base 7.8.1
|
||||
glFlush@Base 7.8.1
|
||||
glFogf@Base 7.8.1
|
||||
glFogfv@Base 7.8.1
|
||||
glFogx@Base 7.8.1
|
||||
glFogxOES@Base 7.8.1
|
||||
glFogxv@Base 7.8.1
|
||||
glFogxvOES@Base 7.8.1
|
||||
glFramebufferRenderbufferOES@Base 7.8.1
|
||||
glFramebufferTexture2DOES@Base 7.8.1
|
||||
glFrontFace@Base 7.8.1
|
||||
glFrustumf@Base 7.8.1
|
||||
glFrustumfOES@Base 7.8.1
|
||||
glFrustumx@Base 7.8.1
|
||||
glFrustumxOES@Base 7.8.1
|
||||
glGenBuffers@Base 7.8.1
|
||||
glGenFramebuffersOES@Base 7.8.1
|
||||
glGenRenderbuffersOES@Base 7.8.1
|
||||
glGenTextures@Base 7.8.1
|
||||
glGenerateMipmapOES@Base 7.8.1
|
||||
glGetBooleanv@Base 7.8.1
|
||||
glGetBufferParameteriv@Base 7.8.1
|
||||
glGetBufferPointervOES@Base 7.8.1
|
||||
glGetClipPlanef@Base 7.8.1
|
||||
glGetClipPlanefOES@Base 7.8.1
|
||||
glGetClipPlanex@Base 7.8.1
|
||||
glGetClipPlanexOES@Base 7.8.1
|
||||
glGetError@Base 7.8.1
|
||||
glGetFixedv@Base 7.8.1
|
||||
glGetFixedvOES@Base 7.8.1
|
||||
glGetFloatv@Base 7.8.1
|
||||
glGetFramebufferAttachmentParameterivOES@Base 7.8.1
|
||||
glGetIntegerv@Base 7.8.1
|
||||
glGetLightfv@Base 7.8.1
|
||||
glGetLightxv@Base 7.8.1
|
||||
glGetLightxvOES@Base 7.8.1
|
||||
glGetMaterialfv@Base 7.8.1
|
||||
glGetMaterialxv@Base 7.8.1
|
||||
glGetMaterialxvOES@Base 7.8.1
|
||||
glGetPointerv@Base 7.8.1
|
||||
glGetRenderbufferParameterivOES@Base 7.8.1
|
||||
glGetString@Base 7.8.1
|
||||
glGetTexEnvfv@Base 7.8.1
|
||||
glGetTexEnviv@Base 7.8.1
|
||||
glGetTexEnvxv@Base 7.8.1
|
||||
glGetTexEnvxvOES@Base 7.8.1
|
||||
glGetTexGenfvOES@Base 7.8.1
|
||||
glGetTexGenivOES@Base 7.8.1
|
||||
glGetTexGenxvOES@Base 7.8.1
|
||||
glGetTexParameterfv@Base 7.8.1
|
||||
glGetTexParameteriv@Base 7.8.1
|
||||
glGetTexParameterxv@Base 7.8.1
|
||||
glGetTexParameterxvOES@Base 7.8.1
|
||||
glHint@Base 7.8.1
|
||||
glIsBuffer@Base 7.8.1
|
||||
glIsEnabled@Base 7.8.1
|
||||
glIsFramebufferOES@Base 7.8.1
|
||||
glIsRenderbufferOES@Base 7.8.1
|
||||
glIsTexture@Base 7.8.1
|
||||
glLightModelf@Base 7.8.1
|
||||
glLightModelfv@Base 7.8.1
|
||||
glLightModelx@Base 7.8.1
|
||||
glLightModelxOES@Base 7.8.1
|
||||
glLightModelxv@Base 7.8.1
|
||||
glLightModelxvOES@Base 7.8.1
|
||||
glLightf@Base 7.8.1
|
||||
glLightfv@Base 7.8.1
|
||||
glLightx@Base 7.8.1
|
||||
glLightxOES@Base 7.8.1
|
||||
glLightxv@Base 7.8.1
|
||||
glLightxvOES@Base 7.8.1
|
||||
glLineWidth@Base 7.8.1
|
||||
glLineWidthx@Base 7.8.1
|
||||
glLineWidthxOES@Base 7.8.1
|
||||
glLoadIdentity@Base 7.8.1
|
||||
glLoadMatrixf@Base 7.8.1
|
||||
glLoadMatrixx@Base 7.8.1
|
||||
glLoadMatrixxOES@Base 7.8.1
|
||||
glLogicOp@Base 7.8.1
|
||||
glMapBufferOES@Base 7.8.1
|
||||
glMaterialf@Base 7.8.1
|
||||
glMaterialfv@Base 7.8.1
|
||||
glMaterialx@Base 7.8.1
|
||||
glMaterialxOES@Base 7.8.1
|
||||
glMaterialxv@Base 7.8.1
|
||||
glMaterialxvOES@Base 7.8.1
|
||||
glMatrixMode@Base 7.8.1
|
||||
glMultMatrixf@Base 7.8.1
|
||||
glMultMatrixx@Base 7.8.1
|
||||
glMultMatrixxOES@Base 7.8.1
|
||||
glMultiDrawArraysEXT@Base 7.8.1
|
||||
glMultiDrawElementsEXT@Base 7.8.1
|
||||
glMultiTexCoord4f@Base 7.8.1
|
||||
glMultiTexCoord4x@Base 7.8.1
|
||||
glMultiTexCoord4xOES@Base 7.8.1
|
||||
glNormal3f@Base 7.8.1
|
||||
glNormal3x@Base 7.8.1
|
||||
glNormal3xOES@Base 7.8.1
|
||||
glNormalPointer@Base 7.8.1
|
||||
glOrthof@Base 7.8.1
|
||||
glOrthofOES@Base 7.8.1
|
||||
glOrthox@Base 7.8.1
|
||||
glOrthoxOES@Base 7.8.1
|
||||
glPixelStorei@Base 7.8.1
|
||||
glPointParameterf@Base 7.8.1
|
||||
glPointParameterfv@Base 7.8.1
|
||||
glPointParameterx@Base 7.8.1
|
||||
glPointParameterxOES@Base 7.8.1
|
||||
glPointParameterxv@Base 7.8.1
|
||||
glPointParameterxvOES@Base 7.8.1
|
||||
glPointSize@Base 7.8.1
|
||||
glPointSizePointerOES@Base 7.8.1
|
||||
glPointSizex@Base 7.8.1
|
||||
glPointSizexOES@Base 7.8.1
|
||||
glPolygonOffset@Base 7.8.1
|
||||
glPolygonOffsetx@Base 7.8.1
|
||||
glPolygonOffsetxOES@Base 7.8.1
|
||||
glPopMatrix@Base 7.8.1
|
||||
glPushMatrix@Base 7.8.1
|
||||
glQueryMatrixxOES@Base 7.8.1
|
||||
glReadPixels@Base 7.8.1
|
||||
glRenderbufferStorageOES@Base 7.8.1
|
||||
glRotatef@Base 7.8.1
|
||||
glRotatex@Base 7.8.1
|
||||
glRotatexOES@Base 7.8.1
|
||||
glSampleCoverage@Base 7.8.1
|
||||
glSampleCoveragex@Base 7.8.1
|
||||
glSampleCoveragexOES@Base 7.8.1
|
||||
glScalef@Base 7.8.1
|
||||
glScalex@Base 7.8.1
|
||||
glScalexOES@Base 7.8.1
|
||||
glScissor@Base 7.8.1
|
||||
glShadeModel@Base 7.8.1
|
||||
glStencilFunc@Base 7.8.1
|
||||
glStencilMask@Base 7.8.1
|
||||
glStencilOp@Base 7.8.1
|
||||
glTexCoordPointer@Base 7.8.1
|
||||
glTexEnvf@Base 7.8.1
|
||||
glTexEnvfv@Base 7.8.1
|
||||
glTexEnvi@Base 7.8.1
|
||||
glTexEnviv@Base 7.8.1
|
||||
glTexEnvx@Base 7.8.1
|
||||
glTexEnvxOES@Base 7.8.1
|
||||
glTexEnvxv@Base 7.8.1
|
||||
glTexEnvxvOES@Base 7.8.1
|
||||
glTexGenfOES@Base 7.8.1
|
||||
glTexGenfvOES@Base 7.8.1
|
||||
glTexGeniOES@Base 7.8.1
|
||||
glTexGenivOES@Base 7.8.1
|
||||
glTexGenxOES@Base 7.8.1
|
||||
glTexGenxvOES@Base 7.8.1
|
||||
glTexImage2D@Base 7.8.1
|
||||
glTexParameterf@Base 7.8.1
|
||||
glTexParameterfv@Base 7.8.1
|
||||
glTexParameteri@Base 7.8.1
|
||||
glTexParameteriv@Base 7.8.1
|
||||
glTexParameterx@Base 7.8.1
|
||||
glTexParameterxOES@Base 7.8.1
|
||||
glTexParameterxv@Base 7.8.1
|
||||
glTexParameterxvOES@Base 7.8.1
|
||||
glTexSubImage2D@Base 7.8.1
|
||||
glTranslatef@Base 7.8.1
|
||||
glTranslatex@Base 7.8.1
|
||||
glTranslatexOES@Base 7.8.1
|
||||
glUnmapBufferOES@Base 7.8.1
|
||||
glVertexPointer@Base 7.8.1
|
||||
glViewport@Base 7.8.1
|
||||
# These are internal gallium statetracker symbols.
|
||||
# They should probably be hidden
|
||||
st_api_OpenGL_ES1@Base 7.8.1
|
||||
st_bind_teximage@Base 7.8.1
|
||||
st_bind_texture_surface@Base 7.8.1
|
||||
st_copy_context_state@Base 7.8.1
|
||||
st_create_context@Base 7.8.1
|
||||
st_create_framebuffer@Base 7.8.1
|
||||
st_destroy_context@Base 7.8.1
|
||||
st_finish@Base 7.8.1
|
||||
st_flush@Base 7.8.1
|
||||
st_framebuffer_private@Base 7.8.1
|
||||
st_get_current@Base 7.8.1
|
||||
st_get_framebuffer_dimensions@Base 7.8.1
|
||||
st_get_framebuffer_surface@Base 7.8.1
|
||||
st_get_framebuffer_texture@Base 7.8.1
|
||||
st_get_proc_address@Base 7.8.1
|
||||
st_make_current@Base 7.8.1
|
||||
st_notify_swapbuffers@Base 7.8.1
|
||||
st_release_teximage@Base 7.8.1
|
||||
st_resize_framebuffer@Base 7.8.1
|
||||
st_set_framebuffer_surface@Base 7.8.1
|
||||
st_swapbuffers@Base 7.8.1
|
||||
st_unbind_texture_surface@Base 7.8.1
|
||||
st_unreference_framebuffer@Base 7.8.1
|
||||
3
debian/libgles2-mesa-dev.install
vendored
3
debian/libgles2-mesa-dev.install
vendored
@@ -1,3 +0,0 @@
|
||||
usr/glx/libGLESv2.so usr/lib
|
||||
usr/include/GLES2
|
||||
debian/glesv2.pc usr/lib/pkgconfig
|
||||
1
debian/libgles2-mesa.install
vendored
1
debian/libgles2-mesa.install
vendored
@@ -1 +0,0 @@
|
||||
usr/glx/libGLESv2.so.2* usr/lib
|
||||
189
debian/libgles2-mesa.symbols
vendored
189
debian/libgles2-mesa.symbols
vendored
@@ -1,189 +0,0 @@
|
||||
libGLESv2.so.2 libgles2-mesa #MINVER#
|
||||
# _glapi_* are internal GL dispatch symbols. They should probably be hidden.
|
||||
(regex)"^_glapi_.*@Base$" 7.8.1
|
||||
# These are optimised assembly versions of functions, accessed through a
|
||||
# dispatch table. They're arch-specific, and should probably be hidden.
|
||||
(regex|optional=mesa internal ASM optimized functions)"^_mesa_.*@Base$" 7.8.1
|
||||
_glthread_GetID@Base 7.8.1
|
||||
glActiveTexture@Base 7.8.1
|
||||
glAttachShader@Base 7.8.1
|
||||
glBindAttribLocation@Base 7.8.1
|
||||
glBindBuffer@Base 7.8.1
|
||||
glBindFramebuffer@Base 7.8.1
|
||||
glBindRenderbuffer@Base 7.8.1
|
||||
glBindTexture@Base 7.8.1
|
||||
glBlendColor@Base 7.8.1
|
||||
glBlendEquation@Base 7.8.1
|
||||
glBlendEquationSeparate@Base 7.8.1
|
||||
glBlendFunc@Base 7.8.1
|
||||
glBlendFuncSeparate@Base 7.8.1
|
||||
glBufferData@Base 7.8.1
|
||||
glBufferSubData@Base 7.8.1
|
||||
glCheckFramebufferStatus@Base 7.8.1
|
||||
glClear@Base 7.8.1
|
||||
glClearColor@Base 7.8.1
|
||||
glClearDepthf@Base 7.8.1
|
||||
glClearStencil@Base 7.8.1
|
||||
glColorMask@Base 7.8.1
|
||||
glCompileShader@Base 7.8.1
|
||||
glCompressedTexImage2D@Base 7.8.1
|
||||
glCompressedTexImage3DOES@Base 7.8.1
|
||||
glCompressedTexSubImage2D@Base 7.8.1
|
||||
glCompressedTexSubImage3DOES@Base 7.8.1
|
||||
glCopyTexImage2D@Base 7.8.1
|
||||
glCopyTexSubImage2D@Base 7.8.1
|
||||
glCopyTexSubImage3DOES@Base 7.8.1
|
||||
glCreateProgram@Base 7.8.1
|
||||
glCreateShader@Base 7.8.1
|
||||
glCullFace@Base 7.8.1
|
||||
glDeleteBuffers@Base 7.8.1
|
||||
glDeleteFramebuffers@Base 7.8.1
|
||||
glDeleteProgram@Base 7.8.1
|
||||
glDeleteRenderbuffers@Base 7.8.1
|
||||
glDeleteShader@Base 7.8.1
|
||||
glDeleteTextures@Base 7.8.1
|
||||
glDepthFunc@Base 7.8.1
|
||||
glDepthMask@Base 7.8.1
|
||||
glDepthRangef@Base 7.8.1
|
||||
glDetachShader@Base 7.8.1
|
||||
glDisable@Base 7.8.1
|
||||
glDisableVertexAttribArray@Base 7.8.1
|
||||
glDrawArrays@Base 7.8.1
|
||||
glDrawElements@Base 7.8.1
|
||||
glEGLImageTargetRenderbufferStorageOES@Base 7.8.1
|
||||
glEGLImageTargetTexture2DOES@Base 7.8.1
|
||||
glEnable@Base 7.8.1
|
||||
glEnableVertexAttribArray@Base 7.8.1
|
||||
glFinish@Base 7.8.1
|
||||
glFlush@Base 7.8.1
|
||||
glFramebufferRenderbuffer@Base 7.8.1
|
||||
glFramebufferTexture2D@Base 7.8.1
|
||||
glFramebufferTexture3DOES@Base 7.8.1
|
||||
glFrontFace@Base 7.8.1
|
||||
glGenBuffers@Base 7.8.1
|
||||
glGenFramebuffers@Base 7.8.1
|
||||
glGenRenderbuffers@Base 7.8.1
|
||||
glGenTextures@Base 7.8.1
|
||||
glGenerateMipmap@Base 7.8.1
|
||||
glGetActiveAttrib@Base 7.8.1
|
||||
glGetActiveUniform@Base 7.8.1
|
||||
glGetAttachedShaders@Base 7.8.1
|
||||
glGetAttribLocation@Base 7.8.1
|
||||
glGetBooleanv@Base 7.8.1
|
||||
glGetBufferParameteriv@Base 7.8.1
|
||||
glGetBufferPointervOES@Base 7.8.1
|
||||
glGetError@Base 7.8.1
|
||||
glGetFloatv@Base 7.8.1
|
||||
glGetFramebufferAttachmentParameteriv@Base 7.8.1
|
||||
glGetIntegerv@Base 7.8.1
|
||||
glGetProgramBinaryOES@Base 7.8.1
|
||||
glGetProgramInfoLog@Base 7.8.1
|
||||
glGetProgramiv@Base 7.8.1
|
||||
glGetRenderbufferParameteriv@Base 7.8.1
|
||||
glGetShaderInfoLog@Base 7.8.1
|
||||
glGetShaderPrecisionFormat@Base 7.8.1
|
||||
glGetShaderSource@Base 7.8.1
|
||||
glGetShaderiv@Base 7.8.1
|
||||
glGetString@Base 7.8.1
|
||||
glGetTexParameterfv@Base 7.8.1
|
||||
glGetTexParameteriv@Base 7.8.1
|
||||
glGetUniformLocation@Base 7.8.1
|
||||
glGetUniformfv@Base 7.8.1
|
||||
glGetUniformiv@Base 7.8.1
|
||||
glGetVertexAttribPointerv@Base 7.8.1
|
||||
glGetVertexAttribfv@Base 7.8.1
|
||||
glGetVertexAttribiv@Base 7.8.1
|
||||
glHint@Base 7.8.1
|
||||
glIsBuffer@Base 7.8.1
|
||||
glIsEnabled@Base 7.8.1
|
||||
glIsFramebuffer@Base 7.8.1
|
||||
glIsProgram@Base 7.8.1
|
||||
glIsRenderbuffer@Base 7.8.1
|
||||
glIsShader@Base 7.8.1
|
||||
glIsTexture@Base 7.8.1
|
||||
glLineWidth@Base 7.8.1
|
||||
glLinkProgram@Base 7.8.1
|
||||
glMapBufferOES@Base 7.8.1
|
||||
glMultiDrawArraysEXT@Base 7.8.1
|
||||
glMultiDrawElementsEXT@Base 7.8.1
|
||||
glPixelStorei@Base 7.8.1
|
||||
glPolygonOffset@Base 7.8.1
|
||||
glProgramBinaryOES@Base 7.8.1
|
||||
glReadPixels@Base 7.8.1
|
||||
glReleaseShaderCompiler@Base 7.8.1
|
||||
glRenderbufferStorage@Base 7.8.1
|
||||
glSampleCoverage@Base 7.8.1
|
||||
glScissor@Base 7.8.1
|
||||
glShaderBinary@Base 7.8.1
|
||||
glShaderSource@Base 7.8.1
|
||||
glStencilFunc@Base 7.8.1
|
||||
glStencilFuncSeparate@Base 7.8.1
|
||||
glStencilMask@Base 7.8.1
|
||||
glStencilMaskSeparate@Base 7.8.1
|
||||
glStencilOp@Base 7.8.1
|
||||
glStencilOpSeparate@Base 7.8.1
|
||||
glTexImage2D@Base 7.8.1
|
||||
glTexImage3DOES@Base 7.8.1
|
||||
glTexParameterf@Base 7.8.1
|
||||
glTexParameterfv@Base 7.8.1
|
||||
glTexParameteri@Base 7.8.1
|
||||
glTexParameteriv@Base 7.8.1
|
||||
glTexSubImage2D@Base 7.8.1
|
||||
glTexSubImage3DOES@Base 7.8.1
|
||||
glUniform1f@Base 7.8.1
|
||||
glUniform1fv@Base 7.8.1
|
||||
glUniform1i@Base 7.8.1
|
||||
glUniform1iv@Base 7.8.1
|
||||
glUniform2f@Base 7.8.1
|
||||
glUniform2fv@Base 7.8.1
|
||||
glUniform2i@Base 7.8.1
|
||||
glUniform2iv@Base 7.8.1
|
||||
glUniform3f@Base 7.8.1
|
||||
glUniform3fv@Base 7.8.1
|
||||
glUniform3i@Base 7.8.1
|
||||
glUniform3iv@Base 7.8.1
|
||||
glUniform4f@Base 7.8.1
|
||||
glUniform4fv@Base 7.8.1
|
||||
glUniform4i@Base 7.8.1
|
||||
glUniform4iv@Base 7.8.1
|
||||
glUniformMatrix2fv@Base 7.8.1
|
||||
glUniformMatrix3fv@Base 7.8.1
|
||||
glUniformMatrix4fv@Base 7.8.1
|
||||
glUnmapBufferOES@Base 7.8.1
|
||||
glUseProgram@Base 7.8.1
|
||||
glValidateProgram@Base 7.8.1
|
||||
glVertexAttrib1f@Base 7.8.1
|
||||
glVertexAttrib1fv@Base 7.8.1
|
||||
glVertexAttrib2f@Base 7.8.1
|
||||
glVertexAttrib2fv@Base 7.8.1
|
||||
glVertexAttrib3f@Base 7.8.1
|
||||
glVertexAttrib3fv@Base 7.8.1
|
||||
glVertexAttrib4f@Base 7.8.1
|
||||
glVertexAttrib4fv@Base 7.8.1
|
||||
glVertexAttribPointer@Base 7.8.1
|
||||
glViewport@Base 7.8.1
|
||||
# These are internal gallium statetracker symbols.
|
||||
# They should probably be hidden
|
||||
st_api_OpenGL_ES2@Base 7.8.1
|
||||
st_bind_teximage@Base 7.8.1
|
||||
st_bind_texture_surface@Base 7.8.1
|
||||
st_copy_context_state@Base 7.8.1
|
||||
st_create_context@Base 7.8.1
|
||||
st_create_framebuffer@Base 7.8.1
|
||||
st_destroy_context@Base 7.8.1
|
||||
st_finish@Base 7.8.1
|
||||
st_flush@Base 7.8.1
|
||||
st_framebuffer_private@Base 7.8.1
|
||||
st_get_current@Base 7.8.1
|
||||
st_get_framebuffer_dimensions@Base 7.8.1
|
||||
st_get_framebuffer_surface@Base 7.8.1
|
||||
st_get_framebuffer_texture@Base 7.8.1
|
||||
st_get_proc_address@Base 7.8.1
|
||||
st_make_current@Base 7.8.1
|
||||
st_notify_swapbuffers@Base 7.8.1
|
||||
st_release_teximage@Base 7.8.1
|
||||
st_resize_framebuffer@Base 7.8.1
|
||||
st_set_framebuffer_surface@Base 7.8.1
|
||||
st_swapbuffers@Base 7.8.1
|
||||
st_unbind_texture_surface@Base 7.8.1
|
||||
st_unreference_framebuffer@Base 7.8.1
|
||||
5
debian/libglu1-mesa-dev.install
vendored
5
debian/libglu1-mesa-dev.install
vendored
@@ -1,5 +0,0 @@
|
||||
usr/include/GL/glu.h
|
||||
usr/include/GL/glu_mangle.h
|
||||
usr/lib/libGLU.a
|
||||
usr/lib/libGLU.so
|
||||
usr/lib/pkgconfig/glu.pc
|
||||
1
debian/libglu1-mesa.install
vendored
1
debian/libglu1-mesa.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/libGLU.so.*
|
||||
1
debian/libglu1-mesa.lintian-overrides
vendored
1
debian/libglu1-mesa.lintian-overrides
vendored
@@ -1 +0,0 @@
|
||||
package-name-doesnt-match-sonames libGLU1
|
||||
1
debian/libglu1-mesa.shlibs
vendored
1
debian/libglu1-mesa.shlibs
vendored
@@ -1 +0,0 @@
|
||||
libGLU 1 libglu1-mesa | libglu1
|
||||
4
debian/libglw1-mesa-dev.install
vendored
4
debian/libglw1-mesa-dev.install
vendored
@@ -1,4 +0,0 @@
|
||||
usr/include/GL/GLw*A.h
|
||||
usr/lib/libGLw.a
|
||||
usr/lib/libGLw.so
|
||||
usr/lib/pkgconfig/glw.pc
|
||||
1
debian/libglw1-mesa.install
vendored
1
debian/libglw1-mesa.install
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/libGLw.so.*
|
||||
1
debian/libglw1-mesa.lintian-overrides
vendored
1
debian/libglw1-mesa.lintian-overrides
vendored
@@ -1 +0,0 @@
|
||||
package-name-doesnt-match-sonames libGLw1
|
||||
1
debian/libglw1-mesa.shlibs
vendored
1
debian/libglw1-mesa.shlibs
vendored
@@ -1 +0,0 @@
|
||||
libGLw 1 libglw1-mesa | libglw1
|
||||
3
debian/libopenvg1-mesa-dev.install
vendored
3
debian/libopenvg1-mesa-dev.install
vendored
@@ -1,3 +0,0 @@
|
||||
usr/glx/libOpenVG.so usr/lib
|
||||
usr/include/VG
|
||||
debian/vg.pc usr/lib/pkgconfig
|
||||
1
debian/libopenvg1-mesa.install
vendored
1
debian/libopenvg1-mesa.install
vendored
@@ -1 +0,0 @@
|
||||
usr/glx/libOpenVG.so.1* usr/lib
|
||||
106
debian/libopenvg1-mesa.symbols
vendored
106
debian/libopenvg1-mesa.symbols
vendored
@@ -1,106 +0,0 @@
|
||||
libOpenVG.so.1 libopenvg1-mesa #MINVER#
|
||||
st_api_OpenVG@Base 7.8.1
|
||||
st_bind_texture_surface@Base 7.8.1
|
||||
st_copy_context_state@Base 7.8.1
|
||||
st_create_context@Base 7.8.1
|
||||
st_create_framebuffer@Base 7.8.1
|
||||
st_destroy_context@Base 7.8.1
|
||||
st_finish@Base 7.8.1
|
||||
st_flush@Base 7.8.1
|
||||
st_framebuffer_private@Base 7.8.1
|
||||
st_get_current@Base 7.8.1
|
||||
st_get_framebuffer_dimensions@Base 7.8.1
|
||||
st_get_framebuffer_surface@Base 7.8.1
|
||||
st_get_framebuffer_texture@Base 7.8.1
|
||||
st_get_proc_address@Base 7.8.1
|
||||
st_make_current@Base 7.8.1
|
||||
st_notify_swapbuffers@Base 7.8.1
|
||||
st_notify_swapbuffers_complete@Base 7.8.1
|
||||
st_resize_framebuffer@Base 7.8.1
|
||||
st_set_framebuffer_surface@Base 7.8.1
|
||||
st_unbind_texture_surface@Base 7.8.1
|
||||
st_unreference_framebuffer@Base 7.8.1
|
||||
vgAppendPath@Base 7.8.1
|
||||
vgAppendPathData@Base 7.8.1
|
||||
vgChildImage@Base 7.8.1
|
||||
vgClear@Base 7.8.1
|
||||
vgClearImage@Base 7.8.1
|
||||
vgClearPath@Base 7.8.1
|
||||
vgColorMatrix@Base 7.8.1
|
||||
vgConvolve@Base 7.8.1
|
||||
vgCopyImage@Base 7.8.1
|
||||
vgCopyPixels@Base 7.8.1
|
||||
vgCreateImage@Base 7.8.1
|
||||
vgCreatePaint@Base 7.8.1
|
||||
vgCreatePath@Base 7.8.1
|
||||
vgDestroyImage@Base 7.8.1
|
||||
vgDestroyPaint@Base 7.8.1
|
||||
vgDestroyPath@Base 7.8.1
|
||||
vgDrawImage@Base 7.8.1
|
||||
vgDrawPath@Base 7.8.1
|
||||
vgFinish@Base 7.8.1
|
||||
vgFlush@Base 7.8.1
|
||||
vgGaussianBlur@Base 7.8.1
|
||||
vgGetColor@Base 7.8.1
|
||||
vgGetError@Base 7.8.1
|
||||
vgGetImageSubData@Base 7.8.1
|
||||
vgGetMatrix@Base 7.8.1
|
||||
vgGetPaint@Base 7.8.1
|
||||
vgGetParameterVectorSize@Base 7.8.1
|
||||
vgGetParameterf@Base 7.8.1
|
||||
vgGetParameterfv@Base 7.8.1
|
||||
vgGetParameteri@Base 7.8.1
|
||||
vgGetParameteriv@Base 7.8.1
|
||||
vgGetParent@Base 7.8.1
|
||||
vgGetPathCapabilities@Base 7.8.1
|
||||
vgGetPixels@Base 7.8.1
|
||||
vgGetString@Base 7.8.1
|
||||
vgGetVectorSize@Base 7.8.1
|
||||
vgGetf@Base 7.8.1
|
||||
vgGetfv@Base 7.8.1
|
||||
vgGeti@Base 7.8.1
|
||||
vgGetiv@Base 7.8.1
|
||||
vgHardwareQuery@Base 7.8.1
|
||||
vgImageSubData@Base 7.8.1
|
||||
vgInterpolatePath@Base 7.8.1
|
||||
vgLoadIdentity@Base 7.8.1
|
||||
vgLoadMatrix@Base 7.8.1
|
||||
vgLookup@Base 7.8.1
|
||||
vgLookupSingle@Base 7.8.1
|
||||
vgMask@Base 7.8.1
|
||||
vgModifyPathCoords@Base 7.8.1
|
||||
vgMultMatrix@Base 7.8.1
|
||||
vgPaintPattern@Base 7.8.1
|
||||
vgPathBounds@Base 7.8.1
|
||||
vgPathLength@Base 7.8.1
|
||||
vgPathTransformedBounds@Base 7.8.1
|
||||
vgPointAlongPath@Base 7.8.1
|
||||
vgReadPixels@Base 7.8.1
|
||||
vgRemovePathCapabilities@Base 7.8.1
|
||||
vgRotate@Base 7.8.1
|
||||
vgScale@Base 7.8.1
|
||||
vgSeparableConvolve@Base 7.8.1
|
||||
vgSetColor@Base 7.8.1
|
||||
vgSetPaint@Base 7.8.1
|
||||
vgSetParameterf@Base 7.8.1
|
||||
vgSetParameterfv@Base 7.8.1
|
||||
vgSetParameteri@Base 7.8.1
|
||||
vgSetParameteriv@Base 7.8.1
|
||||
vgSetPixels@Base 7.8.1
|
||||
vgSetf@Base 7.8.1
|
||||
vgSetfv@Base 7.8.1
|
||||
vgSeti@Base 7.8.1
|
||||
vgSetiv@Base 7.8.1
|
||||
vgShear@Base 7.8.1
|
||||
vgTransformPath@Base 7.8.1
|
||||
vgTranslate@Base 7.8.1
|
||||
vgWritePixels@Base 7.8.1
|
||||
vguArc@Base 7.8.1
|
||||
vguComputeWarpQuadToQuad@Base 7.8.1
|
||||
vguComputeWarpQuadToSquare@Base 7.8.1
|
||||
vguComputeWarpSquareToQuad@Base 7.8.1
|
||||
vguEllipse@Base 7.8.1
|
||||
vguLine@Base 7.8.1
|
||||
vguPolygon@Base 7.8.1
|
||||
vguRect@Base 7.8.1
|
||||
vguRoundRect@Base 7.8.1
|
||||
8
debian/libosmesa6-dev.install
vendored
8
debian/libosmesa6-dev.install
vendored
@@ -1,8 +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
|
||||
usr/lib/pkgconfig/osmesa.pc
|
||||
3
debian/libosmesa6.install
vendored
3
debian/libosmesa6.install
vendored
@@ -1,3 +0,0 @@
|
||||
usr/lib/libOSMesa.so.*
|
||||
usr/lib/libOSMesa16.so.*
|
||||
usr/lib/libOSMesa32.so.*
|
||||
3
debian/libosmesa6.shlibs
vendored
3
debian/libosmesa6.shlibs
vendored
@@ -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)
|
||||
8
debian/mesa-common-dev.docs
vendored
8
debian/mesa-common-dev.docs
vendored
@@ -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
|
||||
8
debian/mesa-common-dev.install
vendored
8
debian/mesa-common-dev.install
vendored
@@ -1,8 +0,0 @@
|
||||
usr/include/GL/gl.h
|
||||
usr/include/GL/glext.h
|
||||
usr/include/GL/gl_mangle.h
|
||||
usr/include/GL/glx.h
|
||||
usr/include/GL/glxext.h
|
||||
usr/include/GL/glx_mangle.h
|
||||
usr/include/GL/internal/dri_interface.h
|
||||
usr/lib/glx/pkgconfig/dri.pc usr/lib/pkgconfig/
|
||||
4
debian/mesa-utils.install
vendored
4
debian/mesa-utils.install
vendored
@@ -1,4 +0,0 @@
|
||||
usr/bin/glxdemo
|
||||
usr/bin/glxgears
|
||||
usr/bin/glxheads
|
||||
usr/bin/glxinfo
|
||||
4
debian/mesa-utils.manpages
vendored
4
debian/mesa-utils.manpages
vendored
@@ -1,4 +0,0 @@
|
||||
debian/glxdemo.1
|
||||
debian/glxgears.1
|
||||
debian/glxheads.1
|
||||
debian/glxinfo.1
|
||||
@@ -1,21 +0,0 @@
|
||||
Patch that fixes Debian bug #349437.
|
||||
|
||||
This patch by David Nusinow.
|
||||
|
||||
---
|
||||
src/mesa/main/compiler.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/src/mesa/main/compiler.h
|
||||
+++ b/src/mesa/main/compiler.h
|
||||
@@ -353,8 +353,9 @@ static INLINE GLuint CPU_TO_LE32(GLuint
|
||||
* 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(__x86_64__) || \
|
||||
+ defined(__m68k__) || \
|
||||
defined(ia64) || defined(__ia64__) || \
|
||||
defined(__hppa__) || defined(hpux) || \
|
||||
defined(__mips) || defined(_MIPS_ARCH) || \
|
||||
@@ -1,56 +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.
|
||||
--
|
||||
Also remove references to GLU library since it is not required
|
||||
and we don't actually build it at this point.
|
||||
|
||||
|
||||
---
|
||||
progs/Makefile | 6 +++++-
|
||||
progs/xdemos/Makefile | 7 ++++++-
|
||||
2 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/progs/xdemos/Makefile
|
||||
+++ b/progs/xdemos/Makefile
|
||||
@@ -13,7 +13,7 @@ APP_LIB_DEPS += -lX11 -lpthread
|
||||
|
||||
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(libdir) $(APP_LIB_DEPS)
|
||||
|
||||
-PROGS = \
|
||||
+PROGS ?= \
|
||||
corender \
|
||||
glsync \
|
||||
glthreads \
|
||||
@@ -68,6 +68,11 @@ default: $(PROGS)
|
||||
extra: $(EXTRA_PROGS)
|
||||
|
||||
|
||||
+install: $(PROGS)
|
||||
+ $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/bin
|
||||
+ $(INSTALL) -m 755 $(PROGS) $(DESTDIR)$(INSTALL_DIR)/bin
|
||||
+
|
||||
+
|
||||
clean:
|
||||
-rm -f $(PROGS) $(EXTRA_PROGS)
|
||||
-rm -f *.o *~
|
||||
--- a/progs/Makefile
|
||||
+++ b/progs/Makefile
|
||||
@@ -21,8 +21,12 @@ subdirs:
|
||||
fi \
|
||||
done
|
||||
|
||||
-# Dummy install target
|
||||
install:
|
||||
+ @for dir in $(SUBDIRS) ; do \
|
||||
+ if [ -d $$dir ] ; then \
|
||||
+ (cd $$dir ; $(MAKE) install) ; \
|
||||
+ fi \
|
||||
+ done
|
||||
|
||||
clean:
|
||||
@list='$(SUBDIRS)'; for dir in $$list tests ; do \
|
||||
15
debian/patches/04_osmesa_version.diff
vendored
15
debian/patches/04_osmesa_version.diff
vendored
@@ -1,15 +0,0 @@
|
||||
---
|
||||
src/mesa/drivers/osmesa/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/src/mesa/drivers/osmesa/Makefile
|
||||
+++ b/src/mesa/drivers/osmesa/Makefile
|
||||
@@ -43,7 +43,7 @@ default: $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_
|
||||
# -DCHAN_BITS=16/32.
|
||||
$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(CORE_MESA)
|
||||
$(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
|
||||
- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
|
||||
+ -major 6 -minor 5 -patch 3 \
|
||||
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
|
||||
-id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
|
||||
$(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
|
||||
57
debian/patches/05_hurd-ftbfs.diff
vendored
57
debian/patches/05_hurd-ftbfs.diff
vendored
@@ -1,57 +0,0 @@
|
||||
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||
Subject: Fix build on GNU/Hurd
|
||||
|
||||
---
|
||||
configure.ac | 27 +++++++++++++++------------
|
||||
1 file changed, 15 insertions(+), 12 deletions(-)
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -578,6 +578,13 @@ else
|
||||
enable_xcb=no
|
||||
fi
|
||||
|
||||
+dnl Direct rendering or just indirect rendering
|
||||
+AC_ARG_ENABLE([driglx-direct],
|
||||
+ [AS_HELP_STRING([--disable-driglx-direct],
|
||||
+ [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
|
||||
+ [driglx_direct="$enableval"],
|
||||
+ [driglx_direct="yes"])
|
||||
+
|
||||
dnl
|
||||
dnl libGL configuration per driver
|
||||
dnl
|
||||
@@ -611,12 +618,14 @@ dri)
|
||||
AC_MSG_ERROR([Can't use static libraries for DRI drivers])
|
||||
fi
|
||||
|
||||
- # Check for libdrm
|
||||
- PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
|
||||
- PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
|
||||
- PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
|
||||
- GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
|
||||
- DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
|
||||
+ if test x"$driglx_direct" = xyes; then
|
||||
+ # Check for libdrm
|
||||
+ PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
|
||||
+ PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
|
||||
+ PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
|
||||
+ GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
|
||||
+ DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
|
||||
+ fi
|
||||
|
||||
# find the DRI deps for libGL
|
||||
if test "$x11_pkgconfig" = yes; then
|
||||
@@ -690,12 +699,6 @@ AC_ARG_WITH([dri-searchpath],
|
||||
[DRI_DRIVER_SEARCH_DIR="$withval"],
|
||||
[DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
|
||||
AC_SUBST([DRI_DRIVER_SEARCH_DIR])
|
||||
-dnl Direct rendering or just indirect rendering
|
||||
-AC_ARG_ENABLE([driglx-direct],
|
||||
- [AS_HELP_STRING([--disable-driglx-direct],
|
||||
- [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
|
||||
- [driglx_direct="$enableval"],
|
||||
- [driglx_direct="yes"])
|
||||
dnl Which drivers to build - default is chosen by platform
|
||||
AC_ARG_WITH([dri-drivers],
|
||||
[AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
|
||||
21
debian/patches/06_kfreebsd-ftbfs.diff
vendored
21
debian/patches/06_kfreebsd-ftbfs.diff
vendored
@@ -1,21 +0,0 @@
|
||||
From: Aurelien Jarno <aurel32@debian.org>
|
||||
|
||||
mesa fails to build on GNU/kFreeBSD, since some parts are not enabled.
|
||||
|
||||
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524690
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -770,7 +770,7 @@ if test "$mesa_driver" = dri; then
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
- freebsd* | dragonfly*)
|
||||
+ freebsd* | dragonfly* | kfreebsd*-gnu*)
|
||||
DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
|
||||
DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
|
||||
DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
|
||||
5
debian/patches/series
vendored
5
debian/patches/series
vendored
@@ -1,5 +0,0 @@
|
||||
02_use-ieee-fp-on-s390-and-m68k.patch
|
||||
03_optional-progs-and-install.patch
|
||||
04_osmesa_version.diff
|
||||
05_hurd-ftbfs.diff
|
||||
06_kfreebsd-ftbfs.diff
|
||||
308
debian/rules
vendored
308
debian/rules
vendored
@@ -1,308 +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
|
||||
|
||||
CFLAGS = -Wall -g
|
||||
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
|
||||
CFLAGS += -O0
|
||||
else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||
MAKEFLAGS += -j$(NUMJOBS)
|
||||
endif
|
||||
|
||||
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
|
||||
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
|
||||
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
|
||||
DEB_BUILD_DIR ?= $(CURDIR)/build
|
||||
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
|
||||
confflags += --build=$(DEB_HOST_GNU_TYPE)
|
||||
else
|
||||
confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
|
||||
endif
|
||||
|
||||
# choose which configurations to build
|
||||
include debian/scripts/choose-configs
|
||||
|
||||
# build the following configurations by default
|
||||
CONFIGS = $(SWX11_GLU_CONFIGS) \
|
||||
dri \
|
||||
osmesa \
|
||||
osmesa-static \
|
||||
osmesa16 \
|
||||
osmesa16-static \
|
||||
osmesa32 \
|
||||
osmesa32-static
|
||||
|
||||
STAMP_DIR = debian/stamp
|
||||
STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)
|
||||
BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))
|
||||
|
||||
QUILT_STAMPFN = $(STAMP_DIR)/patch
|
||||
include /usr/share/quilt/quilt.make
|
||||
|
||||
confflags-common = \
|
||||
--disable-glu \
|
||||
--disable-glut \
|
||||
--disable-glw \
|
||||
CFLAGS="$(CFLAGS)"
|
||||
|
||||
DRI_DRIVERS = swrast
|
||||
GALLIUM_DRIVERS = --enable-gallium-swrast
|
||||
# Mesa 7.8 doesn't build a gallium swrast DRI driver
|
||||
# This is built in git, and will be built in 7.9
|
||||
HAVE_GALLIUM_DRI_DRIVERS = no
|
||||
HAVE_KMS = no
|
||||
EGL_DISPLAYS = x11
|
||||
|
||||
# hurd doesn't do direct rendering
|
||||
ifeq ($(DEB_HOST_ARCH_OS), hurd)
|
||||
DIRECT_RENDERING = --disable-driglx-direct
|
||||
else
|
||||
DIRECT_RENDERING = --enable-driglx-direct
|
||||
|
||||
ifeq ($(DEB_HOST_ARCH_OS), linux)
|
||||
# Gallium drivers require libdrm-{nouveau,radeon}, only available on Linux
|
||||
GALLIUM_DRIVERS += --enable-gallium-nouveau --enable-gallium-radeon
|
||||
HAVE_GALLIUM_DRI_DRIVERS = yes
|
||||
# Although the KMS egl drivers will probably build on kfreebsd & hurd
|
||||
# only linux actually has KMS drivers implemented at this point.
|
||||
HAVE_KMS = yes
|
||||
endif
|
||||
|
||||
ifeq ($(DEB_HOST_ARCH), lpia)
|
||||
DRI_DRIVERS += i915 i965
|
||||
GALLIUM_DRIVERS += --enable-gallium-intel
|
||||
else ifneq ($(DEB_HOST_ARCH), s390)
|
||||
DRI_DRIVERS += mach64 mga r128 r200 r300 r600 radeon savage tdfx
|
||||
ifeq ($(DEB_HOST_ARCH_CPU), i386)
|
||||
DRI_DRIVERS += i810 i915 i965 sis unichrome
|
||||
GALLIUM_DRIVERS += --enable-gallium-intel
|
||||
else ifeq ($(DEB_HOST_ARCH_CPU), amd64)
|
||||
DRI_DRIVERS += i915 i965 sis unichrome
|
||||
GALLIUM_DRIVERS += --enable-gallium-intel
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_KMS), yes)
|
||||
EGL_DISPLAYS += kms
|
||||
endif
|
||||
|
||||
confflags-dri = \
|
||||
--with-driver=dri \
|
||||
--with-dri-drivers="$(DRI_DRIVERS)" \
|
||||
--with-demos=xdemos \
|
||||
--libdir=/usr/lib/glx \
|
||||
--with-dri-driverdir=/usr/lib/dri \
|
||||
--with-egl-displays="$(EGL_DISPLAYS)" \
|
||||
--enable-glx-tls \
|
||||
$(GALLIUM_DRIVERS) \
|
||||
--with-state-trackers=egl,es,glx,dri,vega \
|
||||
$(DIRECT_RENDERING) \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-osmesa = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=osmesa \
|
||||
--with-demos= \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-osmesa-static = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=osmesa \
|
||||
--enable-static \
|
||||
--with-demos= \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-osmesa16 = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=osmesa \
|
||||
--with-osmesa-bits=16 \
|
||||
--with-demos= \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-osmesa16-static = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=osmesa \
|
||||
--with-osmesa-bits=16 \
|
||||
--enable-static \
|
||||
--with-demos= \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-osmesa32 = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=osmesa \
|
||||
--with-osmesa-bits=32 \
|
||||
--with-demos= \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-osmesa32-static = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=osmesa \
|
||||
--with-osmesa-bits=32 \
|
||||
--enable-static \
|
||||
--with-demos= \
|
||||
$(confflags-common)
|
||||
|
||||
confflags-swx11+glu = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=xlib \
|
||||
--disable-gl-osmesa \
|
||||
--with-demos= \
|
||||
--disable-egl \
|
||||
--disable-glut \
|
||||
--enable-motif \
|
||||
CFLAGS="$(CFLAGS)"
|
||||
|
||||
confflags-swx11+glu-static = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=xlib \
|
||||
--disable-gl-osmesa \
|
||||
--enable-static \
|
||||
--with-demos= \
|
||||
--disable-egl \
|
||||
--disable-glut \
|
||||
--enable-motif \
|
||||
CFLAGS="$(CFLAGS)"
|
||||
|
||||
confflags-swx11+glu-i386-i686 = \
|
||||
--disable-egl \
|
||||
--disable-gallium \
|
||||
--with-driver=xlib \
|
||||
--disable-gl-osmesa \
|
||||
--with-demos= \
|
||||
--disable-glut \
|
||||
--disable-egl \
|
||||
--enable-motif \
|
||||
--libdir=/usr/lib/i686/cmov \
|
||||
CFLAGS="$(CFLAGS) -march=i686"
|
||||
|
||||
configure: $(QUILT_STAMPFN) configure.ac
|
||||
autoreconf -vfi
|
||||
|
||||
# list the configurations that will built
|
||||
configs:
|
||||
@echo Building the following configurations: $(CONFIGS)
|
||||
|
||||
$(STAMP_DIR)/stamp:
|
||||
dh_testdir
|
||||
mkdir -p $(STAMP_DIR)
|
||||
>$@
|
||||
|
||||
$(QUILT_STAMPFN): $(STAMP_DIR)/stamp
|
||||
|
||||
build: $(BUILD_STAMPS)
|
||||
|
||||
$(STAMP)-build-%: configure
|
||||
dh_testdir
|
||||
|
||||
mkdir -p $(DEB_BUILD_DIR)/$*
|
||||
find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \
|
||||
xargs cp -rlf -t $(DEB_BUILD_DIR)/$*
|
||||
cd $(DEB_BUILD_DIR)/$* && \
|
||||
../../configure --prefix=/usr --mandir=\$${prefix}/share/man \
|
||||
--infodir=\$${prefix}/share/info --sysconfdir=/etc \
|
||||
--localstatedir=/var $(confflags) $(confflags-$*)
|
||||
cd $(DEB_BUILD_DIR)/$* && $(MAKE)
|
||||
|
||||
touch $@
|
||||
|
||||
install: build
|
||||
# Add here commands to install the package into debian/tmp
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
set -e; for config in $(CONFIGS); do \
|
||||
$(MAKE) -C $(DEB_BUILD_DIR)/$$config DESTDIR=$(CURDIR)/debian/tmp install; \
|
||||
done
|
||||
|
||||
clean: unpatch
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -rf .pc
|
||||
|
||||
rm -f config.cache config.log config.status
|
||||
rm -f */config.cache */config.log */config.status
|
||||
rm -f conftest* */conftest*
|
||||
rm -rf autom4te.cache */autom4te.cache
|
||||
rm -rf build
|
||||
rm -rf configure config.guess config.sub config.h.in
|
||||
rm -rf $$(find -name Makefile.in)
|
||||
rm -rf aclocal.m4 missing depcomp install-sh ltmain.sh
|
||||
rm -rf $(STAMP_DIR)
|
||||
|
||||
dh_clean
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: install
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installchangelogs -s -XChangeLog
|
||||
dh_installchangelogs -pmesa-common-dev ChangeLog
|
||||
dh_installdocs -s
|
||||
dh_installexamples -s
|
||||
# Classic DRI and Gallium DRI are mixed up together here
|
||||
# Remove the whole tree to avoid false-positives in --list-missing, and
|
||||
# install the right files manually.
|
||||
rm -r debian/tmp/usr/lib/dri
|
||||
# Radeon searches for r{200,300,600}_dri only, but the gallium driver
|
||||
# is (at the moment) radeong_dri. Rename it to r300_dri, as it
|
||||
# fails to support r600.
|
||||
mv build/dri/glx/gallium/radeong_dri.so \
|
||||
build/dri/glx/gallium/r300_dri.so
|
||||
# Intel i965 Gallium appears to do nothing more than generate GPU
|
||||
# lockups. Kill it with fire. i915 is apparently useful.
|
||||
-rm build/dri/glx/gallium/i965_dri.so
|
||||
-rm debian/tmp/usr/lib/glx/egl/egl_*_i965.so
|
||||
|
||||
dh_install -s --list-missing
|
||||
dh_installman -s
|
||||
dh_lintian -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
|
||||
ifeq ($(HAVE_GALLIUM_DRI_DRIVERS), yes)
|
||||
dh_strip -plibgl1-mesa-dri-experimental --dbg-package=libgl1-mesa-dri-experimental-dbg
|
||||
endif
|
||||
dh_strip -plibopenvg1-mesa --dbg-package=libopenvg1-mesa-dbg
|
||||
dh_strip -plibegl1-mesa --dbg-package=libegl1-mesa-dbg
|
||||
dh_strip -plibgles1-mesa --dbg-package=libgles1-mesa-dbg
|
||||
dh_strip -plibgles2-mesa --dbg-package=libgles2-mesa-dbg
|
||||
dh_strip -plibegl1-mesa-drivers-x11 --dbg-package=libegl1-mesa-drivers-x11-dbg
|
||||
ifeq ($(HAVE_KMS), yes)
|
||||
dh_strip -plibegl1-mesa-drivers-kms --dbg-package=libegl1-mesa-drivers-kms-dbg
|
||||
endif
|
||||
dh_strip -s --remaining-packages
|
||||
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
|
||||
58
debian/scripts/choose-configs
vendored
58
debian/scripts/choose-configs
vendored
@@ -1,58 +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
|
||||
|
||||
SWX11_GLU_CONFIGS := swx11+glu swx11+glu-static
|
||||
|
||||
# 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 ##############################################
|
||||
|
||||
ifneq (,$(filter $(DEB_BUILD_ARCH), i386 kfreebsd-i386 hurd-i386))
|
||||
SWX11_GLU_CONFIGS += 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
|
||||
|
||||
12
debian/vg.pc
vendored
12
debian/vg.pc
vendored
@@ -1,12 +0,0 @@
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=/usr/lib
|
||||
includedir=/usr/include
|
||||
|
||||
Name: vg
|
||||
Description: Mesa OpenVG 1.0 library
|
||||
Requires.private:
|
||||
Version: 7.8.1
|
||||
Libs: -L${libdir} -lOpenVG
|
||||
Libs.private:
|
||||
Cflags: -I${includedir}
|
||||
6
debian/watch
vendored
6
debian/watch
vendored
@@ -1,6 +0,0 @@
|
||||
version=3
|
||||
opts="uversionmangle=s/-rc/~rc/" \
|
||||
http://sf.net/mesa3d/MesaLib-(.*)\.tar\.gz
|
||||
|
||||
opts="uversionmangle=s/-rc/~rc/" \
|
||||
ftp://freedesktop.org/pub/mesa/([\d\.]*)/ MesaLib-(.*)\.tar\.gz
|
||||
69
docs/GL3.txt
69
docs/GL3.txt
@@ -1,69 +0,0 @@
|
||||
|
||||
Status of OpenGL 3.x features in Mesa
|
||||
|
||||
|
||||
Note: when an item is marked as "DONE" it means all the core Mesa
|
||||
infrastructure is complete but it may be the case that few (if any) drivers
|
||||
implement the features.
|
||||
|
||||
|
||||
Feature Status
|
||||
----------------------------------------------------- ------------------------
|
||||
|
||||
GL 3.0:
|
||||
|
||||
GLSL changes (GL_EXT_gpu_shader4, etc) not started
|
||||
Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
|
||||
Map buffer subranges (GL_APPLE_flush_buffer_range) not started
|
||||
Float textures, renderbuffers some infrastructure done
|
||||
Framebuffer objects (GL_EXT_framebuffer_object) DONE
|
||||
Half-float some infrastructure done
|
||||
Multisample blit DONE
|
||||
Non-normalized Integer texture/framebuffer formats not started
|
||||
1D/2D Texture arrays core Mesa, swrast done
|
||||
Packed depth/stencil formats DONE
|
||||
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
|
||||
GL_EXT_texture_compression_rgtc not started
|
||||
Red and red/green texture formats Ian?
|
||||
Transform feedback (GL_EXT_transform_feedback) not started
|
||||
Vertex array objects (GL_APPLE_vertex_array_object) DONE
|
||||
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started
|
||||
glClearBuffer commands DONE, except for dispatch
|
||||
glGetStringi command DONE, except for dispatch
|
||||
glTexParameterI, glGetTexParameterI commands DONE, except for dispatch
|
||||
glVertexAttribI commands not started
|
||||
glBindFragDataLocation, glGetFragDataLocation cmds not started
|
||||
glBindBufferRange, glBindBufferBase commands not started
|
||||
|
||||
|
||||
GL 3.1:
|
||||
|
||||
GLSL 1.30 and 1.40 not started
|
||||
Instanced drawing (GL_ARB_draw_instanced) not started
|
||||
Buffer copying (GL_ARB_copy_buffer) DONE
|
||||
Primitive restart (GL_NV_primitive_restart) not started
|
||||
16 vertex texture image units not started
|
||||
Texture buffer objs (GL_ARB_textur_buffer_object) not started
|
||||
Rectangular textures (GL_ARB_texture_rectangle) DONE
|
||||
Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
|
||||
Signed normalized texture formats not started
|
||||
|
||||
|
||||
GL 3.2:
|
||||
|
||||
Core/compatibility profiles not started
|
||||
GLSL 1.50 not started
|
||||
Geometry shaders (GL_ARB_geometry_shader4) partially done (Zack)
|
||||
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE
|
||||
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE
|
||||
Frag shader coord (GL_ARB_fragment_coord_conventions) not started
|
||||
Provoking vertex (GL_ARB_provoking_vertex) DONE
|
||||
Seamless cubemaps (GL_ARB_seamless_cube_map) DONE, mostly?
|
||||
Multisample textures (GL_ARB_texture_multisample) not started
|
||||
Frag depth clamp (GL_ARB_depth_clamp) DONE
|
||||
Fence objects (GL_ARB_sync) DONE
|
||||
|
||||
|
||||
|
||||
More info about these features and the work involved can be found at
|
||||
http://dri.freedesktop.org/wiki/MissingFunctionality
|
||||
@@ -43,7 +43,7 @@ Issues
|
||||
|
||||
New Procedures and Functions
|
||||
|
||||
int glXSwapIntervalMESA(unsigned int interval)
|
||||
int glXSwapIntervalMESA(int interval)
|
||||
int glXGetSwapIntervalMESA(void)
|
||||
|
||||
New Tokens
|
||||
@@ -103,8 +103,11 @@ Additions to the GLX 1.3 Specification
|
||||
|
||||
Errors
|
||||
|
||||
glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is
|
||||
less than zero.
|
||||
|
||||
glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
|
||||
GLXContext or if the current context is not a direct rendering context.
|
||||
GLXContext.
|
||||
|
||||
GLX Protocol
|
||||
|
||||
|
||||
534
docs/MiniGLX.html
Normal file
534
docs/MiniGLX.html
Normal file
@@ -0,0 +1,534 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Mini GLX Specification</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
<center>Mini GLX Specification</center>
|
||||
</h1>
|
||||
<h2>
|
||||
<center>Tungsten Graphics, Inc.<br>
|
||||
<br>
|
||||
January 20, 2003<br>
|
||||
<br>
|
||||
</center>
|
||||
</h2>
|
||||
<p> Copyright © 2002-2003 by Tungsten Graphics, Inc., Cedar Park,
|
||||
Texas. All Rights Reserved. <br>
|
||||
<br>
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
document provided the copyright notice and this permission notice are
|
||||
preserved on all copies.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h1>1. Introduction</h1>
|
||||
<p>The Mini GLX interface facilitates OpenGL rendering on embedded
|
||||
devices. The interface is a subset of the GLX interface, plus a minimal
|
||||
set of Xlib-like functions.</p>
|
||||
<p>Programs written to the Mini GLX specification should run unchanged
|
||||
on systems with the X Window System and the GLX extension. The intention
|
||||
is to allow flexibility for prototyping and testing.</p>
|
||||
<p>This document serves as both the reference guide and programming
|
||||
guide for Mini GLX.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h1>2. Mini GLX Concepts</h1>
|
||||
<p>The OpenGL specification does not describe how OpenGL rendering
|
||||
contexts and drawing surfaces (i.e. the frame buffer) are created and
|
||||
managed. Rather, this is handled by an OpenGL window system interface,
|
||||
such as Mini GLX.</p>
|
||||
<p>There are three main datatypes or resources managed by Mini GLX. The
|
||||
resources and their corresponding GLX or Xlib data types are:</p>
|
||||
<table cellspacing="10" align="center">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u>Resource</u></td>
|
||||
<td><u>Data type</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pixel formats</td>
|
||||
<td>X Visual and XVisualInfo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>drawing surfaces</td>
|
||||
<td>X Window or GLXDrawable</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rendering contexts</td>
|
||||
<td>GLXContext</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Pixel formats or X Visuals describe the per-pixel attributes of the
|
||||
frame buffer. For example, bits per color component, Z buffer size,
|
||||
stencil size, TrueColor vs PseudoColor, etc.</p>
|
||||
<p>Drawing surfaces or X Windows typically describe a spatial
|
||||
allocation of the frame buffer (i.e. the position and size of a
|
||||
rectangular region of pixels). Since MiniGLX doesn't really support a
|
||||
window system, the window is effectively the entire frame buffer.</p>
|
||||
<p>A rendering context represents the current OpenGL state such as
|
||||
current drawing color, line width, blending mode, texture parameters,
|
||||
etc. Several rendering contexts can be created but only one can be in
|
||||
use at any given time.</p>
|
||||
<p>The Mini GLX interface provides all the functions needed for
|
||||
choosing pixel formats, create drawing surfaces, creating rendering
|
||||
contexts and binding rendering contexts to drawing surfaces.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h1>3. Using Mini GLX</h1>
|
||||
<p>To use the Mini GLX interface in your application, include the
|
||||
GL/miniglx.h header file at compile time:</p>
|
||||
<blockquote><code> #include <GL/miniglx.h><br>
|
||||
</code></blockquote>
|
||||
<code></code>Applications should link with libGL.so (i.e. <code>gcc
|
||||
myprogram.o -lGL -o myprogram</code>). libGL.so implements the
|
||||
MiniGLX API functions and, in turn, loads a hardware-specific device
|
||||
driver (such as <code>radeon_dri.so</code>) at runtime. The
|
||||
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
|
||||
directory where these modules are located.<br>
|
||||
<br>
|
||||
The remainder of this section describes the MiniGLX API functions.<br>
|
||||
<br>
|
||||
<h2>3.1 Initialization</h2>
|
||||
<p>The XOpenDisplay function is used to initialize the graphics system:</p>
|
||||
<blockquote>
|
||||
<pre>Display *XOpenDisplay(const char *displayname)<br></pre>
|
||||
</blockquote>
|
||||
<p>The <code>displayName</code> parameter is currently ignored in Mini
|
||||
GLX. It is recommended that <code>NULL</code> be passed as the<code>displayName</code>
|
||||
parameter.</p>
|
||||
<p>If XOpenDisplay is able to initialize the graphics system a pointer
|
||||
to a Display will be returned. Otherwise, NULL will be returned.</p>
|
||||
<h2>3.2 Choosing a Visual</h2>
|
||||
<p>A visual (i.e. pixel format) must be chosen before a drawing surface
|
||||
or rendering context can be created. This is done with the
|
||||
glXChooseVisual function:</p>
|
||||
<blockquote>
|
||||
<pre>XVisualInfo *glXChooseVisual(Display *dpy, int screen, const int *attribList)<br></pre>
|
||||
</blockquote>
|
||||
<p><code>dpy</code> is a pointer to the display returned by
|
||||
XOpenDisplay. </p>
|
||||
<p><code>screen</code> is currently ignored by Mini GLX and should be
|
||||
zero. </p>
|
||||
<p><code>attribList</code> is a list of GLX attributes which describe
|
||||
the desired pixel format. It is terminated by the token <code>None</code>.
|
||||
The attributes are as follows:</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>GLX_USE_GL</code></dt>
|
||||
<dd>This attribute should always be present in order to maintain
|
||||
compatibility with GLX.</dd>
|
||||
<dt><code>GLX_RGBA</code></dt>
|
||||
<dd>If present, only RGBA pixel formats will be considered.
|
||||
Otherwise, only color index formats are considered.</dd>
|
||||
<dt><code>GLX_DOUBLEBUFFER</code></dt>
|
||||
<dd>if present, only double-buffered pixel formats will be chosen.</dd>
|
||||
<dt><code>GLX_RED_SIZE n</code></dt>
|
||||
<dd>Must be followed by a non-negative integer indicating the
|
||||
minimum number of bits per red pixel component that is acceptable.</dd>
|
||||
<dt><code>GLX_GREEN_SIZE n</code></dt>
|
||||
<dd>Must be followed by a non-negative integer indicating the
|
||||
minimum number of bits per green pixel component that is acceptable.</dd>
|
||||
<dt><code>GLX_BLUE_SIZE n</code></dt>
|
||||
<dd>Must be followed by a non-negative integer indicating the
|
||||
minimum number of bits per blue pixel component that is acceptable.</dd>
|
||||
<dt><code>GLX_ALPHA_SIZE n</code></dt>
|
||||
<dd>Must be followed by a non-negative integer indicating the
|
||||
minimum number of bits per alpha pixel component that is acceptable.</dd>
|
||||
<dt><code>GLX_STENCIL_SIZE n</code></dt>
|
||||
<dd>Must be followed by a non-negative integer indicating the
|
||||
minimum number of bits per stencil value that is acceptable.</dd>
|
||||
<dt><code>None</code></dt>
|
||||
<dd>This token is used to terminate the attribute list.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<p>glXChooseVisual will return a pointer to an XVisualInfo object which
|
||||
most closely matches the requirements of the attribute list. If there
|
||||
is no visual which matches the request, NULL will be returned.</p>
|
||||
<p>Note that visuals with accumulation buffers and depth buffers are
|
||||
not available.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h2>3.3 Creating a Drawing Surface</h2>
|
||||
<p>Drawing surfaces are created as X windows. For Mini GLX,
|
||||
windows are <i>full-screen</i>; they cover the entire frame buffer.
|
||||
Also, Mini GLX imposes a limit of one window. A second window
|
||||
cannot be created until the first one is destroyed.</p>
|
||||
<h3>3.3.1 Window Creation</h3>
|
||||
<p>The XCreateWindow function is used to create a drawing surface:</p>
|
||||
<blockquote>
|
||||
<pre>Window XCreateWindow( Display *display,<br> Window parent,<br> int x, int y,<br> unsigned int width, unsigned int height,<br> unsigned int borderWidth,<br> int depth,<br> unsigned int class,<br> Visual *visual,<br> unsigned long valuemask,<br> XSetWindowAttributes *attributes )<br></pre>
|
||||
</blockquote>
|
||||
<p>The parameters are as follows:</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>display</code></dt>
|
||||
<dd>A Display pointer, as returned by XOpenDisplay.</dd>
|
||||
<dt><code>parent</code></dt>
|
||||
<dd>The parent window for the new window. For Mini GLX, this
|
||||
should be<code>RootWindow(dpy, 0)</code>.</dd>
|
||||
<dt><code>x, y</code></dt>
|
||||
<dd>The position of the window. For Mini GLX, both values should
|
||||
be zero.</dd>
|
||||
<dt><code>width, height</code></dt>
|
||||
<dd>The size of the window. For Mini GLX, this specifies the
|
||||
desired screen size such as 1024, 768 or 1280, 1024.</dd>
|
||||
<dt><code>borderWidth</code></dt>
|
||||
<dd>This parameter should be zero.</dd>
|
||||
<dt><code>depth</code></dt>
|
||||
<dd>The pixel depth for the window. For Mini GLX this should be
|
||||
the depth found in the XVisualInfo object returned by <code>glxChooseVisual</code>.</dd>
|
||||
<dt><code>class</code></dt>
|
||||
<dd>The window class. For Mini GLX this value should be <code>InputOutput</code>.</dd>
|
||||
<dt><code>visual</code></dt>
|
||||
<dd>This parameter should be the <code>visual</code> field of the <code>XVisualInfo</code>
|
||||
object returned by <code>glxChooseVisual</code>.</dd>
|
||||
<dt><code>valuemask</code></dt>
|
||||
<dd>This parameter indicates which fields of the <code>XSetWindowAttributes</code>
|
||||
are to be used. For Mini GLX this is typically the bitmask<code>CWBackPixel
|
||||
| CWBorderPixel | CWColormap</code>.</dd>
|
||||
<dt><code>attributes</code></dt>
|
||||
<dd>Initial window attributes. Of the fields in the <code>XSetWindowAttributes</code>
|
||||
structure, the<code>background_pixel</code>, <code>border_pixel</code>
|
||||
and <code>colormap</code> fields should be set. See the discussion
|
||||
below regarding colormaps.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<p><code>XCreateWindow</code> will return a window handle if it succeeds
|
||||
or zero if it fails.</p>
|
||||
<h3>3.3.2 Window Mapping</h3>
|
||||
<p>To display the window the XMapWindow function must be called:</p>
|
||||
<blockquote>
|
||||
<pre>void XMapWindow(Display *dpy, Window w)</pre>
|
||||
</blockquote>
|
||||
<p>This function does nothing in Mini GLX but is required for Xlib/GLX
|
||||
compatibility</p>
|
||||
<h3>3.3.3 Colormaps<br>
|
||||
</h3>
|
||||
<p>Xlib requires specification of a colormap when creating a window.
|
||||
For purposes of interoperability, Mini GLX requires this as well,
|
||||
though the colormap is not actually used. The XCreateColormap
|
||||
function is used to create a colormap:</p>
|
||||
<blockquote><code>Colormap XCreateColormap(Display *dpy, Window window,
|
||||
Visual *visual, int alloc)</code><br>
|
||||
<code></code></blockquote>
|
||||
<p>The parameters are as follows:<br>
|
||||
</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>dpy</code></dt>
|
||||
<dd>The display handle as returned by XOpenDisplay.</dd>
|
||||
<dt><code>window</code></dt>
|
||||
<dd> This parameter is ignored by Mini GLX but should be the value
|
||||
returned by the <code>RootWindow(dpy, 0)</code> macro.<br>
|
||||
</dd>
|
||||
<dt><code>visual</code></dt>
|
||||
<dd>This parameter is ignored by Mini GLX but should be the visual
|
||||
field of the XVisualInfo object returned by glXChooseVisual. </dd>
|
||||
<dt><code>alloc</code></dt>
|
||||
<dd>This parameter is ignored by Mini GLX but should be set to <code>AllocNone</code>.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<br>
|
||||
<h2>3.4 Creating a Rendering Context</h2>
|
||||
<p>An OpenGL rendering context is created with the <code>glXCreateContext</code>
|
||||
function:</p>
|
||||
<blockquote>
|
||||
<pre>GLXContext glXCreateContext(Display *dpy, XVisualInfo *visInfo, GLXContext shareList, Bool direct)<br></pre>
|
||||
</blockquote>
|
||||
<p>The parameters are as follows:</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>dpy</code></dt>
|
||||
<dd>The display handle as returned by XOpenDisplay.</dd>
|
||||
<dt><code>visInfo</code></dt>
|
||||
<dd>The visual as returned by glXChooseVisual.</dd>
|
||||
<dt><code>shareList</code></dt>
|
||||
<dd>If non-zero, texture objects and display lists are shared with
|
||||
the named rendering context. If zero, texture objects and display lists
|
||||
will (initially) be private to this context. They may be shared when a
|
||||
subsequent context is created.</dd>
|
||||
<dt><code>direct</code></dt>
|
||||
<dd>Specifies whether direct or indirect rendering is desired. For
|
||||
Mini GLX this value is ignored but it should be set to <code>True</code>.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<p><code>glXCreateContext</code> will return a GLXContext handle if it
|
||||
succeeds or zero if it fails due to invalid parameter or insufficient
|
||||
resources.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h2>3.5 Binding a Rendering Context</h2>
|
||||
<p>The final step before beginning OpenGL rendering is to bind (i.e.
|
||||
activate) a rendering context and drawing surface with the
|
||||
glXMakeCurrent function:</p>
|
||||
<blockquote>
|
||||
<pre>Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)<br></pre>
|
||||
</blockquote>
|
||||
<p>The parameters are as follows:</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>dpy</code></dt>
|
||||
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
||||
<dt><code>drawable</code></dt>
|
||||
<dd>The window or drawable to bind to the rendering context. This
|
||||
should be the value returned by XCreateWindow.</dd>
|
||||
<dt><code>ctx</code></dt>
|
||||
<dd>The rendering context to bind, as returned by glXCreateContext.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<p>If glXMakeCurrent succeeds True is returned. Otherwise False is
|
||||
returned to indicate an invalid display, window or context parameter.</p>
|
||||
<p>After the rendering context has been bound to the drawing surface
|
||||
OpenGL rendering can begin.</p>
|
||||
<p>The current rendering context may be unbound by calling
|
||||
glXMakeCurrent with the window and context parameters set to zero.</p>
|
||||
<p>An application may create any number of rendering contexts and bind
|
||||
them as needed. Note that binding a rendering context is generally not a
|
||||
light-weight operation. Most simple OpenGL applications create
|
||||
only one rendering context.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h2>3.6 Color Buffer Swapping</h2>
|
||||
<p>A double buffered window has two color buffers: a front buffer and a
|
||||
back buffer. Normally, rendering is directed to the back buffer while
|
||||
the front buffer is displayed. When rendering of a frame is finished
|
||||
the front and back buffers are swapped to provide the illusion of
|
||||
instanteous screen updates.</p>
|
||||
<p>The color buffers for a particular window (i.e. drawable) may be
|
||||
swapped with the glXSwapBuffers command:</p>
|
||||
<blockquote>
|
||||
<pre>void glXSwapBuffers(Display *dpy, GLXDrawable drawable)<br></pre>
|
||||
</blockquote>
|
||||
Any pending rendering commands will be completed before the buffer swap
|
||||
takes place.<br>
|
||||
<br>
|
||||
Calling glXSwapBuffers on a window which is single-buffered has no
|
||||
effect.<br>
|
||||
<br>
|
||||
<h2>3.7 Releasing Resources</h2>
|
||||
<h3>3.7.1 Releasing Rendering Contexts</h3>
|
||||
<p>A rendering context may be destroyed by calling glXDestroyContext:</p>
|
||||
<blockquote>
|
||||
<pre>void glXDestroyContext(Display *dpy, GLXContext ctx)<br></pre>
|
||||
</blockquote>
|
||||
<h3>3.7.2 Releasing Windows</h3>
|
||||
<p>A window may be destroyed by calling XDestroyWindow:</p>
|
||||
<blockquote>
|
||||
<pre>void XDestroyWindow(Display *dpy, Window window)<br></pre>
|
||||
</blockquote>
|
||||
<h3>3.7.3 Releasing Visuals</h3>
|
||||
<p>An XVisualInfo object may be freed by calling XFree:</p>
|
||||
<blockquote>
|
||||
<pre>void XFree(void *data)<br></pre>
|
||||
</blockquote>
|
||||
<h3>3.7.4 Releasing Colormaps</h3>
|
||||
<p>A colormap may be freed by calling XFreeColormap:</p>
|
||||
<blockquote>
|
||||
<pre>void XFreeColormap(Display *dpy, Colormap colormap)<br></pre>
|
||||
</blockquote>
|
||||
<h3>3.7.4 Releasing Display Resources</h3>
|
||||
<p>When the application is about to exit, the resources associated with
|
||||
the graphics system can be released by calling XCloseDisplay:</p>
|
||||
<blockquote>
|
||||
<pre>void XCloseDisplay(Display *dpy)<br></pre>
|
||||
</blockquote>
|
||||
<p>The display handle becomes invalid at this point.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h2>3.8 Query Functions</h2>
|
||||
<h3>3.8.1 Querying Available Visuals</h3>
|
||||
A list of all available visuals can be obtained with the XGetVisualInfo
|
||||
function:<br>
|
||||
<br>
|
||||
<div style="margin-left: 40px;"><code>XVisualInfo
|
||||
*XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo
|
||||
*vinfo_template, int *nitems_return)<br>
|
||||
</code></div>
|
||||
<br>
|
||||
The parameters are as follows:<br>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>dpy</code></dt>
|
||||
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
||||
<dt><code>vinfo_mask</code></dt>
|
||||
<dd>A bitmask indicating which fields of the vinfo_template are to
|
||||
be matched. The value must be VisualScreenMask.</dd>
|
||||
<dt><code>vinfo_template</code></dt>
|
||||
<dd>A template whose fields indicate which visual attributes must
|
||||
be matched by the results. The screen field of this structure must
|
||||
be zero.</dd>
|
||||
<dt><code>nitems_return</code></dt>
|
||||
<dd>Returns the number of visuals returned. </dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
The return value is the address of an array of all available visuals.<br>
|
||||
<br>
|
||||
An example of using XGetVisualInfo to get all available visuals follows:<br>
|
||||
<br>
|
||||
<div style="margin-left: 40px;"><code>XVisualInfo visTemplate, *results;</code><br>
|
||||
<code>int numVisuals;</code><br>
|
||||
<code>Display *dpy = XOpenDisplay(NULL);</code><br>
|
||||
<code>visTemplate.screen = 0;</code><br>
|
||||
<code>results = XGetVisualInfo(dpy, VisualScreenMask, &visTemplate,
|
||||
&numVisuals);</code><br>
|
||||
<code></code></div>
|
||||
<br>
|
||||
<h3>3.8.2 Querying Visual Attributes</h3>
|
||||
<p>The GLX attributes of an X visual may be queried with the
|
||||
glXGetConfig function:</p>
|
||||
<blockquote>
|
||||
<pre>int glXGetConfig(Display *dpy, XVisualInfo *vis, int attribute, int *value)<br></pre>
|
||||
</blockquote>
|
||||
<p>The parameters are as follows:</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>dpy</code></dt>
|
||||
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
||||
<dt><code>vis</code></dt>
|
||||
<dd>The visual, as returned by glXChooseVisual.</dd>
|
||||
<dt><code>attribute</code></dt>
|
||||
<dd>The attribute to query. The attributes are listed below.</dd>
|
||||
<dt><code>value</code></dt>
|
||||
<dd>Pointer to an integer in which the result of the query will be
|
||||
stored. </dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<p>The return value will be zero if no error occurs.<code>
|
||||
GLX_INVALID_ATTRIBUTE</code> will be returned if the attribute
|
||||
parameter is invalid.<code> GLX_BAD_VISUAL</code> will be returned
|
||||
if the XVisualInfo parameter is invalid.</p>
|
||||
<p>The following attributes may be queried:</p>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><code>GLX_USE_GL</code></dt>
|
||||
<dd>The result will be <code>True</code> or <code>False</code> to
|
||||
indicate if OpenGL rendering is supported with the visual. Mini GLX
|
||||
always return <code>True</code>.</dd>
|
||||
<dt><code>GLX_RGBA</code></dt>
|
||||
<dd>The result will be <code>True</code> for RGBA visuals or <code>False</code>
|
||||
for color index visuals.</dd>
|
||||
<dt><code>GLX_DOUBLEBUFFER</code></dt>
|
||||
<dd>The result will be <code>True</code> if the visual has two
|
||||
color buffers or <code>False</code> if the visual has one color buffer.</dd>
|
||||
<dt><code>GLX_RED_SIZE</code></dt>
|
||||
<dd>The result will be the number of red bits per pixel.</dd>
|
||||
<dt><code>GLX_GREEN_SIZE</code></dt>
|
||||
<dd>The result will be the number of green bits per pixel.</dd>
|
||||
<dt><code>GLX_BLUE_SIZE</code></dt>
|
||||
<dd>The result will be the number of blue bits per pixel.</dd>
|
||||
<dt><code>GLX_ALPHA_SIZE</code></dt>
|
||||
<dd>The result will be the number of alpha bits per pixel.</dd>
|
||||
<dt><code>GLX_DEPTH_SIZE</code></dt>
|
||||
<dd>The result will be the number of bits per Z value.</dd>
|
||||
<dt><code>GLX_STENCIL_SIZE</code></dt>
|
||||
<dd>The result will be the number of bits per stencil value.<br>
|
||||
<br>
|
||||
</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
<h3>3.8.3 Querying the Current Rendering Context</h3>
|
||||
<p>The current rendering context can be queried with
|
||||
glXGetCurrentContext: </p>
|
||||
<blockquote>
|
||||
<pre>GLXContext glXGetCurrentContext(void)<br></pre>
|
||||
</blockquote>
|
||||
<p>Zero will be returned if no context is currently bound.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h3>3.8.4 Querying the Current Drawable</h3>
|
||||
<p>The current drawable (i.e. window or drawing surface) can be queried
|
||||
with glXGetCurrentDrawable:</p>
|
||||
<blockquote>
|
||||
<pre>GLXDrawable glXGetCurrentDrawable(void)<br></pre>
|
||||
</blockquote>
|
||||
<p>Zero will be returned if no drawable is currently bound.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h3>3.8.5 Function Address Queries</h3>
|
||||
<p>The glXGetProcAddress function will return the address of any
|
||||
available OpenGL or Mini GLX function:</p>
|
||||
<blockquote>
|
||||
<pre>void *glXGetProcAddress(const GLubyte *procName)<br></pre>
|
||||
</blockquote>
|
||||
<p>If <code>procName</code> is a valid function name, a pointer to that
|
||||
function will be returned. Otherwise, NULL will be returned.</p>
|
||||
<p>The purpose of glXGetProcAddress is to facilitate using future
|
||||
extensions to OpenGL or Mini GLX. If a future version of the library
|
||||
adds new extension functions they'll be accessible via
|
||||
glXGetProcAddress. The alternative is to hard-code calls to the new
|
||||
functions in the application but doing so will prevent linking the
|
||||
application with older versions of the library.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h2>3.9 Versioning</h2>
|
||||
The Mini GLX version can be queried at run time with glXQueryVersion:
|
||||
<blockquote>
|
||||
<pre>Bool glXQueryVersion(Display *dpy, int *major, int *minor)<br></pre>
|
||||
</blockquote>
|
||||
<p><code>major</code> will be set to the major version number and<code>minor</code>
|
||||
will be set to the minor version number.<code>True</code> will be
|
||||
returned if the function succeeds. <code>False</code> will be returned
|
||||
if the function fails due to invalid parameters. The <code>dpy</code>
|
||||
argument is currently ignored, but should be the value returned by
|
||||
XOpenDisplay.</p>
|
||||
<p>At compile time, the Mini GLX interface version can be tested with
|
||||
the MINI_GLX_VERSION_1_<i>x</i> preprocessor tokens. For example, if
|
||||
version 1.0 of Mini GLX is supported, then<code> MINI_GLX_VERSION_1_0</code>
|
||||
will be defined. If version 1.1 of Mini GLX is supported, then<code>
|
||||
MINI_GLX_VERSION_1_1</code> will be defined.</p>
|
||||
<p>At the time of writing the current Mini GLX version is 1.0.<br>
|
||||
<br>
|
||||
</p>
|
||||
<h1>4.0 Interoperability with GLX and Xlib</h1>
|
||||
While Mini GLX strives to be compatible with GLX and Xlib there are
|
||||
some unavoidable differences which must be taken into consideration.<br>
|
||||
<h2>4.1 Public vs Private Structures</h2>
|
||||
The structure of many X data types is public. For example, the <code>Display</code>
|
||||
data type is defined as a structure in /usr/include/X11/Xlib.h and
|
||||
programmers may access any fields of that structure at will. Mini
|
||||
GLX also defines a Display data type but its fields are hidden and not
|
||||
visiblein <code>miniglx.h</code>. Duplicating the Xlib
|
||||
declaration for the <code>Display</code> data type in minigl.h would
|
||||
require defining a large number of other superfluous Xlib datatypes.<br>
|
||||
<br>
|
||||
Mini GLX users are discouraged from directly accessing the fields of
|
||||
Xlib data types to maximize portability - though this is unavoidable to
|
||||
some extent. For example, the <code>XVisualInfo</code> and <code>XSetWindowAtttributes</code>
|
||||
data types must be completely public.
|
||||
<h2>4.2 Macros</h2>
|
||||
In some cases, Xlib defines macros which are meant to be used instead
|
||||
of direct structure accesses. For example, the <code>RootWindow(dpy,
|
||||
screen)</code> macro returns the root window for a given screen on a
|
||||
given display. Unfortunately, macros do nothing to aid in ABI
|
||||
compatibility since they are resolved at compile time instead of at
|
||||
link/run time.<br>
|
||||
<br>
|
||||
Mini GLX also defines a <code>RootWindow</code> macro since it's
|
||||
essential for creating windows. But the implementation of this
|
||||
macro by Xlib and Mini GLX is completely different.<br>
|
||||
<h2>4.3 Summary</h2>
|
||||
Because Xlib and Mini GLX define data types and macros differently,
|
||||
Mini GLX applications must be recompiled when retargeting Mini GLX or
|
||||
native Xlib/GLX. That is, applications can't simply be re-linked
|
||||
because of ABI incompatibilities.<br>
|
||||
<br>
|
||||
Nevertheless, the fact that Mini GLX programs can be recompiled for
|
||||
Xlib and GLX increases portability and flexibility for testing and
|
||||
prototyping.<br>
|
||||
<br>
|
||||
<h1>5.0 Example Program</h1>
|
||||
<p>This section shows an example program which uses the Mini GLX
|
||||
interface. The program simply draws several frames of a rotating square.<br>
|
||||
</p>
|
||||
<p>The program may be compiled for use with Xlib/GLX or Mini GLX by
|
||||
setting the <code>USE_MINIGLX</code> token to 0 or 1, respectively.
|
||||
Note that the only difference is the header files which are
|
||||
included.<br>
|
||||
</p>
|
||||
<p> </p>
|
||||
<pre><code><br></code>#define USE_MINIGLX 1 /* 1 = use Mini GLX, 0 = use Xlib/GLX */<br><br>#include <stdio.h><br>#include <stdlib.h><br>#include <GL/gl.h><br><br>#if USE_MINIGLX<br>#include <GL/miniglx.h><br>#else<br>#include <GL/glx.h><br>#include <X11/Xlib.h><br>#endif<br><br><code>/*<br> * Create a simple double-buffered RGBA window.<br> */<br>static Window<br>MakeWindow(Display * dpy, unsigned int width, unsigned int height)<br>{<br> int visAttributes[] = {<br> GLX_RGBA,<br> GLX_RED_SIZE, 1,<br> GLX_GREEN_SIZE, 1,<br> GLX_BLUE_SIZE, 1,<br> GLX_DOUBLEBUFFER,<br> None<br> };<br> XSetWindowAttributes attr;<br> unsigned long attrMask;<br> Window root;<br> Window win;<br> GLXContext ctx;<br> XVisualInfo *visinfo;<br><br> root = RootWindow(dpy, 0);<br><br> /* Choose GLX visual / pixel format */<br> visinfo = glXChooseVisual(dpy, 0, visAttributes);<br> if (!visinfo) {<br> printf("Error: couldn't get an RGB, Double-buffered visual\n");<br> exit(1);<br> }<br><br> /* Create the window */<br> attr.background_pixel = 0;<br> attr.border_pixel = 0;<br> attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);<br> attrMask = CWBackPixel | CWBorderPixel | CWColormap;<br> win = XCreateWindow(dpy, root, 0, 0, width, height,<br> 0, visinfo->depth, InputOutput,<br> visinfo->visual, attrMask, &attr);<br> if (!win) {<br> printf("Error: XCreateWindow failed\n");<br> exit(1);<br> }<br><br> /* Display the window */<br> XMapWindow(dpy, win);<br><br> /* Create GLX rendering context */<br> ctx = glXCreateContext(dpy, visinfo, NULL, True);<br> if (!ctx) {<br> printf("Error: glXCreateContext failed\n");<br> exit(1);<br> }<br><br> /* Bind the rendering context and window */<br> glXMakeCurrent(dpy, win, ctx);<br><br> return win;<br>}<br><br><br>/*<br> * Draw a few frames of a rotating square.<br> */<br>static void<br>DrawFrames(Display * dpy, Window win)<br>{<br> int angle;<br> glShadeModel(GL_FLAT);<br> glClearColor(0.5, 0.5, 0.5, 1.0);<br> for (angle = 0; angle < 360; angle += 10) {<br> glClear(GL_COLOR_BUFFER_BIT);<br> glColor3f(1.0, 1.0, 0.0);<br> glPushMatrix();<br> glRotatef(angle, 0, 0, 1);<br> glRectf(-0.8, -0.8, 0.8, 0.8);<br> glPopMatrix();<br> glXSwapBuffers(dpy, win);<br> }<br>}<br><br><br>int<br>main(int argc, char *argv[])<br>{<br> Display *dpy;<br> Window win;<br><br> dpy = XOpenDisplay(NULL);<br> if (!dpy) {<br> printf("Error: XOpenDisplay failed\n");<br> return 1;<br> }<br><br> win = MakeWindow(dpy, 300, 300);<br><br> DrawFrames(dpy, win);<br><br> return 0;<br>}<br></code></pre>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
230
docs/OLD/MESA_packed_depth_stencil.spec
Normal file
230
docs/OLD/MESA_packed_depth_stencil.spec
Normal file
@@ -0,0 +1,230 @@
|
||||
Name
|
||||
|
||||
MESA_packed_depth_stencil
|
||||
|
||||
Name Strings
|
||||
|
||||
GL_MESA_packed_depth_stencil
|
||||
|
||||
Contact
|
||||
|
||||
Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
|
||||
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
|
||||
|
||||
Status
|
||||
|
||||
Obsolete.
|
||||
|
||||
Version
|
||||
|
||||
|
||||
Number
|
||||
|
||||
???
|
||||
|
||||
Dependencies
|
||||
|
||||
EXT_abgr affects the definition of this extension
|
||||
SGIS_texture4D affects the definition of this extension
|
||||
EXT_cmyka affects the definition of this extension
|
||||
ARB_packed_pixels affects the definition of this extension
|
||||
|
||||
Overview
|
||||
|
||||
Provides a mechanism for DrawPixels and ReadPixels to efficiently
|
||||
transfer depth and stencil image data. Specifically, we defined new
|
||||
packed pixel formats and types which pack both stencil and depth
|
||||
into one value.
|
||||
|
||||
Issues:
|
||||
|
||||
1. Is this the right way to distinguish between 24/8 and 8/24
|
||||
pixel formats? Should we instead provide both:
|
||||
|
||||
GL_DEPTH_STENCIL_MESA
|
||||
GL_STENCIL_DEPTH_MESA
|
||||
|
||||
And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
|
||||
|
||||
2. If not, is it correct to use _REV to indicate that stencil
|
||||
preceeds depth in the 1_15 and 8_24 formats?
|
||||
|
||||
3. Do we really want the GL_UNSIGNED_SHORT formats?
|
||||
|
||||
|
||||
New Procedures and Functions
|
||||
|
||||
None.
|
||||
|
||||
New Tokens
|
||||
|
||||
Accepted by the <format> parameter of ReadPixels and DrawPixels:
|
||||
|
||||
GL_DEPTH_STENCIL_MESA 0x8750
|
||||
|
||||
Accepted by the <type> parameter of ReadPixels and DrawPixels:
|
||||
|
||||
GL_UNSIGNED_INT_24_8_MESA 0x8751
|
||||
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
|
||||
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
|
||||
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
|
||||
|
||||
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
|
||||
|
||||
None
|
||||
|
||||
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
|
||||
|
||||
One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
|
||||
The new table is:
|
||||
|
||||
Target
|
||||
Format Name Buffer Element Meaning and Order
|
||||
----------- ------ -------------------------
|
||||
COLOR_INDEX Color Color index
|
||||
STENCIL_INDEX Stencil Stencil index
|
||||
DEPTH_COMPONENT Depth Depth component
|
||||
RED Color R component
|
||||
GREEN Color G component
|
||||
BLUE Color B component
|
||||
ALPHA Color A component
|
||||
RGB Color R, G, B components
|
||||
RGBA Color R, G, B, A components
|
||||
BGRA Color B, G, R, A components
|
||||
ABGR_EXT Color A, B, G, R components
|
||||
CMYK_EXT Color Cyan, Magenta, Yellow, Black components
|
||||
CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
|
||||
LUMINANCE Color Luminance component
|
||||
LUMINANCE_ALPHA Color Luminance, A components
|
||||
DEPTH_STENCIL Depth, Depth component, stencil index.
|
||||
Stencil
|
||||
|
||||
Table 3.5: DrawPixels and ReadPixels formats. The third column
|
||||
gives a description of and the number and order of elements in a
|
||||
group.
|
||||
|
||||
Add to the description of packed pixel formats:
|
||||
|
||||
<type> Parameter Data of Matching
|
||||
Token Name Type Elements Pixel Formats
|
||||
---------------- ---- -------- -------------
|
||||
|
||||
UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
|
||||
UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
|
||||
UNSIGNED_SHORT_5_6_5 ushort 3 RGB
|
||||
UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
|
||||
UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||
UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
|
||||
UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||
UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
|
||||
UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||
UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
|
||||
UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||
UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
|
||||
UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||
UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||
UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||
UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||
|
||||
UNSIGNED_INT_8_24:
|
||||
|
||||
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||
+-----------------------+-----------------------------------------------------------------------+
|
||||
| | |
|
||||
+-----------------------+-----------------------------------------------------------------------+
|
||||
|
||||
first second
|
||||
element element
|
||||
|
||||
|
||||
UNSIGNED_INT_24_8:
|
||||
|
||||
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||
+----------------------------------------------------------------------+------------------------+
|
||||
| | |
|
||||
+----------------------------------------------------------------------+------------------------+
|
||||
|
||||
first second
|
||||
element element
|
||||
|
||||
UNSIGNED_SHORT_15_1:
|
||||
|
||||
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||
+-----------------------------------------------------------+---+
|
||||
| | |
|
||||
+-----------------------------------------------------------+---+
|
||||
|
||||
first second
|
||||
element element
|
||||
|
||||
|
||||
UNSIGNED_SHORT_1_15_REV:
|
||||
|
||||
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||
+---+-----------------------------------------------------------+
|
||||
| | |
|
||||
+---+-----------------------------------------------------------+
|
||||
|
||||
second first
|
||||
element element
|
||||
|
||||
The assignment of elements to fields in the packed pixel is as
|
||||
described in the table below:
|
||||
|
||||
First Second Third Fourth
|
||||
Format Element Element Element Element
|
||||
------ ------- ------- ------- -------
|
||||
RGB red green blue
|
||||
RGBA red green blue alpha
|
||||
BGRA blue green red alpha
|
||||
ABGR_EXT alpha blue green red
|
||||
CMYK_EXT cyan magenta yellow black
|
||||
DEPTH_STENCIL_MESA depth stencil
|
||||
|
||||
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
|
||||
and the Frame Buffer)
|
||||
|
||||
The new format is added to the discussion of Obtaining Pixels from the
|
||||
Framebuffer. It should read " If the <format> is one of RED, GREEN,
|
||||
BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
|
||||
the GL is in color index mode, then the color index is obtained."
|
||||
|
||||
The new format is added to the discussion of Index Lookup. It should
|
||||
read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
|
||||
ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
|
||||
reference 4 tables of color components: PIXEL_MAP_I_TO_R,
|
||||
PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
|
||||
|
||||
|
||||
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
|
||||
|
||||
None
|
||||
|
||||
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
|
||||
|
||||
None
|
||||
|
||||
Additions to the GLX Specification
|
||||
|
||||
None
|
||||
|
||||
GLX Protocol
|
||||
|
||||
TBD
|
||||
|
||||
Errors
|
||||
|
||||
None
|
||||
|
||||
New State
|
||||
|
||||
None
|
||||
|
||||
Revision History
|
||||
|
||||
Version 1.0 - 23 Sep 2000
|
||||
Keith's original version.
|
||||
|
||||
Version 1.1 - 3 Nov 2000
|
||||
Brian's edits, assigned values to new enums.
|
||||
|
||||
356
docs/OLD/MESA_program_debug.spec
Normal file
356
docs/OLD/MESA_program_debug.spec
Normal file
@@ -0,0 +1,356 @@
|
||||
Name
|
||||
|
||||
MESA_program_debug
|
||||
|
||||
Name Strings
|
||||
|
||||
GL_MESA_program_debug
|
||||
|
||||
Contact
|
||||
|
||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
||||
|
||||
Status
|
||||
|
||||
XXX - Not complete yet!!!
|
||||
|
||||
Version
|
||||
|
||||
Last Modified Date: July 20, 2003
|
||||
Author Revision: 1.0
|
||||
|
||||
Number
|
||||
|
||||
TBD
|
||||
|
||||
Dependencies
|
||||
|
||||
OpenGL 1.4 is required
|
||||
The extension is written against the OpenGL 1.4 specification.
|
||||
ARB_vertex_program or ARB_fragment_program or NV_vertex_program
|
||||
or NV_fragment_program is required.
|
||||
|
||||
Overview
|
||||
|
||||
The extension provides facilities for implementing debuggers for
|
||||
vertex and fragment programs.
|
||||
|
||||
The concept is that vertex and fragment program debuggers will be
|
||||
implemented outside of the GL as a utility package. This extension
|
||||
only provides the minimal hooks required to implement a debugger.
|
||||
|
||||
There are facilities to do the following:
|
||||
1. Have the GL call a user-specified function prior to executing
|
||||
each vertex or fragment instruction.
|
||||
2. Query the current program string's execution position.
|
||||
3. Query the current values of intermediate program values.
|
||||
|
||||
The main feature is the ProgramCallbackMESA function. It allows the
|
||||
user to register a callback function with the GL. The callback will
|
||||
be called prior to executing each vertex or fragment program instruction.
|
||||
|
||||
From within the callback, the user may issue Get* commands to
|
||||
query current GL state. The GetProgramRegisterfvMESA function allows
|
||||
current program values to be queried (such as temporaries, input
|
||||
attributes, and result registers).
|
||||
|
||||
There are flags for enabling/disabling the program callbacks.
|
||||
|
||||
The current execution position (as an offset from the start of the
|
||||
program string) can be queried with
|
||||
GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
|
||||
GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
|
||||
|
||||
|
||||
IP Status
|
||||
|
||||
None
|
||||
|
||||
Issues
|
||||
|
||||
1. Is this the right model for a debugger?
|
||||
|
||||
It seems prudent to minimize the scope of this extension and leave
|
||||
it up to the developer (or developer community) to write debuggers
|
||||
that layer on top of this extension.
|
||||
|
||||
If the debugger were fully implemented within the GL it's not
|
||||
clear how terminal and GUI-based interfaces would work, for
|
||||
example.
|
||||
|
||||
2. There aren't any other extensions that register callbacks with
|
||||
the GL. Isn't there another solution?
|
||||
|
||||
If we want to be able to single-step through vertex/fragment
|
||||
programs I don't see another way to do it.
|
||||
|
||||
3. How do we prevent the user from doing something crazy in the
|
||||
callback function, like trying to call glBegin (leading to
|
||||
recursion)?
|
||||
|
||||
The rule is that the callback function can only issue glGet*()
|
||||
functions and no other GL commands. It could be difficult to
|
||||
enforce this, however. Therefore, calling any non-get GL
|
||||
command from within the callback will result in undefined
|
||||
results.
|
||||
|
||||
4. Is this extension amenable to hardware implementation?
|
||||
|
||||
Hopefully, but if not, the GL implementation will have to fall
|
||||
back to a software path when debugging. This may be acceptable
|
||||
for debugging.
|
||||
|
||||
5. What's the <data> parameter to ProgramCallbackMESA for?
|
||||
|
||||
It's a common programming practice to associate a user-supplied
|
||||
value with callback functions.
|
||||
|
||||
6. Debuggers often allow one to modify intermediate program values,
|
||||
then continue. Does this extension support that?
|
||||
|
||||
No.
|
||||
|
||||
|
||||
New Procedures and Functions (and datatypes)
|
||||
|
||||
typedef void (*programcallbackMESA)(enum target, void *data)
|
||||
|
||||
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
|
||||
void *data)
|
||||
|
||||
void GetProgramRegisterfvMESA(enum target, sizei len,
|
||||
const ubyte *registerName, float *v)
|
||||
|
||||
New Tokens
|
||||
|
||||
Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
|
||||
GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
|
||||
|
||||
FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
|
||||
VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
|
||||
|
||||
Accepted by the <pname> parameter GetBooleanv, GetDoublev,
|
||||
GetFloatv and GetIntegerv:
|
||||
|
||||
FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
|
||||
VERTEX_PROGRAM_POSITION_MESA 0x8bb4
|
||||
|
||||
Accepted by the <pname> parameter of GetPointerv:
|
||||
|
||||
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
|
||||
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
|
||||
VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
|
||||
VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
|
||||
|
||||
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
||||
|
||||
None.
|
||||
|
||||
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
||||
|
||||
None.
|
||||
|
||||
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
||||
Operations and the Frame Buffer)
|
||||
|
||||
None.
|
||||
|
||||
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
||||
|
||||
In section 5.4 "Display Lists", page 202, add the following command
|
||||
to the list of those that are not compiled into display lists:
|
||||
|
||||
ProgramCallbackMESA.
|
||||
|
||||
|
||||
Add a new section 5.7 "Callback Functions"
|
||||
|
||||
The function
|
||||
|
||||
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
|
||||
void *data)
|
||||
|
||||
registers a user-defined callback function with the GL. <target>
|
||||
may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
|
||||
callback functions registered with these targets will be called
|
||||
prior to executing each instruction in the current fragment or
|
||||
vertex program, respectively. The callbacks are enabled and
|
||||
disabled by calling Enable or Disable with <cap>
|
||||
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
|
||||
|
||||
The callback function's signature must match the typedef
|
||||
|
||||
typedef void (*programcallbackMESA)(enum target, void *data)
|
||||
|
||||
When the callback function is called, <target> will either be
|
||||
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
|
||||
program is currently executing and <data> will be the value
|
||||
specified when ProgramCallbackMESA was called.
|
||||
|
||||
From within the callback function, only the following GL commands
|
||||
may be called:
|
||||
|
||||
GetBooleanv
|
||||
GetDoublev
|
||||
GetFloatv
|
||||
GetIntegerv
|
||||
GetProgramLocalParameter
|
||||
GetProgramEnvParameter
|
||||
GetProgramRegisterfvMESA
|
||||
GetProgramivARB
|
||||
GetProgramStringARB
|
||||
GetError
|
||||
|
||||
Calling any other command from within the callback results in
|
||||
undefined behaviour.
|
||||
|
||||
|
||||
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
||||
State Requests)
|
||||
|
||||
Add a new section 6.1.3 "Program Value Queries":
|
||||
|
||||
The command
|
||||
|
||||
void GetProgramRegisterfvMESA(enum target, sizei len,
|
||||
const ubyte *registerName,
|
||||
float *v)
|
||||
|
||||
Is used to query the value of program variables and registers
|
||||
during program execution. GetProgramRegisterfvMESA may only be
|
||||
called from within a callback function registered with
|
||||
ProgramCallbackMESA.
|
||||
|
||||
<registerName> and <len> specify the name a variable, input
|
||||
attribute, temporary, or result register in the program string.
|
||||
The current value of the named variable is returned as four
|
||||
values in <v>. If <name> doesn't exist in the program string,
|
||||
the error INVALID_OPERATION is generated.
|
||||
|
||||
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
||||
|
||||
None.
|
||||
|
||||
Additions to the AGL/GLX/WGL Specifications
|
||||
|
||||
None.
|
||||
|
||||
GLX Protocol
|
||||
|
||||
XXX TBD
|
||||
|
||||
Dependencies on NV_vertex_program and NV_fragment_program
|
||||
|
||||
If NV_vertex_program and/or NV_fragment_program are supported,
|
||||
vertex and/or fragment programs defined by those extensions may
|
||||
be debugged as well. Register queries will use the syntax used
|
||||
by those extensions (i.e. "v[X]" to query vertex attributes,
|
||||
"o[X]" for vertex outputs, etc.)
|
||||
|
||||
Errors
|
||||
|
||||
INVALID_OPERATION is generated if ProgramCallbackMESA is called
|
||||
between Begin and End.
|
||||
|
||||
INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
|
||||
a supported vertex or fragment program type.
|
||||
|
||||
Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
|
||||
GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
|
||||
Begin and End when a vertex or fragment program is currently executing.
|
||||
|
||||
INVALID_ENUM is generated by ProgramCallbackMESA,
|
||||
GetProgramRegisterfvMESA if <target> is not a program target supported
|
||||
by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
|
||||
NV_fragment_program).
|
||||
|
||||
INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
|
||||
does not name a known program register or variable.
|
||||
|
||||
INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
|
||||
register query is attempted for a program target that's not currently
|
||||
being executed.
|
||||
|
||||
|
||||
New State
|
||||
|
||||
XXX finish
|
||||
|
||||
(table 6.N, p. ###)
|
||||
Initial
|
||||
Get Value Type Get Command Value Description Sec. Attribute
|
||||
--------- ---- ----------- ----- ----------- ---- ---------
|
||||
FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
|
||||
VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
|
||||
FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
|
||||
VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
|
||||
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
|
||||
VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
|
||||
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
|
||||
VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
|
||||
|
||||
XXX more?
|
||||
|
||||
New Implementation Dependent State
|
||||
|
||||
None.
|
||||
|
||||
Revision History
|
||||
|
||||
8 July 2003
|
||||
Initial draft. (Brian Paul)
|
||||
11 July 2003
|
||||
Second draft. (Brian Paul)
|
||||
20 July 2003
|
||||
Third draft. Lots of fundamental changes. (Brian Paul)
|
||||
23 July 2003
|
||||
Added chapter 5 and 6 spec language. (Brian Paul)
|
||||
|
||||
Example Usage
|
||||
|
||||
The following is a very simple example of how this extension may
|
||||
be used to print the values of R0, R1, R2 and R3 while executing
|
||||
vertex programs.
|
||||
|
||||
|
||||
/* This is called by the GL when the vertex program is executing.
|
||||
* We can only make glGet* calls from within this function!
|
||||
*/
|
||||
void DebugCallback(GLenum target, GLvoid *data)
|
||||
{
|
||||
GLint pos;
|
||||
GLuint i;
|
||||
|
||||
/* Get PC and current instruction string */
|
||||
glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
|
||||
|
||||
printf("Current position: %d\n", pos);
|
||||
|
||||
printf("Current temporary registers:\n");
|
||||
for (i = 0; i < 4; i++) {
|
||||
GLfloat v[4];
|
||||
char s[10];
|
||||
sprintf(s, "R%d", i);
|
||||
glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
|
||||
printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* elsewhere...
|
||||
*/
|
||||
|
||||
/* Register our debugger callback function */
|
||||
glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
|
||||
glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
|
||||
|
||||
/* define/bind a vertex program */
|
||||
|
||||
glEnable(GL_VERTEX_PROGRAM);
|
||||
|
||||
/* render something */
|
||||
glBegin(GL_POINTS);
|
||||
glVertex2f(0, 0);
|
||||
glEnd();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user