Compare commits
102 Commits
mesa-18.1.
...
mesa_7_0_1
Author | SHA1 | Date | |
---|---|---|---|
|
ae16a51e95 | ||
|
4398d67546 | ||
|
c93738687c | ||
|
799492e606 | ||
|
f33ff071bb | ||
|
99e854743c | ||
|
6f79062d91 | ||
|
2f682c3995 | ||
|
067370e68f | ||
|
2aa439a6a4 | ||
|
b477182dc3 | ||
|
a8964ca89e | ||
|
4f0e92d07c | ||
|
577f4e8a5f | ||
|
0586d9fe56 | ||
|
1f0d9bf05e | ||
|
8bcae2a527 | ||
|
35ca9aae91 | ||
|
6cdd2bf8d7 | ||
|
ce7d175adb | ||
|
1904fd095f | ||
|
897d0ac5cc | ||
|
e262d0182f | ||
|
aa5b748c10 | ||
|
3c182c5bc8 | ||
|
1b5677847b | ||
|
1be59a9dbe | ||
|
55c2178ad4 | ||
|
3e3d392e1c | ||
|
756a7a4e4b | ||
|
121b4ac220 | ||
|
cdbd5db3af | ||
|
b2240f6ad4 | ||
|
33814a55f8 | ||
|
a57c5a417b | ||
|
ff1a28de17 | ||
|
772f57f99b | ||
|
dacee32b8b | ||
|
fa1a3eb06d | ||
|
bd4817ca54 | ||
|
005eea249c | ||
|
9747de8ec6 | ||
|
849a9799d0 | ||
|
e32ae4fe33 | ||
|
4595389c4c | ||
|
e8ccc7cc49 | ||
|
673d21047a | ||
|
fdefc2bbda | ||
|
2079df8527 | ||
|
b53659452c | ||
|
46f1d6653e | ||
|
c1938a60f7 | ||
|
d65110f352 | ||
|
9fa3bbcb5a | ||
|
99d62f2922 | ||
|
284743cafe | ||
|
08d7307b2a | ||
|
ef6a64abe6 | ||
|
18bfa52ef7 | ||
|
d62be2652c | ||
|
ea53ff80af | ||
|
feeca1bcbc | ||
|
12e7278c08 | ||
|
45b5c44eb9 | ||
|
e3456c1028 | ||
|
327fb38573 | ||
|
1d25d9e15f | ||
|
cc7cee3f48 | ||
|
d7062710cd | ||
|
9bfba734d8 | ||
|
aaebf2f47e | ||
|
23f8d77b38 | ||
|
87d22ee0fe | ||
|
52e25f63d4 | ||
|
f3fb67972b | ||
|
6400756364 | ||
|
d59f0314bd | ||
|
131baefac3 | ||
|
a450078b67 | ||
|
f6b041bf6c | ||
|
4f340d181a | ||
|
b58e38e936 | ||
|
8713cb48a8 | ||
|
277c5e57ed | ||
|
b3d62d5af5 | ||
|
9c0f0c8d81 | ||
|
18a0a2a7ac | ||
|
8b99d9e33c | ||
|
01e7e153e3 | ||
|
0ad4ca24d2 | ||
|
724a155552 | ||
|
d38b74a316 | ||
|
54cab4b47b | ||
|
c093666bc5 | ||
|
04972f6761 | ||
|
67f8234622 | ||
|
201d6dbd9c | ||
|
fbcac5aa83 | ||
|
2b72ab8f8f | ||
|
0ea97b9408 | ||
|
28683ac7c0 | ||
|
c72e3e210f |
26
Makefile
26
Makefile
@@ -1,5 +1,7 @@
|
||||
# Top-level Mesa makefile
|
||||
|
||||
SHELL = /bin/bash
|
||||
|
||||
TOP = .
|
||||
|
||||
SUBDIRS = src progs
|
||||
@@ -67,6 +69,7 @@ aix-64-static \
|
||||
aix-gcc \
|
||||
aix-static \
|
||||
beos \
|
||||
bluegene-osmesa \
|
||||
darwin \
|
||||
darwin-static \
|
||||
darwin-static-x86ppc \
|
||||
@@ -151,6 +154,7 @@ sunos5-v8 \
|
||||
sunos5-v8-static \
|
||||
sunos5-v9 \
|
||||
sunos5-v9-static \
|
||||
sunos5-v9-cc-g++ \
|
||||
ultrix-gcc:
|
||||
@ if [ -e configs/current ] ; then \
|
||||
echo "Please run 'make realclean' before changing configs" ; \
|
||||
@@ -162,10 +166,10 @@ ultrix-gcc:
|
||||
|
||||
# Rules for making release tarballs
|
||||
|
||||
DIRECTORY = Mesa-7.1pre
|
||||
LIB_NAME = MesaLib-7.1pre
|
||||
DEMO_NAME = MesaDemos-7.1pre
|
||||
GLUT_NAME = MesaGLUT-7.1pre
|
||||
DIRECTORY = Mesa-7.0.1
|
||||
LIB_NAME = MesaLib-7.0.1
|
||||
DEMO_NAME = MesaDemos-7.0.1
|
||||
GLUT_NAME = MesaGLUT-7.0.1
|
||||
|
||||
MAIN_FILES = \
|
||||
$(DIRECTORY)/Makefile* \
|
||||
@@ -288,17 +292,6 @@ MAIN_FILES = \
|
||||
$(DIRECTORY)/vms/analyze_map.com \
|
||||
$(DIRECTORY)/vms/xlib.opt \
|
||||
$(DIRECTORY)/vms/xlib_share.opt \
|
||||
$(DIRECTORY)/windows/VC6/mesa/gdi/gdi.dsp \
|
||||
$(DIRECTORY)/windows/VC6/mesa/glu/*.txt \
|
||||
$(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \
|
||||
$(DIRECTORY)/windows/VC6/mesa/mesa.dsw \
|
||||
$(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \
|
||||
$(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \
|
||||
$(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \
|
||||
$(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \
|
||||
$(DIRECTORY)/windows/VC7/mesa/mesa.sln \
|
||||
$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \
|
||||
$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj \
|
||||
$(DIRECTORY)/windows/VC8/mesa/mesa.sln \
|
||||
$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \
|
||||
$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \
|
||||
@@ -328,6 +321,7 @@ SGI_GLU_FILES = \
|
||||
$(DIRECTORY)/src/glu/Makefile \
|
||||
$(DIRECTORY)/src/glu/descrip.mms \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.mgw \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.win \
|
||||
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
|
||||
$(DIRECTORY)/src/glu/sgi/glu.def \
|
||||
@@ -372,6 +366,8 @@ DEMO_FILES = \
|
||||
$(DIRECTORY)/progs/demos/*.cxx \
|
||||
$(DIRECTORY)/progs/demos/*.dat \
|
||||
$(DIRECTORY)/progs/demos/README \
|
||||
$(DIRECTORY)/progs/fbdev/Makefile \
|
||||
$(DIRECTORY)/progs/fbdev/glfbdevtest.c \
|
||||
$(DIRECTORY)/progs/osdemos/Makefile \
|
||||
$(DIRECTORY)/progs/osdemos/*.c \
|
||||
$(DIRECTORY)/progs/xdemos/Makefile* \
|
||||
|
28
Makefile.mgw
28
Makefile.mgw
@@ -51,37 +51,59 @@
|
||||
# realclean: remove all generated files
|
||||
#
|
||||
|
||||
# MinGW core makefile updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) MAlthough more tests are needed, it can be used individually!
|
||||
|
||||
|
||||
.PHONY : all libgl clean realclean
|
||||
|
||||
ifeq ($(ICD),1)
|
||||
# when -std=c99 mingw will not define WIN32
|
||||
CFLAGS = -Wall -W -Werror
|
||||
CFLAGS = -Wall -Werror
|
||||
else
|
||||
# I love c89
|
||||
CFLAGS = -Wall -W -pedantic
|
||||
CFLAGS = -Wall -pedantic
|
||||
endif
|
||||
CFLAGS += -O2 -ffast-math
|
||||
|
||||
export CFLAGS
|
||||
|
||||
|
||||
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||
UNLINK = del $(subst /,\,$(1))
|
||||
else
|
||||
UNLINK = $(RM) $(1)
|
||||
endif
|
||||
|
||||
all: libgl
|
||||
all: libgl libglu libglut example
|
||||
|
||||
libgl: lib
|
||||
$(MAKE) -f Makefile.mgw -C src/mesa
|
||||
|
||||
libglu: libgl
|
||||
$(MAKE) -f Makefile.mgw -C src/glu/sgi
|
||||
|
||||
libglut: libglu
|
||||
$(MAKE) -f Makefile.mgw -C src/glut/glx
|
||||
|
||||
example: libglut
|
||||
$(MAKE) -f Makefile.mgw star -C progs/samples
|
||||
copy progs\samples\star.exe lib
|
||||
|
||||
lib:
|
||||
mkdir lib
|
||||
|
||||
clean:
|
||||
$(MAKE) -f Makefile.mgw clean -C src/mesa
|
||||
$(MAKE) -f Makefile.mgw clean -C src/glu/sgi
|
||||
$(MAKE) -f Makefile.mgw clean -C src/glut/glx
|
||||
|
||||
realclean: clean
|
||||
-$(call UNLINK,lib/*.a)
|
||||
|
@@ -104,6 +104,10 @@ do
|
||||
# this is a special case (see bugzilla 10876)
|
||||
DEPS="$DEPS $1"
|
||||
;;
|
||||
'-pthread')
|
||||
# for FreeBSD
|
||||
DEPS="$DEPS -pthread"
|
||||
;;
|
||||
'-cplusplus')
|
||||
CPLUSPLUS=1
|
||||
;;
|
||||
|
29
configs/bluegene-osmesa
Normal file
29
configs/bluegene-osmesa
Normal file
@@ -0,0 +1,29 @@
|
||||
# Configuration for building only libOSMesa on BlueGene, no Xlib driver
|
||||
# This doesn't really have a lot of dependencies, so it should be usable
|
||||
# on other (gcc-based) systems too.
|
||||
# It uses static linking and disables multithreading.
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = bluegene-osmesa
|
||||
|
||||
# Compiler and flags
|
||||
CC = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc
|
||||
CXX = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++
|
||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURC
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = mesa glu
|
||||
DRIVER_DIRS = osmesa
|
||||
PROGRAM_DIRS = osdemos
|
||||
|
||||
|
||||
# Dependencies
|
||||
OSMESA_LIB_DEPS = -lm
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
@@ -9,8 +9,8 @@ CONFIG_NAME = default
|
||||
|
||||
# Version info
|
||||
MESA_MAJOR=7
|
||||
MESA_MINOR=1
|
||||
MESA_TINY=0
|
||||
MESA_MINOR=0
|
||||
MESA_TINY=1
|
||||
|
||||
# external projects. This should be useless now that we use libdrm.
|
||||
DRM_SOURCE_PATH=$(TOP)/../drm
|
||||
|
@@ -13,7 +13,7 @@ OPT_FLAGS = -O2
|
||||
PIC_FLAGS = -fPIC
|
||||
|
||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
|
||||
-DHZ=100 -DHAVE_POSIX_MEMALIGN
|
||||
-DHZ=100
|
||||
|
||||
X11_INCLUDES = -I/usr/X11R6/include
|
||||
|
||||
|
@@ -15,7 +15,7 @@ EXPAT_INCLUDES = -I/usr/local/include
|
||||
X11_INCLUDES = -I/usr/X11R6/include
|
||||
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
|
||||
-DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
|
||||
-DHAVE_ALIAS
|
||||
|
||||
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
|
||||
$(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
|
||||
@@ -27,9 +27,9 @@ ASM_SOURCES =
|
||||
# Library/program dependencies
|
||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||
DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
|
||||
DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
|
||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||
-lm -lpthread $(LIBDRM_LIB)
|
||||
-lm -pthread $(LIBDRM_LIB)
|
||||
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11
|
||||
|
32
configs/sunos5-v9-cc-g++
Normal file
32
configs/sunos5-v9-cc-g++
Normal file
@@ -0,0 +1,32 @@
|
||||
# Configuration for SunOS 5, SPARC V9 and cc/g++ (for C and C++ sources)
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = sunos5-v9-cc-g++
|
||||
|
||||
MKLIB_OPTIONS = -cplusplus
|
||||
|
||||
LIB_DIR = lib64
|
||||
|
||||
# Compiler and flags
|
||||
CC = cc
|
||||
CXX = g++
|
||||
|
||||
CXX_WARN_FLAGS = -Wall
|
||||
CXX_PIC_FLAGS = -fPIC
|
||||
CXX_OPT_FLAGS = -O3 -m64 -mcpu=ultrasparc -mv8plus -mvis -g -fomit-frame-pointer -pipe
|
||||
CXX_ARCH_FLAGS = -m64
|
||||
|
||||
|
||||
CXXFLAGS = $(CXX_WARN_FLAGS) $(CXX_OPT_FLAGS) $(CXX_PIC_FLAGS) $(CXX_ARCH_FLAGS) $(DEFINES) \
|
||||
-I/usr/openwin/include
|
||||
|
||||
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||
#CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||
|
||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
|
||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
|
||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
@@ -88,3 +88,66 @@ Running the Build:
|
||||
|
||||
Paul G. <pgarceau@users.sourceforge.net>
|
||||
Daniel Borca <dborca@users.sourceforge.net>
|
||||
|
||||
|
||||
|
||||
******This section is added by Heromyth <zxpmyth@yahoo.com.cn>*************
|
||||
|
||||
====================
|
||||
Updated on 2007-7-21
|
||||
====================
|
||||
|
||||
Notice:
|
||||
1) The generated DLLs are *not* compatible with the ones built
|
||||
with the other compilers like VC8, especially for GLUT.
|
||||
|
||||
2) Although more tests are needed, it can be used individually!
|
||||
|
||||
3) You can set the options about whether using STDCALL to build MESA. The
|
||||
config file is <Mesa3D-root>\configs\config.mgw. The default setting is that:
|
||||
ALL_USING_STDCALL = 1
|
||||
, which means using STDCALL to build MESA.
|
||||
|
||||
4) Of course, you can MESA without using STDCALL,I like this:)
|
||||
The setting is :
|
||||
ALL_USING_STDCALL = 0
|
||||
To do this, however, you must modify wingdi.h which is in MingW's include dir.
|
||||
For example, run:
|
||||
notepad C:\MingW\include\wingdi.h
|
||||
, and delete all the lines where all the wgl*() functions are. Because they would
|
||||
be conflicted with the ones in <Mesa3D-root>\include\GL\mesa_wgl.h.
|
||||
|
||||
>>>>>>>>>> Conflicted Functions List >>>>>>>>>>
|
||||
WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
|
||||
WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
|
||||
WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
|
||||
WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
|
||||
WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
|
||||
WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
|
||||
WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
|
||||
WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
|
||||
WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
|
||||
WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
|
||||
WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
|
||||
WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||
WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||
|
||||
====================
|
||||
Updated on 2007-7-22
|
||||
====================
|
||||
I havn't thought that I would find a better way to solve my problems so soon.
|
||||
I changed the method in which the import-libs and DLLs are made. After this update,
|
||||
the DLLs of MESA are more optimized and more compatible.
|
||||
It seems that there is no need to keep the building way of 'NO-STDCALL'.The
|
||||
way of USING_STDCALL is so nice! The file <Mesa3D-root>\configs\config.mgw is
|
||||
also not needed, and can be deleted safely!
|
||||
|
||||
|
||||
|
||||
*********************************************************************************
|
@@ -9,11 +9,7 @@
|
||||
<H1>Downloading</H1>
|
||||
|
||||
<p>
|
||||
Last development release: <b>6.5.3</b>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Last stable release: <b>6.4.2</b>
|
||||
Last stable release: <b>7.0.1</b>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@@ -129,7 +129,7 @@ GL_ARB_fragment_program extensions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
May 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
|
||||
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
|
||||
and OpenGL Shading Language.
|
||||
</p>
|
||||
|
||||
|
@@ -11,7 +11,14 @@
|
||||
<H1>News</H1>
|
||||
|
||||
|
||||
<h2>May ???, 2007</h2>
|
||||
<h2>August 3, 2007</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.html">Mesa 7.0.1</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>June 22, 2007</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.
|
||||
This is a stable release featuring OpenGL 2.1 support.
|
||||
|
92
docs/relnotes-7.0.1.html
Normal file
92
docs/relnotes-7.0.1.html
Normal file
@@ -0,0 +1,92 @@
|
||||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.0.1 Release Notes / August 3, 2007</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>Added a bluegene-osmesa build config
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Fixed some MingW build issues
|
||||
<li>Added a few missing OpenGL 2.0 API entrypoints:
|
||||
<ul>
|
||||
<li>glVertexAttrib4bv
|
||||
<li>glVertexAttrib4iv
|
||||
<li>glVertexAttrib4ubv
|
||||
<li>glVertexAttrib4uiv
|
||||
<li>glVertexAttrib4usv
|
||||
</ul>
|
||||
<li>Fixed glDrawPixels(GL_STENCIL_INDEX) pixel transfer bug 11457
|
||||
<li>GLSL bug fix: added vec2(vec4) constructor
|
||||
<li>GLSL bug fix: .strq and .rgba writemasks didn't always work
|
||||
<li>Stencil pixel map didn't always work for glDrawPixels (bug 11475)
|
||||
<li>Fixed polygon stipple bug in i915 driver
|
||||
<li>Binding a zero-sized texture didn't disable texturing (bug 11309)
|
||||
<li>Queries of GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH didn't include
|
||||
the terminating zero (bug 11588)
|
||||
<li>glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
|
||||
<li>Fixed a GLSL function call bug (#11731)
|
||||
<li>glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work (bug 11754)
|
||||
<li>glGetAttribLocation() always returned 1 (bug 11774)
|
||||
<li>Fixed a few memory-related bugs in GLU library
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
<ul>
|
||||
<li>The libOSMesa library version has been reverted to 6.5.3 (soname=6)
|
||||
in order to avoid application linking issues. Otherwise, applications
|
||||
previously linked with libOSMesa.so.6 would no longer link with libOSMesa.so.7
|
||||
<li>Dropped obsolete, unmaintained Windows project files for VC6 and VC7.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>To Do (someday) items</h2>
|
||||
<ul>
|
||||
<li>Switch to freeglut
|
||||
<li>Fix linux-glide target/driver.
|
||||
<li>Improved lambda and derivative calculation for frag progs.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -8,16 +8,25 @@
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.0 Release Notes / (<em>in progress</em>)</H1>
|
||||
<H1>Mesa 7.0 Release Notes / June 22, 2007</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.0 is a stable release, featuring OpenGL 2.1 API support.
|
||||
A number of bugs have been fixed since the 6.5.3 release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
TBD
|
||||
35a1698986f7ac8dc435624ee9256cda MesaLib-7.0.tar.gz
|
||||
50c371455fa7532c04aa0a970f9bc51f MesaLib-7.0.tar.bz2
|
||||
bcedb6f43c97c1bc49e5cc7f12835722 MesaLib-7.0.zip
|
||||
9bad332c7b74f59be96556135212ca9e MesaDemos-7.0.tar.gz
|
||||
fada2bc1f29da513e015fda1e3abd0c0 MesaDemos-7.0.tar.bz2
|
||||
84e3bbe470d983ae32f1f0c779faf99e MesaDemos-7.0.zip
|
||||
76c7bb54f9850c689eba844f6daed332 MesaGLUT-7.0.tar.gz
|
||||
4af28296e02772ef1de00e4e79bf3d12 MesaGLUT-7.0.tar.bz2
|
||||
9043cb0b54cc03d1874728d74b12188c MesaGLUT-7.0.zip
|
||||
</pre>
|
||||
|
||||
|
||||
@@ -37,6 +46,12 @@ TBD
|
||||
<li>Fixed R300 vertex program/matrix bug (10848)
|
||||
<li>GLSL dFdx() and dFdy() work for fragment program inputs now (texcoords)
|
||||
<li>Specifying an invalid texture unit as a sampler could lead to a crash
|
||||
<li>The GLX protocol request for glXDestroyPBuffer() was incorrect (bug 10983)
|
||||
<li>ARB vp state.light[n].half value was incorrect (bug 10987)
|
||||
<li>Fixed a positional light source bug (bug 11009)
|
||||
<li>Fixed point size attenuation problem (bug 11042)
|
||||
<li>glPopAttrib didn't restore texture object's LOD bias (bug 11049)
|
||||
<li>Fixed a TLS / TEXTREL problem (bug 7459)
|
||||
</ul>
|
||||
|
||||
|
||||
|
@@ -20,6 +20,7 @@ The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="relnotes-7.0.1.html">7.0.1 release notes</A>
|
||||
<LI><A HREF="relnotes-7.0.html">7.0 release notes</A>
|
||||
<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A>
|
||||
<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A>
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.1
|
||||
* Version: 7.0
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 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"),
|
||||
@@ -84,7 +84,8 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
|
||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) \
|
||||
&& !defined(OPENSTEP) && !defined(__CYGWIN__) || defined(__MINGW32__)
|
||||
#include <GL/mesa_wgl.h>
|
||||
#endif
|
||||
|
||||
@@ -2161,11 +2162,11 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh
|
||||
#define GL_DEBUG_PRINT_MESA 0x875A
|
||||
#define GL_DEBUG_ASSERT_MESA 0x875B
|
||||
|
||||
GLAPI GLhandleARB APIENTRY glCreateDebugObjectMESA (void);
|
||||
GLAPI void APIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
GLAPI void APIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
|
||||
GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
|
||||
GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
|
||||
GLsizei *length, GLcharARB *debugLog);
|
||||
GLAPI GLsizei APIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||
|
||||
#endif /* GL_MESA_shader_debug */
|
||||
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#define glActiveStencilFaceEXT MANGLE(ActiveStencilFaceEXT)
|
||||
#define glActiveTextureARB MANGLE(ActiveTextureARB)
|
||||
#define glActiveTexture MANGLE(ActiveTexture)
|
||||
#define glActiveVaryingNV MANGLE(ActiveVaryingNV)
|
||||
#define glAlphaFragmentOp1ATI MANGLE(AlphaFragmentOp1ATI)
|
||||
#define glAlphaFragmentOp2ATI MANGLE(AlphaFragmentOp2ATI)
|
||||
#define glAlphaFragmentOp3ATI MANGLE(AlphaFragmentOp3ATI)
|
||||
@@ -52,11 +53,16 @@
|
||||
#define glBeginOcclusionQueryNV MANGLE(BeginOcclusionQueryNV)
|
||||
#define glBeginQueryARB MANGLE(BeginQueryARB)
|
||||
#define glBeginQuery MANGLE(BeginQuery)
|
||||
#define glBeginTransformFeedbackNV MANGLE(BeginTransformFeedbackNV)
|
||||
#define glBeginVertexShaderEXT MANGLE(BeginVertexShaderEXT)
|
||||
#define glBindAttribLocationARB MANGLE(BindAttribLocationARB)
|
||||
#define glBindAttribLocation MANGLE(BindAttribLocation)
|
||||
#define glBindBufferARB MANGLE(BindBufferARB)
|
||||
#define glBindBufferBaseNV MANGLE(BindBufferBaseNV)
|
||||
#define glBindBuffer MANGLE(BindBuffer)
|
||||
#define glBindBufferOffsetNV MANGLE(BindBufferOffsetNV)
|
||||
#define glBindBufferRangeNV MANGLE(BindBufferRangeNV)
|
||||
#define glBindFragDataLocationEXT MANGLE(BindFragDataLocationEXT)
|
||||
#define glBindFragmentShaderATI MANGLE(BindFragmentShaderATI)
|
||||
#define glBindFramebufferEXT MANGLE(BindFramebufferEXT)
|
||||
#define glBindLightParameterEXT MANGLE(BindLightParameterEXT)
|
||||
@@ -97,6 +103,7 @@
|
||||
#define glBlitFramebufferEXT MANGLE(BlitFramebufferEXT)
|
||||
#define glBufferDataARB MANGLE(BufferDataARB)
|
||||
#define glBufferData MANGLE(BufferData)
|
||||
#define glBufferParameteriAPPLE MANGLE(BufferParameteriAPPLE)
|
||||
#define glBufferSubDataARB MANGLE(BufferSubDataARB)
|
||||
#define glBufferSubData MANGLE(BufferSubData)
|
||||
#define glCallList MANGLE(CallList)
|
||||
@@ -104,8 +111,11 @@
|
||||
#define glCheckFramebufferStatusEXT MANGLE(CheckFramebufferStatusEXT)
|
||||
#define glClampColorARB MANGLE(ClampColorARB)
|
||||
#define glClearAccum MANGLE(ClearAccum)
|
||||
#define glClearColorIiEXT MANGLE(ClearColorIiEXT)
|
||||
#define glClearColorIuiEXT MANGLE(ClearColorIuiEXT)
|
||||
#define glClearColor MANGLE(ClearColor)
|
||||
#define glClearDebugLogMESA MANGLE(ClearDebugLogMESA)
|
||||
#define glClearDepthdNV MANGLE(ClearDepthdNV)
|
||||
#define glClearDepth MANGLE(ClearDepth)
|
||||
#define glClearIndex MANGLE(ClearIndex)
|
||||
#define glClear MANGLE(Clear)
|
||||
@@ -161,6 +171,7 @@
|
||||
#define glColorFragmentOp1ATI MANGLE(ColorFragmentOp1ATI)
|
||||
#define glColorFragmentOp2ATI MANGLE(ColorFragmentOp2ATI)
|
||||
#define glColorFragmentOp3ATI MANGLE(ColorFragmentOp3ATI)
|
||||
#define glColorMaskIndexedEXT MANGLE(ColorMaskIndexedEXT)
|
||||
#define glColorMask MANGLE(ColorMask)
|
||||
#define glColorMaterial MANGLE(ColorMaterial)
|
||||
#define glColorPointerEXT MANGLE(ColorPointerEXT)
|
||||
@@ -261,19 +272,23 @@
|
||||
#define glDeleteTextures MANGLE(DeleteTextures)
|
||||
#define glDeleteVertexArraysAPPLE MANGLE(DeleteVertexArraysAPPLE)
|
||||
#define glDeleteVertexShaderEXT MANGLE(DeleteVertexShaderEXT)
|
||||
#define glDepthBoundsdNV MANGLE(DepthBoundsdNV)
|
||||
#define glDepthBoundsEXT MANGLE(DepthBoundsEXT)
|
||||
#define glDepthFunc MANGLE(DepthFunc)
|
||||
#define glDepthMask MANGLE(DepthMask)
|
||||
#define glDepthRangedNV MANGLE(DepthRangedNV)
|
||||
#define glDepthRange MANGLE(DepthRange)
|
||||
#define glDetachObjectARB MANGLE(DetachObjectARB)
|
||||
#define glDetachShader MANGLE(DetachShader)
|
||||
#define glDetailTexFuncSGIS MANGLE(DetailTexFuncSGIS)
|
||||
#define glDisableClientState MANGLE(DisableClientState)
|
||||
#define glDisableIndexedEXT MANGLE(DisableIndexedEXT)
|
||||
#define glDisable MANGLE(Disable)
|
||||
#define glDisableVariantClientStateEXT MANGLE(DisableVariantClientStateEXT)
|
||||
#define glDisableVertexAttribArrayARB MANGLE(DisableVertexAttribArrayARB)
|
||||
#define glDisableVertexAttribArray MANGLE(DisableVertexAttribArray)
|
||||
#define glDrawArraysEXT MANGLE(DrawArraysEXT)
|
||||
#define glDrawArraysInstancedEXT MANGLE(DrawArraysInstancedEXT)
|
||||
#define glDrawArrays MANGLE(DrawArrays)
|
||||
#define glDrawBuffer MANGLE(DrawBuffer)
|
||||
#define glDrawBuffersARB MANGLE(DrawBuffersARB)
|
||||
@@ -281,6 +296,7 @@
|
||||
#define glDrawBuffers MANGLE(DrawBuffers)
|
||||
#define glDrawElementArrayAPPLE MANGLE(DrawElementArrayAPPLE)
|
||||
#define glDrawElementArrayATI MANGLE(DrawElementArrayATI)
|
||||
#define glDrawElementsInstancedEXT MANGLE(DrawElementsInstancedEXT)
|
||||
#define glDrawElements MANGLE(DrawElements)
|
||||
#define glDrawMeshArraysSUN MANGLE(DrawMeshArraysSUN)
|
||||
#define glDrawPixels MANGLE(DrawPixels)
|
||||
@@ -296,6 +312,7 @@
|
||||
#define glElementPointerAPPLE MANGLE(ElementPointerAPPLE)
|
||||
#define glElementPointerATI MANGLE(ElementPointerATI)
|
||||
#define glEnableClientState MANGLE(EnableClientState)
|
||||
#define glEnableIndexedEXT MANGLE(EnableIndexedEXT)
|
||||
#define glEnable MANGLE(Enable)
|
||||
#define glEnableVariantClientStateEXT MANGLE(EnableVariantClientStateEXT)
|
||||
#define glEnableVertexAttribArrayARB MANGLE(EnableVertexAttribArrayARB)
|
||||
@@ -306,6 +323,7 @@
|
||||
#define glEndOcclusionQueryNV MANGLE(EndOcclusionQueryNV)
|
||||
#define glEndQueryARB MANGLE(EndQueryARB)
|
||||
#define glEndQuery MANGLE(EndQuery)
|
||||
#define glEndTransformFeedbackNV MANGLE(EndTransformFeedbackNV)
|
||||
#define glEndVertexShaderEXT MANGLE(EndVertexShaderEXT)
|
||||
#define glEvalCoord1d MANGLE(EvalCoord1d)
|
||||
#define glEvalCoord1dv MANGLE(EvalCoord1dv)
|
||||
@@ -331,6 +349,7 @@
|
||||
#define glFinishObjectAPPLE MANGLE(FinishObjectAPPLE)
|
||||
#define glFinishTextureSUNX MANGLE(FinishTextureSUNX)
|
||||
#define glFlush MANGLE(Flush)
|
||||
#define glFlushMappedBufferRangeAPPLE MANGLE(FlushMappedBufferRangeAPPLE)
|
||||
#define glFlushPixelDataRangeNV MANGLE(FlushPixelDataRangeNV)
|
||||
#define glFlushRasterSGIX MANGLE(FlushRasterSGIX)
|
||||
#define glFlushVertexArrayRangeAPPLE MANGLE(FlushVertexArrayRangeAPPLE)
|
||||
@@ -370,6 +389,9 @@
|
||||
#define glFramebufferTexture1DEXT MANGLE(FramebufferTexture1DEXT)
|
||||
#define glFramebufferTexture2DEXT MANGLE(FramebufferTexture2DEXT)
|
||||
#define glFramebufferTexture3DEXT MANGLE(FramebufferTexture3DEXT)
|
||||
#define glFramebufferTextureEXT MANGLE(FramebufferTextureEXT)
|
||||
#define glFramebufferTextureFaceEXT MANGLE(FramebufferTextureFaceEXT)
|
||||
#define glFramebufferTextureLayerEXT MANGLE(FramebufferTextureLayerEXT)
|
||||
#define glFrameZoomSGIX MANGLE(FrameZoomSGIX)
|
||||
#define glFreeObjectBufferATI MANGLE(FreeObjectBufferATI)
|
||||
#define glFrontFace MANGLE(FrontFace)
|
||||
@@ -398,12 +420,14 @@
|
||||
#define glGetActiveAttrib MANGLE(GetActiveAttrib)
|
||||
#define glGetActiveUniformARB MANGLE(GetActiveUniformARB)
|
||||
#define glGetActiveUniform MANGLE(GetActiveUniform)
|
||||
#define glGetActiveVaryingNV MANGLE(GetActiveVaryingNV)
|
||||
#define glGetArrayObjectfvATI MANGLE(GetArrayObjectfvATI)
|
||||
#define glGetArrayObjectivATI MANGLE(GetArrayObjectivATI)
|
||||
#define glGetAttachedObjectsARB MANGLE(GetAttachedObjectsARB)
|
||||
#define glGetAttachedShaders MANGLE(GetAttachedShaders)
|
||||
#define glGetAttribLocationARB MANGLE(GetAttribLocationARB)
|
||||
#define glGetAttribLocation MANGLE(GetAttribLocation)
|
||||
#define glGetBooleanIndexedvEXT MANGLE(GetBooleanIndexedvEXT)
|
||||
#define glGetBooleanv MANGLE(GetBooleanv)
|
||||
#define glGetBufferParameterivARB MANGLE(GetBufferParameterivARB)
|
||||
#define glGetBufferParameteriv MANGLE(GetBufferParameteriv)
|
||||
@@ -444,6 +468,7 @@
|
||||
#define glGetFinalCombinerInputParameterivNV MANGLE(GetFinalCombinerInputParameterivNV)
|
||||
#define glGetFloatv MANGLE(GetFloatv)
|
||||
#define glGetFogFuncSGIS MANGLE(GetFogFuncSGIS)
|
||||
#define glGetFragDataLocationEXT MANGLE(GetFragDataLocationEXT)
|
||||
#define glGetFragmentLightfvSGIX MANGLE(GetFragmentLightfvSGIX)
|
||||
#define glGetFragmentLightivSGIX MANGLE(GetFragmentLightivSGIX)
|
||||
#define glGetFragmentMaterialfvSGIX MANGLE(GetFragmentMaterialfvSGIX)
|
||||
@@ -460,6 +485,7 @@
|
||||
#define glGetImageTransformParameterivHP MANGLE(GetImageTransformParameterivHP)
|
||||
#define glGetInfoLogARB MANGLE(GetInfoLogARB)
|
||||
#define glGetInstrumentsSGIX MANGLE(GetInstrumentsSGIX)
|
||||
#define glGetIntegerIndexedvEXT MANGLE(GetIntegerIndexedvEXT)
|
||||
#define glGetIntegerv MANGLE(GetIntegerv)
|
||||
#define glGetInvariantBooleanvEXT MANGLE(GetInvariantBooleanvEXT)
|
||||
#define glGetInvariantFloatvEXT MANGLE(GetInvariantFloatvEXT)
|
||||
@@ -503,12 +529,16 @@
|
||||
#define glGetPolygonStipple MANGLE(GetPolygonStipple)
|
||||
#define glGetProgramEnvParameterdvARB MANGLE(GetProgramEnvParameterdvARB)
|
||||
#define glGetProgramEnvParameterfvARB MANGLE(GetProgramEnvParameterfvARB)
|
||||
#define glGetProgramEnvParameterIivNV MANGLE(GetProgramEnvParameterIivNV)
|
||||
#define glGetProgramEnvParameterIuivNV MANGLE(GetProgramEnvParameterIuivNV)
|
||||
#define glGetProgramInfoLog MANGLE(GetProgramInfoLog)
|
||||
#define glGetProgramivARB MANGLE(GetProgramivARB)
|
||||
#define glGetProgramiv MANGLE(GetProgramiv)
|
||||
#define glGetProgramivNV MANGLE(GetProgramivNV)
|
||||
#define glGetProgramLocalParameterdvARB MANGLE(GetProgramLocalParameterdvARB)
|
||||
#define glGetProgramLocalParameterfvARB MANGLE(GetProgramLocalParameterfvARB)
|
||||
#define glGetProgramLocalParameterIivNV MANGLE(GetProgramLocalParameterIivNV)
|
||||
#define glGetProgramLocalParameterIuivNV MANGLE(GetProgramLocalParameterIuivNV)
|
||||
#define glGetProgramNamedParameterdvNV MANGLE(GetProgramNamedParameterdvNV)
|
||||
#define glGetProgramNamedParameterfvNV MANGLE(GetProgramNamedParameterfvNV)
|
||||
#define glGetProgramParameterdvNV MANGLE(GetProgramParameterdvNV)
|
||||
@@ -545,20 +575,27 @@
|
||||
#define glGetTexLevelParameterfv MANGLE(GetTexLevelParameterfv)
|
||||
#define glGetTexLevelParameteriv MANGLE(GetTexLevelParameteriv)
|
||||
#define glGetTexParameterfv MANGLE(GetTexParameterfv)
|
||||
#define glGetTexParameterIivEXT MANGLE(GetTexParameterIivEXT)
|
||||
#define glGetTexParameterIuivEXT MANGLE(GetTexParameterIuivEXT)
|
||||
#define glGetTexParameteriv MANGLE(GetTexParameteriv)
|
||||
#define glGetTrackMatrixivNV MANGLE(GetTrackMatrixivNV)
|
||||
#define glGetTransformFeedbackVaryingNV MANGLE(GetTransformFeedbackVaryingNV)
|
||||
#define glGetUniformBufferSizeEXT MANGLE(GetUniformBufferSizeEXT)
|
||||
#define glGetUniformfvARB MANGLE(GetUniformfvARB)
|
||||
#define glGetUniformfv MANGLE(GetUniformfv)
|
||||
#define glGetUniformivARB MANGLE(GetUniformivARB)
|
||||
#define glGetUniformiv MANGLE(GetUniformiv)
|
||||
#define glGetUniformLocationARB MANGLE(GetUniformLocationARB)
|
||||
#define glGetUniformLocation MANGLE(GetUniformLocation)
|
||||
#define glGetUniformOffsetEXT MANGLE(GetUniformOffsetEXT)
|
||||
#define glGetUniformuivEXT MANGLE(GetUniformuivEXT)
|
||||
#define glGetVariantArrayObjectfvATI MANGLE(GetVariantArrayObjectfvATI)
|
||||
#define glGetVariantArrayObjectivATI MANGLE(GetVariantArrayObjectivATI)
|
||||
#define glGetVariantBooleanvEXT MANGLE(GetVariantBooleanvEXT)
|
||||
#define glGetVariantFloatvEXT MANGLE(GetVariantFloatvEXT)
|
||||
#define glGetVariantIntegervEXT MANGLE(GetVariantIntegervEXT)
|
||||
#define glGetVariantPointervEXT MANGLE(GetVariantPointervEXT)
|
||||
#define glGetVaryingLocationNV MANGLE(GetVaryingLocationNV)
|
||||
#define glGetVertexAttribArrayObjectfvATI MANGLE(GetVertexAttribArrayObjectfvATI)
|
||||
#define glGetVertexAttribArrayObjectivATI MANGLE(GetVertexAttribArrayObjectivATI)
|
||||
#define glGetVertexAttribdvARB MANGLE(GetVertexAttribdvARB)
|
||||
@@ -567,6 +604,8 @@
|
||||
#define glGetVertexAttribfvARB MANGLE(GetVertexAttribfvARB)
|
||||
#define glGetVertexAttribfv MANGLE(GetVertexAttribfv)
|
||||
#define glGetVertexAttribfvNV MANGLE(GetVertexAttribfvNV)
|
||||
#define glGetVertexAttribIivEXT MANGLE(GetVertexAttribIivEXT)
|
||||
#define glGetVertexAttribIuivEXT MANGLE(GetVertexAttribIuivEXT)
|
||||
#define glGetVertexAttribivARB MANGLE(GetVertexAttribivARB)
|
||||
#define glGetVertexAttribiv MANGLE(GetVertexAttribiv)
|
||||
#define glGetVertexAttribivNV MANGLE(GetVertexAttribivNV)
|
||||
@@ -613,6 +652,7 @@
|
||||
#define glIsAsyncMarkerSGIX MANGLE(IsAsyncMarkerSGIX)
|
||||
#define glIsBufferARB MANGLE(IsBufferARB)
|
||||
#define glIsBuffer MANGLE(IsBuffer)
|
||||
#define glIsEnabledIndexedEXT MANGLE(IsEnabledIndexedEXT)
|
||||
#define glIsEnabled MANGLE(IsEnabled)
|
||||
#define glIsFenceAPPLE MANGLE(IsFenceAPPLE)
|
||||
#define glIsFenceNV MANGLE(IsFenceNV)
|
||||
@@ -852,17 +892,32 @@
|
||||
#define glPrimitiveRestartNV MANGLE(PrimitiveRestartNV)
|
||||
#define glPrioritizeTexturesEXT MANGLE(PrioritizeTexturesEXT)
|
||||
#define glPrioritizeTextures MANGLE(PrioritizeTextures)
|
||||
#define glProgramBufferParametersfvNV MANGLE(ProgramBufferParametersfvNV)
|
||||
#define glProgramBufferParametersIivNV MANGLE(ProgramBufferParametersIivNV)
|
||||
#define glProgramBufferParametersIuivNV MANGLE(ProgramBufferParametersIuivNV)
|
||||
#define glProgramCallbackMESA MANGLE(ProgramCallbackMESA)
|
||||
#define glProgramEnvParameter4dARB MANGLE(ProgramEnvParameter4dARB)
|
||||
#define glProgramEnvParameter4dvARB MANGLE(ProgramEnvParameter4dvARB)
|
||||
#define glProgramEnvParameter4fARB MANGLE(ProgramEnvParameter4fARB)
|
||||
#define glProgramEnvParameter4fvARB MANGLE(ProgramEnvParameter4fvARB)
|
||||
#define glProgramEnvParameterI4iNV MANGLE(ProgramEnvParameterI4iNV)
|
||||
#define glProgramEnvParameterI4ivNV MANGLE(ProgramEnvParameterI4ivNV)
|
||||
#define glProgramEnvParameterI4uiNV MANGLE(ProgramEnvParameterI4uiNV)
|
||||
#define glProgramEnvParameterI4uivNV MANGLE(ProgramEnvParameterI4uivNV)
|
||||
#define glProgramEnvParameters4fvEXT MANGLE(ProgramEnvParameters4fvEXT)
|
||||
#define glProgramEnvParametersI4ivNV MANGLE(ProgramEnvParametersI4ivNV)
|
||||
#define glProgramEnvParametersI4uivNV MANGLE(ProgramEnvParametersI4uivNV)
|
||||
#define glProgramLocalParameter4dARB MANGLE(ProgramLocalParameter4dARB)
|
||||
#define glProgramLocalParameter4dvARB MANGLE(ProgramLocalParameter4dvARB)
|
||||
#define glProgramLocalParameter4fARB MANGLE(ProgramLocalParameter4fARB)
|
||||
#define glProgramLocalParameter4fvARB MANGLE(ProgramLocalParameter4fvARB)
|
||||
#define glProgramLocalParameterI4iNV MANGLE(ProgramLocalParameterI4iNV)
|
||||
#define glProgramLocalParameterI4ivNV MANGLE(ProgramLocalParameterI4ivNV)
|
||||
#define glProgramLocalParameterI4uiNV MANGLE(ProgramLocalParameterI4uiNV)
|
||||
#define glProgramLocalParameterI4uivNV MANGLE(ProgramLocalParameterI4uivNV)
|
||||
#define glProgramLocalParameters4fvEXT MANGLE(ProgramLocalParameters4fvEXT)
|
||||
#define glProgramLocalParametersI4ivNV MANGLE(ProgramLocalParametersI4ivNV)
|
||||
#define glProgramLocalParametersI4uivNV MANGLE(ProgramLocalParametersI4uivNV)
|
||||
#define glProgramNamedParameter4dNV MANGLE(ProgramNamedParameter4dNV)
|
||||
#define glProgramNamedParameter4dvNV MANGLE(ProgramNamedParameter4dvNV)
|
||||
#define glProgramNamedParameter4fNV MANGLE(ProgramNamedParameter4fNV)
|
||||
@@ -871,9 +926,11 @@
|
||||
#define glProgramParameter4dvNV MANGLE(ProgramParameter4dvNV)
|
||||
#define glProgramParameter4fNV MANGLE(ProgramParameter4fNV)
|
||||
#define glProgramParameter4fvNV MANGLE(ProgramParameter4fvNV)
|
||||
#define glProgramParameteriEXT MANGLE(ProgramParameteriEXT)
|
||||
#define glProgramParameters4dvNV MANGLE(ProgramParameters4dvNV)
|
||||
#define glProgramParameters4fvNV MANGLE(ProgramParameters4fvNV)
|
||||
#define glProgramStringARB MANGLE(ProgramStringARB)
|
||||
#define glProgramVertexLimitNV MANGLE(ProgramVertexLimitNV)
|
||||
#define glPushAttrib MANGLE(PushAttrib)
|
||||
#define glPushClientAttrib MANGLE(PushClientAttrib)
|
||||
#define glPushMatrix MANGLE(PushMatrix)
|
||||
@@ -915,6 +972,7 @@
|
||||
#define glRectsv MANGLE(Rectsv)
|
||||
#define glReferencePlaneSGIX MANGLE(ReferencePlaneSGIX)
|
||||
#define glRenderbufferStorageEXT MANGLE(RenderbufferStorageEXT)
|
||||
#define glRenderbufferStorageMultisampleCoverageNV MANGLE(RenderbufferStorageMultisampleCoverageNV)
|
||||
#define glRenderbufferStorageMultisampleEXT MANGLE(RenderbufferStorageMultisampleEXT)
|
||||
#define glRenderMode MANGLE(RenderMode)
|
||||
#define glReplacementCodePointerSUN MANGLE(ReplacementCodePointerSUN)
|
||||
@@ -1043,6 +1101,7 @@
|
||||
#define glTestFenceAPPLE MANGLE(TestFenceAPPLE)
|
||||
#define glTestFenceNV MANGLE(TestFenceNV)
|
||||
#define glTestObjectAPPLE MANGLE(TestObjectAPPLE)
|
||||
#define glTexBufferEXT MANGLE(TexBufferEXT)
|
||||
#define glTexBumpParameterfvATI MANGLE(TexBumpParameterfvATI)
|
||||
#define glTexBumpParameterivATI MANGLE(TexBumpParameterivATI)
|
||||
#define glTexCoord1d MANGLE(TexCoord1d)
|
||||
@@ -1121,7 +1180,9 @@
|
||||
#define glTexImage4DSGIS MANGLE(TexImage4DSGIS)
|
||||
#define glTexParameterf MANGLE(TexParameterf)
|
||||
#define glTexParameterfv MANGLE(TexParameterfv)
|
||||
#define glTexParameterIivEXT MANGLE(TexParameterIivEXT)
|
||||
#define glTexParameteri MANGLE(TexParameteri)
|
||||
#define glTexParameterIuivEXT MANGLE(TexParameterIuivEXT)
|
||||
#define glTexParameteriv MANGLE(TexParameteriv)
|
||||
#define glTexSubImage1DEXT MANGLE(TexSubImage1DEXT)
|
||||
#define glTexSubImage1D MANGLE(TexSubImage1D)
|
||||
@@ -1135,6 +1196,8 @@
|
||||
#define glTextureMaterialEXT MANGLE(TextureMaterialEXT)
|
||||
#define glTextureNormalEXT MANGLE(TextureNormalEXT)
|
||||
#define glTrackMatrixNV MANGLE(TrackMatrixNV)
|
||||
#define glTransformFeedbackAttribsNV MANGLE(TransformFeedbackAttribsNV)
|
||||
#define glTransformFeedbackVaryingsNV MANGLE(TransformFeedbackVaryingsNV)
|
||||
#define glTranslated MANGLE(Translated)
|
||||
#define glTranslatef MANGLE(Translatef)
|
||||
#define glUniform1fARB MANGLE(Uniform1fARB)
|
||||
@@ -1145,6 +1208,8 @@
|
||||
#define glUniform1i MANGLE(Uniform1i)
|
||||
#define glUniform1ivARB MANGLE(Uniform1ivARB)
|
||||
#define glUniform1iv MANGLE(Uniform1iv)
|
||||
#define glUniform1uiEXT MANGLE(Uniform1uiEXT)
|
||||
#define glUniform1uivEXT MANGLE(Uniform1uivEXT)
|
||||
#define glUniform2fARB MANGLE(Uniform2fARB)
|
||||
#define glUniform2f MANGLE(Uniform2f)
|
||||
#define glUniform2fvARB MANGLE(Uniform2fvARB)
|
||||
@@ -1153,6 +1218,8 @@
|
||||
#define glUniform2i MANGLE(Uniform2i)
|
||||
#define glUniform2ivARB MANGLE(Uniform2ivARB)
|
||||
#define glUniform2iv MANGLE(Uniform2iv)
|
||||
#define glUniform2uiEXT MANGLE(Uniform2uiEXT)
|
||||
#define glUniform2uivEXT MANGLE(Uniform2uivEXT)
|
||||
#define glUniform3fARB MANGLE(Uniform3fARB)
|
||||
#define glUniform3f MANGLE(Uniform3f)
|
||||
#define glUniform3fvARB MANGLE(Uniform3fvARB)
|
||||
@@ -1161,6 +1228,8 @@
|
||||
#define glUniform3i MANGLE(Uniform3i)
|
||||
#define glUniform3ivARB MANGLE(Uniform3ivARB)
|
||||
#define glUniform3iv MANGLE(Uniform3iv)
|
||||
#define glUniform3uiEXT MANGLE(Uniform3uiEXT)
|
||||
#define glUniform3uivEXT MANGLE(Uniform3uivEXT)
|
||||
#define glUniform4fARB MANGLE(Uniform4fARB)
|
||||
#define glUniform4f MANGLE(Uniform4f)
|
||||
#define glUniform4fvARB MANGLE(Uniform4fvARB)
|
||||
@@ -1169,6 +1238,9 @@
|
||||
#define glUniform4i MANGLE(Uniform4i)
|
||||
#define glUniform4ivARB MANGLE(Uniform4ivARB)
|
||||
#define glUniform4iv MANGLE(Uniform4iv)
|
||||
#define glUniform4uiEXT MANGLE(Uniform4uiEXT)
|
||||
#define glUniform4uivEXT MANGLE(Uniform4uivEXT)
|
||||
#define glUniformBufferEXT MANGLE(UniformBufferEXT)
|
||||
#define glUniformMatrix2fvARB MANGLE(UniformMatrix2fvARB)
|
||||
#define glUniformMatrix2fv MANGLE(UniformMatrix2fv)
|
||||
#define glUniformMatrix2x3fv MANGLE(UniformMatrix2x3fv)
|
||||
@@ -1340,6 +1412,27 @@
|
||||
#define glVertexAttrib4usvARB MANGLE(VertexAttrib4usvARB)
|
||||
#define glVertexAttrib4usv MANGLE(VertexAttrib4usv)
|
||||
#define glVertexAttribArrayObjectATI MANGLE(VertexAttribArrayObjectATI)
|
||||
#define glVertexAttribI1iEXT MANGLE(VertexAttribI1iEXT)
|
||||
#define glVertexAttribI1ivEXT MANGLE(VertexAttribI1ivEXT)
|
||||
#define glVertexAttribI1uiEXT MANGLE(VertexAttribI1uiEXT)
|
||||
#define glVertexAttribI1uivEXT MANGLE(VertexAttribI1uivEXT)
|
||||
#define glVertexAttribI2iEXT MANGLE(VertexAttribI2iEXT)
|
||||
#define glVertexAttribI2ivEXT MANGLE(VertexAttribI2ivEXT)
|
||||
#define glVertexAttribI2uiEXT MANGLE(VertexAttribI2uiEXT)
|
||||
#define glVertexAttribI2uivEXT MANGLE(VertexAttribI2uivEXT)
|
||||
#define glVertexAttribI3iEXT MANGLE(VertexAttribI3iEXT)
|
||||
#define glVertexAttribI3ivEXT MANGLE(VertexAttribI3ivEXT)
|
||||
#define glVertexAttribI3uiEXT MANGLE(VertexAttribI3uiEXT)
|
||||
#define glVertexAttribI3uivEXT MANGLE(VertexAttribI3uivEXT)
|
||||
#define glVertexAttribI4bvEXT MANGLE(VertexAttribI4bvEXT)
|
||||
#define glVertexAttribI4iEXT MANGLE(VertexAttribI4iEXT)
|
||||
#define glVertexAttribI4ivEXT MANGLE(VertexAttribI4ivEXT)
|
||||
#define glVertexAttribI4svEXT MANGLE(VertexAttribI4svEXT)
|
||||
#define glVertexAttribI4ubvEXT MANGLE(VertexAttribI4ubvEXT)
|
||||
#define glVertexAttribI4uiEXT MANGLE(VertexAttribI4uiEXT)
|
||||
#define glVertexAttribI4uivEXT MANGLE(VertexAttribI4uivEXT)
|
||||
#define glVertexAttribI4usvEXT MANGLE(VertexAttribI4usvEXT)
|
||||
#define glVertexAttribIPointerEXT MANGLE(VertexAttribIPointerEXT)
|
||||
#define glVertexAttribPointerARB MANGLE(VertexAttribPointerARB)
|
||||
#define glVertexAttribPointer MANGLE(VertexAttribPointer)
|
||||
#define glVertexAttribPointerNV MANGLE(VertexAttribPointerNV)
|
||||
|
@@ -44,6 +44,19 @@
|
||||
#define GLAPIENTRYP GLAPIENTRY *
|
||||
#endif
|
||||
|
||||
#ifdef GLAPI
|
||||
#undef GLAPI
|
||||
#endif
|
||||
|
||||
# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
|
||||
# define GLAPI __declspec(dllexport)
|
||||
# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
|
||||
# define GLAPI __declspec(dllimport)
|
||||
# else /* for use with static link lib build of Win32 edition only */
|
||||
# define GLAPI extern
|
||||
# endif /* _STATIC_MESA support */
|
||||
|
||||
|
||||
#ifndef GLAPI
|
||||
#define GLAPI
|
||||
#endif
|
||||
|
@@ -10,6 +10,10 @@
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
#include <GL/mesa_wgl.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -115,7 +119,7 @@ extern _CRTIMP void __cdecl exit(int);
|
||||
#endif
|
||||
|
||||
/* GLUT API entry point declarations for Win32. */
|
||||
#if defined(GLUT_BUILDING_LIB) && defined(_DLL)
|
||||
#if (defined(BUILD_GLUT32) || defined(GLUT_BUILDING_LIB)) && defined(_DLL)
|
||||
# define GLUTAPI __declspec(dllexport)
|
||||
#elif defined(_DLL)
|
||||
# define GLUTAPI __declspec(dllimport)
|
||||
@@ -130,9 +134,12 @@ extern _CRTIMP void __cdecl exit(int);
|
||||
# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/glut.h" )
|
||||
# endif
|
||||
# define CALLBACK __stdcall
|
||||
typedef int (GLUTAPIENTRY *PROC)();
|
||||
typedef void *HGLRC;
|
||||
typedef void *HDC;
|
||||
|
||||
#if !defined(__MINGW32__)
|
||||
typedef int (GLUTAPIENTRY *PROC)();
|
||||
typedef void *HGLRC;
|
||||
typedef void *HDC;
|
||||
#endif
|
||||
typedef unsigned long COLORREF;
|
||||
#endif
|
||||
|
||||
|
@@ -361,6 +361,18 @@ struct __DRIscreenRec {
|
||||
void * (*createNewContext)(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
|
||||
int render_type,
|
||||
void *sharedPrivate, __DRIcontext *pctx);
|
||||
|
||||
/**
|
||||
* Method to override base texture image with a driver specific 'offset'.
|
||||
* The depth passed in allows e.g. to ignore the alpha channel of texture
|
||||
* images where the non-alpha components don't occupy a whole texel.
|
||||
*
|
||||
* For GLX_EXT_texture_from_pixmap with AIGLX.
|
||||
*
|
||||
* \since Internal API version 20070121.
|
||||
*/
|
||||
void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth, GLuint pitch);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -26,11 +26,12 @@
|
||||
/* prototypes for the Mesa WGL functions */
|
||||
/* relocated here so that I could make GLUT get them properly */
|
||||
|
||||
#define _mesa_wgl_h_
|
||||
|
||||
#ifndef _mesa_wgl_h_
|
||||
#define _mesa_wgl_h_
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
# define __W32API_USE_DLLIMPORT__
|
||||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
@@ -39,23 +40,16 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
|
||||
# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
|
||||
# define GLAPI __declspec(dllexport)
|
||||
# define WGLAPI __declspec(dllexport)
|
||||
# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
|
||||
# define GLAPI __declspec(dllimport)
|
||||
# define WGLAPI __declspec(dllimport)
|
||||
# else /* for use with static link lib build of Win32 edition only */
|
||||
# define GLAPI extern
|
||||
# define WGLAPI __declspec(dllimport)
|
||||
# endif /* _STATIC_MESA support */
|
||||
# define GLAPIENTRY __stdcall
|
||||
#else
|
||||
/* non-Windows compilation */
|
||||
# define GLAPI extern
|
||||
# define GLAPIENTRY
|
||||
#endif /* WIN32 / CYGWIN32 bracket */
|
||||
#ifndef WGLAPI
|
||||
#define WGLAPI GLAPI
|
||||
#endif
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
# ifndef WIN32_LEAN_AND_MEAN
|
||||
# define WIN32_LEAN_AND_MEAN 1
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP)
|
||||
@@ -80,23 +74,23 @@ typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESC
|
||||
# pragma warning( disable : 4273 ) /* 'function' : inconsistent DLL linkage. dllexport assumed. */
|
||||
#endif
|
||||
|
||||
WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC);
|
||||
WGLAPI int GLAPIENTRY wglMakeCurrent(HDC,HGLRC);
|
||||
|
||||
WGLAPI int GLAPIENTRY wglSetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *);
|
||||
WGLAPI int GLAPIENTRY wglSwapBuffers(HDC hdc);
|
||||
WGLAPI HDC GLAPIENTRY wglGetCurrentDC(void);
|
||||
WGLAPI int GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *);
|
||||
WGLAPI int GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR);
|
||||
WGLAPI int GLAPIENTRY wglGetPixelFormat(HDC hdc);
|
||||
|
||||
WGLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
|
||||
WGLAPI HGLRC GLAPIENTRY wglCreateContext(HDC);
|
||||
WGLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC,int);
|
||||
WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void);
|
||||
WGLAPI PROC GLAPIENTRY wglGetProcAddress(const char*);
|
||||
WGLAPI int GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *);
|
||||
WGLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
|
||||
WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC);
|
||||
WGLAPI int GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR);
|
||||
WGLAPI int GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR);
|
||||
WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void);
|
||||
WGLAPI HDC GLAPIENTRY wglGetCurrentDC(void);
|
||||
WGLAPI int GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *);
|
||||
WGLAPI int GLAPIENTRY wglGetPixelFormat(HDC hdc);
|
||||
WGLAPI int GLAPIENTRY wglMakeCurrent(HDC, HGLRC);
|
||||
WGLAPI PROC GLAPIENTRY wglGetProcAddress(const char*);
|
||||
WGLAPI int GLAPIENTRY wglMakeCurrent(HDC,HGLRC);
|
||||
WGLAPI int GLAPIENTRY wglRealizeLayerPalette(HDC, int, int);
|
||||
WGLAPI int GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *);
|
||||
WGLAPI int GLAPIENTRY wglShareLists(HGLRC, HGLRC);
|
||||
@@ -105,12 +99,14 @@ WGLAPI int GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, un
|
||||
WGLAPI int GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long);
|
||||
WGLAPI int GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
||||
WGLAPI int GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
||||
|
||||
#ifndef __MINGW32__
|
||||
WGLAPI int GLAPIENTRY SwapBuffers(HDC);
|
||||
WGLAPI int GLAPIENTRY ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR *);
|
||||
WGLAPI int GLAPIENTRY DescribePixelFormat(HDC,int,unsigned int,LPPIXELFORMATDESCRIPTOR);
|
||||
WGLAPI int GLAPIENTRY GetPixelFormat(HDC);
|
||||
WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef WGL_ARB_extensions_string
|
||||
#define WGL_ARB_extensions_string 1
|
||||
|
@@ -1053,6 +1053,7 @@ main (int argc, char *argv[])
|
||||
else
|
||||
file = argv[1];
|
||||
|
||||
glutInit(&argc, argv);
|
||||
glutInitWindowPosition (0, 0);
|
||||
glutInitWindowSize(640,480);
|
||||
glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
||||
|
@@ -569,6 +569,7 @@ main(int ac, char **av)
|
||||
if (ac == 2)
|
||||
frontbuffer = 0;
|
||||
|
||||
glutInit(&ac, av);
|
||||
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
|
||||
glutInitWindowPosition(0, 0);
|
||||
glutInitWindowSize(640, 480);
|
||||
|
@@ -1042,6 +1042,7 @@ int main(int argc, char **argv)
|
||||
|
||||
read_surface( "isosurf.dat" );
|
||||
|
||||
glutInit( &argc, argv);
|
||||
glutInitWindowPosition(0, 0);
|
||||
glutInitWindowSize(400, 400);
|
||||
|
||||
|
@@ -826,7 +826,7 @@ static void pinit(void)
|
||||
|
||||
}
|
||||
|
||||
static void INIT(void)
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
printf("Morph 3D - Shows morphing platonic polyhedra\n");
|
||||
printf("Author: Marcelo Fernandes Vianna (vianna@cat.cbpf.br)\n\n");
|
||||
@@ -841,6 +841,7 @@ static void INIT(void)
|
||||
|
||||
object=1;
|
||||
|
||||
glutInit(&argc, argv);
|
||||
glutInitWindowPosition(0,0);
|
||||
glutInitWindowSize(640,480);
|
||||
|
||||
@@ -888,9 +889,3 @@ static void INIT(void)
|
||||
glutMainLoop();
|
||||
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
INIT();
|
||||
return(0);
|
||||
}
|
||||
|
@@ -100,6 +100,7 @@ static void init( void )
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
glutInitWindowPosition(0, 0);
|
||||
glutInitWindowSize(500, 500);
|
||||
glutInitDisplayMode( GLUT_RGB );
|
||||
|
@@ -409,6 +409,8 @@ test(GLenum type, GLint bits, const char *filename)
|
||||
|
||||
printf("Rendering %d bit/channel image: %s\n", bits, filename);
|
||||
|
||||
OSMesaColorClamp(GL_TRUE);
|
||||
|
||||
init_context();
|
||||
render_image();
|
||||
if (Gradient)
|
||||
@@ -421,7 +423,7 @@ test(GLenum type, GLint bits, const char *filename)
|
||||
if (WriteFiles && filename != NULL) {
|
||||
if (type == GL_UNSIGNED_SHORT) {
|
||||
GLushort *buffer16 = (GLushort *) buffer;
|
||||
GLubyte *buffer8 = malloc(WIDTH * HEIGHT * 4);
|
||||
GLubyte *buffer8 = (GLubyte *) malloc(WIDTH * HEIGHT * 4);
|
||||
int i;
|
||||
for (i = 0; i < WIDTH * HEIGHT * 4; i++)
|
||||
buffer8[i] = buffer16[i] >> 8;
|
||||
@@ -430,8 +432,9 @@ test(GLenum type, GLint bits, const char *filename)
|
||||
}
|
||||
else if (type == GL_FLOAT) {
|
||||
GLfloat *buffer32 = (GLfloat *) buffer;
|
||||
GLubyte *buffer8 = malloc(WIDTH * HEIGHT * 4);
|
||||
GLubyte *buffer8 = (GLubyte *) malloc(WIDTH * HEIGHT * 4);
|
||||
int i;
|
||||
/* colors may be outside [0,1] so we need to clamp */
|
||||
for (i = 0; i < WIDTH * HEIGHT * 4; i++)
|
||||
buffer8[i] = (GLubyte) (buffer32[i] * 255.0);
|
||||
write_ppm(filename, buffer8, WIDTH, HEIGHT);
|
||||
|
@@ -26,6 +26,15 @@
|
||||
# Email : dborca@users.sourceforge.net
|
||||
# Web : http://www.geocities.com/dborca
|
||||
|
||||
# MinGW samples makefile updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) Although more tests are needed, it can be used individually!
|
||||
|
||||
#
|
||||
# Available options:
|
||||
@@ -45,14 +54,14 @@
|
||||
TOP = ../..
|
||||
|
||||
CC = mingw32-gcc
|
||||
CFLAGS = -Wall -W -pedantic
|
||||
CFLAGS += -O2 -ffast-math
|
||||
CFLAGS = -Wall -pedantic
|
||||
CFLAGS += -O2 -ffast-math -D_DLL
|
||||
CFLAGS += -I$(TOP)/include -I../util
|
||||
ifeq ($(FX),1)
|
||||
CFLAGS += -DFX
|
||||
CFLAGS += -DFX
|
||||
endif
|
||||
CFLAGS += -DGLUT_DISABLE_ATEXIT_HACK -D_STDCALL_SUPPORTED
|
||||
CFLAGS += -D_WINDEF_ -D_WINGDI_
|
||||
|
||||
CFLAGS += -DGLUT_DISABLE_ATEXIT_HACK
|
||||
|
||||
LD = mingw32-g++
|
||||
LDFLAGS = -s -L$(TOP)/lib
|
||||
@@ -62,7 +71,8 @@ LDLIBS = -lglut32 -lglu32 -lopengl32
|
||||
.c.o:
|
||||
$(CC) -o $@ $(CFLAGS) -c $<
|
||||
%.exe: ../util/readtex.o ../util/showbuffer.o %.o
|
||||
$(LD) -o $@ $(LDFLAGS) $^ $(LDLIBS)
|
||||
$(LD) -o $@ $(LDFLAGS) $(LDLIBS) $^
|
||||
|
||||
|
||||
all:
|
||||
$(error Must specify <filename.exe> to build)
|
||||
|
@@ -93,7 +93,7 @@ MakePbuffer( Display *dpy, int screen, int width, int height )
|
||||
None
|
||||
},
|
||||
{
|
||||
/* Single bufferd, without depth buffer */
|
||||
/* Single buffered, without depth buffer */
|
||||
GLX_RENDER_TYPE, GLX_RGBA_BIT,
|
||||
GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT,
|
||||
GLX_RED_SIZE, 1,
|
||||
@@ -105,7 +105,7 @@ MakePbuffer( Display *dpy, int screen, int width, int height )
|
||||
None
|
||||
},
|
||||
{
|
||||
/* Double bufferd, without depth buffer */
|
||||
/* Double buffered, without depth buffer */
|
||||
GLX_RENDER_TYPE, GLX_RGBA_BIT,
|
||||
GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT,
|
||||
GLX_RED_SIZE, 1,
|
||||
@@ -130,9 +130,8 @@ MakePbuffer( Display *dpy, int screen, int width, int height )
|
||||
/* Get list of possible frame buffer configurations */
|
||||
fbConfigs = ChooseFBConfig(dpy, screen, fbAttribs[attempt], &nConfigs);
|
||||
if (nConfigs==0 || !fbConfigs) {
|
||||
printf("Error: glXChooseFBConfig failed\n");
|
||||
XCloseDisplay(dpy);
|
||||
return 0;
|
||||
printf("Note: glXChooseFBConfig(%s) failed\n", fbString[attempt]);
|
||||
continue;
|
||||
}
|
||||
|
||||
#if 0 /*DEBUG*/
|
||||
|
230
src/glu/sgi/Makefile.mgw
Normal file
230
src/glu/sgi/Makefile.mgw
Normal file
@@ -0,0 +1,230 @@
|
||||
# Mesa 3-D graphics library
|
||||
# Version: 5.1
|
||||
#
|
||||
# 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.
|
||||
|
||||
# MinGW core makefile v1.4 for Mesa
|
||||
#
|
||||
# Copyright (C) 2002 - Daniel Borca
|
||||
# Email : dborca@users.sourceforge.net
|
||||
# Web : http://www.geocities.com/dborca
|
||||
|
||||
# MinGW core-glu makefile updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) Although more tests are needed, it can be used individually!
|
||||
|
||||
#
|
||||
# Available options:
|
||||
#
|
||||
# Environment variables:
|
||||
# CFLAGS
|
||||
#
|
||||
# GLIDE path to Glide3 SDK; used with FX.
|
||||
# default = $(TOP)/glide3
|
||||
# FX=1 build for 3dfx Glide3. Note that this disables
|
||||
# compilation of most WMesa code and requires fxMesa.
|
||||
# As a consequence, you'll need the Win32 Glide3
|
||||
# library to build any application.
|
||||
# default = no
|
||||
# ICD=1 build the installable client driver interface
|
||||
# (windows opengl driver interface)
|
||||
# default = no
|
||||
# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
||||
# default = no
|
||||
#
|
||||
# Targets:
|
||||
# all: build GL
|
||||
# clean: remove object files
|
||||
#
|
||||
|
||||
|
||||
|
||||
.PHONY: all clean
|
||||
.INTERMEDIATE: x86/gen_matypes.exe
|
||||
.SUFFIXES: .rc .res
|
||||
|
||||
# Set this to the prefix of your build tools, i.e. mingw32-
|
||||
TOOLS_PREFIX = mingw32-
|
||||
|
||||
TOP = ../../..
|
||||
LIBDIR = $(TOP)/lib
|
||||
|
||||
LIB_NAME = glu32
|
||||
DLL_EXT = .dll
|
||||
IMP_EXT = .a
|
||||
LIB_PRE = lib
|
||||
STRIP = -s
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = crus
|
||||
DLLTOOL = dlltool
|
||||
|
||||
GLU_DLL = $(LIB_NAME)$(DLL_EXT)
|
||||
GLU_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT)
|
||||
GLU_DEF = $(LIB_NAME).def
|
||||
|
||||
LDLIBS = -L$(LIBDIR) -lopengl32
|
||||
LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at
|
||||
|
||||
CFLAGS += -DBUILD_GLU32 -D_DLL
|
||||
|
||||
|
||||
CC = $(TOOLS_PREFIX)gcc
|
||||
CFLAGS += -DNDEBUG -DLIBRARYBUILD -I$(TOP)/include -Iinclude
|
||||
CXX = $(TOOLS_PREFIX)g++
|
||||
CXXFLAGS = $(CFLAGS) -Ilibnurbs/internals -Ilibnurbs/interface -Ilibnurbs/nurbtess
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = crus
|
||||
|
||||
UNLINK = del $(subst /,\,$(1))
|
||||
ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||
UNLINK = $(RM) $(1)
|
||||
endif
|
||||
ifneq ($(wildcard $(addsuffix /rm,$(subst :, ,$(PATH)))),)
|
||||
UNLINK = $(RM) $(1)
|
||||
endif
|
||||
|
||||
C_SOURCES = \
|
||||
libutil/error.c \
|
||||
libutil/glue.c \
|
||||
libutil/mipmap.c \
|
||||
libutil/project.c \
|
||||
libutil/quad.c \
|
||||
libutil/registry.c \
|
||||
libtess/dict.c \
|
||||
libtess/geom.c \
|
||||
libtess/memalloc.c \
|
||||
libtess/mesh.c \
|
||||
libtess/normal.c \
|
||||
libtess/priorityq.c \
|
||||
libtess/render.c \
|
||||
libtess/sweep.c \
|
||||
libtess/tess.c \
|
||||
libtess/tessmono.c
|
||||
|
||||
CC_SOURCES = \
|
||||
libnurbs/interface/bezierEval.cc \
|
||||
libnurbs/interface/bezierPatch.cc \
|
||||
libnurbs/interface/bezierPatchMesh.cc \
|
||||
libnurbs/interface/glcurveval.cc \
|
||||
libnurbs/interface/glinterface.cc \
|
||||
libnurbs/interface/glrenderer.cc \
|
||||
libnurbs/interface/glsurfeval.cc \
|
||||
libnurbs/interface/incurveeval.cc \
|
||||
libnurbs/interface/insurfeval.cc \
|
||||
libnurbs/internals/arc.cc \
|
||||
libnurbs/internals/arcsorter.cc \
|
||||
libnurbs/internals/arctess.cc \
|
||||
libnurbs/internals/backend.cc \
|
||||
libnurbs/internals/basiccrveval.cc \
|
||||
libnurbs/internals/basicsurfeval.cc \
|
||||
libnurbs/internals/bin.cc \
|
||||
libnurbs/internals/bufpool.cc \
|
||||
libnurbs/internals/cachingeval.cc \
|
||||
libnurbs/internals/ccw.cc \
|
||||
libnurbs/internals/coveandtiler.cc \
|
||||
libnurbs/internals/curve.cc \
|
||||
libnurbs/internals/curvelist.cc \
|
||||
libnurbs/internals/curvesub.cc \
|
||||
libnurbs/internals/dataTransform.cc \
|
||||
libnurbs/internals/displaylist.cc \
|
||||
libnurbs/internals/flist.cc \
|
||||
libnurbs/internals/flistsorter.cc \
|
||||
libnurbs/internals/hull.cc \
|
||||
libnurbs/internals/intersect.cc \
|
||||
libnurbs/internals/knotvector.cc \
|
||||
libnurbs/internals/mapdesc.cc \
|
||||
libnurbs/internals/mapdescv.cc \
|
||||
libnurbs/internals/maplist.cc \
|
||||
libnurbs/internals/mesher.cc \
|
||||
libnurbs/internals/monoTriangulationBackend.cc \
|
||||
libnurbs/internals/monotonizer.cc \
|
||||
libnurbs/internals/mycode.cc \
|
||||
libnurbs/internals/nurbsinterfac.cc \
|
||||
libnurbs/internals/nurbstess.cc \
|
||||
libnurbs/internals/patch.cc \
|
||||
libnurbs/internals/patchlist.cc \
|
||||
libnurbs/internals/quilt.cc \
|
||||
libnurbs/internals/reader.cc \
|
||||
libnurbs/internals/renderhints.cc \
|
||||
libnurbs/internals/slicer.cc \
|
||||
libnurbs/internals/sorter.cc \
|
||||
libnurbs/internals/splitarcs.cc \
|
||||
libnurbs/internals/subdivider.cc \
|
||||
libnurbs/internals/tobezier.cc \
|
||||
libnurbs/internals/trimline.cc \
|
||||
libnurbs/internals/trimregion.cc \
|
||||
libnurbs/internals/trimvertpool.cc \
|
||||
libnurbs/internals/uarray.cc \
|
||||
libnurbs/internals/varray.cc \
|
||||
libnurbs/nurbtess/directedLine.cc \
|
||||
libnurbs/nurbtess/gridWrap.cc \
|
||||
libnurbs/nurbtess/monoChain.cc \
|
||||
libnurbs/nurbtess/monoPolyPart.cc \
|
||||
libnurbs/nurbtess/monoTriangulation.cc \
|
||||
libnurbs/nurbtess/partitionX.cc \
|
||||
libnurbs/nurbtess/partitionY.cc \
|
||||
libnurbs/nurbtess/polyDBG.cc \
|
||||
libnurbs/nurbtess/polyUtil.cc \
|
||||
libnurbs/nurbtess/primitiveStream.cc \
|
||||
libnurbs/nurbtess/quicksort.cc \
|
||||
libnurbs/nurbtess/rectBlock.cc \
|
||||
libnurbs/nurbtess/sampleComp.cc \
|
||||
libnurbs/nurbtess/sampleCompBot.cc \
|
||||
libnurbs/nurbtess/sampleCompRight.cc \
|
||||
libnurbs/nurbtess/sampleCompTop.cc \
|
||||
libnurbs/nurbtess/sampleMonoPoly.cc \
|
||||
libnurbs/nurbtess/sampledLine.cc \
|
||||
libnurbs/nurbtess/searchTree.cc
|
||||
|
||||
SOURCES = $(C_SOURCES) $(CC_SOURCES)
|
||||
|
||||
OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
|
||||
|
||||
.c.o:
|
||||
$(CC) -o $@ $(CFLAGS) -c $<
|
||||
.cc.o:
|
||||
$(CXX) -o $@ $(CXXFLAGS) -c $<
|
||||
|
||||
|
||||
all: $(LIBDIR) $(LIBDIR)/$(GLU_DLL) $(LIBDIR)/$(GLU_IMP)
|
||||
|
||||
$(LIBDIR):
|
||||
mkdir -p $(LIBDIR)
|
||||
|
||||
$(LIBDIR)/$(GLU_DLL) $(LIBDIR)/$(GLU_IMP): $(OBJECTS)
|
||||
$(CXX) $(LDFLAGS) -o $(LIBDIR)/$(GLU_DLL) $^ $(LDLIBS)
|
||||
$(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GLU_DEF) $^
|
||||
$(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GLU_IMP) --def $(LIBDIR)/$(GLU_DEF)
|
||||
|
||||
|
||||
clean:
|
||||
-$(call UNLINK,libutil/*.o)
|
||||
-$(call UNLINK,libtess/*.o)
|
||||
-$(call UNLINK,libnurbs/interface/*.o)
|
||||
-$(call UNLINK,libnurbs/internals/*.o)
|
||||
-$(call UNLINK,libnurbs/nurbtess/*.o)
|
@@ -111,8 +111,11 @@ void bezierPatchDelete(bezierPatch *b)
|
||||
void bezierPatchDeleteList(bezierPatch *b)
|
||||
{
|
||||
bezierPatch *temp;
|
||||
for(temp = b; temp != NULL; temp = temp->next)
|
||||
bezierPatchDelete(temp);
|
||||
while (b != NULL) {
|
||||
temp = b;
|
||||
b = b->next;
|
||||
bezierPatchDelete(temp);
|
||||
}
|
||||
}
|
||||
|
||||
bezierPatch* bezierPatchInsert(bezierPatch *list, bezierPatch *b)
|
||||
|
@@ -93,7 +93,7 @@ public:
|
||||
output_triangles = flag;
|
||||
}
|
||||
#ifdef _WIN32
|
||||
void putCallBack(GLenum which, void (APIENTRY *fn)() );
|
||||
void putCallBack(GLenum which, void (GLAPIENTRY *fn)() );
|
||||
#else
|
||||
void putCallBack(GLenum which, _GLUfuncptr fn );
|
||||
#endif
|
||||
|
@@ -1184,8 +1184,11 @@ return;
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
OpenGLSurfaceEvaluator::putCallBack(GLenum which, _GLUfuncptr fn )
|
||||
#ifdef _WIN32
|
||||
void OpenGLSurfaceEvaluator::putCallBack(GLenum which, void (GLAPIENTRY *fn)() )
|
||||
#else
|
||||
void OpenGLSurfaceEvaluator::putCallBack(GLenum which, _GLUfuncptr fn )
|
||||
#endif
|
||||
{
|
||||
switch(which)
|
||||
{
|
||||
|
@@ -145,7 +145,7 @@ public:
|
||||
void newtmeshvert( long, long );
|
||||
|
||||
#ifdef _WIN32
|
||||
void putCallBack(GLenum which, void (APIENTRY *fn)() );
|
||||
void putCallBack(GLenum which, void (GLAPIENTRY *fn)() );
|
||||
#else
|
||||
void putCallBack(GLenum which, _GLUfuncptr fn );
|
||||
#endif
|
||||
|
@@ -1533,8 +1533,8 @@ void OpenGLSurfaceEvaluator::inEvalVStrip(int n_left, REAL u_left, REAL* left_va
|
||||
}
|
||||
//clean up
|
||||
free(leftXYZ);
|
||||
free(leftXYZ);
|
||||
free(rightNormal);
|
||||
free(rightXYZ);
|
||||
free(leftNormal);
|
||||
free(rightNormal);
|
||||
}
|
||||
|
||||
|
@@ -43,10 +43,9 @@
|
||||
#include "definitions.h"
|
||||
#include "primitiveStream.h"
|
||||
#include "directedLine.h"
|
||||
#include "arc.h"
|
||||
|
||||
class Backend;
|
||||
class Arc;
|
||||
typedef Arc *Arc_ptr;
|
||||
|
||||
class reflexChain{
|
||||
Real2 *queue;
|
||||
|
@@ -82,7 +82,7 @@ gluErrorString(GLenum errorCode)
|
||||
if ((errorCode >= GLU_NURBS_ERROR1) && (errorCode <= GLU_NURBS_ERROR37)) {
|
||||
return (const GLubyte *) __gluNURBSErrorString(errorCode - (GLU_NURBS_ERROR1 - 1));
|
||||
}
|
||||
if ((errorCode >= GLU_TESS_ERROR1) && (errorCode <= GLU_TESS_ERROR8)) {
|
||||
if ((errorCode >= GLU_TESS_ERROR1) && (errorCode <= GLU_TESS_ERROR6)) {
|
||||
return (const GLubyte *) __gluTessErrorString(errorCode - (GLU_TESS_ERROR1 - 1));
|
||||
}
|
||||
return (const GLubyte *) 0;
|
||||
|
191
src/glut/glx/Makefile.mgw
Normal file
191
src/glut/glx/Makefile.mgw
Normal file
@@ -0,0 +1,191 @@
|
||||
# Mesa 3-D graphics library
|
||||
# Version: 5.1
|
||||
#
|
||||
# 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.
|
||||
|
||||
# MinGW core makefile v1.4 for Mesa
|
||||
#
|
||||
# Copyright (C) 2002 - Daniel Borca
|
||||
# Email : dborca@users.sourceforge.net
|
||||
# Web : http://www.geocities.com/dborca
|
||||
|
||||
# MinGW core-glut makefile updated for Mesa 7.0
|
||||
#
|
||||
# Updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) Although more tests are needed, it can be used individually!
|
||||
|
||||
|
||||
#
|
||||
# Available options:
|
||||
#
|
||||
# Environment variables:
|
||||
# CFLAGS
|
||||
#
|
||||
# GLIDE path to Glide3 SDK; used with FX.
|
||||
# default = $(TOP)/glide3
|
||||
# FX=1 build for 3dfx Glide3. Note that this disables
|
||||
# compilation of most WMesa code and requires fxMesa.
|
||||
# As a consequence, you'll need the Win32 Glide3
|
||||
# library to build any application.
|
||||
# default = no
|
||||
# ICD=1 build the installable client driver interface
|
||||
# (windows opengl driver interface)
|
||||
# default = no
|
||||
# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
||||
# default = no
|
||||
#
|
||||
# Targets:
|
||||
# all: build GL
|
||||
# clean: remove object files
|
||||
#
|
||||
|
||||
|
||||
|
||||
.PHONY: all clean
|
||||
.INTERMEDIATE: x86/gen_matypes.exe
|
||||
.SUFFIXES: .rc .res
|
||||
|
||||
# Set this to the prefix of your build tools, i.e. mingw32-
|
||||
TOOLS_PREFIX = mingw32-
|
||||
|
||||
TOP = ../../..
|
||||
|
||||
LIBDIR = $(TOP)/lib
|
||||
|
||||
LIB_NAME = glut32
|
||||
|
||||
DLL_EXT = .dll
|
||||
IMP_EXT = .a
|
||||
LIB_PRE = lib
|
||||
STRIP = -s
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = crus
|
||||
DLLTOOL = dlltool
|
||||
|
||||
GLUT_DLL = $(LIB_NAME)$(DLL_EXT)
|
||||
GLUT_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT)
|
||||
GLUT_DEF = $(LIB_NAME).def
|
||||
|
||||
LDLIBS = -L$(LIBDIR) -lwinmm -lgdi32 -luser32 -lopengl32 -lglu32
|
||||
LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at
|
||||
|
||||
CFLAGS += -DBUILD_GLUT32 -DGLUT_BUILDING_LIB -DMESA -D_DLL
|
||||
CFLAGS += -DNDEBUG -DLIBRARYBUILD -I$(TOP)/include
|
||||
|
||||
CC = $(TOOLS_PREFIX)gcc
|
||||
CXX = $(TOOLS_PREFIX)g++
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = crus
|
||||
|
||||
UNLINK = del $(subst /,\,$(1))
|
||||
ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||
UNLINK = $(RM) $(1)
|
||||
endif
|
||||
ifneq ($(wildcard $(addsuffix /rm,$(subst :, ,$(PATH)))),)
|
||||
UNLINK = $(RM) $(1)
|
||||
endif
|
||||
|
||||
HDRS = glutint.h glutstroke.h glutbitmap.h glutwin32.h stroke.h win32_glx.h win32_x11.h
|
||||
|
||||
SRCS = \
|
||||
glut_bitmap.c \
|
||||
glut_bwidth.c \
|
||||
glut_cindex.c \
|
||||
glut_cmap.c \
|
||||
glut_cursor.c \
|
||||
glut_dials.c \
|
||||
glut_dstr.c \
|
||||
glut_event.c \
|
||||
glut_ext.c \
|
||||
glut_fbc.c \
|
||||
glut_fullscrn.c \
|
||||
glut_gamemode.c \
|
||||
glut_get.c \
|
||||
glut_init.c \
|
||||
glut_input.c \
|
||||
glut_joy.c \
|
||||
glut_key.c \
|
||||
glut_keyctrl.c \
|
||||
glut_keyup.c \
|
||||
glut_mesa.c \
|
||||
glut_modifier.c \
|
||||
glut_overlay.c \
|
||||
glut_shapes.c \
|
||||
glut_space.c \
|
||||
glut_stroke.c \
|
||||
glut_swap.c \
|
||||
glut_swidth.c \
|
||||
glut_tablet.c \
|
||||
glut_teapot.c \
|
||||
glut_util.c \
|
||||
glut_vidresize.c \
|
||||
glut_warp.c \
|
||||
glut_win.c \
|
||||
glut_winmisc.c \
|
||||
win32_glx.c \
|
||||
win32_menu.c \
|
||||
win32_util.c \
|
||||
win32_winproc.c \
|
||||
win32_x11.c
|
||||
|
||||
|
||||
SRCSSEMIGENS = \
|
||||
glut_8x13.c \
|
||||
glut_9x15.c \
|
||||
glut_hel10.c \
|
||||
glut_hel12.c \
|
||||
glut_hel18.c \
|
||||
glut_mroman.c \
|
||||
glut_roman.c \
|
||||
glut_tr10.c \
|
||||
glut_tr24.c
|
||||
|
||||
|
||||
|
||||
SOURCES = $(SRCS) $(SRCSSEMIGENS)
|
||||
|
||||
OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
|
||||
|
||||
.c.o:
|
||||
$(CC) -o $@ $(CFLAGS) -c $<
|
||||
.cc.o:
|
||||
$(CXX) -o $@ $(CXXFLAGS) -c $<
|
||||
|
||||
|
||||
all: $(LIBDIR) $(LIBDIR)/$(GLUT_DLL) $(LIBDIR)/$(GLUT_IMP)
|
||||
|
||||
$(LIBDIR):
|
||||
mkdir -p $(LIBDIR)
|
||||
|
||||
$(LIBDIR)/$(GLUT_DLL) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS)
|
||||
$(CXX) $(LDFLAGS) -o $(LIBDIR)/$(GLUT_DLL) $^ $(LDLIBS)
|
||||
$(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GLUT_DEF) $^
|
||||
$(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GLUT_IMP) --def $(LIBDIR)/$(GLUT_DEF)
|
||||
|
||||
clean:
|
||||
-$(call UNLINK,*.o)
|
@@ -291,6 +291,7 @@ loadVisuals(int *nitems_return)
|
||||
fbmodes = (FrameBufferMode *) malloc(n * sizeof(FrameBufferMode));
|
||||
if (fbmodes == NULL) {
|
||||
*nitems_return = -1;
|
||||
free(vlist);
|
||||
return NULL;
|
||||
}
|
||||
for (i = 0; i < n; i++) {
|
||||
|
@@ -24,7 +24,7 @@
|
||||
# ifdef __sgi
|
||||
# include <bstring.h> /* prototype for bzero used by FD_ZERO */
|
||||
# endif
|
||||
# if (defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
|
||||
# if (defined(__FreeBSD__) || defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
|
||||
# include <sys/select.h> /* select system call interface */
|
||||
# ifdef luna
|
||||
# include <sysent.h>
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
/* Set a Fortran callback function. */
|
||||
|
||||
void GLUTAPIENTRY
|
||||
void APIENTRY
|
||||
__glutSetFCB(int which, void *func)
|
||||
{
|
||||
#ifdef SUPPORT_FORTRAN
|
||||
@@ -100,7 +100,7 @@ __glutSetFCB(int which, void *func)
|
||||
|
||||
/* Get a Fortran callback function. */
|
||||
|
||||
void* GLUTAPIENTRY
|
||||
void* APIENTRY
|
||||
__glutGetFCB(int which)
|
||||
{
|
||||
#ifdef SUPPORT_FORTRAN
|
||||
|
@@ -23,6 +23,9 @@
|
||||
#endif
|
||||
#include <X11/Xutil.h>
|
||||
#else
|
||||
#ifdef __MINGW32__
|
||||
#include <GL/gl.h>
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#ifndef __CYGWIN32__
|
||||
#include <mmsystem.h> /* Win32 Multimedia API header. */
|
||||
|
@@ -6,6 +6,9 @@
|
||||
implied. This program is -not- in the public domain. */
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef __MINGW32__
|
||||
#include <GL/gl.h>
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#ifndef __CYGWIN32__
|
||||
#include <mmsystem.h> /* Win32 Multimedia API header. */
|
||||
|
@@ -26,7 +26,10 @@
|
||||
#include <GL/glx.h>
|
||||
#endif
|
||||
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
#define GLUT_BUILDING_LIB /* Building the GLUT library itself. */
|
||||
#endif
|
||||
|
||||
#include <GL/glut.h>
|
||||
|
||||
#if defined(MESA) && defined(_WIN32) && !defined(__CYGWIN32__)
|
||||
|
@@ -15,6 +15,7 @@
|
||||
|
||||
/* The following added by Paul Garceau <pgarceau@teleport.com> */
|
||||
#if defined(__MINGW32__)
|
||||
#include <GL/gl.h>
|
||||
#include <time.h>
|
||||
#include <windows.h>
|
||||
struct timeval;
|
||||
|
@@ -9,6 +9,9 @@
|
||||
|
||||
#include "glutint.h"
|
||||
#include <sys/timeb.h>
|
||||
#ifdef __MINGW32__
|
||||
#include <ctype.h>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(__CYGWIN32__)
|
||||
#include <mmsystem.h> /* Win32 Multimedia API header. */
|
||||
|
@@ -6,16 +6,14 @@
|
||||
/* This program is freely distributable without licensing fees
|
||||
and is provided without guarantee or warrantee expressed or
|
||||
implied. This program is -not- in the public domain. */
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#include <GL/gl.h>
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
|
||||
/* These definitions are missing from windows.h */
|
||||
WINGDIAPI int WINAPI wglChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *);
|
||||
WINGDIAPI int WINAPI wglDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
|
||||
WINGDIAPI int WINAPI wglGetPixelFormat(HDC);
|
||||
WINGDIAPI BOOL WINAPI wglSetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *);
|
||||
WINGDIAPI BOOL WINAPI wglSwapBuffers(HDC);
|
||||
|
||||
|
||||
/* Type definitions (conversions) */
|
||||
typedef int Visual; /* Win32 equivalent of X11 type */
|
||||
|
@@ -150,7 +150,7 @@ DestroyPbuffer( Display * dpy, GLXDrawable drawable )
|
||||
if ( (priv->majorVersion > 1) || (priv->minorVersion >= 3) ) {
|
||||
xGLXDestroyPbufferReq * req;
|
||||
|
||||
GetReqExtra( GLXDestroyPbuffer, 4, req );
|
||||
GetReq( GLXDestroyPbuffer, req );
|
||||
req->reqType = opcode;
|
||||
req->glxCode = X_GLXDestroyPbuffer;
|
||||
req->pbuffer = (GLXPbuffer) drawable;
|
||||
|
@@ -117,17 +117,16 @@ $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS)
|
||||
$(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(STAND_ALONE_OBJECTS)
|
||||
|
||||
# Make the OSMesa library
|
||||
# Note: version is kept at 6.5.3 to simplify app/linking issues
|
||||
$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OSMESA_DRIVER_OBJECTS) $(OSMESA16_OBJECTS)
|
||||
@ if [ "${DRIVER_DIRS}" = "osmesa" ] ; then \
|
||||
$(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \
|
||||
-major $(MESA_MAJOR) \
|
||||
-minor $(MESA_MINOR) -patch $(MESA_TINY) \
|
||||
-major 6 -minor 5 -patch 3 \
|
||||
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
|
||||
$(OSMESA_LIB_DEPS) $(OSMESA16_OBJECTS) ; \
|
||||
else \
|
||||
$(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \
|
||||
-major $(MESA_MAJOR) \
|
||||
-minor $(MESA_MINOR) -patch $(GL_TINY) \
|
||||
-major 6 -minor 5 -patch 3 \
|
||||
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
|
||||
$(OSMESA_LIB_DEPS) $(OSMESA_DRIVER_OBJECTS) ; \
|
||||
fi
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# Mesa 3-D graphics library
|
||||
# Version: 5.1
|
||||
# Version: 7.0
|
||||
#
|
||||
# Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||
#
|
||||
@@ -26,6 +26,16 @@
|
||||
# Email : dborca@users.sourceforge.net
|
||||
# Web : http://www.geocities.com/dborca
|
||||
|
||||
# MinGW core-gl makefile updated for Mesa 7.0
|
||||
#
|
||||
# updated : by Heromyth, on 2007-7-21
|
||||
# Email : zxpmyth@yahoo.com.cn
|
||||
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||
# The others havn't been tested yet.
|
||||
# 2) The generated DLLs are *not* compatible with the ones built
|
||||
# with the other compilers like VC8, especially for GLUT.
|
||||
# 3) Although more tests are needed, it can be used individually!
|
||||
|
||||
|
||||
#
|
||||
# Available options:
|
||||
@@ -52,7 +62,6 @@
|
||||
#
|
||||
|
||||
|
||||
|
||||
.PHONY: all clean
|
||||
.INTERMEDIATE: x86/gen_matypes.exe
|
||||
.SUFFIXES: .rc .res
|
||||
@@ -60,23 +69,37 @@
|
||||
# Set this to the prefix of your build tools, i.e. mingw32-
|
||||
TOOLS_PREFIX = mingw32-
|
||||
|
||||
ifeq ($(ICD),1)
|
||||
LIB_NAME = mesa32
|
||||
else
|
||||
LIB_NAME = opengl32
|
||||
endif
|
||||
|
||||
DLL_EXT = .dll
|
||||
IMP_EXT = .a
|
||||
LIB_PRE = lib
|
||||
STRIP = -s
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = crus
|
||||
DLLTOOL = dlltool
|
||||
|
||||
TOP = ../..
|
||||
GLIDE ?= $(TOP)/glide3
|
||||
LIBDIR = $(TOP)/lib
|
||||
ifeq ($(ICD),1)
|
||||
GL_DLL = mesa32.dll
|
||||
GL_IMP = libmesa32.a
|
||||
else
|
||||
GL_DLL = opengl32.dll
|
||||
GL_IMP = libopengl32.a
|
||||
endif
|
||||
|
||||
LDLIBS = -lgdi32
|
||||
GL_DLL = $(LIB_NAME)$(DLL_EXT)
|
||||
GL_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT)
|
||||
|
||||
MESA_LIB = libmesa.a
|
||||
CC = $(TOOLS_PREFIX)gcc
|
||||
CFLAGS += -DBUILD_GL32 -D_OPENGL32_
|
||||
CFLAGS += $(INCLUDE_DIRS)
|
||||
CFLAGS += -DUSE_EXTERNAL_DXTN_LIB=1
|
||||
|
||||
LDLIBS = -lgdi32 -luser32 -liberty
|
||||
LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at
|
||||
|
||||
CFLAGS += -DBUILD_GL32 -D_DLL -DMESA_MINWARN
|
||||
CFLAGS += -DNDEBUG -DUSE_EXTERNAL_DXTN_LIB=1
|
||||
|
||||
ifeq ($(FX),1)
|
||||
CFLAGS += -I$(GLIDE)/include -DFX
|
||||
LDLIBS += -L$(GLIDE)/lib -lglide3x
|
||||
@@ -87,12 +110,11 @@ else
|
||||
CFLAGS += -DUSE_MGL_NAMESPACE
|
||||
GL_DEF = drivers/windows/icd/mesa.def
|
||||
else
|
||||
GL_DEF = drivers/windows/gdi/mesa.def
|
||||
GL_DEF = $(LIB_NAME).def
|
||||
endif
|
||||
endif
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = crus
|
||||
|
||||
|
||||
UNLINK = del $(subst /,\,$(1))
|
||||
ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||
@@ -104,6 +126,8 @@ endif
|
||||
|
||||
include sources
|
||||
|
||||
CFLAGS += $(INCLUDE_DIRS)
|
||||
|
||||
ifeq ($(X86),1)
|
||||
CFLAGS += -DUSE_X86_ASM
|
||||
CFLAGS += -DUSE_MMX_ASM
|
||||
@@ -140,22 +164,23 @@ RESOURCE = $(GL_RES:.rc=.res)
|
||||
|
||||
.c.o:
|
||||
$(CC) -o $@ $(CFLAGS) -c $<
|
||||
.S.o:
|
||||
$(CC) -o $@ $(CFLAGS) -c $<
|
||||
.s.o:
|
||||
$(CC) -o $@ $(CFLAGS) -x assembler-with-cpp -c $<
|
||||
|
||||
.rc.res:
|
||||
windres -o $@ -Irc -Ocoff $<
|
||||
|
||||
|
||||
all: $(LIBDIR) $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP)
|
||||
|
||||
$(LIBDIR):
|
||||
mkdir -p $(LIBDIR)
|
||||
|
||||
$(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP): $(OBJECTS) $(RESOURCE)
|
||||
$(TOOLS_PREFIX)dllwrap -o $(LIBDIR)/$(GL_DLL) --output-lib $(LIBDIR)/$(GL_IMP) \
|
||||
--target i386-mingw32 --def $(GL_DEF) -Wl,-enable-stdcall-fixup \
|
||||
$^ $(LDLIBS)
|
||||
$(CC) $(LDFLAGS) -o $(LIBDIR)/$(GL_DLL) $^ $(LDLIBS)
|
||||
$(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GL_DEF) $^
|
||||
$(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GL_IMP) --def $(LIBDIR)/$(GL_DEF)
|
||||
|
||||
|
||||
$(X86_OBJECTS): x86/matypes.h
|
||||
|
||||
@@ -187,17 +212,21 @@ tnl/t_vtx_x86_gcc.o: tnl/t_vtx_x86_gcc.S
|
||||
$(CC) -o $@ $(CFLAGS) -DSTDCALL_API -c $<
|
||||
|
||||
clean:
|
||||
-$(call UNLINK,array_cache/*.o)
|
||||
-$(call UNLINK,glapi/*.o)
|
||||
-$(call UNLINK,main/*.o)
|
||||
-$(call UNLINK,math/*.o)
|
||||
-$(call UNLINK,vbo/*.o)
|
||||
-$(call UNLINK,shader/*.o)
|
||||
-$(call UNLINK,shader/slang/*.o)
|
||||
-$(call UNLINK,shader/grammar/*.o)
|
||||
-$(call UNLINK,sparc/*.o)
|
||||
-$(call UNLINK,ppc/*.o)
|
||||
-$(call UNLINK,swrast/*.o)
|
||||
-$(call UNLINK,swrast_setup/*.o)
|
||||
-$(call UNLINK,tnl/*.o)
|
||||
-$(call UNLINK,x86/*.o)
|
||||
-$(call UNLINK,x86/rtasm/*.o)
|
||||
-$(call UNLINK,x86-64/*.o)
|
||||
-$(call UNLINK,drivers/common/*.o)
|
||||
-$(call UNLINK,drivers/glide/*.o)
|
||||
-$(call UNLINK,drivers/windows/fx/*.o)
|
||||
|
@@ -32,7 +32,7 @@ install:
|
||||
clean:
|
||||
@for dir in $(DRI_DIRS) ; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
(cd $$dir && $(MAKE) clean ; \
|
||||
(cd $$dir && $(MAKE) clean) ; \
|
||||
fi \
|
||||
done
|
||||
-rm -f common/*.o
|
||||
|
@@ -51,6 +51,7 @@ pool_create(struct _DriBufferPool *pool,
|
||||
return NULL;
|
||||
|
||||
if ((alignment > pageSize) && (alignment % pageSize)) {
|
||||
free(buf);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@@ -428,10 +428,12 @@ __driUtilUpdateDrawableInfo(__DRIdrawablePrivate *pdp)
|
||||
|
||||
if (pdp->pClipRects) {
|
||||
_mesa_free(pdp->pClipRects);
|
||||
pdp->pClipRects = NULL;
|
||||
}
|
||||
|
||||
if (pdp->pBackClipRects) {
|
||||
_mesa_free(pdp->pBackClipRects);
|
||||
pdp->pBackClipRects = NULL;
|
||||
}
|
||||
|
||||
DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
|
||||
@@ -995,6 +997,9 @@ __driUtilCreateNewScreen(__DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
|
||||
psc->getMSC = driGetMSC;
|
||||
psc->createNewContext = driCreateNewContext;
|
||||
|
||||
if (internal_api_version >= 20070121)
|
||||
psc->setTexOffset = psp->DriverAPI.setTexOffset;
|
||||
|
||||
if ( (psp->DriverAPI.InitDriver != NULL)
|
||||
&& !(*psp->DriverAPI.InitDriver)(psp) ) {
|
||||
_mesa_free( psp );
|
||||
|
@@ -189,6 +189,12 @@ struct __DriverAPIRec {
|
||||
/*@}*/
|
||||
void (*CopySubBuffer)(__DRIdrawablePrivate *driDrawPriv,
|
||||
int x, int y, int w, int h);
|
||||
|
||||
/**
|
||||
* See corresponding field in \c __DRIscreenRec.
|
||||
*/
|
||||
void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth, GLuint pitch);
|
||||
};
|
||||
|
||||
|
||||
|
@@ -1471,9 +1471,10 @@ static const char ImageTransformParameterfvHP_names[] =
|
||||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_ARB_vertex_program)
|
||||
#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program)
|
||||
static const char VertexAttrib4ivARB_names[] =
|
||||
"ip\0" /* Parameter signature */
|
||||
"glVertexAttrib4iv\0"
|
||||
"glVertexAttrib4ivARB\0"
|
||||
"";
|
||||
#endif
|
||||
@@ -1579,9 +1580,10 @@ static const char PixelTransformParameterfvEXT_names[] =
|
||||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_ARB_vertex_program)
|
||||
#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program)
|
||||
static const char VertexAttrib4bvARB_names[] =
|
||||
"ip\0" /* Parameter signature */
|
||||
"glVertexAttrib4bv\0"
|
||||
"glVertexAttrib4bvARB\0"
|
||||
"";
|
||||
#endif
|
||||
@@ -2384,9 +2386,10 @@ static const char GetAttribLocationARB_names[] =
|
||||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_ARB_vertex_program)
|
||||
#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program)
|
||||
static const char VertexAttrib4ubvARB_names[] =
|
||||
"ip\0" /* Parameter signature */
|
||||
"glVertexAttrib4ubv\0"
|
||||
"glVertexAttrib4ubvARB\0"
|
||||
"";
|
||||
#endif
|
||||
@@ -2903,9 +2906,10 @@ static const char ReplacementCodeuiColor4ubVertex3fSUN_names[] =
|
||||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_ARB_vertex_program)
|
||||
#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program)
|
||||
static const char VertexAttrib4usvARB_names[] =
|
||||
"ip\0" /* Parameter signature */
|
||||
"glVertexAttrib4usv\0"
|
||||
"glVertexAttrib4usvARB\0"
|
||||
"";
|
||||
#endif
|
||||
@@ -4386,9 +4390,10 @@ static const char WindowPos4iMESA_names[] =
|
||||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_ARB_vertex_program)
|
||||
#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program)
|
||||
static const char VertexAttrib4uivARB_names[] =
|
||||
"ip\0" /* Parameter signature */
|
||||
"glVertexAttrib4uiv\0"
|
||||
"glVertexAttrib4uivARB\0"
|
||||
"";
|
||||
#endif
|
||||
@@ -6243,6 +6248,8 @@ static const struct dri_extension_function GL_VERSION_2_0_functions[] = {
|
||||
{ GetVertexAttribivARB_names, GetVertexAttribivARB_remap_index, -1 },
|
||||
{ CreateProgram_names, CreateProgram_remap_index, -1 },
|
||||
{ StencilFuncSeparate_names, StencilFuncSeparate_remap_index, -1 },
|
||||
{ VertexAttrib4ivARB_names, VertexAttrib4ivARB_remap_index, -1 },
|
||||
{ VertexAttrib4bvARB_names, VertexAttrib4bvARB_remap_index, -1 },
|
||||
{ VertexAttrib3dARB_names, VertexAttrib3dARB_remap_index, -1 },
|
||||
{ VertexAttrib4fARB_names, VertexAttrib4fARB_remap_index, -1 },
|
||||
{ VertexAttrib4fvARB_names, VertexAttrib4fvARB_remap_index, -1 },
|
||||
@@ -6256,6 +6263,7 @@ static const struct dri_extension_function GL_VERSION_2_0_functions[] = {
|
||||
{ VertexAttrib1dvARB_names, VertexAttrib1dvARB_remap_index, -1 },
|
||||
{ GetVertexAttribfvARB_names, GetVertexAttribfvARB_remap_index, -1 },
|
||||
{ GetAttribLocationARB_names, GetAttribLocationARB_remap_index, -1 },
|
||||
{ VertexAttrib4ubvARB_names, VertexAttrib4ubvARB_remap_index, -1 },
|
||||
{ Uniform3ivARB_names, Uniform3ivARB_remap_index, -1 },
|
||||
{ VertexAttrib4sARB_names, VertexAttrib4sARB_remap_index, -1 },
|
||||
{ VertexAttrib2dvARB_names, VertexAttrib2dvARB_remap_index, -1 },
|
||||
@@ -6268,6 +6276,7 @@ static const struct dri_extension_function GL_VERSION_2_0_functions[] = {
|
||||
{ VertexAttrib4NuivARB_names, VertexAttrib4NuivARB_remap_index, -1 },
|
||||
{ Uniform4fARB_names, Uniform4fARB_remap_index, -1 },
|
||||
{ VertexAttrib1dARB_names, VertexAttrib1dARB_remap_index, -1 },
|
||||
{ VertexAttrib4usvARB_names, VertexAttrib4usvARB_remap_index, -1 },
|
||||
{ LinkProgramARB_names, LinkProgramARB_remap_index, -1 },
|
||||
{ ShaderSourceARB_names, ShaderSourceARB_remap_index, -1 },
|
||||
{ VertexAttrib3svARB_names, VertexAttrib3svARB_remap_index, -1 },
|
||||
@@ -6297,6 +6306,7 @@ static const struct dri_extension_function GL_VERSION_2_0_functions[] = {
|
||||
{ DrawBuffersARB_names, DrawBuffersARB_remap_index, -1 },
|
||||
{ Uniform1fvARB_names, Uniform1fvARB_remap_index, -1 },
|
||||
{ EnableVertexAttribArrayARB_names, EnableVertexAttribArrayARB_remap_index, -1 },
|
||||
{ VertexAttrib4uivARB_names, VertexAttrib4uivARB_remap_index, -1 },
|
||||
{ VertexAttrib4svARB_names, VertexAttrib4svARB_remap_index, -1 },
|
||||
{ GetShaderiv_names, GetShaderiv_remap_index, -1 },
|
||||
{ VertexAttrib2svARB_names, VertexAttrib2svARB_remap_index, -1 },
|
||||
|
@@ -172,12 +172,8 @@ static void i915LayoutTextureImages( i915ContextPtr i915,
|
||||
|
||||
t->intel.image[0][i].offset = total_height * pitch;
|
||||
t->intel.image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
if (t->intel.image[0][i].image->IsCompressed)
|
||||
{
|
||||
if (t->intel.image[0][i].image->Height > 4)
|
||||
total_height += t->intel.image[0][i].image->Height/4;
|
||||
else
|
||||
total_height += 1;
|
||||
if (t->intel.image[0][i].image->IsCompressed) {
|
||||
total_height += (t->intel.image[0][i].image->Height + 3) / 4;
|
||||
}
|
||||
else
|
||||
total_height += MAX2(2, t->intel.image[0][i].image->Height);
|
||||
|
@@ -64,6 +64,7 @@ static void i915_reduced_primitive_state( intelContextPtr intel,
|
||||
st1 &= ~ST1_ENABLE;
|
||||
|
||||
switch (rprim) {
|
||||
case GL_QUADS: /* from RASTERIZE(GL_QUADS) in t_dd_tritemp.h */
|
||||
case GL_TRIANGLES:
|
||||
if (intel->ctx.Polygon.StippleFlag &&
|
||||
intel->hw_stipple)
|
||||
|
@@ -634,11 +634,32 @@ static void intelUploadTexImage( intelContextPtr intel,
|
||||
image->Height);
|
||||
}
|
||||
else if (image->IsCompressed) {
|
||||
GLuint row_len = image->Width * 2;
|
||||
GLuint row_len = 0;
|
||||
GLubyte *dst = (GLubyte *)(t->BufAddr + offset);
|
||||
GLubyte *src = (GLubyte *)image->Data;
|
||||
GLuint j;
|
||||
|
||||
/* must always copy whole blocks (8/16 bytes) */
|
||||
switch (image->InternalFormat) {
|
||||
case GL_COMPRESSED_RGB_FXT1_3DFX:
|
||||
case GL_COMPRESSED_RGBA_FXT1_3DFX:
|
||||
case GL_RGB_S3TC:
|
||||
case GL_RGB4_S3TC:
|
||||
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
||||
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
|
||||
row_len = (image->Width * 2 + 7) & ~7;
|
||||
break;
|
||||
case GL_RGBA_S3TC:
|
||||
case GL_RGBA4_S3TC:
|
||||
case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
|
||||
case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
|
||||
row_len = (image->Width * 4 + 15) & ~15;
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr,"Internal Compressed format not supported %d\n", image->InternalFormat);
|
||||
break;
|
||||
}
|
||||
|
||||
if (INTEL_DEBUG & DEBUG_TEXTURE)
|
||||
fprintf(stderr,
|
||||
"Upload image %dx%dx%d offset %xm row_len %x "
|
||||
@@ -646,30 +667,11 @@ static void intelUploadTexImage( intelContextPtr intel,
|
||||
image->Width, image->Height, image->Depth, offset,
|
||||
row_len, t->Pitch, t->depth_pitch);
|
||||
|
||||
switch (image->InternalFormat) {
|
||||
case GL_COMPRESSED_RGB_FXT1_3DFX:
|
||||
case GL_COMPRESSED_RGBA_FXT1_3DFX:
|
||||
case GL_RGB_S3TC:
|
||||
case GL_RGB4_S3TC:
|
||||
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
||||
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
|
||||
for (j = 0 ; j < image->Height/4 ; j++, dst += (t->Pitch)) {
|
||||
__memcpy(dst, src, row_len );
|
||||
src += row_len;
|
||||
}
|
||||
break;
|
||||
case GL_RGBA_S3TC:
|
||||
case GL_RGBA4_S3TC:
|
||||
case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
|
||||
case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
|
||||
for (j = 0 ; j < image->Height/4 ; j++, dst += (t->Pitch)) {
|
||||
__memcpy(dst, src, (image->Width*4) );
|
||||
src += image->Width*4;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr,"Internal Compressed format not supported %d\n", image->InternalFormat);
|
||||
break;
|
||||
if (row_len) {
|
||||
for (j = 0 ; j < (image->Height + 3)/4 ; j++, dst += (t->Pitch)) {
|
||||
__memcpy(dst, src, row_len );
|
||||
src += row_len;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Time for another vtbl entry:
|
||||
|
@@ -575,6 +575,7 @@
|
||||
#define MT_16BIT_DIB_RGB565_8888 (7<<3)
|
||||
#define MT_32BIT_ARGB8888 (0<<3) /* SURFACE_32BIT */
|
||||
#define MT_32BIT_ABGR8888 (1<<3)
|
||||
#define MT_32BIT_XRGB8888 (2<<3) /* XXX: Guess from i915_reg.h */
|
||||
#define MT_32BIT_BUMP_XLDVDU_8888 (6<<3)
|
||||
#define MT_32BIT_DIB_8888 (7<<3)
|
||||
#define MT_411_YUV411 (0<<3) /* SURFACE_411 */
|
||||
|
@@ -117,7 +117,7 @@ i830_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
struct gl_texture_object *tObj = ctx->Texture.Unit[unit]._Current;
|
||||
struct intel_texture_object *intelObj = intel_texture_object(tObj);
|
||||
struct gl_texture_image *firstImage;
|
||||
GLuint *state = i830->state.Tex[unit];
|
||||
GLuint *state = i830->state.Tex[unit], format, pitch;
|
||||
|
||||
memset(state, 0, sizeof(state));
|
||||
|
||||
@@ -128,7 +128,7 @@ i830_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
i830->state.tex_buffer[unit] = NULL;
|
||||
}
|
||||
|
||||
if (!intel_finalize_mipmap_tree(intel, unit))
|
||||
if (!intelObj->imageOverride && !intel_finalize_mipmap_tree(intel, unit))
|
||||
return GL_FALSE;
|
||||
|
||||
/* Get first image here, since intelObj->firstLevel will get set in
|
||||
@@ -136,11 +136,34 @@ i830_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
*/
|
||||
firstImage = tObj->Image[0][intelObj->firstLevel];
|
||||
|
||||
i830->state.tex_buffer[unit] = driBOReference(intelObj->mt->region->buffer);
|
||||
i830->state.tex_offset[unit] = intel_miptree_image_offset(intelObj->mt, 0,
|
||||
intelObj->
|
||||
firstLevel);
|
||||
if (intelObj->imageOverride) {
|
||||
i830->state.tex_buffer[unit] = NULL;
|
||||
i830->state.tex_offset[unit] = intelObj->textureOffset;
|
||||
|
||||
switch (intelObj->depthOverride) {
|
||||
case 32:
|
||||
format = MAPSURF_32BIT | MT_32BIT_ARGB8888;
|
||||
break;
|
||||
case 24:
|
||||
default:
|
||||
format = MAPSURF_32BIT | MT_32BIT_XRGB8888;
|
||||
break;
|
||||
case 16:
|
||||
format = MAPSURF_16BIT | MT_16BIT_RGB565;
|
||||
break;
|
||||
}
|
||||
|
||||
pitch = intelObj->pitchOverride;
|
||||
} else {
|
||||
i830->state.tex_buffer[unit] = driBOReference(intelObj->mt->region->
|
||||
buffer);
|
||||
i830->state.tex_offset[unit] = intel_miptree_image_offset(intelObj->mt,
|
||||
0, intelObj->
|
||||
firstLevel);
|
||||
|
||||
format = translate_texture_format(firstImage->TexFormat->MesaFormat);
|
||||
pitch = intelObj->mt->pitch * intelObj->mt->cpp;
|
||||
}
|
||||
|
||||
state[I830_TEXREG_TM0LI] = (_3DSTATE_LOAD_STATE_IMMEDIATE_2 |
|
||||
(LOAD_TEXTURE_MAP0 << unit) | 4);
|
||||
@@ -151,12 +174,10 @@ i830_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
|
||||
state[I830_TEXREG_TM0S1] =
|
||||
(((firstImage->Height - 1) << TM0S1_HEIGHT_SHIFT) |
|
||||
((firstImage->Width - 1) << TM0S1_WIDTH_SHIFT) |
|
||||
translate_texture_format(firstImage->TexFormat->MesaFormat));
|
||||
((firstImage->Width - 1) << TM0S1_WIDTH_SHIFT) | format);
|
||||
|
||||
state[I830_TEXREG_TM0S2] =
|
||||
(((((intelObj->mt->pitch * intelObj->mt->cpp) / 4) -
|
||||
1) << TM0S2_PITCH_SHIFT) | TM0S2_CUBE_FACE_ENA_MASK);
|
||||
((((pitch / 4) - 1) << TM0S2_PITCH_SHIFT) | TM0S2_CUBE_FACE_ENA_MASK);
|
||||
|
||||
{
|
||||
if (tObj->Target == GL_TEXTURE_CUBE_MAP)
|
||||
|
@@ -490,11 +490,13 @@ i830_emit_state(struct intel_context *intel)
|
||||
DRM_BO_MASK_MEM | DRM_BO_FLAG_READ,
|
||||
state->tex_offset[i] | TM0S0_USE_FENCE);
|
||||
}
|
||||
else {
|
||||
assert(i == 0);
|
||||
assert(state == &i830->meta);
|
||||
OUT_BATCH(0);
|
||||
}
|
||||
else if (state == &i830->meta) {
|
||||
assert(i == 0);
|
||||
OUT_BATCH(0);
|
||||
}
|
||||
else {
|
||||
OUT_BATCH(state->tex_offset[i]);
|
||||
}
|
||||
|
||||
OUT_BATCH(state->Tex[i][I830_TEXREG_TM0S1]);
|
||||
OUT_BATCH(state->Tex[i][I830_TEXREG_TM0S2]);
|
||||
|
@@ -161,11 +161,9 @@ i915_miptree_layout(struct intel_mipmap_tree * mt)
|
||||
if (mt->compressed)
|
||||
img_height = MAX2(1, height / 4);
|
||||
else
|
||||
img_height = MAX2(2, height);
|
||||
img_height = (MAX2(2, height) + 1) & ~1;
|
||||
|
||||
mt->total_height += img_height;
|
||||
mt->total_height += 1;
|
||||
mt->total_height &= ~1;
|
||||
|
||||
width = minify(width);
|
||||
height = minify(height);
|
||||
|
@@ -122,7 +122,7 @@ i915_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
struct gl_texture_object *tObj = ctx->Texture.Unit[unit]._Current;
|
||||
struct intel_texture_object *intelObj = intel_texture_object(tObj);
|
||||
struct gl_texture_image *firstImage;
|
||||
GLuint *state = i915->state.Tex[unit];
|
||||
GLuint *state = i915->state.Tex[unit], format, pitch;
|
||||
|
||||
memset(state, 0, sizeof(state));
|
||||
|
||||
@@ -133,7 +133,7 @@ i915_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
i915->state.tex_buffer[unit] = NULL;
|
||||
}
|
||||
|
||||
if (!intel_finalize_mipmap_tree(intel, unit))
|
||||
if (!intelObj->imageOverride && !intel_finalize_mipmap_tree(intel, unit))
|
||||
return GL_FALSE;
|
||||
|
||||
/* Get first image here, since intelObj->firstLevel will get set in
|
||||
@@ -141,24 +141,45 @@ i915_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)
|
||||
*/
|
||||
firstImage = tObj->Image[0][intelObj->firstLevel];
|
||||
|
||||
i915->state.tex_buffer[unit] = driBOReference(intelObj->mt->region->buffer);
|
||||
i915->state.tex_offset[unit] = intel_miptree_image_offset(intelObj->mt, 0,
|
||||
intelObj->
|
||||
firstLevel);
|
||||
if (intelObj->imageOverride) {
|
||||
i915->state.tex_buffer[unit] = NULL;
|
||||
i915->state.tex_offset[unit] = intelObj->textureOffset;
|
||||
|
||||
switch (intelObj->depthOverride) {
|
||||
case 32:
|
||||
format = MAPSURF_32BIT | MT_32BIT_ARGB8888;
|
||||
break;
|
||||
case 24:
|
||||
default:
|
||||
format = MAPSURF_32BIT | MT_32BIT_XRGB8888;
|
||||
break;
|
||||
case 16:
|
||||
format = MAPSURF_16BIT | MT_16BIT_RGB565;
|
||||
break;
|
||||
}
|
||||
|
||||
pitch = intelObj->pitchOverride;
|
||||
} else {
|
||||
i915->state.tex_buffer[unit] = driBOReference(intelObj->mt->region->
|
||||
buffer);
|
||||
i915->state.tex_offset[unit] = intel_miptree_image_offset(intelObj->mt,
|
||||
0, intelObj->
|
||||
firstLevel);
|
||||
|
||||
format = translate_texture_format(firstImage->TexFormat->MesaFormat);
|
||||
pitch = intelObj->mt->pitch * intelObj->mt->cpp;
|
||||
}
|
||||
|
||||
state[I915_TEXREG_MS3] =
|
||||
(((firstImage->Height - 1) << MS3_HEIGHT_SHIFT) |
|
||||
((firstImage->Width - 1) << MS3_WIDTH_SHIFT) |
|
||||
translate_texture_format(firstImage->TexFormat->MesaFormat) |
|
||||
((firstImage->Width - 1) << MS3_WIDTH_SHIFT) | format |
|
||||
MS3_USE_FENCE_REGS);
|
||||
|
||||
state[I915_TEXREG_MS4] =
|
||||
(((((intelObj->mt->pitch * intelObj->mt->cpp) / 4) -
|
||||
1) << MS4_PITCH_SHIFT) | MS4_CUBE_FACE_ENA_MASK |
|
||||
((((intelObj->lastLevel -
|
||||
intelObj->firstLevel) *
|
||||
4)) << MS4_MAX_LOD_SHIFT) | ((firstImage->Depth -
|
||||
1) << MS4_VOLUME_DEPTH_SHIFT));
|
||||
((((pitch / 4) - 1) << MS4_PITCH_SHIFT) | MS4_CUBE_FACE_ENA_MASK |
|
||||
((((intelObj->lastLevel - intelObj->firstLevel) * 4)) <<
|
||||
MS4_MAX_LOD_SHIFT) | ((firstImage->Depth - 1) <<
|
||||
MS4_VOLUME_DEPTH_SHIFT));
|
||||
|
||||
|
||||
{
|
||||
|
@@ -61,6 +61,7 @@ i915_reduced_primitive_state(struct intel_context *intel, GLenum rprim)
|
||||
st1 &= ~ST1_ENABLE;
|
||||
|
||||
switch (rprim) {
|
||||
case GL_QUADS: /* from RASTERIZE(GL_QUADS) in t_dd_tritemp.h */
|
||||
case GL_TRIANGLES:
|
||||
if (intel->ctx.Polygon.StippleFlag && intel->hw_stipple)
|
||||
st1 |= ST1_ENABLE;
|
||||
@@ -381,11 +382,13 @@ i915_emit_state(struct intel_context *intel)
|
||||
DRM_BO_MASK_MEM | DRM_BO_FLAG_READ,
|
||||
state->tex_offset[i]);
|
||||
}
|
||||
else {
|
||||
else if (state == &i915->meta) {
|
||||
assert(i == 0);
|
||||
assert(state == &i915->meta);
|
||||
OUT_BATCH(0);
|
||||
}
|
||||
else {
|
||||
OUT_BATCH(state->tex_offset[i]);
|
||||
}
|
||||
|
||||
OUT_BATCH(state->Tex[i][I915_TEXREG_MS3]);
|
||||
OUT_BATCH(state->Tex[i][I915_TEXREG_MS4]);
|
||||
|
@@ -316,7 +316,8 @@ intelWindowMoved(struct intel_context *intel)
|
||||
flags = intel_fb->vblank_flags & ~VBLANK_FLAG_SECONDARY;
|
||||
}
|
||||
|
||||
if (flags != intel_fb->vblank_flags) {
|
||||
if (flags != intel_fb->vblank_flags && intel_fb->vblank_flags &&
|
||||
!(intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ)) {
|
||||
drmVBlank vbl;
|
||||
int i;
|
||||
|
||||
@@ -327,7 +328,9 @@ intelWindowMoved(struct intel_context *intel)
|
||||
}
|
||||
|
||||
for (i = 0; i < intel_fb->pf_num_pages; i++) {
|
||||
if (!intel_fb->color_rb[i])
|
||||
if (!intel_fb->color_rb[i] ||
|
||||
(intel_fb->vbl_waited - intel_fb->color_rb[i]->vbl_pending) <=
|
||||
(1<<23))
|
||||
continue;
|
||||
|
||||
vbl.request.sequence = intel_fb->color_rb[i]->vbl_pending;
|
||||
@@ -828,7 +831,8 @@ intelScheduleSwap(const __DRIdrawablePrivate * dPriv, GLboolean *missed_target)
|
||||
drm_i915_vblank_swap_t swap;
|
||||
GLboolean ret;
|
||||
|
||||
if ((intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ) ||
|
||||
if (!intel_fb->vblank_flags ||
|
||||
(intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ) ||
|
||||
intelScreen->current_rotation != 0 ||
|
||||
intelScreen->drmMinor < (intel_fb->pf_active ? 9 : 6))
|
||||
return GL_FALSE;
|
||||
|
@@ -607,12 +607,23 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv,
|
||||
if (intel->ctx.DrawBuffer == &intel_fb->Base) {
|
||||
|
||||
if (intel->driDrawable != driDrawPriv) {
|
||||
intel_fb->vblank_flags = (intel->intelScreen->irq_active != 0)
|
||||
? driGetDefaultVBlankFlags(&intel->optionCache)
|
||||
: VBLANK_FLAG_NO_IRQ;
|
||||
(*dri_interface->getUST) (&intel_fb->swap_ust);
|
||||
driDrawableInitVBlank(driDrawPriv, intel_fb->vblank_flags,
|
||||
&intel_fb->vbl_seq);
|
||||
if (driDrawPriv->pdraw->swap_interval == (unsigned)-1) {
|
||||
int i;
|
||||
|
||||
intel_fb->vblank_flags = (intel->intelScreen->irq_active != 0)
|
||||
? driGetDefaultVBlankFlags(&intel->optionCache)
|
||||
: VBLANK_FLAG_NO_IRQ;
|
||||
|
||||
(*dri_interface->getUST) (&intel_fb->swap_ust);
|
||||
driDrawableInitVBlank(driDrawPriv, intel_fb->vblank_flags,
|
||||
&intel_fb->vbl_seq);
|
||||
intel_fb->vbl_waited = intel_fb->vbl_seq;
|
||||
|
||||
for (i = 0; i < (intel->intelScreen->third.handle ? 3 : 2); i++) {
|
||||
if (intel_fb->color_rb[i])
|
||||
intel_fb->color_rb[i]->vbl_pending = intel_fb->vbl_seq;
|
||||
}
|
||||
}
|
||||
intel->driDrawable = driDrawPriv;
|
||||
intelWindowMoved(intel);
|
||||
}
|
||||
@@ -658,37 +669,27 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
|
||||
if (sarea->width != intel->width ||
|
||||
sarea->height != intel->height ||
|
||||
sarea->rotation != intel->current_rotation) {
|
||||
|
||||
void *batchMap = intel->batch->map;
|
||||
|
||||
int numClipRects = intel->numClipRects;
|
||||
|
||||
/*
|
||||
* FIXME: Really only need to do this when drawing to a
|
||||
* common back- or front buffer.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This will drop the outstanding batchbuffer on the floor
|
||||
* This will essentially drop the outstanding batchbuffer on the floor.
|
||||
*/
|
||||
intel->numClipRects = 0;
|
||||
|
||||
if (batchMap != NULL) {
|
||||
driBOUnmap(intel->batch->buffer);
|
||||
intel->batch->map = NULL;
|
||||
}
|
||||
if (intel->Fallback)
|
||||
_swrast_flush(&intel->ctx);
|
||||
|
||||
intel_batchbuffer_reset(intel->batch);
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
if (batchMap == NULL) {
|
||||
driBOUnmap(intel->batch->buffer);
|
||||
intel->batch->map = NULL;
|
||||
}
|
||||
if (intel->batch->map != intel->batch->ptr)
|
||||
intel_batchbuffer_flush(intel->batch);
|
||||
|
||||
/* lose all primitives */
|
||||
intel->prim.primitive = ~0;
|
||||
intel->prim.start_ptr = 0;
|
||||
intel->prim.flush = 0;
|
||||
|
||||
/* re-emit all state */
|
||||
intel->vtbl.lost_hardware(intel);
|
||||
intel->numClipRects = numClipRects;
|
||||
|
||||
/* force window update */
|
||||
intel->lastStamp = 0;
|
||||
@@ -729,7 +730,9 @@ void LOCK_HARDWARE( struct intel_context *intel )
|
||||
BUFFER_BACK_LEFT);
|
||||
}
|
||||
|
||||
if (intel_rb && (intel_fb->vbl_waited - intel_rb->vbl_pending) > (1<<23)) {
|
||||
if (intel_rb && intel_fb->vblank_flags &&
|
||||
!(intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ) &&
|
||||
(intel_fb->vbl_waited - intel_rb->vbl_pending) > (1<<23)) {
|
||||
drmVBlank vbl;
|
||||
|
||||
vbl.request.type = DRM_VBLANK_ABSOLUTE;
|
||||
|
@@ -92,6 +92,10 @@ struct intel_texture_object
|
||||
* regions will be copied to this region and the old storage freed.
|
||||
*/
|
||||
struct intel_mipmap_tree *mt;
|
||||
|
||||
GLboolean imageOverride;
|
||||
GLint depthOverride;
|
||||
GLuint pitchOverride;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -776,7 +776,8 @@ static const struct __DriverAPIRec intelAPI = {
|
||||
.WaitForMSC = driWaitForMSC32,
|
||||
.WaitForSBC = NULL,
|
||||
.SwapBuffersMSC = NULL,
|
||||
.CopySubBuffer = intelCopySubBuffer
|
||||
.CopySubBuffer = intelCopySubBuffer,
|
||||
.setTexOffset = intelSetTexOffset,
|
||||
};
|
||||
|
||||
|
||||
|
@@ -135,6 +135,9 @@ void intelGetCompressedTexImage(GLcontext *ctx, GLenum target, GLint level,
|
||||
const struct gl_texture_object *texObj,
|
||||
const struct gl_texture_image *texImage);
|
||||
|
||||
void intelSetTexOffset(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth, GLuint pitch);
|
||||
|
||||
GLuint intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit);
|
||||
|
||||
void intel_tex_map_images(struct intel_context *intel,
|
||||
|
@@ -385,7 +385,6 @@ intelTexImage(GLcontext * ctx,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
assert(!intelImage->mt);
|
||||
|
||||
if (intelObj->mt &&
|
||||
@@ -667,3 +666,26 @@ intelGetCompressedTexImage(GLcontext *ctx, GLenum target, GLint level,
|
||||
texObj, texImage, 1);
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
intelSetTexOffset(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth, GLuint pitch)
|
||||
{
|
||||
struct intel_context *intel = (struct intel_context*)
|
||||
((__DRIcontextPrivate*)pDRICtx->private)->driverPrivate;
|
||||
struct gl_texture_object *tObj = _mesa_lookup_texture(&intel->ctx, texname);
|
||||
struct intel_texture_object *intelObj = intel_texture_object(tObj);
|
||||
|
||||
if (!intelObj)
|
||||
return;
|
||||
|
||||
if (intelObj->mt)
|
||||
intel_miptree_release(intel, &intelObj->mt);
|
||||
|
||||
intelObj->imageOverride = GL_TRUE;
|
||||
intelObj->depthOverride = depth;
|
||||
intelObj->pitchOverride = pitch;
|
||||
|
||||
if (offset)
|
||||
intelObj->textureOffset = offset;
|
||||
}
|
||||
|
@@ -105,6 +105,8 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit)
|
||||
{
|
||||
struct gl_texture_object *tObj = intel->ctx.Texture.Unit[unit]._Current;
|
||||
struct intel_texture_object *intelObj = intel_texture_object(tObj);
|
||||
int comp_byte = 0;
|
||||
int cpp;
|
||||
|
||||
GLuint face, i;
|
||||
GLuint nr_faces = 0;
|
||||
@@ -148,6 +150,12 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit)
|
||||
intel_miptree_reference(&intelObj->mt, firstImage->mt);
|
||||
}
|
||||
|
||||
if (firstImage->base.IsCompressed) {
|
||||
comp_byte = intel_compressed_num_bytes(firstImage->base.TexFormat->MesaFormat);
|
||||
cpp = comp_byte;
|
||||
}
|
||||
else cpp = firstImage->base.TexFormat->TexelBytes;
|
||||
|
||||
/* Check tree can hold all active levels. Check tree matches
|
||||
* target, imageFormat, etc.
|
||||
*
|
||||
@@ -165,7 +173,7 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit)
|
||||
intelObj->mt->width0 != firstImage->base.Width ||
|
||||
intelObj->mt->height0 != firstImage->base.Height ||
|
||||
intelObj->mt->depth0 != firstImage->base.Depth ||
|
||||
intelObj->mt->cpp != firstImage->base.TexFormat->TexelBytes ||
|
||||
intelObj->mt->cpp != cpp ||
|
||||
intelObj->mt->compressed != firstImage->base.IsCompressed)) {
|
||||
intel_miptree_release(intel, &intelObj->mt);
|
||||
}
|
||||
@@ -174,10 +182,6 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit)
|
||||
/* May need to create a new tree:
|
||||
*/
|
||||
if (!intelObj->mt) {
|
||||
int comp_byte = 0;
|
||||
|
||||
if (firstImage->base.IsCompressed)
|
||||
comp_byte = intel_compressed_num_bytes(firstImage->base.TexFormat->MesaFormat);
|
||||
intelObj->mt = intel_miptree_create(intel,
|
||||
intelObj->base.Target,
|
||||
firstImage->base.InternalFormat,
|
||||
@@ -186,8 +190,7 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit)
|
||||
firstImage->base.Width,
|
||||
firstImage->base.Height,
|
||||
firstImage->base.Depth,
|
||||
firstImage->base.TexFormat->
|
||||
TexelBytes,
|
||||
cpp,
|
||||
comp_byte);
|
||||
}
|
||||
|
||||
|
@@ -532,12 +532,15 @@ intelEmitImmediateColorExpandBlit(struct intel_context *intel,
|
||||
GLuint dst_offset,
|
||||
GLboolean dst_tiled,
|
||||
GLshort x, GLshort y,
|
||||
GLshort w, GLshort h)
|
||||
GLshort w, GLshort h,
|
||||
GLenum logic_op)
|
||||
{
|
||||
struct xy_setup_blit setup;
|
||||
struct xy_text_immediate_blit text;
|
||||
int dwords = ((src_size + 7) & ~7) / 4;
|
||||
|
||||
assert( logic_op - GL_CLEAR >= 0 );
|
||||
assert( logic_op - GL_CLEAR < 0x10 );
|
||||
|
||||
if (w < 0 || h < 0)
|
||||
return;
|
||||
@@ -561,7 +564,7 @@ intelEmitImmediateColorExpandBlit(struct intel_context *intel,
|
||||
setup.br0.length = (sizeof(setup) / sizeof(int)) - 2;
|
||||
|
||||
setup.br13.dest_pitch = dst_pitch;
|
||||
setup.br13.rop = 0xcc;
|
||||
setup.br13.rop = translate_raster_op(logic_op);
|
||||
setup.br13.color_depth = (cpp == 4) ? BR13_8888 : BR13_565;
|
||||
setup.br13.clipping_enable = 0;
|
||||
setup.br13.mono_source_transparency = 1;
|
||||
|
@@ -72,6 +72,7 @@ intelEmitImmediateColorExpandBlit(struct intel_context *intel,
|
||||
GLuint dst_offset,
|
||||
GLboolean dst_tiled,
|
||||
GLshort dst_x, GLshort dst_y,
|
||||
GLshort w, GLshort h);
|
||||
GLshort w, GLshort h,
|
||||
GLenum logic_op );
|
||||
|
||||
#endif
|
||||
|
@@ -260,7 +260,9 @@ do_blit_bitmap( GLcontext *ctx,
|
||||
int h = MIN2(DY, box_h - py);
|
||||
int w = MIN2(DX, box_w - px);
|
||||
GLuint sz = align(align(w,8) * h, 64)/8;
|
||||
|
||||
GLenum logic_op = ctx->Color.ColorLogicOpEnabled ?
|
||||
ctx->Color.LogicOp : GL_COPY;
|
||||
|
||||
assert(sz <= sizeof(stipple));
|
||||
memset(stipple, 0, sz);
|
||||
|
||||
@@ -288,7 +290,8 @@ do_blit_bitmap( GLcontext *ctx,
|
||||
dst->tiled,
|
||||
rect.x1 + px,
|
||||
rect.y2 - (py + h),
|
||||
w, h);
|
||||
w, h,
|
||||
logic_op);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -74,7 +74,7 @@ void i945_miptree_layout_2d( struct intel_mipmap_tree *mt )
|
||||
GLuint img_height;
|
||||
|
||||
intel_miptree_set_level_info(mt, level, 1, x, y, width,
|
||||
mt->compressed ? height/4 : height, 1);
|
||||
height, 1);
|
||||
|
||||
if (mt->compressed)
|
||||
img_height = MAX2(1, height/4);
|
||||
|
@@ -191,6 +191,8 @@ struct r300_tex_obj {
|
||||
drm_radeon_tex_image_t image[6][RADEON_MAX_TEXTURE_LEVELS];
|
||||
/* Six, for the cube faces */
|
||||
|
||||
GLboolean image_override; /* Image overridden by GLX_EXT_tfp */
|
||||
|
||||
GLuint pitch; /* this isn't sent to hardware just used in calculations */
|
||||
/* hardware register values */
|
||||
/* Note that R200 has 8 registers per texture and R300 only 7 */
|
||||
|
@@ -35,6 +35,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#ifndef __r300_TEX_H__
|
||||
#define __r300_TEX_H__
|
||||
|
||||
extern void r300SetTexOffset(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth,
|
||||
GLuint pitch);
|
||||
|
||||
extern void r300UpdateTextureState(GLcontext * ctx);
|
||||
|
||||
extern int r300UploadTexImages(r300ContextPtr rmesa, r300TexObjPtr t,
|
||||
|
@@ -508,6 +508,9 @@ int r300UploadTexImages(r300ContextPtr rmesa, r300TexObjPtr t, GLuint face)
|
||||
{
|
||||
const int numLevels = t->base.lastLevel - t->base.firstLevel + 1;
|
||||
|
||||
if (t->image_override)
|
||||
return 0;
|
||||
|
||||
if (RADEON_DEBUG & (DEBUG_TEXTURE | DEBUG_IOCTL)) {
|
||||
fprintf(stderr, "%s( %p, %p ) sz=%d lvls=%d-%d\n", __FUNCTION__,
|
||||
(void *)rmesa->radeon.glCtx, (void *)t->base.tObj,
|
||||
|
@@ -40,6 +40,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#include "context.h"
|
||||
#include "macros.h"
|
||||
#include "texformat.h"
|
||||
#include "teximage.h"
|
||||
#include "texobj.h"
|
||||
#include "enums.h"
|
||||
|
||||
#include "r300_context.h"
|
||||
@@ -66,7 +68,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
* identically. -- paulus
|
||||
*/
|
||||
|
||||
static const struct {
|
||||
static const struct tx_table {
|
||||
GLuint format, filter, flag;
|
||||
} tx_table_be[] = {
|
||||
/* *INDENT-OFF* */
|
||||
@@ -109,15 +111,13 @@ static const struct {
|
||||
/* *INDENT-ON* */
|
||||
};
|
||||
|
||||
static const struct {
|
||||
GLuint format, filter, flag;
|
||||
} tx_table_le[] = {
|
||||
static const struct tx_table tx_table_le[] = {
|
||||
/* *INDENT-OFF* */
|
||||
_ASSIGN(RGBA8888, R300_EASY_TX_FORMAT(Y, Z, W, X, W8Z8Y8X8)),
|
||||
_ASSIGN(RGBA8888_REV, R300_EASY_TX_FORMAT(Z, Y, X, W, W8Z8Y8X8)),
|
||||
_ASSIGN(ARGB8888, R300_EASY_TX_FORMAT(X, Y, Z, W, W8Z8Y8X8)),
|
||||
_ASSIGN(ARGB8888_REV, R300_EASY_TX_FORMAT(W, Z, Y, X, W8Z8Y8X8)),
|
||||
_ASSIGN(RGB888, 0xffffffff),
|
||||
_ASSIGN(RGB888, R300_EASY_TX_FORMAT(X, Y, Z, ONE, W8Z8Y8X8)),
|
||||
_ASSIGN(RGB565, R300_EASY_TX_FORMAT(X, Y, Z, ONE, Z5Y6X5)),
|
||||
_ASSIGN(RGB565_REV, R300_EASY_TX_FORMAT(X, Y, Z, ONE, Z5Y6X5)),
|
||||
_ASSIGN(ARGB4444, R300_EASY_TX_FORMAT(X, Y, Z, W, W4Z4Y4X4)),
|
||||
@@ -178,7 +178,7 @@ static void r300SetTexImages(r300ContextPtr rmesa,
|
||||
|
||||
/* Set the hardware texture format
|
||||
*/
|
||||
if (VALID_FORMAT(baseImage->TexFormat->MesaFormat)) {
|
||||
if (!t->image_override && VALID_FORMAT(baseImage->TexFormat->MesaFormat)) {
|
||||
if (_mesa_little_endian()) {
|
||||
t->format =
|
||||
tx_table_le[baseImage->TexFormat->MesaFormat].
|
||||
@@ -194,7 +194,7 @@ static void r300SetTexImages(r300ContextPtr rmesa,
|
||||
tx_table_be[baseImage->TexFormat->MesaFormat].
|
||||
filter;
|
||||
}
|
||||
} else {
|
||||
} else if (!t->image_override) {
|
||||
_mesa_problem(NULL, "unexpected texture format in %s",
|
||||
__FUNCTION__);
|
||||
return;
|
||||
@@ -382,9 +382,10 @@ static void r300SetTexImages(r300ContextPtr rmesa,
|
||||
t->pitch = ((tObj->Image[0][t->base.firstLevel]->Width *
|
||||
texelBytes) + 63) & ~(63);
|
||||
t->size |= R300_TX_SIZE_TXPITCH_EN;
|
||||
t->pitch_reg =
|
||||
(((tObj->Image[0][t->base.firstLevel]->Width) +
|
||||
align) & ~align) - 1;
|
||||
if (!t->image_override)
|
||||
t->pitch_reg =
|
||||
(((tObj->Image[0][t->base.firstLevel]->Width) +
|
||||
align) & ~align) - 1;
|
||||
} else {
|
||||
t->pitch =
|
||||
((tObj->Image[0][t->base.firstLevel]->Width *
|
||||
@@ -411,9 +412,10 @@ static GLboolean r300EnableTexture2D(GLcontext * ctx, int unit)
|
||||
|
||||
if (t->base.dirty_images[0]) {
|
||||
R300_FIREVERTICES(rmesa);
|
||||
|
||||
r300SetTexImages(rmesa, tObj);
|
||||
r300UploadTexImages(rmesa, (r300TexObjPtr) tObj->DriverData, 0);
|
||||
if (!t->base.memBlock)
|
||||
if (!t->base.memBlock && !t->image_override)
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
@@ -492,9 +494,11 @@ static GLboolean r300EnableTextureRect(GLcontext * ctx, int unit)
|
||||
|
||||
if (t->base.dirty_images[0]) {
|
||||
R300_FIREVERTICES(rmesa);
|
||||
|
||||
r300SetTexImages(rmesa, tObj);
|
||||
r300UploadTexImages(rmesa, (r300TexObjPtr) tObj->DriverData, 0);
|
||||
if (!t->base.memBlock && !rmesa->prefer_gart_client_texturing)
|
||||
if (!t->base.memBlock && !t->image_override &&
|
||||
!rmesa->prefer_gart_client_texturing)
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
@@ -534,6 +538,51 @@ static GLboolean r300UpdateTexture(GLcontext * ctx, int unit)
|
||||
return !t->border_fallback;
|
||||
}
|
||||
|
||||
void r300SetTexOffset(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth, GLuint pitch)
|
||||
{
|
||||
r300ContextPtr rmesa =
|
||||
(r300ContextPtr)((__DRIcontextPrivate*)pDRICtx->private)->driverPrivate;
|
||||
struct gl_texture_object *tObj =
|
||||
_mesa_lookup_texture(rmesa->radeon.glCtx, texname);
|
||||
r300TexObjPtr t;
|
||||
int idx;
|
||||
|
||||
if (!tObj)
|
||||
return;
|
||||
|
||||
t = (r300TexObjPtr) tObj->DriverData;
|
||||
|
||||
t->image_override = GL_TRUE;
|
||||
|
||||
if (!offset)
|
||||
return;
|
||||
|
||||
t->offset = offset;
|
||||
t->pitch_reg = pitch;
|
||||
|
||||
switch (depth) {
|
||||
case 32:
|
||||
idx = 2;
|
||||
t->pitch_reg /= 4;
|
||||
break;
|
||||
case 24:
|
||||
default:
|
||||
idx = 4;
|
||||
t->pitch_reg /= 4;
|
||||
break;
|
||||
case 16:
|
||||
idx = 5;
|
||||
t->pitch_reg /= 2;
|
||||
break;
|
||||
}
|
||||
|
||||
t->pitch_reg--;
|
||||
|
||||
t->format = tx_table_le[idx].format;
|
||||
t->filter |= tx_table_le[idx].filter;
|
||||
}
|
||||
|
||||
static GLboolean r300UpdateTextureUnit(GLcontext * ctx, int unit)
|
||||
{
|
||||
struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
|
||||
|
@@ -56,6 +56,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#elif RADEON_COMMON && defined(RADEON_COMMON_FOR_R300)
|
||||
#include "r300_context.h"
|
||||
#include "r300_fragprog.h"
|
||||
#include "r300_tex.h"
|
||||
#include "radeon_span.h"
|
||||
#endif
|
||||
|
||||
@@ -952,6 +953,9 @@ static struct __DriverAPIRec radeonAPI = {
|
||||
.WaitForSBC = NULL,
|
||||
.SwapBuffersMSC = NULL,
|
||||
.CopySubBuffer = radeonCopySubBuffer,
|
||||
#if RADEON_COMMON && defined(RADEON_COMMON_FOR_R300)
|
||||
.setTexOffset = r300SetTexOffset,
|
||||
#endif
|
||||
};
|
||||
#else
|
||||
static const struct __DriverAPIRec r200API = {
|
||||
|
@@ -130,6 +130,8 @@ sisAllocTexImage( sisContextPtr smesa, sisTexObjPtr t, int level,
|
||||
static void
|
||||
sisFreeTexImage( sisContextPtr smesa, sisTexObjPtr t, int level )
|
||||
{
|
||||
assert(level >= 0);
|
||||
assert(level < SIS_MAX_TEXTURE_LEVELS);
|
||||
if (t->image[level].Data == NULL)
|
||||
return;
|
||||
|
||||
@@ -213,7 +215,7 @@ sisDeleteTexture( GLcontext * ctx, struct gl_texture_object *texObj )
|
||||
*/
|
||||
return;
|
||||
}
|
||||
for (i = 0; i < MAX_TEXTURE_LEVELS; i++) {
|
||||
for (i = 0; i < SIS_MAX_TEXTURE_LEVELS; i++) {
|
||||
sisFreeTexImage( smesa, t, i );
|
||||
}
|
||||
|
||||
|
@@ -32,10 +32,31 @@
|
||||
|
||||
/* We're essentially building part of GDI here, so define this so that
|
||||
* we get the right export linkage. */
|
||||
#ifdef __MINGW32__
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <wincon.h>
|
||||
#include <winbase.h>
|
||||
|
||||
# if defined(BUILD_GL32)
|
||||
# define WINGDIAPI __declspec(dllexport)
|
||||
# else
|
||||
# define __W32API_USE_DLLIMPORT__
|
||||
# endif
|
||||
|
||||
#include <wingdi.h>
|
||||
#include "GL/mesa_wgl.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
#else
|
||||
|
||||
#define _GDI32_
|
||||
#include <windows.h>
|
||||
#include "glapi.h"
|
||||
|
||||
#endif
|
||||
|
||||
#include "glapi.h"
|
||||
#include "GL/wmesa.h" /* protos for wmesa* functions */
|
||||
|
||||
/*
|
||||
@@ -333,7 +354,7 @@ WINGDIAPI int GLAPIENTRY wglGetPixelFormat(HDC hdc)
|
||||
}
|
||||
|
||||
WINGDIAPI BOOL GLAPIENTRY wglSetPixelFormat(HDC hdc,int iPixelFormat,
|
||||
PIXELFORMATDESCRIPTOR *ppfd)
|
||||
const PIXELFORMATDESCRIPTOR *ppfd)
|
||||
{
|
||||
(void) hdc;
|
||||
|
||||
@@ -386,12 +407,12 @@ static BOOL wglUseFontBitmaps_FX(HDC fontDevice, DWORD firstChar,
|
||||
|
||||
bitDevice = CreateCompatibleDC(fontDevice);
|
||||
|
||||
// Swap fore and back colors so the bitmap has the right polarity
|
||||
/* Swap fore and back colors so the bitmap has the right polarity */
|
||||
tempColor = GetBkColor(bitDevice);
|
||||
SetBkColor(bitDevice, GetTextColor(bitDevice));
|
||||
SetTextColor(bitDevice, tempColor);
|
||||
|
||||
// Place chars based on base line
|
||||
/* Place chars based on base line */
|
||||
VERIFY(SetTextAlign(bitDevice, TA_BASELINE) != GDI_ERROR ? 1 : 0);
|
||||
|
||||
for(i = 0; i < (int)numChars; i++) {
|
||||
@@ -404,36 +425,36 @@ static BOOL wglUseFontBitmaps_FX(HDC fontDevice, DWORD firstChar,
|
||||
|
||||
curChar = (char)(i + firstChar);
|
||||
|
||||
// Find how high/wide this character is
|
||||
/* Find how high/wide this character is */
|
||||
VERIFY(GetTextExtentPoint32(bitDevice, &curChar, 1, &size));
|
||||
|
||||
// Create the output bitmap
|
||||
/* Create the output bitmap */
|
||||
charWidth = size.cx;
|
||||
charHeight = size.cy;
|
||||
// Round up to the next multiple of 32 bits
|
||||
/* Round up to the next multiple of 32 bits */
|
||||
bmapWidth = ((charWidth + 31) / 32) * 32;
|
||||
bmapHeight = charHeight;
|
||||
bitObject = CreateCompatibleBitmap(bitDevice,
|
||||
bmapWidth,
|
||||
bmapHeight);
|
||||
//VERIFY(bitObject);
|
||||
/* VERIFY(bitObject); */
|
||||
|
||||
// Assign the output bitmap to the device
|
||||
/* Assign the output bitmap to the device */
|
||||
origBmap = SelectObject(bitDevice, bitObject);
|
||||
(void) VERIFY(origBmap);
|
||||
|
||||
VERIFY( PatBlt( bitDevice, 0, 0, bmapWidth, bmapHeight,BLACKNESS ) );
|
||||
|
||||
// Use our source font on the device
|
||||
/* Use our source font on the device */
|
||||
VERIFY(SelectObject(bitDevice, GetCurrentObject(fontDevice,OBJ_FONT)));
|
||||
|
||||
// Draw the character
|
||||
/* Draw the character */
|
||||
VERIFY(TextOut(bitDevice, 0, metric.tmAscent, &curChar, 1));
|
||||
|
||||
// Unselect our bmap object
|
||||
/* Unselect our bmap object */
|
||||
VERIFY(SelectObject(bitDevice, origBmap));
|
||||
|
||||
// Convert the display dependant representation to a 1 bit deep DIB
|
||||
/* Convert the display dependant representation to a 1 bit deep DIB */
|
||||
numBytes = (bmapWidth * bmapHeight) / 8;
|
||||
bmap = malloc(numBytes);
|
||||
dibInfo->bmiHeader.biWidth = bmapWidth;
|
||||
@@ -441,24 +462,24 @@ static BOOL wglUseFontBitmaps_FX(HDC fontDevice, DWORD firstChar,
|
||||
res = GetDIBits(bitDevice, bitObject, 0, bmapHeight, bmap,
|
||||
dibInfo,
|
||||
DIB_RGB_COLORS);
|
||||
//VERIFY(res);
|
||||
/* VERIFY(res); */
|
||||
|
||||
// Create the GL object
|
||||
/* Create the GL object */
|
||||
glNewList(i + listBase, GL_COMPILE);
|
||||
glBitmap(bmapWidth, bmapHeight, 0.0, (GLfloat)metric.tmDescent,
|
||||
(GLfloat)charWidth, 0.0,
|
||||
bmap);
|
||||
glEndList();
|
||||
// CheckGL();
|
||||
/* CheckGL(); */
|
||||
|
||||
// Destroy the bmap object
|
||||
/* Destroy the bmap object */
|
||||
DeleteObject(bitObject);
|
||||
|
||||
// Deallocate the bitmap data
|
||||
/* Deallocate the bitmap data */
|
||||
free(bmap);
|
||||
}
|
||||
|
||||
// Destroy the DC
|
||||
/* Destroy the DC */
|
||||
VERIFY(DeleteDC(bitDevice));
|
||||
|
||||
free(dibInfo);
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include "wmesadef.h"
|
||||
#include "colors.h"
|
||||
#include <GL/wmesa.h>
|
||||
#include <winuser.h>
|
||||
#include "context.h"
|
||||
#include "extensions.h"
|
||||
#include "framebuffer.h"
|
||||
@@ -114,7 +115,7 @@ static void wmSetPixelFormat(WMesaFramebuffer pwfb, HDC hDC)
|
||||
{
|
||||
pwfb->cColorBits = GetDeviceCaps(hDC, BITSPIXEL);
|
||||
|
||||
// Only 16 and 32 bit targets are supported now
|
||||
/* Only 16 and 32 bit targets are supported now */
|
||||
assert(pwfb->cColorBits == 0 ||
|
||||
pwfb->cColorBits == 16 ||
|
||||
pwfb->cColorBits == 32);
|
||||
@@ -1171,7 +1172,7 @@ WMesaContext WMesaCreateContext(HDC hDC,
|
||||
/* I do not understand this contributed code */
|
||||
/* Support memory and device contexts */
|
||||
if(WindowFromDC(hDC) != NULL) {
|
||||
c->hDC = GetDC(WindowFromDC(hDC)); // huh ????
|
||||
c->hDC = GetDC(WindowFromDC(hDC)); /* huh ???? */
|
||||
}
|
||||
else {
|
||||
c->hDC = hDC;
|
||||
@@ -1404,70 +1405,72 @@ void WMesaSwapBuffers( HDC hdc )
|
||||
* table entries. Hopefully, I'll find a better solution. The
|
||||
* dispatch table generation scripts ought to be making these dummy
|
||||
* stubs as well. */
|
||||
void gl_dispatch_stub_543(void){};
|
||||
void gl_dispatch_stub_544(void){};
|
||||
void gl_dispatch_stub_545(void){};
|
||||
void gl_dispatch_stub_546(void){};
|
||||
void gl_dispatch_stub_547(void){};
|
||||
void gl_dispatch_stub_548(void){};
|
||||
void gl_dispatch_stub_549(void){};
|
||||
void gl_dispatch_stub_550(void){};
|
||||
void gl_dispatch_stub_551(void){};
|
||||
void gl_dispatch_stub_552(void){};
|
||||
void gl_dispatch_stub_553(void){};
|
||||
void gl_dispatch_stub_554(void){};
|
||||
void gl_dispatch_stub_555(void){};
|
||||
void gl_dispatch_stub_556(void){};
|
||||
void gl_dispatch_stub_557(void){};
|
||||
void gl_dispatch_stub_558(void){};
|
||||
void gl_dispatch_stub_559(void){};
|
||||
void gl_dispatch_stub_560(void){};
|
||||
void gl_dispatch_stub_561(void){};
|
||||
void gl_dispatch_stub_565(void){};
|
||||
void gl_dispatch_stub_566(void){};
|
||||
void gl_dispatch_stub_577(void){};
|
||||
void gl_dispatch_stub_578(void){};
|
||||
void gl_dispatch_stub_603(void){};
|
||||
void gl_dispatch_stub_645(void){};
|
||||
void gl_dispatch_stub_646(void){};
|
||||
void gl_dispatch_stub_647(void){};
|
||||
void gl_dispatch_stub_648(void){};
|
||||
void gl_dispatch_stub_649(void){};
|
||||
void gl_dispatch_stub_650(void){};
|
||||
void gl_dispatch_stub_651(void){};
|
||||
void gl_dispatch_stub_652(void){};
|
||||
void gl_dispatch_stub_653(void){};
|
||||
void gl_dispatch_stub_734(void){};
|
||||
void gl_dispatch_stub_735(void){};
|
||||
void gl_dispatch_stub_736(void){};
|
||||
void gl_dispatch_stub_737(void){};
|
||||
void gl_dispatch_stub_738(void){};
|
||||
void gl_dispatch_stub_745(void){};
|
||||
void gl_dispatch_stub_746(void){};
|
||||
void gl_dispatch_stub_760(void){};
|
||||
void gl_dispatch_stub_761(void){};
|
||||
void gl_dispatch_stub_766(void){};
|
||||
void gl_dispatch_stub_767(void){};
|
||||
void gl_dispatch_stub_768(void){};
|
||||
#if !defined(__MINGW32__) || !defined(GL_NO_STDCALL)
|
||||
void gl_dispatch_stub_543(void){}
|
||||
void gl_dispatch_stub_544(void){}
|
||||
void gl_dispatch_stub_545(void){}
|
||||
void gl_dispatch_stub_546(void){}
|
||||
void gl_dispatch_stub_547(void){}
|
||||
void gl_dispatch_stub_548(void){}
|
||||
void gl_dispatch_stub_549(void){}
|
||||
void gl_dispatch_stub_550(void){}
|
||||
void gl_dispatch_stub_551(void){}
|
||||
void gl_dispatch_stub_552(void){}
|
||||
void gl_dispatch_stub_553(void){}
|
||||
void gl_dispatch_stub_554(void){}
|
||||
void gl_dispatch_stub_555(void){}
|
||||
void gl_dispatch_stub_556(void){}
|
||||
void gl_dispatch_stub_557(void){}
|
||||
void gl_dispatch_stub_558(void){}
|
||||
void gl_dispatch_stub_559(void){}
|
||||
void gl_dispatch_stub_560(void){}
|
||||
void gl_dispatch_stub_561(void){}
|
||||
void gl_dispatch_stub_565(void){}
|
||||
void gl_dispatch_stub_566(void){}
|
||||
void gl_dispatch_stub_577(void){}
|
||||
void gl_dispatch_stub_578(void){}
|
||||
void gl_dispatch_stub_603(void){}
|
||||
void gl_dispatch_stub_645(void){}
|
||||
void gl_dispatch_stub_646(void){}
|
||||
void gl_dispatch_stub_647(void){}
|
||||
void gl_dispatch_stub_648(void){}
|
||||
void gl_dispatch_stub_649(void){}
|
||||
void gl_dispatch_stub_650(void){}
|
||||
void gl_dispatch_stub_651(void){}
|
||||
void gl_dispatch_stub_652(void){}
|
||||
void gl_dispatch_stub_653(void){}
|
||||
void gl_dispatch_stub_734(void){}
|
||||
void gl_dispatch_stub_735(void){}
|
||||
void gl_dispatch_stub_736(void){}
|
||||
void gl_dispatch_stub_737(void){}
|
||||
void gl_dispatch_stub_738(void){}
|
||||
void gl_dispatch_stub_745(void){}
|
||||
void gl_dispatch_stub_746(void){}
|
||||
void gl_dispatch_stub_760(void){}
|
||||
void gl_dispatch_stub_761(void){}
|
||||
void gl_dispatch_stub_766(void){}
|
||||
void gl_dispatch_stub_767(void){}
|
||||
void gl_dispatch_stub_768(void){}
|
||||
|
||||
void gl_dispatch_stub_562(void){};
|
||||
void gl_dispatch_stub_563(void){};
|
||||
void gl_dispatch_stub_564(void){};
|
||||
void gl_dispatch_stub_567(void){};
|
||||
void gl_dispatch_stub_568(void){};
|
||||
void gl_dispatch_stub_569(void){};
|
||||
void gl_dispatch_stub_580(void){};
|
||||
void gl_dispatch_stub_581(void){};
|
||||
void gl_dispatch_stub_606(void){};
|
||||
void gl_dispatch_stub_654(void){};
|
||||
void gl_dispatch_stub_655(void){};
|
||||
void gl_dispatch_stub_656(void){};
|
||||
void gl_dispatch_stub_739(void){};
|
||||
void gl_dispatch_stub_740(void){};
|
||||
void gl_dispatch_stub_741(void){};
|
||||
void gl_dispatch_stub_748(void){};
|
||||
void gl_dispatch_stub_749(void){};
|
||||
void gl_dispatch_stub_769(void){};
|
||||
void gl_dispatch_stub_770(void){};
|
||||
void gl_dispatch_stub_771(void){};
|
||||
void gl_dispatch_stub_562(void){}
|
||||
void gl_dispatch_stub_563(void){}
|
||||
void gl_dispatch_stub_564(void){}
|
||||
void gl_dispatch_stub_567(void){}
|
||||
void gl_dispatch_stub_568(void){}
|
||||
void gl_dispatch_stub_569(void){}
|
||||
void gl_dispatch_stub_580(void){}
|
||||
void gl_dispatch_stub_581(void){}
|
||||
void gl_dispatch_stub_606(void){}
|
||||
void gl_dispatch_stub_654(void){}
|
||||
void gl_dispatch_stub_655(void){}
|
||||
void gl_dispatch_stub_656(void){}
|
||||
void gl_dispatch_stub_739(void){}
|
||||
void gl_dispatch_stub_740(void){}
|
||||
void gl_dispatch_stub_741(void){}
|
||||
void gl_dispatch_stub_748(void){}
|
||||
void gl_dispatch_stub_749(void){}
|
||||
void gl_dispatch_stub_769(void){}
|
||||
void gl_dispatch_stub_770(void){}
|
||||
void gl_dispatch_stub_771(void){}
|
||||
|
||||
#endif
|
||||
|
@@ -1,6 +1,8 @@
|
||||
#ifndef WMESADEF_H
|
||||
#define WMESADEF_H
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include "context.h"
|
||||
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.2
|
||||
* Version: 7.0.1
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 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"),
|
||||
@@ -295,6 +295,11 @@ save_glx_visual( Display *dpy, XVisualInfo *vinfo,
|
||||
}
|
||||
}
|
||||
|
||||
if (stereoFlag) {
|
||||
/* stereo not supported */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Comparing IDs uses less memory but sometimes fails. */
|
||||
/* XXX revisit this after 3.0 is finished. */
|
||||
if (_mesa_getenv("MESA_GLX_VISUAL_HACK"))
|
||||
@@ -1078,7 +1083,7 @@ choose_visual( Display *dpy, int screen, const int *list, GLboolean fbConfig )
|
||||
else {
|
||||
stereo_flag = GL_TRUE;
|
||||
}
|
||||
return NULL; /* stereo not supported */
|
||||
break;
|
||||
case GLX_AUX_BUFFERS:
|
||||
parselist++;
|
||||
numAux = *parselist++;
|
||||
|
@@ -141,7 +141,7 @@ static void
|
||||
SetCurrentContext(GLXContext c)
|
||||
{
|
||||
#if defined(GLX_USE_TLS)
|
||||
CurrentContext = context;
|
||||
CurrentContext = c;
|
||||
#elif defined(THREADS)
|
||||
_glthread_SetTSD(&ContextTSD, c);
|
||||
#else
|
||||
|
@@ -5605,7 +5605,10 @@
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLushort *"/>
|
||||
</function>
|
||||
|
||||
<function name="VertexAttrib4bv" alias="VertexAttrib4bvARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLbyte *" count="4"/>
|
||||
</function>
|
||||
<function name="VertexAttrib4d" alias="VertexAttrib4dARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="x" type="GLdouble"/>
|
||||
@@ -5628,6 +5631,10 @@
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLfloat *"/>
|
||||
</function>
|
||||
<function name="VertexAttrib4iv" alias="VertexAttrib4ivARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLint *" count="4"/>
|
||||
</function>
|
||||
<function name="VertexAttrib4s" alias="VertexAttrib4sARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="x" type="GLshort"/>
|
||||
@@ -5639,6 +5646,18 @@
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLshort *"/>
|
||||
</function>
|
||||
<function name="VertexAttrib4ubv" alias="VertexAttrib4ubvARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLubyte *" count="4"/>
|
||||
</function>
|
||||
<function name="VertexAttrib4uiv" alias="VertexAttrib4uivARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLuint *" count="4"/>
|
||||
</function>
|
||||
<function name="VertexAttrib4usv" alias="VertexAttrib4usvARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
<param name="v" type="const GLushort *" count="4"/>
|
||||
</function>
|
||||
|
||||
<function name="VertexAttribPointer" alias="VertexAttribPointerARB">
|
||||
<param name="index" type="GLuint"/>
|
||||
|
@@ -82,12 +82,18 @@ class PrintGenericStubs(gl_XML.gl_print_base):
|
||||
print ''
|
||||
print '#ifdef GLX_USE_TLS'
|
||||
print ''
|
||||
print '#ifdef GLX_X86_READONLY_TEXT'
|
||||
print '# define CTX_INSNS MOV_L(GS:(EAX), EAX)'
|
||||
print '#else'
|
||||
print '# define CTX_INSNS NOP /* Pad for init_glapi_relocs() */'
|
||||
print '#endif'
|
||||
print ''
|
||||
print '# define GL_STUB(fn,off,fn_alt)\t\t\t\\'
|
||||
print 'ALIGNTEXT16;\t\t\t\t\t\t\\'
|
||||
print 'GLOBL_FN(GL_PREFIX(fn, fn_alt));\t\t\t\\'
|
||||
print 'GL_PREFIX(fn, fn_alt):\t\t\t\t\t\\'
|
||||
print '\tCALL(_x86_get_dispatch) ;\t\t\t\\'
|
||||
print '\tNOP ;\t\t\t\t\t\t\\'
|
||||
print '\tCTX_INSNS ; \\'
|
||||
print '\tJMP(GL_OFFSET(off))'
|
||||
print ''
|
||||
print '#elif defined(PTHREADS)'
|
||||
@@ -138,7 +144,10 @@ class PrintGenericStubs(gl_XML.gl_print_base):
|
||||
print '\tHIDDEN(GLNAME(_x86_get_dispatch))'
|
||||
print 'ALIGNTEXT16'
|
||||
print 'GLNAME(_x86_get_dispatch):'
|
||||
print '\tmovl\t%gs:_glapi_tls_Dispatch@NTPOFF, %eax'
|
||||
print '\tcall 1f'
|
||||
print '1:\tpopl %eax'
|
||||
print '\taddl $_GLOBAL_OFFSET_TABLE_+[.-1b], %eax'
|
||||
print '\tmovl _glapi_tls_Dispatch@GOTNTPOFF(%eax), %eax'
|
||||
print '\tret'
|
||||
print ''
|
||||
print '#elif defined(PTHREADS)'
|
||||
@@ -158,7 +167,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
|
||||
print '#endif'
|
||||
print ''
|
||||
|
||||
print '#if defined( GLX_USE_TLS )'
|
||||
print '#if defined( GLX_USE_TLS ) && !defined( GLX_X86_READONLY_TEXT )'
|
||||
print '\t\t.section\twtext, "awx", @progbits'
|
||||
print '#endif /* defined( GLX_USE_TLS ) */'
|
||||
|
||||
|
@@ -1028,22 +1028,24 @@ _glapi_check_table(const struct _glapi_table *table)
|
||||
#if defined(PTHREADS) || defined(GLX_USE_TLS)
|
||||
/**
|
||||
* Perform platform-specific GL API entry-point fixups.
|
||||
*
|
||||
*
|
||||
*/
|
||||
static void
|
||||
init_glapi_relocs( void )
|
||||
{
|
||||
#if defined( USE_X86_ASM ) && defined( GLX_USE_TLS )
|
||||
extern void * _x86_get_dispatch(void);
|
||||
const GLubyte * const get_disp = (const GLubyte *) _x86_get_dispatch;
|
||||
#if defined(USE_X86_ASM) && defined(GLX_USE_TLS) && !defined(GLX_X86_READONLY_TEXT)
|
||||
extern unsigned long _x86_get_dispatch(void);
|
||||
char run_time_patch[] = {
|
||||
0x65, 0xa1, 0, 0, 0, 0 /* movl %gs:0,%eax */
|
||||
};
|
||||
GLuint *offset = (GLuint *) &run_time_patch[2]; /* 32-bits for x86/32 */
|
||||
const GLubyte * const get_disp = (const GLubyte *) run_time_patch;
|
||||
GLubyte * curr_func = (GLubyte *) gl_dispatch_functions_start;
|
||||
|
||||
|
||||
*offset = _x86_get_dispatch();
|
||||
while ( curr_func != (GLubyte *) gl_dispatch_functions_end ) {
|
||||
(void) memcpy( curr_func, get_disp, 6 );
|
||||
(void) memcpy( curr_func, get_disp, sizeof(run_time_patch));
|
||||
curr_func += DISPATCH_FUNCTION_SIZE;
|
||||
}
|
||||
#endif /* defined( USE_X86_ASM ) && defined( GLX_USE_TLS ) */
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif /* defined(PTHREADS) || defined(GLX_USE_TLS) */
|
||||
|
@@ -3284,6 +3284,11 @@ KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NusvARB)(GLuint index, const GLushort *
|
||||
DISPATCH(VertexAttrib4NusvARB, (index, v), (F, "glVertexAttrib4NusvARB(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4bv)(GLuint index, const GLbyte * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4bvARB, (index, v), (F, "glVertexAttrib4bv(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4bvARB)(GLuint index, const GLbyte * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4bvARB, (index, v), (F, "glVertexAttrib4bvARB(%d, %p);\n", index, (const void *) v));
|
||||
@@ -3329,6 +3334,11 @@ KEYWORD1 void KEYWORD2 NAME(VertexAttrib4fvARB)(GLuint index, const GLfloat * v)
|
||||
DISPATCH(VertexAttrib4fvARB, (index, v), (F, "glVertexAttrib4fvARB(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4iv)(GLuint index, const GLint * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4ivARB, (index, v), (F, "glVertexAttrib4iv(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4ivARB)(GLuint index, const GLint * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4ivARB, (index, v), (F, "glVertexAttrib4ivARB(%d, %p);\n", index, (const void *) v));
|
||||
@@ -3354,16 +3364,31 @@ KEYWORD1 void KEYWORD2 NAME(VertexAttrib4svARB)(GLuint index, const GLshort * v)
|
||||
DISPATCH(VertexAttrib4svARB, (index, v), (F, "glVertexAttrib4svARB(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4ubv)(GLuint index, const GLubyte * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4ubvARB, (index, v), (F, "glVertexAttrib4ubv(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4ubvARB)(GLuint index, const GLubyte * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4ubvARB, (index, v), (F, "glVertexAttrib4ubvARB(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4uiv)(GLuint index, const GLuint * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4uivARB, (index, v), (F, "glVertexAttrib4uiv(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4uivARB)(GLuint index, const GLuint * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4uivARB, (index, v), (F, "glVertexAttrib4uivARB(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4usv)(GLuint index, const GLushort * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4usvARB, (index, v), (F, "glVertexAttrib4usv(%d, %p);\n", index, (const void *) v));
|
||||
}
|
||||
|
||||
KEYWORD1 void KEYWORD2 NAME(VertexAttrib4usvARB)(GLuint index, const GLushort * v)
|
||||
{
|
||||
DISPATCH(VertexAttrib4usvARB, (index, v), (F, "glVertexAttrib4usvARB(%d, %p);\n", index, (const void *) v));
|
||||
@@ -6458,12 +6483,17 @@ static _glapi_proc UNUSED_TABLE_NAME[] = {
|
||||
TABLE_ENTRY(VertexAttrib4Nubv),
|
||||
TABLE_ENTRY(VertexAttrib4Nuiv),
|
||||
TABLE_ENTRY(VertexAttrib4Nusv),
|
||||
TABLE_ENTRY(VertexAttrib4bv),
|
||||
TABLE_ENTRY(VertexAttrib4d),
|
||||
TABLE_ENTRY(VertexAttrib4dv),
|
||||
TABLE_ENTRY(VertexAttrib4f),
|
||||
TABLE_ENTRY(VertexAttrib4fv),
|
||||
TABLE_ENTRY(VertexAttrib4iv),
|
||||
TABLE_ENTRY(VertexAttrib4s),
|
||||
TABLE_ENTRY(VertexAttrib4sv),
|
||||
TABLE_ENTRY(VertexAttrib4ubv),
|
||||
TABLE_ENTRY(VertexAttrib4uiv),
|
||||
TABLE_ENTRY(VertexAttrib4usv),
|
||||
TABLE_ENTRY(VertexAttribPointer),
|
||||
TABLE_ENTRY(BindBuffer),
|
||||
TABLE_ENTRY(BufferData),
|
||||
|
@@ -957,12 +957,17 @@ static const char gl_string_table[] =
|
||||
"glVertexAttrib4Nubv\0"
|
||||
"glVertexAttrib4Nuiv\0"
|
||||
"glVertexAttrib4Nusv\0"
|
||||
"glVertexAttrib4bv\0"
|
||||
"glVertexAttrib4d\0"
|
||||
"glVertexAttrib4dv\0"
|
||||
"glVertexAttrib4f\0"
|
||||
"glVertexAttrib4fv\0"
|
||||
"glVertexAttrib4iv\0"
|
||||
"glVertexAttrib4s\0"
|
||||
"glVertexAttrib4sv\0"
|
||||
"glVertexAttrib4ubv\0"
|
||||
"glVertexAttrib4uiv\0"
|
||||
"glVertexAttrib4usv\0"
|
||||
"glVertexAttribPointer\0"
|
||||
"glBindBuffer\0"
|
||||
"glBufferData\0"
|
||||
@@ -2100,142 +2105,147 @@ static const glprocs_table_t static_functions[] = {
|
||||
NAME_FUNC_OFFSET(16268, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
|
||||
NAME_FUNC_OFFSET(16288, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
|
||||
NAME_FUNC_OFFSET(16308, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
|
||||
NAME_FUNC_OFFSET(16328, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
|
||||
NAME_FUNC_OFFSET(16345, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
|
||||
NAME_FUNC_OFFSET(16363, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
|
||||
NAME_FUNC_OFFSET(16380, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
|
||||
NAME_FUNC_OFFSET(16398, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
|
||||
NAME_FUNC_OFFSET(16415, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
|
||||
NAME_FUNC_OFFSET(16433, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
|
||||
NAME_FUNC_OFFSET(16455, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
|
||||
NAME_FUNC_OFFSET(16468, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
|
||||
NAME_FUNC_OFFSET(16481, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16497, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
|
||||
NAME_FUNC_OFFSET(16513, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
|
||||
NAME_FUNC_OFFSET(16526, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
|
||||
NAME_FUNC_OFFSET(16549, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
|
||||
NAME_FUNC_OFFSET(16569, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16588, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
|
||||
NAME_FUNC_OFFSET(16599, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
|
||||
NAME_FUNC_OFFSET(16611, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
|
||||
NAME_FUNC_OFFSET(16625, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
|
||||
NAME_FUNC_OFFSET(16638, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
|
||||
NAME_FUNC_OFFSET(16654, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
|
||||
NAME_FUNC_OFFSET(16665, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
|
||||
NAME_FUNC_OFFSET(16678, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
|
||||
NAME_FUNC_OFFSET(16697, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
|
||||
NAME_FUNC_OFFSET(16717, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
|
||||
NAME_FUNC_OFFSET(16730, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
|
||||
NAME_FUNC_OFFSET(16740, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
|
||||
NAME_FUNC_OFFSET(16756, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
|
||||
NAME_FUNC_OFFSET(16775, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(16793, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
|
||||
NAME_FUNC_OFFSET(16814, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
|
||||
NAME_FUNC_OFFSET(16829, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
|
||||
NAME_FUNC_OFFSET(16844, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
|
||||
NAME_FUNC_OFFSET(16858, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(16873, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
|
||||
NAME_FUNC_OFFSET(16885, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
|
||||
NAME_FUNC_OFFSET(16898, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
|
||||
NAME_FUNC_OFFSET(16910, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
|
||||
NAME_FUNC_OFFSET(16923, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
|
||||
NAME_FUNC_OFFSET(16935, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
|
||||
NAME_FUNC_OFFSET(16948, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
|
||||
NAME_FUNC_OFFSET(16960, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
|
||||
NAME_FUNC_OFFSET(16973, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
|
||||
NAME_FUNC_OFFSET(16985, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
|
||||
NAME_FUNC_OFFSET(16998, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
|
||||
NAME_FUNC_OFFSET(17010, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
|
||||
NAME_FUNC_OFFSET(17023, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
|
||||
NAME_FUNC_OFFSET(17035, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
|
||||
NAME_FUNC_OFFSET(17048, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
|
||||
NAME_FUNC_OFFSET(17060, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
|
||||
NAME_FUNC_OFFSET(17073, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
|
||||
NAME_FUNC_OFFSET(17092, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
|
||||
NAME_FUNC_OFFSET(17111, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
|
||||
NAME_FUNC_OFFSET(17130, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
|
||||
NAME_FUNC_OFFSET(17143, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
|
||||
NAME_FUNC_OFFSET(17161, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17182, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
|
||||
NAME_FUNC_OFFSET(17200, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17220, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17234, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17251, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS),
|
||||
NAME_FUNC_OFFSET(17267, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS),
|
||||
NAME_FUNC_OFFSET(17286, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17304, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17325, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17347, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17366, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17388, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17411, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
|
||||
NAME_FUNC_OFFSET(17430, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
|
||||
NAME_FUNC_OFFSET(17450, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
|
||||
NAME_FUNC_OFFSET(17469, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
|
||||
NAME_FUNC_OFFSET(17489, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
|
||||
NAME_FUNC_OFFSET(17508, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
|
||||
NAME_FUNC_OFFSET(17528, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
|
||||
NAME_FUNC_OFFSET(17547, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
|
||||
NAME_FUNC_OFFSET(17567, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
|
||||
NAME_FUNC_OFFSET(17586, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
|
||||
NAME_FUNC_OFFSET(17606, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
|
||||
NAME_FUNC_OFFSET(17626, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
|
||||
NAME_FUNC_OFFSET(17647, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
|
||||
NAME_FUNC_OFFSET(17667, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
|
||||
NAME_FUNC_OFFSET(17688, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
|
||||
NAME_FUNC_OFFSET(17708, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
|
||||
NAME_FUNC_OFFSET(17729, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
|
||||
NAME_FUNC_OFFSET(17753, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
|
||||
NAME_FUNC_OFFSET(17771, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
|
||||
NAME_FUNC_OFFSET(17791, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
|
||||
NAME_FUNC_OFFSET(17809, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
|
||||
NAME_FUNC_OFFSET(17821, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
|
||||
NAME_FUNC_OFFSET(17834, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
|
||||
NAME_FUNC_OFFSET(17846, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
|
||||
NAME_FUNC_OFFSET(17859, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(17879, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(17903, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(17917, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(17934, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(17949, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(17967, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(17981, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(17998, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18013, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18031, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18045, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18062, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18077, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18095, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18109, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18126, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18141, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18159, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18173, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18190, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18205, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18223, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18237, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18254, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18269, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18287, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18301, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18318, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18333, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18351, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18365, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18382, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18397, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18415, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
|
||||
NAME_FUNC_OFFSET(18432, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
|
||||
NAME_FUNC_OFFSET(18452, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
|
||||
NAME_FUNC_OFFSET(18469, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18495, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18524, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
|
||||
NAME_FUNC_OFFSET(18539, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
|
||||
NAME_FUNC_OFFSET(18557, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
|
||||
NAME_FUNC_OFFSET(18576, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18600, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(16328, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB),
|
||||
NAME_FUNC_OFFSET(16346, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
|
||||
NAME_FUNC_OFFSET(16363, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
|
||||
NAME_FUNC_OFFSET(16381, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
|
||||
NAME_FUNC_OFFSET(16398, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
|
||||
NAME_FUNC_OFFSET(16416, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB),
|
||||
NAME_FUNC_OFFSET(16434, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
|
||||
NAME_FUNC_OFFSET(16451, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
|
||||
NAME_FUNC_OFFSET(16469, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB),
|
||||
NAME_FUNC_OFFSET(16488, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB),
|
||||
NAME_FUNC_OFFSET(16507, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB),
|
||||
NAME_FUNC_OFFSET(16526, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
|
||||
NAME_FUNC_OFFSET(16548, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
|
||||
NAME_FUNC_OFFSET(16561, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
|
||||
NAME_FUNC_OFFSET(16574, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16590, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
|
||||
NAME_FUNC_OFFSET(16606, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
|
||||
NAME_FUNC_OFFSET(16619, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
|
||||
NAME_FUNC_OFFSET(16642, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
|
||||
NAME_FUNC_OFFSET(16662, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16681, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
|
||||
NAME_FUNC_OFFSET(16692, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
|
||||
NAME_FUNC_OFFSET(16704, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
|
||||
NAME_FUNC_OFFSET(16718, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
|
||||
NAME_FUNC_OFFSET(16731, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
|
||||
NAME_FUNC_OFFSET(16747, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
|
||||
NAME_FUNC_OFFSET(16758, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
|
||||
NAME_FUNC_OFFSET(16771, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
|
||||
NAME_FUNC_OFFSET(16790, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
|
||||
NAME_FUNC_OFFSET(16810, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
|
||||
NAME_FUNC_OFFSET(16823, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
|
||||
NAME_FUNC_OFFSET(16833, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
|
||||
NAME_FUNC_OFFSET(16849, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
|
||||
NAME_FUNC_OFFSET(16868, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(16886, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
|
||||
NAME_FUNC_OFFSET(16907, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
|
||||
NAME_FUNC_OFFSET(16922, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
|
||||
NAME_FUNC_OFFSET(16937, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
|
||||
NAME_FUNC_OFFSET(16951, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(16966, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
|
||||
NAME_FUNC_OFFSET(16978, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
|
||||
NAME_FUNC_OFFSET(16991, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
|
||||
NAME_FUNC_OFFSET(17003, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
|
||||
NAME_FUNC_OFFSET(17016, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
|
||||
NAME_FUNC_OFFSET(17028, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
|
||||
NAME_FUNC_OFFSET(17041, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
|
||||
NAME_FUNC_OFFSET(17053, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
|
||||
NAME_FUNC_OFFSET(17066, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
|
||||
NAME_FUNC_OFFSET(17078, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
|
||||
NAME_FUNC_OFFSET(17091, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
|
||||
NAME_FUNC_OFFSET(17103, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
|
||||
NAME_FUNC_OFFSET(17116, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
|
||||
NAME_FUNC_OFFSET(17128, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
|
||||
NAME_FUNC_OFFSET(17141, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
|
||||
NAME_FUNC_OFFSET(17153, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
|
||||
NAME_FUNC_OFFSET(17166, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
|
||||
NAME_FUNC_OFFSET(17185, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
|
||||
NAME_FUNC_OFFSET(17204, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
|
||||
NAME_FUNC_OFFSET(17223, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
|
||||
NAME_FUNC_OFFSET(17236, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
|
||||
NAME_FUNC_OFFSET(17254, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17275, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
|
||||
NAME_FUNC_OFFSET(17293, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17313, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17327, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17344, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS),
|
||||
NAME_FUNC_OFFSET(17360, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS),
|
||||
NAME_FUNC_OFFSET(17379, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17397, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17418, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17440, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17459, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17481, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17504, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
|
||||
NAME_FUNC_OFFSET(17523, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
|
||||
NAME_FUNC_OFFSET(17543, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
|
||||
NAME_FUNC_OFFSET(17562, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
|
||||
NAME_FUNC_OFFSET(17582, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
|
||||
NAME_FUNC_OFFSET(17601, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
|
||||
NAME_FUNC_OFFSET(17621, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
|
||||
NAME_FUNC_OFFSET(17640, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
|
||||
NAME_FUNC_OFFSET(17660, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
|
||||
NAME_FUNC_OFFSET(17679, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
|
||||
NAME_FUNC_OFFSET(17699, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
|
||||
NAME_FUNC_OFFSET(17719, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
|
||||
NAME_FUNC_OFFSET(17740, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
|
||||
NAME_FUNC_OFFSET(17760, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
|
||||
NAME_FUNC_OFFSET(17781, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
|
||||
NAME_FUNC_OFFSET(17801, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
|
||||
NAME_FUNC_OFFSET(17822, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
|
||||
NAME_FUNC_OFFSET(17846, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
|
||||
NAME_FUNC_OFFSET(17864, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
|
||||
NAME_FUNC_OFFSET(17884, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
|
||||
NAME_FUNC_OFFSET(17902, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
|
||||
NAME_FUNC_OFFSET(17914, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
|
||||
NAME_FUNC_OFFSET(17927, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
|
||||
NAME_FUNC_OFFSET(17939, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
|
||||
NAME_FUNC_OFFSET(17952, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(17972, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(17996, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(18010, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(18027, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(18042, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(18060, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(18074, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(18091, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18106, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18124, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18138, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18155, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18170, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18188, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18202, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18219, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18234, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18252, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18266, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18283, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18298, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18316, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18330, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18347, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18362, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18380, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18394, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18411, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18426, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18444, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18458, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18475, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18490, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18508, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
|
||||
NAME_FUNC_OFFSET(18525, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
|
||||
NAME_FUNC_OFFSET(18545, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
|
||||
NAME_FUNC_OFFSET(18562, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18588, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18617, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
|
||||
NAME_FUNC_OFFSET(18632, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
|
||||
NAME_FUNC_OFFSET(18650, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
|
||||
NAME_FUNC_OFFSET(18669, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18693, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
|
||||
};
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.1
|
||||
* Version: 7.0.1
|
||||
*
|
||||
* Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 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"),
|
||||
@@ -100,6 +100,11 @@ _mesa_validate_DrawElements(GLcontext *ctx,
|
||||
(const GLubyte *) indices);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* not using a VBO */
|
||||
if (!indices)
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (ctx->Const.CheckArrayBounds) {
|
||||
/* find max array index */
|
||||
@@ -170,6 +175,16 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
|
||||
&& !(ctx->VertexProgram._Enabled && ctx->Array.ArrayObj->VertexAttrib[0].Enabled))
|
||||
return GL_FALSE;
|
||||
|
||||
/* Vertex buffer object tests */
|
||||
if (ctx->Array.ElementArrayBufferObj->Name) {
|
||||
/* XXX re-use code from above? */
|
||||
}
|
||||
else {
|
||||
/* not using VBO */
|
||||
if (!indices)
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (ctx->Const.CheckArrayBounds) {
|
||||
/* Find max array index.
|
||||
* We don't trust the user's start and end values.
|
||||
|
@@ -764,6 +764,7 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib)
|
||||
_mesa_TexParameteri(target, GL_TEXTURE_MAG_FILTER, obj->MagFilter);
|
||||
_mesa_TexParameterf(target, GL_TEXTURE_MIN_LOD, obj->MinLod);
|
||||
_mesa_TexParameterf(target, GL_TEXTURE_MAX_LOD, obj->MaxLod);
|
||||
_mesa_TexParameterf(target, GL_TEXTURE_LOD_BIAS, obj->LodBias);
|
||||
_mesa_TexParameteri(target, GL_TEXTURE_BASE_LEVEL, obj->BaseLevel);
|
||||
if (target != GL_TEXTURE_RECTANGLE_ARB)
|
||||
_mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, obj->MaxLevel);
|
||||
|
@@ -5,9 +5,9 @@
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.2
|
||||
* Version: 7.0
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 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"),
|
||||
@@ -240,10 +240,7 @@
|
||||
|
||||
|
||||
/**
|
||||
* Bits per depth buffer value.
|
||||
*
|
||||
* Any reasonable value up to 31 will work. 32 doesn't work because of integer
|
||||
* overflow problems in the rasterizer code.
|
||||
* Bits per depth buffer value (max is 32).
|
||||
*/
|
||||
#ifndef DEFAULT_SOFTWARE_DEPTH_BITS
|
||||
#define DEFAULT_SOFTWARE_DEPTH_BITS 16
|
||||
|
@@ -6,9 +6,9 @@
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5
|
||||
* Version: 7.0
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 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"),
|
||||
@@ -1382,8 +1382,11 @@ check_compatible(const GLcontext *ctx, const GLframebuffer *buffer)
|
||||
return GL_FALSE;
|
||||
if (ctxvis->blueMask && ctxvis->blueMask != bufvis->blueMask)
|
||||
return GL_FALSE;
|
||||
#if 0
|
||||
/* disabled (see bug 11161) */
|
||||
if (ctxvis->depthBits && ctxvis->depthBits != bufvis->depthBits)
|
||||
return GL_FALSE;
|
||||
#endif
|
||||
if (ctxvis->stencilBits && ctxvis->stencilBits != bufvis->stencilBits)
|
||||
return GL_FALSE;
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.1
|
||||
* Version: 7.0.1
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 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"),
|
||||
@@ -2716,21 +2716,20 @@ save_PolygonMode(GLenum face, GLenum mode)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Polygon stipple must have been upacked already!
|
||||
*/
|
||||
static void GLAPIENTRY
|
||||
save_PolygonStipple(const GLubyte * pattern)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
GLvoid *image = unpack_image(2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP,
|
||||
pattern, &ctx->Unpack);
|
||||
Node *n;
|
||||
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
|
||||
n = ALLOC_INSTRUCTION(ctx, OPCODE_POLYGON_STIPPLE, 1);
|
||||
if (n) {
|
||||
void *data;
|
||||
n[1].data = _mesa_malloc(32 * 4);
|
||||
data = n[1].data; /* This needed for Acorn compiler */
|
||||
MEMCPY(data, pattern, 32 * 4);
|
||||
n[1].data = image;
|
||||
}
|
||||
else if (image) {
|
||||
_mesa_free(image);
|
||||
}
|
||||
if (ctx->ExecuteFlag) {
|
||||
CALL_PolygonStipple(ctx->Exec, ((GLubyte *) pattern));
|
||||
@@ -6169,7 +6168,12 @@ execute_list(GLcontext *ctx, GLuint list)
|
||||
CALL_PolygonMode(ctx->Exec, (n[1].e, n[2].e));
|
||||
break;
|
||||
case OPCODE_POLYGON_STIPPLE:
|
||||
CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data));
|
||||
{
|
||||
const struct gl_pixelstore_attrib save = ctx->Unpack;
|
||||
ctx->Unpack = ctx->DefaultPacking;
|
||||
CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data));
|
||||
ctx->Unpack = save; /* restore */
|
||||
}
|
||||
break;
|
||||
case OPCODE_POLYGON_OFFSET:
|
||||
CALL_PolygonOffset(ctx->Exec, (n[1].f, n[2].f));
|
||||
|
@@ -91,6 +91,9 @@
|
||||
# pragma disable_message(201) /* Disable unreachable code warnings */
|
||||
#endif
|
||||
|
||||
#ifdef WGLAPI
|
||||
# undef WGLAPI
|
||||
#endif
|
||||
|
||||
#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) && !defined(BUILD_FOR_SNAP)
|
||||
# if !defined(__GNUC__) /* mingw environment */
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 7.0
|
||||
* Version: 7.0.1
|
||||
*
|
||||
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
*
|
||||
@@ -850,7 +850,7 @@ _mesa_unpack_bitmap( GLint width, GLint height, const GLubyte *pixels,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (packing->SkipPixels == 0) {
|
||||
if ((packing->SkipPixels & 7) == 0) {
|
||||
_mesa_memcpy( dst, src, width_in_bytes );
|
||||
if (packing->LsbFirst) {
|
||||
flip_bytes( dst, width_in_bytes );
|
||||
@@ -942,7 +942,7 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source,
|
||||
if (!dst)
|
||||
return;
|
||||
|
||||
if (packing->SkipPixels == 0) {
|
||||
if ((packing->SkipPixels & 7) == 0) {
|
||||
_mesa_memcpy( dst, src, width_in_bytes );
|
||||
if (packing->LsbFirst) {
|
||||
flip_bytes( dst, width_in_bytes );
|
||||
@@ -961,20 +961,20 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source,
|
||||
if (*s & srcMask) {
|
||||
*d |= dstMask;
|
||||
}
|
||||
if (srcMask == 128) {
|
||||
srcMask = 1;
|
||||
if (srcMask == 1) {
|
||||
srcMask = 128;
|
||||
s++;
|
||||
}
|
||||
else {
|
||||
srcMask = srcMask << 1;
|
||||
srcMask = srcMask >> 1;
|
||||
}
|
||||
if (dstMask == 1) {
|
||||
dstMask = 128;
|
||||
if (dstMask == 128) {
|
||||
dstMask = 1;
|
||||
d++;
|
||||
*d = 0;
|
||||
}
|
||||
else {
|
||||
dstMask = dstMask >> 1;
|
||||
dstMask = dstMask << 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3648,11 +3648,13 @@ _mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n,
|
||||
* Try simple cases first
|
||||
*/
|
||||
if (transferOps == 0 &&
|
||||
!ctx->Pixel.MapStencilFlag &&
|
||||
srcType == GL_UNSIGNED_BYTE &&
|
||||
dstType == GL_UNSIGNED_BYTE) {
|
||||
_mesa_memcpy(dest, source, n * sizeof(GLubyte));
|
||||
}
|
||||
else if (transferOps == 0 &&
|
||||
!ctx->Pixel.MapStencilFlag &&
|
||||
srcType == GL_UNSIGNED_INT &&
|
||||
dstType == GL_UNSIGNED_INT &&
|
||||
!srcPacking->SwapBytes) {
|
||||
@@ -3668,19 +3670,17 @@ _mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n,
|
||||
extract_uint_indexes(n, indexes, GL_STENCIL_INDEX, srcType, source,
|
||||
srcPacking);
|
||||
|
||||
if (transferOps) {
|
||||
if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
|
||||
/* shift and offset indexes */
|
||||
shift_and_offset_ci(ctx, n, indexes);
|
||||
}
|
||||
if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
|
||||
/* shift and offset indexes */
|
||||
shift_and_offset_ci(ctx, n, indexes);
|
||||
}
|
||||
|
||||
if (ctx->Pixel.MapStencilFlag) {
|
||||
/* Apply stencil lookup table */
|
||||
GLuint mask = ctx->PixelMaps.StoS.Size - 1;
|
||||
GLuint i;
|
||||
for (i=0;i<n;i++) {
|
||||
indexes[i] = ctx->PixelMaps.StoS.Map[ indexes[i] & mask ];
|
||||
}
|
||||
if (ctx->Pixel.MapStencilFlag) {
|
||||
/* Apply stencil lookup table */
|
||||
const GLuint mask = ctx->PixelMaps.StoS.Size - 1;
|
||||
GLuint i;
|
||||
for (i = 0; i < n; i++) {
|
||||
indexes[i] = ctx->PixelMaps.StoS.Map[ indexes[i] & mask ];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3733,7 +3733,7 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n,
|
||||
|
||||
switch (dstType) {
|
||||
case GL_UNSIGNED_BYTE:
|
||||
if (sizeof(GLstencil) == 8) {
|
||||
if (sizeof(GLstencil) == 1) {
|
||||
_mesa_memcpy( dest, source, n );
|
||||
}
|
||||
else {
|
||||
@@ -3745,14 +3745,11 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n,
|
||||
}
|
||||
break;
|
||||
case GL_BYTE:
|
||||
if (sizeof(GLstencil) == 8) {
|
||||
_mesa_memcpy( dest, source, n );
|
||||
}
|
||||
else {
|
||||
{
|
||||
GLbyte *dst = (GLbyte *) dest;
|
||||
GLuint i;
|
||||
for (i=0;i<n;i++) {
|
||||
dst[i] = (GLbyte) source[i];
|
||||
dst[i] = (GLbyte) (source[i] & 0x7f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -3878,10 +3875,20 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n,
|
||||
SWAP4BYTE(value); \
|
||||
} \
|
||||
} \
|
||||
depthValues[i] = CLAMP(GLTYPE2FLOAT(value), 0.0F, 1.0F); \
|
||||
depthValues[i] = GLTYPE2FLOAT(value); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
/**
|
||||
* Unpack a row of depth/z values from memory, returning GLushort, GLuint
|
||||
* or GLfloat values.
|
||||
* The glPixelTransfer (scale/bias) params will be applied.
|
||||
*
|
||||
* \param dstType one of GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, GL_FLOAT
|
||||
* \param depthScale scale factor (max value) for returned GLushort or
|
||||
* GLuint values (ignored for GLfloat).
|
||||
*/
|
||||
void
|
||||
_mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
GLenum dstType, GLvoid *dest, GLfloat depthScale,
|
||||
@@ -3889,6 +3896,7 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
const struct gl_pixelstore_attrib *srcPacking )
|
||||
{
|
||||
GLfloat depthTemp[MAX_WIDTH], *depthValues;
|
||||
GLboolean needClamp = GL_FALSE;
|
||||
|
||||
/* Look for special cases first.
|
||||
* Not only are these faster, they're less prone to numeric conversion
|
||||
@@ -3906,7 +3914,9 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (srcType == GL_UNSIGNED_SHORT && dstType == GL_UNSIGNED_INT) {
|
||||
if (srcType == GL_UNSIGNED_SHORT
|
||||
&& dstType == GL_UNSIGNED_INT
|
||||
&& depthScale == (GLfloat) 0xffffffff) {
|
||||
const GLushort *src = (const GLushort *) source;
|
||||
GLuint *dst = (GLuint *) dest;
|
||||
GLuint i;
|
||||
@@ -3918,7 +3928,7 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
/* XXX may want to add additional cases here someday */
|
||||
}
|
||||
|
||||
/* general case path */
|
||||
/* general case path follows */
|
||||
|
||||
if (dstType == GL_FLOAT) {
|
||||
depthValues = (GLfloat *) dest;
|
||||
@@ -3927,29 +3937,31 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
depthValues = depthTemp;
|
||||
}
|
||||
|
||||
/* XXX we need to obey srcPacking->SwapBytes here!!! */
|
||||
(void) srcPacking;
|
||||
|
||||
/* convert incoming values to GLfloat */
|
||||
/* Convert incoming values to GLfloat. Some conversions will require
|
||||
* clamping, below.
|
||||
*/
|
||||
switch (srcType) {
|
||||
case GL_BYTE:
|
||||
DEPTH_VALUES(GLbyte, BYTE_TO_FLOAT);
|
||||
break;
|
||||
DEPTH_VALUES(GLbyte, BYTE_TO_FLOAT);
|
||||
needClamp = GL_TRUE;
|
||||
break;
|
||||
case GL_UNSIGNED_BYTE:
|
||||
DEPTH_VALUES(GLubyte, UBYTE_TO_FLOAT);
|
||||
break;
|
||||
DEPTH_VALUES(GLubyte, UBYTE_TO_FLOAT);
|
||||
break;
|
||||
case GL_SHORT:
|
||||
DEPTH_VALUES(GLshort, SHORT_TO_FLOAT);
|
||||
break;
|
||||
DEPTH_VALUES(GLshort, SHORT_TO_FLOAT);
|
||||
needClamp = GL_TRUE;
|
||||
break;
|
||||
case GL_UNSIGNED_SHORT:
|
||||
DEPTH_VALUES(GLushort, USHORT_TO_FLOAT);
|
||||
break;
|
||||
DEPTH_VALUES(GLushort, USHORT_TO_FLOAT);
|
||||
break;
|
||||
case GL_INT:
|
||||
DEPTH_VALUES(GLint, INT_TO_FLOAT);
|
||||
break;
|
||||
DEPTH_VALUES(GLint, INT_TO_FLOAT);
|
||||
needClamp = GL_TRUE;
|
||||
break;
|
||||
case GL_UNSIGNED_INT:
|
||||
DEPTH_VALUES(GLuint, UINT_TO_FLOAT);
|
||||
break;
|
||||
DEPTH_VALUES(GLuint, UINT_TO_FLOAT);
|
||||
break;
|
||||
case GL_UNSIGNED_INT_24_8_EXT: /* GL_EXT_packed_depth_stencil */
|
||||
if (dstType == GL_UNSIGNED_INT &&
|
||||
depthScale == (GLfloat) 0xffffff &&
|
||||
@@ -3981,19 +3993,21 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
}
|
||||
break;
|
||||
case GL_FLOAT:
|
||||
DEPTH_VALUES(GLfloat, 1*);
|
||||
break;
|
||||
DEPTH_VALUES(GLfloat, 1*);
|
||||
needClamp = GL_TRUE;
|
||||
break;
|
||||
case GL_HALF_FLOAT_ARB:
|
||||
{
|
||||
GLuint i;
|
||||
const GLhalfARB *src = (const GLhalfARB *) source;
|
||||
for (i = 0; i < n; i++) {
|
||||
GLhalfARB value = src[i];
|
||||
if (srcPacking->SwapBytes) {
|
||||
SWAP2BYTE(value);
|
||||
}
|
||||
GLhalfARB value = src[i];
|
||||
if (srcPacking->SwapBytes) {
|
||||
SWAP2BYTE(value);
|
||||
}
|
||||
depthValues[i] = _mesa_half_to_float(value);
|
||||
}
|
||||
needClamp = GL_TRUE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -4001,12 +4015,30 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* apply depth scale and bias and clamp to [0,1] */
|
||||
if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) {
|
||||
_mesa_scale_and_bias_depth(ctx, n, depthValues);
|
||||
/* apply depth scale and bias */
|
||||
{
|
||||
const GLfloat scale = ctx->Pixel.DepthScale;
|
||||
const GLfloat bias = ctx->Pixel.DepthBias;
|
||||
if (scale != 1.0 || bias != 0.0) {
|
||||
GLuint i;
|
||||
for (i = 0; i < n; i++) {
|
||||
depthValues[i] = depthValues[i] * scale + bias;
|
||||
}
|
||||
needClamp = GL_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* clamp to [0, 1] */
|
||||
if (needClamp) {
|
||||
GLuint i;
|
||||
for (i = 0; i < n; i++) {
|
||||
depthValues[i] = CLAMP(depthValues[i], 0.0, 1.0);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert values to dstType
|
||||
*/
|
||||
if (dstType == GL_UNSIGNED_INT) {
|
||||
GLuint *zValues = (GLuint *) dest;
|
||||
GLuint i;
|
||||
|
@@ -575,7 +575,11 @@ _mesa_ffs(int i)
|
||||
* if no bits set.
|
||||
*/
|
||||
int
|
||||
#ifdef __MINGW32__
|
||||
_mesa_ffsll(long val)
|
||||
#else
|
||||
_mesa_ffsll(long long val)
|
||||
#endif
|
||||
{
|
||||
#ifdef ffsll
|
||||
return ffsll(val);
|
||||
|
@@ -700,7 +700,11 @@ extern int
|
||||
_mesa_ffs(int i);
|
||||
|
||||
extern int
|
||||
#ifdef __MINGW32__
|
||||
_mesa_ffsll(long i);
|
||||
#else
|
||||
_mesa_ffsll(long long i);
|
||||
#endif
|
||||
|
||||
extern unsigned int
|
||||
_mesa_bitcount(unsigned int n);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user