Compare commits
	
		
			189 Commits
		
	
	
		
			android-x8
			...
			mesa_7_7_1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | e33121b2d8 | ||
|  | 415d0326bb | ||
|  | 7e24ce2d9b | ||
|  | 2ae754b7b9 | ||
|  | 501156b36b | ||
|  | 4ff3244457 | ||
|  | 3889556d70 | ||
|  | 6412046f65 | ||
|  | 6e96cea6e2 | ||
|  | 3a3ef3d6c9 | ||
|  | 98aed6dc69 | ||
|  | d3a607f889 | ||
|  | 00e41e007e | ||
|  | 6624845a5d | ||
|  | c9c54180e4 | ||
|  | 93e77b0028 | ||
|  | 0c9e8e6c6e | ||
|  | c50477c255 | ||
|  | 3bf13656d3 | ||
|  | fa4083d38b | ||
|  | d311ded31d | ||
|  | 34f0207161 | ||
|  | 8d3f629a13 | ||
|  | b98ef495d4 | ||
|  | 21c91b410a | ||
|  | a8f3b3f88a | ||
|  | e8a8c5e339 | ||
|  | 7941d31ee6 | ||
|  | 842351dd76 | ||
|  | d74929702f | ||
|  | 1e431f0454 | ||
|  | 4cc8d1d79f | ||
|  | 3d2bc6848a | ||
|  | d5327538e7 | ||
|  | 86ac140937 | ||
|  | b584e780ab | ||
|  | 981e8a2087 | ||
|  | 72d380b363 | ||
|  | cf8af9bcf1 | ||
|  | 7123f3d77a | ||
|  | 2edb1b9534 | ||
|  | 69334d6784 | ||
|  | 61482ddc1c | ||
|  | b0e84e22d5 | ||
|  | c0e8d443fe | ||
|  | b95d4cd680 | ||
|  | 293f4d51b4 | ||
|  | f0e99179bc | ||
|  | 69a94e1452 | ||
|  | bc7e12e5e3 | ||
|  | 7accf8ced6 | ||
|  | 52d83efdbc | ||
|  | 1702db3a35 | ||
|  | fa6eee135e | ||
|  | b5fa760972 | ||
|  | 69cf45cdae | ||
|  | f5ffbe0bc3 | ||
|  | 46d8ca023d | ||
|  | 9bef69782d | ||
|  | b0e5dcb859 | ||
|  | bcd561c667 | ||
|  | c98eced9ae | ||
|  | 13cbb5fff6 | ||
|  | dd8d78c908 | ||
|  | 9d17ad2891 | ||
|  | d437d905e6 | ||
|  | 551c96979e | ||
|  | c1a4f249f1 | ||
|  | 18ff85e91d | ||
|  | 12617c7e30 | ||
|  | 5dbf44953c | ||
|  | a51d638ff3 | ||
|  | 770945cff4 | ||
|  | eaa4066bfc | ||
|  | 46cf606cd3 | ||
|  | a69a7b9688 | ||
|  | eb7590a0d9 | ||
|  | 86870a691c | ||
|  | 7c34c237a2 | ||
|  | 13cd4298fb | ||
|  | 3b724f91c5 | ||
|  | 2077f375c7 | ||
|  | 055265b0a3 | ||
|  | 3094adb3ca | ||
|  | 7c7247ddbf | ||
|  | af2023e31c | ||
|  | 2eedbc94c2 | ||
|  | 672f6bb545 | ||
|  | ab6bcef99a | ||
|  | c5a4cfb03f | ||
|  | df944efdbf | ||
|  | 1ff9cd5079 | ||
|  | 4a2b54cbdb | ||
|  | 6bd6a15ab3 | ||
|  | c1a5c9bb4c | ||
|  | b3c7dc6ff2 | ||
|  | a1025ec041 | ||
|  | 3a4068474c | ||
|  | 1ae976be4a | ||
|  | b685927156 | ||
|  | df0c8d029d | ||
|  | 3477dc4c48 | ||
|  | 0426bccadd | ||
|  | 841333cd21 | ||
|  | e541dceb67 | ||
|  | fea7a70a1a | ||
|  | 426f607aaa | ||
|  | 408f32dc16 | ||
|  | 94028edfc5 | ||
|  | 7fec5f88a5 | ||
|  | 67007670bb | ||
|  | e8865f199d | ||
|  | 2d3262d47d | ||
|  | 3470d821ba | ||
|  | 0371956d66 | ||
|  | 45c4addea7 | ||
|  | 1eba0eb37d | ||
|  | d87fb5e003 | ||
|  | 4be7922a8e | ||
|  | a1cac0732b | ||
|  | fb32e0fcc5 | ||
|  | 9564a6fa13 | ||
|  | 0b9990b2fd | ||
|  | 8ce99c85e7 | ||
|  | a2c402ba53 | ||
|  | 1ceb906c12 | ||
|  | fb1fe8e76f | ||
|  | f8b05566aa | ||
|  | a6148b8eba | ||
|  | 64be837b0b | ||
|  | e070c1d183 | ||
|  | e6ee4b49c4 | ||
|  | e65029e9b3 | ||
|  | 3ca6cb3440 | ||
|  | 34b36277b7 | ||
|  | c8ea0212fe | ||
|  | 7d6cbcdd9a | ||
|  | 9d9c1f17dc | ||
|  | f1afb352da | ||
|  | e4c3abbf55 | ||
|  | 141b5775c0 | ||
|  | c0d5f1d3ad | ||
|  | 70947e531e | ||
|  | 7b92cb45b2 | ||
|  | 43e4b58422 | ||
|  | e0d01c9d7f | ||
|  | b90b3667a1 | ||
|  | 0123a2d042 | ||
|  | 51a2cc5499 | ||
|  | f5145a6ec3 | ||
|  | ddedfe12d4 | ||
|  | cb5447f79c | ||
|  | 9fd3c74724 | ||
|  | 4d1234e222 | ||
|  | 3cba779e16 | ||
|  | 23eda89ec8 | ||
|  | 6e68898b05 | ||
|  | 1befcd5a2a | ||
|  | 12ba355978 | ||
|  | a0907a645f | ||
|  | 1acf7a09e7 | ||
|  | 14dc02a1b2 | ||
|  | 88cf87bd56 | ||
|  | 31b3420688 | ||
|  | 4e95983fa8 | ||
|  | 4e506eac8f | ||
|  | 46167149ce | ||
|  | 96ec4eb755 | ||
|  | e20547042c | ||
|  | 0451d0fd01 | ||
|  | aa8b23e077 | ||
|  | 4eb48a3af7 | ||
|  | 8db8adfd01 | ||
|  | 8e240d7e0e | ||
|  | 40298bf272 | ||
|  | a0518e66b2 | ||
|  | 82c76cd16f | ||
|  | 50e890bc51 | ||
|  | bba9557019 | ||
|  | 2041d3e4b7 | ||
|  | 77b7b3a1ab | ||
|  | 0dab80fbfb | ||
|  | e3257912e0 | ||
|  | 15fe491822 | ||
|  | ac597f5acc | ||
|  | 5cb255f0d7 | ||
|  | 2f28ca0a27 | ||
|  | 0580e488da | ||
|  | 5435f790fd | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -4,7 +4,6 @@ | ||||
| *.ilk | ||||
| *.o | ||||
| *.obj | ||||
| *.os | ||||
| *.pc | ||||
| *.pdb | ||||
| *.pyc | ||||
| @@ -25,4 +24,3 @@ cscope* | ||||
| .scon* | ||||
| config.py | ||||
| build | ||||
| .dir-locals.el | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| ifneq ($(TARGET_SIMULATOR),true) | ||||
| include $(call all-subdir-makefiles) | ||||
| endif | ||||
							
								
								
									
										291
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										291
									
								
								Makefile
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| TOP = . | ||||
|  | ||||
| SUBDIRS = src | ||||
| SUBDIRS = src progs | ||||
|  | ||||
|  | ||||
| default: $(TOP)/configs/current | ||||
| @@ -48,7 +48,7 @@ install: | ||||
| 	done | ||||
|  | ||||
|  | ||||
| .PHONY: default doxygen clean realclean distclean install | ||||
| .PHONY: default doxygen clean realclean distclean install linux-directfb-install | ||||
|  | ||||
| # If there's no current configuration file | ||||
| $(TOP)/configs/current: | ||||
| @@ -80,6 +80,8 @@ catamount-osmesa-pgi \ | ||||
| darwin \ | ||||
| darwin-fat-32bit \ | ||||
| darwin-fat-all \ | ||||
| darwin-static \ | ||||
| darwin-static-x86ppc \ | ||||
| freebsd \ | ||||
| freebsd-dri \ | ||||
| freebsd-dri-amd64 \ | ||||
| @@ -103,12 +105,12 @@ irix6-n32-static \ | ||||
| irix6-o32 \ | ||||
| irix6-o32-static \ | ||||
| linux \ | ||||
| linux-i965 \ | ||||
| linux-alpha \ | ||||
| linux-alpha-static \ | ||||
| linux-cell \ | ||||
| linux-cell-debug \ | ||||
| linux-debug \ | ||||
| linux-directfb \ | ||||
| linux-dri \ | ||||
| linux-dri-debug \ | ||||
| linux-dri-x86 \ | ||||
| @@ -118,13 +120,12 @@ linux-dri-xcb \ | ||||
| linux-egl \ | ||||
| linux-indirect \ | ||||
| linux-fbdev \ | ||||
| linux-glide \ | ||||
| linux-ia64-icc \ | ||||
| linux-ia64-icc-static \ | ||||
| linux-icc \ | ||||
| linux-icc-static \ | ||||
| linux-llvm \ | ||||
| linux-llvm-debug \ | ||||
| linux-opengl-es \ | ||||
| linux-osmesa \ | ||||
| linux-osmesa-static \ | ||||
| linux-osmesa16 \ | ||||
| @@ -133,6 +134,9 @@ linux-osmesa32 \ | ||||
| linux-ppc \ | ||||
| linux-ppc-static \ | ||||
| linux-profile \ | ||||
| linux-solo \ | ||||
| linux-solo-x86 \ | ||||
| linux-solo-ia64 \ | ||||
| linux-sparc \ | ||||
| linux-sparc5 \ | ||||
| linux-static \ | ||||
| @@ -145,6 +149,7 @@ linux-x86-64 \ | ||||
| linux-x86-64-debug \ | ||||
| linux-x86-64-profile \ | ||||
| linux-x86-64-static \ | ||||
| linux-x86-glide \ | ||||
| linux-x86-profile \ | ||||
| linux-x86-static \ | ||||
| netbsd \ | ||||
| @@ -167,30 +172,22 @@ sunos5-v9 \ | ||||
| sunos5-v9-static \ | ||||
| sunos5-v9-cc-g++ \ | ||||
| ultrix-gcc: | ||||
| 	@ if test -f configs/current -o -L configs/current; then \ | ||||
| 		if ! cmp configs/$@ configs/current > /dev/null; then \ | ||||
| 			echo "Please run 'make realclean' before changing configs" ; \ | ||||
| 			exit 1 ; \ | ||||
| 		fi ; \ | ||||
| 	else \ | ||||
| 		cd configs && rm -f current && ln -s $@ current ; \ | ||||
| 	@ if test -f configs/current || test -L configs/current ; then \ | ||||
| 		echo "Please run 'make realclean' before changing configs" ; \ | ||||
| 		exit 1 ; \ | ||||
| 	fi | ||||
| 	(cd configs && rm -f current && ln -s $@ current) | ||||
| 	$(MAKE) default | ||||
|  | ||||
|  | ||||
| # Rules for making release tarballs | ||||
|  | ||||
| VERSION=7.11-devel | ||||
| VERSION=7.7.1-rc2 | ||||
| DIRECTORY = Mesa-$(VERSION) | ||||
| LIB_NAME = MesaLib-$(VERSION) | ||||
| DEMO_NAME = MesaDemos-$(VERSION) | ||||
| GLUT_NAME = MesaGLUT-$(VERSION) | ||||
|  | ||||
| # This is part of MAIN_FILES | ||||
| MAIN_ES_FILES = \ | ||||
| 	$(DIRECTORY)/src/mesa/main/*.xml				\ | ||||
| 	$(DIRECTORY)/src/mesa/main/*.py					\ | ||||
| 	$(DIRECTORY)/src/mesa/main/*.dtd | ||||
|  | ||||
| MAIN_FILES = \ | ||||
| 	$(DIRECTORY)/Makefile*						\ | ||||
| 	$(DIRECTORY)/configure						\ | ||||
| @@ -209,6 +206,9 @@ MAIN_FILES = \ | ||||
| 	$(DIRECTORY)/docs/README.*					\ | ||||
| 	$(DIRECTORY)/docs/RELNOTES*					\ | ||||
| 	$(DIRECTORY)/docs/*.spec					\ | ||||
| 	$(DIRECTORY)/include/GL/internal/glcore.h			\ | ||||
| 	$(DIRECTORY)/include/GL/dmesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/ggimesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/gl.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glext.h					\ | ||||
| 	$(DIRECTORY)/include/GL/gl_mangle.h				\ | ||||
| @@ -219,19 +219,12 @@ MAIN_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/glx_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glfbdev.h				\ | ||||
| 	$(DIRECTORY)/include/GL/mesa_wgl.h				\ | ||||
| 	$(DIRECTORY)/include/GL/mglmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/osmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/svgamesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/vms_x_fix.h				\ | ||||
| 	$(DIRECTORY)/include/GL/wglext.h				\ | ||||
| 	$(DIRECTORY)/include/GL/wmesa.h					\ | ||||
| 	$(DIRECTORY)/src/glsl/Makefile					\ | ||||
| 	$(DIRECTORY)/src/glsl/Makefile.template				\ | ||||
| 	$(DIRECTORY)/src/glsl/SConscript				\ | ||||
| 	$(DIRECTORY)/src/glsl/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/glsl/*.[cly]pp					\ | ||||
| 	$(DIRECTORY)/src/glsl/README					\ | ||||
| 	$(DIRECTORY)/src/glsl/glcpp/*.[chly]				\ | ||||
| 	$(DIRECTORY)/src/glsl/glcpp/README				\ | ||||
| 	$(DIRECTORY)/src/glsl/builtins					\ | ||||
| 	$(DIRECTORY)/src/Makefile					\ | ||||
| 	$(DIRECTORY)/src/mesa/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/mesa/sources.mak				\ | ||||
| @@ -239,15 +232,21 @@ MAIN_FILES = \ | ||||
| 	$(DIRECTORY)/src/mesa/gl.pc.in					\ | ||||
| 	$(DIRECTORY)/src/mesa/osmesa.pc.in				\ | ||||
| 	$(DIRECTORY)/src/mesa/depend					\ | ||||
| 	$(MAIN_ES_FILES)						\ | ||||
| 	$(DIRECTORY)/src/mesa/main/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/main/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/glapi/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/math/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/math/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src/mesa/program/*.[chly]				\ | ||||
| 	$(DIRECTORY)/src/mesa/program/*.cpp				\ | ||||
| 	$(DIRECTORY)/src/mesa/program/Makefile				\ | ||||
| 	$(DIRECTORY)/src/mesa/program/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/*.[chly]				\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/Makefile				\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/grammar/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/slang/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/slang/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/slang/library/*.gc			\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/slang/library/*.syn		\ | ||||
| 	$(DIRECTORY)/src/mesa/shader/slang/library/Makefile		\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/swrast_setup/*.[ch]			\ | ||||
| @@ -264,18 +263,32 @@ MAIN_FILES = \ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/beos/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/common/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/common/descrip.mms		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/directfb/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dos/*.[chS]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/glide/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in	\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/display/*.c			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/svga/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/windows/*/*.def			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/x11/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/x11/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/glslcompiler/Makefile		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/glslcompiler/glslcompiler.c	\ | ||||
| 	$(DIRECTORY)/src/mesa/ppc/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/sparc/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/x86/Makefile				\ | ||||
| @@ -283,81 +296,62 @@ MAIN_FILES = \ | ||||
| 	$(DIRECTORY)/src/mesa/x86/*.S					\ | ||||
| 	$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mesa/x86-64/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mesa/x86-64/Makefile | ||||
|  | ||||
| MAPI_FILES = \ | ||||
| 	$(DIRECTORY)/include/GLES/*.h					\ | ||||
| 	$(DIRECTORY)/include/GLES2/*.h					\ | ||||
| 	$(DIRECTORY)/include/VG/*.h					\ | ||||
| 	$(DIRECTORY)/src/mapi/es?api/Makefile				\ | ||||
| 	$(DIRECTORY)/src/mapi/es?api/*.pc.in				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen/*.xml				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen/*.py				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen/*.dtd				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen-es/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen-es/*.xml			\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/gen-es/*.py				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/Makefile				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/SConscript				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/sources.mak				\ | ||||
| 	$(DIRECTORY)/src/mapi/glapi/*.[chS]				\ | ||||
| 	$(DIRECTORY)/src/mapi/mapi/mapi_abi.py				\ | ||||
| 	$(DIRECTORY)/src/mapi/mapi/sources.mak				\ | ||||
| 	$(DIRECTORY)/src/mapi/mapi/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/mapi/vgapi/Makefile				\ | ||||
| 	$(DIRECTORY)/src/mapi/vgapi/vgapi.csv				\ | ||||
| 	$(DIRECTORY)/src/mapi/vgapi/vg.pc.in | ||||
| 	$(DIRECTORY)/src/mesa/x86-64/Makefile				\ | ||||
| 	$(DIRECTORY)/progs/Makefile					\ | ||||
| 	$(DIRECTORY)/progs/util/README					\ | ||||
| 	$(DIRECTORY)/progs/util/*.[ch]					\ | ||||
| 	$(DIRECTORY)/progs/util/sampleMakefile				\ | ||||
| 	$(DIRECTORY)/windows/VC8/ | ||||
|  | ||||
| EGL_FILES = \ | ||||
| 	$(DIRECTORY)/include/KHR/*.h					\ | ||||
| 	$(DIRECTORY)/include/EGL/*.h					\ | ||||
| 	$(DIRECTORY)/include/GLES/*.h					\ | ||||
| 	$(DIRECTORY)/include/GLES2/*.h					\ | ||||
| 	$(DIRECTORY)/src/egl/Makefile					\ | ||||
| 	$(DIRECTORY)/src/egl/*/Makefile					\ | ||||
| 	$(DIRECTORY)/src/egl/*/Makefile.template			\ | ||||
| 	$(DIRECTORY)/src/egl/*/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/egl/*/*/Makefile				\ | ||||
| 	$(DIRECTORY)/src/egl/*/*/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/egl/main/*.pc.in				\ | ||||
| 	$(DIRECTORY)/src/egl/main/*.def | ||||
|  | ||||
| GALLIUM_FILES = \ | ||||
| 	$(DIRECTORY)/src/mesa/state_tracker/*[ch]			\ | ||||
| 	$(DIRECTORY)/src/gallium/Makefile				\ | ||||
| 	$(DIRECTORY)/src/gallium/Makefile.template			\ | ||||
| 	$(DIRECTORY)/src/gallium/SConscript				\ | ||||
| 	$(DIRECTORY)/src/gallium/targets/Makefile.dri			\ | ||||
| 	$(DIRECTORY)/src/gallium/targets/Makefile.xorg			\ | ||||
| 	$(DIRECTORY)/src/gallium/targets/SConscript.dri			\ | ||||
| 	$(DIRECTORY)/src/gallium/*/Makefile				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/SConscript				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/Makefile				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/Makefile.template			\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/SConscript				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/gallium/auxiliary/gallivm/*.cpp		\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*.py				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*.csv				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/Makefile				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/SConscript			\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/*.py | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/*.py				\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/*/Makefile			\ | ||||
| 	$(DIRECTORY)/src/gallium/*/*/*/*/*.[ch]				\ | ||||
|  | ||||
|  | ||||
| DRI_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/internal/dri_interface.h		\ | ||||
| 	$(DIRECTORY)/include/GL/internal/glcore.h			\ | ||||
| 	$(DIRECTORY)/include/GL/internal/sarea.h			\ | ||||
| 	$(DIRECTORY)/src/glx/Makefile					\ | ||||
| 	$(DIRECTORY)/src/glx/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/glx/x11/Makefile				\ | ||||
| 	$(DIRECTORY)/src/glx/x11/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po		\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/*.cpp			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/*/*.[chS]			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/*/Makefile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile			\ | ||||
| 	$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch] | ||||
|  | ||||
| SGI_GLU_FILES = \ | ||||
| 	$(DIRECTORY)/src/glu/Makefile					\ | ||||
| @@ -382,6 +376,15 @@ SGI_GLU_FILES = \ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libtess/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/glu/sgi/libutil/*.[ch] | ||||
|  | ||||
| MESA_GLU_FILES = \ | ||||
| 	$(DIRECTORY)/src/glu/mesa/README[12]		\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/Makefile*		\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/descrip.mms		\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/mms_depend		\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/*.def			\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/depend		\ | ||||
| 	$(DIRECTORY)/src/glu/mesa/*.[ch] | ||||
|  | ||||
| GLW_FILES = \ | ||||
| 	$(DIRECTORY)/src/glw/*.[ch]			\ | ||||
| 	$(DIRECTORY)/src/glw/Makefile*			\ | ||||
| @@ -389,6 +392,55 @@ GLW_FILES = \ | ||||
| 	$(DIRECTORY)/src/glw/glw.pc.in			\ | ||||
| 	$(DIRECTORY)/src/glw/depend | ||||
|  | ||||
| GLEW_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/glew.h			\ | ||||
| 	$(DIRECTORY)/include/GL/glxew.h			\ | ||||
| 	$(DIRECTORY)/include/GL/wglew.h			\ | ||||
| 	$(DIRECTORY)/src/glew/*.c			\ | ||||
| 	$(DIRECTORY)/src/glew/Makefile			\ | ||||
| 	$(DIRECTORY)/src/glew/SConscript		\ | ||||
| 	$(DIRECTORY)/src/glew/LICENSE.txt | ||||
|  | ||||
| DEMO_FILES = \ | ||||
| 	$(GLEW_FILES)					\ | ||||
| 	$(DIRECTORY)/progs/beos/*.cpp			\ | ||||
| 	$(DIRECTORY)/progs/beos/Makefile		\ | ||||
| 	$(DIRECTORY)/progs/images/*.rgb			\ | ||||
| 	$(DIRECTORY)/progs/images/*.rgba		\ | ||||
| 	$(DIRECTORY)/progs/demos/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/demos/descrip.mms		\ | ||||
| 	$(DIRECTORY)/progs/demos/*.[ch]			\ | ||||
| 	$(DIRECTORY)/progs/demos/*.cxx			\ | ||||
| 	$(DIRECTORY)/progs/demos/*.dat			\ | ||||
| 	$(DIRECTORY)/progs/demos/README			\ | ||||
| 	$(DIRECTORY)/progs/fbdev/Makefile		\ | ||||
| 	$(DIRECTORY)/progs/fbdev/glfbdevtest.c		\ | ||||
| 	$(DIRECTORY)/progs/objviewer/*.[ch]		\ | ||||
| 	$(DIRECTORY)/progs/objviewer/*.obj		\ | ||||
| 	$(DIRECTORY)/progs/objviewer/*.mtl		\ | ||||
| 	$(DIRECTORY)/progs/objviewer/*.rgb		\ | ||||
| 	$(DIRECTORY)/progs/objviewer/Makefile		\ | ||||
| 	$(DIRECTORY)/progs/objviewer/README.txt		\ | ||||
| 	$(DIRECTORY)/progs/osdemos/Makefile		\ | ||||
| 	$(DIRECTORY)/progs/osdemos/*.c			\ | ||||
| 	$(DIRECTORY)/progs/xdemos/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/xdemos/*.[chf]		\ | ||||
| 	$(DIRECTORY)/progs/redbook/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/redbook/README		\ | ||||
| 	$(DIRECTORY)/progs/redbook/*.[ch]		\ | ||||
| 	$(DIRECTORY)/progs/samples/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/samples/README		\ | ||||
| 	$(DIRECTORY)/progs/samples/*.c			\ | ||||
| 	$(DIRECTORY)/progs/glsl/Makefile*		\ | ||||
| 	$(DIRECTORY)/progs/glsl/*.c			\ | ||||
| 	$(DIRECTORY)/progs/glsl/*.frag			\ | ||||
| 	$(DIRECTORY)/progs/glsl/*.vert			\ | ||||
| 	$(DIRECTORY)/progs/glsl/*.shtest		\ | ||||
| 	$(DIRECTORY)/progs/windml/Makefile.ugl		\ | ||||
| 	$(DIRECTORY)/progs/windml/*.c			\ | ||||
| 	$(DIRECTORY)/progs/windml/*.bmp			\ | ||||
| 	$(DIRECTORY)/progs/ggi/*.c | ||||
|  | ||||
| GLUT_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/glut.h			\ | ||||
| 	$(DIRECTORY)/include/GL/glutf90.h		\ | ||||
| @@ -399,11 +451,22 @@ GLUT_FILES = \ | ||||
| 	$(DIRECTORY)/src/glut/glx/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/beos/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/beos/*.cpp		\ | ||||
| 	$(DIRECTORY)/src/glut/beos/Makefile | ||||
| 	$(DIRECTORY)/src/glut/beos/Makefile		\ | ||||
| 	$(DIRECTORY)/src/glut/dos/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS]		\ | ||||
| 	$(DIRECTORY)/src/glut/ggi/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/ggi/Makefile		\ | ||||
| 	$(DIRECTORY)/src/glut/fbdev/Makefile		\ | ||||
| 	$(DIRECTORY)/src/glut/fbdev/*[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/mini/*[ch]		\ | ||||
| 	$(DIRECTORY)/src/glut/mini/glut.pc.in		\ | ||||
| 	$(DIRECTORY)/src/glut/directfb/Makefile		\ | ||||
| 	$(DIRECTORY)/src/glut/directfb/NOTES		\ | ||||
| 	$(DIRECTORY)/src/glut/directfb/*[ch] | ||||
|  | ||||
| DEPEND_FILES = \ | ||||
| 	$(TOP)/src/mesa/depend		\ | ||||
| 	$(TOP)/src/glx/depend		\ | ||||
| 	$(TOP)/src/glx/x11/depend	\ | ||||
| 	$(TOP)/src/glw/depend		\ | ||||
| 	$(TOP)/src/glut/glx/depend	\ | ||||
| 	$(TOP)/src/glu/sgi/depend | ||||
| @@ -411,8 +474,6 @@ DEPEND_FILES = \ | ||||
|  | ||||
| LIB_FILES = \ | ||||
| 	$(MAIN_FILES)		\ | ||||
| 	$(MAPI_FILES)		\ | ||||
| 	$(ES_FILES)		\ | ||||
| 	$(EGL_FILES)		\ | ||||
| 	$(GALLIUM_FILES)	\ | ||||
| 	$(DRI_FILES)		\ | ||||
| @@ -420,22 +481,10 @@ LIB_FILES = \ | ||||
| 	$(GLW_FILES) | ||||
|  | ||||
|  | ||||
| parsers: configure | ||||
| 	-@touch $(TOP)/configs/current | ||||
| 	$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp | ||||
| 	$(MAKE) -C src/glsl/glcpp glcpp-lex.c glcpp-parse.c glcpp-parse.h | ||||
| 	$(MAKE) -C src/mesa/program lex.yy.c program_parse.tab.c program_parse.tab.h | ||||
|  | ||||
| # Everything for new a Mesa release: | ||||
| ARCHIVES = $(LIB_NAME).tar.gz \ | ||||
| 	$(LIB_NAME).tar.bz2 \ | ||||
| 	$(LIB_NAME).zip \ | ||||
| 	$(GLUT_NAME).tar.gz \ | ||||
| 	$(GLUT_NAME).tar.bz2 \ | ||||
| 	$(GLUT_NAME).zip | ||||
| tarballs: rm_depend configure aclocal.m4 lib_gz demo_gz glut_gz \ | ||||
| 	lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5 | ||||
|  | ||||
| tarballs: md5 | ||||
| 	rm -f ../$(LIB_NAME).tar | ||||
|  | ||||
| # Helper for autoconf builds | ||||
| ACLOCAL = aclocal | ||||
| @@ -444,7 +493,7 @@ AUTOCONF = autoconf | ||||
| AC_FLAGS = | ||||
| aclocal.m4: configure.ac acinclude.m4 | ||||
| 	$(ACLOCAL) $(ACLOCAL_FLAGS) | ||||
| configure: rm_depend configure.ac aclocal.m4 acinclude.m4 | ||||
| configure: configure.ac aclocal.m4 acinclude.m4 | ||||
| 	$(AUTOCONF) $(AC_FLAGS) | ||||
|  | ||||
| rm_depend: | ||||
| @@ -453,46 +502,76 @@ rm_depend: | ||||
| 		touch $$dep ; \ | ||||
| 	done | ||||
|  | ||||
| rm_config: parsers | ||||
| rm_config: | ||||
| 	rm -f configs/current | ||||
| 	rm -f configs/autoconf | ||||
|  | ||||
| $(LIB_NAME).tar: rm_config | ||||
| 	cd .. ; tar -cf $(DIRECTORY)/$(LIB_NAME).tar $(LIB_FILES) | ||||
| lib_gz: rm_config | ||||
| 	cd .. ; \ | ||||
| 	tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \ | ||||
| 	gzip $(LIB_NAME).tar ; \ | ||||
| 	mv $(LIB_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| $(LIB_NAME).tar.gz: $(LIB_NAME).tar | ||||
| 	gzip --stdout --best $(LIB_NAME).tar > $(LIB_NAME).tar.gz | ||||
| demo_gz: | ||||
| 	cd .. ; \ | ||||
| 	tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \ | ||||
| 	gzip $(DEMO_NAME).tar ; \ | ||||
| 	mv $(DEMO_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| $(GLUT_NAME).tar: rm_depend | ||||
| 	cd .. ; tar -cf $(DIRECTORY)/$(GLUT_NAME).tar $(GLUT_FILES) | ||||
| glut_gz: | ||||
| 	cd .. ; \ | ||||
| 	tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \ | ||||
| 	gzip $(GLUT_NAME).tar ; \ | ||||
| 	mv $(GLUT_NAME).tar.gz $(DIRECTORY) | ||||
|  | ||||
| $(GLUT_NAME).tar.gz: $(GLUT_NAME).tar | ||||
| 	gzip --stdout --best $(GLUT_NAME).tar > $(GLUT_NAME).tar.gz | ||||
| lib_bz2: rm_config | ||||
| 	cd .. ; \ | ||||
| 	tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \ | ||||
| 	bzip2 $(LIB_NAME).tar ; \ | ||||
| 	mv $(LIB_NAME).tar.bz2 $(DIRECTORY) | ||||
|  | ||||
| $(LIB_NAME).tar.bz2: $(LIB_NAME).tar | ||||
| 	bzip2 --stdout --best $(LIB_NAME).tar > $(LIB_NAME).tar.bz2 | ||||
| demo_bz2: | ||||
| 	cd .. ; \ | ||||
| 	tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \ | ||||
| 	bzip2 $(DEMO_NAME).tar ; \ | ||||
| 	mv $(DEMO_NAME).tar.bz2 $(DIRECTORY) | ||||
|  | ||||
| $(GLUT_NAME).tar.bz2: $(GLUT_NAME).tar | ||||
| 	bzip2 --stdout --best $(GLUT_NAME).tar > $(GLUT_NAME).tar.bz2 | ||||
| glut_bz2: | ||||
| 	cd .. ; \ | ||||
| 	tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \ | ||||
| 	bzip2 $(GLUT_NAME).tar ; \ | ||||
| 	mv $(GLUT_NAME).tar.bz2 $(DIRECTORY) | ||||
|  | ||||
| $(LIB_NAME).zip: rm_config | ||||
| lib_zip: rm_config | ||||
| 	rm -f $(LIB_NAME).zip ; \ | ||||
| 	cd .. ; \ | ||||
| 	zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \ | ||||
| 	mv $(LIB_NAME).zip $(DIRECTORY) | ||||
|  | ||||
| $(GLUT_NAME).zip: | ||||
| demo_zip: | ||||
| 	rm -f $(DEMO_NAME).zip ; \ | ||||
| 	cd .. ; \ | ||||
| 	zip -qr $(DEMO_NAME).zip $(DEMO_FILES) ; \ | ||||
| 	mv $(DEMO_NAME).zip $(DIRECTORY) | ||||
|  | ||||
| glut_zip: | ||||
| 	rm -f $(GLUT_NAME).zip ; \ | ||||
| 	cd .. ; \ | ||||
| 	zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \ | ||||
| 	mv $(GLUT_NAME).zip $(DIRECTORY) | ||||
|  | ||||
| md5: $(ARCHIVES) | ||||
| md5: | ||||
| 	@-md5sum $(LIB_NAME).tar.gz | ||||
| 	@-md5sum $(LIB_NAME).tar.bz2 | ||||
| 	@-md5sum $(LIB_NAME).zip | ||||
| 	@-md5sum $(DEMO_NAME).tar.gz | ||||
| 	@-md5sum $(DEMO_NAME).tar.bz2 | ||||
| 	@-md5sum $(DEMO_NAME).zip | ||||
| 	@-md5sum $(GLUT_NAME).tar.gz | ||||
| 	@-md5sum $(GLUT_NAME).tar.bz2 | ||||
| 	@-md5sum $(GLUT_NAME).zip | ||||
|  | ||||
| .PHONY: tarballs rm_depend rm_config md5 | ||||
| .PHONY: tarballs rm_depend rm_config md5 \ | ||||
| 	lib_gz demo_gz glut_gz \ | ||||
| 	lib_bz2 demo_bz2 glut_bz2 \ | ||||
| 	lib_zip demo_zip glut_zip | ||||
|   | ||||
							
								
								
									
										176
									
								
								SConstruct
									
									
									
									
									
								
							
							
						
						
									
										176
									
								
								SConstruct
									
									
									
									
									
								
							| @@ -3,14 +3,14 @@ | ||||
| # | ||||
| # For example, invoke scons as  | ||||
| # | ||||
| #   scons build=debug llvm=yes machine=x86 | ||||
| #   scons debug=1 dri=0 machine=x86 | ||||
| # | ||||
| # to set configuration variables. Or you can write those options to a file | ||||
| # named config.py: | ||||
| # | ||||
| #   # config.py | ||||
| #   build='debug' | ||||
| #   llvm=True | ||||
| #   debug=1 | ||||
| #   dri=0 | ||||
| #   machine='x86' | ||||
| #  | ||||
| # Invoke | ||||
| @@ -23,15 +23,34 @@ | ||||
| import os | ||||
| import os.path | ||||
| import sys | ||||
| import SCons.Util | ||||
|  | ||||
| import common | ||||
|  | ||||
| ####################################################################### | ||||
| # Configuration options | ||||
|  | ||||
| default_statetrackers = 'mesa' | ||||
|  | ||||
| if common.default_platform in ('linux', 'freebsd', 'darwin'): | ||||
| 	default_drivers = 'softpipe,failover,svga,i915,trace,identity,llvmpipe' | ||||
| 	default_winsys = 'xlib' | ||||
| elif common.default_platform in ('winddk',): | ||||
| 	default_drivers = 'softpipe,svga,i915,trace,identity' | ||||
| 	default_winsys = 'all' | ||||
| else: | ||||
| 	default_drivers = 'all' | ||||
| 	default_winsys = 'all' | ||||
|  | ||||
| opts = Variables('config.py') | ||||
| common.AddOptions(opts) | ||||
| opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statetrackers, | ||||
|                      ['mesa', 'python', 'xorg'])) | ||||
| opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers, | ||||
|                      ['softpipe', 'failover', 'svga', 'i915', 'cell', 'trace', 'r300', 'identity', 'llvmpipe'])) | ||||
| opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys, | ||||
|                      ['xlib', 'vmware', 'intel', 'gdi', 'radeon'])) | ||||
|  | ||||
| opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) | ||||
|  | ||||
| env = Environment( | ||||
| 	options = opts, | ||||
| @@ -40,48 +59,47 @@ env = Environment( | ||||
| 	ENV = os.environ, | ||||
| ) | ||||
|  | ||||
| # Backwards compatability with old target configuration variable | ||||
| try: | ||||
|     targets = ARGUMENTS['targets'] | ||||
| except KeyError: | ||||
|     pass | ||||
| else: | ||||
|     targets = targets.split(',') | ||||
|     print 'scons: warning: targets option is deprecated; pass the targets on their own such as' | ||||
|     print | ||||
|     print '  scons %s' % ' '.join(targets) | ||||
|     print  | ||||
|     COMMAND_LINE_TARGETS.append(targets) | ||||
|  | ||||
|  | ||||
| Help(opts.GenerateHelpText(env)) | ||||
|  | ||||
| # fail early for a common error on windows | ||||
| if env['gles']: | ||||
|     try: | ||||
|         import libxml2 | ||||
|     except ImportError: | ||||
|         raise SCons.Errors.UserError, "GLES requires libxml2-python to build" | ||||
| # replicate options values in local variables | ||||
| debug = env['debug'] | ||||
| dri = env['dri'] | ||||
| llvm = env['llvm'] | ||||
| machine = env['machine'] | ||||
| platform = env['platform'] | ||||
|  | ||||
| # derived options | ||||
| x86 = machine == 'x86' | ||||
| ppc = machine == 'ppc' | ||||
| gcc = platform in ('linux', 'freebsd', 'darwin') | ||||
| msvc = platform in ('windows', 'winddk') | ||||
|  | ||||
| Export([ | ||||
| 	'debug',  | ||||
| 	'x86',  | ||||
| 	'ppc',  | ||||
| 	'dri',  | ||||
| 	'llvm', | ||||
| 	'platform', | ||||
| 	'gcc', | ||||
| 	'msvc', | ||||
| ]) | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| # Environment setup | ||||
|  | ||||
| # Includes | ||||
| env.Prepend(CPPPATH = [ | ||||
| 	'#/include', | ||||
| ]) | ||||
| env.Append(CPPPATH = [ | ||||
| 	'#/include', | ||||
| 	'#/src/gallium/include', | ||||
| 	'#/src/gallium/auxiliary', | ||||
| 	'#/src/gallium/drivers', | ||||
| 	'#/src/gallium/winsys', | ||||
| ]) | ||||
|  | ||||
| if env['msvc']: | ||||
|     env.Append(CPPPATH = ['#include/c99']) | ||||
|  | ||||
| # Embedded | ||||
| if env['platform'] == 'embedded': | ||||
| # Posix | ||||
| if platform in ('posix', 'linux', 'freebsd', 'darwin'): | ||||
| 	env.Append(CPPDEFINES = [ | ||||
| 		'_POSIX_SOURCE', | ||||
| 		('_POSIX_C_SOURCE', '199309L'),  | ||||
| @@ -90,83 +108,54 @@ if env['platform'] == 'embedded': | ||||
| 		'_GNU_SOURCE', | ||||
| 		 | ||||
| 		'PTHREADS', | ||||
| 		'HAVE_POSIX_MEMALIGN', | ||||
| 	]) | ||||
| 	if platform == 'darwin': | ||||
| 		env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE']) | ||||
| 	env.Append(CPPPATH = ['/usr/X11R6/include']) | ||||
| 	env.Append(LIBPATH = ['/usr/X11R6/lib']) | ||||
| 	env.Append(LIBS = [ | ||||
| 		'm', | ||||
| 		'pthread', | ||||
| 		'expat', | ||||
| 		'dl', | ||||
| 	]) | ||||
|  | ||||
| # Posix | ||||
| if env['platform'] in ('posix', 'linux', 'freebsd', 'darwin'): | ||||
|  | ||||
| # DRI | ||||
| if dri: | ||||
| 	env.ParseConfig('pkg-config --cflags --libs libdrm') | ||||
| 	env.Append(CPPDEFINES = [ | ||||
| 		'_POSIX_SOURCE', | ||||
| 		('_POSIX_C_SOURCE', '199309L'),  | ||||
| 		'_SVID_SOURCE', | ||||
| 		'_BSD_SOURCE',  | ||||
| 		'_GNU_SOURCE', | ||||
| 		'PTHREADS', | ||||
| 		'HAVE_POSIX_MEMALIGN', | ||||
| 		('USE_EXTERNAL_DXTN_LIB', '1'),  | ||||
| 		'IN_DRI_DRIVER', | ||||
| 		'GLX_DIRECT_RENDERING', | ||||
| 		'GLX_INDIRECT_RENDERING', | ||||
| 	]) | ||||
| 	if env['gcc']: | ||||
| 		env.Append(CFLAGS = ['-fvisibility=hidden']) | ||||
| 	if env['platform'] == 'darwin': | ||||
| 		env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE']) | ||||
|  | ||||
| # LLVM | ||||
| if llvm: | ||||
| 	# See also http://www.scons.org/wiki/UsingPkgConfig | ||||
| 	env.ParseConfig('llvm-config --cflags --ldflags --libs backend bitreader engine instrumentation interpreter ipo') | ||||
| 	env.Append(CPPDEFINES = ['MESA_LLVM']) | ||||
|         # Force C++ linkage | ||||
| 	env['LINK'] = env['CXX'] | ||||
|  | ||||
| # libGL | ||||
| if platform in ('linux', 'freebsd', 'darwin'): | ||||
| 	env.Append(LIBS = [ | ||||
| 		'm', | ||||
| 		'pthread', | ||||
| 		'dl', | ||||
| 		'X11', | ||||
| 		'Xext', | ||||
| 		'Xxf86vm', | ||||
| 		'Xdamage', | ||||
| 		'Xfixes', | ||||
| 	]) | ||||
|  | ||||
| # for debugging | ||||
| #print env.Dump() | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| # Invoke host SConscripts  | ||||
| #  | ||||
| # For things that are meant to be run on the native host build machine, instead | ||||
| # of the target machine. | ||||
| # | ||||
|  | ||||
| # Create host environent | ||||
| if env['crosscompile'] and env['platform'] != 'embedded': | ||||
|     host_env = Environment( | ||||
|         options = opts, | ||||
|         # no tool used | ||||
|         tools = [], | ||||
|         toolpath = ['#scons'], | ||||
|         ENV = os.environ, | ||||
|     ) | ||||
|  | ||||
|     # Override options | ||||
|     host_env['platform'] = common.host_platform | ||||
|     host_env['machine'] = common.host_machine | ||||
|     host_env['toolchain'] = 'default' | ||||
|     host_env['llvm'] = False | ||||
|  | ||||
|     host_env.Tool('gallium') | ||||
|  | ||||
|     host_env['hostonly'] = True | ||||
|     assert host_env['crosscompile'] == False | ||||
|  | ||||
|     if host_env['msvc']: | ||||
|         host_env.Append(CPPPATH = ['#include/c99']) | ||||
|  | ||||
|     target_env = env | ||||
|     env = host_env | ||||
|     Export('env') | ||||
|  | ||||
|     SConscript( | ||||
|         'src/SConscript', | ||||
|         variant_dir = host_env['build_dir'], | ||||
|         duplicate = 0, # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html | ||||
|     ) | ||||
|  | ||||
|     env = target_env | ||||
|  | ||||
| Export('env') | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| # Invoke SConscripts | ||||
|  | ||||
| @@ -175,7 +164,6 @@ Export('env') | ||||
|  | ||||
| SConscript( | ||||
| 	'src/SConscript', | ||||
| 	variant_dir = env['build_dir'], | ||||
| 	variant_dir = env['build'], | ||||
| 	duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html | ||||
| ) | ||||
|  | ||||
|   | ||||
							
								
								
									
										21
									
								
								bin/minstall
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								bin/minstall
									
									
									
									
									
								
							| @@ -31,7 +31,7 @@ if [ $# -ge 2 ] ; then | ||||
|  | ||||
| 	# Last cmd line arg is the dest dir | ||||
| 	for FILE in $@ ; do | ||||
| 		DESTDIR="$FILE" | ||||
| 		DEST="$FILE" | ||||
| 	done | ||||
|  | ||||
| 	# Loop over args, moving them to DEST directory | ||||
| @@ -42,25 +42,6 @@ if [ $# -ge 2 ] ; then | ||||
| 			exit 0 | ||||
| 		fi | ||||
|  | ||||
|                 DEST=$DESTDIR | ||||
|  | ||||
|                 # On CYGWIN, because DLLs are loaded by the native Win32 loader, | ||||
|                 # they are installed in the executable path.  Stub libraries used | ||||
|                 # only for linking are installed in the library path | ||||
|                 case `uname` in | ||||
|                     CYGWIN*) | ||||
|                         case $FILE in | ||||
|                             *.dll) | ||||
|                                 DEST="$DEST/../bin" | ||||
|                                 ;; | ||||
|                             *) | ||||
|                                 ;; | ||||
|                         esac | ||||
| 	                ;; | ||||
|                     *) | ||||
|                         ;; | ||||
|                 esac | ||||
|  | ||||
| 		PWDSAVE=`pwd` | ||||
|  | ||||
| 		# determine file's type | ||||
|   | ||||
							
								
								
									
										310
									
								
								bin/mklib
									
									
									
									
									
								
							
							
						
						
									
										310
									
								
								bin/mklib
									
									
									
									
									
								
							| @@ -25,109 +25,6 @@ | ||||
| # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
|  | ||||
| # Clear CDPATH as the 'cd' command will echo stuff | ||||
| # to stdout if it is set | ||||
| unset CDPATH | ||||
|  | ||||
| # Given a list of files, look for .a archives and unpack them. | ||||
| # Return the original list of files minus the .a files plus the unpacked files. | ||||
| # first param:  name of a temp directory (to be deleted when finished) | ||||
| # remaining params:  list of .o and .a files | ||||
| expand_archives() { | ||||
|     DIR=$1 | ||||
|     shift | ||||
|     FILES=$@ | ||||
|     NEWFILES="" | ||||
|     ORIG_DIR=`pwd` | ||||
|     mkdir -p "$DIR" | ||||
|     cd "$DIR" | ||||
|     for FILE in $FILES ; do | ||||
|         case $FILE in | ||||
|             *.a) | ||||
|                 # extract the .o files from this .a archive | ||||
|                 case $FILE in | ||||
|                     /*) ;; | ||||
|                     *)  FILE="$ORIG_DIR/$FILE" ;; | ||||
|                 esac | ||||
|                 MEMBERS=`ar t $FILE` | ||||
|                 ar x $FILE | ||||
|                 for MEMBER in $MEMBERS ; do | ||||
|                     NEWFILES="$NEWFILES $DIR/$MEMBER" | ||||
|                 done | ||||
|                 ;; | ||||
|             *) | ||||
|                 # other file type, just add to list | ||||
|                 NEWFILES="$NEWFILES $FILE" | ||||
|                 ;; | ||||
|         esac | ||||
|     done | ||||
|     cd "$ORIG_DIR" | ||||
|     echo $NEWFILES | ||||
| } | ||||
|  | ||||
|  | ||||
| # Make static library with 'ar' | ||||
| # params: | ||||
| #    options to ar | ||||
| #    1 or 0 to indicate if ranlib should be run | ||||
| #    libname to make | ||||
| #    list of object files | ||||
| # Return name of library we made | ||||
| # Example: "make_ar_static_lib -ru 1 libfoo.a foo.o bar.o" | ||||
| make_ar_static_lib() { | ||||
|     OPTS=$1 | ||||
|     shift; | ||||
|     RANLIB=$1 | ||||
|     shift; | ||||
|     LIBNAME=$1 | ||||
|     shift; | ||||
|     OBJECTS=$@ | ||||
|  | ||||
|     # remove existing lib, if present | ||||
|     rm -f ${LIBNAME} | ||||
|  | ||||
|     # make static lib | ||||
|     ar ${OPTS} ${LIBNAME} ${OBJECTS} | ||||
|  | ||||
|     # run ranlib | ||||
|     if [ ${RANLIB} = 1 ] ; then | ||||
|         ranlib ${LIBNAME} | ||||
|     fi | ||||
|  | ||||
|     echo ${LIBNAME} | ||||
| } | ||||
|  | ||||
|  | ||||
| # Print usage info. | ||||
| usage() { | ||||
|     echo 'Usage: mklib [options] objects' | ||||
|     echo 'Create a shared library from object files.' | ||||
|     echo '  -o LIBRARY    specifies the name of the resulting library, without' | ||||
|     echo '                the leading "lib" or any suffix.' | ||||
|     echo '                (eg: "-o GL" might result in "libGL.so" being made)' | ||||
|     echo '  -major N      specifies major version number (default is 1)' | ||||
|     echo '  -minor N      specifies minor version number (default is 0)' | ||||
|     echo '  -patch N      specifies patch version number (default is 0)' | ||||
|     echo '  -lLIBRARY     specifies a dependency on LIBRARY' | ||||
|     echo '  -LDIR         search in DIR for library dependencies at build time' | ||||
|     echo '  -RDIR         search in DIR for library dependencies at run time' | ||||
|     echo '  -linker L     explicity specify the linker program to use (eg: gcc, g++)' | ||||
|     echo '                Not observed on all systems at this time.' | ||||
|     echo '  -ldflags OPT  specify any additional linker flags in OPT' | ||||
|     echo '  -cplusplus    link with C++ runtime' | ||||
|     echo '  -static       make a static library (default is dynamic/shared)' | ||||
|     echo '  -dlopen       make a shared library suitable for dynamic loading' | ||||
|     echo '  -install DIR  put resulting library file(s) in DIR' | ||||
|     echo '  -arch ARCH    override using `uname` to determine host system' | ||||
|     echo '  -archopt OPT  specify an extra achitecture-specific option OPT' | ||||
|     echo '  -altopts OPTS alternate options to override all others' | ||||
|     echo "  -noprefix     don't prefix library name with 'lib' nor add any suffix" | ||||
|     echo '  -exports FILE only export the symbols listed in FILE' | ||||
|     echo '  -id NAME      Sets the id of the dylib (Darwin)' | ||||
|     echo '  -h, --help    display this information and exit' | ||||
| } | ||||
|  | ||||
|  | ||||
| # | ||||
| # Option defaults | ||||
| # | ||||
| @@ -155,7 +52,31 @@ while true | ||||
| do | ||||
|     case $1 in | ||||
| 	'-h' | '--help') | ||||
| 	    usage | ||||
| 	    echo 'Usage: mklib [options] objects' | ||||
| 	    echo 'Create a shared library from object files.' | ||||
| 	    echo '  -o LIBRARY    specifies the name of the resulting library, without' | ||||
| 	    echo '                the leading "lib" or any suffix.' | ||||
| 	    echo '                (eg: "-o GL" might result in "libGL.so" being made)' | ||||
| 	    echo '  -major N      specifies major version number (default is 1)' | ||||
| 	    echo '  -minor N      specifies minor version number (default is 0)' | ||||
| 	    echo '  -patch N      specifies patch version number (default is 0)' | ||||
| 	    echo '  -lLIBRARY     specifies a dependency on LIBRARY' | ||||
| 	    echo '  -LDIR         search in DIR for library dependencies at build time' | ||||
| 	    echo '  -RDIR         search in DIR for library dependencies at run time' | ||||
| 	    echo '  -linker L     explicity specify the linker program to use (eg: gcc, g++)' | ||||
| 	    echo '                Not observed on all systems at this time.' | ||||
| 	    echo '  -ldflags OPT  specify any additional linker flags in OPT' | ||||
| 	    echo '  -cplusplus    link with C++ runtime' | ||||
| 	    echo '  -static       make a static library (default is dynamic/shared)' | ||||
| 	    echo '  -dlopen       make a shared library suitable for dynamic loading' | ||||
| 	    echo '  -install DIR  put resulting library file(s) in DIR' | ||||
| 	    echo '  -arch ARCH    override using `uname` to determine host system' | ||||
| 	    echo '  -archopt OPT  specify an extra achitecture-specific option OPT' | ||||
| 	    echo '  -altopts OPTS alternate options to override all others' | ||||
| 	    echo "  -noprefix     don't prefix library name with 'lib' nor add any suffix" | ||||
| 	    echo '  -exports FILE only export the symbols listed in FILE' | ||||
| 	    echo '  -id NAME      Sets the id of the dylib (Darwin)' | ||||
| 	    echo '  -h, --help    display this information and exit' | ||||
| 	    exit 1 | ||||
| 	    ;; | ||||
| 	'-o') | ||||
| @@ -276,11 +197,11 @@ fi | ||||
| # Error checking | ||||
| # | ||||
| if [ "x${LIBNAME}" = "x" ] ; then | ||||
|     echo "mklib: Error: no library name specified (-h for help)" | ||||
|     echo "mklib: Error: no library name specified" | ||||
|     exit 1 | ||||
| fi | ||||
| if [ "x${OBJECTS}" = "x" ] ; then | ||||
|     echo "mklib: Error: no object files specified (-h for help)" | ||||
|     echo "mklib: Error: no object files specified" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| @@ -307,7 +228,7 @@ fi | ||||
| # | ||||
| case $ARCH in | ||||
|  | ||||
|     'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/* | 'NetBSD') | ||||
|     'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/*) | ||||
| 	# we assume gcc | ||||
|  | ||||
| 	if [ "x$LINK" = "x" ] ; then | ||||
| @@ -348,24 +269,45 @@ case $ARCH in | ||||
|             # finish up | ||||
|             FINAL_LIBS="${LIBNAME}" | ||||
|         elif [ $STATIC = 1 ] ; then | ||||
| 	    # make a static .a library | ||||
|             LIBNAME="lib${LIBNAME}.a"     # prefix with "lib", suffix with ".a" | ||||
|             echo "mklib: Making" $ARCH "static library: " ${LIBNAME} | ||||
|             LINK="ar" | ||||
|             OPTS="-ru" | ||||
|             if [ "${ALTOPTS}" ] ; then | ||||
|                 OPTS=${ALTOPTS} | ||||
|             fi | ||||
|             rm -f ${LIBNAME} | ||||
|  | ||||
| 	    # expand .a into .o files | ||||
| 	    NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS` | ||||
| 	    # expand any .a objects into constituent .o files. | ||||
| 	    NEWOBJECTS="" | ||||
| 	    DELETIA="" | ||||
| 	    for OBJ in $OBJECTS ; do | ||||
| 		case $OBJ in | ||||
| 		    *.a) | ||||
| 			# extract the .o files from this .a archive | ||||
| 			FILES=`ar t $OBJ` | ||||
| 			ar x $OBJ | ||||
| 			NEWOBJECTS="$NEWOBJECTS $FILES" | ||||
| 			# keep track of temporary .o files and delete them below | ||||
| 			DELETIA="$DELETIA $FILES" | ||||
| 			;; | ||||
| 		    *) | ||||
| 			# ordinary .o file | ||||
| 			NEWOBJECTS="$NEWOBJECTS $OBJ" | ||||
| 			;; | ||||
| 		esac | ||||
| 	    done | ||||
|  | ||||
|             # make static lib | ||||
| 	    FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}` | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} ${LIBNAME} ${NEWOBJECTS} | ||||
|             ranlib ${LIBNAME} | ||||
|  | ||||
| 	    # remove temporary extracted .o files | ||||
| 	    rm -rf ${LIBNAME}.obj | ||||
| 	    rm -f ${DELETIA} | ||||
|  | ||||
|             # finish up | ||||
|             FINAL_LIBS=${LIBNAME} | ||||
|         else | ||||
| 	    # make dynamic library | ||||
| 	    LIBNAME="lib${LIBNAME}"     # prefix with "lib" | ||||
| 	    case $ARCH in 'Linux' | 'GNU' | GNU/*) | ||||
| 		OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}" | ||||
| @@ -426,7 +368,9 @@ case $ARCH in | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making SunOS static library: " ${LIBNAME} | ||||
| 	    FINAL_LIBS=`make_ar_static_lib -ruc 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar -ruv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    if [ $NOPREFIX = 0 ] ; then | ||||
| 		LIBNAME="lib${LIBNAME}.so" | ||||
| @@ -494,16 +438,13 @@ case $ARCH in | ||||
| 		OPTS="${OPTS} -Wl,-Mmapfile.scope" | ||||
| 	    fi | ||||
|  | ||||
| 	    # Check if objects are 64-bit | ||||
| 	    # Check if objects are SPARC v9 | ||||
| 	    # file says: ELF 64-bit MSB relocatable SPARCV9 Version 1 | ||||
| 	    set ${OBJECTS} | ||||
| 	    if [ ${LINK} = "cc" -o ${LINK} = "CC" ] ; then | ||||
| 		ABI64=`file $1 | grep "ELF 64-bit"` | ||||
| 		if [ "${ABI64}" ] ; then | ||||
| 		    case `uname -p` in | ||||
| 			sparc)	    OPTS="${OPTS} -xarch=v9" ;; | ||||
| 			i386)	    OPTS="${OPTS} -xarch=amd64" ;; | ||||
| 		    esac | ||||
| 		SPARCV9=`file $1 | grep SPARCV9` | ||||
| 		if [ "${SPARCV9}" ] ; then | ||||
| 		    OPTS="${OPTS} -xarch=v9" | ||||
| 		fi | ||||
| 	    fi | ||||
|             if [ "${ALTOPTS}" ] ; then | ||||
| @@ -548,19 +489,13 @@ case $ARCH in | ||||
| 	    ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
|         elif [ $STATIC = 1 ] ; then | ||||
| 	    # make a static .a library | ||||
| 	    STLIB="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making FreeBSD static library: " ${STLIB} | ||||
|  | ||||
| 	    # expand .a into .o files | ||||
| 	    NEW_OBJECTS=`expand_archives ${STLIB}.obj $OBJECTS` | ||||
|  | ||||
| 	    FINAL_LIBS=`make_ar_static_lib cq 1 ${STLIB} ${NEW_OBJECTS}` | ||||
|  | ||||
| 	    # remove temporary extracted .o files | ||||
| 	    rm -rf ${STLIB}.obj | ||||
| 	    rm -f ${STLIB} | ||||
| 	    ar cq ${STLIB} ${OBJECTS} | ||||
| 	    ranlib ${STLIB} | ||||
| 	    FINAL_LIBS=${STLIB} | ||||
| 	else | ||||
| 	    # make dynamic library | ||||
| 	    SHLIB="lib${LIBNAME}.so.${MAJOR}" | ||||
| 	    OPTS="-shared -Wl,-soname,${SHLIB}" | ||||
|             if [ "${ALTOPTS}" ] ; then | ||||
| @@ -574,10 +509,29 @@ case $ARCH in | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'NetBSD') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}_pic.a" | ||||
| 	    echo "mklib: Making NetBSD PIC static library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar cq ${LIBNAME} ${OBJECTS} | ||||
| 	    ranlib ${LIBNAME} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so.${MAJOR}.${MINOR}" | ||||
| 	    echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME} | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ld -x -Bshareable -Bforcearchive -o ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	fi | ||||
| 	;; | ||||
|  | ||||
|     'IRIX' | 'IRIX64') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    FINAL_LIBS=`make_ar_static_lib rc 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar rc ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so" | ||||
|  | ||||
| @@ -628,7 +582,9 @@ case $ARCH in | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making HP-UX static library: " ${LIBNAME} | ||||
|     	    FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar -ruv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
|             # HP uses a .2 for their current GL/GLU libraries | ||||
| 	    if [ ${LIBNAME} = "GL" -o ${LIBNAME} = "GLU" ] ; then | ||||
| @@ -658,7 +614,8 @@ case $ARCH in | ||||
| 	if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making AIX static library: " ${LIBNAME} | ||||
|     	    FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    ar -ruv ${X64} ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    EXPFILE="lib${LIBNAME}.exp" | ||||
| 	    LIBNAME="lib${LIBNAME}.a"  # shared objects are still stored in the .a libraries | ||||
| @@ -709,7 +666,9 @@ case $ARCH in | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making OSF/1 static library: " ${LIBNAME} | ||||
|     	    FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar -ruv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    VERSION="${MAJOR}.${MINOR}" | ||||
| 	    LIBNAME="lib${LIBNAME}.so" | ||||
| @@ -732,20 +691,12 @@ case $ARCH in | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             LIBNAME="lib${LIBNAME}.a" | ||||
|             echo "mklib: Making Darwin static library: " ${LIBNAME} | ||||
|             LINK="ar" | ||||
|             OPTS="-ruvs" | ||||
|             if [ "${ALTOPTS}" ] ; then | ||||
|                 OPTS=${ALTOPTS} | ||||
|             fi | ||||
|  | ||||
|             # expand .a into .o files | ||||
|             NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS` | ||||
|  | ||||
|             # make static lib | ||||
|             FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}` | ||||
|  | ||||
|             # remove temporary extracted .o files | ||||
|             rm -rf ${LIBNAME}.obj | ||||
|  | ||||
|             ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS} | ||||
|             FINAL_LIBS=${LIBNAME} | ||||
|         else | ||||
|             # On Darwin a .bundle is used for a library that you want to dlopen | ||||
| @@ -804,14 +755,16 @@ case $ARCH in | ||||
|     'LynxOS') | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making LynxOS static library: " ${LIBNAME} | ||||
|         FINAL_LIBS=`make_ar_static_lib -ru 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	rm -f ${LIBNAME} | ||||
| 	ar ru ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS=${LIBNAME} | ||||
| 	;; | ||||
|  | ||||
|     'BeOS') | ||||
|         if [ $STATIC = 1 ] ; then | ||||
|             LIBNAME="lib${LIBNAME}.a" | ||||
|             echo "mklib: Making BeOS static library: " ${LIBNAME} | ||||
|             FINAL_LIBS=`make_ar_static_lib -cru 0 ${LIBNAME} ${OBJECTS}` | ||||
|             ar -cru "${LIBNAME}" ${OBJECTS} | ||||
|         else | ||||
| 	    LIBNAME="lib${LIBNAME}.so" | ||||
| 	    echo "mklib: Making BeOS shared library: " ${LIBNAME} | ||||
| @@ -890,7 +843,9 @@ case $ARCH in | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making AIX GCC static library: " ${LIBNAME} | ||||
|             FINAL_LIBS=`make_ar_static_lib ru 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar ru ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so" | ||||
| 	    echo "mklib: Making AIX GCC shared library: " ${LIBNAME} | ||||
| @@ -911,21 +866,13 @@ case $ARCH in | ||||
| 	fi | ||||
| 	LIBNAME="lib${LIBNAME}.a" | ||||
| 	echo "mklib: Making static library for Ultrix: " ${LIBNAME} | ||||
|         FINAL_LIBS=`make_ar_static_lib ru 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	rm -f ${LIBNAME} | ||||
| 	ar ru ${LIBNAME} ${OBJECTS} | ||||
| 	FINAL_LIBS="${LIBNAME}" | ||||
| 	;; | ||||
|  | ||||
|      CYGWIN*) | ||||
| 	# GCC-based environment | ||||
|  | ||||
| 	if [ "x$LINK" = "x" ] ; then | ||||
| 	    # -linker was not specified so set default link command now | ||||
|             if [ $CPLUSPLUS = 1 ] ; then | ||||
|                 LINK=g++ | ||||
|             else | ||||
|                 LINK=gcc | ||||
|             fi | ||||
| 	fi | ||||
|  | ||||
| 	if [ $NOPREFIX = 1 ] ; then | ||||
| 	    # No "lib" or ".so" part | ||||
| 	    echo "mklib: Making CYGWIN shared library: " ${LIBNAME} | ||||
| @@ -934,33 +881,36 @@ case $ARCH in | ||||
|                 OPTS=${ALTOPTS} | ||||
|             fi | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} || exit $? | ||||
| 	    ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} | ||||
| 	    FINAL_LIBS=${LIBNAME} | ||||
|         else | ||||
| 	CYGNAME="cyg${LIBNAME}"     # prefix with "cyg" | ||||
| 	LIBNAME="lib${LIBNAME}"     # prefix with "lib" | ||||
|  | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME=${LIBNAME}.a | ||||
|             echo "mklib: Making CYGWIN static library: " ${LIBNAME} | ||||
|             echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a | ||||
|             LINK="ar" | ||||
|             OPTS="-ru" | ||||
|             if [ "${ALTOPTS}" ] ; then | ||||
|                 OPTS=${ALTOPTS} | ||||
|             fi | ||||
|  | ||||
|             # expand .a into .o files | ||||
|             NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS` | ||||
|  | ||||
|             FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}` | ||||
|  | ||||
|             # remove temporary extracted .o files | ||||
|             rm -rf ${LIBNAME}.obj | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS} | ||||
| 	    ranlib ${LIBNAME}.a | ||||
|             # finish up | ||||
|             FINAL_LIBS=${LIBNAME}.a | ||||
|         else | ||||
| 	    OPTS="-shared -Wl,--enable-auto-image-base -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a" | ||||
|             if [ "${ALTOPTS}" ] ; then | ||||
|                 OPTS=${ALTOPTS} | ||||
|             fi | ||||
|             echo "mklib: Making CYGWIN shared library: " ${CYGNAME}-${MAJOR}.dll | ||||
|             echo "mklib: Making" $ARCH "shared library: " ${CYGNAME}-${MAJOR}.dll | ||||
|  | ||||
|             if [ $CPLUSPLUS = 1 ] ; then | ||||
|                 LINK="g++" | ||||
|             else | ||||
|                 LINK="gcc" | ||||
|             fi | ||||
|  | ||||
|             # rm any old libs | ||||
|             rm -f ${CYGNAME}-${MAJOR}.dll | ||||
| @@ -969,7 +919,12 @@ case $ARCH in | ||||
|             rm -f ${LIBNAME}.a | ||||
|  | ||||
|             # make lib | ||||
|             ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} || exit $? | ||||
|             ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} | ||||
|             # make build fail if link failed | ||||
|             es=$? | ||||
|             if [ "$es" -ne "0" ]; then | ||||
|                 exit $es | ||||
|             fi | ||||
|             # make usual symlinks | ||||
|             ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a | ||||
|             # finish up | ||||
| @@ -986,7 +941,9 @@ case $ARCH in | ||||
|         if [ $STATIC = 1 ] ; then | ||||
| 	    LIBNAME="lib${LIBNAME}.a" | ||||
| 	    echo "mklib: Making static library for example arch: " ${LIBNAME} | ||||
|             FINAL_LIBS=`make_ar_static_lib rv 0 ${LIBNAME} ${OBJECTS}` | ||||
| 	    rm -f ${LIBNAME} | ||||
| 	    ar rv ${LIBNAME} ${OBJECTS} | ||||
| 	    FINAL_LIBS="${LIBNAME}" | ||||
| 	else | ||||
| 	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so" | ||||
| 	    echo "mklib: Making shared library for example arch: " ${LIBNAME} | ||||
| @@ -1009,9 +966,4 @@ if [ ${INSTALLDIR} != "." ] ; then | ||||
|     echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR} | ||||
|     test -d ${INSTALLDIR} || mkdir -p ${INSTALLDIR} | ||||
|     mv ${FINAL_LIBS} ${INSTALLDIR}/ | ||||
|  | ||||
|     if [ "x${FINAL_BINS}" != "x" ] ; then | ||||
|         echo "mklib: Installing" ${FINAL_BINS} "in" ${INSTALLDIR} | ||||
|         mv ${FINAL_BINS} ${INSTALLDIR}/ | ||||
|     fi | ||||
| fi | ||||
|   | ||||
							
								
								
									
										366
									
								
								bin/raw2png.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										366
									
								
								bin/raw2png.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,366 @@ | ||||
| #!/usr/bin/env python | ||||
| ########################################################################## | ||||
| #  | ||||
| # Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. | ||||
| # All Rights Reserved. | ||||
| #  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the | ||||
| # "Software"), to deal in the Software without restriction, including | ||||
| # without limitation the rights to use, copy, modify, merge, publish, | ||||
| # distribute, sub license, and/or sell copies of the Software, and to | ||||
| # permit persons to whom the Software is furnished to do so, subject to | ||||
| # the following conditions: | ||||
| #  | ||||
| # The above copyright notice and this permission notice (including the | ||||
| # next paragraph) shall be included in all copies or substantial portions | ||||
| # of the Software. | ||||
| #  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. | ||||
| # IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR | ||||
| # ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||||
| # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||||
| # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| #  | ||||
| ########################################################################## | ||||
|  | ||||
|  | ||||
| import os.path | ||||
| import sys | ||||
| import struct | ||||
| import Image # http://www.pythonware.com/products/pil/ | ||||
|  | ||||
| PIPE_FORMAT_LAYOUT_RGBAZS   = 0 | ||||
| PIPE_FORMAT_LAYOUT_YCBCR    = 1 | ||||
| PIPE_FORMAT_LAYOUT_DXT      = 2 | ||||
| PIPE_FORMAT_LAYOUT_MIXED    = 3 | ||||
|  | ||||
| PIPE_FORMAT_COMP_R    = 0 | ||||
| PIPE_FORMAT_COMP_G    = 1 | ||||
| PIPE_FORMAT_COMP_B    = 2 | ||||
| PIPE_FORMAT_COMP_A    = 3 | ||||
| PIPE_FORMAT_COMP_0    = 4 | ||||
| PIPE_FORMAT_COMP_1    = 5 | ||||
| PIPE_FORMAT_COMP_Z    = 6 | ||||
| PIPE_FORMAT_COMP_S    = 7 | ||||
|  | ||||
| PIPE_FORMAT_TYPE_UNKNOWN = 0 | ||||
| PIPE_FORMAT_TYPE_FLOAT   = 1 | ||||
| PIPE_FORMAT_TYPE_UNORM   = 2 | ||||
| PIPE_FORMAT_TYPE_SNORM   = 3 | ||||
| PIPE_FORMAT_TYPE_USCALED = 4 | ||||
| PIPE_FORMAT_TYPE_SSCALED = 5 | ||||
| PIPE_FORMAT_TYPE_SRGB    = 6 | ||||
| PIPE_FORMAT_TYPE_FIXED   = 7 | ||||
|  | ||||
| def _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, EXP2, TYPE ): | ||||
|    return ((PIPE_FORMAT_LAYOUT_RGBAZS << 0) |\ | ||||
|    ((SWZ) << 2) |\ | ||||
|    ((SIZEX) << 14) |\ | ||||
|    ((SIZEY) << 17) |\ | ||||
|    ((SIZEZ) << 20) |\ | ||||
|    ((SIZEW) << 23) |\ | ||||
|    ((EXP2) << 26) |\ | ||||
|    ((TYPE) << 29) ) | ||||
|  | ||||
| def _PIPE_FORMAT_SWZ( SWZX, SWZY, SWZZ, SWZW ): | ||||
| 	return (((SWZX) << 0) | ((SWZY) << 3) | ((SWZZ) << 6) | ((SWZW) << 9)) | ||||
|  | ||||
| def _PIPE_FORMAT_RGBAZS_1( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): | ||||
| 	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 0, TYPE ) | ||||
|  | ||||
| def _PIPE_FORMAT_RGBAZS_2( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): | ||||
|     _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 1, TYPE ) | ||||
|  | ||||
| def _PIPE_FORMAT_RGBAZS_8( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): | ||||
| 	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 3, TYPE ) | ||||
|  | ||||
| def _PIPE_FORMAT_RGBAZS_64( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): | ||||
| 	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 6, TYPE ) | ||||
|  | ||||
| def _PIPE_FORMAT_MIXED( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, SIGNX, SIGNY, SIGNZ, SIGNW, NORMALIZED, SCALE8 ): | ||||
|     return ((PIPE_FORMAT_LAYOUT_MIXED << 0) |\ | ||||
|     ((SWZ) << 2) |\ | ||||
|     ((SIZEX) << 14) |\ | ||||
|     ((SIZEY) << 17) |\ | ||||
|     ((SIZEZ) << 20) |\ | ||||
|     ((SIZEW) << 23) |\ | ||||
|     ((SIGNX) << 26) |\ | ||||
|     ((SIGNY) << 27) |\ | ||||
|     ((SIGNZ) << 28) |\ | ||||
|     ((SIGNW) << 29) |\ | ||||
|     ((NORMALIZED) << 30) |\ | ||||
|     ((SCALE8) << 31) ) | ||||
|  | ||||
|  | ||||
| _PIPE_FORMAT_R001 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 ) | ||||
| _PIPE_FORMAT_RG01 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 ) | ||||
| _PIPE_FORMAT_RGB1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_1 ) | ||||
| _PIPE_FORMAT_RGBA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_A ) | ||||
| _PIPE_FORMAT_ARGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B ) | ||||
| _PIPE_FORMAT_ABGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R ) | ||||
| _PIPE_FORMAT_BGRA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_A ) | ||||
| _PIPE_FORMAT_1RGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B ) | ||||
| _PIPE_FORMAT_1BGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R ) | ||||
| _PIPE_FORMAT_BGR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 ) | ||||
| _PIPE_FORMAT_0000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) | ||||
| _PIPE_FORMAT_000R = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_R ) | ||||
| _PIPE_FORMAT_RRR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 ) | ||||
| _PIPE_FORMAT_RRRR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R ) | ||||
| _PIPE_FORMAT_RRRG = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G ) | ||||
| _PIPE_FORMAT_Z000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) | ||||
| _PIPE_FORMAT_0Z00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) | ||||
| _PIPE_FORMAT_SZ00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) | ||||
| _PIPE_FORMAT_ZS00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) | ||||
| _PIPE_FORMAT_S000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) | ||||
|  | ||||
| def _PIPE_FORMAT_YCBCR( REV ): | ||||
|    return ((PIPE_FORMAT_LAYOUT_YCBCR << 0) |\ | ||||
|    ((REV) << 2) ) | ||||
|  | ||||
| def _PIPE_FORMAT_DXT( LEVEL, RSIZE, GSIZE, BSIZE, ASIZE ): | ||||
|     return ((PIPE_FORMAT_LAYOUT_DXT << 0) | \ | ||||
|     ((LEVEL) << 2) | \ | ||||
|     ((RSIZE) << 5) | \ | ||||
|     ((GSIZE) << 8) | \ | ||||
|     ((BSIZE) << 11) | \ | ||||
|     ((ASIZE) << 14) ) | ||||
|  | ||||
| PIPE_FORMAT_NONE                  = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_0000, 0, 0, 0, 0, PIPE_FORMAT_TYPE_UNKNOWN ) | ||||
| PIPE_FORMAT_A8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ARGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_X8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_1RGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_B8G8R8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_B8G8R8X8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGR1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_A1R5G5B5_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_A4R4G4B4_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R5G6B5_UNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_RGB1, 5, 6, 5, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_A2B10G10R10_UNORM     = _PIPE_FORMAT_RGBAZS_2 ( _PIPE_FORMAT_ABGR, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_L8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_A8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_000R, 0, 0, 0, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_I8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRR, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_A8L8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_L16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_YCBCR                 = _PIPE_FORMAT_YCBCR( 0 ) | ||||
| PIPE_FORMAT_YCBCR_REV             = _PIPE_FORMAT_YCBCR( 1 ) | ||||
| PIPE_FORMAT_Z16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_Z32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_Z32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_S8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_SZ00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_Z24S8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ZS00, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_X8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_0Z00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_Z24X8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_S8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_S000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R64_FLOAT             = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R64G64_FLOAT          = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R64G64B64_FLOAT       = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R64G64B64A64_FLOAT    = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R32G32_FLOAT          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R32G32B32_FLOAT       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R32G32B32A32_FLOAT    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FLOAT ) | ||||
| PIPE_FORMAT_R32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R32G32_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R32G32B32_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R32G32B32A32_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R32_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R32G32_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R32G32B32_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R32G32B32A32_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R32_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R32G32_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R32G32B32_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R32G32B32A32_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R32_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R32G32_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R32G32B32_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R32G32B32A32_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R16G16_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R16G16B16_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R16G16B16A16_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R16_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R16G16_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R16G16B16_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R16G16B16A16_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R16_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R16G16_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R16G16B16_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R16G16B16A16_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R16_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R16G16_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R16G16B16_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R16G16B16A16_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R8G8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R8G8B8_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R8G8B8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R8G8B8X8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) | ||||
| PIPE_FORMAT_R8_USCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R8G8_USCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R8G8B8_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R8G8B8A8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R8G8B8X8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED ) | ||||
| PIPE_FORMAT_R8_SNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R8G8_SNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R8G8B8_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R8G8B8A8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R8G8B8X8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_B6G5R5_SNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_A8B8G8R8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_X8B8G8R8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) | ||||
| PIPE_FORMAT_R8_SSCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R8G8_SSCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R8G8B8_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R8G8B8A8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R8G8B8X8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED ) | ||||
| PIPE_FORMAT_R32_FIXED             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FIXED ) | ||||
| PIPE_FORMAT_R32G32_FIXED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FIXED ) | ||||
| PIPE_FORMAT_R32G32B32_FIXED       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FIXED ) | ||||
| PIPE_FORMAT_R32G32B32A32_FIXED    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FIXED ) | ||||
| PIPE_FORMAT_L8_SRGB               = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB ) | ||||
| PIPE_FORMAT_A8_L8_SRGB            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB ) | ||||
| PIPE_FORMAT_R8G8B8_SRGB           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB ) | ||||
| PIPE_FORMAT_R8G8B8A8_SRGB         = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB ) | ||||
| PIPE_FORMAT_R8G8B8X8_SRGB         = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB ) | ||||
| PIPE_FORMAT_X8UB8UG8SR8S_NORM     = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_1BGR, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 ) | ||||
| PIPE_FORMAT_B6UG5SR5S_NORM        = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, 0, 1, 1, 0, 1, 0 ) | ||||
| PIPE_FORMAT_DXT1_RGB              = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 0 ) | ||||
| PIPE_FORMAT_DXT1_RGBA             = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 8 ) | ||||
| PIPE_FORMAT_DXT3_RGBA             = _PIPE_FORMAT_DXT( 3, 8, 8, 8, 8 ) | ||||
| PIPE_FORMAT_DXT5_RGBA             = _PIPE_FORMAT_DXT( 5, 8, 8, 8, 8 ) | ||||
|  | ||||
|  | ||||
| formats = {} | ||||
| for name, value in globals().items(): | ||||
|     if name.startswith("PIPE_FORMAT_") and isinstance(value, int): | ||||
|         formats[value] = name | ||||
|  | ||||
|  | ||||
| def clip(g): | ||||
| 	return min(max(g, 0), 255) | ||||
|  | ||||
|  | ||||
| def yuv2rgb(y, u, v): | ||||
| 	C = y - 16 | ||||
| 	D = u - 128 | ||||
| 	E = v - 128 | ||||
|  | ||||
| 	r = clip(( 298 * C           + 409 * E + 128) >> 8) | ||||
| 	g = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8) | ||||
| 	b = clip(( 298 * C + 516 * D           + 128) >> 8) | ||||
| 	 | ||||
| 	return r, g, b | ||||
|  | ||||
| 	 | ||||
| def translate_r5g6b5(data): | ||||
| 	value, = struct.unpack_from("H", data) | ||||
| 	r = ((value >> 11) & 0x1f)*0xff/0x1f | ||||
| 	g = ((value >>  5) & 0x3f)*0xff/0x3f | ||||
| 	b = ((value >>  0) & 0x1f)*0xff/0x1f | ||||
| 	a = 255 | ||||
| 	return [[(r, g, b, a)]] | ||||
|  | ||||
| def translate_a8r8g8b8(data): | ||||
|     b, g, r, a = struct.unpack_from("BBBB", data) | ||||
|     return [[(r, g, b, a)]] | ||||
|  | ||||
|  | ||||
| def translate_x8r8g8b8(data): | ||||
|     b, g, r, x = struct.unpack_from("BBBB", data) | ||||
|     a = 255 | ||||
|     return [[(r, g, b, a)]] | ||||
|  | ||||
| def translate_r8g8b8a8(data): | ||||
| 	r, g, b, a = struct.unpack_from("BBBB", data) | ||||
| 	return [[(r, g, b, a)]] | ||||
|  | ||||
| def translate_ycbcr(data): | ||||
| 	y1, u, y2, v = struct.unpack_from("BBBB", data) | ||||
| 	r1, g1, b1 = yuv2rgb(y1, u, v) | ||||
| 	r2, g2, b2 = yuv2rgb(y1, u, v) | ||||
| 	return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]] | ||||
|  | ||||
| def translate_ycbcr_rev(data): | ||||
|     v, y2, u, y1 = struct.unpack_from("BBBB", data) | ||||
|     r1, g1, b1 = yuv2rgb(y1, u, v) | ||||
|     r2, g2, b2 = yuv2rgb(y1, u, v) | ||||
|     return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]] | ||||
|  | ||||
| def translate_x8z24(data): | ||||
|     value, = struct.unpack_from("I", data) | ||||
|     r = g = b = (value & 0xffffff)*0xff/0xffffff | ||||
|     a = 255 | ||||
|     return [[(r, g, b, a)]] | ||||
|  | ||||
| def translate_s8z24(data): | ||||
|     value, = struct.unpack_from("I", data) | ||||
|     r = (value & 0xffffff)*0xff/0xffffff | ||||
|     g = value >> 24 | ||||
|     b = 0 | ||||
|     a = 255 | ||||
|     return [[(r, g, b, a)]] | ||||
|  | ||||
|  | ||||
| translate = { | ||||
| 	PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_a8r8g8b8), | ||||
| 	PIPE_FORMAT_X8R8G8B8_UNORM: (4, 1, 1, translate_x8r8g8b8), | ||||
| 	PIPE_FORMAT_B8G8R8A8_UNORM: (4, 1, 1, translate_r8g8b8a8), | ||||
| 	PIPE_FORMAT_B8G8R8X8_UNORM: (4, 1, 1, translate_r8g8b8a8), | ||||
| 	PIPE_FORMAT_A8B8G8R8_SNORM: (4, 1, 1, translate_r8g8b8a8), | ||||
| 	PIPE_FORMAT_R5G6B5_UNORM: (2, 1, 1, translate_r5g6b5), | ||||
| 	PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr), | ||||
| 	PIPE_FORMAT_YCBCR_REV: (4, 2, 1, translate_ycbcr_rev), | ||||
|     PIPE_FORMAT_S8Z24_UNORM: (4, 1, 1, translate_s8z24), | ||||
|     PIPE_FORMAT_X8Z24_UNORM: (4, 1, 1, translate_x8z24), | ||||
| } | ||||
|  | ||||
| def read_header(infile): | ||||
| 	header_fmt = "IIII" | ||||
| 	header = infile.read(struct.calcsize(header_fmt)) | ||||
| 	return struct.unpack_from(header_fmt, header) | ||||
|  | ||||
| def process(infilename, outfilename): | ||||
| 	sys.stderr.write("%s -> %s\n" % (infilename, outfilename)) | ||||
| 	infile = open(infilename, "rb") | ||||
| 	format, cpp, width, height = read_header(infile) | ||||
| 	sys.stderr.write("  %ux%ux%ubpp %s\n" % (width, height, cpp*8, formats[format])) | ||||
| 	outimage = Image.new( | ||||
| 	mode='RGB', | ||||
| 	size=(width, height), | ||||
| 	color=(0,0,0)) | ||||
| 	outpixels = outimage.load() | ||||
| 	try: | ||||
| 		bsize, bwidth, bheight, translate_func = translate[format] | ||||
| 	except KeyError: | ||||
| 		sys.stderr.write('error: unsupported format %s\n' % formats[format]) | ||||
| 		return | ||||
| 	for y in range(0, height, bheight): | ||||
| 		for x in range(0, width, bwidth): | ||||
| 			indata = infile.read(bsize) | ||||
| 			outdata = translate_func(indata) | ||||
| 			for j in range(bheight): | ||||
| 				for i in range(bwidth): | ||||
| 					r, g, b, a = outdata[j][i] | ||||
| 					outpixels[x+i, y+j] = r, g, b | ||||
| 	outimage.save(outfilename, "PNG") | ||||
|  | ||||
|  | ||||
| def main(): | ||||
| 	if sys.platform == 'win32': | ||||
| 		# wildcard expansion | ||||
| 		from glob import glob | ||||
| 		args = [] | ||||
| 		for arg in sys.argv[1:]: | ||||
| 			args.extend(glob(arg)) | ||||
| 	else: | ||||
| 		args = sys.argv[1:] | ||||
| 	for infilename in args: | ||||
| 		root, ext = os.path.splitext(infilename) | ||||
| 		outfilename = root + ".png" | ||||
| 		process(infilename, outfilename) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
| 	main() | ||||
							
								
								
									
										71
									
								
								common.py
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								common.py
									
									
									
									
									
								
							| @@ -3,27 +3,20 @@ | ||||
|  | ||||
| import os | ||||
| import os.path | ||||
| import re | ||||
| import subprocess | ||||
| import sys | ||||
| import platform as _platform | ||||
|  | ||||
| import SCons.Script.SConscript | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| # Defaults | ||||
|  | ||||
| host_platform = _platform.system().lower() | ||||
| if host_platform.startswith('cygwin'): | ||||
|     host_platform = 'cygwin' | ||||
| _platform_map = { | ||||
| 	'linux2': 'linux', | ||||
| 	'win32': 'winddk', | ||||
| } | ||||
|  | ||||
| # Search sys.argv[] for a "platform=foo" argument since we don't have | ||||
| # an 'env' variable at this point. | ||||
| if 'platform' in SCons.Script.ARGUMENTS: | ||||
|     target_platform = SCons.Script.ARGUMENTS['platform'] | ||||
| else: | ||||
|     target_platform = host_platform | ||||
| default_platform = sys.platform | ||||
| default_platform = _platform_map.get(default_platform, default_platform) | ||||
|  | ||||
| _machine_map = { | ||||
| 	'x86': 'x86', | ||||
| @@ -32,37 +25,20 @@ _machine_map = { | ||||
| 	'i586': 'x86', | ||||
| 	'i686': 'x86', | ||||
| 	'ppc' : 'ppc', | ||||
| 	'AMD64': 'x86_64', | ||||
| 	'x86_64': 'x86_64', | ||||
| } | ||||
|  | ||||
|  | ||||
| # find host_machine value | ||||
| if 'PROCESSOR_ARCHITECTURE' in os.environ: | ||||
| 	host_machine = os.environ['PROCESSOR_ARCHITECTURE'] | ||||
| 	default_machine = os.environ['PROCESSOR_ARCHITECTURE'] | ||||
| else: | ||||
| 	host_machine = _platform.machine() | ||||
| host_machine = _machine_map.get(host_machine, 'generic') | ||||
| 	default_machine = _platform.machine() | ||||
| default_machine = _machine_map.get(default_machine, 'generic') | ||||
|  | ||||
| default_machine = host_machine | ||||
| default_toolchain = 'default' | ||||
|  | ||||
| if target_platform == 'windows' and host_platform != 'windows': | ||||
|     default_machine = 'x86' | ||||
|     default_toolchain = 'crossmingw' | ||||
|  | ||||
|  | ||||
| # find default_llvm value | ||||
| if 'LLVM' in os.environ: | ||||
|     default_llvm = 'yes' | ||||
| if default_platform in ('linux', 'freebsd'): | ||||
| 	default_dri = 'yes' | ||||
| elif default_platform in ('winddk', 'windows', 'wince', 'darwin'): | ||||
| 	default_dri = 'no' | ||||
| else: | ||||
|     default_llvm = 'no' | ||||
|     try: | ||||
|         if target_platform != 'windows' and \ | ||||
|            subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0: | ||||
|             default_llvm = 'yes' | ||||
|     except: | ||||
|         pass | ||||
| 	default_dri = 'no' | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| @@ -77,16 +53,15 @@ def AddOptions(opts): | ||||
| 		from SCons.Variables.EnumVariable import EnumVariable as EnumOption | ||||
| 	except ImportError: | ||||
| 		from SCons.Options.EnumOption import EnumOption | ||||
| 	opts.Add(EnumOption('build', 'build type', 'debug', | ||||
| 	                  allowed_values=('debug', 'checked', 'profile', 'release'))) | ||||
| 	opts.Add(BoolOption('debug', 'debug build', 'no')) | ||||
| 	opts.Add(BoolOption('profile', 'profile build', 'no')) | ||||
| 	opts.Add(BoolOption('quiet', 'quiet command lines', 'yes')) | ||||
| 	opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine, | ||||
| 											 allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) | ||||
| 	opts.Add(EnumOption('platform', 'target platform', host_platform, | ||||
| 											 allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded', 'cygwin', 'sunos', 'freebsd8'))) | ||||
| 	opts.Add('toolchain', 'compiler toolchain', default_toolchain) | ||||
| 	opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support', 'no')) | ||||
| 	opts.Add(BoolOption('llvm', 'use LLVM', default_llvm)) | ||||
| 	opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes')) | ||||
| 	opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no')) | ||||
| 	opts.Add(EnumOption('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) | ||||
| 	opts.Add(EnumOption('platform', 'target platform', default_platform, | ||||
| 											 allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin'))) | ||||
| 	opts.Add(EnumOption('toolchain', 'compiler toolchain', 'default', | ||||
| 											 allowed_values=('default', 'crossmingw', 'winsdk', 'winddk'))) | ||||
| 	opts.Add(BoolOption('llvm', 'use LLVM', 'no')) | ||||
| 	opts.Add(BoolOption('dri', 'build DRI drivers', default_dri)) | ||||
|  | ||||
|   | ||||
| @@ -14,35 +14,16 @@ ARCH_FLAGS = @ARCH_FLAGS@ | ||||
| ASM_FLAGS = @ASM_FLAGS@ | ||||
| PIC_FLAGS = @PIC_FLAGS@ | ||||
| DEFINES = @DEFINES@ | ||||
| API_DEFINES = @API_DEFINES@ | ||||
| SHARED_GLAPI = @SHARED_GLAPI@ | ||||
| CFLAGS_NOVISIBILITY = @CPPFLAGS@ @CFLAGS@ \ | ||||
| CFLAGS = @CPPFLAGS@ @CFLAGS@ \ | ||||
| 	$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES) | ||||
| CXXFLAGS_NOVISIBILITY = @CPPFLAGS@ @CXXFLAGS@ \ | ||||
| CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \ | ||||
| 	$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) | ||||
| CFLAGS = $(CFLAGS_NOVISIBILITY) @VISIBILITY_CFLAGS@ | ||||
| CXXFLAGS = $(CXXFLAGS_NOVISIBILITY) @VISIBILITY_CXXFLAGS@ | ||||
| LDFLAGS = @LDFLAGS@ | ||||
| EXTRA_LIB_PATH = @EXTRA_LIB_PATH@ | ||||
| RADEON_CFLAGS = @RADEON_CFLAGS@ | ||||
| RADEON_LDFLAGS = @RADEON_LDFLAGS@ | ||||
| INTEL_LIBS = @INTEL_LIBS@ | ||||
| INTEL_CFLAGS = @INTEL_CFLAGS@ | ||||
| X11_LIBS = @X11_LIBS@ | ||||
| X11_CFLAGS = @X11_CFLAGS@ | ||||
| LLVM_CFLAGS = @LLVM_CFLAGS@ | ||||
| LLVM_LDFLAGS = @LLVM_LDFLAGS@ | ||||
| LLVM_LIBS = @LLVM_LIBS@ | ||||
| GLW_CFLAGS = @GLW_CFLAGS@ | ||||
| GLUT_CFLAGS = @GLUT_CFLAGS@ | ||||
| GLX_TLS = @GLX_TLS@ | ||||
| DRI_CFLAGS = @DRI_CFLAGS@ | ||||
| DRI_CXXFLAGS = @DRI_CXXFLAGS@ | ||||
|  | ||||
| # dlopen | ||||
| DLOPEN_LIBS = @DLOPEN_LIBS@ | ||||
|  | ||||
| # Source selection | ||||
| # Assembler | ||||
| MESA_ASM_SOURCES = @MESA_ASM_SOURCES@ | ||||
| GLAPI_ASM_SOURCES = @GLAPI_ASM_SOURCES@ | ||||
|  | ||||
| @@ -55,7 +36,7 @@ MKDEP_OPTIONS = @MKDEP_OPTIONS@ | ||||
| INSTALL = @INSTALL@ | ||||
|  | ||||
| # Python and flags (generally only needed by the developers) | ||||
| PYTHON2 = @PYTHON2@ | ||||
| PYTHON2 = python | ||||
| PYTHON_FLAGS = -t -O -O | ||||
|  | ||||
| # Library names (base name) | ||||
| @@ -64,11 +45,6 @@ GLU_LIB = GLU | ||||
| GLUT_LIB = glut | ||||
| GLW_LIB = GLw | ||||
| OSMESA_LIB = @OSMESA_LIB@ | ||||
| GLESv1_CM_LIB = GLESv1_CM | ||||
| GLESv2_LIB = GLESv2 | ||||
| VG_LIB = OpenVG | ||||
| GLAPI_LIB = glapi | ||||
| WAYLAND_EGL_LIB = wayland-egl | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = @GL_LIB_NAME@ | ||||
| @@ -76,12 +52,6 @@ GLU_LIB_NAME = @GLU_LIB_NAME@ | ||||
| GLUT_LIB_NAME = @GLUT_LIB_NAME@ | ||||
| GLW_LIB_NAME = @GLW_LIB_NAME@ | ||||
| OSMESA_LIB_NAME = @OSMESA_LIB_NAME@ | ||||
| EGL_LIB_NAME = @EGL_LIB_NAME@ | ||||
| GLESv1_CM_LIB_NAME = @GLESv1_CM_LIB_NAME@ | ||||
| GLESv2_LIB_NAME = @GLESv2_LIB_NAME@ | ||||
| VG_LIB_NAME = @VG_LIB_NAME@ | ||||
| GLAPI_LIB_NAME = @GLAPI_LIB_NAME@ | ||||
| WAYLAND_EGL_LIB_NAME = @WAYLAND_EGL_LIB_NAME@ | ||||
|  | ||||
| # Globs used to install the lib and all symlinks | ||||
| GL_LIB_GLOB = @GL_LIB_GLOB@ | ||||
| @@ -89,34 +59,28 @@ GLU_LIB_GLOB = @GLU_LIB_GLOB@ | ||||
| GLUT_LIB_GLOB = @GLUT_LIB_GLOB@ | ||||
| GLW_LIB_GLOB = @GLW_LIB_GLOB@ | ||||
| OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@ | ||||
| EGL_LIB_GLOB = @EGL_LIB_GLOB@ | ||||
| GLESv1_CM_LIB_GLOB = @GLESv1_CM_LIB_GLOB@ | ||||
| GLESv2_LIB_GLOB = @GLESv2_LIB_GLOB@ | ||||
| VG_LIB_GLOB = @VG_LIB_GLOB@ | ||||
| GLAPI_LIB_GLOB = @GLAPI_LIB_GLOB@ | ||||
| WAYLAND_EGL_LIB_GLOB = @WAYLAND_EGL_LIB_GLOB@ | ||||
|  | ||||
| # Directories to build | ||||
| LIB_DIR = @LIB_DIR@ | ||||
| SRC_DIRS = @SRC_DIRS@ | ||||
| GLU_DIRS = @GLU_DIRS@ | ||||
| DRIVER_DIRS = @DRIVER_DIRS@ | ||||
| EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@ | ||||
| GALLIUM_DIRS = @GALLIUM_DIRS@ | ||||
| GALLIUM_AUXILIARY_DIRS = @GALLIUM_AUXILIARY_DIRS@ | ||||
| GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@ | ||||
| GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@ | ||||
| GALLIUM_TARGET_DIRS = @GALLIUM_TARGET_DIRS@ | ||||
| GALLIUM_WINSYS_DRM_DIRS = @GALLIUM_WINSYS_DRM_DIRS@ | ||||
| GALLIUM_STATE_TRACKERS_DIRS = @GALLIUM_STATE_TRACKERS_DIRS@ | ||||
| GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a | ||||
| GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a) | ||||
| GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a) | ||||
|  | ||||
| # Which subdirs under $(TOP)/progs/ to enter: | ||||
| PROGRAM_DIRS = @PROGRAM_DIRS@ | ||||
|  | ||||
| # Driver specific build vars | ||||
| DRI_DIRS = @DRI_DIRS@ | ||||
| DRICORE_GLSL_LIBS = @DRICORE_GLSL_LIBS@ | ||||
| DRICORE_LIBS = @DRICORE_LIBS@ | ||||
| DRICORE_LIB_DEPS = @DRICORE_LIB_DEPS@ | ||||
| EGL_PLATFORMS = @EGL_PLATFORMS@ | ||||
| EGL_CLIENT_APIS = @EGL_CLIENT_APIS@ | ||||
| DRI_DIRS = @DRI_DIRS@  | ||||
| WINDOW_SYSTEM = @WINDOW_SYSTEM@ | ||||
| USING_EGL = @USING_EGL@ | ||||
|  | ||||
| # Dependencies | ||||
| X11_INCLUDES = @X11_INCLUDES@ | ||||
| @@ -137,19 +101,12 @@ GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \ | ||||
| GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \ | ||||
| 	$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@ | ||||
| APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@ | ||||
| GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv1_CM_LIB_DEPS@ | ||||
| GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv2_LIB_DEPS@ | ||||
| VG_LIB_DEPS = $(EXTRA_LIB_PATH) @VG_LIB_DEPS@ | ||||
| GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) @GLAPI_LIB_DEPS@ | ||||
| WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIBPATH) @WAYLAND_EGL_LIB_DEPS@ | ||||
|  | ||||
| # DRI dependencies | ||||
| MESA_MODULES = @MESA_MODULES@ | ||||
| DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@ | ||||
| LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ | ||||
| LIBDRM_LIB = @LIBDRM_LIBS@ | ||||
| DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ | ||||
| GLPROTO_CFLAGS = @GLPROTO_CFLAGS@ | ||||
| EXPAT_INCLUDES = @EXPAT_INCLUDES@ | ||||
|  | ||||
| # Autoconf directories | ||||
| @@ -169,9 +126,6 @@ DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@ | ||||
| # Where libGL will look for DRI hardware drivers | ||||
| DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@ | ||||
|  | ||||
| # EGL driver install directory | ||||
| EGL_DRIVER_INSTALL_DIR = @EGL_DRIVER_INSTALL_DIR@ | ||||
|  | ||||
| # Xorg driver install directory (for xorg state-tracker) | ||||
| XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@ | ||||
|  | ||||
| @@ -192,28 +146,3 @@ GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@ | ||||
| GLW_PC_CFLAGS = @GLW_PC_CFLAGS@ | ||||
| OSMESA_PC_REQ = @OSMESA_PC_REQ@ | ||||
| OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@ | ||||
| GLESv1_CM_PC_LIB_PRIV = @GLESv1_CM_PC_LIB_PRIV@ | ||||
| GLESv2_PC_LIB_PRIV = @GLESv2_PC_LIB_PRIV@ | ||||
| EGL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@ | ||||
| EGL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@ | ||||
| EGL_PC_CFLAGS = @GL_PC_CFLAGS@ | ||||
| WAYLAND_EGL_PC_REQ_PRIV = @WAYLAND_EGL_PC_REQ_PRIV@ | ||||
| WAYLAND_EGL_PC_LIB_PRIV = @WAYLAND_EGL_PC_LIB_PRIV@ | ||||
| WAYLAND_EGL_PC_CFLAGS = @WAYLAND_EGL_PC_CFLAGS@ | ||||
|  | ||||
| XCB_DRI2_CFLAGS = @XCB_DRI2_CFLAGS@ | ||||
| XCB_DRI2_LIBS = @XCB_DRI2_LIBS@ | ||||
| LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@ | ||||
| LIBUDEV_LIBS = @LIBUDEV_LIBS@ | ||||
| WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ | ||||
| WAYLAND_LIBS = @WAYLAND_LIBS@ | ||||
|  | ||||
| MESA_LLVM = @MESA_LLVM@ | ||||
|  | ||||
| LLVM_VERSION = @LLVM_VERSION@ | ||||
| ifneq ($(LLVM_VERSION),) | ||||
|   HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=)) | ||||
|   DEFINES += -DHAVE_LLVM=$(HAVE_LLVM) | ||||
| endif | ||||
|  | ||||
| HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@ | ||||
|   | ||||
| @@ -90,9 +90,10 @@ else | ||||
| endif | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = gallium mesa glu glut/beos | ||||
| SRC_DIRS = gallium mesa glu glut/beos glew | ||||
| GLU_DIRS = sgi | ||||
| DRIVER_DIRS = beos | ||||
| PROGRAM_DIRS = beos samples redbook demos tests | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS =  | ||||
|   | ||||
| @@ -24,6 +24,7 @@ OSMESA_LIB_NAME = libOSMesa.a | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS = osdemos | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
| @@ -20,6 +20,7 @@ OSMESA_LIB_NAME = libOSMesa.a | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS = osdemos | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
| @@ -23,6 +23,7 @@ OSMESA_LIB_NAME = libOSMesa.a | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS = osdemos | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
| @@ -13,13 +13,10 @@ CC = gcc | ||||
| CXX = g++ | ||||
| PIC_FLAGS = -fPIC | ||||
| DEFINES =  -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE \ | ||||
| 	   -DGLX_ALIAS_UNSUPPORTED \ | ||||
| 	   -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL | ||||
|  | ||||
| # -DGLX_INDIRECT_RENDERING \ | ||||
| 	   -DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING | ||||
|  | ||||
| # -D_GNU_SOURCE          - for src/mesa/main ... | ||||
| # -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx | ||||
| # -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx/x11 | ||||
| # -DGLX_USE_APPLEGL      - supposed to be used with GLX_DIRECT_RENDERING to use AGL rather than DRM, but doesn't compile | ||||
| # -DIN_DRI_DRIVER | ||||
|  | ||||
| @@ -52,8 +49,9 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X | ||||
| APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm | ||||
|  | ||||
| # omit glw lib for now: | ||||
| SRC_DIRS = glsl mapi/glapi mapi/vgapi glx/apple mesa gallium glu glut/glx | ||||
| SRC_DIRS = glx/x11 mesa gallium glu glut/glx glew | ||||
| GLU_DIRS = sgi | ||||
| DRIVER_DIRS = osmesa | ||||
| #DRIVER_DIRS = dri | ||||
| DRI_DIRS = swrast | ||||
| PROGRAM_DIRS = xdemos | ||||
|   | ||||
							
								
								
									
										33
									
								
								configs/darwin-x86ppc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								configs/darwin-x86ppc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| # Configuration for Darwin / MacOS X, making dynamic libs | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = darwin | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = cc | ||||
| CXX = cc | ||||
| CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ | ||||
|          -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin | ||||
| CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ | ||||
|          -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin | ||||
|  | ||||
| MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = libGL.dylib | ||||
| GLU_LIB_NAME = libGLU.dylib | ||||
| GLUT_LIB_NAME = libglut.dylib | ||||
| GLW_LIB_NAME = libGLw.dylib | ||||
| OSMESA_LIB_NAME = libOSMesa.dylib | ||||
|  | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread | ||||
| OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL | ||||
| GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL | ||||
| GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext | ||||
| GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib | ||||
| APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
|  | ||||
| # omit glw lib for now: | ||||
| SRC_DIRS = gallium mesa glu glut/glx glew | ||||
|  | ||||
| @@ -9,8 +9,8 @@ CONFIG_NAME = default | ||||
|  | ||||
| # Version info | ||||
| MESA_MAJOR=7 | ||||
| MESA_MINOR=11 | ||||
| MESA_TINY=0 | ||||
| MESA_MINOR=7 | ||||
| MESA_TINY=1 | ||||
| MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY) | ||||
|  | ||||
| # external projects.  This should be useless now that we use libdrm. | ||||
| @@ -25,7 +25,6 @@ CXXFLAGS = -O | ||||
| LDFLAGS = | ||||
| HOST_CFLAGS = $(CFLAGS) | ||||
| GLU_CFLAGS =  | ||||
| GLX_TLS = no | ||||
|  | ||||
| # Compiler for building demos/tests/etc | ||||
| APP_CC = $(CC) | ||||
| @@ -53,28 +52,18 @@ INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool | ||||
| GL_LIB = GL | ||||
| GLU_LIB = GLU | ||||
| GLUT_LIB = glut | ||||
| GLEW_LIB = GLEW | ||||
| GLW_LIB = GLw | ||||
| OSMESA_LIB = OSMesa | ||||
| EGL_LIB = EGL | ||||
| GLESv1_CM_LIB = GLESv1_CM | ||||
| GLESv2_LIB = GLESv2 | ||||
| VG_LIB = OpenVG | ||||
| GLAPI_LIB = glapi | ||||
| WAYLAND_EGL_LIB = wayland-egl | ||||
|  | ||||
|  | ||||
| # Library names (actual file names) | ||||
| GL_LIB_NAME = lib$(GL_LIB).so | ||||
| GLU_LIB_NAME = lib$(GLU_LIB).so | ||||
| GLUT_LIB_NAME = lib$(GLUT_LIB).so | ||||
| GLEW_LIB_NAME = lib$(GLEW_LIB).a | ||||
| GLW_LIB_NAME = lib$(GLW_LIB).so | ||||
| OSMESA_LIB_NAME = lib$(OSMESA_LIB).so | ||||
| EGL_LIB_NAME = lib$(EGL_LIB).so | ||||
| GLESv1_CM_LIB_NAME = lib$(GLESv1_CM_LIB).so | ||||
| GLESv2_LIB_NAME = lib$(GLESv2_LIB).so | ||||
| VG_LIB_NAME = lib$(VG_LIB).so | ||||
| GLAPI_LIB_NAME = lib$(GLAPI_LIB).so | ||||
| WAYLAND_EGL_LIB_NAME = lib$(WAYLAND_EGL_LIB).so | ||||
|  | ||||
| # globs used to install the lib and all symlinks | ||||
| GL_LIB_GLOB = $(GL_LIB_NAME)* | ||||
| @@ -82,15 +71,6 @@ GLU_LIB_GLOB = $(GLU_LIB_NAME)* | ||||
| GLUT_LIB_GLOB = $(GLUT_LIB_NAME)* | ||||
| GLW_LIB_GLOB = $(GLW_LIB_NAME)* | ||||
| OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)* | ||||
| EGL_LIB_GLOB = $(EGL_LIB_NAME)* | ||||
| GLESv1_CM_LIB_GLOB = $(GLESv1_CM_LIB_NAME)* | ||||
| GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)* | ||||
| VG_LIB_GLOB = $(VG_LIB_NAME)* | ||||
| GLAPI_LIB_GLOB = $(GLAPI_LIB_NAME)* | ||||
| WAYLAND_EGL_LIB_GLOB = $(WAYLAND_EGL_LIB_NAME)* | ||||
|  | ||||
| DRI_CFLAGS = $(CFLAGS) | ||||
| DRI_CXXFLAGS = $(CXXFLAGS) | ||||
|  | ||||
| # Optional assembly language optimization files for libGL | ||||
| MESA_ASM_SOURCES =  | ||||
| @@ -103,26 +83,25 @@ MOTIF_CFLAGS = -I/usr/include/Motif1.2 | ||||
|  | ||||
| # Directories to build | ||||
| LIB_DIR = lib | ||||
| SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \ | ||||
| 	gallium egl gallium/winsys gallium/targets glu glut/glx glw | ||||
| SRC_DIRS = mesa gallium egl gallium/winsys glu glut/glx glew glw | ||||
| GLU_DIRS = sgi | ||||
| DRIVER_DIRS = x11 osmesa | ||||
| # Which subdirs under $(TOP)/progs/ to enter: | ||||
| PROGRAM_DIRS = demos redbook samples glsl objviewer xdemos | ||||
|  | ||||
| # EGL drivers to build | ||||
| EGL_DRIVERS_DIRS = glx | ||||
| # EGL directories | ||||
| EGL_DRIVERS_DIRS = demo | ||||
|  | ||||
| # Gallium directories and  | ||||
| GALLIUM_DIRS = auxiliary drivers state_trackers | ||||
| GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a | ||||
| GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 i965 svga r300 nvfx nv50 failover | ||||
| GALLIUM_AUXILIARY_DIRS = rbug draw translate cso_cache pipebuffer tgsi sct rtasm util indices vl | ||||
| GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a) | ||||
| GALLIUM_DRIVERS_DIRS = softpipe failover svga i915 trace identity | ||||
| GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a) | ||||
| GALLIUM_WINSYS_DIRS = sw sw/xlib | ||||
| GALLIUM_TARGET_DIRS = libgl-xlib | ||||
| GALLIUM_STATE_TRACKERS_DIRS = glx vega | ||||
| GALLIUM_WINSYS_DIRS = xlib egl_xlib | ||||
| GALLIUM_WINSYS_DRM_DIRS = | ||||
| GALLIUM_STATE_TRACKERS_DIRS = glx | ||||
|  | ||||
| # native platforms EGL should support | ||||
| EGL_PLATFORMS = x11 | ||||
| EGL_CLIENT_APIS = $(GL_LIB) | ||||
|  | ||||
| # Library dependencies | ||||
| #EXTRA_LIB_PATH ?= | ||||
| @@ -133,17 +112,10 @@ GLU_LIB_DEPS    = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS   = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm | ||||
| GLW_LIB_DEPS    = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11 | ||||
| APP_LIB_DEPS    = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread | ||||
| GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread | ||||
| VG_LIB_DEPS    = $(EXTRA_LIB_PATH) -lpthread | ||||
| GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread | ||||
| WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -lwayland-client -ldrm | ||||
|  | ||||
| # Program dependencies - specific GL/glut libraries added in Makefiles | ||||
| APP_LIB_DEPS = -lm | ||||
| X11_LIBS = -lX11 | ||||
|  | ||||
| DLOPEN_LIBS = -ldl | ||||
|  | ||||
| # Installation directories (for make install) | ||||
| INSTALL_DIR = /usr/local | ||||
| @@ -154,9 +126,6 @@ DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri | ||||
| # Where libGL will look for DRI hardware drivers | ||||
| DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR) | ||||
|  | ||||
| # EGL driver install directory | ||||
| EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl | ||||
|  | ||||
| # Xorg driver install directory (for xorg state-tracker) | ||||
| XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers | ||||
|  | ||||
| @@ -177,15 +146,3 @@ GLW_PC_LIB_PRIV = | ||||
| GLW_PC_CFLAGS = | ||||
| OSMESA_PC_REQ = | ||||
| OSMESA_PC_LIB_PRIV = | ||||
| GLESv1_CM_PC_REQ_PRIV = | ||||
| GLESv1_CM_PC_LIB_PRIV = | ||||
| GLESv1_CM_PC_CFLAGS = | ||||
| GLESv2_PC_REQ_PRIV = | ||||
| GLESv2_PC_LIB_PRIV = | ||||
| GLESv2_PC_CFLAGS = | ||||
| VG_PC_REQ_PRIV = | ||||
| VG_PC_LIB_PRIV = | ||||
| VG_PC_CFLAGS = | ||||
| WAYLAND_EGL_PC_REQ_PRIV = | ||||
| WAYLAND_EGL_PC_LIB_PRIV = | ||||
| WAYLAND_EGL_PC_CFLAGS = | ||||
|   | ||||
| @@ -30,11 +30,9 @@ ASM_SOURCES = | ||||
| MESA_ASM_SOURCES =  | ||||
|  | ||||
| # Library/program dependencies | ||||
| MESA_MODULES  = $(TOP)/src/mesa/libmesa.a | ||||
|  | ||||
| LIBDRM_CFLAGS = `pkg-config --cflags libdrm` | ||||
| LIBDRM_LIB = `pkg-config --libs libdrm` | ||||
| DRI_LIB_DEPS = $(MESA_MODULES) -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB) | ||||
| DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB) | ||||
| GL_LIB_DEPS = -L/usr/local/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ | ||||
| 	-lm -pthread $(LIBDRM_LIB) | ||||
|  | ||||
| @@ -43,11 +41,15 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11 | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = glx gallium mesa glu glut/glx glw | ||||
| SRC_DIRS = glx/x11 gallium mesa glu glut/glx glew glw | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS =  | ||||
| WINDOW_SYSTEM=dri | ||||
|  | ||||
| DRM_SOURCE_PATH=$(TOP)/../drm | ||||
|  | ||||
| # ffb and gamma are missing because they have not been converted to use the new | ||||
| # interface. | ||||
| DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \ | ||||
| 	   unichrome savage sis | ||||
|  | ||||
|   | ||||
| @@ -1,12 +1,12 @@ | ||||
| # linux-cell  (non-debug build) | ||||
|  | ||||
| include $(TOP)/configs/linux | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-cell | ||||
|  | ||||
|  | ||||
| # Omiting other gallium drivers: | ||||
| GALLIUM_DRIVERS_DIRS = cell softpipe trace rbug identity | ||||
| GALLIUM_DRIVERS_DIRS = cell softpipe trace | ||||
|  | ||||
|  | ||||
| # Compiler and flags | ||||
| @@ -25,20 +25,15 @@ OPT_FLAGS = -O3 | ||||
| SDK = /opt/cell/sdk/usr | ||||
|  | ||||
|  | ||||
|  | ||||
| COMMON_C_CPP_FLAGS = $(OPT_FLAGS) -Wall -Winline \ | ||||
| 	-fPIC -m32 -mabi=altivec -maltivec \ | ||||
| CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \ | ||||
| 	-fPIC -m32 -std=c99 -mabi=altivec -maltivec \ | ||||
| 	-I. -I$(SDK)/include \ | ||||
| 	-DGALLIUM_CELL $(DEFINES) | ||||
|  | ||||
| CFLAGS = $(COMMON_C_CPP_FLAGS) -Wmissing-prototypes -std=c99 | ||||
|  | ||||
| CXXFLAGS = $(COMMON_C_CPP_FLAGS) | ||||
| 	-DGALLIUM_CELL -DUSE_XSHM -D_BSD_SOURCE -D_SVID_SOURCE | ||||
|  | ||||
| CXXFLAGS = $(CFLAGS) | ||||
|  | ||||
| # Omitting glw here: | ||||
| SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \ | ||||
| 	gallium gallium/winsys gallium/targets glu glut/glx | ||||
| SRC_DIRS = gallium mesa gallium/winsys glu glut/glx glew | ||||
|  | ||||
| # Build no traditional Mesa drivers: | ||||
| DRIVER_DIRS = | ||||
|   | ||||
| @@ -5,5 +5,5 @@ include $(TOP)/configs/linux | ||||
| CONFIG_NAME = linux-debug | ||||
|  | ||||
| OPT_FLAGS = -g | ||||
| #CFLAGS += -pedantic | ||||
| CFLAGS += -ansi -pedantic | ||||
| DEFINES += -DDEBUG -DDEBUG_MATH | ||||
|   | ||||
							
								
								
									
										38
									
								
								configs/linux-directfb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								configs/linux-directfb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| # Configuration for DirectFB | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-directfb | ||||
|  | ||||
| # Compiler and flags | ||||
| CC  = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS   = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D_SVID_SOURCE \ | ||||
|          -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DPTHREADS | ||||
|  | ||||
| CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE    | ||||
|  | ||||
| # Work around aliasing bugs - developers should comment this out | ||||
| CFLAGS += -fno-strict-aliasing | ||||
| CXXFLAGS += -fno-strict-aliasing | ||||
|  | ||||
| HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes) | ||||
| ifeq ($(HAVE_X86), yes) | ||||
|      CFLAGS   += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM | ||||
|      CXXFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM | ||||
|      MESA_ASM_SOURCES = $(X86_SOURCES) | ||||
|      GLAPI_ASM_SOURCES = $(X86_API) | ||||
| endif | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS     = gallium mesa glu glut/directfb glew | ||||
| GLU_DIRS     = sgi | ||||
| DRIVER_DIRS  = directfb | ||||
| PROGRAM_DIRS = demos directfb | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS   = -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB) | ||||
| APP_LIB_DEPS  = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB) -l$(GLUT_LIB) | ||||
|  | ||||
| @@ -43,31 +43,25 @@ MESA_ASM_SOURCES = | ||||
| # Library/program dependencies | ||||
| EXTRA_LIB_PATH=-L/usr/X11R6/lib | ||||
|  | ||||
| MESA_MODULES  = $(TOP)/src/mesa/libmesa.a | ||||
|  | ||||
| LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm) | ||||
| LIBDRM_LIB = $(shell pkg-config --libs libdrm) | ||||
| DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) | ||||
| DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) | ||||
| GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ | ||||
| 		-lm -lpthread -ldl $(LIBDRM_LIB) | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS := glx egl $(SRC_DIRS) | ||||
| SRC_DIRS := glx/x11 egl $(SRC_DIRS) | ||||
| PROGRAM_DIRS := egl $(PROGRAM_DIRS) | ||||
|  | ||||
| # EGL directories | ||||
| EGL_DRIVERS_DIRS = glx | ||||
| EGL_DRIVERS_DIRS = demo glx | ||||
|  | ||||
| DRIVER_DIRS = dri | ||||
| GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel drm/i965 | ||||
| GALLIUM_TARGET_DIRS =  | ||||
| WINDOW_SYSTEM = dri | ||||
| GALLIUM_WINSYS_DIRS = drm | ||||
| GALLIUM_WINSYS_DRM_DIRS = vmware intel | ||||
| GALLIUM_STATE_TRACKERS_DIRS = egl | ||||
|  | ||||
| DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon \ | ||||
| 	savage sis tdfx unichrome swrast | ||||
|  | ||||
| INTEL_LIBS = `pkg-config --libs libdrm_intel` | ||||
| INTEL_CFLAGS = `pkg-config --cflags libdrm_intel` | ||||
|  | ||||
| RADEON_LIBS = `pkg-config --libs libdrm_radeon` | ||||
| RADEON_CFLAGS = `pkg-config --cflags libdrm_radeon` | ||||
| 	savage sis tdfx unichrome ffb swrast | ||||
|   | ||||
| @@ -16,7 +16,7 @@ LIB_DIR = lib64 | ||||
| # Library/program dependencies | ||||
| EXTRA_LIB_PATH=-L/usr/X11R6/lib64 | ||||
|  | ||||
| # sis is missing because it has not been converted to use | ||||
| # ffb, gamma, and sis are missing because they have not be converted to use | ||||
| # the new interface.  i810 are missing because there is no x86-64 | ||||
| # system where they could *ever* be used. | ||||
| # | ||||
|   | ||||
| @@ -41,16 +41,32 @@ MESA_ASM_SOURCES = | ||||
| # Library/program dependencies | ||||
| EXTRA_LIB_PATH=$(shell pkg-config --libs-only-L x11) | ||||
|  | ||||
| MESA_MODULES  = $(TOP)/src/mesa/libmesa.a | ||||
|  | ||||
| LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm) | ||||
| LIBDRM_LIB = $(shell pkg-config --libs libdrm) | ||||
| DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) | ||||
| DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) | ||||
| GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \ | ||||
|                 $(LIBDRM_LIB) $(shell pkg-config --libs xcb) $(shell pkg-config --libs x11-xcb) $(shell pkg-config --libs xcb-glx) | ||||
|  | ||||
| SRC_DIRS = glx gallium mesa glu glut/glx glw | ||||
|  | ||||
| # This is now 0 by default since it seems to confuse the hell out of people | ||||
| # and generate a lot of extra noise on bugzilla.  If you need to build with | ||||
| # EGL, do 'make linux-dri USING_EGL=1' | ||||
|  | ||||
| USING_EGL=0 | ||||
|  | ||||
| # Directories | ||||
| ifeq ($(USING_EGL), 1) | ||||
| SRC_DIRS = egl glx/x11 gallium mesa glu glut/glx glew glw | ||||
| PROGRAM_DIRS = egl | ||||
| else | ||||
| SRC_DIRS = glx/x11 gallium mesa glu glut/glx glew glw | ||||
| PROGRAM_DIRS = xdemos | ||||
| endif | ||||
|  | ||||
| DRIVER_DIRS = dri | ||||
| WINDOW_SYSTEM=dri | ||||
|  | ||||
| # gamma are missing because they have not been converted to use the new | ||||
| # interface. | ||||
| DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon \ | ||||
| 	savage sis tdfx unichrome | ||||
| 	savage sis tdfx unichrome ffb  | ||||
|   | ||||
| @@ -38,21 +38,28 @@ MESA_ASM_SOURCES = | ||||
| # Library/program dependencies | ||||
| EXTRA_LIB_PATH=-L/usr/X11R6/lib | ||||
|  | ||||
| MESA_MODULES  = $(TOP)/src/mesa/libmesa.a | ||||
|  | ||||
| LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm) | ||||
| LIBDRM_LIB = $(shell pkg-config --libs libdrm) | ||||
| DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) | ||||
| DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) | ||||
| GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ | ||||
| 		-lm -lpthread -ldl \ | ||||
|                 $(LIBDRM_LIB) | ||||
|  | ||||
|  | ||||
| # This is now 0 by default since it seems to confuse the hell out of people | ||||
| # and generate a lot of extra noise on bugzilla.  If you need to build with | ||||
| # EGL, do 'make linux-dri USING_EGL=1' | ||||
|  | ||||
| USING_EGL=0 | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = gallium mesa gallium/winsys gallium/targets glu egl | ||||
| SRC_DIRS = gallium mesa gallium/winsys glu egl | ||||
| PROGRAM_DIRS = egl | ||||
|  | ||||
| DRIVER_DIRS = dri | ||||
| WINDOW_SYSTEM = dri | ||||
| GALLIUM_WINSYS_DIRS = egl_drm | ||||
| GALLIUM_TARGET_DIRS = | ||||
|  | ||||
| # gamma are missing because they have not been converted to use the new | ||||
| # interface. | ||||
| DRI_DIRS = intel  | ||||
|   | ||||
| @@ -4,13 +4,14 @@ include $(TOP)/configs/linux | ||||
|  | ||||
| CONFIG_NAME = linux-fbdev | ||||
|  | ||||
| CFLAGS += -DUSE_GLFBDEV_DRIVER | ||||
| CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER | ||||
|  | ||||
| # Work around aliasing bugs - developers should comment this out | ||||
| CFLAGS += -fno-strict-aliasing | ||||
|  | ||||
| SRC_DIRS += glut/fbdev | ||||
| SRC_DIRS = gallium mesa glu glut/fbdev glew | ||||
| DRIVER_DIRS = fbdev osmesa | ||||
| PROGRAM_DIRS = fbdev demos redbook samples | ||||
|  | ||||
| GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread | ||||
| OSMESA_LIB_DEPS = -lm -lpthread | ||||
|   | ||||
							
								
								
									
										23
									
								
								configs/linux-glide
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								configs/linux-glide
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| # Configuration for generic Linux with 3Dfx Glide driver | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-glide | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include | ||||
| CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| # Work around aliasing bugs - developers should comment this out | ||||
| CFLAGS += -fno-strict-aliasing | ||||
| CXXFLAGS += -fno-strict-aliasing | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm | ||||
| @@ -1,9 +0,0 @@ | ||||
| # Configuration for standalone mode i965 debug | ||||
|  | ||||
| include $(TOP)/configs/linux-debug | ||||
|  | ||||
| CONFIG_NAME = linux-i965 | ||||
|  | ||||
| GALLIUM_DRIVER_DIRS = i965 | ||||
| GALLIUM_WINSYS_DIRS = drm/i965/xlib | ||||
| GALLIUM_TARGET_DIRS = | ||||
| @@ -42,11 +42,12 @@ MESA_ASM_SOURCES = | ||||
| # Library/program dependencies | ||||
| EXTRA_LIB_PATH=-L/usr/X11R6/lib | ||||
|  | ||||
| MESA_MODULES  = $(TOP)/src/mesa/libmesa.a | ||||
| DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl | ||||
| DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl | ||||
| GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = glx glu glut/glx glw | ||||
| SRC_DIRS = glx/x11 glu glut/glx glew glw | ||||
| DRIVER_DIRS = | ||||
| PROGRAM_DIRS =  | ||||
| WINDOW_SYSTEM=dri | ||||
|   | ||||
| @@ -1,18 +1,18 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for Linux and LLVM with optimizations | ||||
| # Configuration for Linux and LLVM with debugging info | ||||
| # Builds the llvmpipe gallium driver | ||||
|  | ||||
| include $(TOP)/configs/linux | ||||
|  | ||||
| CONFIG_NAME = linux-llvm | ||||
|  | ||||
| #GALLIUM_AUXILIARY_DIRS += gallivm | ||||
|  | ||||
| # Add llvmpipe driver | ||||
| GALLIUM_DRIVERS_DIRS += llvmpipe | ||||
|  | ||||
| OPT_FLAGS = -O3 -ansi -pedantic | ||||
| ARCH_FLAGS = -mmmx -msse -msse2 -mstackrealign | ||||
|  | ||||
| DEFINES += -DNDEBUG -DGALLIUM_LLVMPIPE | ||||
| OPT_FLAGS = -g -ansi -pedantic | ||||
| DEFINES += -DDEBUG -DDEBUG_MATH -DGALLIUM_LLVMPIPE -DHAVE_UDIS86 | ||||
|  | ||||
| # override -std=c99 | ||||
| CFLAGS += -std=gnu99 | ||||
| @@ -24,16 +24,14 @@ ifeq ($(LLVM_VERSION),) | ||||
|   MESA_LLVM=0 | ||||
| else | ||||
|   MESA_LLVM=1 | ||||
|   HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=)) | ||||
|   DEFINES += -DHAVE_LLVM=$(HAVE_LLVM) | ||||
| #  $(info Using LLVM version: $(LLVM_VERSION)) | ||||
| endif | ||||
|  | ||||
| ifeq ($(MESA_LLVM),1) | ||||
|   LLVM_CFLAGS=`llvm-config --cppflags` | ||||
|   LLVM_CXXFLAGS=`llvm-config --cxxflags` -Wno-long-long | ||||
|   LLVM_LDFLAGS = $(shell llvm-config --ldflags) | ||||
|   LLVM_LIBS = $(shell llvm-config --libs) | ||||
| #  LLVM_CFLAGS=`llvm-config --cflags` | ||||
|   LLVM_CXXFLAGS=`llvm-config --cxxflags backend bitreader engine ipo interpreter instrumentation` -Wno-long-long | ||||
|   LLVM_LDFLAGS = $(shell llvm-config --ldflags backend bitreader engine ipo interpreter instrumentation) | ||||
|   LLVM_LIBS = $(shell llvm-config --libs backend bitreader engine ipo interpreter instrumentation) | ||||
|   MKLIB_OPTIONS=-cplusplus | ||||
| else | ||||
|   LLVM_CFLAGS= | ||||
| @@ -41,4 +39,4 @@ else | ||||
| endif | ||||
|  | ||||
| LD = g++ | ||||
| GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++ | ||||
| GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++ -ludis86 | ||||
|   | ||||
| @@ -1,12 +0,0 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for Linux and LLVM with debugging info | ||||
| # Builds the llvmpipe gallium driver | ||||
|  | ||||
| include $(TOP)/configs/linux-llvm | ||||
|  | ||||
| CONFIG_NAME = linux-llvm-debug | ||||
|  | ||||
| OPT_FLAGS = -g -ansi -pedantic | ||||
|  | ||||
| DEFINES += -DDEBUG -UNDEBUG | ||||
|  | ||||
| @@ -1,28 +0,0 @@ | ||||
| # Configuration for OpenGL ES on Linux | ||||
|  | ||||
| include $(TOP)/configs/linux | ||||
|  | ||||
| CONFIG_NAME = linux-opengl-es | ||||
|  | ||||
| # Directories to build | ||||
| LIB_DIR = lib | ||||
| SRC_DIRS = egl glsl mapi/es1api mapi/es2api mesa/es \ | ||||
| 	gallium gallium/winsys gallium/targets | ||||
|  | ||||
| # egl st needs this | ||||
| DEFINES += -DGLX_DIRECT_RENDERING | ||||
|  | ||||
| # no mesa or egl drivers | ||||
| DRIVER_DIRS = | ||||
| EGL_DRIVERS_DIRS = | ||||
|  | ||||
| GALLIUM_DRIVERS_DIRS = softpipe | ||||
|  | ||||
| # build libGLES*.so | ||||
| GALLIUM_STATE_TRACKERS_DIRS = es | ||||
|  | ||||
| # build egl_x11_{swrast,i915}.so | ||||
| GALLIUM_DRIVERS_DIRS += trace rbug i915 | ||||
| GALLIUM_STATE_TRACKERS_DIRS += egl | ||||
| GALLIUM_WINSYS_DIRS += drm/intel | ||||
| GALLIUM_TARGET_DIRS += egl-swrast egl-i915 | ||||
| @@ -9,7 +9,7 @@ CONFIG_NAME = linux-osmesa | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
| CFLAGS = -g -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS | ||||
| CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS | ||||
| CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
|  | ||||
| # Work around aliasing bugs - developers should comment this out | ||||
| @@ -17,11 +17,12 @@ CFLAGS += -fno-strict-aliasing | ||||
| CXXFLAGS += -fno-strict-aliasing | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mapi/glapi glsl mesa glu | ||||
| SRC_DIRS = gallium mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS = osdemos | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
| OSMESA_LIB_DEPS = -lm -lpthread -ldl | ||||
| OSMESA_LIB_DEPS = -lm -lpthread | ||||
| GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB) | ||||
| APP_LIB_DEPS = -lm -lpthread | ||||
|   | ||||
| @@ -24,6 +24,7 @@ OSMESA_LIB_NAME = libOSMesa.a | ||||
| # Directories | ||||
| SRC_DIRS = mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS = osdemos | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
| @@ -20,8 +20,9 @@ OSMESA_LIB_NAME = libOSMesa16.so | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mapi/glapi glsl mesa glu | ||||
| SRC_DIRS = gallium mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS =  | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
| @@ -24,6 +24,7 @@ OSMESA_LIB_NAME = libOSMesa16.a | ||||
| # Directories | ||||
| SRC_DIRS = gallium mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS =  | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
| @@ -20,8 +20,9 @@ OSMESA_LIB_NAME = libOSMesa32.so | ||||
|  | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = mapi/glapi glsl mesa glu | ||||
| SRC_DIRS = gallium mesa glu | ||||
| DRIVER_DIRS = osmesa | ||||
| PROGRAM_DIRS =  | ||||
|  | ||||
|  | ||||
| # Dependencies | ||||
|   | ||||
							
								
								
									
										54
									
								
								configs/linux-solo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								configs/linux-solo
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| # Configuration for linux-solo: Linux DRI hardware drivers for fbdev | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-solo | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| WARN_FLAGS = -Wall -Wundef | ||||
| OPT_FLAGS  = -O3 -g | ||||
| PIC_FLAGS  = -fPIC | ||||
|  | ||||
| # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. | ||||
| ARCH_FLAGS ?= | ||||
|  | ||||
| # DRM and pciaccess | ||||
| LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm) | ||||
| LIBDRM_LIB = $(shell pkg-config --libs libdrm) | ||||
| PCIACCESS_CFLAGS = $(shell pkg-config --cflags pciaccess) | ||||
| PCIACCESS_LIB = $(shell pkg-config --libs pciaccess) | ||||
|  | ||||
|  | ||||
| DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ | ||||
| 	-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \ | ||||
| 	-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \ | ||||
| 	-DHAVE_ALIAS | ||||
|  | ||||
| CFLAGS   = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \ | ||||
| 	$(ASM_FLAGS) -std=c99 -ffast-math  | ||||
|  | ||||
| CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) | ||||
|  | ||||
| # Work around aliasing bugs - developers should comment this out | ||||
| CFLAGS += -fno-strict-aliasing | ||||
| CXXFLAGS += -fno-strict-aliasing | ||||
|  | ||||
| MESA_ASM_SOURCES =  | ||||
|  | ||||
| # Library/program dependencies | ||||
| DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) $(PCIACCESS_LIB) | ||||
| GL_LIB_DEPS = -lm -lpthread -ldl | ||||
| GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm | ||||
| GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm | ||||
| APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread | ||||
|  | ||||
| # Directories | ||||
| SRC_DIRS = glx/mini gallium mesa glu glut/mini glew | ||||
| DRIVER_DIRS = dri | ||||
| PROGRAM_DIRS = miniglx | ||||
|  | ||||
| #DRI_DIRS = ffb gamma sis savage tdfx unichrome fb | ||||
| DRI_DIRS = i810 i915tex i915 mach64 mga r128 r200 radeon | ||||
							
								
								
									
										7
									
								
								configs/linux-solo-ia64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								configs/linux-solo-ia64
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| # Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev | ||||
|  | ||||
| include $(TOP)/configs/linux-solo | ||||
|  | ||||
| CONFIG_NAME = linux-solo-ia64 | ||||
|  | ||||
| DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome | ||||
							
								
								
									
										10
									
								
								configs/linux-solo-x86
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								configs/linux-solo-x86
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # -*-makefile-*- | ||||
| # Configuration for linux-solo-x86: Linux hardware drivers for fbdev for x86 | ||||
|  | ||||
| include $(TOP)/configs/linux-solo | ||||
|  | ||||
| CONFIG_NAME = linux-solo-x86 | ||||
|  | ||||
| ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM | ||||
| MESA_ASM_SOURCES = $(X86_SOURCES) | ||||
| GLAPI_ASM_SOURCES = $(X86_API) | ||||
							
								
								
									
										28
									
								
								configs/linux-x86-glide
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								configs/linux-x86-glide
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| # Configuration for Linux with 3Dfx Glide driver and x86 optimizations | ||||
|  | ||||
| include $(TOP)/configs/default | ||||
|  | ||||
| CONFIG_NAME = linux-x86-glide | ||||
|  | ||||
| # Compiler and flags | ||||
| CC = gcc | ||||
| CXX = g++ | ||||
|  | ||||
| CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include | ||||
|  | ||||
| CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE | ||||
|  | ||||
| GLUT_CFLAGS = -fexceptions | ||||
|  | ||||
| # Work around aliasing bugs - developers should comment this out | ||||
| CFLAGS += -fno-strict-aliasing | ||||
| CXXFLAGS += -fno-strict-aliasing | ||||
|  | ||||
| MESA_ASM_SOURCES = $(X86_SOURCES) | ||||
| GLAPI_ASM_SOURCES = $(X86_API) | ||||
|  | ||||
| # Library/program dependencies | ||||
| GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread | ||||
| GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm | ||||
| GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 | ||||
| APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm | ||||
							
								
								
									
										1006
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										1006
									
								
								configure.ac
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										119
									
								
								docs/GL3.txt
									
									
									
									
									
								
							
							
						
						
									
										119
									
								
								docs/GL3.txt
									
									
									
									
									
								
							| @@ -1,119 +0,0 @@ | ||||
|  | ||||
| Status of OpenGL 3.x features in Mesa | ||||
|  | ||||
|  | ||||
| Note: when an item is marked as "DONE" it means all the core Mesa | ||||
| infrastructure is complete but it may be the case that few (if any) drivers | ||||
| implement the features. | ||||
|  | ||||
|  | ||||
| Feature                                               Status | ||||
| ----------------------------------------------------- ------------------------ | ||||
|  | ||||
| GL 3.0: | ||||
|  | ||||
| GLSL changes (GL_EXT_gpu_shader4, etc)                not started | ||||
| Conditional rendering (GL_NV_conditional_render)      DONE (swrast & softpipe) | ||||
| Map buffer subranges (GL_ARB_map_buffer_range)        DONE | ||||
| Clamping controls (GL_ARB_color_buffer_float)         BRANCH ~mareko/mesa floating2 | ||||
| Float textures, renderbuffers (GL_ARB_texture_float)  BRANCH ~mareko/mesa floating2 | ||||
| GL_EXT_packed_float                                   not started | ||||
| GL_EXT_texture_shared_exponent                        not started | ||||
| Float depth buffers (GL_ARB_depth_buffer_float)       not started | ||||
| Framebuffer objects (GL_EXT_framebuffer_object)       DONE | ||||
| Half-float                                            DONE | ||||
| Multisample blit                                      DONE | ||||
| Non-normalized Integer texture/framebuffer formats    ~50% done | ||||
| 1D/2D Texture arrays                                  core Mesa, swrast done | ||||
| Packed depth/stencil formats                          DONE | ||||
| Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE | ||||
| GL_EXT_texture_compression_rgtc                       DONE (swrast, gallium r600) | ||||
| Red and red/green texture formats                     DONE (swrast, i965, gallium) | ||||
| Transform feedback (GL_EXT_transform_feedback)        ~50% done | ||||
|    glBindFragDataLocation, glGetFragDataLocation, | ||||
|    glBindBufferRange, glBindBufferBase commands | ||||
| Vertex array objects (GL_APPLE_vertex_array_object)   DONE | ||||
| sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     core GL done (i965, gallium), GLX todo | ||||
| glClearBuffer commands                                DONE | ||||
| glGetStringi command                                  DONE | ||||
| glTexParameterI, glGetTexParameterI commands          DONE | ||||
| glVertexAttribI commands                              DONE (but converts int | ||||
|                                                             values to floats) | ||||
| Depth format cube textures                            0% done | ||||
|  | ||||
|  | ||||
|  | ||||
| GL 3.1: | ||||
|  | ||||
| GLSL 1.30 and 1.40                                    not started | ||||
| Instanced drawing (GL_ARB_draw_instanced)             DONE (gallium, swrast) | ||||
| Buffer copying (GL_ARB_copy_buffer)                   DONE | ||||
| Primitive restart (GL_NV_primitive_restart)           DONE (gallium) | ||||
| 16 vertex texture image units                         not started | ||||
| Texture buffer objs (GL_ARB_texture_buffer_object)    not started | ||||
| Rectangular textures (GL_ARB_texture_rectangle)       DONE | ||||
| Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started | ||||
| Signed normalized textures (GL_EXT_texture_snorm)     ~50% done | ||||
|  | ||||
|  | ||||
| GL 3.2: | ||||
|  | ||||
| Core/compatibility profiles                           not started | ||||
| GLSL 1.50                                             not started | ||||
| Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack) | ||||
| BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE | ||||
| Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE | ||||
| Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium) | ||||
| Provoking vertex (GL_ARB_provoking_vertex)            DONE | ||||
| Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE, mostly? | ||||
| Multisample textures (GL_ARB_texture_multisample)     not started | ||||
| Frag depth clamp (GL_ARB_depth_clamp)                 DONE | ||||
| Fence objects (GL_ARB_sync)                           DONE | ||||
|  | ||||
|  | ||||
| GL 3.3: | ||||
|  | ||||
| GLSL 3.30                                             not started | ||||
| GL_ARB_blend_func_extended                            not started | ||||
| GL_ARB_explicit_attrib_location                       DONE (swrast, i915, i965) | ||||
| GL_ARB_occlusion_query2                               DONE (swrast, gallium) | ||||
| GL_ARB_sampler_objects                                not started | ||||
| GL_ARB_texture_rgb10_a2ui                             not started | ||||
| GL_ARB_texture_swizzle                                DONE (same as EXT version) | ||||
| GL_ARB_timer_query                                    DONE (only Xlib sw driver) | ||||
| GL_ARB_instanced_arrays                               DONE (gallium) | ||||
| GL_ARB_vertex_type_2_10_10_10_rev                     not started | ||||
|  | ||||
|  | ||||
| GL 4.0: | ||||
|  | ||||
| GLSL 4.0                                             not started | ||||
| GL_ARB_texture_query_lod                             not started | ||||
| GL_ARB_draw_buffers_blend                            DONE (gallium softpipe) | ||||
| GL_ARB_draw_indirect                                 not started | ||||
| GL_ARB_gpu_shader_fp64                               not started | ||||
| GL_ARB_sample_shading                                not started | ||||
| GL_ARB_shader_subroutine                             not started | ||||
| GL_ARB_tessellation_shader                           not started | ||||
| GL_ARB_texture_buffer_object_rgb32                   not started | ||||
| GL_ARB_texture_cube_map_array                        not started | ||||
| GL_ARB_texture_gather                                not started | ||||
| GL_ARB_transform_feedback2                           not started | ||||
| GL_ARB_transform_feedback3                           not started | ||||
|  | ||||
|  | ||||
| GL 4.1: | ||||
|  | ||||
| GLSL 4.1                                             not started | ||||
| GL_ARB_ES2_compatibility                             not started | ||||
| GL_ARB_get_program_binary                            not started | ||||
| GL_ARB_separate_shader_objects                       some infrastructure done | ||||
| GL_ARB_shader_precision                              not started | ||||
| GL_ARB_vertex_attrib_64bit                           not started | ||||
| GL_ARB_viewport_array                                not started | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| More info about these features and the work involved can be found at | ||||
| http://dri.freedesktop.org/wiki/MissingFunctionality | ||||
| @@ -1,149 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_drm_image | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     EGL_MESA_drm_image | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Kristian Høgsberg <krh@bitplanet.net> | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Proposal | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Version 2, August 25, 2010 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     EGL Extension #not assigned | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     Reguires EGL 1.4 or later.  This extension is written against the | ||||
|     wording of the EGL 1.4 specification. | ||||
|  | ||||
|     EGL_KHR_base_image is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension provides entry points for integrating EGLImage with the | ||||
|     Linux DRM mode setting and memory management drivers.  The extension | ||||
|     lets applications create EGLImages without a client API resource and | ||||
|     lets the application get the DRM buffer handles. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy, | ||||
|                                       const EGLint *attrib_list); | ||||
|  | ||||
|     EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy, | ||||
|                                      EGLImageKHR image, | ||||
|                                      EGLint *name, | ||||
| 				     EGLint *handle, | ||||
| 				     EGLint *stride); | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted in the <attrib_list> parameter of eglCreateDRMImageMESA: | ||||
|  | ||||
|         EGL_DRM_BUFFER_FORMAT_MESA		0x31D0 | ||||
|         EGL_DRM_BUFFER_USE_MESA			0x31D1 | ||||
|  | ||||
|     Accepted as values for the EGL_IMAGE_FORMAT_MESA attribute: | ||||
|  | ||||
|         EGL_DRM_BUFFER_FORMAT_ARGB32_MESA	0x31D2 | ||||
|  | ||||
|     Bits accepted in EGL_DRM_BUFFER_USE_MESA: | ||||
|  | ||||
|         EGL_DRM_BUFFER_USE_SCANOUT_MESA		0x0001 | ||||
|         EGL_DRM_BUFFER_USE_SHARE_MESA		0x0002 | ||||
|  | ||||
|     Accepted in the <target> parameter of eglCreateImageKHR: | ||||
|  | ||||
|         EGL_DRM_BUFFER_MESA			0x31D3 | ||||
|  | ||||
|     Use when importing drm buffer: | ||||
|  | ||||
|         EGL_DRM_BUFFER_STRIDE_MESA		0x31D4 | ||||
|         EGL_DRM_BUFFER_FORMAT_MESA		0x31D0 | ||||
|  | ||||
| Additions to the EGL 1.4 Specification: | ||||
|  | ||||
|     To create a DRM EGLImage, call | ||||
|  | ||||
|         EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy, | ||||
|                                           const EGLint *attrib_list); | ||||
|  | ||||
|     In the attribute list, pass EGL_WIDTH, EGL_HEIGHT and format and | ||||
|     use in the attrib list using EGL_DRM_BUFFER_FORMAT_MESA and | ||||
|     EGL_DRM_BUFFER_USE_MESA.  The only format specified by this | ||||
|     extension is EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel | ||||
|     is a CPU-endian, 32-bit quantity, with alpha in the upper 8 bits, | ||||
|     then red, then green, then blue.  The bit values accepted by | ||||
|     EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA and | ||||
|     EGL_DRM_BUFFER_USE_SHARE_MESA.  EGL_DRM_BUFFER_USE_SCANOUT_MESA | ||||
|     requests that the created EGLImage should be usable as a scanout | ||||
|     buffer with the DRM kernel modesetting API.  The | ||||
|     EGL_DRM_BUFFER_USE_SHARE_MESA bit requests that the EGLImage can | ||||
|     be shared with other processes by passing the underlying DRM | ||||
|     buffer name. | ||||
|  | ||||
|     To create a process local handle or a global DRM name for a | ||||
|     buffer, call | ||||
|  | ||||
|         EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy, | ||||
|                                          EGLImageKHR image, | ||||
|                                          EGLint *name, | ||||
|                                          EGLint *handle, | ||||
|                                          EGLint *stride); | ||||
|  | ||||
|     If <name> is non-NULL, a global name is assigned to the image and | ||||
|     written to <name>, the handle (local to the DRM file descriptor, | ||||
|     for use with DRM kernel modesetting API) is written to <handle> if | ||||
|     non-NULL and the stride (in bytes) is written to <stride>, if | ||||
|     non-NULL. | ||||
|  | ||||
|     Import a shared buffer by calling eglCreateImageKHR with | ||||
|     EGL_DRM_BUFFER_MESA as the target, using EGL_WIDTH, EGL_HEIGHT, | ||||
|     EGL_DRM_BUFFER_FORMAT_MESA, EGL_DRM_BUFFER_STRIDE_MESA | ||||
|     in the attrib list. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     1.  Why don't we use eglCreateImageKHR with a target that | ||||
|         indicates that we want to create an EGLImage from scratch? | ||||
|  | ||||
|         RESOLVED: The eglCreateImageKHR entry point is reserved for | ||||
|         creating an EGLImage from an already existing client API | ||||
|         resource.  This is fine when we're creating the EGLImage from | ||||
|         an existing DRM buffer name, it doesn't seem right to overload | ||||
|         the function to also allocate the underlying resource. | ||||
|  | ||||
|     2.  Why don't we use an eglQueryImageMESA type functions for | ||||
|         querying the DRM EGLImage attributes (name, handle, and stride)? | ||||
|  | ||||
|         RESOLVED: The eglQueryImage function has been proposed often, | ||||
|         but it goes against the EGLImage design.  EGLImages are opaque | ||||
|         handles to a 2D array of pixels, which can be passed between | ||||
|         client APIs.  By referenceing an EGLImage in a client API, the | ||||
|         EGLImage target (a texture, a renderbuffer or such) can be | ||||
|         used to query the attributes of the EGLImage.  We don't have a | ||||
|         full client API for creating and querying DRM buffers, though, | ||||
|         so we use a new EGL extension entry point instead. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     Version 1, June 3, 2010 | ||||
|         Initial draft (Kristian Høgsberg) | ||||
|     Version 2, August 25, 2010 | ||||
|         Flesh out the extension a bit, add final EGL tokens, capture | ||||
|         some of the original discussion in the issues section. | ||||
| @@ -1,158 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_multithread_makecurrent | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_multithread_makecurrent | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Eric Anholt (eric@anholt.net) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Not shipping. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Last Modified Date:  21 February 2011 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required. | ||||
|     GLX 1.3 or later is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     The GLX context setup encourages multithreaded applications to | ||||
|     create a context per thread which each operate on their own | ||||
|     objects in parallel, and leaves synchronization for write access | ||||
|     to shared objects up to the application. | ||||
|  | ||||
|     For some applications, maintaining per-thread contexts and | ||||
|     ensuring that the glFlush happens in one thread before another | ||||
|     thread starts working on that object is difficult.  For them, | ||||
|     using the same context across multiple threads and protecting its | ||||
|     usage with a mutex is both higher performance and easier to | ||||
|     implement.  This extension gives those applications that option by | ||||
|     relaxing the context binding requirements. | ||||
|  | ||||
|     This new behavior matches the requirements of AGL, while providing | ||||
|     a feature not specified in WGL. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Changes to Chapter 2 of the GLX 1.3 Specification (Functions and Errors) | ||||
|  | ||||
|     Replace the following sentence from section 2.2 Rendering Contexts: | ||||
| 	In addition, a rendering context can be current for only one | ||||
| 	thread at a time. | ||||
|     with: | ||||
| 	In addition, an indirect rendering context can be current for | ||||
| 	only one thread at a time.  A direct rendering context may be | ||||
| 	current to multiple threads, with synchronization of access to | ||||
| 	the context thruogh the GL managed by the application through | ||||
| 	mutexes. | ||||
|  | ||||
| Changes to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | ||||
|  | ||||
|     Replace the following sentence from section 3.3.7 Rendering Contexts: | ||||
| 	If ctx is current to some other thread, then | ||||
| 	glXMakeContextCurrent will generate a BadAccess error. | ||||
|     with: | ||||
| 	If ctx is an indirect context current to some other thread, | ||||
| 	then glXMakeContextCurrent will generate a BadAccess error. | ||||
|  | ||||
|     Replace the following sentence from section 3.5 Rendering Contexts: | ||||
| 	If ctx is current to some other thread, then | ||||
| 	glXMakeCurrent will generate a BadAccess error. | ||||
|     with: | ||||
| 	If ctx is an indirect context current to some other thread, | ||||
| 	then glXMakeCurrent will generate a BadAccess error. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None.  The GLX extension only extends to direct rendering contexts. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     (1) What happens if the app binds a context/drawable in multiple | ||||
| 	threads, then binds a different context/thread in one of them? | ||||
|  | ||||
|     As with binding a new context from the current thread, the old | ||||
|     context's refcount is reduced and the new context's refcount is | ||||
|     increased. | ||||
|  | ||||
|     (2) What happens if the app binds a context/drawable in multiple | ||||
| 	threads, then binds None/None in one of them? | ||||
|  | ||||
|     The GLX context is unreferenced from that thread, and the other | ||||
|     threads retain their GLX context binding. | ||||
|  | ||||
|     (3) What happens if the app binds a context/drawable in 7 threads, | ||||
| 	then destroys the context in one of them? | ||||
|  | ||||
|     As with GLX context destruction previously, the XID is destroyed | ||||
|     but the context remains usable by threads that have the context | ||||
|     current. | ||||
|  | ||||
|     (4) What happens if the app binds a new drawable/readable with | ||||
|         glXMakeCurrent() when it is already bound to another thread? | ||||
|  | ||||
|     The context becomes bound to the new drawable/readable, and | ||||
|     further rendering in either thread will use the new | ||||
|     drawable/readable. | ||||
|  | ||||
|     (5) What requirements should be placed on the user managing contexts | ||||
|         from multiple threads? | ||||
|  | ||||
|     The intention is to allow multithreaded access to the GL at the | ||||
|     minimal performance cost, so requiring that the GL do general | ||||
|     synchronization (beyond that already required by context sharing) | ||||
|     is not an option, and synchronizing of GL's access to the GL | ||||
|     context between multiple threads is left to the application to do | ||||
|     across GL calls.  However, it would be unfortunate for a library | ||||
|     doing multithread_makecurrent to require that other libraries | ||||
|     share in synchronization for binding of their own contexts, so the | ||||
|     refcounting of the contexts is required to be threadsafe. | ||||
|  | ||||
|     (6) Does this apply to indirect contexts? | ||||
|  | ||||
|     This was ignored in the initial revision of the spec.  Behavior | ||||
|     for indirect contexts is left as-is. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     20 November 2009 Eric Anholt - initial specification | ||||
|     22 November 2009 Eric Anholt - added issues from Ian Romanick. | ||||
|     3 February 2011 Eric Anholt - updated with resolution to issues 1-3 | ||||
|     3 February 2011 Eric Anholt - added issue 4, 5 | ||||
|     21 February 2011 Eric Anholt - Include glXMakeCurrent() sentence | ||||
|     along with glXMakeContextCurrent() for removal. | ||||
| @@ -43,7 +43,7 @@ Issues | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     int glXSwapIntervalMESA(unsigned int interval) | ||||
|     int glXSwapIntervalMESA(int interval) | ||||
|     int glXGetSwapIntervalMESA(void) | ||||
|  | ||||
| New Tokens | ||||
| @@ -103,8 +103,11 @@ Additions to the GLX 1.3 Specification | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is | ||||
|     less than zero. | ||||
|  | ||||
|     glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current | ||||
|     GLXContext or if the current context is not a direct rendering context. | ||||
|     GLXContext. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|   | ||||
							
								
								
									
										534
									
								
								docs/MiniGLX.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										534
									
								
								docs/MiniGLX.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,534 @@ | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | ||||
| <html> | ||||
| <head> | ||||
|   <title>Mini GLX Specification</title> | ||||
| </head> | ||||
| <body> | ||||
| <h1> | ||||
| <center>Mini GLX Specification</center> | ||||
| </h1> | ||||
| <h2> | ||||
| <center>Tungsten Graphics, Inc.<br> | ||||
| <br> | ||||
| January 20, 2003<br> | ||||
| <br> | ||||
| </center> | ||||
| </h2> | ||||
| <p> Copyright © 2002-2003 by Tungsten Graphics, Inc., Cedar Park, | ||||
| Texas. All Rights Reserved. <br> | ||||
| <br> | ||||
| Permission is granted to make and distribute verbatim copies of this | ||||
| document provided the copyright notice and this permission notice are | ||||
| preserved on all copies.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>1. Introduction</h1> | ||||
| <p>The Mini GLX interface facilitates OpenGL rendering on embedded | ||||
| devices. The interface is a subset of the GLX interface, plus a minimal | ||||
| set of Xlib-like functions.</p> | ||||
| <p>Programs written to the Mini GLX specification should run unchanged | ||||
| on systems with the X Window System and the GLX extension. The intention | ||||
| is to allow flexibility for prototyping and testing.</p> | ||||
| <p>This document serves as both the reference guide and programming | ||||
| guide for Mini GLX.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>2. Mini GLX Concepts</h1> | ||||
| <p>The OpenGL specification does not describe how OpenGL rendering | ||||
| contexts and drawing surfaces (i.e. the frame buffer) are created and | ||||
| managed. Rather, this is handled by an OpenGL window system interface, | ||||
| such as Mini GLX.</p> | ||||
| <p>There are three main datatypes or resources managed by Mini GLX. The | ||||
| resources and their corresponding GLX or Xlib data types are:</p> | ||||
| <table cellspacing="10" align="center"> | ||||
|   <tbody> | ||||
|     <tr> | ||||
|       <td><u>Resource</u></td> | ||||
|       <td><u>Data type</u></td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>pixel formats</td> | ||||
|       <td>X Visual and XVisualInfo</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>drawing surfaces</td> | ||||
|       <td>X Window or GLXDrawable</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>rendering contexts</td> | ||||
|       <td>GLXContext</td> | ||||
|     </tr> | ||||
|   </tbody> | ||||
| </table> | ||||
| <p>Pixel formats or X Visuals describe the per-pixel attributes of the | ||||
| frame buffer.  For example, bits per color component, Z buffer size, | ||||
| stencil size, TrueColor vs PseudoColor, etc.</p> | ||||
| <p>Drawing surfaces or X Windows typically describe a spatial | ||||
| allocation of the frame buffer (i.e. the position and size of a | ||||
| rectangular region of pixels).  Since MiniGLX doesn't really support a | ||||
| window system, the window is effectively the entire frame buffer.</p> | ||||
| <p>A rendering context represents the current OpenGL state such as | ||||
| current drawing color, line width, blending mode, texture parameters, | ||||
| etc. Several rendering contexts can be created but only one can be in | ||||
| use at any given time.</p> | ||||
| <p>The Mini GLX interface provides all the functions needed for | ||||
| choosing pixel formats, create drawing surfaces, creating rendering | ||||
| contexts and binding rendering contexts to drawing surfaces.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>3. Using Mini GLX</h1> | ||||
| <p>To use the Mini GLX interface in your application, include the | ||||
| GL/miniglx.h header file at compile time:</p> | ||||
| <blockquote><code>	#include <GL/miniglx.h><br> | ||||
|   </code></blockquote> | ||||
| <code></code>Applications should link with libGL.so (i.e. <code>gcc | ||||
| myprogram.o -lGL -o myprogram</code>).  libGL.so implements the | ||||
| MiniGLX API functions and, in turn, loads a hardware-specific device | ||||
| driver (such as <code>radeon_dri.so</code>) at runtime.  The | ||||
| environment variable <code>LIBGL_DRIVERS_PATH</code> should name the | ||||
| directory where these modules are located.<br> | ||||
| <br> | ||||
| The remainder of this section describes the MiniGLX API functions.<br> | ||||
| <br> | ||||
| <h2>3.1 Initialization</h2> | ||||
| <p>The XOpenDisplay function is used to initialize the graphics system:</p> | ||||
| <blockquote> | ||||
|   <pre>Display *XOpenDisplay(const char *displayname)<br></pre> | ||||
| </blockquote> | ||||
| <p>The <code>displayName</code> parameter is currently ignored in Mini | ||||
| GLX. It is recommended that <code>NULL</code> be passed as the<code>displayName</code> | ||||
| parameter.</p> | ||||
| <p>If XOpenDisplay is able to initialize the graphics system a pointer | ||||
| to a Display will be returned.  Otherwise, NULL will be returned.</p> | ||||
| <h2>3.2 Choosing a Visual</h2> | ||||
| <p>A visual (i.e. pixel format) must be chosen before a drawing surface | ||||
| or rendering context can be created.  This is done with the | ||||
| glXChooseVisual function:</p> | ||||
| <blockquote> | ||||
|   <pre>XVisualInfo *glXChooseVisual(Display *dpy, int screen, const int *attribList)<br></pre> | ||||
| </blockquote> | ||||
| <p><code>dpy</code> is a pointer to the display returned by | ||||
| XOpenDisplay. </p> | ||||
| <p><code>screen</code> is currently ignored by Mini GLX and should be | ||||
| zero. </p> | ||||
| <p><code>attribList</code> is a list of GLX attributes which describe | ||||
| the desired pixel format.  It is terminated by the token <code>None</code>. | ||||
| The attributes are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>GLX_USE_GL</code></dt> | ||||
|     <dd>This attribute should always be present in order to maintain | ||||
| compatibility with GLX.</dd> | ||||
|     <dt><code>GLX_RGBA</code></dt> | ||||
|     <dd>If present, only RGBA pixel formats will be considered. | ||||
| Otherwise, only color index formats are considered.</dd> | ||||
|     <dt><code>GLX_DOUBLEBUFFER</code></dt> | ||||
|     <dd>if present, only double-buffered pixel formats will	be chosen.</dd> | ||||
|     <dt><code>GLX_RED_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per red pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_GREEN_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per green pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_BLUE_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per blue pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_ALPHA_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per alpha pixel component that is acceptable.</dd> | ||||
|     <dt><code>GLX_STENCIL_SIZE n</code></dt> | ||||
|     <dd>Must be followed by a non-negative integer indicating the | ||||
| minimum number of bits per stencil value that is acceptable.</dd> | ||||
|     <dt><code>None</code></dt> | ||||
|     <dd>This token is used to terminate the attribute list.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p>glXChooseVisual will return a pointer to an XVisualInfo object which | ||||
| most closely matches the requirements of the attribute list.  If there | ||||
| is no visual which matches the request, NULL will be returned.</p> | ||||
| <p>Note that visuals with accumulation buffers and depth buffers are | ||||
| not available.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.3 Creating a Drawing Surface</h2> | ||||
| <p>Drawing surfaces are created as X windows.  For Mini GLX, | ||||
| windows are <i>full-screen</i>; they cover the entire frame buffer. | ||||
|  Also, Mini GLX imposes a limit of one window.  A second window | ||||
| cannot be created until the first one is destroyed.</p> | ||||
| <h3>3.3.1 Window Creation</h3> | ||||
| <p>The XCreateWindow function is used to create a drawing surface:</p> | ||||
| <blockquote> | ||||
|   <pre>Window XCreateWindow( Display *display,<br>                      Window parent,<br>                      int x, int y,<br>                      unsigned int width, unsigned int height,<br>                      unsigned int borderWidth,<br>                      int depth,<br>                      unsigned int class,<br>                      Visual *visual,<br>                      unsigned long valuemask,<br>                      XSetWindowAttributes *attributes )<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>display</code></dt> | ||||
|     <dd>A Display pointer, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>parent</code></dt> | ||||
|     <dd>The parent window for the new window.  For Mini GLX, this | ||||
| should be<code>RootWindow(dpy, 0)</code>.</dd> | ||||
|     <dt><code>x, y</code></dt> | ||||
|     <dd>The position of the window.  For Mini GLX, both values should | ||||
| be zero.</dd> | ||||
|     <dt><code>width, height</code></dt> | ||||
|     <dd>The size of the window.  For Mini GLX, this specifies the | ||||
| desired screen size such as 1024, 768 or 1280, 1024.</dd> | ||||
|     <dt><code>borderWidth</code></dt> | ||||
|     <dd>This parameter should be zero.</dd> | ||||
|     <dt><code>depth</code></dt> | ||||
|     <dd>The pixel depth for the window.  For Mini GLX this should be | ||||
| the depth found in the XVisualInfo object returned by <code>glxChooseVisual</code>.</dd> | ||||
|     <dt><code>class</code></dt> | ||||
|     <dd>The window class.  For Mini GLX this value should be <code>InputOutput</code>.</dd> | ||||
|     <dt><code>visual</code></dt> | ||||
|     <dd>This parameter should be the <code>visual</code> field of the <code>XVisualInfo</code> | ||||
| object returned by <code>glxChooseVisual</code>.</dd> | ||||
|     <dt><code>valuemask</code></dt> | ||||
|     <dd>This parameter indicates which fields of the <code>XSetWindowAttributes</code> | ||||
| are to be used. For Mini GLX this is typically the bitmask<code>CWBackPixel | ||||
| | CWBorderPixel | CWColormap</code>.</dd> | ||||
|     <dt><code>attributes</code></dt> | ||||
|     <dd>Initial window attributes. Of the fields in the <code>XSetWindowAttributes</code> | ||||
| structure, the<code>background_pixel</code>, <code>border_pixel</code> | ||||
| and <code>colormap</code> fields should be set.  See the discussion | ||||
| below regarding colormaps.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p><code>XCreateWindow</code> will return a window handle if it succeeds | ||||
| or zero if it fails.</p> | ||||
| <h3>3.3.2 Window Mapping</h3> | ||||
| <p>To display the window the XMapWindow function must be called:</p> | ||||
| <blockquote> | ||||
|   <pre>void XMapWindow(Display *dpy, Window w)</pre> | ||||
| </blockquote> | ||||
| <p>This function does nothing in Mini GLX but is required for Xlib/GLX | ||||
| compatibility</p> | ||||
| <h3>3.3.3 Colormaps<br> | ||||
| </h3> | ||||
| <p>Xlib requires specification of a colormap when creating a window. | ||||
|  For purposes of interoperability, Mini GLX requires this as well, | ||||
| though the colormap is not actually used.  The XCreateColormap | ||||
| function is used to create a colormap:</p> | ||||
| <blockquote><code>Colormap XCreateColormap(Display *dpy, Window window, | ||||
| Visual *visual, int alloc)</code><br> | ||||
|   <code></code></blockquote> | ||||
| <p>The parameters are as follows:<br> | ||||
| </p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>window</code></dt> | ||||
|     <dd> This parameter is ignored by Mini GLX but should be the value | ||||
| returned by the <code>RootWindow(dpy, 0)</code> macro.<br> | ||||
|     </dd> | ||||
|     <dt><code>visual</code></dt> | ||||
|     <dd>This parameter is ignored by Mini GLX but should be the visual | ||||
| field of the XVisualInfo object returned by glXChooseVisual. </dd> | ||||
|     <dt><code>alloc</code></dt> | ||||
|     <dd>This parameter is ignored by Mini GLX but should be set to <code>AllocNone</code>.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <br> | ||||
| <h2>3.4 Creating a Rendering Context</h2> | ||||
| <p>An OpenGL rendering context is created with the <code>glXCreateContext</code> | ||||
| function:</p> | ||||
| <blockquote> | ||||
|   <pre>GLXContext glXCreateContext(Display *dpy, XVisualInfo *visInfo, GLXContext shareList, Bool direct)<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>visInfo</code></dt> | ||||
|     <dd>The visual as returned by glXChooseVisual.</dd> | ||||
|     <dt><code>shareList</code></dt> | ||||
|     <dd>If non-zero, texture objects and display lists are shared with | ||||
| the named rendering context. If zero, texture objects and display lists | ||||
| will (initially) be private to this context. They may be shared when a | ||||
| subsequent context is created.</dd> | ||||
|     <dt><code>direct</code></dt> | ||||
|     <dd>Specifies whether direct or indirect rendering is desired. For | ||||
| Mini GLX this value is ignored but it should be set to <code>True</code>.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p><code>glXCreateContext</code> will return a GLXContext handle if it | ||||
| succeeds or zero if it fails due to invalid parameter or insufficient | ||||
| resources.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.5 Binding a Rendering Context</h2> | ||||
| <p>The final step before beginning OpenGL rendering is to bind (i.e. | ||||
| activate) a rendering context and drawing surface with the | ||||
| glXMakeCurrent function:</p> | ||||
| <blockquote> | ||||
|   <pre>Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>drawable</code></dt> | ||||
|     <dd>The window or drawable to bind to the rendering context. This | ||||
| should be the value returned by XCreateWindow.</dd> | ||||
|     <dt><code>ctx</code></dt> | ||||
|     <dd>The rendering context to bind, as returned by glXCreateContext.</dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p>If glXMakeCurrent succeeds True is returned.  Otherwise False is | ||||
| returned to indicate an invalid display, window or context parameter.</p> | ||||
| <p>After the rendering context has been bound to the drawing surface | ||||
| OpenGL rendering can begin.</p> | ||||
| <p>The current rendering context may be unbound by calling | ||||
| glXMakeCurrent with the window and context parameters set to zero.</p> | ||||
| <p>An application may create any number of rendering contexts and bind | ||||
| them as needed. Note that binding a rendering context is generally not a | ||||
| light-weight operation.  Most simple OpenGL applications create | ||||
| only one rendering context.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.6 Color Buffer Swapping</h2> | ||||
| <p>A double buffered window has two color buffers: a front buffer and a | ||||
| back buffer.  Normally, rendering is directed to the back buffer while | ||||
| the front buffer is displayed.  When rendering of a frame is finished | ||||
| the front and back buffers are swapped to provide the illusion of | ||||
| instanteous screen updates.</p> | ||||
| <p>The color buffers for a particular window (i.e. drawable) may be | ||||
| swapped with the glXSwapBuffers command:</p> | ||||
| <blockquote> | ||||
|   <pre>void glXSwapBuffers(Display *dpy, GLXDrawable drawable)<br></pre> | ||||
| </blockquote> | ||||
| Any pending rendering commands will be completed before the buffer swap | ||||
| takes place.<br> | ||||
| <br> | ||||
| Calling glXSwapBuffers on a window which is single-buffered has no | ||||
| effect.<br> | ||||
| <br> | ||||
| <h2>3.7 Releasing Resources</h2> | ||||
| <h3>3.7.1 Releasing Rendering Contexts</h3> | ||||
| <p>A rendering context may be destroyed by calling glXDestroyContext:</p> | ||||
| <blockquote> | ||||
|   <pre>void glXDestroyContext(Display *dpy, GLXContext ctx)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.2 Releasing Windows</h3> | ||||
| <p>A window may be destroyed by calling XDestroyWindow:</p> | ||||
| <blockquote> | ||||
|   <pre>void XDestroyWindow(Display *dpy, Window window)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.3 Releasing Visuals</h3> | ||||
| <p>An XVisualInfo object may be freed by calling XFree:</p> | ||||
| <blockquote> | ||||
|   <pre>void XFree(void *data)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.4 Releasing Colormaps</h3> | ||||
| <p>A colormap may be freed by calling XFreeColormap:</p> | ||||
| <blockquote> | ||||
|   <pre>void XFreeColormap(Display *dpy, Colormap colormap)<br></pre> | ||||
| </blockquote> | ||||
| <h3>3.7.4 Releasing Display Resources</h3> | ||||
| <p>When the application is about to exit, the resources associated with | ||||
| the graphics system can be released by calling XCloseDisplay:</p> | ||||
| <blockquote> | ||||
|   <pre>void XCloseDisplay(Display *dpy)<br></pre> | ||||
| </blockquote> | ||||
| <p>The display handle becomes invalid at this point.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.8 Query Functions</h2> | ||||
| <h3>3.8.1 Querying Available Visuals</h3> | ||||
| A list of all available visuals can be obtained with the XGetVisualInfo | ||||
| function:<br> | ||||
| <br> | ||||
| <div style="margin-left: 40px;"><code>XVisualInfo | ||||
| *XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo | ||||
| *vinfo_template, int *nitems_return)<br> | ||||
| </code></div> | ||||
| <br> | ||||
| The parameters are as follows:<br> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>vinfo_mask</code></dt> | ||||
|     <dd>A bitmask indicating which fields of the vinfo_template are to | ||||
| be matched.  The value must be VisualScreenMask.</dd> | ||||
|     <dt><code>vinfo_template</code></dt> | ||||
|     <dd>A template whose fields indicate which visual attributes must | ||||
| be matched by the results.  The screen field of this structure must | ||||
| be zero.</dd> | ||||
|     <dt><code>nitems_return</code></dt> | ||||
|     <dd>Returns the number of visuals returned. </dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| The return value is the address of an array of all available visuals.<br> | ||||
| <br> | ||||
| An example of using XGetVisualInfo to get all available visuals follows:<br> | ||||
| <br> | ||||
| <div style="margin-left: 40px;"><code>XVisualInfo visTemplate, *results;</code><br> | ||||
| <code>int numVisuals;</code><br> | ||||
| <code>Display *dpy = XOpenDisplay(NULL);</code><br> | ||||
| <code>visTemplate.screen = 0;</code><br> | ||||
| <code>results = XGetVisualInfo(dpy, VisualScreenMask, &visTemplate, | ||||
| &numVisuals);</code><br> | ||||
| <code></code></div> | ||||
| <br> | ||||
| <h3>3.8.2 Querying Visual Attributes</h3> | ||||
| <p>The GLX attributes of an X visual may be queried with the | ||||
| glXGetConfig function:</p> | ||||
| <blockquote> | ||||
|   <pre>int glXGetConfig(Display *dpy, XVisualInfo *vis, int attribute, int *value)<br></pre> | ||||
| </blockquote> | ||||
| <p>The parameters are as follows:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>dpy</code></dt> | ||||
|     <dd>The display handle, as returned by XOpenDisplay.</dd> | ||||
|     <dt><code>vis</code></dt> | ||||
|     <dd>The visual, as returned by glXChooseVisual.</dd> | ||||
|     <dt><code>attribute</code></dt> | ||||
|     <dd>The attribute to query.  The attributes are listed below.</dd> | ||||
|     <dt><code>value</code></dt> | ||||
|     <dd>Pointer to an integer in which the result of the query will be | ||||
| stored. </dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <p>The return value will be zero if no error occurs.<code> | ||||
|  GLX_INVALID_ATTRIBUTE</code> will be returned if the attribute | ||||
| parameter is invalid.<code>  GLX_BAD_VISUAL</code> will be returned | ||||
| if the XVisualInfo parameter is invalid.</p> | ||||
| <p>The following attributes may be queried:</p> | ||||
| <blockquote> | ||||
|   <dl> | ||||
|     <dt><code>GLX_USE_GL</code></dt> | ||||
|     <dd>The result will be <code>True</code> or <code>False</code> to | ||||
| indicate if OpenGL rendering is supported with the visual.  Mini GLX | ||||
| always return <code>True</code>.</dd> | ||||
|     <dt><code>GLX_RGBA</code></dt> | ||||
|     <dd>The result will be <code>True</code> for RGBA visuals or <code>False</code> | ||||
| for color index visuals.</dd> | ||||
|     <dt><code>GLX_DOUBLEBUFFER</code></dt> | ||||
|     <dd>The result will be <code>True</code> if the visual has two | ||||
| color buffers or <code>False</code> if the visual has one color buffer.</dd> | ||||
|     <dt><code>GLX_RED_SIZE</code></dt> | ||||
|     <dd>The result will be the number of red bits per pixel.</dd> | ||||
|     <dt><code>GLX_GREEN_SIZE</code></dt> | ||||
|     <dd>The result will be the number of green bits per pixel.</dd> | ||||
|     <dt><code>GLX_BLUE_SIZE</code></dt> | ||||
|     <dd>The result will be the number of blue bits per pixel.</dd> | ||||
|     <dt><code>GLX_ALPHA_SIZE</code></dt> | ||||
|     <dd>The result will be the number of alpha bits per pixel.</dd> | ||||
|     <dt><code>GLX_DEPTH_SIZE</code></dt> | ||||
|     <dd>The result will be the number of bits per Z value.</dd> | ||||
|     <dt><code>GLX_STENCIL_SIZE</code></dt> | ||||
|     <dd>The result will be the number of bits per stencil value.<br> | ||||
|       <br> | ||||
|     </dd> | ||||
|   </dl> | ||||
| </blockquote> | ||||
| <h3>3.8.3 Querying the Current Rendering Context</h3> | ||||
| <p>The current rendering context can be queried with | ||||
| glXGetCurrentContext: </p> | ||||
| <blockquote> | ||||
|   <pre>GLXContext glXGetCurrentContext(void)<br></pre> | ||||
| </blockquote> | ||||
| <p>Zero will be returned if no context is currently bound.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h3>3.8.4 Querying the Current Drawable</h3> | ||||
| <p>The current drawable (i.e. window or drawing surface) can be queried | ||||
| with glXGetCurrentDrawable:</p> | ||||
| <blockquote> | ||||
|   <pre>GLXDrawable glXGetCurrentDrawable(void)<br></pre> | ||||
| </blockquote> | ||||
| <p>Zero will be returned if no drawable is currently bound.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h3>3.8.5 Function Address Queries</h3> | ||||
| <p>The glXGetProcAddress function will return the address of any | ||||
| available OpenGL or Mini GLX function:</p> | ||||
| <blockquote> | ||||
|   <pre>void *glXGetProcAddress(const GLubyte *procName)<br></pre> | ||||
| </blockquote> | ||||
| <p>If <code>procName</code> is a valid function name, a pointer to that | ||||
| function will be returned.  Otherwise, NULL will be returned.</p> | ||||
| <p>The purpose of glXGetProcAddress is to facilitate using future | ||||
| extensions to OpenGL or Mini GLX.  If a future version of the library | ||||
| adds new extension functions they'll be accessible via | ||||
| glXGetProcAddress. The alternative is to hard-code calls to the new | ||||
| functions in the application but doing so will prevent linking the | ||||
| application with older versions of the library.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h2>3.9 Versioning</h2> | ||||
| The Mini GLX version can be queried at run time with glXQueryVersion: | ||||
| <blockquote> | ||||
|   <pre>Bool glXQueryVersion(Display *dpy, int *major, int *minor)<br></pre> | ||||
| </blockquote> | ||||
| <p><code>major</code> will be set to the major version number and<code>minor</code> | ||||
| will be set to the minor version number.<code>True</code> will be | ||||
| returned if the function succeeds. <code>False</code> will be returned | ||||
| if the function fails due to invalid parameters. The <code>dpy</code> | ||||
| argument is currently ignored, but should be the value returned by | ||||
| XOpenDisplay.</p> | ||||
| <p>At compile time, the Mini GLX interface version can be tested with | ||||
| the MINI_GLX_VERSION_1_<i>x</i> preprocessor tokens. For example, if | ||||
| version 1.0 of Mini GLX is supported, then<code> MINI_GLX_VERSION_1_0</code> | ||||
| will be defined. If version 1.1 of Mini GLX is supported, then<code> | ||||
| MINI_GLX_VERSION_1_1</code> will be defined.</p> | ||||
| <p>At the time of writing the current Mini GLX version is 1.0.<br> | ||||
| <br> | ||||
| </p> | ||||
| <h1>4.0 Interoperability with GLX and Xlib</h1> | ||||
| While Mini GLX strives to be compatible with GLX and Xlib there are | ||||
| some unavoidable differences which must be taken into consideration.<br> | ||||
| <h2>4.1 Public vs Private Structures</h2> | ||||
| The structure of many X data types is public.  For example, the <code>Display</code> | ||||
| data type is defined as a structure in /usr/include/X11/Xlib.h and | ||||
| programmers may access any fields of that structure at will.  Mini | ||||
| GLX also defines a Display data type but its fields are hidden and not | ||||
| visiblein <code>miniglx.h</code>.  Duplicating the Xlib | ||||
| declaration for the <code>Display</code> data type in minigl.h would | ||||
| require defining a large number of other superfluous Xlib datatypes.<br> | ||||
| <br> | ||||
| Mini GLX users are discouraged from directly accessing the fields of | ||||
| Xlib data types to maximize portability - though this is unavoidable to | ||||
| some extent.  For example, the <code>XVisualInfo</code> and <code>XSetWindowAtttributes</code> | ||||
| data types must be completely public. | ||||
| <h2>4.2 Macros</h2> | ||||
| In some cases, Xlib defines macros which are meant to be used instead | ||||
| of direct structure accesses.  For example, the <code>RootWindow(dpy, | ||||
| screen)</code> macro returns the root window for a given screen on a | ||||
| given display.  Unfortunately, macros do nothing to aid in ABI | ||||
| compatibility since they are resolved at compile time instead of at | ||||
| link/run time.<br> | ||||
| <br> | ||||
| Mini GLX also defines a <code>RootWindow</code> macro since it's | ||||
| essential for creating windows.  But the implementation of this | ||||
| macro by Xlib and Mini GLX is completely different.<br> | ||||
| <h2>4.3 Summary</h2> | ||||
| Because Xlib and Mini GLX define data types and macros differently, | ||||
| Mini GLX applications must be recompiled when retargeting Mini GLX or | ||||
| native Xlib/GLX.  That is, applications can't simply be re-linked | ||||
| because of ABI incompatibilities.<br> | ||||
| <br> | ||||
| Nevertheless, the fact that Mini GLX programs can be recompiled for | ||||
| Xlib and GLX increases portability and flexibility for testing and | ||||
| prototyping.<br> | ||||
| <br> | ||||
| <h1>5.0 Example Program</h1> | ||||
| <p>This section shows an example program which uses the Mini GLX | ||||
| interface. The program simply draws several frames of a rotating square.<br> | ||||
| </p> | ||||
| <p>The program may be compiled for use with Xlib/GLX or Mini GLX by | ||||
| setting the <code>USE_MINIGLX</code> token to 0 or 1, respectively. | ||||
|  Note that the only difference is the header files which are | ||||
| included.<br> | ||||
| </p> | ||||
| <p> </p> | ||||
| <pre><code><br></code>#define USE_MINIGLX 1  /* 1 = use Mini GLX, 0 = use Xlib/GLX */<br><br>#include <stdio.h><br>#include <stdlib.h><br>#include <GL/gl.h><br><br>#if USE_MINIGLX<br>#include <GL/miniglx.h><br>#else<br>#include <GL/glx.h><br>#include <X11/Xlib.h><br>#endif<br><br><code>/*<br> * Create a simple double-buffered RGBA window.<br> */<br>static Window<br>MakeWindow(Display * dpy, unsigned int width, unsigned int height)<br>{<br>   int visAttributes[] = {<br>      GLX_RGBA,<br>      GLX_RED_SIZE, 1,<br>      GLX_GREEN_SIZE, 1,<br>      GLX_BLUE_SIZE, 1,<br>      GLX_DOUBLEBUFFER,<br>      None<br>   };<br>   XSetWindowAttributes attr;<br>   unsigned long attrMask;<br>   Window root;<br>   Window win;<br>   GLXContext ctx;<br>   XVisualInfo *visinfo;<br><br>   root = RootWindow(dpy, 0);<br><br>   /* Choose GLX visual / pixel format */<br>   visinfo = glXChooseVisual(dpy, 0, visAttributes);<br>   if (!visinfo) {<br>      printf("Error: couldn't get an RGB, Double-buffered visual\n");<br>      exit(1);<br>   }<br><br>   /* Create the window */<br>   attr.background_pixel = 0;<br>   attr.border_pixel = 0;<br>   attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);<br>   attrMask = CWBackPixel | CWBorderPixel | CWColormap;<br>   win = XCreateWindow(dpy, root, 0, 0, width, height,<br>		       0, visinfo->depth, InputOutput,<br>		       visinfo->visual, attrMask, &attr);<br>   if (!win) {<br>      printf("Error: XCreateWindow failed\n");<br>      exit(1);<br>   }<br><br>   /* Display the window */<br>   XMapWindow(dpy, win);<br><br>   /* Create GLX rendering context */<br>   ctx = glXCreateContext(dpy, visinfo, NULL, True);<br>   if (!ctx) {<br>      printf("Error: glXCreateContext failed\n");<br>      exit(1);<br>   }<br><br>   /* Bind the rendering context and window */<br>   glXMakeCurrent(dpy, win, ctx);<br><br>   return win;<br>}<br><br><br>/*<br> * Draw a few frames of a rotating square.<br> */<br>static void<br>DrawFrames(Display * dpy, Window win)<br>{<br>   int angle;<br>   glShadeModel(GL_FLAT);<br>   glClearColor(0.5, 0.5, 0.5, 1.0);<br>   for (angle = 0; angle < 360; angle += 10) {<br>      glClear(GL_COLOR_BUFFER_BIT);<br>      glColor3f(1.0, 1.0, 0.0);<br>      glPushMatrix();<br>      glRotatef(angle, 0, 0, 1);<br>      glRectf(-0.8, -0.8, 0.8, 0.8);<br>      glPopMatrix();<br>      glXSwapBuffers(dpy, win);<br>   }<br>}<br><br><br>int<br>main(int argc, char *argv[])<br>{<br>   Display *dpy;<br>   Window win;<br><br>   dpy = XOpenDisplay(NULL);<br>   if (!dpy) {<br>      printf("Error: XOpenDisplay failed\n");<br>      return 1;<br>   }<br><br>   win = MakeWindow(dpy, 300, 300);<br><br>   DrawFrames(dpy, win);<br><br>   return 0;<br>}<br></code></pre> | ||||
| <br> | ||||
| </body> | ||||
| </html> | ||||
| @@ -644,7 +644,7 @@ Hints and Special Features: | ||||
|  | ||||
| 	- The Voodoo driver supports the GL_EXT_paletted_texture. it works | ||||
| 	  only with GL_COLOR_INDEX8_EXT, GL_RGBA palettes and the alpha value | ||||
| 	  is ignored because this is a limitation of the current Glide | ||||
| 	  is ignored because this is a limitation of the the current Glide | ||||
| 	  version and of the Voodoo hardware. See Mesa-3.1/3Dfx/demos/paltex.c for | ||||
| 	  a demo of this extension. | ||||
|  | ||||
|   | ||||
							
								
								
									
										124
									
								
								docs/README.D3D
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								docs/README.D3D
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,124 @@ | ||||
|  | ||||
|                      DirectX 6 Driver for Mesa 3.0 | ||||
|  | ||||
|  | ||||
| This software is distributed under the terms of the GNU Library | ||||
| General Public License, see the LICENSE file for details. | ||||
|  | ||||
|  | ||||
|  | ||||
| What do you need ? | ||||
| ------------------ | ||||
|  | ||||
| 	- A PC with a DirectX 6 video driver installed. | ||||
|  | ||||
| 	- Mesa 3.0 | ||||
|  | ||||
| 	- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine). | ||||
| 	  The Voodoo2 requires the Glide library 2.51. The Glide 3.0 is not | ||||
| 	  compatible with the Glide 2.x so it doesn't work with the current | ||||
| 	  version of the driver; | ||||
|  | ||||
| 	- Visual C++ 5.0 is only compiler test but others should be ok with | ||||
|        changes to the makefiles (CFLAGS/LFLAGS). | ||||
|  | ||||
| 	- DirectX 6 SDK (was a MS download but not sure if still available). | ||||
|  | ||||
| 	- SoftIce or another debugger that will get DPF's is nice. | ||||
|  | ||||
|  | ||||
| Tested on: | ||||
| ---------- | ||||
| 	Windows 95 | ||||
|   	Windows 98 | ||||
| 	Windows NT 5.0 (beta 2) | ||||
|  | ||||
|  | ||||
| What is able to do ? | ||||
| -------------------- | ||||
|  | ||||
| 	- the driver will try and use DirectX to rasterize the OpenGL primitives | ||||
| 	that are sent to the driver.  The driver will fall back to SW  if the rendering  | ||||
| 	context is too big.  The fallback to SW still uses DirectDraw.  If the driver | ||||
| 	fails to support and operation (accum, stencil, etc) then it will try and get | ||||
| 	Mesa to render it in SW.  DirectX 6 features that are unsupported by the  | ||||
| 	installed DirectX 6 driver will be mapped to some other best fit feature. | ||||
|  | ||||
|  | ||||
| How to compile: | ||||
| --------------- | ||||
|  | ||||
| 	These instructions assume you have Visual C++ installed. | ||||
|  | ||||
| 	  You might need to increase you enviroment space.  You can do this by  | ||||
| 	adding the following statement to you config.sys. | ||||
|  | ||||
| 	shell=C:\COMMAND.COM C:\ /p /e:8198 | ||||
|  | ||||
| 	  Next setup you compiler enviroment by running vcvars32.bat in the Visual C++ | ||||
|  	'bin' directoy. | ||||
|  | ||||
| 	c:\DevStudio\VC\bin\vcvars32.bat | ||||
|  | ||||
| 	  Modify the D3D makefile to point at your SDK install.  Example has the SDK | ||||
| 	installed on my 'f' drive in the root. | ||||
|  | ||||
| 	file: \Mesa-3.0\src\makefile.d3d | ||||
|  | ||||
| 	SDKROOT=f:\mssdk | ||||
|  | ||||
| 	  Now you can simply make the project.  If you look in the makefile you can see | ||||
| 	I have some different targets like 'install'.   | ||||
|  | ||||
| 	nmake /f makefile.d3d | ||||
|  | ||||
|  | ||||
| FAQ: | ||||
| ---- | ||||
|  | ||||
| 	1) I don't think the driver is using my DirectX driver. | ||||
|  | ||||
|  	  This maybe true as the current version will only select the Primary D3D driver | ||||
| 	installed.  If you 3D card is the secondary (3dfx) then your out of luck for this | ||||
| 	release. | ||||
|  | ||||
| 	2) The driver seems like its not HW accelerated. | ||||
|  | ||||
| 	  If you have a video card with limited memory then you might want to try and  | ||||
| 	change your destop resolution to a low setting (640x480x16) so that the 3D part | ||||
| 	of the card has more resources.  Remeber the driver can't make the card better... | ||||
|  | ||||
| 	3) Nothing works. | ||||
|  | ||||
| 	  Make sure you have a DirectX '6' driver installed.  Check you driver docs for this | ||||
| 	info or use the SDK info utilities. | ||||
| 	  The final 'dll' is named opengl32.dll and is either in the same directory as the  | ||||
| 	OpenGL program or in your system directory (x:\windows\system or x:\winnt\system32). | ||||
| 	  Check your destop resolution.  Most DirectX 6 drivers will only support 16bit and | ||||
| 	32bit color depth.  To find out for sure you can check the DirectX Info Viewer in | ||||
| 	the SDK. | ||||
| 	   | ||||
|  | ||||
| 	4) Rendering doesn't look right. | ||||
|  | ||||
| 	  Sometimes this is because the card doesn't support a feature that that is required. | ||||
| 	This is usually due to unsupported alpha functions (test/blend) or texture mapping. | ||||
| 	Some cards suffer from too small of an alpha channel.  The driver does its best to | ||||
| 	fallback on unsupported features.  This is not to say the driver may not have a bug(s). | ||||
|  | ||||
| 	5) Textures look bad. | ||||
|  | ||||
| 	  No mipmapping in this release. | ||||
|  | ||||
|  | ||||
| Thanks to: | ||||
| ---------- | ||||
|  | ||||
| Brian Paul | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| Leigh McRae (leigh@altsoftware.com) | ||||
| February 9, 1999 | ||||
|  | ||||
| @@ -1,10 +1,6 @@ | ||||
| File: docs/README.WIN32 | ||||
|  | ||||
| Last updated: Apr 25, 2007 | ||||
|  | ||||
| NOTE: This information only applies to Mesa 7.8 and older.  Nowadays | ||||
| it's probably better to use Scons to build for Windows. | ||||
|  | ||||
| Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net | ||||
|  | ||||
| Quick Start | ||||
| ----- ----- | ||||
| @@ -134,5 +130,11 @@ change all the gl* symbols to mgl*.  Because this is easy to do with a | ||||
| global replace operation in a text editor, no additional mangled | ||||
| version of mesa.def is maintained or shipped. | ||||
|  | ||||
| If you have a Windows-related build problem or question, please post | ||||
| to the mesa-dev or mesa-users list. | ||||
| If you have a Windows-related build problem or question, it is | ||||
| probably better to direct it to me (kschultz@users.sourceforge.net), | ||||
| rather than directly to the other Mesa developers.  I will help you as | ||||
| much as I can.  I also monitor the Mesa mailing lists and will answer | ||||
| questions in this area there as well. | ||||
|  | ||||
|  | ||||
| Karl Schultz | ||||
|   | ||||
							
								
								
									
										29
									
								
								docs/README.directfb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								docs/README.directfb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
|                           | ||||
|                          Mesa DirectFB Information | ||||
|  | ||||
|  | ||||
| Requirements | ||||
| ============ | ||||
|  | ||||
|   To build Mesa with DirectFB (DirectFBGL) support you need: | ||||
|      - DirectFB at least 1.0.0 (http://directfb.org) | ||||
|      - pkg-config at least 0.9 (http://pkgconfig.sf.net) | ||||
|  | ||||
|  | ||||
| Installation | ||||
| ============ | ||||
|   Run | ||||
|       | ||||
|      make linux-directfb | ||||
|  | ||||
|   to build Mesa and DirectFBGL module, | ||||
|  | ||||
|      make install | ||||
|  | ||||
|   to install OpenGL libraries and | ||||
|  | ||||
|      cd src/mesa/drivers/directfb ; make install | ||||
|  | ||||
|   to install DirectFBGL module in the proper location. | ||||
|   Actually, that last command may not be needed.  Please provide feedback. | ||||
|  | ||||
| @@ -1,92 +0,0 @@ | ||||
| Name | ||||
|  | ||||
|     WL_bind_wayland_display | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     EGL_WL_bind_wayland_display | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Kristian Høgsberg <krh@bitplanet.net> | ||||
|     Benjamin Franzke <benjaminfranzke@googlemail.com> | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Proposal | ||||
|  | ||||
| Version | ||||
|  | ||||
|     Version 1, March 1, 2011 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     EGL Extension #not assigned | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     Reguires EGL 1.4 or later.  This extension is written against the | ||||
|     wording of the EGL 1.4 specification. | ||||
|  | ||||
|     EGL_KHR_base_image is required. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension provides entry points for binding and unbinding the | ||||
|     wl_display of a Wayland compositor to an EGLDisplay.  Binding a | ||||
|     wl_display means that the EGL implementation should provide one or | ||||
|     more interfaces in the Wayland protocol to allow clients to create | ||||
|     wl_buffer objects.  On the server side, this extension also | ||||
|     provides a new target for eglCreateImageKHR, to create an EGLImage | ||||
|     from a wl_buffer | ||||
|  | ||||
|     Adding a implementation specific wayland interface, allows the | ||||
|     EGL implementation to define specific wayland requests and events, | ||||
|     needed for buffer sharing in a EGL wayland platform. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     Open-source; freely implementable. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy, | ||||
|                                        struct wl_display *display); | ||||
|  | ||||
|     EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy, | ||||
|                                          struct wl_display *display); | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted as <target> in eglCreateImageKHR | ||||
|  | ||||
|         EGL_WAYLAND_BUFFER_WL                   0x31D5 | ||||
|  | ||||
| Additions to the EGL 1.4 Specification: | ||||
|  | ||||
|     To bind a server side wl_display to an EGLDisplay, call | ||||
|  | ||||
|         EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy, | ||||
|                                            struct wl_display *display); | ||||
|  | ||||
|     To unbind a server side wl_display from an EGLDisplay, call | ||||
|      | ||||
|         EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy, | ||||
|                                              struct wl_display *display); | ||||
|  | ||||
|     eglBindWaylandDisplayWL returns EGL_FALSE when there is already a | ||||
|     wl_display bound to EGLDisplay otherwise EGL_TRUE. | ||||
|  | ||||
|     eglUnbindWaylandDisplayWL returns EGL_FALSE when there is no | ||||
|     wl_display bound to the EGLDisplay currently otherwise EGL_TRUE. | ||||
|  | ||||
|     Import a wl_buffer by calling eglCreateImageKHR with | ||||
|     wl_buffer as EGLClientBuffer, EGL_WAYLAND_BUFFER_WL as the target, | ||||
|     and an empty attribute_list. | ||||
|  | ||||
| Issues | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     Version 1, March 1, 2011 | ||||
|         Initial draft (Benjamin Franzke) | ||||
| @@ -52,12 +52,9 @@ a:visited { | ||||
|  | ||||
| <b>User Topics</b> | ||||
| <ul> | ||||
| <li><a href="shading.html" target="MainFrame">Shading Language</a> | ||||
| <li><a href="egl.html" target="MainFrame">EGL</a> | ||||
| <li><a href="opengles.html" target="MainFrame">OpenGL ES</a> | ||||
| <li><a href="openvg.html" target="MainFrame">OpenVG / Vega</a> | ||||
| <LI><A HREF="envvars.html" target="MainFrame">Environment Variables</A> | ||||
| <LI><A HREF="osmesa.html" target="MainFrame">Off-Screen Rendering</A> | ||||
| <LI><A HREF="pbuffers.html" target="MainFrame">Pbuffer Rendering</A> | ||||
| <LI><A HREF="debugging.html" target="MainFrame">Debugging Tips</A> | ||||
| <LI><A HREF="perf.html" target="MainFrame">Performance Tips</A> | ||||
| <LI><A HREF="extensions.html" target="MainFrame">Mesa Extensions</A> | ||||
| @@ -68,7 +65,8 @@ a:visited { | ||||
| <ul> | ||||
| <li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a> | ||||
| <li><a href="repository.html" target="MainFrame">Source Code Repository</a> | ||||
| <li><a href="sourcetree.html" target="MainFrame">Source Code Tree</a> | ||||
| <li><a href="memory.html" target="MainFrame">DRI Memory Management</a> | ||||
| <li><a href="shading.html" target="MainFrame">Shading Language</a> | ||||
| <li><a href="glu.html" target="MainFrame">SGI's GLU</a> | ||||
| <li><a href="utilities.html" target="MainFrame">Utilities</a> | ||||
| <li><a href="helpwanted.html" target="MainFrame">Help Wanted</a> | ||||
| @@ -91,6 +89,7 @@ a:visited { | ||||
| <li><a href="modelers.html" target="MainFrame">Modeling and Rendering</a> | ||||
| <li><a href="science.html" target="MainFrame">Science and Technical</a> | ||||
| <li><a href="utility.html" target="MainFrame">Utilities</a> | ||||
| <li><a href="demos.html" target="MainFrame">Demos / other</a> | ||||
| </ul> | ||||
|  | ||||
| <b>Hosted by:</b> | ||||
|   | ||||
							
								
								
									
										18
									
								
								docs/demos.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								docs/demos.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Demos</TITLE> | ||||
|  | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <H1>Demos</H1> | ||||
|  | ||||
|  | ||||
| <ul> | ||||
| <li><a href="http://www.geocities.com/shobhand/homepage.html">Shobhan Dutta's Geartrain and Walkthrough Demos</a> | ||||
| </li></ul> | ||||
|  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -12,14 +12,12 @@ | ||||
| Both professional and volunteer developers contribute to Mesa. | ||||
| </p> | ||||
| <p> | ||||
| <a href="http://www.vmware.com/" target="_parent">VMware</a> | ||||
| <a href="http://www.tungstengraphics.com/" target="_parent">Tungsten Graphics</a> | ||||
| employs several of the main Mesa developers including Brian Paul | ||||
| and Keith Whitwell. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| In the past, Tungsten Graphics contracts implemented many Mesa features | ||||
| including: | ||||
| Much of the on-going work in Mesa is done through Tungsten Graphics engineering | ||||
| contracts. | ||||
| Prominent examples of this work includes: | ||||
| </p> | ||||
| <ul> | ||||
| <li>DRI drivers for Intel i965, i945, i915 and other chips | ||||
| @@ -31,13 +29,7 @@ including: | ||||
| <p> | ||||
| Other companies including | ||||
| <a href="http://www.intellinuxgraphics.org/index.html" target="_parent">Intel</a> | ||||
| and RedHat also actively contribute to the project. | ||||
| Intel has recently contributed the new GLSL compiler in Mesa 7.9. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| <a href="http://www.lunarg.com/" target="_parent">LunarG</a> can be contacted | ||||
| for custom Mesa / 3D graphics development. | ||||
| and IBM also actively contribute to the project. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| @@ -45,5 +37,15 @@ Volunteers have made significant contributions to all parts of Mesa, including | ||||
| complete device drivers. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <H1>Custom Development</H1> | ||||
| <p> | ||||
| Contact <a href="http://www.tungstengraphics.com/" target="_parent"> | ||||
| Tungsten Graphics</a> | ||||
| for information about custom development in Mesa, OpenGL, X and other | ||||
| graphics technologies. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
| @@ -107,7 +107,7 @@ Global variables are not allowed. | ||||
| Function name examples: | ||||
| </p> | ||||
| <pre> | ||||
| 	glFooBar()       - a public GL entry point (in glapi_dispatch.c) | ||||
| 	glFooBar()       - a public GL entry point (in dispatch.c) | ||||
| 	_mesa_FooBar()   - the internal immediate mode function | ||||
| 	save_FooBar()    - retained mode (display list) function in dlist.c | ||||
| 	foo_bar()        - a static (private) function | ||||
| @@ -145,7 +145,7 @@ Make sure the values in src/mesa/main/version.h are correct. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Update docs/news.html. | ||||
| Update the docs/news.html file and docs/download.html files. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| @@ -208,11 +208,10 @@ sftp USERNAME,mesa3d@web.sourceforge.net | ||||
|  | ||||
| <p> | ||||
| Make an announcement on the mailing lists: | ||||
|  | ||||
| <em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>, | ||||
| <em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em> | ||||
| <em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>, | ||||
| <em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em> | ||||
| and | ||||
| <em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em> | ||||
| <em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em> | ||||
| </p> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -199,7 +199,7 @@ few preprocessor defines.</p> | ||||
| <li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li> | ||||
| <li>If <tt>PTHREADS</tt> is defined, method #3 is used.</li> | ||||
| <li>If any of <tt>PTHREADS</tt>, | ||||
| <tt>WIN32_THREADS</tt>, or <tt>BEOS_THREADS</tt> | ||||
| <tt>SOLARIS_THREADS</tt>, <tt>WIN32_THREADS</tt>, or <tt>BEOS_THREADS</tt> | ||||
| is defined, method #2 is used.</li> | ||||
| <li>If none of the preceeding are defined, method #1 is used.</li> | ||||
| </ul> | ||||
| @@ -244,8 +244,8 @@ isn't a significant problem.</p> | ||||
| system.  There are two steps to this.  The file must first be added to | ||||
| <tt>src/mesa/sources</tt>.  That gets the file built and linked.  The second | ||||
| step is to add the correct <tt>#ifdef</tt> magic to | ||||
| <tt>src/mesa/glapi/glapi_dispatch.c</tt> to prevent the C version of the | ||||
| dispatch functions from being built.</p> | ||||
| <tt>src/mesa/main/dispatch.c</tt> to prevent the C version of the dispatch | ||||
| functions from being built.</p> | ||||
|  | ||||
| <A NAME="fixedsize"/> | ||||
| <H3>3.4. Fixed-Length Dispatch Stubs</H3> | ||||
|   | ||||
							
								
								
									
										323
									
								
								docs/egl.html
									
									
									
									
									
								
							
							
						
						
									
										323
									
								
								docs/egl.html
									
									
									
									
									
								
							| @@ -1,323 +0,0 @@ | ||||
| <html> | ||||
|  | ||||
| <title>Mesa EGL</title> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <body> | ||||
|  | ||||
| <h1>Mesa EGL</h1> | ||||
|  | ||||
| <p>The current version of EGL in Mesa implements EGL 1.4.  More information | ||||
| about EGL can be found at | ||||
| <a href="http://www.khronos.org/egl/" target="_parent"> | ||||
| http://www.khronos.org/egl/</a>.</p> | ||||
|  | ||||
| <p>The Mesa's implementation of EGL uses a driver architecture.  The main | ||||
| library (<code>libEGL</code>) is window system neutral.  It provides the EGL | ||||
| API entry points and helper functions for use by the drivers.  Drivers are | ||||
| dynamically loaded by the main library and most of the EGL API calls are | ||||
| directly dispatched to the drivers.</p> | ||||
|  | ||||
| <p>The driver in use decides the window system to support.</p> | ||||
|  | ||||
| <h2>Build EGL</h2> | ||||
|  | ||||
| <ol> | ||||
| <li> | ||||
| <p>Run <code>configure</code> with the desired client APIs and enable | ||||
| the driver for your hardware.  For example</p> | ||||
|  | ||||
| <pre> | ||||
|   $ ./configure --enable-gles2 --enable-openvg --enable-gallium-nouveau | ||||
| </pre> | ||||
|  | ||||
| <p>The main library and OpenGL is enabled by default.  The first option above | ||||
| enables <a href="opengles.html">OpenGL ES 2.x</a>.  The second option enables | ||||
| <a href="openvg.html">OpenVG</a>.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li>Build and install Mesa as usual.</li> | ||||
| </ol> | ||||
|  | ||||
| <p>In the given example, it will build and install <code>libEGL</code>, | ||||
| <code>libGL</code>, <code>libGLESv1_CM</code>, <code>libGLESv2</code>, | ||||
| <code>libOpenVG</code>, and one or more EGL drivers.</p> | ||||
|  | ||||
| <h3>Configure Options</h3> | ||||
|  | ||||
| <p>There are several options that control the build of EGL at configuration | ||||
| time</p> | ||||
|  | ||||
| <ul> | ||||
| <li><code>--enable-egl</code> | ||||
|  | ||||
| <p>By default, EGL is enabled.  When disabled, the main library and the drivers | ||||
| will not be built.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>--with-egl-driver-dir</code> | ||||
|  | ||||
| <p>The directory EGL drivers should be installed to.  If not specified, EGL | ||||
| drivers will be installed to <code>${libdir}/egl</code>.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>--with-egl-platforms</code> | ||||
|  | ||||
| <p>List the platforms (window systems) to support.  Its argument is a comma | ||||
| seprated string such as <code>--with-egl-platforms=x11,drm</code>.  It decides | ||||
| the platforms a driver may support.  The first listed platform is also used by | ||||
| the main library to decide the native platform: the platform the EGL native | ||||
| types such as <code>EGLNativeDisplayType</code> or | ||||
| <code>EGLNativeWindowType</code> defined for.</p> | ||||
|  | ||||
| <p>The available platforms are <code>x11</code>, <code>drm</code>, | ||||
| <code>fbdev</code>, and <code>gdi</code>.  The <code>gdi</code> platform can | ||||
| only be built with SCons.  Unless for special needs, the build system should | ||||
| select the right platforms automatically.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>--enable-gles1</code> and <code>--enable-gles2</code> | ||||
|  | ||||
| <p>These options enable OpenGL ES support in OpenGL.  The result is one big | ||||
| internal library that supports multiple APIs.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>--enable-openvg</code> | ||||
|  | ||||
| <p>OpenVG must be explicitly enabled by this option.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>--enable-gallium-egl</code> | ||||
|  | ||||
| <p>Explicitly enable or disable <code>egl_gallium</code>.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Use EGL</h2> | ||||
|  | ||||
| <h3>Demos</h3> | ||||
|  | ||||
| <p>There are demos for the client APIs supported by EGL.  They can be found in | ||||
| mesa/demos repository.</p> | ||||
|  | ||||
| <h3>Environment Variables</h3> | ||||
|  | ||||
| <p>There are several environment variables that control the behavior of EGL at | ||||
| runtime</p> | ||||
|  | ||||
| <ul> | ||||
| <li><code>EGL_DRIVERS_PATH</code> | ||||
|  | ||||
| <p>By default, the main library will look for drivers in the directory where | ||||
| the drivers are installed to.  This variable specifies a list of | ||||
| colon-separated directories where the main library will look for drivers, in | ||||
| addition to the default directory.  This variable is ignored for setuid/setgid | ||||
| binaries.</p> | ||||
|  | ||||
| <p>This variable is usually set to test an uninstalled build.  For example, one | ||||
| may set</p> | ||||
|  | ||||
| <pre> | ||||
|   $ export LD_LIBRARY_PATH=$mesa/lib | ||||
|   $ export EGL_DRIVERS_PATH=$mesa/lib/egl | ||||
| </pre> | ||||
|  | ||||
| <p>to test a build without installation</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>EGL_DRIVER</code> | ||||
|  | ||||
| <p>This variable specifies a full path to or the name of an EGL driver.  It | ||||
| forces the specified EGL driver to be loaded.  It comes in handy when one wants | ||||
| to test a specific driver.  This variable is ignored for setuid/setgid | ||||
| binaries.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>EGL_PLATFORM</code> | ||||
|  | ||||
| <p>This variable specifies the native platform.  The valid values are the same | ||||
| as those for <code>--with-egl-platforms</code>.  When the variable is not set, | ||||
| the main library uses the first platform listed in | ||||
| <code>--with-egl-platforms</code> as the native platform.</p> | ||||
|  | ||||
| <p>Extensions like <code>EGL_MESA_drm_display</code> define new functions to | ||||
| create displays for non-native platforms.  These extensions are usually used by | ||||
| applications that support non-native platforms.  Setting this variable is | ||||
| probably required only for some of the demos found in mesa/demo repository.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>EGL_LOG_LEVEL</code> | ||||
|  | ||||
| <p>This changes the log level of the main library and the drivers.  The valid | ||||
| values are: <code>debug</code>, <code>info</code>, <code>warning</code>, and | ||||
| <code>fatal</code>.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>EGL_SOFTWARE</code> | ||||
|  | ||||
| <p>For drivers that support both hardware and software rendering, setting this | ||||
| variable to true forces the use of software rendering.</p> | ||||
|  | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
| <h2>EGL Drivers</h2> | ||||
|  | ||||
| <ul> | ||||
| <li><code>egl_dri2</code> | ||||
|  | ||||
| <p>This driver supports both <code>x11</code> and <code>drm</code> platforms. | ||||
| It functions as a DRI driver loader.  For <code>x11</code> support, it talks to | ||||
| the X server directly using (XCB-)DRI2 protocol.</p> | ||||
|  | ||||
| <p>This driver can share DRI drivers with <code>libGL</code>.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>egl_gallium</code> | ||||
|  | ||||
| <p>This driver is based on Gallium3D.  It supports all rendering APIs and | ||||
| hardwares supported by Gallium3D.  It is the only driver that supports OpenVG. | ||||
| The supported platforms are X11, DRM, FBDEV, and GDI.</p> | ||||
|  | ||||
| <p>This driver comes with its own hardware drivers | ||||
| (<code>pipe_<hw></code>) and client API modules | ||||
| (<code>st_<api></code>).</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| <li><code>egl_glx</code> | ||||
|  | ||||
| <p>This driver provides a wrapper to GLX.  It uses exclusively GLX to implement | ||||
| the EGL API.  It supports both direct and indirect rendering when the GLX does. | ||||
| It is accelerated when the GLX is.  As such, it cannot provide functions that | ||||
| is not available in GLX or GLX extensions.</p> | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
| <h2>Packaging</h2> | ||||
|  | ||||
| <p>The ABI between the main library and its drivers are not stable.  Nor is | ||||
| there a plan to stabilize it at the moment.  Of the EGL drivers, | ||||
| <code>egl_gallium</code> has its own hardware drivers and client API modules. | ||||
| They are considered internal to <code>egl_gallium</code> and there is also no | ||||
| stable ABI between them.  These should be kept in mind when packaging for | ||||
| distribution.</p> | ||||
|  | ||||
| <p>Generally, <code>egl_dri2</code> is preferred over <code>egl_gallium</code> | ||||
| when the system already has DRI drivers.  As <code>egl_gallium</code> is loaded | ||||
| before <code>egl_dri2</code> when both are available, <code>egl_gallium</code> | ||||
| may either be disabled with <code>--disable-gallium-egl</code> or packaged | ||||
| separately.</p> | ||||
|  | ||||
| <h2>Developers</h2> | ||||
|  | ||||
| <p>The sources of the main library and the classic drivers can be found at | ||||
| <code>src/egl/</code>.  The sources of the <code>egl</code> state tracker can | ||||
| be found at <code>src/gallium/state_trackers/egl/</code>.</p> | ||||
|  | ||||
| <p>The suggested way to learn to write a EGL driver is to see how other drivers | ||||
| are written.  <code>egl_glx</code> should be a good reference.  It works in any | ||||
| environment that has GLX support, and it is simpler than most drivers.</p> | ||||
|  | ||||
| <h3>Lifetime of Display Resources</h3> | ||||
|  | ||||
| <p>Contexts and surfaces are examples of display resources.  They might live | ||||
| longer than the display that creates them.</p> | ||||
|  | ||||
| <p>In EGL, when a display is terminated through <code>eglTerminate</code>, all | ||||
| display resources should be destroyed.  Similarly, when a thread is released | ||||
| throught <code>eglReleaseThread</code>, all current display resources should be | ||||
| released.  Another way to destory or release resources is through functions | ||||
| such as <code>eglDestroySurface</code> or <code>eglMakeCurrent</code>.</p> | ||||
|  | ||||
| <p>When a resource that is current to some thread is destroyed, the resource | ||||
| should not be destroyed immediately.  EGL requires the resource to live until | ||||
| it is no longer current.  A driver usually calls | ||||
| <code>eglIs<Resource>Bound</code> to check if a resource is bound | ||||
| (current) to any thread in the destroy callbacks.  If it is still bound, the | ||||
| resource is not destroyed.</p> | ||||
|  | ||||
| <p>The main library will mark destroyed current resources as unlinked.  In a | ||||
| driver's <code>MakeCurrent</code> callback, | ||||
| <code>eglIs<Resource>Linked</code> can then be called to check if a newly | ||||
| released resource is linked to a display.  If it is not, the last reference to | ||||
| the resource is removed and the driver should destroy the resource.  But it | ||||
| should be careful here because <code>MakeCurrent</code> might be called with an | ||||
| uninitialized display.</p> | ||||
|  | ||||
| <p>This is the only mechanism provided by the main library to help manage the | ||||
| resources.  The drivers are responsible to the correct behavior as defined by | ||||
| EGL.</p> | ||||
|  | ||||
| <h3><code>EGL_RENDER_BUFFER</code></h3> | ||||
|  | ||||
| <p>In EGL, the color buffer a context should try to render to is decided by the | ||||
| binding surface.  It should try to render to the front buffer if the binding | ||||
| surface has <code>EGL_RENDER_BUFFER</code> set to | ||||
| <code>EGL_SINGLE_BUFFER</code>;  If the same context is later bound to a | ||||
| surface with <code>EGL_RENDER_BUFFER</code> set to | ||||
| <code>EGL_BACK_BUFFER</code>, the context should try to render to the back | ||||
| buffer.  However, the context is allowed to make the final decision as to which | ||||
| color buffer it wants to or is able to render to.</p> | ||||
|  | ||||
| <p>For pbuffer surfaces, the render buffer is always | ||||
| <code>EGL_BACK_BUFFER</code>.  And for pixmap surfaces, the render buffer is | ||||
| always <code>EGL_SINGLE_BUFFER</code>.  Unlike window surfaces, EGL spec | ||||
| requires their <code>EGL_RENDER_BUFFER</code> values to be honored.  As a | ||||
| result, a driver should never set <code>EGL_PIXMAP_BIT</code> or | ||||
| <code>EGL_PBUFFER_BIT</code> bits of a config if the contexts created with the | ||||
| config won't be able to honor the <code>EGL_RENDER_BUFFER</code> of pixmap or | ||||
| pbuffer surfaces.</p> | ||||
|  | ||||
| <p>It should also be noted that pixmap and pbuffer surfaces are assumed to be | ||||
| single-buffered, in that <code>eglSwapBuffers</code> has no effect on them.  It | ||||
| is desirable that a driver allocates a private color buffer for each pbuffer | ||||
| surface created.  If the window system the driver supports has native pbuffers, | ||||
| or if the native pixmaps have more than one color buffers, the driver should | ||||
| carefully attach the native color buffers to the EGL surfaces, re-route them if | ||||
| required.</p> | ||||
|  | ||||
| <p>There is no defined behavior as to, for example, how | ||||
| <code>glDrawBuffer</code> interacts with <code>EGL_RENDER_BUFFER</code>.  Right | ||||
| now, it is desired that the draw buffer in a client API be fixed for pixmap and | ||||
| pbuffer surfaces.  Therefore, the driver is responsible to guarantee that the | ||||
| client API renders to the specified render buffer for pixmap and pbuffer | ||||
| surfaces.</p> | ||||
|  | ||||
| <h3><code>EGLDisplay</code> Mutex</h3> | ||||
|  | ||||
| The <code>EGLDisplay</code> will be locked before calling any of the dispatch | ||||
| functions (well, except for GetProcAddress which does not take an | ||||
| <code>EGLDisplay</code>).  This guarantees that the same dispatch function will | ||||
| not be called with the sample display at the same time.  If a driver has access | ||||
| to an <code>EGLDisplay</code> without going through the EGL APIs, the driver | ||||
| should as well lock the display before using it. | ||||
|  | ||||
| <h3>TODOs</h3> | ||||
|  | ||||
| <ul> | ||||
| <li>Pass the conformance tests</li> | ||||
| <li>Mixed use of OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is supported.  But | ||||
| which one of <code>libGL.so</code>, <code>libGLESv1_CM.so</code>, and | ||||
| <code>libGLESv2.so</code> should an application link to?  Bad things may happen | ||||
| when, say, an application is linked to <code>libGLESv2.so</code> and | ||||
| <code>libcairo</code>, which is linked to <code>libGL.so</code> instead.</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -9,38 +9,17 @@ | ||||
| <H1>Environment Variables</H1> | ||||
|  | ||||
| <p> | ||||
| Normally, no environment variables need to be set.  Most of the environment | ||||
| variables used by Mesa/Gallium are for debugging purposes, but they can | ||||
| sometimes be useful for debugging end-user issues. | ||||
| Mesa supports the following environment variables: | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <H2>LibGL environment variables</H2> | ||||
|  | ||||
| <ul> | ||||
| <li>LIBGL_DEBUG - If defined debug information will be printed to stderr. | ||||
|    If set to 'verbose' additional information will be printed. | ||||
| <li>LIBGL_DRIVERS_PATH - colon-separated list of paths to search for DRI drivers | ||||
| <li>LIBGL_ALWAYS_INDIRECT - forces an indirect rendering context/connection. | ||||
| <li>LIBGL_ALWAYS_SOFTWARE - if set, always use software rendering | ||||
| <li>LIBGL_NO_DRAWARRAYS - if set do not use DrawArrays GLX protocol (for debugging) | ||||
| </ul> | ||||
|  | ||||
|  | ||||
|  | ||||
| <H2>Core Mesa environment variables</H2> | ||||
|  | ||||
| <ul> | ||||
| <li>MESA_NO_ASM - if set, disables all assembly language optimizations | ||||
| <li>MESA_NO_MMX - if set, disables Intel MMX optimizations | ||||
| <li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations | ||||
| <li>MESA_NO_SSE - if set, disables Intel SSE optimizations | ||||
| <li>MESA_DEBUG - if set, error messages are printed to stderr.  For example, | ||||
|    if the application generates a GL_INVALID_ENUM error, a corresponding error | ||||
|    message indicating where the error occured, and possibly why, will be | ||||
|    printed to stderr.<br> | ||||
|    If the value of MESA_DEBUG is 'FP' floating point arithmetic errors will | ||||
|    generate exceptions. | ||||
| <li>MESA_DEBUG - if set, error messages are printed to stderr. | ||||
| If the value of MESA_DEBUG is "FP" floating point arithmetic errors will | ||||
| generate exceptions. | ||||
| <li>MESA_NO_DITHER - if set, disables dithering, overriding glEnable(GL_DITHER) | ||||
| <li>MESA_TEX_PROG - if set, implement conventional texture env modes with | ||||
| fragment programs (intended for developers only) | ||||
| <li>MESA_TNL_PROG - if set, implement conventional vertex transformation | ||||
| @@ -49,14 +28,11 @@ Setting this variable automatically sets the MESA_TEX_PROG variable as well. | ||||
| <li>MESA_EXTENSION_OVERRIDE - can be used to enable/disable extensions. | ||||
| A value such as "GL_EXT_foo -GL_EXT_bar" will enable the GL_EXT_foo extension | ||||
| and disable the GL_EXT_bar extension. | ||||
| <li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler options</a> | ||||
| <li>MESA_GLSL - <a href="shading.html#envvars">shading language options</a> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <H2>Mesa Xlib driver environment variables</H2> | ||||
|  | ||||
| <p> | ||||
| The following are only applicable to the Mesa Xlib software driver. | ||||
| The following are only applicable to the Xlib software driver. | ||||
| See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details. | ||||
| </p> | ||||
| <ul> | ||||
| @@ -75,8 +51,9 @@ See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>i945/i965 driver environment variables (non-Gallium)</h2> | ||||
|  | ||||
| <p> | ||||
| These environment variables are for the Intel i945/i965 drivers: | ||||
| </p> | ||||
| <ul> | ||||
| <li>INTEL_STRICT_CONFORMANCE - if set to 1, enable sw fallbacks to improve | ||||
|     OpenGL conformance.  If set to 2, always use software rendering. | ||||
| @@ -85,71 +62,13 @@ See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Radeon R300 driver environment variables (non-Gallium)</h2> | ||||
|  | ||||
| <p> | ||||
| These environment variables are for the Radeon R300 driver: | ||||
| </p> | ||||
| <ul> | ||||
| <li>R300_NO_TCL - if set, disable hardware-accelerated Transform/Clip/Lighting. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>EGL environment variables</h2> | ||||
|  | ||||
| <p> | ||||
| Mesa EGL supports different sets of environment variables.  See the | ||||
| <a href="egl.html">Mesa EGL</a> page for the details. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Gallium environment variables</h2> | ||||
|  | ||||
| <ul> | ||||
| <li>GALLIUM_PRINT_OPTIONS - if non-zero, print all the Gallium environment | ||||
|     variables which are used, and their current values. | ||||
| <li>GALLIUM_NOSSE - if non-zero, do not use SSE runtime code generation for | ||||
|     shader execution | ||||
| <li>GALLIUM_NOPPC - if non-zero, do not use PPC runtime code generation for | ||||
|     shader execution | ||||
| <li>GALLIUM_DUMP_CPU - if non-zero, print information about the CPU on start-up | ||||
| <li>TGSI_PRINT_SANITY - if set, do extra sanity checking on TGSI shaders and | ||||
|     print any errors to stderr. | ||||
| <LI>DRAW_FSE - ??? | ||||
| <LI>DRAW_NO_FSE - ??? | ||||
| <li>DRAW_USE_LLVM - if set to zero, the draw module will not use LLVM to execute | ||||
|     shaders, vertex fetch, etc. | ||||
| </ul> | ||||
|  | ||||
| <h3>Softpipe driver environment variables</h3> | ||||
| <ul> | ||||
| <li>SOFTPIPE_DUMP_FS - if set, the softpipe driver will print fragment shaders | ||||
|     to stderr | ||||
| <li>SOFTPIPE_DUMP_GS - if set, the softpipe driver will print geometry shaders | ||||
|     to stderr | ||||
| <li>SOFTPIPE_NO_RAST - if set, rasterization is no-op'd.  For profiling purposes. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h3>LLVMpipe driver environment variables</h3> | ||||
| <ul> | ||||
| <li>LP_NO_RAST - if set LLVMpipe will no-op rasterization | ||||
| <li>LP_DEBUG - a comma-separated list of debug options is acceptec.  See the | ||||
|     source code for details. | ||||
| <li>LP_PERF - a comma-separated list of options to selectively no-op various | ||||
|     parts of the driver.  See the source code for details. | ||||
| <li>LP_NUM_THREADS - an integer indicating how many threads to use for rendering. | ||||
|     Zero turns of threading completely.  The default value is the number of CPU | ||||
|     cores present. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <p> | ||||
| Other Gallium drivers have their own environment variables.  These may change | ||||
| frequently so the source code should be consulted for details. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <br> | ||||
| <br> | ||||
|  | ||||
|  | ||||
| </BODY> | ||||
| </HTML> | ||||
|   | ||||
| @@ -9,9 +9,6 @@ | ||||
| <center><h1>Mesa fbdev/DRI Drivers</h1></center> | ||||
| <br> | ||||
|  | ||||
| <h1><center>NOTE: this information is obsolete and will be removed at | ||||
| a future date</center></h1> | ||||
|  | ||||
| <h1>1. Introduction</h1> | ||||
|  | ||||
| <p> | ||||
| @@ -25,7 +22,7 @@ Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie. | ||||
|  | ||||
| <p> | ||||
| Applications in the fbdev/DRI environment use | ||||
| the MiniGLX interface to choose pixel | ||||
| the <a href="http://www.nabble.com/file/p15480666/MiniGXL.html"> MiniGLX</a> interface to choose pixel | ||||
| formats, create rendering contexts, etc.  It's a subset of the GLX and | ||||
| Xlib interfaces allowing some degree of application portability between | ||||
| the X and X-less environments. | ||||
| @@ -318,7 +315,8 @@ It means that the sample_server process is not running. | ||||
| <h1>5.0 Programming Information</h1> | ||||
|  | ||||
| <p> | ||||
| OpenGL/Mesa is interfaced to fbdev via the MiniGLX interface. | ||||
| OpenGL/Mesa is interfaced to fbdev via the <a href="http://www.nabble.com/file/p15480666/MiniGLX.html">MiniGLX</a> | ||||
| interface. | ||||
| MiniGLX is a subset of Xlib and GLX API functions which provides just | ||||
| enough functionality to setup OpenGL rendering and respond to simple | ||||
| input events. | ||||
| @@ -334,7 +332,7 @@ This allows some degree of flexibility for software development and testing. | ||||
| However, the MiniGLX API is not binary-compatible with full Xlib/GLX. | ||||
| Some of the structures are different and some macros/functions work | ||||
| differently. | ||||
| See the GL/miniglx.h header file for details. | ||||
| See the <code>GL/miniglx.h</code> header file for details. | ||||
| </p> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -351,17 +351,26 @@ example linux or windows, <i>machine</i> is x86 or x86_64, optionally followed | ||||
| by -debug for debug builds. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The sample programs are built seperately. To build them do | ||||
| <pre> | ||||
|     scons -C progs | ||||
| </pre> | ||||
| And the build output will be placed in progs/build/... | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do | ||||
| </p> | ||||
| <pre> | ||||
|     scons platform=windows toolchain=crossmingw machine=x86 statetrackers=mesa drivers=softpipe,trace winsys=gdi | ||||
|     scons -C progs platform=windows toolchain=crossmingw machine=x86 -k | ||||
| </pre> | ||||
| <p> | ||||
| This will create: | ||||
| </p> | ||||
| <ul> | ||||
| <li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll  | ||||
| <li>build/windows-x86-debug/gallium/winsys/gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll  | ||||
| <li>build/windows-x86-debug/glut/glx/glut32.dll | ||||
| <li>progs/build/windows-x86-debug/wgl/wglinfo.exe | ||||
| <li>progs/build/windows-x86-debug/trivial/tri.exe | ||||
|   | ||||
| @@ -111,9 +111,11 @@ It implements the OpenGL 1.3 specification. | ||||
|  | ||||
|  | ||||
| <p> | ||||
| November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell, | ||||
| Jens Owen, David Dawes and Frank LaMonica. | ||||
| Tungsten Graphics was acquired by VMware in December 2008. | ||||
| November 2001: I cofound <a href="http://www.tungstengraphics.com" target="_parent"> | ||||
| Tungsten Graphics, Inc.</a> with Keith Whitwell, Jens Owen, David Dawes and | ||||
| Frank LaMonica. | ||||
| I continue to develop Mesa as part of my resposibilities with Tungsten | ||||
| Graphics and as a spare-time project. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
|   | ||||
| @@ -13,14 +13,14 @@ | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-users" | ||||
| target="_parent">mesa-users</a> - intended for end-users of Mesa and DRI | ||||
| <li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-users" | ||||
| target="_parent">mesa3d-users</a> - intended for end-users of Mesa and DRI | ||||
| drivers.  Newbie questions are OK, but please try the general OpenGL | ||||
| resources and Mesa/DRI documentation first. | ||||
| </li> | ||||
| <br> | ||||
| <li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" | ||||
| target="_parent">mesa-dev</a> - for Mesa, Gallium and DRI development | ||||
| <li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-dev" | ||||
| target="_parent">mesa3d-dev</a> - for Mesa, Gallium and DRI development | ||||
| discussion.  Not for beginners. | ||||
| </li> | ||||
| <br> | ||||
| @@ -30,8 +30,8 @@ target="_parent">mesa-commit</a> - relays git check-in messages | ||||
| In general, people should not post to this list. | ||||
| </li> | ||||
| <br> | ||||
| <li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-announce" | ||||
| target="_parent">mesa-announce</a> - announcements of new Mesa | ||||
| <li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-announce" | ||||
| target="_parent">mesa3d-announce</a> - announcements of new Mesa | ||||
| versions are sent to this list.  Very low traffic. | ||||
| </li> | ||||
| </ul> | ||||
| @@ -40,15 +40,6 @@ versions are sent to this list.  Very low traffic. | ||||
| Follow the links above for list archives. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The old Mesa lists hosted at SourceForge are no longer in use. | ||||
| The archives are still available, however: | ||||
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce" target="_parent">mesa3d-announce</a>, | ||||
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users" target="_parent">mesa3d-users</a>, | ||||
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev" target="_parent">mesa3d-dev</a>. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD  | ||||
| kernels, see the | ||||
| <a href="http://dri.freedesktop.org/wiki/MailingLists" target="_parent"> | ||||
|   | ||||
| @@ -10,60 +10,6 @@ | ||||
|  | ||||
| <H1>News</H1> | ||||
|  | ||||
|  | ||||
| <h2>March 2, 2011</h2> | ||||
|  | ||||
| <p> | ||||
| <a href="relnotes-7.9.2.html">Mesa 7.9.2</a> and | ||||
| <a href="relnotes-7.10.1.html">Mesa 7.10.1</a> are released.  These are | ||||
| stable releases containing bug fixes since the 7.9.1 and 7.10 releases. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>October 4, 2010</h2> | ||||
|  | ||||
| <p> | ||||
| <a href="relnotes-7.9.html">Mesa 7.9</a> (final) is released.  This is a new | ||||
| development release. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>September 27, 2010</h2> | ||||
|  | ||||
| <p> | ||||
| <a href="relnotes-7.9.html">Mesa 7.9.0-rc1</a> is released.  This is a | ||||
| release candidate for the 7.9 development release. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>June 16, 2010</h2> | ||||
|  | ||||
| <p> | ||||
| <a href="relnotes-7.8.2.html">Mesa 7.8.2</a> is released.  This is a bug-fix | ||||
| release collecting fixes since the 7.8.1 release. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>April 5, 2010</h2> | ||||
|  | ||||
| <p> | ||||
| <a href="relnotes-7.8.1.html">Mesa 7.8.1</a> is released.  This is a bug-fix | ||||
| release for a few critical issues in the 7.8 release. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>March 28, 2010</h2> | ||||
| <p> | ||||
| <a href="relnotes-7.7.1.html">Mesa 7.7.1</a> is released.  This is a bug-fix | ||||
| release fixing issues found in the 7.7 release. | ||||
| </p> | ||||
| <p> | ||||
| Also, <a href="relnotes-7.8.html">Mesa 7.8</a> is released.  This is a new | ||||
| development release. | ||||
| </p> | ||||
|  | ||||
|  | ||||
|  | ||||
| <h2>December 21, 2009</h2> | ||||
| <p> | ||||
| <a href="relnotes-7.6.1.html">Mesa 7.6.1</a> is released.  This is a bug-fix | ||||
| @@ -190,6 +136,9 @@ Added a new page describing the <a href="cell.html">Mesa Cell driver</a>. | ||||
| <p> | ||||
| Gallium3D is the codename for the new Mesa device driver architecture | ||||
| which is currently under development. | ||||
| A <a href="http://wiki.freedesktop.org/wiki/Software/gallium" | ||||
| target="_parent"> summary</a> of the architecture can be found on the | ||||
| Tungsten Graphics website. | ||||
| </p> | ||||
| <p> | ||||
| Gallium3D development is taking place on the <em>gallium-0.1</em> branch | ||||
| @@ -240,8 +189,11 @@ shading language and built-in functions. | ||||
|  | ||||
| <h2>April 2007</h2> | ||||
| <p> | ||||
| Thomas Hellström of Tungsten Graphics has written a whitepaper | ||||
| describing the new DRI memory management system</a>. | ||||
| Thomas Hellström of | ||||
| <a href="http://www.tungstengraphics.com" target="_parent"> | ||||
| Tungsten Graphics</a> has written a whitepaper describing the new | ||||
| <a href="http://www.tungstengraphics.com/mm.pdf">DRI memory management | ||||
| system</a>. | ||||
| </p> | ||||
|  | ||||
| <h2>December 5, 2006</h2> | ||||
| @@ -1302,6 +1254,7 @@ grateful. | ||||
| <p> | ||||
| </p><h2>March 18, 1999</h2> | ||||
| <p>The new webpages are now online. Enjoy, and let me know if you find any errors. | ||||
| For an eye-candy free version you can use <a href="http://www.mesa3d.org/txt/">http://www.mesa3d.org/txt/</a>.</p> | ||||
| <p> | ||||
| </p><h2>February 16, 1999</h2> | ||||
| <p><a href="http://www.sgi.com/">SGI</a> releases its <a href="http://www.sgi.com/software/opensource/glx/">GLX | ||||
|   | ||||
| @@ -1,78 +0,0 @@ | ||||
| <html> | ||||
|  | ||||
| <title>OpenGL ES</title> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <body> | ||||
|  | ||||
| <h1>OpenGL ES</h1> | ||||
|  | ||||
| <p>Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0.  More informations about | ||||
| OpenGL ES can be found at <a href="http://www.khronos.org/opengles/" | ||||
| target="_parent"> http://www.khronos.org/opengles/</a>.</p> | ||||
|  | ||||
| <p>OpenGL ES depends on a working EGL implementation.  Please refer to | ||||
| <a href="egl.html">Mesa EGL</a> for more information about EGL.</p> | ||||
|  | ||||
| <h2>Build the Libraries</h2> | ||||
| <ol> | ||||
| <li>Run <code>configure</code> with <code>--enable-gles1 --enable-gles2</code> and enable the Gallium driver for your hardware.</li> | ||||
| <li>Build and install Mesa as usual.</li> | ||||
| </ol> | ||||
|  | ||||
| Alternatively, if XCB-DRI2 is installed on the system, one can use | ||||
| <code>egl_dri2</code> EGL driver with OpenGL|ES-enabled DRI drivers | ||||
|  | ||||
| <ol> | ||||
| <li>Run <code>configure</code> with <code>--enable-gles1 --enable-gles2</code>.</li> | ||||
| <li>Build and install Mesa as usual.</li> | ||||
| </ol> | ||||
|  | ||||
| <p>Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or more | ||||
| EGL drivers for your hardware.</p> | ||||
|  | ||||
| <h2>Run the Demos</h2> | ||||
|  | ||||
| <p>There are some demos in <code>progs/egl/</code>.  You can use them to test | ||||
| your build.  For example,</p> | ||||
|  | ||||
| <pre> | ||||
|   $ cd progs/egl/eglut | ||||
|   $ make | ||||
|   $ cd ../opengles1 | ||||
|   $ make | ||||
|   $ ./torus_x11 | ||||
| </pre> | ||||
|  | ||||
| <h2>Developers</h2> | ||||
|  | ||||
| <h3>Internal Libraries</h3> | ||||
|  | ||||
| <table border="1" style="text-align: center;"> | ||||
| 	<tr><td>Library Name</td><td>Used By</td><td>Enabled</td><td>OpenGL</td><td>OpenGL ES 1.x</td><td>OpenGL ES 2.x</td></tr> | ||||
| 	<tr><td><code>libmesa.a</td><td>Classic DRI drivers</td><td>y</td><td>y</td><td>--enable-gles1</td><td>--enable-gles2</td></tr> | ||||
| 	<tr><td><code>libmesagallium.a</td><td>Gallium EGL and DRI drivers</td><td>y</td><td>y</td><td>--enable-gles1</td><td>--enable-gles2</td></tr> | ||||
| </table> | ||||
|  | ||||
| <h3>Dispatch Table</h3> | ||||
|  | ||||
| <p>OpenGL ES has an additional indirection when dispatching fucntions</p> | ||||
|  | ||||
| <pre> | ||||
|   Mesa:       glFoo() --> _mesa_Foo() | ||||
|   OpenGL ES:  glFoo() --> _es_Foo() --> _mesa_Foo() | ||||
| </pre> | ||||
|  | ||||
| <p>The indirection serves several purposes</p> | ||||
|  | ||||
| <ul> | ||||
| <li>When a function is in Mesa and the type matches, it checks the arguments and calls the Mesa function.</li> | ||||
| <li>When a function is in Mesa but the type mismatches, it checks and converts the arguments before calling the Mesa function.</li> | ||||
| <li>When a function is not available in Mesa, or accepts arguments that are not available in OpenGL, it provides its own implementation.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Other than the last case, OpenGL ES uses <code>APIspec.xml</code> to generate functions to check and/or converts the arguments.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,6 +1,6 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>OpenVG State Tracker</TITLE> | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| @@ -20,33 +20,49 @@ http://www.khronos.org/openvg/</a> . | ||||
| </p> | ||||
| <p> | ||||
| The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation. | ||||
| Please refer to <a href="egl.html">Mesa EGL</a> for more information about EGL. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Building the library</h2> | ||||
| <ol> | ||||
| <li>Run <code>configure</code> with <code>--enable-openvg</code>.  If you do | ||||
| not need OpenGL, you can add <code>--disable-opengl</code> to save the | ||||
| compilation time.</li> | ||||
|  | ||||
| <li>Build and install Mesa as usual.</li> | ||||
| <li>Build Mesa3D with Gallium3D. Any build that builds Gallium3D libraries and EGL will suffice</li> | ||||
| <li>cd src/gallium/state_trackers/vega; make</li> | ||||
| <li>The last step will build libOpenVG library. You can add the libdir to LD_LIBRARY_PATH or install libOpenVG</li> | ||||
| </ol> | ||||
|  | ||||
| <h3>Sample build</h3> | ||||
| A sample build looks as follows: | ||||
| <pre> | ||||
|   $ ./configure --disable-opengl --enable-openvg | ||||
|   $ make | ||||
|   $ make install | ||||
|   make linux-x86-64-debug | ||||
|   cd src/gallium/state_trackers/vega | ||||
|   make | ||||
|   cd ../../../.. | ||||
|   export LD_LIBRARY_PATH=$PWD/lib64 | ||||
|   export EGL_DRIVER="egl_softpipe" | ||||
| </pre> | ||||
|  | ||||
| <p>It will install <code>libOpenVG.so</code>, <code>libEGL.so</code>, and one | ||||
| or more EGL drivers.</p> | ||||
|  | ||||
| <h2>OpenVG Demos</h2> | ||||
|  | ||||
| <p>OpenVG demos can be found in mesa/demos repository.</p> | ||||
| <p> | ||||
| To build the OpenVG demos: | ||||
| </p> | ||||
| <pre> | ||||
|   cd progs/openvg | ||||
|   make | ||||
| </pre> | ||||
| <p> | ||||
| To run a demo: | ||||
| </p> | ||||
| <pre> | ||||
|   cd openvg/demos | ||||
|   ./lion | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>Notes</h2> | ||||
| <ul> | ||||
| <li>EGL_DRIVER environmental variable: forces usage of a specific EGL driver. Unless you force egl_softpipe the implementation will look for a DRI hardware accelerate driver and unless you have a Gallium driver that supports it, you'll see crashes</li> | ||||
| </ul> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
							
								
								
									
										54
									
								
								docs/pbuffers.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								docs/pbuffers.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>PBuffer Rendering</TITLE> | ||||
|  | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <H1>PBuffer Rendering</H1> | ||||
|  | ||||
| <p> | ||||
| Basically, FBconfigs and PBuffers allow you to do off-screen rendering | ||||
| with OpenGL.  The OSMesa interface does basically the same thing, but | ||||
| fbconfigs and pbuffers are supported by more vendors. | ||||
| PBuffer rendering may also be hardware accelerated. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| PBuffers are getting more use nowadays, though they've actually been | ||||
| around for a long time on IRIX systems and other workstations. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The | ||||
| <a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt" | ||||
| target="_parent">GL_SGIX_fbconfig</a> | ||||
| and | ||||
| <a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt" | ||||
| target="_parent"> | ||||
| GL_SGIX_pbuffer</a> extensions describe the functionality. | ||||
| More recently, these extensions have been promoted to ARB extensions (on | ||||
| Windows at least). | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The Mesa/progs/xdemos/ directory has some useful code for working | ||||
| with pbuffers: | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><b>pbinfo.c</b> - like glxinfo, it prints a list of available | ||||
|     fbconfigs and whether each supports pbuffers. | ||||
| <li><b>pbutil.c</b> - a few utility functions for dealing with | ||||
|     fbconfigs and pbuffers. | ||||
| <li><b>pbdemo.c</b> - a demonstration of off-screen rendering with pbuffers. | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| Mesa 4.1 and later support GL_SGIX_fbconfig and GL_SGIX_pbuffer (software | ||||
| rendering only). | ||||
| </p> | ||||
|  | ||||
| </BODY> | ||||
| </HTML> | ||||
| @@ -1,380 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <head> | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||||
| </head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.10.1 Release Notes / TBD</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.10.1 is a bug fix release which fixes bugs found since the 7.10 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.10.1 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 4b4cee19f3bf16eb78bd4cc278ccf812  MesaLib-7.10.1.tar.gz | ||||
| efe8da4d80c2a5d32a800770b8ce5dfa  MesaLib-7.10.1.tar.bz2 | ||||
| 0fd2b1a025934de3f8cecf9fb9b57f4c  MesaLib-7.10.1.zip | ||||
| 42beb0f5188d544476c19496f725fa67  MesaGLUT-7.10.1.tar.gz | ||||
| 637bb8a20fdad89f7382b4ea83f896e3  MesaGLUT-7.10.1.tar.bz2 | ||||
| bdbf3ffb2606d6aa8afabb6c6243b91b  MesaGLUT-7.10.1.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None.</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <p>This list is likely incomplete.</p> | ||||
| <ul> | ||||
| <li>Fix an off-by-one bug in a vsplit assertion.</li> | ||||
| <li>Fix incorrect handling of <tt>layout</tt> qualifier | ||||
| with <tt>in</tt>, <tt>out</tt>, <tt>attribute</tt>, and <tt>varying</tt>.</li> | ||||
|  | ||||
| <li>Fix an i965 shader bug where the negative absolute value was generated instead of the absolute value of a negation.</li> | ||||
|  | ||||
| <li>Fix numerous issues handling precision qualifiers in GLSL ES.</li> | ||||
|  | ||||
| <li>Fixed a few GLX protocol encoder bugs (Julien Cristau)</li> | ||||
|  | ||||
| <li>Assorted Gallium llvmpipe driver bug fixes</li> | ||||
|  | ||||
| <li>Assorted Mesa/Gallium state tracker bug fixes</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26795">Bug 26795</a> - gl_FragCoord off by one in Gallium drivers.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29164">Bug 29164</a> - [GLSL 1.20] invariant variable shouldn't be used before declaration</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29823">Bug 29823</a> - GetUniform[if]v busted</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29927">Bug 29927</a> - [glsl2] fail to compile shader with constructor for array of struct type</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30156">Bug 30156</a> - [i965] After updating to Mesa 7.9, Civilization IV starts to show garbage</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31923">Bug 31923</a> - [GLSL 1.20] allowing inconsistent centroid declaration between two vertex shaders</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31925">Bug 31925</a> - [GLSL 1.20] "#pragma STDGL invariant(all)" fail</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32214">Bug 32214</a> - [gles2]no link error happens when missing vertex shader or frag shader</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32375">Bug 32375</a> - [gl gles2] Not able to get the attribute by function glGetVertexAttribfv</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32541">Bug 32541</a> - Segmentation Fault while running an HDR (high dynamic range) rendering demo</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32569">Bug 32569</a> - [gles2] glGetShaderPrecisionFormat not implemented yet</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32695">Bug 32695</a> - [glsl] SIGSEGV glcpp/glcpp-parse.y:833</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32831">Bug 32831</a> - [glsl] division by zero crashes GLSL compiler</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32910">Bug 32910</a> - Keywords 'in' and 'out' not handled properly for GLSL 1.20 shaders</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33219">Bug 33219</a> -[GLSL bisected] implicit sized array triggers segfault in ir_to_mesa_visitor::copy_propagate</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33306">Bug 33306</a> - GLSL integer division by zero crashes GLSL compiler</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33308">Bug 33308</a> -[glsl] ast_to_hir.cpp:3016: virtual ir_rvalue* ast_jump_statement::hir(exec_list*, _mesa_glsl_parse_state*): Assertion `ret != __null' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33316">Bug 33316</a> - uniform array will be allocate one line more and initialize it when it was freed will abort</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33386">Bug 33386</a> - Dubious assembler in read_rgba_span_x86.S</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33388">Bug 33388</a> - Dubious assembler in xform4.S</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33433">Bug 33433</a> - Error in x86-64 API dispatch code.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33507">Bug 33507</a> - [glsl] GLSL preprocessor modulus by zero crash</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33508">Bug 33508</a> - [glsl] GLSL compiler modulus by zero crash</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33916">Bug 33916</a> - Compiler accepts reserved operators % and %=</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34030">Bug 34030</a> - [bisected] Starcraft 2: some effects are corrupted or too big</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34047">Bug 34047</a> - Assert in _tnl_import_array() when using GLfixed vertex datatypes with GLESv2</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34114">Bug 34114</a> - Sun Studio build fails due to standard library functions not being in global namespace</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34179">Bug 34179</a> - Nouveau 3D driver: nv50_pc_emit.c:863 assertion error kills Compiz</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34198">Bug 34198</a> - [GLSL] implicit sized array with index 0 used gets assertion</li> | ||||
|  | ||||
| <li><a href="https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/691653">Ubuntu bug 691653</a> - compiz crashes when using alt-tab (the radeon driver kills it) </li> | ||||
|  | ||||
| <li><a href="https://bugs.meego.com/show_bug.cgi?id=13005">Meego bug 13005</a> - Graphics GLSL issue lead to camera preview fail on Pinetrail</li> | ||||
|  | ||||
| <!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li> --> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <p>The full set of changes can be viewed by using the following GIT command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-7.10..mesa-7.10.1 | ||||
| </pre> | ||||
|  | ||||
| <p>Alberto Milone (1): | ||||
| <ul> | ||||
|   <li>r600c: add evergreen ARL support.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Brian Paul (21): | ||||
| <ul> | ||||
|   <li>draw: Fix an off-by-one bug in a vsplit assertion.</li> | ||||
|   <li>docs: add links to 7.9.1 and 7.10 release notes</li> | ||||
|   <li>docs: added news item for 7.9.1 and 7.10 release</li> | ||||
|   <li>gallivm: work around LLVM 2.6 bug when calling C functions</li> | ||||
|   <li>gallivm: fix copy&paste error from previous commit</li> | ||||
|   <li>mesa: fix a few format table mistakes, assertions</li> | ||||
|   <li>mesa: fix num_draw_buffers==0 in fixed-function fragment program generation</li> | ||||
|   <li>mesa: don't assert in GetIntegerIndexed, etc</li> | ||||
|   <li>mesa: check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li> | ||||
|   <li>llvmpipe: make sure binning is active when we begin/end a query</li> | ||||
|   <li>st/mesa: fix incorrect fragcoord.x translation</li> | ||||
|   <li>softpipe: fix off-by-one error in setup_fragcoord_coeff()</li> | ||||
|   <li>cso: fix loop bound in cso_set_vertex_samplers()</li> | ||||
|   <li>st/mesa: fix incorrect glCopyPixels position on fallback path</li> | ||||
|   <li>st/mesa: set renderbuffer _BaseFormat in a few places</li> | ||||
|   <li>st/mesa: fix the default case in st_format_datatype()</li> | ||||
|   <li>st/mesa: need to translate clear color according to surface's base format</li> | ||||
|   <li>docs: update 7.9.2 release notes with Brian's cherry-picks</li> | ||||
|   <li>docs: add link to 7.10.1 release notes</li> | ||||
|   <li>mesa: implement glGetShaderPrecisionFormat()</li> | ||||
|   <li>docs: updated environment variable list</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Bryce Harrington (1): | ||||
| <ul> | ||||
|   <li>r300g: Null pointer check for buffer deref in gallium winsys</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chad Versace (20): | ||||
| <ul> | ||||
|   <li>glsl: At link-time, check that globals have matching centroid qualifiers</li> | ||||
|   <li>glcpp: Fix segfault when validating macro redefinitions</li> | ||||
|   <li>glsl: Fix parser rule for type_specifier</li> | ||||
|   <li>glsl: Change default value of ast_type_specifier::precision</li> | ||||
|   <li>glsl: Add semantic checks for precision qualifiers</li> | ||||
|   <li>glsl: Add support for default precision statements</li> | ||||
|   <li>glsl: Remove redundant semantic check in parser</li> | ||||
|   <li>glsl: Fix semantic checks on precision qualifiers</li> | ||||
|   <li>glsl: Fix segfault due to missing printf argument</li> | ||||
|   <li>glsl: Mark 'in' variables at global scope as read-only</li> | ||||
|   <li>mesa: Refactor handling of extension strings</li> | ||||
|   <li>mesa: Add/remove extensions in extension string</li> | ||||
|   <li>mesa: Change dependencies of some OES extension strings</li> | ||||
|   <li>mesa: Change OES_point_sprite to depend on ARB_point_sprite</li> | ||||
|   <li>mesa: Change OES_standard_derivatives to be stand-alone extension</li> | ||||
|   <li>i915: Disable extension OES_standard_derivatives</li> | ||||
|   <li>glcpp: Raise error when modulus is zero</li> | ||||
|   <li>glsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30</li> | ||||
|   <li>glsl: Reinstate constant-folding for division by zero</li> | ||||
|   <li>tnl: Add support for datatype GL_FIXED in vertex arrays</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chia-I Wu (1): | ||||
| <ul> | ||||
|   <li>mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Christoph Bumiller (1): | ||||
| <ul> | ||||
|   <li>nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Cyril Brulebois (1): | ||||
| <ul> | ||||
|   <li>Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Dave Airlie (3): | ||||
| <ul> | ||||
|   <li>radeon/r200: fix fbo-clearmipmap + gen-teximage</li> | ||||
|   <li>radeon: calculate complete texture state inside TFP function</li> | ||||
|   <li>radeon: avoid segfault on 3D textures.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Dimitry Andric (4): | ||||
| <ul> | ||||
|   <li>mesa: s/movzx/movzbl/</li> | ||||
|   <li>mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S</li> | ||||
|   <li>glapi: adding @ char before type specifier in glapi_x86.S</li> | ||||
|   <li>glapi: add @GOTPCREL relocation type</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Eric Anholt (16): | ||||
| <ul> | ||||
|   <li>glsl: Fix the lowering of variable array indexing to not lose write_masks.</li> | ||||
|   <li>i965/fs: When producing ir_unop_abs of an operand, strip negate.</li> | ||||
|   <li>i965/vs: When MOVing to produce ABS, strip negate of the operand.</li> | ||||
|   <li>i965/fs: Do flat shading when appropriate.</li> | ||||
|   <li>i965: Avoid double-negation of immediate values in the VS.</li> | ||||
|   <li>intel: Make renderbuffer tiling choice match texture tiling choice.</li> | ||||
|   <li>i965: Fix dead pointers to fp->Parameters->ParameterValues[] after realloc.</li> | ||||
|   <li>docs: Add a relnote for the Civ IV on i965.</li> | ||||
|   <li>glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.</li> | ||||
|   <li>mesa: Add extension enable bit for GL_ARB_ES2_compatibility.</li> | ||||
|   <li>mesa: Add actual support for glReleaseShaderCompiler from ES2.</li> | ||||
|   <li>mesa: Add support for glDepthRangef and glClearDepthf.</li> | ||||
|   <li>mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.</li> | ||||
|   <li>mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.</li> | ||||
|   <li>i965: Fix a bug in i965 compute-to-MRF.</li> | ||||
|   <li>i965/fs: Add a helper function for detecting math opcodes.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Fredrik Höglund (1): | ||||
| <ul> | ||||
|   <li>st/mesa: fix a regression from cae2bb76</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Ian Romanick (42): | ||||
| <ul> | ||||
|   <li>docs: Add 7.10 md5sums</li> | ||||
|   <li>glsl: Support the 'invariant(all)' pragma</li> | ||||
|   <li>glcpp: Generate an error for division by zero</li> | ||||
|   <li>glsl: Add version_string containing properly formatted GLSL version</li> | ||||
|   <li>glsl & glcpp: Refresh autogenerated lexer and parser files.</li> | ||||
|   <li>glsl: Disallow 'in' and 'out' on globals in GLSL 1.20</li> | ||||
|   <li>glsl: Track variable usage, use that to enforce semantics</li> | ||||
|   <li>glsl: Allow 'in' and 'out' when 'layout' is also available</li> | ||||
|   <li>docs: Initial bits of 7.10.1 release notes</li> | ||||
|   <li>mesa: bump version to 7.10.1-devel</li> | ||||
|   <li>doc: Update 7.10.1 release notes</li> | ||||
|   <li>glsl: Emit errors or warnings when 'layout' is used with 'attribute' or 'varying'</li> | ||||
|   <li>docs: Update 7.10.1 release notes</li> | ||||
|   <li>glsl: Refresh autogenerated lexer and parser files.</li> | ||||
|   <li>glsl: Don't assert when the value returned by a function has no rvalue</li> | ||||
|   <li>linker: Set sizes for non-global arrays as well</li> | ||||
|   <li>linker: Propagate max_array_access while linking functions</li> | ||||
|   <li>docs: Update 7.10.1 release notes</li> | ||||
|   <li>mesa: glGetUniform only returns a single element of an array</li> | ||||
|   <li>linker: Generate link errors when ES shaders are missing stages</li> | ||||
|   <li>mesa: Fix error checks in GetVertexAttrib functions</li> | ||||
|   <li>Use C-style system headers in C++ code to avoid issues with std:: namespace</li> | ||||
|   <li>docs: Update 7.10.1 release notes</li> | ||||
|   <li>glapi: Regenerate for GL_ARB_ES2_compatibility.</li> | ||||
|   <li>mesa: Connect glGetShaderPrecisionFormat into the dispatch table</li> | ||||
|   <li>i965: Set correct values for range/precision of fragment shader types</li> | ||||
|   <li>i915: Set correct values for range/precision of fragment shader types</li> | ||||
|   <li>intel: Fix typeos from 3d028024 and 790ff232</li> | ||||
|   <li>glsl: Ensure that all GLSL versions are supported in the stand-alone compiler</li> | ||||
|   <li>glsl: Reject shader versions not supported by the implementation</li> | ||||
|   <li>mesa: Initial size for secondary color array is 3</li> | ||||
|   <li>glsl: Finish out the reduce/reduce error fixes</li> | ||||
|   <li>glsl: Regenerate compiler and glcpp files from cherry picks</li> | ||||
|   <li>linker: Fix off-by-one error implicit array sizing</li> | ||||
|   <li>docs: update 7.10.1 release notes with Ian's recent cherry picks</li> | ||||
|   <li>i915: Only mark a register as available if all components are written</li> | ||||
|   <li>i915: Calculate partial result to temp register first</li> | ||||
|   <li>i915: Force lowering of all types of indirect array accesses in the FS</li> | ||||
|   <li>docs: Update 7.10.1 with (hopefully) the last of the cherry picks</li> | ||||
|   <li>docs: Clean up bug fixes list</li> | ||||
|   <li>intel: Remove driver date and related bits from renderer string</li> | ||||
|   <li>mesa: set version string to 7.10.1 (final)</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Jian Zhao (1): | ||||
| <ul> | ||||
|   <li>mesa: fix an error in uniform arrays in row calculating.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Julien Cristau (3): | ||||
| <ul> | ||||
|   <li>glx: fix request lengths</li> | ||||
|   <li>glx: fix GLXChangeDrawableAttributesSGIX request</li> | ||||
|   <li>glx: fix length of GLXGetFBConfigsSGIX</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Keith Packard (1): | ||||
| <ul> | ||||
|   <li>glsl: Eliminate reduce/reduce conflicts in glsl grammar</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Kenneth Graunke (20): | ||||
| <ul> | ||||
|   <li>glsl: Expose a public glsl_type::void_type const pointer.</li> | ||||
|   <li>glsl: Don't bother unsetting a destructor that was never set.</li> | ||||
|   <li>glsl, i965: Remove unnecessary talloc includes.</li> | ||||
|   <li>glcpp: Remove use of talloc reference counting.</li> | ||||
|   <li>ralloc: Add a fake implementation of ralloc based on talloc.</li> | ||||
|   <li>Convert everything from the talloc API to the ralloc API.</li> | ||||
|   <li>ralloc: a new MIT-licensed recursive memory allocator.</li> | ||||
|   <li>Remove talloc from the make and automake build systems.</li> | ||||
|   <li>Remove talloc from the SCons build system.</li> | ||||
|   <li>Remove the talloc sources from the Mesa repository.</li> | ||||
|   <li>glsl: Fix use of uninitialized values in _mesa_glsl_parse_state ctor.</li> | ||||
|   <li>i965/fs: Apply source modifier workarounds to POW as well.</li> | ||||
|   <li>i965: Fix shaders that write to gl_PointSize on Sandybridge.</li> | ||||
|   <li>i965/fs: Avoid register coalescing away gen6 MATH workarounds.</li> | ||||
|   <li>i965/fs: Correctly set up gl_FragCoord.w on Sandybridge.</li> | ||||
|   <li>i965: Increase Sandybridge point size clamp.</li> | ||||
|   <li>i965/fs: Refactor control flow stack handling.</li> | ||||
|   <li>i965: Increase Sandybridge point size clamp in the clip state.</li> | ||||
|   <li>glsl: Use reralloc instead of plain realloc.</li> | ||||
|   <li>Revert "i965/fs: Correctly set up gl_FragCoord.w on Sandybridge."</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Marek Olšák (4): | ||||
| <ul> | ||||
|   <li>docs: fix messed up names with special characters in relnotes-7.10</li> | ||||
|   <li>docs: fix messed up names with special characters in relnotes-7.9.1</li> | ||||
|   <li>mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2</li> | ||||
|   <li>st/dri: Track drawable context bindings</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Paulo Zanoni (1): | ||||
| <ul> | ||||
|   <li>dri_util: fail driCreateNewScreen if InitScreen is NULL</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Sam Hocevar (2): | ||||
| <ul> | ||||
|   <li>docs: add glsl info</li> | ||||
|   <li>docs: fix glsl_compiler name</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Tom Fogal (1): | ||||
| <ul> | ||||
|   <li>Regenerate gl_mangle.h.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Tom Stellard (2): | ||||
| <ul> | ||||
|   <li>r300/compiler: Disable register rename pass on r500</li> | ||||
|   <li>r300/compiler: Don't erase sources when converting RGB->Alpha</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Vinson Lee (3): | ||||
| <ul> | ||||
|   <li>ralloc: Add missing va_end following va_copy.</li> | ||||
|   <li>mesa: Move declaration before code in extensions.c.</li> | ||||
|   <li>mesa: Move loop variable declarations outside for loop in extensions.c.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>nobled (1): | ||||
| <ul> | ||||
|   <li>glx: Put null check before use</li> | ||||
| </ul></p> | ||||
|  | ||||
| </p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,62 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <head> | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||||
| </head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.11 Release Notes / (release date TBD)</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.11 is a new development release. | ||||
| People who are concerned with stability and reliability should stick | ||||
| with a previous release or wait for Mesa 7.11.1. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.11 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| tbd | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <ul> | ||||
| <li>GL_ARB_draw_instanced extension (gallium drivers, swrast) | ||||
| <li>GL_ARB_instanced_arrays extension (gallium drivers) | ||||
| <li>GL_ARB_texture_compression_rgtc (gallium r600, swrast) | ||||
| <li>GL_ARB_draw_buffers_blend (gallium) | ||||
| <li>GL_EXT_texture_sRGB_decode (gallium drivers, swrast, i965) | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <ul> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <ul> | ||||
| <li>The Windows MSVC project files have been removed.  They haven't been maintained | ||||
| in quite a while.  Building with SCons is an alterantive. | ||||
| <li>Removed GL_SGI_texture_color_table support from swrast driver - the only | ||||
| driver that implemented it. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -8,7 +8,7 @@ | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.7.1 Release Notes / March 28, 2010</H1> | ||||
| <H1>Mesa 7.7.1 Release Notes / date tbd</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.7.1 is a bug-fix release. | ||||
| @@ -26,15 +26,7 @@ for DRI hardware acceleration. | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 3ab0638cfa7ce8157337a229cf0db2c4  MesaLib-7.7.1.tar.gz | ||||
| 46664d99e03f1e3ac078a7fea02af115  MesaLib-7.7.1.tar.bz2 | ||||
| 4e73ba8abb59aff79485eb95d7cefff7  MesaLib-7.7.1.zip | ||||
| bf1b108983995f7a712cf3343df1c918  MesaDemos-7.7.1.tar.gz | ||||
| aeb39645d80d656e0adebaa09e5bcd03  MesaDemos-7.7.1.tar.bz2 | ||||
| 01c49b7454fd292244eaf8bdc6ed8cf0  MesaDemos-7.7.1.zip | ||||
| 37ec6386693dcb6dc770d1efd63a7a93  MesaGLUT-7.7.1.tar.gz | ||||
| 1e16c85282f843791a21f7bc7b6a1ca8  MesaGLUT-7.7.1.tar.bz2 | ||||
| d352c9e36a8e4d1059f4abc017b131e0  MesaGLUT-7.7.1.zip | ||||
| tbd | ||||
| </pre> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,62 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.8.1 Release Notes / April, 5, 2010</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.8.1 fixes a couple critical bugs in the recent Mesa 7.8 release.  Even | ||||
| though this is a bug fix release, given its proximity to the 7.8 release, a | ||||
| new development release, it should also be considered new development release. | ||||
| People who are concerned with stability and reliability should stick | ||||
| with a previous release, such as 7.7.1, or wait for Mesa 7.8.2. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.8.1 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 62e8e47cbd63741b4bbe634dcdc8a56a  MesaLib-7.8.1.tar.gz | ||||
| 25ec15f8e41fde6d206118cc786dbac4  MesaLib-7.8.1.tar.bz2 | ||||
| 22b1153010ffdf513836ea9931159e80  MesaLib-7.8.1.zip | ||||
| c9c0a830923d3820807a08c09d521b3e  MesaDemos-7.8.1.tar.gz | ||||
| 9ef47f911869657c6bf2f43ebce86b61  MesaDemos-7.8.1.tar.bz2 | ||||
| 93720605eb3f784f9bcc289a4dd2ff52  MesaDemos-7.8.1.zip | ||||
| ed1d0b1e960afe6a3768eab747cbdbd3  MesaGLUT-7.8.1.tar.gz | ||||
| 6bae516a44c6d26ff3152c960ab648e7  MesaGLUT-7.8.1.tar.bz2 | ||||
| ba306f603ea73c30ee0e7efa14dc5581  MesaGLUT-7.8.1.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None.</p> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <ul> | ||||
| <li>Fix incorrect enums for GLX_INTEL_swap_event by updating glxext.h to | ||||
|   version 27 from OpenGL.org.</li> | ||||
| <li>Fix compilation errors on non-GLX_DIRECT_RENDERING builds.</li> | ||||
| <li>Various fixes for building Mesa on OS X.</li> | ||||
| <li>Pass GLX drawable ID to dri2InvalidateBuffers.  Fixes bug #27190.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <p>None.</p> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,146 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.8.2 Release Notes / (date tbd)</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.8.2 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| c89b63d253605ed40e8ac370d25a833c  MesaLib-7.8.2.tar.gz | ||||
| 6be2d343a0089bfd395ce02aaf8adb57  MesaLib-7.8.2.tar.bz2 | ||||
| a04ad3b06ac5ff3969a003fa7bbf7d5b  MesaLib-7.8.2.zip | ||||
| 7c213f92efeb471f0331670d5079d4c0  MesaDemos-7.8.2.tar.gz | ||||
| 757d9e2e06f48b1a52848be9b0307ced  MesaDemos-7.8.2.tar.bz2 | ||||
| 8d0e5cfe68b8ebf90265d350ae2c48b1  MesaDemos-7.8.2.zip | ||||
| b74482e3f44f35ed395c4aada4fd8240  MesaGLUT-7.8.2.tar.gz | ||||
| a471807b65e49c325808ba4551be93ed  MesaGLUT-7.8.2.tar.bz2 | ||||
| 9f190268c42be582ef66e47365ee61e3  MesaGLUT-7.8.2.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None.</p> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <ul> | ||||
| <li>Upgraded glext.h to version 61, and upgraded glxext.h | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <ul> | ||||
| <li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT). | ||||
| <li>Fixed Gallium Cell driver to buildable, runable state | ||||
| <li>Fixed bad error checking for glFramebufferRenderbuffer(attachment=GL_DEPTH_STENCIL_ATTACHMENT). | ||||
| <li>Fixed incorrect Z coordinate handling in "meta" glDraw/CopyPixels. | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">Bug | ||||
|     #23670</a>.</li> | ||||
|  | ||||
| <li>Assorted i965 driver fixes. | ||||
|     Including but not limited to: | ||||
|   <ul> | ||||
|     <li>Fix scissoring when width or height is | ||||
|     0.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27643">Bug | ||||
|     #27643</a>. | ||||
|     <li>Fix bit allocation for number of color regions for | ||||
|     ARB_draw_buffers.</li> | ||||
|     <li>Set the correct provoking vertex for clipped first-mode | ||||
|     trifans.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24470">Bug | ||||
|     #24470</a>.</li> | ||||
|     <li>Use <code>R16G16B16A16_FLOAT</code> for 3-component half-float.</li> | ||||
|     <li>Fix assertion for surface tile offset usage on Ironlake.</li> | ||||
|     <li>Fix cube map layouts on Ironlake.</li> | ||||
|     <li>When an RB gets a new region, clear the old from the state | ||||
|     cache.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24119">Bug | ||||
|     #24119</a>.</li> | ||||
|     <li>Reject shaders with uninlined function calls instead of hanging.</li> | ||||
|   </ul> | ||||
| </li> | ||||
|  | ||||
| <li>Assorted i915 driver fixes.  Including but not limited to: | ||||
|   <ul> | ||||
|     <li>Fixed texture LOD clamping in i915 driver. | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24846">Bug | ||||
|     #24846</a>.</li> | ||||
|     <li>Fix off-by-one for drawing rectangle. | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27408">Bug | ||||
|     #27408</a>.</li> | ||||
|   </ul> | ||||
| </li> | ||||
|  | ||||
| <li>Fixed hangs in etracer on 830 and 845 | ||||
|     chipsets.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=26557">Bug | ||||
|     #26557</a>.</li> | ||||
| <li>Fixed tiling of small textures on all Intel drivers.</li> | ||||
| <li>Fixed crash in Savage driver when using <code>_mesa_CopyTexImage2D</code>. | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27652">Bug | ||||
|     #27652</a>.</li> | ||||
|  | ||||
| <li>Assorted GLX fixes.  Including but not limited to: | ||||
|   <ul> | ||||
|     <li>Fixed <code>__glXInitializeVisualConfigFromTags</code>'s handling of | ||||
|         unrecognized fbconfig tags.</li> | ||||
|     <li>Fixed regression with <code>GLX_USE_GL</code>. | ||||
|     <li>Fixed config chooser logic for 'mask' matching.</li> | ||||
|     <li>Report swap events correctly in direct rendered case (DRI2)</li> | ||||
|     <li>Fixed build with dri2proto which doesn't define | ||||
|         <code>X_DRI2SwapInterval</code>.</li> | ||||
|     <li>Get <code>GLX_SCREEN</code> first in <code>__glXQueryContextInfo</code>. | ||||
|         <a href="https://bugs.freedesktop.org/show_bug.cgi?id=14245">Bug | ||||
| 	#14245</a>.</li> | ||||
|   </ul> | ||||
| </li> | ||||
|  | ||||
| <li>Assorted GLSL fixes.  Including but not limited to: | ||||
|   <ul> | ||||
|     <li>Change variable declared assertion into conditional in GLSL | ||||
|         compiler.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27921">Bug | ||||
|         #27921</a>.</li> | ||||
|     <li>Fix instruction indexing | ||||
|         bugs.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27566">Bug | ||||
|         #27566</a>.</li> | ||||
|     <li>Updated uniform location / offset encoding to be more like | ||||
|         other implementations.</li> | ||||
|     <li>Don't overwrite a driver's shader infolog with generic failure | ||||
|         message.</li> | ||||
|   </ul> | ||||
| </li> | ||||
|  | ||||
| <li>Fixed OSMesa build for 16 and 32-bit color channel depth. | ||||
| <li>Fixed OSMesa build with hidden symbol visibility. libOSMesa no longer links to libGL. | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28305">Bug | ||||
|     #28305</a>. | ||||
| <li>Fixed handling of multiple render targets in fixed-function | ||||
|     texture envrionmnent programs.</li> | ||||
| <li>Fixed conversion errors in <code>signed_rgba8888[rev]</code> texel | ||||
|     fetch.</li> | ||||
| <li>Don't set srcLevel on <code>GL_TEXTURE_RECTANGLE_ARB</code> targets.</li> | ||||
| <li>Various build fixes for OpenBSD.</li> | ||||
| <li>Various build fixes for OS X.</li> | ||||
| <li>Various build fixes for GCC 3.3.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,89 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.8.3 Release Notes / (date tbd)</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.8.3 is a bug fix release which fixes bugs found since the 7.8.2 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.8.3 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| x  MesaLib-7.8.3.tar.gz | ||||
| x  MesaLib-7.8.3.tar.bz2 | ||||
| x  MesaLib-7.8.3.zip | ||||
| x  MesaDemos-7.8.3.tar.gz | ||||
| x  MesaDemos-7.8.3.tar.bz2 | ||||
| x  MesaDemos-7.8.3.zip | ||||
| x  MesaGLUT-7.8.3.tar.gz | ||||
| x  MesaGLUT-7.8.3.tar.bz2 | ||||
| x  MesaGLUT-7.8.3.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None.</p> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <ul> | ||||
| <li>The radeon driver should use less memory when searching for a valid mip | ||||
| image.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <ul> | ||||
| <li>Fix unsupported FB with D24S8 (bug  | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">29116</a>)</li> | ||||
| <li>Fix ReadPixels crash when reading depth/stencil from an FBO</li> | ||||
| <li>Fixed a bug rendering to 16-bit buffers using swrast.</li> | ||||
| <li>Fixed a state tracker/TGSI bug that caused crashes when using Windows' | ||||
|     memory debugging features.</li> | ||||
| <li>Fixed an issue rendering to 32-bit channels with swrast (bug | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29487">29487</a>)</li> | ||||
| <li>GLSL: fix indirect <TT>gl_TextureMatrix</TT> addressing (bug | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">28967</a>)</li> | ||||
| <li>GLSL: fix for bug | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">27216</a></li> | ||||
| <li>GLSL: fix zw fragcoord entries in some cases (bug | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29183">29183</a>)</li> | ||||
| <li>Fix texture env generation in some cases (bug | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28169">28169</a>)</li> | ||||
| <li>osmesa: a fix for calling <TT>OSMesaMakeCurrent</TT> twice was applied (bug  | ||||
|     <a href="https://bugs.freedesktop.org/show_bug.cgi?id=10966">10966</a></li> | ||||
| <li>A bug was fixed which could cause Mesa to ignore the | ||||
|     <TT>MESA_EXTENSION_OVERRIDE</TT> environment variable.</li> | ||||
| <li>A bug related to specular highlights on backfaces was fixed.</li> | ||||
| <li>A radeon-specific issue with <TT>glCopyTex(Sub)Image</TT> was | ||||
|     corrected.</li> | ||||
| <li>radeon/wine: flush command stream in more cases, fixing wine d3d9 | ||||
|     tests.</li> | ||||
| <li>r600: fix sin+cos normalization.</li> | ||||
| <li>r600: (properly) ignore <TT>GL_COORD_REPLACE</TT> when point sprites are | ||||
|     disabled.</li> | ||||
| <li>radeon: avoid flushing when the context is not current.</li> | ||||
| <li>r300c: a bug affecting unaligned BOs was fixed.</li> | ||||
| <li>r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,70 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.8 Release Notes / March 28, 2010</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.8 is a new development release. | ||||
| People who are concerned with stability and reliability should stick | ||||
| with a previous release or wait for Mesa 7.8.1. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.8 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 5fcfde5383eccb3e9fd665f08a0ea59b  MesaLib-7.8.tar.gz | ||||
| 85cb891eecb89aae4fdd3499cccd934b  MesaLib-7.8.tar.bz2 | ||||
| 754f39593006effc1c8ec3c27c2f1296  MesaLib-7.8.zip | ||||
| c3869c29fa6c3dbdd763f7428d271e12  MesaDemos-7.8.tar.gz | ||||
| 9fe8ec184c7f78691e43c4c0a7f97d56  MesaDemos-7.8.tar.bz2 | ||||
| 063a96947f7b83d4ad789c6cf291b184  MesaDemos-7.8.zip | ||||
| 5f4246756b7daaddb4fb3f970cad1e28  MesaGLUT-7.8.tar.gz | ||||
| ca7048a4aa7a437dcc84cc2c7d731336  MesaGLUT-7.8.tar.bz2 | ||||
| b54581aeb79b585b158d6a32f94feff2  MesaGLUT-7.8.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <ul> | ||||
| <li>GL_NV_conditional_render extension (swrast driver only) | ||||
| <li>GL_EXT_draw_buffers2 extension (swrast and i965 driver only) | ||||
| <li>GL_ARB_fragment_coord_conventions extension (for swrast, i965, and Gallium drivers) | ||||
| <li>GL_EXT_texture_array extension (swrast driver only) | ||||
| <li>GL_APPLE_object_purgeable extension (swrast and i945/i965 DRI drivers) | ||||
| <li>Much improved support for <a href="egl.html">EGL in Mesa</a> | ||||
| <li>New state trackers for <a href="opengles.html">OpenGL ES 1.1 and 2.0</a> | ||||
| <li>Dedicated documentation for Gallium | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <ul> | ||||
| <li>Massive improvements to the Gallium driver for R300-R500 Radeons; this | ||||
|     driver is now moderately stable but not terribly performant. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <ul> | ||||
| <li>Removed support for color-index rendering</li> | ||||
| <li>Removed support for GCC versions earlier than 3.3.0.</li> | ||||
| </ul> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,406 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <head> | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||||
| </head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.9.1 Release Notes / January 7, 2011</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.9.1 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 78422843ea875ad4eac35b9b8584032b  MesaLib-7.9.1.tar.gz | ||||
| 07dc6cfb5928840b8b9df5bd1b3ae434  MesaLib-7.9.1.tar.bz2 | ||||
| c8eaea5b3c3d6dee784bd8c2db91c80f  MesaLib-7.9.1.zip | ||||
| ee9ecae4ca56fbb2d14dc15e3a0a7640  MesaGLUT-7.9.1.tar.gz | ||||
| 41fc477d524e7dc5c84da8ef22422bea  MesaGLUT-7.9.1.tar.bz2 | ||||
| 90b287229afdf19317aa989d19462e7a  MesaGLUT-7.9.1.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None.</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <p>This list is likely incomplete.</p> | ||||
| <ul> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb && stfb->iface == stfbi' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> -  [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> -  [regression] aa43176e break water reflections</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type >= 0) && (type->base_type <= 3)' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> -  [GLSL] array-struct-array gets assertion: `(size >= 1) && (size <= 4)' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> -  i915 shader compiler fails to flatten if in Aquarium webgl demo.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr->operands[i]->type->is_scalar()' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> -  [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> -  [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <p>The full set of changes can be viewed by using the following GIT command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-7.9..mesa-7.9.1 | ||||
| </pre> | ||||
|  | ||||
| <p>Alex Deucher (5): | ||||
| <ul> | ||||
|   <li>r100: revalidate after radeon_update_renderbuffers</li> | ||||
|   <li>r600c: add missing radeon_prepare_render() call on evergreen</li> | ||||
|   <li>r600c: properly align mipmaps to group size</li> | ||||
|   <li>gallium/egl: fix r300 vs r600 loading</li> | ||||
|   <li>r600c: fix some opcodes on evergreen</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Aras Pranckevicius (2): | ||||
| <ul> | ||||
|   <li>glsl: fix crash in loop analysis when some controls can't be determined</li> | ||||
|   <li>glsl: fix matrix type check in ir_algebraic</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Brian Paul (27): | ||||
| <ul> | ||||
|   <li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li> | ||||
|   <li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li> | ||||
|   <li>egl/i965: include inline_wrapper_sw_helper.h</li> | ||||
|   <li>mesa: Add missing else in do_row_3D</li> | ||||
|   <li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li> | ||||
|   <li>mesa: handle more pixel types in mipmap generation code</li> | ||||
|   <li>mesa: make glIsBuffer() return false for never bound buffers</li> | ||||
|   <li>mesa: fix glDeleteBuffers() regression</li> | ||||
|   <li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li> | ||||
|   <li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li> | ||||
|   <li>st/mesa: fix mapping of zero-sized buffer objects</li> | ||||
|   <li>mesa: check for posix_memalign() errors</li> | ||||
|   <li>llvmpipe: fix broken stencil writemask</li> | ||||
|   <li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li> | ||||
|   <li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li> | ||||
|   <li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li> | ||||
|   <li>mesa: test for cube map completeness in glGenerateMipmap()</li> | ||||
|   <li>tnl: Initialize gl_program_machine memory in run_vp.</li> | ||||
|   <li>tnl: a better way to initialize the gl_program_machine memory</li> | ||||
|   <li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li> | ||||
|   <li>glsl: fix off by one in register index assertion</li> | ||||
|   <li>st/mesa: fix mipmap generation bug</li> | ||||
|   <li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li> | ||||
|   <li>mesa: no-op glBufferSubData() on size==0</li> | ||||
|   <li>tdfx: s/Format/_BaseFormat/</li> | ||||
|   <li>st/mesa: fix renderbuffer pointer check in st_Clear()</li> | ||||
|   <li>mesa: Bump the number of bits in the register index.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chad Versace (5): | ||||
| <ul> | ||||
|   <li>glsl: Fix lexer rule for ^=</li> | ||||
|   <li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li> | ||||
|   <li>glsl: Fix ir_expression::constant_expression_value()</li> | ||||
|   <li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li> | ||||
|   <li>glsl: Fix linker bug in cross_validate_globals()</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chia-I Wu (10): | ||||
| <ul> | ||||
|   <li>targets/egl: Fix linking with libdrm.</li> | ||||
|   <li>st/vega: Fix version check in context creation.</li> | ||||
|   <li>st/egl: Do not finish a fence that is NULL.</li> | ||||
|   <li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li> | ||||
|   <li>st/mesa: Unreference the sampler view in st_bind_surface.</li> | ||||
|   <li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li> | ||||
|   <li>st/vega: Do not wait NULL fences.</li> | ||||
|   <li>mesa: Do not advertise GL_OES_texture_3D.</li> | ||||
|   <li>egl_glx: Fix borken driver.</li> | ||||
|   <li>egl: Check extensions.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Daniel Lichtenberger (1): | ||||
| <ul> | ||||
|   <li>radeon: fix potential segfault in renderbuffer update</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Daniel Vetter (1): | ||||
| <ul> | ||||
|   <li>r200: revalidate after radeon_update_renderbuffers</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Dave Airlie (1): | ||||
| <ul> | ||||
|   <li>r300g: fixup rs690 tiling stride alignment calculations.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Eric Anholt (13): | ||||
| <ul> | ||||
|   <li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li> | ||||
|   <li>glsl: Free the loop state context when we free the loop state.</li> | ||||
|   <li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li> | ||||
|   <li>i965: Add support for rendering to SARGB8 FBOs.</li> | ||||
|   <li>glsl: Add a helper constructor for expressions that works out result type.</li> | ||||
|   <li>glsl: Fix structure and array comparisions.</li> | ||||
|   <li>glsl: Quiet unreachable no-return-from-function warning.</li> | ||||
|   <li>glsl: Mark the array access for whole-array comparisons.</li> | ||||
|   <li>glsl: Fix flipped return of has_value() for array constants.</li> | ||||
|   <li>mesa: Add getters for the rest of the supported draw buffers.</li> | ||||
|   <li>mesa: Add getters for ARB_copy_buffer's attachment points.</li> | ||||
|   <li>i965: Correct the dp_read message descriptor setup on g4x.</li> | ||||
|   <li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Fabian Bieler (1): | ||||
| <ul> | ||||
|   <li>glsl: fix lowering conditional returns in subroutines</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Francisco Jerez (3): | ||||
| <ul> | ||||
|   <li>meta: Don't leak alpha function/reference value changes.</li> | ||||
|   <li>meta: Fix incorrect rendering of the bitmap alpha component.</li> | ||||
|   <li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Henri Verbeet (2): | ||||
| <ul> | ||||
|   <li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li> | ||||
|   <li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Ian Romanick (33): | ||||
| <ul> | ||||
|   <li>Add 7.9 md5sums</li> | ||||
|   <li>docs: Import 7.8.x release notes from 7.8 branch.</li> | ||||
|   <li>docs: download.html does not need to be updated for each release</li> | ||||
|   <li>docs: Update mailing lines from sf.net to freedesktop.org</li> | ||||
|   <li>docs: added news item for 7.9 release</li> | ||||
|   <li>mesa: Validate assembly shaders when GLSL shaders are used</li> | ||||
|   <li>linker: Reject shaders that have unresolved function calls</li> | ||||
|   <li>mesa: Refactor validation of shader targets</li> | ||||
|   <li>glsl: Slightly change the semantic of _LinkedShaders</li> | ||||
|   <li>linker: Improve handling of unread/unwritten shader inputs/outputs</li> | ||||
|   <li>glsl: Commit lexer files changed by previous cherry picking</li> | ||||
|   <li>mesa: Make metaops use program refcounts instead of names.</li> | ||||
|   <li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li> | ||||
|   <li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li> | ||||
|   <li>glsl: better handling of linker failures</li> | ||||
|   <li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li> | ||||
|   <li>i915: Disallow alpha, red, RG, and sRGB as render targets</li> | ||||
|   <li>glsl/linker: Free any IR discarded by optimization passes.</li> | ||||
|   <li>glsl: Add an optimization pass to simplify discards.</li> | ||||
|   <li>glsl: Add a lowering pass to move discards out of if-statements.</li> | ||||
|   <li>i915: Correctly generate unconditional KIL instructions</li> | ||||
|   <li>glsl: Add unary ir_expression constructor</li> | ||||
|   <li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li> | ||||
|   <li>glcpp: Commit changes in generated files cause by previous commit</li> | ||||
|   <li>glsl: Inherrit type of declared variable from initializer</li> | ||||
|   <li>glsl: Inherrit type of declared variable from initializer after processing assignment</li> | ||||
|   <li>linker: Ensure that unsized arrays have a size after linking</li> | ||||
|   <li>linker: Fix regressions caused by previous commit</li> | ||||
|   <li>linker: Allow built-in arrays to have different sizes between shader stages</li> | ||||
|   <li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li> | ||||
|   <li>Refresh autogenerated file builtin_function.cpp.</li> | ||||
|   <li>docs: Initial set of release notes for 7.9.1</li> | ||||
|   <li>mesa: set version string to 7.9.1</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Julien Cristau (1): | ||||
| <ul> | ||||
|   <li>Makefile: don't include the same files twice in the tarball</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Kenneth Graunke (19): | ||||
| <ul> | ||||
|   <li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li> | ||||
|   <li>generate_builtins.py: Output large strings as arrays of characters.</li> | ||||
|   <li>glsl: Fix constant component count in vector constructor emitting.</li> | ||||
|   <li>ir_dead_functions: Actually free dead functions and signatures.</li> | ||||
|   <li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.</li> | ||||
|   <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li> | ||||
|   <li>glsl: Fix constant expression handling for <, >, <=, >= on vectors.</li> | ||||
|   <li>glsl: Use do_common_optimization in the standalone compiler.</li> | ||||
|   <li>glsl: Don't inline function prototypes.</li> | ||||
|   <li>glsl: Add a virtual as_discard() method.</li> | ||||
|   <li>glsl: Remove "discard" support from lower_jumps.</li> | ||||
|   <li>glsl: Refactor get_num_operands.</li> | ||||
|   <li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li> | ||||
|   <li>glsl: Clean up code by adding a new is_break() function.</li> | ||||
|   <li>glsl: Consider the "else" branch when looking for loop breaks.</li> | ||||
|   <li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li> | ||||
|   <li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li> | ||||
|   <li>Fix build on systems where "python" is python 3.</li> | ||||
|   <li>i965: Internally enable GL_NV_blend_square on ES2.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Kristian Høgsberg (1): | ||||
| <ul> | ||||
|   <li>i965: Don't write mrf assignment for pointsize output</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Luca Barbieri (1): | ||||
| <ul> | ||||
|   <li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Marek Olšák (17): | ||||
| <ul> | ||||
|   <li>r300g: fix microtiling for 16-bits-per-channel formats</li> | ||||
|   <li>r300g: fix texture border for 16-bits-per-channel formats</li> | ||||
|   <li>r300g: add a default channel ordering of texture border for unhandled formats</li> | ||||
|   <li>r300g: fix texture border color for all texture formats</li> | ||||
|   <li>r300g: fix rendering with no vertex elements</li> | ||||
|   <li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li> | ||||
|   <li>r300g: fix texture border color once again</li> | ||||
|   <li>r300g: fix texture swizzling with compressed textures on r400-r500</li> | ||||
|   <li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li> | ||||
|   <li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li> | ||||
|   <li>st/mesa: initialize key in st_vp_varient</li> | ||||
|   <li>r300/compiler: fix swizzle lowering with a presubtract source operand</li> | ||||
|   <li>r300g: fix rendering with a vertex attrib having a zero stride</li> | ||||
|   <li>ir_to_mesa: Add support for conditional discards.</li> | ||||
|   <li>r300g: finally fix the texture corruption on r3xx-r4xx</li> | ||||
|   <li>mesa: fix texel store functions for some float formats</li> | ||||
|   <li>r300/compiler: disable the rename_regs pass for loops</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Mario Kleiner (1): | ||||
| <ul> | ||||
|   <li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Peter Clifton (1): | ||||
| <ul> | ||||
|   <li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Robert Hooker (2): | ||||
| <ul> | ||||
|   <li>intel: Add a new B43 pci id.</li> | ||||
|   <li>egl_dri2: Add missing intel chip ids.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Roland Scheidegger (1): | ||||
| <ul> | ||||
|   <li>r200: fix r200 large points</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Thomas Hellstrom (17): | ||||
| <ul> | ||||
|   <li>st/xorg: Don't try to use option values before processing options</li> | ||||
|   <li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li> | ||||
|   <li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li> | ||||
|   <li>xorg/vmwgfx: Don't hide HW cursors when updating them</li> | ||||
|   <li>st/xorg: Don't try to remove invalid fbs</li> | ||||
|   <li>st/xorg: Fix typo</li> | ||||
|   <li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li> | ||||
|   <li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li> | ||||
|   <li>st/xorg: Don't use deprecated x*alloc / xfree functions</li> | ||||
|   <li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li> | ||||
|   <li>st/xorg: Fix compilation for Xservers >= 1.10</li> | ||||
|   <li>mesa: Make sure we have the talloc cflags when using the talloc headers</li> | ||||
|   <li>egl: Add an include for size_t</li> | ||||
|   <li>mesa: Add talloc includes for gles</li> | ||||
|   <li>st/egl: Fix build for include files in nonstandard places</li> | ||||
|   <li>svga/drm: Optionally resolve calls to powf during link-time</li> | ||||
|   <li>gallium/targets: Trivial crosscompiling fix</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Tom Stellard (7): | ||||
| <ul> | ||||
|   <li>r300/compiler: Make sure presubtract sources use supported swizzles</li> | ||||
|   <li>r300/compiler: Fix register allocator's handling of loops</li> | ||||
|   <li>r300/compiler: Fix instruction scheduling within IF blocks</li> | ||||
|   <li>r300/compiler: Use zero as the register index for unused sources</li> | ||||
|   <li>r300/compiler: Ignore alpha dest register when replicating the result</li> | ||||
|   <li>r300/compiler: Use correct swizzles for all presubtract sources</li> | ||||
|   <li>r300/compiler: Don't allow presubtract sources to be remapped twice</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Vinson Lee (1): | ||||
| <ul> | ||||
|   <li>glsl: Fix 'control reaches end of non-void function' warning.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>richard (1): | ||||
| <ul> | ||||
|   <li>r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.</li> | ||||
| </ul></p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,336 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <head> | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||||
| </head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.9.2 Release Notes / TBD</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.9.2 is a bug fix release which fixes bugs found since the 7.9.1 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.9.2 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| eb4ab8c1a03386def3ea34b1358e9cda  MesaLib-7.9.2.tar.gz | ||||
| 8f6d1474912787ce13bd35f3bae9938a  MesaLib-7.9.2.tar.bz2 | ||||
| 427a81dd43ac97603768dc5c6af3df26  MesaLib-7.9.2.zip | ||||
| aacb8f4db997e346db40c6066942140a  MesaGLUT-7.9.2.tar.gz | ||||
| 18abe6cff4fad8ad4752c7b7ab548e5d  MesaGLUT-7.9.2.tar.bz2 | ||||
| 3189e5732d636c71baf3d8bc23ce7b11  MesaGLUT-7.9.2.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None.</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <p>This list is likely incomplete.</p> | ||||
| <ul> | ||||
| <li>Fix an off-by-one bug in a vsplit assertion.</li> | ||||
| <li>Fix incorrect handling of <tt>layout</tt> qualifier | ||||
| with <tt>in</tt>, <tt>out</tt>, <tt>attribute</tt>, and <tt>varying</tt>.</li> | ||||
|  | ||||
| <li>Fix an i965 GPU hang in GLSL shaders that contain an unconditional <tt>discard</tt> statement.</li> | ||||
|  | ||||
| <li>Fix an i965 shader bug where the negative absolute value was generated instead of the absolute value of a negation.</li> | ||||
|  | ||||
| <li>Fix numerous issues handling precision qualifiers in GLSL ES.</li> | ||||
|  | ||||
| <li>Fixed a few GLX protocol encoder bugs (Julien Cristau)</li> | ||||
|  | ||||
| <li>Assorted Gallium llvmpipe driver bug fixes</li> | ||||
|  | ||||
| <li>Assorted Mesa/Gallium state tracker bug fixes</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26795">Bug 26795</a> - gl_FragCoord off by one in Gallium drivers.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29164">Bug 29164</a> - [GLSL 1.20] invariant variable shouldn't be used before declaration</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29823">Bug 29823</a> - GetUniform[if]v busted</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29927">Bug 29927</a> - [glsl2] fail to compile shader with constructor for array of struct type</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30156">Bug 30156</a> - [i965] After updating to Mesa 7.9, Civilization IV starts to show garbage</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31923">Bug 31923</a> - [GLSL 1.20] allowing inconsistent centroid declaration between two vertex shaders</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31925">Bug 31925</a> - [GLSL 1.20] "#pragma STDGL invariant(all)" fail</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32214">Bug 32214</a> - [gles2]no link error happens when missing vertex shader or frag shader</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32375">Bug 32375</a> - [gl gles2] Not able to get the attribute by function glGetVertexAttribfv</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32541">Bug 32541</a> - Segmentation Fault while running an HDR (high dynamic range) rendering demo</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32569">Bug 32569</a> - [gles2] glGetShaderPrecisionFormat not implemented yet</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32695">Bug 32695</a> - [glsl] SIGSEGV glcpp/glcpp-parse.y:833</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32831">Bug 32831</a> - [glsl] division by zero crashes GLSL compiler</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32910">Bug 32910</a> - Keywords 'in' and 'out' not handled properly for GLSL 1.20 shaders</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33219">Bug 33219</a> -[GLSL bisected] implicit sized array triggers segfault in ir_to_mesa_visitor::copy_propagate</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33306">Bug 33306</a> - GLSL integer division by zero crashes GLSL compiler</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33308">Bug 33308</a> -[glsl] ast_to_hir.cpp:3016: virtual ir_rvalue* ast_jump_statement::hir(exec_list*, _mesa_glsl_parse_state*): Assertion `ret != __null' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33316">Bug 33316</a> - uniform array will be allocate one line more and initialize it when it was freed will abort</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33386">Bug 33386</a> - Dubious assembler in read_rgba_span_x86.S</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33388">Bug 33388</a> - Dubious assembler in xform4.S</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33433">Bug 33433</a> - Error in x86-64 API dispatch code.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33507">Bug 33507</a> - [glsl] GLSL preprocessor modulus by zero crash</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33508">Bug 33508</a> - [glsl] GLSL compiler modulus by zero crash</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33916">Bug 33916</a> - Compiler accepts reserved operators % and %=</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34047">Bug 34047</a> - Assert in _tnl_import_array() when using GLfixed vertex datatypes with GLESv2</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34114">Bug 34114</a> - Sun Studio build fails due to standard library functions not being in global namespace</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34198">Bug 34198</a> - [GLSL] implicit sized array with index 0 used gets assertion</li> | ||||
|  | ||||
| <li><a href="https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/691653">Ubuntu bug 691653</a> - compiz crashes when using alt-tab (the radeon driver kills it) </li> | ||||
|  | ||||
| <li><a href="https://bugs.meego.com/show_bug.cgi?id=13005">Meego bug 13005</a> - Graphics GLSL issue lead to camera preview fail on Pinetrail</li> | ||||
|  | ||||
| <!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li> --> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <p>The full set of changes can be viewed by using the following GIT command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-7.9.1..mesa-7.9.2 | ||||
| </pre> | ||||
|  | ||||
| <p>Alberto Milone (1): | ||||
| <ul> | ||||
|   <li>r600c: add evergreen ARL support.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Brian Paul (19): | ||||
| <ul> | ||||
|   <li>draw: Fix an off-by-one bug in a vsplit assertion.</li> | ||||
|   <li>mesa: fix a few format table mistakes, assertions</li> | ||||
|   <li>mesa: fix num_draw_buffers==0 in fixed-function fragment program generation</li> | ||||
|   <li>mesa: don't assert in GetIntegerIndexed, etc</li> | ||||
|   <li>mesa: check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li> | ||||
|   <li>llvmpipe: make sure binning is active when we begin/end a query</li> | ||||
|   <li>st/mesa: fix incorrect fragcoord.x translation</li> | ||||
|   <li>softpipe: fix off-by-one error in setup_fragcoord_coeff()</li> | ||||
|   <li>cso: fix loop bound in cso_set_vertex_samplers()</li> | ||||
|   <li>st/mesa: set renderbuffer _BaseFormat in a few places</li> | ||||
|   <li>st/mesa: fix the default case in st_format_datatype()</li> | ||||
|   <li>st/mesa: need to translate clear color according to surface's base format</li> | ||||
|   <li>docs: update 7.9.2 release notes with Brian's cherry-picks</li> | ||||
|   <li>docs: add links to 7.9.1 and 7.9.2 release notes</li> | ||||
|   <li>mesa: include compiler.h for ASSERT macro</li> | ||||
|   <li>glsl: add ir_shader case in switch stmt to silence warning</li> | ||||
|   <li>glsl2: fix signed/unsigned comparison warning</li> | ||||
|   <li>mesa: implement glGetShaderPrecisionFormat()</li> | ||||
|   <li>docs: updated environment variable list</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Bryce Harrington (1): | ||||
| <ul> | ||||
|   <li>r300g: Null pointer check for buffer deref in gallium winsys</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chad Versace (14): | ||||
| <ul> | ||||
|   <li>glsl: At link-time, check that globals have matching centroid qualifiers</li> | ||||
|   <li>glcpp: Fix segfault when validating macro redefinitions</li> | ||||
|   <li>glsl: Fix parser rule for type_specifier</li> | ||||
|   <li>glsl: Change default value of ast_type_specifier::precision</li> | ||||
|   <li>glsl: Add semantic checks for precision qualifiers</li> | ||||
|   <li>glsl: Add support for default precision statements</li> | ||||
|   <li>glsl: Remove redundant semantic check in parser</li> | ||||
|   <li>glsl: Fix semantic checks on precision qualifiers</li> | ||||
|   <li>glsl: Fix segfault due to missing printf argument</li> | ||||
|   <li>glsl: Mark 'in' variables at global scope as read-only</li> | ||||
|   <li>glcpp: Raise error when modulus is zero</li> | ||||
|   <li>glsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30</li> | ||||
|   <li>glsl: Reinstate constant-folding for division by zero</li> | ||||
|   <li>tnl: Add support for datatype GL_FIXED in vertex arrays</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chia-I Wu (1): | ||||
| <ul> | ||||
|   <li>mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Chris Wilson (1): | ||||
| <ul> | ||||
|   <li>intel: Check for unsupported texture when finishing using as a render target</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Cyril Brulebois (1): | ||||
| <ul> | ||||
|   <li>Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Dave Airlie (2): | ||||
| <ul> | ||||
|   <li>radeon/r200: fix fbo-clearmipmap + gen-teximage</li> | ||||
|   <li>radeon: avoid segfault on 3D textures.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Dimitry Andric (4): | ||||
| <ul> | ||||
|   <li>mesa: s/movzx/movzbl/</li> | ||||
|   <li>mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S</li> | ||||
|   <li>glapi: adding @ char before type specifier in glapi_x86.S</li> | ||||
|   <li>glapi: add @GOTPCREL relocation type</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Eric Anholt (11): | ||||
| <ul> | ||||
|   <li>i965: Avoid double-negation of immediate values in the VS.</li> | ||||
|   <li>docs: Add a relnote for the Civ IV on i965.</li> | ||||
|   <li>i965/vs: When MOVing to produce ABS, strip negate of the operand.</li> | ||||
|   <li>glsl: Fix the lowering of variable array indexing to not lose write_masks.</li> | ||||
|   <li>intel: Make renderbuffer tiling choice match texture tiling choice.</li> | ||||
|   <li>glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.</li> | ||||
|   <li>mesa: Add extension enable bit for GL_ARB_ES2_compatibility.</li> | ||||
|   <li>mesa: Add actual support for glReleaseShaderCompiler from ES2.</li> | ||||
|   <li>mesa: Add support for glDepthRangef and glClearDepthf.</li> | ||||
|   <li>mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.</li> | ||||
|   <li>mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Ian Romanick (42): | ||||
| <ul> | ||||
|   <li>docs: Add 7.9.1 md5sums</li> | ||||
|   <li>glsl: Support the 'invariant(all)' pragma</li> | ||||
|   <li>glcpp: Generate an error for division by zero</li> | ||||
|   <li>glsl: Add version_string containing properly formatted GLSL version</li> | ||||
|   <li>glsl & glcpp: Refresh autogenerated lexer and parser files.</li> | ||||
|   <li>glsl: Disallow 'in' and 'out' on globals in GLSL 1.20</li> | ||||
|   <li>glsl: Track variable usage, use that to enforce semantics</li> | ||||
|   <li>glsl: Allow 'in' and 'out' when 'layout' is also available</li> | ||||
|   <li>docs: Initial set of release notes for 7.9.2</li> | ||||
|   <li>mesa: bump version to 7.9.2-devel</li> | ||||
|   <li>docs: Update 7.9.2 release notes</li> | ||||
|   <li>i965: Make OPCODE_KIL_NV do its work in a temp, not the null reg!</li> | ||||
|   <li>glsl: Refresh autogenerated lexer and parser files.</li> | ||||
|   <li>glsl: Don't assert when the value returned by a function has no rvalue</li> | ||||
|   <li>linker: Set sizes for non-global arrays as well</li> | ||||
|   <li>linker: Propagate max_array_access while linking functions</li> | ||||
|   <li>docs: Update 7.9.2 release notes</li> | ||||
|   <li>Use C-style system headers in C++ code to avoid issues with std:: namespace</li> | ||||
|   <li>mesa: glGetUniform only returns a single element of an array</li> | ||||
|   <li>linker: Generate link errors when ES shaders are missing stages</li> | ||||
|   <li>mesa: Fix error checks in GetVertexAttrib functions</li> | ||||
|   <li>docs: Update 7.9.2 release notes</li> | ||||
|   <li>mesa: Remove unsupported OES extensions</li> | ||||
|   <li>glapi: Regenerate for GL_ARB_ES2_compatibility.</li> | ||||
|   <li>mesa: Connect glGetShaderPrecisionFormat into the dispatch table</li> | ||||
|   <li>i965: Set correct values for range/precision of fragment shader types</li> | ||||
|   <li>i915: Set correct values for range/precision of fragment shader types</li> | ||||
|   <li>intel: Fix typeos from 3d028024 and 790ff232</li> | ||||
|   <li>glsl: Ensure that all GLSL versions are supported in the stand-alone compiler</li> | ||||
|   <li>glsl: Reject shader versions not supported by the implementation</li> | ||||
|   <li>mesa: Initial size for secondary color array is 3</li> | ||||
|   <li>glcpp: Regenerate files from recent cherry picks</li> | ||||
|   <li>glsl: Finish out the reduce/reduce error fixes</li> | ||||
|   <li>glsl: Regenerate compiler files from cherry picks</li> | ||||
|   <li>linker: Fix off-by-one error implicit array sizing</li> | ||||
|   <li>i915: Only mark a register as available if all components are written</li> | ||||
|   <li>i915: Calculate partial result to temp register first</li> | ||||
|   <li>i915: Force lowering of all types of indirect array accesses in the FS</li> | ||||
|   <li>docs: Update 7.9.2 release notes for recent cherry picks</li> | ||||
|   <li>docs: Clean up bug fixes list</li> | ||||
|   <li>intel: Remove driver date and related bits from renderer string</li> | ||||
|   <li>mesa: set version string to 7.9.2 (final)</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Jian Zhao (1): | ||||
| <ul> | ||||
|   <li>mesa: fix an error in uniform arrays in row calculating.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Julien Cristau (3): | ||||
| <ul> | ||||
|   <li>glx: fix request lengths</li> | ||||
|   <li>glx: fix GLXChangeDrawableAttributesSGIX request</li> | ||||
|   <li>glx: fix length of GLXGetFBConfigsSGIX</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Keith Packard (1): | ||||
| <ul> | ||||
|   <li>glsl: Eliminate reduce/reduce conflicts in glsl grammar</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Kenneth Graunke (12): | ||||
| <ul> | ||||
|   <li>glsl: Expose a public glsl_type::void_type const pointer.</li> | ||||
|   <li>glsl: Don't bother unsetting a destructor that was never set.</li> | ||||
|   <li>glsl, i965: Remove unnecessary talloc includes.</li> | ||||
|   <li>glcpp: Remove use of talloc reference counting.</li> | ||||
|   <li>ralloc: Add a fake implementation of ralloc based on talloc.</li> | ||||
|   <li>Convert everything from the talloc API to the ralloc API.</li> | ||||
|   <li>ralloc: a new MIT-licensed recursive memory allocator.</li> | ||||
|   <li>Remove talloc from the make and automake build systems.</li> | ||||
|   <li>Remove talloc from the SCons build system.</li> | ||||
|   <li>Remove the talloc sources from the Mesa repository.</li> | ||||
|   <li>glsl: Fix use of uninitialized values in _mesa_glsl_parse_state ctor.</li> | ||||
|   <li>glsl: Use reralloc instead of plain realloc.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Marek Olšák (3): | ||||
| <ul> | ||||
|   <li>docs: fix messed up names with special characters in relnotes-7.9.1</li> | ||||
|   <li>mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2</li> | ||||
|   <li>st/dri: Track drawable context bindings</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Paulo Zanoni (1): | ||||
| <ul> | ||||
|   <li>dri_util: fail driCreateNewScreen if InitScreen is NULL</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Sam Hocevar (2): | ||||
| <ul> | ||||
|   <li>docs: add glsl info</li> | ||||
|   <li>docs: fix glsl_compiler name</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>Vinson Lee (1): | ||||
| <ul> | ||||
|   <li>ralloc: Add missing va_end following va_copy.</li> | ||||
| </ul></p> | ||||
|  | ||||
| <p>nobled (1): | ||||
| <ul> | ||||
|   <li>glx: Put null check before use</li> | ||||
| </ul></p> | ||||
| </p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,137 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Mesa Release Notes</TITLE> | ||||
|  | ||||
| <head><link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <body bgcolor="#eeeeee"> | ||||
|  | ||||
| <H1>Mesa 7.9 Release Notes / October 4, 2010</H1> | ||||
|  | ||||
| <p> | ||||
| Mesa 7.9 is a new development release. | ||||
| People who are concerned with stability and reliability should stick | ||||
| with a previous release or wait for Mesa 7.9.1. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 7.9 implements the OpenGL 2.1 API, but the version reported by | ||||
| glGetString(GL_VERSION) depends on the particular driver being used. | ||||
| Some drivers don't support all the features required in OpenGL 2.1. | ||||
| </p> | ||||
| <p> | ||||
| See the <a href="install.html">Compiling/Installing page</a> for prerequisites | ||||
| for DRI hardware acceleration. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| ed65ab425b25895c7f473d0a5e6e64f8  MesaLib-7.9.tar.gz | ||||
| 82c740c49d572baa6da2b1a1eee90bca  MesaLib-7.9.tar.bz2 | ||||
| cd2b6ecec759b0457475e94bbb38fedb  MesaLib-7.9.zip | ||||
| 7b54af9fb9b1f6a1a65db2520f50848f  MesaGLUT-7.9.tar.gz | ||||
| 20d07419d1929f833fdb36bced290ad5  MesaGLUT-7.9.tar.bz2 | ||||
| 62a7edecd7c92675cd6029b05217eb0a  MesaGLUT-7.9.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <ul> | ||||
| <li>New, improved GLSL compiler written by Intel. | ||||
|     See the <a href="shading.html"> Shading Language</a> page for | ||||
|     more information. | ||||
| <li>New, very experimental Gallium driver for R600-R700 Radeons. | ||||
| <li>Support for AMD Evergreen-based Radeons (HD 5xxx) | ||||
| <li>GL_EXT_timer_query extension (i965 driver and softpipe only) | ||||
| <li>GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1) | ||||
| <li>GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle) | ||||
| <li>GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow, | ||||
|     GL_ARB_window_pos, GL_EXT_gpu_program_parameters, | ||||
|     GL_ATI_texture_env_combine3, GL_MESA_pack_invert, and GL_OES_EGL_image | ||||
|     extensions in Gallium drivers | ||||
| <li>GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600 | ||||
|     Gallium drivers) | ||||
| <li>GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe, | ||||
|     and llvmpipe Gallium drivers) | ||||
| <li>GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium | ||||
|     drivers) | ||||
| <li>GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe | ||||
|     Gallium drivers) | ||||
| <li>GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and | ||||
|     llvmpipe Gallium drivers) | ||||
| <li>GL_NV_conditional_render (in r300 Gallium driver) | ||||
| <li>Initial "signs of life" support for Sandybridge hardware in i965 DRI | ||||
|     driver. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
| <p>This list is likely incomplete.</p> | ||||
| <ul> | ||||
| <li>Massive improvements to the Gallium driver for R300-R500 Radeons; this | ||||
|     driver is now considered stable for use as a DRI (OpenGL) driver. | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=10908">Bug 10908</a> - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=13753">Bug 13753</a> - Numerous bugs in GLSL uniform handling</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16854">Bug 16854</a> - GLSL function call at global scope causes SEGV</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16856">Bug 16856</a> - GLSL indexing of unsized array results in assertion failure</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=18659">Bug 18659</a> - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=19089">Bug 19089</a> - [GLSL] glsl1/shadow2D() cases fail</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=22622">Bug 22622</a> - [GM965 GLSL] noise*() cause GPU lockup</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23743">Bug 23743</a> - For loop from 0 to 0 not optimized out</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=24553">Bug 24553</a> - shader compilation times explode when using more () pairs</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25664">Bug 25664</a> - [GLSL] re-declaring an empty array fails to compile</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25769">Bug 25769</a> - [GLSL] "float" can be implicitly converted to "int"</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25808">Bug 25808</a> - [GLSL] const variable is modified successfully</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25826">Bug 25826</a> - [GLSL] declaring an unsized array then re-declaring with a size fails</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25827">Bug 25827</a> - [GLSL] vector constructor accepts too many arguments successfully</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25829">Bug 25829</a> - [GLSL] allowing non-void function without returning value</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25830">Bug 25830</a> - [GLSL] allowing non-constant-expression as const declaration initializer</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25877">Bug 25877</a> - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25878">Bug 25878</a> - [GLSL] sampler is converted to int successfully</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25994">Bug 25994</a> - [GM45][GLSL] 'return' statement in vertex shader unsupported</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25999">Bug 25999</a> - [GLSL] embedded structure constructor fails to compile</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26000">Bug 26000</a> - [GLSL] allowing different parameter qualifier between the function definition and declaration</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26001">Bug 26001</a> - [GLSL 1.10] constructing matrix from matrix succeeds</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26224">Bug 26224</a> - [GLSL] Cannot get location of a uniform struct member</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26990">Bug 26990</a> - [GLSL] variable declaration in "while" fails to compile</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27004">Bug 27004</a> - [GLSL] allowing macro redefinition</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27060">Bug 27060</a> - [965] piglit glsl-fs-raytrace failure due to lack of function calls.</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">Bug 27216</a> - Assignment with a function call in an if statement causes an assertion failure</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27261">Bug 27261</a> - GLSL Compiler fails on the following vertex shader</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27265">Bug 27265</a> - GLSL Compiler doesnt link the attached vertex shader</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27388">Bug 27388</a> - [i965] piglit glsl-vs-arrays failure</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27403">Bug 27403</a> - GLSL struct causing "Invalid src register file ..." error</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27914">Bug 27914</a> - GLSL compiler uses MUL+ADD where it could use MAD</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28055">Bug 28055</a> - glsl-texcoord-array fails GLSL compilation</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28374">Bug 28374</a> - SIGSEGV shader/slang/slang_typeinfo.c:534</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28748">Bug 28748</a> - [i965] uninlined function calls support</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28833">Bug 28833</a> - piglit/shaders/glsl-texcoord-array fail</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28834">Bug 28834</a> - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28837">Bug 28837</a> - varying vec4 index support</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28845">Bug 28845</a> - The GLU tesselator code has some warnings</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28889">Bug 28889</a> - [regression] wine game crash</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28894">Bug 28894</a> - slang build fails if absolute path contains spaces</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28913">Bug 28913</a> - [GLSL] allowing two version statements</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28931">Bug 28931</a> - Floating Point Exception in Warzone2100 Trunk version</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28966">Bug 28966</a> - [r300g] Dynamic branching 3 demo does not run</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">Bug 28967</a> - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index >= 0' failed.</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29013">Bug 29013</a> - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29020">Bug 29020</a> - [r300g] Wine d3d9 tests hardlock</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29910">Bug 29910</a> - Mesa advertises bogus GL_ARB_shading_language_120</li> | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30196">Bug 30196</a> - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
| <ul> | ||||
| <li>The Mesa demo/test programs have been moved into a separate git | ||||
| repository. | ||||
| <li>GL/glext.h file upgraded to version 64 | ||||
| <li>GL/glxext.h file upgraded to version 32 | ||||
| <li>GL/wglext.h file upgraded to version 22 | ||||
| </ul> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
| @@ -13,16 +13,6 @@ The release notes summarize what's new or changed in each Mesa release. | ||||
| </p> | ||||
|  | ||||
| <UL> | ||||
| <LI><A HREF="relnotes-7.11.html">7.11 release notes</A> | ||||
| <LI><A HREF="relnotes-7.10.1.html">7.10.1 release notes</A> | ||||
| <LI><A HREF="relnotes-7.10.html">7.10 release notes</A> | ||||
| <LI><A HREF="relnotes-7.9.2.html">7.9.2 release notes</A> | ||||
| <LI><A HREF="relnotes-7.9.1.html">7.9.1 release notes</A> | ||||
| <LI><A HREF="relnotes-7.9.html">7.9 release notes</A> | ||||
| <LI><A HREF="relnotes-7.8.3.html">7.8.3 release notes</A> | ||||
| <LI><A HREF="relnotes-7.8.2.html">7.8.2 release notes</A> | ||||
| <LI><A HREF="relnotes-7.8.1.html">7.8.1 release notes</A> | ||||
| <LI><A HREF="relnotes-7.8.html">7.8 release notes</A> | ||||
| <LI><A HREF="relnotes-7.7.1.html">7.7.1 release notes</A> | ||||
| <LI><A HREF="relnotes-7.7.html">7.7 release notes</A> | ||||
| <LI><A HREF="relnotes-7.6.1.html">7.6.1 release notes</A> | ||||
|   | ||||
| @@ -9,8 +9,11 @@ | ||||
| <h1>Code Repository</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa uses <a href="http://git.or.cz/"target="_parent">git</a> | ||||
| As of December 5, 2006, Mesa is using | ||||
| <a href="http://git.or.cz/"target="_parent">git</a> | ||||
| as its source code management system. | ||||
| CVS was used previously. | ||||
| The old CVS repository should no longer be used. | ||||
| </p> | ||||
|  | ||||
| The master git repository is hosted on | ||||
| @@ -27,9 +30,7 @@ You may access the repository either as an | ||||
| <p> | ||||
| You may also  | ||||
| <a href="http://gitweb.freedesktop.org/?p=mesa/mesa.git" | ||||
| target="_parent">browse the main Mesa git repository</a> and the | ||||
| <a href="http://cgit.freedesktop.org/mesa/demos" | ||||
| target="_parent">Mesa demos and tests git repository</a>. | ||||
| target="_parent">browse the git repository</a>. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| @@ -50,10 +51,6 @@ To get the Mesa sources anonymously (read-only): | ||||
|     <pre> | ||||
|     git pull origin | ||||
|     </pre> | ||||
| <li>If you also want the Mesa demos/tests repository: | ||||
|     <pre> | ||||
|     git clone git://anongit.freedesktop.org/git/mesa/demos | ||||
|     </pre> | ||||
| </ol> | ||||
|  | ||||
|  | ||||
| @@ -85,10 +82,6 @@ Once your account is established: | ||||
|     <pre> | ||||
|     git pull origin | ||||
|     </pre> | ||||
| <li>If you also want the Mesa demos/tests repository: | ||||
|     <pre> | ||||
|     git clone git+ssh://username@git.freedesktop.org/git/mesa/demos | ||||
|     </pre> | ||||
| </ol> | ||||
|  | ||||
|  | ||||
| @@ -132,83 +125,6 @@ Questions about branch status/activity should be posted to the | ||||
| mesa3d-dev mailing list. | ||||
| </p> | ||||
|  | ||||
| <H2>Developer Git Tips</H2> | ||||
|  | ||||
| <ol> | ||||
| <li>Setting up to edit the master branch | ||||
| <p> | ||||
| If you try to do a pull by just saying<code> git pull </code> | ||||
| and git complains that you have not specified a | ||||
| branch, try: | ||||
| <pre> | ||||
|     git config branch.master.remote origin | ||||
|     git config branch.master.merge master | ||||
| </pre> | ||||
| Otherwise, you have to say<code> git pull origin master </code> | ||||
| each time you do a pull. | ||||
| </p> | ||||
| <li>Small changes to master | ||||
| <p> | ||||
| If you are an experienced git user working on substancial modifications, | ||||
| you are probably | ||||
| working on a separate branch and would rebase your branch prior to | ||||
| merging with master. | ||||
| But for small changes to the master branch itself, | ||||
| you also need to use the rebase feature in order to avoid an | ||||
| unnecessary and distracting branch in master. | ||||
| </p> | ||||
| <p> | ||||
| If it has been awhile since you've done the initial clone, try | ||||
| <pre> | ||||
|     git pull | ||||
| </pre> | ||||
| to get the latest files before you start working. | ||||
| </p> | ||||
| <p> | ||||
| Make your changes and use | ||||
| <pre> | ||||
|     git add <files to commit> | ||||
|     git commit | ||||
| </pre> | ||||
| to get your changes ready to push back into the fd.o repository. | ||||
| </p> | ||||
| <p> | ||||
| It is possible (and likely) that someone has changed master since | ||||
| you did your last pull.  Even if your changes do not conflict with | ||||
| their changes, git will make a fast-forward  | ||||
| merge branch, branching from the point in time | ||||
| where you did your last pull and merging it to a point after the other changes. | ||||
| </p> | ||||
| <p> | ||||
| To avoid this,  | ||||
| <pre> | ||||
|     git pull --rebase | ||||
|     git push | ||||
| </pre> | ||||
| If you are familiar with CVS or similar system, this is similar to doing a | ||||
| <code> cvs update </code> in order to update your source tree to | ||||
| the current repository state, instead of the time you did the last update. | ||||
| (CVS doesn't work like git in this respect, but this is easiest way | ||||
| to explain it.) | ||||
| </br> | ||||
| In any case, your repository now looks like you made your changes after | ||||
| all the other changes. | ||||
| </p> | ||||
| <p> | ||||
| If the rebase resulted in conflicts or changes that could affect | ||||
| the proper operation of your changes, you'll need to investigate | ||||
| those before doing the push. | ||||
| </p> | ||||
| <p> | ||||
| If you want the rebase action to be the default action, then | ||||
| <pre> | ||||
|     git config branch.master.rebase true | ||||
|     git config --global branch.autosetuprebase=always | ||||
| </pre> | ||||
| <p> | ||||
| See <a href="http://www.eecs.harvard.edu/~cduan/technical/git/" target="_parent">Understanding Git Conceptually</a> for a fairly clear explanation about all of this. | ||||
| </p> | ||||
| </ol> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
| @@ -14,6 +14,10 @@ This page describes the features and status of Mesa's support for the | ||||
| OpenGL Shading Language</a>. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Last updated on 15 December 2008. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Contents | ||||
| </p> | ||||
| @@ -39,19 +43,19 @@ list of keywords to control some aspects of the GLSL compiler and shader | ||||
| execution.  These are generally used for debugging. | ||||
| </p> | ||||
| <ul> | ||||
| <li><b>dump</b> - print GLSL shader code to stdout at link time | ||||
| <li><b>log</b> - log all GLSL shaders to files. | ||||
| <li>dump - print GLSL shader code to stdout at link time | ||||
| <li>log - log all GLSL shaders to files. | ||||
|     The filenames will be "shader_X.vert" or "shader_X.frag" where X | ||||
|     the shader ID. | ||||
| <li><b>nopt</b> - disable compiler optimizations | ||||
| <li><b>opt</b> - force compiler optimizations | ||||
| <li><b>uniform</b> - print message to stdout when glUniform is called | ||||
| <li><b>nopvert</b> - force vertex shaders to be a simple shader that just transforms | ||||
| <li>nopt - disable compiler optimizations | ||||
| <li>opt - force compiler optimizations | ||||
| <li>uniform - print message to stdout when glUniform is called | ||||
| <li>nopvert - force vertex shaders to be a simple shader that just transforms | ||||
|     the vertex position with ftransform() and passes through the color and | ||||
|     texcoord[0] attributes. | ||||
| <li><b>nopfrag</b> - force fragment shader to be a simple shader that passes | ||||
| <li>nopfrag - force fragment shader to be a simple shader that passes | ||||
|     through the color attribute. | ||||
| <li><b>useprog</b> - log glUseProgram calls to stderr | ||||
| <li>useprog - log glUseProgram calls to stderr | ||||
| </ul> | ||||
| <p> | ||||
| Example:  export MESA_GLSL=dump,nopt | ||||
| @@ -59,28 +63,30 @@ Example:  export MESA_GLSL=dump,nopt | ||||
|  | ||||
|  | ||||
| <a name="120"> | ||||
| <h2>GLSL Version</h2> | ||||
| <h2>GLSL 1.20 support</h2> | ||||
|  | ||||
| <p> | ||||
| The GLSL compiler currently supports version 1.20 of the shading language. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Several GLSL extensions are also supported: | ||||
| </p> | ||||
| GLSL version 1.20 is supported in Mesa 7.3 and later. | ||||
| Among the features/differences of GLSL 1.20 are: | ||||
| <ul> | ||||
| <li>GL_ARB_draw_buffers | ||||
| <li>GL_ARB_texture_rectangle | ||||
| <li>GL_ARB_fragment_coord_conventions | ||||
| <li>GL_EXT_texture_array | ||||
| <li><code>mat2x3, mat2x4</code>, etc. types and functions | ||||
| <li><code>transpose(), outerProduct(), matrixCompMult()</code> functions | ||||
| (but untested) | ||||
| <li>precision qualifiers (lowp, mediump, highp) | ||||
| <li><code>invariant</code> qualifier | ||||
| <li><code>array.length()</code> method | ||||
| <li><code>float[5] a;</code> array syntax | ||||
| <li><code>centroid</code> qualifier | ||||
| <li>unsized array constructors | ||||
| <li>initializers for uniforms | ||||
| <li>const initializers calling built-in functions | ||||
| </ul> | ||||
|  | ||||
|  | ||||
|  | ||||
| <a name="unsup"> | ||||
| <h2>Unsupported Features</h2> | ||||
|  | ||||
| <p>XXX update this section</p> | ||||
|  | ||||
| <p> | ||||
| The following features of the shading language are not yet fully supported | ||||
| in Mesa: | ||||
| @@ -128,6 +134,39 @@ These issues will be addressed/resolved in the future. | ||||
| <h2>Programming Hints</h2> | ||||
|  | ||||
| <ul> | ||||
| <li>Declare <em>in</em> function parameters as <em>const</em> whenever possible. | ||||
|     This improves the efficiency of function inlining. | ||||
| </li> | ||||
| <br> | ||||
| <li>To reduce register usage, declare variables within smaller scopes. | ||||
|     For example, the following code: | ||||
| <pre> | ||||
|     void main() | ||||
|     { | ||||
|        vec4 a1, a2, b1, b2; | ||||
|        gl_Position = expression using a1, a2. | ||||
|        gl_Color = expression using b1, b2; | ||||
|     } | ||||
| </pre> | ||||
|     Can be rewritten as follows to use half as many registers: | ||||
| <pre> | ||||
|     void main() | ||||
|     { | ||||
|        { | ||||
|           vec4 a1, a2; | ||||
|           gl_Position = expression using a1, a2. | ||||
|        } | ||||
|        { | ||||
|           vec4 b1, b2; | ||||
|           gl_Color = expression using b1, b2; | ||||
|        } | ||||
|     } | ||||
| </pre> | ||||
|     Alternately, rather than using several float variables, use | ||||
|     a vec4 instead.  Use swizzling and writemasks to access the | ||||
|     components of the vec4 as floats. | ||||
| </li> | ||||
| <br> | ||||
| <li>Use the built-in library functions whenever possible. | ||||
|     For example, instead of writing this: | ||||
| <pre> | ||||
| @@ -137,6 +176,8 @@ These issues will be addressed/resolved in the future. | ||||
| <pre> | ||||
|         float x = inversesqrt(y); | ||||
| </pre> | ||||
| <li> | ||||
|    Use ++i when possible as it's more efficient than i++ | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
| @@ -145,8 +186,13 @@ These issues will be addressed/resolved in the future. | ||||
| <h2>Stand-alone GLSL Compiler</h2> | ||||
|  | ||||
| <p> | ||||
| The stand-alone GLSL compiler program can be used to compile GLSL shaders | ||||
| into low-level GPU code. | ||||
| A unique stand-alone GLSL compiler driver has been added to Mesa. | ||||
| <p> | ||||
|  | ||||
| <p> | ||||
| The stand-alone compiler (like a conventional command-line compiler) | ||||
| is a tool that accepts Shading Language programs and emits low-level | ||||
| GPU programs. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| @@ -159,25 +205,59 @@ This tool is useful for: | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| After building Mesa, the compiler can be found at src/glsl/glsl_compiler | ||||
| After building Mesa, the glslcompiler can be built by manually running: | ||||
| </p> | ||||
| <pre> | ||||
|     make realclean | ||||
|     make linux | ||||
|     cd src/mesa/drivers/glslcompiler | ||||
|     make | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <p> | ||||
| Here's an example of using the compiler to compile a vertex shader and | ||||
| emit GL_ARB_vertex_program-style instructions: | ||||
| </p> | ||||
| <pre> | ||||
|     src/glsl/glsl_compiler --dump-ast myshader.vert | ||||
|     bin/glslcompiler --debug --numbers --fs progs/glsl/CH06-brick.frag.txt | ||||
| </pre> | ||||
| <p> | ||||
| results in: | ||||
| </p> | ||||
| <pre> | ||||
| # Fragment Program/Shader | ||||
|   0: RCP TEMP[4].x, UNIFORM[2].xxxx; | ||||
|   1: RCP TEMP[4].y, UNIFORM[2].yyyy; | ||||
|   2: MUL TEMP[3].xy, VARYING[0], TEMP[4]; | ||||
|   3: MOV TEMP[1], TEMP[3]; | ||||
|   4: MUL TEMP[0].w, TEMP[1].yyyy, CONST[4].xxxx; | ||||
|   5: FRC TEMP[1].z, TEMP[0].wwww; | ||||
|   6: SGT.C TEMP[0].w, TEMP[1].zzzz, CONST[4].xxxx; | ||||
|   7: IF (NE.wwww); # (if false, goto 9); | ||||
|   8:    ADD TEMP[1].x, TEMP[1].xxxx, CONST[4].xxxx; | ||||
|   9: ENDIF; | ||||
|  10: FRC TEMP[1].xy, TEMP[1]; | ||||
|  11: SGT TEMP[2].xy, UNIFORM[3], TEMP[1]; | ||||
|  12: MUL TEMP[1].z, TEMP[2].xxxx, TEMP[2].yyyy; | ||||
|  13: LRP TEMP[0], TEMP[1].zzzz, UNIFORM[0], UNIFORM[1]; | ||||
|  14: MUL TEMP[0].xyz, TEMP[0], VARYING[1].xxxx; | ||||
|  15: MOV OUTPUT[0].xyz, TEMP[0]; | ||||
|  16: MOV OUTPUT[0].w, CONST[4].yyyy; | ||||
|  17: END | ||||
| </pre> | ||||
|  | ||||
| Options include | ||||
| <ul> | ||||
| <li><b>--dump-ast</b> - dump GPU code | ||||
| <li><b>--dump-hir</b> - dump high-level IR code | ||||
| <li><b>--dump-lir</b> - dump low-level IR code | ||||
| <li><b>--link</b> - ??? | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| Note that some shading language constructs (such as uniform and varying | ||||
| variables) aren't expressible in ARB or NV-style programs. | ||||
| Therefore, the resulting output is not always legal by definition of | ||||
| those program languages. | ||||
| </p> | ||||
| <p> | ||||
| Also note that this compiler driver is still under development. | ||||
| Over time, the correctness of the GPU programs, with respect to the ARB | ||||
| and NV languagues, should improve. | ||||
| </p> | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -186,12 +266,38 @@ Options include | ||||
|  | ||||
| <p> | ||||
| The source code for Mesa's shading language compiler is in the | ||||
| <code>src/glsl/</code> directory. | ||||
| <code>src/mesa/shader/slang/</code> directory. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| XXX provide some info about the compiler.... | ||||
| The compiler follows a fairly standard design and basically works as follows: | ||||
| </p> | ||||
| <ul> | ||||
| <li>The input string is tokenized (see grammar.c) and parsed | ||||
| (see slang_compiler_*.c) to produce an Abstract Syntax Tree (AST). | ||||
| The nodes in this tree are slang_operation structures | ||||
| (see slang_compile_operation.h). | ||||
| The nodes are decorated with symbol table, scoping and datatype information. | ||||
| <li>The AST is converted into an Intermediate representation (IR) tree | ||||
| (see the slang_codegen.c file). | ||||
| The IR nodes represent basic GPU instructions, like add, dot product, | ||||
| move, etc.  | ||||
| The IR tree is mostly a binary tree, but a few nodes have three or four | ||||
| children. | ||||
| In principle, the IR tree could be executed by doing an in-order traversal. | ||||
| <li>The IR tree is traversed in-order to emit code (see slang_emit.c). | ||||
| This is also when registers are allocated to store variables and temps. | ||||
| <li>In the future, a pattern-matching code generator-generator may be | ||||
| used for code generation. | ||||
| Programs such as L-BURG (Bottom-Up Rewrite Generator) and Twig look for | ||||
| patterns in IR trees, compute weights for subtrees and use the weights | ||||
| to select the best instructions to represent the sub-tree. | ||||
| <li>The emitted GPU instructions (see prog_instruction.h) are stored in a | ||||
| gl_program object (see mtypes.h). | ||||
| <li>When a fragment shader and vertex shader are linked (see slang_link.c) | ||||
| the varying vars are matched up, uniforms are merged, and vertex | ||||
| attributes are resolved (rewriting instructions as needed). | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| The final vertex and fragment programs may be interpreted in software | ||||
| @@ -249,20 +355,20 @@ Extra NOP instructions will also be inserted. | ||||
| <h2>Compiler Validation</h2> | ||||
|  | ||||
| <p> | ||||
| Developers working on the GLSL compiler should test frequently to avoid | ||||
| A <a href="http://glean.sf.net" target="_parent">Glean</a> test has | ||||
| been create to exercise the GLSL compiler. | ||||
| </p> | ||||
| <p> | ||||
| The <em>glsl1</em> test runs over 170 sub-tests to check that the language | ||||
| features and built-in functions work properly. | ||||
| This test should be run frequently while working on the compiler to catch | ||||
| regressions. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The <a href="http://people.freedesktop.org/~nh/piglit/">Piglit</a> project | ||||
| has many GLSL tests and the | ||||
| <a href="http://glean.sf.net" target="_parent">Glean</a> glsl1 test  | ||||
| tests GLSL features. | ||||
| The test coverage is reasonably broad and complete but additional tests | ||||
| should be added. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The Mesa demos repository also has some good GLSL tests. | ||||
| </p> | ||||
|  | ||||
| </BODY> | ||||
| </HTML> | ||||
|   | ||||
| @@ -1,166 +0,0 @@ | ||||
| <HTML> | ||||
|  | ||||
| <TITLE>Mesa Source Tree</TITLE> | ||||
|  | ||||
| <link rel="stylesheet" type="text/css" href="mesa.css"></head> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <h1>Mesa source code tree overview</h1> | ||||
|  | ||||
| <p> | ||||
| This is a brief summary of Mesa's directory tree and what's contained in | ||||
| each directory. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <ul> | ||||
| <li><b>docs</b> - Documentation | ||||
| <li><b>include</b> - Public OpenGL header files | ||||
| <li><b>src</b> | ||||
|   <ul> | ||||
|   <li><b>egl</b> - EGL library sources | ||||
|     <ul> | ||||
|     <li><b>docs</b> - EGL documentation | ||||
|     <li><b>drivers</b> - EGL drivers | ||||
|     <li><b>glsl</b> - the GLSL compiler | ||||
|     <li><b>main</b> - main EGL library implementation.  This is where all | ||||
|         the EGL API functions are implemented, like eglCreateContext(). | ||||
|     </ul> | ||||
|   <li><b>mesa</b> - Main Mesa sources | ||||
|     <ul> | ||||
|     <li><b>glapi</b> - OpenGL API dispatch layer.  This is where all the | ||||
|         GL entrypoints like glClear, glBegin, etc. are generated, as well as | ||||
|         the GL dispatch table.  All GL function calls jump through the | ||||
|         dispatch table to functions found in main/. | ||||
|     <li><b>main</b> - The core Mesa code (mainly state management) | ||||
|     <li><b>drivers</b> - Mesa drivers (not used with Gallium) | ||||
|         <ul> | ||||
| 	<li><b>common</b> - code which may be shared by all drivers | ||||
|         <li><b>dri</b> - Direct Rendering Infrastructure drivers | ||||
|            <ul> | ||||
| 	   <li><b>common</b> - code shared by all DRI drivers | ||||
| 	   <li><b>i915</b> - driver for Intel i915/i945 | ||||
| 	   <li><b>i965</b> - driver for Intel i965 | ||||
| 	   <li>XXX more | ||||
|            </ul> | ||||
|         <li><b>x11</b> - Xlib-based software driver | ||||
|         <li><b>osmesa</b> - off-screen software driver | ||||
| 	<li><b>glslcompiler</b> - a stand-alone GLSL compiler driver | ||||
|         <li>XXX more | ||||
|         </ul> | ||||
|     <li><b>es</b> - OpenGL ES overlay, parallelly buildable with the core Mesa | ||||
|     <li><b>math</b> - vertex array translation and transformation code | ||||
|         (not used with Gallium) | ||||
|     <li><b>ppc</b> - Assembly code/optimizations for PPC systems | ||||
|         (not used with Gallium) | ||||
|     <li><b>shader</b> - Vertex/fragment shader and GLSL compiler code | ||||
|     <li><b>sparc</b> - Assembly code/optimizations for SPARC systems | ||||
|         (not used with Gallium) | ||||
|     <li><b>state_tracker</b> - State tracker / driver for Gallium.  This | ||||
|         is basically a Mesa device driver that speaks to Gallium.  This | ||||
|         directory may be moved to src/mesa/drivers/gallium at some point. | ||||
|     <li><b>swrast</b> - Software rasterization module.  For drawing points, | ||||
|         lines, triangles, bitmaps, images, etc. in software. | ||||
|         (not used with Gallium) | ||||
|     <li><b>swrast_setup</b> - Software primitive setup.  Does things like | ||||
|         polygon culling, glPolygonMode, polygon offset, etc. | ||||
|         (not used with Gallium) | ||||
|     <li><b>tnl</b> - Software vertex Transformation 'n Lighting. | ||||
|         (not used with Gallium) | ||||
|     <li><b>tnl_dd</b> - TNL code for device drivers. | ||||
|         (not used with Gallium) | ||||
|     <li><b>vbo</b> - Vertex Buffer Object code.  All drawing with | ||||
|         glBegin/glEnd, glDrawArrays, display lists, etc. goes through this | ||||
|         module.  The results is a well-defined set of vertex arrays which | ||||
|         are passed to the device driver (or tnl module) for rendering. | ||||
|     <li><b>vf</b> - vertex format conversion (currently unused) | ||||
|     <li><b>x86</b> - Assembly code/optimizations for 32-bit x86 systems | ||||
|         (not used with Gallium) | ||||
|     <li><b>x86-64</b> - Assembly code/optimizations for 64-bit x86 systems | ||||
|         (not used with Gallium) | ||||
|     </ul> | ||||
|   <li><b>gallium</b> - Gallium3D source code | ||||
|     <ul> | ||||
|     <li><b>include</b> - Gallium3D header files which define the Gallium3D | ||||
|         interfaces | ||||
|     <li><b>drivers</b> - Gallium3D device drivers | ||||
|       <ul> | ||||
|       <li><b>cell</b> - Driver for Cell processor. | ||||
|       <li><b>i915</b> - Driver for Intel i915/i945. | ||||
|       <li><b>i965</b> - Driver for Intel i965. | ||||
|       <li><b>llvmpipe</b> - Software driver using LLVM for runtime code generation. | ||||
|       <li><b>nv*</b> - Drivers for NVIDIA GPUs. | ||||
|       <li><b>r300</b> - Driver for ATI/AMD R300. | ||||
|       <li><b>softpipe</b> - Software reference driver. | ||||
|       <li><b>svga</b> - Driver for VMware's SVGA virtual GPU. | ||||
|       <li><b>trace</b> - Driver for tracing Gallium calls. | ||||
|       <li>XXX more | ||||
|       </ul> | ||||
|     <li><b>auxiliary</b> - Gallium support code | ||||
|       <ul> | ||||
|       <li><b>draw</b> - Software vertex processing and primitive assembly | ||||
|           module.  This includes vertex program execution, clipping, culling | ||||
|           and optional stages for drawing wide lines, stippled lines, | ||||
|           polygon stippling, two-sided lighting, etc. | ||||
|           Intended for use by drivers for hardware that does not have | ||||
|           vertex shaders. | ||||
|           Geometry shaders will also be implemented in this module. | ||||
|       <li><b>cso_cache</b> - Constant State Objects Cache.  Used to filter out | ||||
|           redundant state changes between state trackers and drivers. | ||||
|       <li><b>gallivm</b> - LLVM module for Gallium.  For LLVM-based | ||||
|            compilation, optimization and code generation for TGSI shaders. | ||||
|            Incomplete. | ||||
|       <li><b>pipebuffer</b> - utility module for managing buffers | ||||
|       <li><b>rbug</b> - Gallium remote debug utility | ||||
|       <li><b>rtasm</b> - run-time assembly/machine code generation. | ||||
|           Currently there's run-time code generation for x86/SSE, PowerPC | ||||
|           and Cell SPU. | ||||
|       <li><b>tgsi</b> - TG Shader Infrastructure.  Code for encoding, | ||||
|           manipulating and interpretting GPU programs. | ||||
|       <li><b>translate</b> - module for translating vertex data from one format | ||||
|           to another. | ||||
|       <li><b>util</b> - assorted utilities for arithmetic, hashing, surface | ||||
|           creation, memory management, 2D blitting, simple rendering, etc. | ||||
|       </ul> | ||||
|     <li><b>state_trackers</b> - | ||||
|        <ul> | ||||
|        <li><b>dri</b> - Meta state tracker for DRI drivers | ||||
|        <li><b>egl</b> - Meta state tracker for EGL drivers | ||||
|        <li><b>es</b> - OpenGL ES 1.x and 2.x state trackers | ||||
|        <li><b>g3dvl</b> - | ||||
|        <li><b>glx</b> - Meta state tracker for GLX | ||||
|        <li><b>python</b> - | ||||
|        <li><b>vega</b> - OpenVG 1.x state tracker | ||||
|        <li><b>wgl</b> - | ||||
|        <li><b>xorg</b> - Meta state tracker for Xorg video drivers | ||||
|        </ul> | ||||
|     <li><b>winsys</b> - | ||||
|        <ul> | ||||
|        <li><b>drm</b> - | ||||
|        <li><b>g3dvl</b> - | ||||
|        <li><b>gdi</b> - | ||||
|        <li><b>xlib</b> - | ||||
|        </ul> | ||||
|     </ul> | ||||
|   </ul> | ||||
|   <ul> | ||||
|   <li><b>glu</b> - The OpenGL Utility library | ||||
|      <ul> | ||||
|      <li><b>sgi</b> - GLU from SGI | ||||
|      <li><b>mesa</b> - Mesa version of GLU (deprecated) | ||||
|      </ul> | ||||
|   <li><b>glut</b> - Mark Kilgard's OpenGL OpenGL Utility Toolkit library | ||||
|   <li><b>glx</b> - The GLX library code for building libGL.  This is used for | ||||
|          direct rendering drivers.  It will dynamically load one of the  | ||||
|          xxx_dri.so drivers. | ||||
|   <li><b>glw</b> - Widgets for Xt/Motif. | ||||
|   <li><b>glew</b> - OpenGL Extension Wrangler library (used by demo programs) | ||||
|   </ul> | ||||
| <li><b>progs</b> - OpenGL test and demonstration programs | ||||
| <li><b>lib</b> - where the GL libraries are placed | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </BODY> | ||||
| </HTML> | ||||
| @@ -16,7 +16,8 @@ | ||||
| </h3> | ||||
| </center> | ||||
| </h2> | ||||
| <p> Copyright © 2002-2003 by Tungsten Graphics, Inc., | ||||
| <p> Copyright © 2002-2003 by <a | ||||
|  href="http://www.tungstengraphics.com/">Tungsten Graphics, Inc.</a>, | ||||
| Cedar Park, Texas. All Rights Reserved. <br> | ||||
| <br> | ||||
| Permission is granted to make and distribute verbatim copies of this | ||||
|   | ||||
							
								
								
									
										1
									
								
								doxygen/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								doxygen/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -6,7 +6,6 @@ core | ||||
| core_subset | ||||
| gallium | ||||
| glapi | ||||
| glsl | ||||
| main | ||||
| math | ||||
| math_subset | ||||
|   | ||||
| @@ -11,7 +11,6 @@ FULL = \ | ||||
| 	math.doxy \ | ||||
| 	vbo.doxy \ | ||||
| 	glapi.doxy \ | ||||
| 	glsl.doxy \ | ||||
| 	shader.doxy \ | ||||
| 	swrast.doxy \ | ||||
| 	swrast_setup.doxy \ | ||||
| @@ -23,7 +22,8 @@ full: $(FULL:.doxy=.tag) | ||||
|  | ||||
| SUBSET = \ | ||||
| 	main.doxy \ | ||||
| 	math.doxy | ||||
| 	math.doxy \ | ||||
| 	miniglx.doxy | ||||
|  | ||||
| subset: $(SUBSET:.doxy=.tag) | ||||
| 	$(foreach FILE,$(SUBSET),doxygen $(FILE);) | ||||
|   | ||||
| @@ -1,39 +0,0 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| @INCLUDE               = common.doxy | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa GLSL module" | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/glsl/ | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                = ../src/glsl/glsl_lexer.cpp \ | ||||
|                          ../src/glsl/glsl_lexer.h \ | ||||
|                          ../src/glsl/glsl_parser.cpp \ | ||||
|                          ../src/glsl/glsl_parser.h | ||||
| EXCLUDE_PATTERNS       = | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| HTML_OUTPUT            = glsl | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = | ||||
| INCLUDE_FILE_PATTERNS  = | ||||
| PREDEFINED             = | ||||
| EXPAND_AS_DEFINED      = | ||||
| SKIP_FUNCTION_MACROS   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = | ||||
| GENERATE_TAGFILE       = glsl.tag | ||||
| @@ -7,7 +7,6 @@ | ||||
| <div class="qindex"> | ||||
| <a class="qindex" href="../main/index.html">core</a> | | ||||
| <a class="qindex" href="../glapi/index.html">glapi</a> | | ||||
| <a class="qindex" href="../glsl/index.html">glsl</a> | | ||||
| <a class="qindex" href="../vbo/index.html">vbo</a> | | ||||
| <a class="qindex" href="../math/index.html">math</a> | | ||||
| <a class="qindex" href="../shader/index.html">shader</a> | | ||||
|   | ||||
							
								
								
									
										179
									
								
								doxygen/miniglx.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										179
									
								
								doxygen/miniglx.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,179 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "MiniGLX" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = YES | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = NO | ||||
| SHOW_INCLUDE_FILES     = NO | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = NO | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/glx/mini/ ../include/GL/miniglx.h | ||||
| FILE_PATTERNS          = *.h *.c | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                = ../src/glx/mini/glapi.c | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = miniglx | ||||
| HTML_HEADER            = header_subset.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = ../include/ | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES		= \ | ||||
| 			 core_subset.tag=../core_subset \ | ||||
|                          math_subset.tag=../math_subset | ||||
| GENERATE_TAGFILE       = miniglx.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = NO | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
| @@ -1,32 +1,9 @@ | ||||
| /* -*- mode: c; tab-width: 8; -*- */ | ||||
| /* vi: set sw=4 ts=8: */ | ||||
| /* Reference version of egl.h for EGL 1.4. | ||||
|  * $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $ | ||||
|  * Last modified 2008/05/02 | ||||
|  */ | ||||
|  | ||||
| /* | ||||
| ** Copyright (c) 2007-2009 The Khronos Group Inc. | ||||
| ** | ||||
| ** Permission is hereby granted, free of charge, to any person obtaining a | ||||
| ** copy of this software and/or associated documentation files (the | ||||
| ** "Materials"), to deal in the Materials without restriction, including | ||||
| ** without limitation the rights to use, copy, modify, merge, publish, | ||||
| ** distribute, sublicense, and/or sell copies of the Materials, and to | ||||
| ** permit persons to whom the Materials are 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 Materials. | ||||
| ** | ||||
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||||
| ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||||
| ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||||
| ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||||
| ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | ||||
| */ | ||||
|  | ||||
| #ifndef __egl_h_ | ||||
| #define __egl_h_ | ||||
|  | ||||
| @@ -40,7 +17,7 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
| /* EGL Types */ | ||||
| /* EGLint is defined in eglplatform.h */ | ||||
| typedef int32_t EGLint; | ||||
| typedef unsigned int EGLBoolean; | ||||
| typedef unsigned int EGLenum; | ||||
| typedef void *EGLConfig; | ||||
| @@ -65,7 +42,7 @@ typedef void *EGLClientBuffer; | ||||
| #define EGL_TRUE			1 | ||||
|  | ||||
| /* Out-of-band handle values */ | ||||
| #define EGL_DEFAULT_DISPLAY		((EGLNativeDisplayType)0) | ||||
| #define EGL_DEFAULT_DISPLAY		((void *)0) | ||||
| #define EGL_NO_CONTEXT			((EGLContext)0) | ||||
| #define EGL_NO_DISPLAY			((EGLDisplay)0) | ||||
| #define EGL_NO_SURFACE			((EGLSurface)0) | ||||
| @@ -109,6 +86,7 @@ typedef void *EGLClientBuffer; | ||||
| #define EGL_NATIVE_RENDERABLE		0x302D | ||||
| #define EGL_NATIVE_VISUAL_ID		0x302E | ||||
| #define EGL_NATIVE_VISUAL_TYPE		0x302F | ||||
| #define EGL_PRESERVED_RESOURCES		0x3030 | ||||
| #define EGL_SAMPLES			0x3031 | ||||
| #define EGL_SAMPLE_BUFFERS		0x3032 | ||||
| #define EGL_SURFACE_TYPE		0x3033 | ||||
| @@ -313,14 +291,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, | ||||
| 			  EGLNativePixmapType target); | ||||
|  | ||||
| /* This is a generic function pointer type, whose name indicates it must | ||||
|  * be cast to the proper type *and calling convention* before use. | ||||
|  */ | ||||
| typedef void (*__eglMustCastToProperFunctionPointerType)(void); | ||||
|  | ||||
| /* Now, define eglGetProcAddress using the generic function ptr. type */ | ||||
| EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY | ||||
|        eglGetProcAddress(const char *procname); | ||||
| EGLAPI void (* EGLAPIENTRY eglGetProcAddress(const char *procname))(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
| @@ -6,7 +6,7 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
| /* | ||||
| ** Copyright (c) 2007-2010 The Khronos Group Inc. | ||||
| ** Copyright (c) 2007 The Khronos Group Inc. | ||||
| ** | ||||
| ** Permission is hereby granted, free of charge, to any person obtaining a | ||||
| ** copy of this software and/or associated documentation files (the | ||||
| @@ -33,9 +33,9 @@ extern "C" { | ||||
| /*************************************************************/ | ||||
|  | ||||
| /* Header file version number */ | ||||
| /* eglext.h last updated 2007/11/20 */ | ||||
| /* Current version at http://www.khronos.org/registry/egl/ */ | ||||
| /* $Revision: 12124 $ on $Date: 2010-07-27 20:12:35 -0700 (Tue, 27 Jul 2010) $ */ | ||||
| #define EGL_EGLEXT_VERSION 7 | ||||
| #define EGL_EGLEXT_VERSION 1 | ||||
|  | ||||
| #ifndef EGL_KHR_config_attribs | ||||
| #define EGL_KHR_config_attribs 1 | ||||
| @@ -79,12 +79,12 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display | ||||
| #define EGL_KHR_image 1 | ||||
| #define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */ | ||||
| typedef void *EGLImageKHR; | ||||
| #define EGL_NO_IMAGE_KHR			((EGLImageKHR)0) | ||||
| extern const EGLImageKHR EGL_NO_IMAGE_KHR; | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); | ||||
| EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, EGLint *attr_list); | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); | ||||
| #endif /* EGL_EGLEXT_PROTOTYPES */ | ||||
| typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); | ||||
| typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, EGLint *attr_list); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); | ||||
| #endif | ||||
|  | ||||
| @@ -120,74 +120,6 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGL | ||||
| #define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */ | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_MESA_drm_image | ||||
| #define EGL_MESA_drm_image 1 | ||||
| #define EGL_DRM_BUFFER_FORMAT_MESA		0x31D0	/* eglCreateImageKHR attribute */ | ||||
| #define EGL_DRM_BUFFER_USE_MESA			0x31D1 | ||||
|  | ||||
| /* EGL_DRM_BUFFER_FORMAT_MESA tokens */ | ||||
| #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA	0x31D2 | ||||
|  | ||||
| /* EGL_DRM_BUFFER_USE_MESA bits */ | ||||
| #define EGL_DRM_BUFFER_USE_SCANOUT_MESA		0x0001 | ||||
| #define EGL_DRM_BUFFER_USE_SHARE_MESA		0x0002 | ||||
|  | ||||
| #define EGL_DRM_BUFFER_MESA			0x31D3  /* eglCreateImageKHR target */ | ||||
| #define EGL_DRM_BUFFER_STRIDE_MESA		0x31D4	/* eglCreateImageKHR attribute */ | ||||
|  | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attrib_list); | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); | ||||
| #endif | ||||
| typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESA) (EGLDisplay dpy, const EGLint *attrib_list); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESA) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_WL_bind_wayland_display | ||||
| #define EGL_WL_bind_wayland_display 1 | ||||
|  | ||||
| #define EGL_WAYLAND_BUFFER_WL			0x31D5 /* eglCreateImageKHR target */ | ||||
| struct wl_display; | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display); | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display); | ||||
| #else | ||||
| typedef EGLBoolean (EGLAPIENTRY PFNEGLBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display); | ||||
| typedef EGLBoolean (EGLAPIENTRY PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display); | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| #if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */ | ||||
| #ifndef EGL_KHR_reusable_sync | ||||
| #define EGL_KHR_reusable_sync 1 | ||||
|  | ||||
| typedef void* EGLSyncKHR; | ||||
| typedef khronos_utime_nanoseconds_t EGLTimeKHR; | ||||
|  | ||||
| #define EGL_SYNC_STATUS_KHR			0x30F1 | ||||
| #define EGL_SIGNALED_KHR			0x30F2 | ||||
| #define EGL_UNSIGNALED_KHR			0x30F3 | ||||
| #define EGL_TIMEOUT_EXPIRED_KHR			0x30F5 | ||||
| #define EGL_CONDITION_SATISFIED_KHR		0x30F6 | ||||
| #define EGL_SYNC_TYPE_KHR			0x30F7 | ||||
| #define EGL_SYNC_REUSABLE_KHR			0x30FA | ||||
| #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR		0x0001	/* eglClientWaitSyncKHR <flags> bitfield */ | ||||
| #define EGL_FOREVER_KHR				0xFFFFFFFFFFFFFFFFull | ||||
| #define EGL_NO_SYNC_KHR				((EGLSyncKHR)0) | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); | ||||
| EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); | ||||
| #endif /* EGL_EGLEXT_PROTOTYPES */ | ||||
| typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); | ||||
| typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| /* EGL_MESA_screen extension  >>> PRELIMINARY <<< */ | ||||
| #ifndef EGL_MESA_screen_surface | ||||
| @@ -204,8 +136,8 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EG | ||||
| #define EGL_INTERLACED_MESA                    0x4008 | ||||
| #define EGL_SCREEN_BIT_MESA                    0x08 | ||||
|  | ||||
| typedef khronos_uint32_t EGLScreenMESA; | ||||
| typedef khronos_uint32_t EGLModeMESA; | ||||
| typedef uint32_t EGLScreenMESA; | ||||
| typedef uint32_t EGLModeMESA; | ||||
|  | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); | ||||
| @@ -247,164 +179,6 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYCONTEXTMESA) (EGLDisplay dpy, EGLCont | ||||
|  | ||||
| #endif /* EGL_MESA_copy_context */ | ||||
|  | ||||
| #ifndef EGL_MESA_drm_display | ||||
| #define EGL_MESA_drm_display 1 | ||||
|  | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLDisplay EGLAPIENTRY eglGetDRMDisplayMESA(int fd); | ||||
| #endif /* EGL_EGLEXT_PROTOTYPES */ | ||||
|  | ||||
| typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) (int fd); | ||||
|  | ||||
| #endif /* EGL_MESA_drm_display */ | ||||
|  | ||||
| #ifndef EGL_KHR_image_base | ||||
| #define EGL_KHR_image_base 1 | ||||
| /* Most interfaces defined by EGL_KHR_image_pixmap above */ | ||||
| #define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */ | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_KHR_image_pixmap | ||||
| #define EGL_KHR_image_pixmap 1 | ||||
| /* Interfaces defined by EGL_KHR_image above */ | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_IMG_context_priority | ||||
| #define EGL_IMG_context_priority 1 | ||||
| #define EGL_CONTEXT_PRIORITY_LEVEL_IMG		0x3100 | ||||
| #define EGL_CONTEXT_PRIORITY_HIGH_IMG		0x3101 | ||||
| #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG		0x3102 | ||||
| #define EGL_CONTEXT_PRIORITY_LOW_IMG		0x3103 | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_KHR_lock_surface2 | ||||
| #define EGL_KHR_lock_surface2 1 | ||||
| #define EGL_BITMAP_PIXEL_SIZE_KHR		0x3110 | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_NV_coverage_sample | ||||
| #define EGL_NV_coverage_sample 1 | ||||
| #define EGL_COVERAGE_BUFFERS_NV 0x30E0 | ||||
| #define EGL_COVERAGE_SAMPLES_NV 0x30E1 | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_NV_depth_nonlinear | ||||
| #define EGL_NV_depth_nonlinear 1 | ||||
| #define EGL_DEPTH_ENCODING_NV 0x30E2 | ||||
| #define EGL_DEPTH_ENCODING_NONE_NV 0 | ||||
| #define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 | ||||
| #endif | ||||
|  | ||||
| #if KHRONOS_SUPPORT_INT64   /* EGLTimeNV requires 64-bit uint support */ | ||||
| #ifndef EGL_NV_sync | ||||
| #define EGL_NV_sync 1 | ||||
| #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV	0x30E6 | ||||
| #define EGL_SYNC_STATUS_NV			0x30E7 | ||||
| #define EGL_SIGNALED_NV				0x30E8 | ||||
| #define EGL_UNSIGNALED_NV			0x30E9 | ||||
| #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV		0x0001 | ||||
| #define EGL_FOREVER_NV				0xFFFFFFFFFFFFFFFFull | ||||
| #define EGL_ALREADY_SIGNALED_NV			0x30EA | ||||
| #define EGL_TIMEOUT_EXPIRED_NV			0x30EB | ||||
| #define EGL_CONDITION_SATISFIED_NV		0x30EC | ||||
| #define EGL_SYNC_TYPE_NV			0x30ED | ||||
| #define EGL_SYNC_CONDITION_NV			0x30EE | ||||
| #define EGL_SYNC_FENCE_NV			0x30EF | ||||
| #define EGL_NO_SYNC_NV				((EGLSyncNV)0) | ||||
| typedef void* EGLSyncNV; | ||||
| typedef khronos_utime_nanoseconds_t EGLTimeNV; | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLSyncNV eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); | ||||
| EGLBoolean eglDestroySyncNV (EGLSyncNV sync); | ||||
| EGLBoolean eglFenceNV (EGLSyncNV sync); | ||||
| EGLint eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); | ||||
| EGLBoolean eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); | ||||
| EGLBoolean eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); | ||||
| #endif /* EGL_EGLEXT_PROTOTYPES */ | ||||
| typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); | ||||
| typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| #if KHRONOS_SUPPORT_INT64   /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */ | ||||
| #ifndef EGL_KHR_fence_sync | ||||
| #define EGL_KHR_fence_sync 1 | ||||
| /* Reuses most tokens and entry points from EGL_KHR_reusable_sync */ | ||||
| #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR	0x30F0 | ||||
| #define EGL_SYNC_CONDITION_KHR			0x30F8 | ||||
| #define EGL_SYNC_FENCE_KHR			0x30F9 | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_HI_clientpixmap | ||||
| #define EGL_HI_clientpixmap 1 | ||||
|  | ||||
| /* Surface Attribute */ | ||||
| #define EGL_CLIENT_PIXMAP_POINTER_HI		0x8F74 | ||||
| /* | ||||
|  * Structure representing a client pixmap | ||||
|  * (pixmap's data is in client-space memory). | ||||
|  */ | ||||
| struct EGLClientPixmapHI | ||||
| { | ||||
| 	void*		pData; | ||||
| 	EGLint		iWidth; | ||||
| 	EGLint		iHeight; | ||||
| 	EGLint		iStride; | ||||
| }; | ||||
|  | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); | ||||
| #endif /* EGL_EGLEXT_PROTOTYPES */ | ||||
| typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); | ||||
| #endif	/* EGL_HI_clientpixmap */ | ||||
|  | ||||
| #ifndef EGL_HI_colorformats | ||||
| #define EGL_HI_colorformats 1 | ||||
| /* Config Attribute */ | ||||
| #define EGL_COLOR_FORMAT_HI			0x8F70 | ||||
| /* Color Formats */ | ||||
| #define EGL_COLOR_RGB_HI			0x8F71 | ||||
| #define EGL_COLOR_RGBA_HI			0x8F72 | ||||
| #define EGL_COLOR_ARGB_HI			0x8F73 | ||||
| #endif /* EGL_HI_colorformats */ | ||||
|  | ||||
| #ifndef EGL_NOK_swap_region | ||||
| #define EGL_NOK_swap_region 1 | ||||
|  | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint* rects); | ||||
| #endif | ||||
|  | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOK) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint* rects); | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifndef EGL_NOK_texture_from_pixmap | ||||
| #define EGL_NOK_texture_from_pixmap 1 | ||||
|  | ||||
| #define EGL_Y_INVERTED_NOK			0x307F | ||||
| #endif /* EGL_NOK_texture_from_pixmap */ | ||||
|  | ||||
| #ifndef EGL_ANDROID_image_native_buffer | ||||
| #define EGL_ANDROID_image_native_buffer 1 | ||||
| struct android_native_buffer_t; | ||||
| #define EGL_NATIVE_BUFFER_ANDROID       0x3140  /* eglCreateImageKHR target */ | ||||
| #endif | ||||
|  | ||||
| #ifndef EGL_ANDROID_swap_rectangle | ||||
| #define EGL_ANDROID_swap_rectangle 1 | ||||
| #ifdef EGL_EGLEXT_PROTOTYPES | ||||
| EGLAPI EGLBoolean EGLAPIENTRY eglSetSwapRectangleANDROID (EGLDisplay dpy, EGLSurface draw, EGLint left, EGLint top, EGLint width, EGLint height); | ||||
| #endif /* EGL_EGLEXT_PROTOTYPES */ | ||||
| typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSWAPRECTANGLEANDROIDPROC) (EGLDisplay dpy, EGLSurface draw, EGLint left, EGLint top, EGLint width, EGLint height); | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|   | ||||
| @@ -1,59 +1,38 @@ | ||||
| /* -*- mode: c; tab-width: 8; -*- */ | ||||
| /* vi: set sw=4 ts=8: */ | ||||
| /* Platform-specific types and definitions for egl.h */ | ||||
|  | ||||
| #ifndef __eglplatform_h_ | ||||
| #define __eglplatform_h_ | ||||
|  | ||||
| /* | ||||
| ** Copyright (c) 2007-2009 The Khronos Group Inc. | ||||
| ** | ||||
| ** Permission is hereby granted, free of charge, to any person obtaining a | ||||
| ** copy of this software and/or associated documentation files (the | ||||
| ** "Materials"), to deal in the Materials without restriction, including | ||||
| ** without limitation the rights to use, copy, modify, merge, publish, | ||||
| ** distribute, sublicense, and/or sell copies of the Materials, and to | ||||
| ** permit persons to whom the Materials are 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 Materials. | ||||
| ** | ||||
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||||
| ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||||
| ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||||
| ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||||
| ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | ||||
| */ | ||||
| /* Windows calling convention boilerplate */ | ||||
| #if (defined(WIN32) || defined(_WIN32_WCE)) | ||||
| #ifndef WIN32_LEAN_AND_MEAN | ||||
| #define WIN32_LEAN_AND_MEAN		/* Exclude rarely-used stuff from Windows headers */ | ||||
| #endif | ||||
| #include <windows.h> | ||||
| #endif | ||||
|  | ||||
| /* Platform-specific types and definitions for egl.h | ||||
|  * $Revision: 9724 $ on $Date: 2009-12-02 02:05:33 -0800 (Wed, 02 Dec 2009) $ | ||||
|  * | ||||
|  * Adopters may modify khrplatform.h and this file to suit their platform. | ||||
|  * You are encouraged to submit all modifications to the Khronos group so that | ||||
|  * they can be included in future versions of this file.  Please submit changes | ||||
|  * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) | ||||
|  * by filing a bug against product "EGL" component "Registry". | ||||
|  */ | ||||
|  | ||||
| #include <KHR/khrplatform.h> | ||||
| #if !defined(_WIN32_WCE) | ||||
| #include <sys/types.h> | ||||
| #include <stdint.h> | ||||
| #endif | ||||
|  | ||||
| /* Macros used in EGL function prototype declarations. | ||||
|  * | ||||
|  * EGL functions should be prototyped as: | ||||
|  * | ||||
|  * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); | ||||
|  * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); | ||||
|  * | ||||
|  * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h | ||||
|  * On Windows, EGLAPIENTRY can be defined like APIENTRY. | ||||
|  * On most other platforms, it should be empty. | ||||
|  */ | ||||
|  | ||||
| #ifndef EGLAPI | ||||
| #define EGLAPI KHRONOS_APICALL | ||||
| #endif | ||||
|  | ||||
| #ifndef EGLAPIENTRY | ||||
| #define EGLAPIENTRY  KHRONOS_APIENTRY | ||||
| #define EGLAPIENTRY | ||||
| #endif | ||||
| #ifndef EGLAPIENTRYP | ||||
| #define EGLAPIENTRYP EGLAPIENTRY * | ||||
| #endif | ||||
| #define EGLAPIENTRYP EGLAPIENTRY* | ||||
|  | ||||
| /* The types NativeDisplayType, NativeWindowType, and NativePixmapType | ||||
|  * are aliases of window-system-dependent types, such as X Display * or | ||||
| @@ -62,74 +41,53 @@ | ||||
|  * types, renamed in EGL 1.3 so all types in the API start with "EGL". | ||||
|  */ | ||||
|  | ||||
| #if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ | ||||
| #ifndef WIN32_LEAN_AND_MEAN | ||||
| #define WIN32_LEAN_AND_MEAN 1 | ||||
| /* Unix (tentative) | ||||
|     #include <X headers> | ||||
|     typedef Display *NativeDisplayType; | ||||
|       - or maybe, if encoding "hostname:display.head" | ||||
|     typedef const char *NativeWindowType; | ||||
| 	etc. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #if (defined(WIN32) || defined(_WIN32_WCE)) | ||||
|  | ||||
| /** BEGIN Added for Windows **/ | ||||
| #ifndef EGLAPI | ||||
| #define EGLAPI __declspec(dllexport) | ||||
| #endif | ||||
| #include <windows.h> | ||||
|  | ||||
| typedef HDC     EGLNativeDisplayType; | ||||
| typedef HBITMAP EGLNativePixmapType; | ||||
| typedef HWND    EGLNativeWindowType; | ||||
| typedef long	int32_t; | ||||
| typedef unsigned long uint32_t; | ||||
| typedef unsigned char uint8_t; | ||||
| #define snprintf _snprintf | ||||
| #define strcasecmp _stricmp | ||||
| #define vsnprintf _vsnprintf | ||||
|  | ||||
| #elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */ | ||||
| typedef HDC		NativeDisplayType; | ||||
| typedef HWND	NativeWindowType; | ||||
| typedef HBITMAP NativePixmapType; | ||||
| /** END Added for Windows **/ | ||||
|  | ||||
| typedef int   EGLNativeDisplayType; | ||||
| typedef void *EGLNativeWindowType; | ||||
| typedef void *EGLNativePixmapType; | ||||
| #elif defined(__gnu_linux__) || defined(__FreeBSD__) || defined(__sun) || defined(__APPLE__) | ||||
|  | ||||
| #elif defined(WL_EGL_PLATFORM) | ||||
|  | ||||
| typedef struct wl_egl_display *EGLNativeDisplayType; | ||||
| typedef struct wl_egl_pixmap  *EGLNativePixmapType; | ||||
| typedef struct wl_egl_window  *EGLNativeWindowType; | ||||
| /** BEGIN Added for X (Mesa) **/ | ||||
| #ifndef EGLAPI | ||||
| #define EGLAPI extern | ||||
| #endif | ||||
|  | ||||
| #elif defined(ANDROID) /* Android */ | ||||
|  | ||||
| struct android_native_window_t; | ||||
| struct egl_native_pixmap_t; | ||||
|  | ||||
| typedef struct android_native_window_t* EGLNativeWindowType; | ||||
| typedef struct egl_native_pixmap_t*     EGLNativePixmapType; | ||||
| typedef void*                           EGLNativeDisplayType; | ||||
|  | ||||
| #elif defined(__unix__) || defined(__unix) | ||||
|  | ||||
| #ifdef MESA_EGL_NO_X11_HEADERS | ||||
|  | ||||
| typedef void            *EGLNativeDisplayType; | ||||
| typedef khronos_uint32_t EGLNativePixmapType; | ||||
| typedef khronos_uint32_t EGLNativeWindowType; | ||||
|  | ||||
| #else | ||||
|  | ||||
| /* X11 (tentative)  */ | ||||
| #include <X11/Xlib.h> | ||||
| #include <X11/Xutil.h> | ||||
| typedef Display *NativeDisplayType; | ||||
| typedef Window NativeWindowType; | ||||
| typedef Pixmap NativePixmapType; | ||||
| /** END Added for X (Mesa) **/ | ||||
|  | ||||
| typedef Display *EGLNativeDisplayType; | ||||
| typedef Pixmap   EGLNativePixmapType; | ||||
| typedef Window   EGLNativeWindowType; | ||||
|  | ||||
| #endif /* MESA_EGL_NO_X11_HEADERS */ | ||||
|  | ||||
| #else | ||||
| #error "Platform not recognized" | ||||
| #endif | ||||
|  | ||||
| /* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | ||||
| typedef EGLNativeDisplayType NativeDisplayType; | ||||
| typedef EGLNativePixmapType  NativePixmapType; | ||||
| typedef EGLNativeWindowType  NativeWindowType; | ||||
|  | ||||
|  | ||||
| /* Define EGLint. This must be a signed integral type large enough to contain | ||||
|  * all legal attribute names and values passed into and out of EGL, whether | ||||
|  * their type is boolean, bitmask, enumerant (symbolic constant), integer, | ||||
|  * handle, or other.  While in general a 32-bit integer will suffice, if | ||||
|  * handles are 64 bit types, then EGLint should be defined as a signed 64-bit | ||||
|  * integer type. | ||||
|  */ | ||||
| typedef khronos_int32_t EGLint; | ||||
| typedef NativeDisplayType EGLNativeDisplayType; | ||||
| typedef NativePixmapType EGLNativePixmapType; | ||||
| typedef NativeWindowType EGLNativeWindowType; | ||||
|  | ||||
| #endif /* __eglplatform_h */ | ||||
|   | ||||
							
								
								
									
										38
									
								
								include/GL/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								include/GL/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| ## Process this file with automake to produce Makefile.in | ||||
|  | ||||
| GLincludedir = $(includedir)/GL | ||||
|  | ||||
| INC_GGI = ggimesa.h | ||||
| INC_OSMESA = osmesa.h | ||||
| INC_SVGA = svgamesa.h | ||||
| INC_X11 = glx.h glxext.h glx_mangle.h | ||||
| INC_GLUT = glut.h glutf90.h | ||||
|  | ||||
| if HAVE_GGI | ||||
| sel_inc_ggi = $(INC_GGI) | ||||
| endif | ||||
|  | ||||
| if HAVE_OSMESA | ||||
| sel_inc_osmesa = $(INC_OSMESA) | ||||
| endif | ||||
|  | ||||
| if HAVE_SVGA | ||||
| sel_inc_svga = $(INC_SVGA) | ||||
| endif | ||||
|  | ||||
| if HAVE_X11 | ||||
| sel_inc_x11 = $(INC_X11) | ||||
| endif | ||||
|  | ||||
| if NEED_GLUT | ||||
| sel_inc_glut = $(INC_GLUT) | ||||
| endif | ||||
|  | ||||
| EXTRA_HEADERS = amesa.h dosmesa.h foomesa.h glut_h.dja mesa_wgl.h mglmesa.h \ | ||||
| 	vms_x_fix.h wmesa.h \ | ||||
| 	$(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT) | ||||
|  | ||||
| GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h \ | ||||
| 	$(sel_inc_ggi) $(sel_inc_osmesa) $(sel_inc_svga) \ | ||||
| 	$(sel_inc_x11) $(sel_inc_glut) | ||||
| include $(top_srcdir)/common_rules.make | ||||
							
								
								
									
										89
									
								
								include/GL/directfbgl.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								include/GL/directfbgl.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| /* | ||||
|    (c) Copyright 2001  convergence integrated media GmbH. | ||||
|    All rights reserved. | ||||
|  | ||||
|    Written by Denis Oliver Kropp <dok@convergence.de> and | ||||
|               Andreas Hundt <andi@convergence.de>. | ||||
|  | ||||
|    This library is free software; you can redistribute it and/or | ||||
|    modify it under the terms of the GNU Lesser General Public | ||||
|    License as published by the Free Software Foundation; either | ||||
|    version 2 of the License, or (at your option) any later version. | ||||
|  | ||||
|    This library is distributed in the hope that it will be useful, | ||||
|    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|    Lesser General Public License for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU Lesser General Public | ||||
|    License along with this library; if not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __DIRECTFBGL_H__ | ||||
| #define __DIRECTFBGL_H__ | ||||
|  | ||||
| #include <directfb.h> | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" | ||||
| { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| typedef struct { | ||||
|      int        buffer_size; | ||||
|      int        depth_size; | ||||
|      int        stencil_size; | ||||
|      int        aux_buffers; | ||||
|      | ||||
|      int        red_size; | ||||
|      int        green_size; | ||||
|      int        blue_size; | ||||
|      int        alpha_size; | ||||
|  | ||||
|      int        accum_red_size; | ||||
|      int        accum_green_size; | ||||
|      int        accum_blue_size; | ||||
|      int        accum_alpha_size; | ||||
|  | ||||
|      DFBBoolean double_buffer; | ||||
|      DFBBoolean stereo; | ||||
| } DFBGLAttributes; | ||||
|  | ||||
|  | ||||
| DEFINE_INTERFACE(   IDirectFBGL, | ||||
|  | ||||
|    /** Context handling **/ | ||||
|  | ||||
|      /* | ||||
|       * Acquire the hardware lock. | ||||
|       */ | ||||
|      DFBResult (*Lock) ( | ||||
|           IDirectFBGL              *thiz | ||||
|      ); | ||||
|  | ||||
|      /* | ||||
|       * Release the lock. | ||||
|       */ | ||||
|      DFBResult (*Unlock) ( | ||||
|           IDirectFBGL              *thiz | ||||
|      ); | ||||
|  | ||||
|      /* | ||||
|       * Query the OpenGL attributes. | ||||
|       */ | ||||
|      DFBResult (*GetAttributes) ( | ||||
|           IDirectFBGL              *thiz, | ||||
|           DFBGLAttributes          *attributes | ||||
|      ); | ||||
| ) | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										160
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,160 @@ | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  6.1 | ||||
|  *  | ||||
|  * Copyright (C) 1999-2004  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. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * DOS/DJGPP device driver for Mesa | ||||
|  * | ||||
|  *  Author: Daniel Borca | ||||
|  *  Email : dborca@users.sourceforge.net | ||||
|  *  Web   : http://www.geocities.com/dborca | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #ifndef DMESA_H_included | ||||
| #define DMESA_H_included | ||||
|  | ||||
| #define DMESA_MAJOR_VERSION 6 | ||||
| #define DMESA_MINOR_VERSION 5 | ||||
|  | ||||
| /* Sample Usage: | ||||
|  * | ||||
|  * 1. Call DMesaCreateVisual() to initialize graphics. | ||||
|  * 2. Call DMesaCreateContext() to create a DMesa rendering context. | ||||
|  * 3. Call DMesaCreateBuffer() to define the window. | ||||
|  * 4. Call DMesaMakeCurrent() to bind the DMesaBuffer to a DMesaContext. | ||||
|  * 5. Make gl* calls to render your graphics. | ||||
|  * 6. Use DMesaSwapBuffers() when double buffering to swap front/back buffers. | ||||
|  * 7. Before exiting, destroy DMesaBuffer, DMesaContext and DMesaVisual. | ||||
|  */ | ||||
|  | ||||
| typedef struct dmesa_context *DMesaContext; | ||||
| typedef struct dmesa_visual *DMesaVisual; | ||||
| typedef struct dmesa_buffer *DMesaBuffer; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /* | ||||
|  * Create a new Visual and set graphics mode. | ||||
|  */ | ||||
| DMesaVisual DMesaCreateVisual (GLint width,        /* X res */ | ||||
|                                GLint height,       /* Y res */ | ||||
|                                GLint colDepth,     /* BPP */ | ||||
|                                GLint refresh,      /* refresh rate: 0=default */ | ||||
|                                GLboolean dbFlag,   /* double-buffered */ | ||||
|                                GLboolean rgbFlag,  /* RGB mode */ | ||||
|                                GLint alphaSize,    /* requested bits/alpha */ | ||||
|                                GLint depthSize,    /* requested bits/depth */ | ||||
|                                GLint stencilSize,  /* requested bits/stencil */ | ||||
|                                GLint accumSize);   /* requested bits/accum */ | ||||
|  | ||||
| /* | ||||
|  * Destroy Visual and restore screen. | ||||
|  */ | ||||
| void DMesaDestroyVisual (DMesaVisual v); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Create a new Context for rendering. | ||||
|  */ | ||||
| DMesaContext DMesaCreateContext (DMesaVisual visual, DMesaContext share); | ||||
|  | ||||
| /* | ||||
|  * Destroy Context. | ||||
|  */ | ||||
| void DMesaDestroyContext (DMesaContext c); | ||||
|  | ||||
| /* | ||||
|  * Return a handle to the current context. | ||||
|  */ | ||||
| DMesaContext DMesaGetCurrentContext (void); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Create a new Buffer (window). | ||||
|  */ | ||||
| DMesaBuffer DMesaCreateBuffer (DMesaVisual visual, | ||||
|                                GLint xpos, GLint ypos, | ||||
|                                GLint width, GLint height); | ||||
|  | ||||
| /* | ||||
|  * Destroy Buffer. | ||||
|  */ | ||||
| void DMesaDestroyBuffer (DMesaBuffer b); | ||||
|  | ||||
| /* | ||||
|  * Return a handle to the current buffer. | ||||
|  */ | ||||
| DMesaBuffer DMesaGetCurrentBuffer (void); | ||||
|  | ||||
| /* | ||||
|  * Swap the front and back buffers for the given Buffer. | ||||
|  * No action is taken if the buffer is not double buffered. | ||||
|  */ | ||||
| void DMesaSwapBuffers (DMesaBuffer b); | ||||
|  | ||||
| /* | ||||
|  * Bind Buffer to Context and make the Context the current one. | ||||
|  */ | ||||
| GLboolean DMesaMakeCurrent (DMesaContext c, DMesaBuffer b); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Move/Resize current Buffer. | ||||
|  */ | ||||
| GLboolean DMesaMoveBuffer (GLint xpos, GLint ypos); | ||||
| GLboolean DMesaResizeBuffer (GLint width, GLint height); | ||||
|  | ||||
| /* | ||||
|  * Set palette index, using normalized values. | ||||
|  */ | ||||
| void DMesaSetCI (int ndx, GLfloat red, GLfloat green, GLfloat blue); | ||||
|  | ||||
| /* | ||||
|  * DMesa functions | ||||
|  */ | ||||
| typedef void (*DMesaProc) (); | ||||
| DMesaProc DMesaGetProcAddress (const char *name); | ||||
|  | ||||
| /* | ||||
|  * DMesa state retrieval. | ||||
|  */ | ||||
| #define DMESA_GET_SCREEN_SIZE 0x0100 | ||||
| #define DMESA_GET_DRIVER_CAPS 0x0200 | ||||
| #define DMESA_GET_VIDEO_MODES 0x0300 | ||||
| #define DMESA_GET_BUFFER_ADDR 0x0400 | ||||
|  | ||||
| #define DMESA_DRIVER_DBL_BIT 0x1 /* double-buffered */ | ||||
| #define DMESA_DRIVER_YUP_BIT 0x2 /* lower-left window origin */ | ||||
| int DMesaGetIntegerv (GLenum pname, GLint *params); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
							
								
								
									
										85
									
								
								include/GL/ggimesa.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								include/GL/ggimesa.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
| /* | ||||
|  * Mesa 3-D graphics library GGI bindings (GGIGL [giggle]) | ||||
|  * Version:  4.0 | ||||
|  * Copyright (C) 1995-2000  Brian Paul | ||||
|  * Copyright (C) 1998  Uwe Maurer | ||||
|  * Copyrigth (C) 2001 Filip Spacek | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Library General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This library is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Library General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Library General Public | ||||
|  * License along with this library; if not, write to the Free | ||||
|  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #ifndef GGIMESA_H | ||||
| #define GGIMESA_H | ||||
|  | ||||
| #define GGIMESA_MAJOR_VERSION 4 | ||||
| #define GGIMESA_MINOR_VERSION 0 | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| #include <ggi/ggi.h> | ||||
| #include "GL/gl.h" | ||||
|    | ||||
| typedef struct ggi_mesa_context *ggi_mesa_context_t; | ||||
|  | ||||
| /* | ||||
|  * Initialize Mesa GGI extension | ||||
|  */ | ||||
| int ggiMesaInit(void); | ||||
| /* | ||||
|  * Clean up Mesa GGI exension | ||||
|  */ | ||||
| int ggiMesaExit(void); | ||||
|  | ||||
| /* | ||||
|  * Attach Mesa GGI extension to the visual 'vis' | ||||
|  */ | ||||
| int ggiMesaAttach(ggi_visual_t vis); | ||||
| /* | ||||
|  * Detach Mesa GGI extension from the visual 'vis' | ||||
|  */ | ||||
| int ggiMesaDetach(ggi_visual_t vis); | ||||
|  | ||||
| int ggiMesaExtendVisual(ggi_visual_t vis, GLboolean alpha_flag, | ||||
| 			GLboolean stereo_flag, GLint depth_size, | ||||
| 			GLint stencil_size, GLint accum_red_size, | ||||
| 			GLint accum_green_size, GLint accum_blue_size, | ||||
| 			GLint accum_alpha_size, GLint num_samples); | ||||
|  | ||||
| /* | ||||
|  * Create a new context capable of displaying on the visual vis. | ||||
|  */ | ||||
| ggi_mesa_context_t ggiMesaCreateContext(ggi_visual_t vis); | ||||
| /* | ||||
|  * Destroy the context 'ctx' | ||||
|  */ | ||||
| void ggiMesaDestroyContext(ggi_mesa_context_t ctx); | ||||
|  | ||||
| /* | ||||
|  * Make context 'ctx' the current context and bind it to visual 'vis'. | ||||
|  * Note that the context must have been created with respect to that visual. | ||||
|  */ | ||||
| void ggiMesaMakeCurrent(ggi_mesa_context_t ctx, ggi_visual_t vis); | ||||
|  | ||||
| void ggiMesaSwapBuffers(void); | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
| @@ -67,7 +67,7 @@ | ||||
| #elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */ | ||||
| #  define GLAPI extern | ||||
| #  define GLAPIENTRY __stdcall | ||||
| #elif defined(__GNUC__)	|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) | ||||
| #elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303 | ||||
| #  define GLAPI __attribute__((visibility("default"))) | ||||
| #  define GLAPIENTRY | ||||
| #endif /* WIN32 && !CYGWIN */ | ||||
| @@ -85,9 +85,7 @@ | ||||
|  * glut.h or gl.h. | ||||
|  */ | ||||
| #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) | ||||
| #ifndef WIN32_LEAN_AND_MEAN | ||||
| #define WIN32_LEAN_AND_MEAN 1 | ||||
| #endif | ||||
| #include <windows.h> | ||||
| #endif | ||||
|  | ||||
| @@ -2195,21 +2193,6 @@ typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLen | ||||
| #endif /* GL_ATI_blend_equation_separate */ | ||||
|  | ||||
|  | ||||
| /* GL_OES_EGL_image */ | ||||
| #ifndef GL_OES_EGL_image | ||||
| typedef void* GLeglImageOES; | ||||
| #endif | ||||
|  | ||||
| #ifndef GL_OES_EGL_image | ||||
| #define GL_OES_EGL_image 1 | ||||
| #ifdef GL_GLEXT_PROTOTYPES | ||||
| GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); | ||||
| GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); | ||||
| #endif | ||||
| typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); | ||||
| typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /** | ||||
|  ** NOTE!!!!!  If you add new functions to this file, or update | ||||
|   | ||||
| @@ -31,7 +31,6 @@ | ||||
|  | ||||
| #define glAccum		MANGLE(Accum) | ||||
| #define glActiveProgramEXT		MANGLE(ActiveProgramEXT) | ||||
| #define glActiveShaderProgram		MANGLE(ActiveShaderProgram) | ||||
| #define glActiveStencilFaceEXT		MANGLE(ActiveStencilFaceEXT) | ||||
| #define glActiveTextureARB		MANGLE(ActiveTextureARB) | ||||
| #define glActiveTexture		MANGLE(ActiveTexture) | ||||
| @@ -57,7 +56,6 @@ | ||||
| #define glBeginOcclusionQueryNV		MANGLE(BeginOcclusionQueryNV) | ||||
| #define glBeginPerfMonitorAMD		MANGLE(BeginPerfMonitorAMD) | ||||
| #define glBeginQueryARB		MANGLE(BeginQueryARB) | ||||
| #define glBeginQueryIndexed		MANGLE(BeginQueryIndexed) | ||||
| #define glBeginQuery		MANGLE(BeginQuery) | ||||
| #define glBeginTransformFeedbackEXT		MANGLE(BeginTransformFeedbackEXT) | ||||
| #define glBeginTransformFeedback		MANGLE(BeginTransformFeedback) | ||||
| @@ -77,27 +75,22 @@ | ||||
| #define glBindBufferRange		MANGLE(BindBufferRange) | ||||
| #define glBindBufferRangeNV		MANGLE(BindBufferRangeNV) | ||||
| #define glBindFragDataLocationEXT		MANGLE(BindFragDataLocationEXT) | ||||
| #define glBindFragDataLocationIndexed		MANGLE(BindFragDataLocationIndexed) | ||||
| #define glBindFragDataLocation		MANGLE(BindFragDataLocation) | ||||
| #define glBindFragmentShaderATI		MANGLE(BindFragmentShaderATI) | ||||
| #define glBindFramebufferEXT		MANGLE(BindFramebufferEXT) | ||||
| #define glBindFramebuffer		MANGLE(BindFramebuffer) | ||||
| #define glBindImageTextureEXT		MANGLE(BindImageTextureEXT) | ||||
| #define glBindLightParameterEXT		MANGLE(BindLightParameterEXT) | ||||
| #define glBindMaterialParameterEXT		MANGLE(BindMaterialParameterEXT) | ||||
| #define glBindMultiTextureEXT		MANGLE(BindMultiTextureEXT) | ||||
| #define glBindParameterEXT		MANGLE(BindParameterEXT) | ||||
| #define glBindProgramARB		MANGLE(BindProgramARB) | ||||
| #define glBindProgramNV		MANGLE(BindProgramNV) | ||||
| #define glBindProgramPipeline		MANGLE(BindProgramPipeline) | ||||
| #define glBindRenderbufferEXT		MANGLE(BindRenderbufferEXT) | ||||
| #define glBindRenderbuffer		MANGLE(BindRenderbuffer) | ||||
| #define glBindSampler		MANGLE(BindSampler) | ||||
| #define glBindTexGenParameterEXT		MANGLE(BindTexGenParameterEXT) | ||||
| #define glBindTextureEXT		MANGLE(BindTextureEXT) | ||||
| #define glBindTexture		MANGLE(BindTexture) | ||||
| #define glBindTextureUnitParameterEXT		MANGLE(BindTextureUnitParameterEXT) | ||||
| #define glBindTransformFeedback		MANGLE(BindTransformFeedback) | ||||
| #define glBindTransformFeedbackNV		MANGLE(BindTransformFeedbackNV) | ||||
| #define glBindVertexArrayAPPLE		MANGLE(BindVertexArrayAPPLE) | ||||
| #define glBindVertexArray		MANGLE(BindVertexArray) | ||||
| @@ -119,22 +112,18 @@ | ||||
| #define glBlendColorEXT		MANGLE(BlendColorEXT) | ||||
| #define glBlendColor		MANGLE(BlendColor) | ||||
| #define glBlendEquationEXT		MANGLE(BlendEquationEXT) | ||||
| #define glBlendEquationiARB		MANGLE(BlendEquationiARB) | ||||
| #define glBlendEquationi		MANGLE(BlendEquationi) | ||||
| #define glBlendEquationIndexedAMD		MANGLE(BlendEquationIndexedAMD) | ||||
| #define glBlendEquation		MANGLE(BlendEquation) | ||||
| #define glBlendEquationSeparateATI		MANGLE(BlendEquationSeparateATI) | ||||
| #define glBlendEquationSeparateEXT		MANGLE(BlendEquationSeparateEXT) | ||||
| #define glBlendEquationSeparateiARB		MANGLE(BlendEquationSeparateiARB) | ||||
| #define glBlendEquationSeparatei		MANGLE(BlendEquationSeparatei) | ||||
| #define glBlendEquationSeparateIndexedAMD		MANGLE(BlendEquationSeparateIndexedAMD) | ||||
| #define glBlendEquationSeparate		MANGLE(BlendEquationSeparate) | ||||
| #define glBlendFunciARB		MANGLE(BlendFunciARB) | ||||
| #define glBlendFunci		MANGLE(BlendFunci) | ||||
| #define glBlendFuncIndexedAMD		MANGLE(BlendFuncIndexedAMD) | ||||
| #define glBlendFunc		MANGLE(BlendFunc) | ||||
| #define glBlendFuncSeparateEXT		MANGLE(BlendFuncSeparateEXT) | ||||
| #define glBlendFuncSeparateiARB		MANGLE(BlendFuncSeparateiARB) | ||||
| #define glBlendFuncSeparatei		MANGLE(BlendFuncSeparatei) | ||||
| #define glBlendFuncSeparateIndexedAMD		MANGLE(BlendFuncSeparateIndexedAMD) | ||||
| #define glBlendFuncSeparateINGR		MANGLE(BlendFuncSeparateINGR) | ||||
| @@ -164,7 +153,6 @@ | ||||
| #define glClearColor		MANGLE(ClearColor) | ||||
| #define glClearDebugLogMESA		MANGLE(ClearDebugLogMESA) | ||||
| #define glClearDepthdNV		MANGLE(ClearDepthdNV) | ||||
| #define glClearDepthf		MANGLE(ClearDepthf) | ||||
| #define glClearDepth		MANGLE(ClearDepth) | ||||
| #define glClearIndex		MANGLE(ClearIndex) | ||||
| #define glClear		MANGLE(Clear) | ||||
| @@ -227,10 +215,6 @@ | ||||
| #define glColorMaskIndexedEXT		MANGLE(ColorMaskIndexedEXT) | ||||
| #define glColorMask		MANGLE(ColorMask) | ||||
| #define glColorMaterial		MANGLE(ColorMaterial) | ||||
| #define glColorP3ui		MANGLE(ColorP3ui) | ||||
| #define glColorP3uiv		MANGLE(ColorP3uiv) | ||||
| #define glColorP4ui		MANGLE(ColorP4ui) | ||||
| #define glColorP4uiv		MANGLE(ColorP4uiv) | ||||
| #define glColorPointerEXT		MANGLE(ColorPointerEXT) | ||||
| #define glColorPointerListIBM		MANGLE(ColorPointerListIBM) | ||||
| #define glColorPointer		MANGLE(ColorPointer) | ||||
| @@ -252,7 +236,6 @@ | ||||
| #define glCombinerParameterivNV		MANGLE(CombinerParameterivNV) | ||||
| #define glCombinerStageParameterfvNV		MANGLE(CombinerStageParameterfvNV) | ||||
| #define glCompileShaderARB		MANGLE(CompileShaderARB) | ||||
| #define glCompileShaderIncludeARB		MANGLE(CompileShaderIncludeARB) | ||||
| #define glCompileShader		MANGLE(CompileShader) | ||||
| #define glCompressedMultiTexImage1DEXT		MANGLE(CompressedMultiTexImage1DEXT) | ||||
| #define glCompressedMultiTexImage2DEXT		MANGLE(CompressedMultiTexImage2DEXT) | ||||
| @@ -327,18 +310,10 @@ | ||||
| #define glCreateShader		MANGLE(CreateShader) | ||||
| #define glCreateShaderObjectARB		MANGLE(CreateShaderObjectARB) | ||||
| #define glCreateShaderProgramEXT		MANGLE(CreateShaderProgramEXT) | ||||
| #define glCreateShaderProgramv		MANGLE(CreateShaderProgramv) | ||||
| #define glCreateSyncFromCLeventARB		MANGLE(CreateSyncFromCLeventARB) | ||||
| #define glCullFace		MANGLE(CullFace) | ||||
| #define glCullParameterdvEXT		MANGLE(CullParameterdvEXT) | ||||
| #define glCullParameterfvEXT		MANGLE(CullParameterfvEXT) | ||||
| #define glCurrentPaletteMatrixARB		MANGLE(CurrentPaletteMatrixARB) | ||||
| #define glDebugMessageCallbackAMD		MANGLE(DebugMessageCallbackAMD) | ||||
| #define glDebugMessageCallbackARB		MANGLE(DebugMessageCallbackARB) | ||||
| #define glDebugMessageControlARB		MANGLE(DebugMessageControlARB) | ||||
| #define glDebugMessageEnableAMD		MANGLE(DebugMessageEnableAMD) | ||||
| #define glDebugMessageInsertAMD		MANGLE(DebugMessageInsertAMD) | ||||
| #define glDebugMessageInsertARB		MANGLE(DebugMessageInsertARB) | ||||
| #define glDeformationMap3dSGIX		MANGLE(DeformationMap3dSGIX) | ||||
| #define glDeformationMap3fSGIX		MANGLE(DeformationMap3fSGIX) | ||||
| #define glDeformSGIX		MANGLE(DeformSGIX) | ||||
| @@ -351,25 +326,20 @@ | ||||
| #define glDeleteFramebuffersEXT		MANGLE(DeleteFramebuffersEXT) | ||||
| #define glDeleteFramebuffers		MANGLE(DeleteFramebuffers) | ||||
| #define glDeleteLists		MANGLE(DeleteLists) | ||||
| #define glDeleteNamedStringARB		MANGLE(DeleteNamedStringARB) | ||||
| #define glDeleteNamesAMD		MANGLE(DeleteNamesAMD) | ||||
| #define glDeleteObjectARB		MANGLE(DeleteObjectARB) | ||||
| #define glDeleteOcclusionQueriesNV		MANGLE(DeleteOcclusionQueriesNV) | ||||
| #define glDeletePerfMonitorsAMD		MANGLE(DeletePerfMonitorsAMD) | ||||
| #define glDeleteProgram		MANGLE(DeleteProgram) | ||||
| #define glDeleteProgramPipelines		MANGLE(DeleteProgramPipelines) | ||||
| #define glDeleteProgramsARB		MANGLE(DeleteProgramsARB) | ||||
| #define glDeleteProgramsNV		MANGLE(DeleteProgramsNV) | ||||
| #define glDeleteQueriesARB		MANGLE(DeleteQueriesARB) | ||||
| #define glDeleteQueries		MANGLE(DeleteQueries) | ||||
| #define glDeleteRenderbuffersEXT		MANGLE(DeleteRenderbuffersEXT) | ||||
| #define glDeleteRenderbuffers		MANGLE(DeleteRenderbuffers) | ||||
| #define glDeleteSamplers		MANGLE(DeleteSamplers) | ||||
| #define glDeleteShader		MANGLE(DeleteShader) | ||||
| #define glDeleteSync		MANGLE(DeleteSync) | ||||
| #define glDeleteTexturesEXT		MANGLE(DeleteTexturesEXT) | ||||
| #define glDeleteTextures		MANGLE(DeleteTextures) | ||||
| #define glDeleteTransformFeedbacks		MANGLE(DeleteTransformFeedbacks) | ||||
| #define glDeleteTransformFeedbacksNV		MANGLE(DeleteTransformFeedbacksNV) | ||||
| #define glDeleteVertexArraysAPPLE		MANGLE(DeleteVertexArraysAPPLE) | ||||
| #define glDeleteVertexArrays		MANGLE(DeleteVertexArrays) | ||||
| @@ -378,10 +348,7 @@ | ||||
| #define glDepthBoundsEXT		MANGLE(DepthBoundsEXT) | ||||
| #define glDepthFunc		MANGLE(DepthFunc) | ||||
| #define glDepthMask		MANGLE(DepthMask) | ||||
| #define glDepthRangeArrayv		MANGLE(DepthRangeArrayv) | ||||
| #define glDepthRangedNV		MANGLE(DepthRangedNV) | ||||
| #define glDepthRangef		MANGLE(DepthRangef) | ||||
| #define glDepthRangeIndexed		MANGLE(DepthRangeIndexed) | ||||
| #define glDepthRange		MANGLE(DepthRange) | ||||
| #define glDetachObjectARB		MANGLE(DetachObjectARB) | ||||
| #define glDetachShader		MANGLE(DetachShader) | ||||
| @@ -396,7 +363,6 @@ | ||||
| #define glDisableVertexAttribArrayARB		MANGLE(DisableVertexAttribArrayARB) | ||||
| #define glDisableVertexAttribArray		MANGLE(DisableVertexAttribArray) | ||||
| #define glDrawArraysEXT		MANGLE(DrawArraysEXT) | ||||
| #define glDrawArraysIndirect		MANGLE(DrawArraysIndirect) | ||||
| #define glDrawArraysInstancedARB		MANGLE(DrawArraysInstancedARB) | ||||
| #define glDrawArraysInstancedEXT		MANGLE(DrawArraysInstancedEXT) | ||||
| #define glDrawArraysInstanced		MANGLE(DrawArraysInstanced) | ||||
| @@ -408,7 +374,6 @@ | ||||
| #define glDrawElementArrayAPPLE		MANGLE(DrawElementArrayAPPLE) | ||||
| #define glDrawElementArrayATI		MANGLE(DrawElementArrayATI) | ||||
| #define glDrawElementsBaseVertex		MANGLE(DrawElementsBaseVertex) | ||||
| #define glDrawElementsIndirect		MANGLE(DrawElementsIndirect) | ||||
| #define glDrawElementsInstancedARB		MANGLE(DrawElementsInstancedARB) | ||||
| #define glDrawElementsInstancedBaseVertex		MANGLE(DrawElementsInstancedBaseVertex) | ||||
| #define glDrawElementsInstancedEXT		MANGLE(DrawElementsInstancedEXT) | ||||
| @@ -421,17 +386,13 @@ | ||||
| #define glDrawRangeElementsBaseVertex		MANGLE(DrawRangeElementsBaseVertex) | ||||
| #define glDrawRangeElementsEXT		MANGLE(DrawRangeElementsEXT) | ||||
| #define glDrawRangeElements		MANGLE(DrawRangeElements) | ||||
| #define glDrawTransformFeedback		MANGLE(DrawTransformFeedback) | ||||
| #define glDrawTransformFeedbackNV		MANGLE(DrawTransformFeedbackNV) | ||||
| #define glDrawTransformFeedbackStream		MANGLE(DrawTransformFeedbackStream) | ||||
| #define glEdgeFlagFormatNV		MANGLE(EdgeFlagFormatNV) | ||||
| #define glEdgeFlag		MANGLE(EdgeFlag) | ||||
| #define glEdgeFlagPointerEXT		MANGLE(EdgeFlagPointerEXT) | ||||
| #define glEdgeFlagPointerListIBM		MANGLE(EdgeFlagPointerListIBM) | ||||
| #define glEdgeFlagPointer		MANGLE(EdgeFlagPointer) | ||||
| #define glEdgeFlagv		MANGLE(EdgeFlagv) | ||||
| #define glEGLImageTargetRenderbufferStorageOES		MANGLE(EGLImageTargetRenderbufferStorageOES) | ||||
| #define glEGLImageTargetTexture2DOES		MANGLE(EGLImageTargetTexture2DOES) | ||||
| #define glElementPointerAPPLE		MANGLE(ElementPointerAPPLE) | ||||
| #define glElementPointerATI		MANGLE(ElementPointerATI) | ||||
| #define glEnableClientStateIndexedEXT		MANGLE(EnableClientStateIndexedEXT) | ||||
| @@ -451,7 +412,6 @@ | ||||
| #define glEndOcclusionQueryNV		MANGLE(EndOcclusionQueryNV) | ||||
| #define glEndPerfMonitorAMD		MANGLE(EndPerfMonitorAMD) | ||||
| #define glEndQueryARB		MANGLE(EndQueryARB) | ||||
| #define glEndQueryIndexed		MANGLE(EndQueryIndexed) | ||||
| #define glEndQuery		MANGLE(EndQuery) | ||||
| #define glEndTransformFeedbackEXT		MANGLE(EndTransformFeedbackEXT) | ||||
| #define glEndTransformFeedback		MANGLE(EndTransformFeedback) | ||||
| @@ -485,7 +445,6 @@ | ||||
| #define glFlush		MANGLE(Flush) | ||||
| #define glFlushMappedBufferRangeAPPLE		MANGLE(FlushMappedBufferRangeAPPLE) | ||||
| #define glFlushMappedBufferRange		MANGLE(FlushMappedBufferRange) | ||||
| #define glFlushMappedNamedBufferRangeEXT		MANGLE(FlushMappedNamedBufferRangeEXT) | ||||
| #define glFlushPixelDataRangeNV		MANGLE(FlushPixelDataRangeNV) | ||||
| #define glFlushRasterSGIX		MANGLE(FlushRasterSGIX) | ||||
| #define glFlushVertexArrayRangeAPPLE		MANGLE(FlushVertexArrayRangeAPPLE) | ||||
| @@ -537,6 +496,7 @@ | ||||
| #define glFramebufferTextureEXT		MANGLE(FramebufferTextureEXT) | ||||
| #define glFramebufferTextureFaceARB		MANGLE(FramebufferTextureFaceARB) | ||||
| #define glFramebufferTextureFaceEXT		MANGLE(FramebufferTextureFaceEXT) | ||||
| #define glFramebufferTextureFace		MANGLE(FramebufferTextureFace) | ||||
| #define glFramebufferTextureLayerARB		MANGLE(FramebufferTextureLayerARB) | ||||
| #define glFramebufferTextureLayerEXT		MANGLE(FramebufferTextureLayerEXT) | ||||
| #define glFramebufferTextureLayer		MANGLE(FramebufferTextureLayer) | ||||
| @@ -559,30 +519,23 @@ | ||||
| #define glGenFramebuffersEXT		MANGLE(GenFramebuffersEXT) | ||||
| #define glGenFramebuffers		MANGLE(GenFramebuffers) | ||||
| #define glGenLists		MANGLE(GenLists) | ||||
| #define glGenNamesAMD		MANGLE(GenNamesAMD) | ||||
| #define glGenOcclusionQueriesNV		MANGLE(GenOcclusionQueriesNV) | ||||
| #define glGenPerfMonitorsAMD		MANGLE(GenPerfMonitorsAMD) | ||||
| #define glGenProgramPipelines		MANGLE(GenProgramPipelines) | ||||
| #define glGenProgramsARB		MANGLE(GenProgramsARB) | ||||
| #define glGenProgramsNV		MANGLE(GenProgramsNV) | ||||
| #define glGenQueriesARB		MANGLE(GenQueriesARB) | ||||
| #define glGenQueries		MANGLE(GenQueries) | ||||
| #define glGenRenderbuffersEXT		MANGLE(GenRenderbuffersEXT) | ||||
| #define glGenRenderbuffers		MANGLE(GenRenderbuffers) | ||||
| #define glGenSamplers		MANGLE(GenSamplers) | ||||
| #define glGenSymbolsEXT		MANGLE(GenSymbolsEXT) | ||||
| #define glGenTexturesEXT		MANGLE(GenTexturesEXT) | ||||
| #define glGenTextures		MANGLE(GenTextures) | ||||
| #define glGenTransformFeedbacks		MANGLE(GenTransformFeedbacks) | ||||
| #define glGenTransformFeedbacksNV		MANGLE(GenTransformFeedbacksNV) | ||||
| #define glGenVertexArraysAPPLE		MANGLE(GenVertexArraysAPPLE) | ||||
| #define glGenVertexArrays		MANGLE(GenVertexArrays) | ||||
| #define glGenVertexShadersEXT		MANGLE(GenVertexShadersEXT) | ||||
| #define glGetActiveAttribARB		MANGLE(GetActiveAttribARB) | ||||
| #define glGetActiveAttrib		MANGLE(GetActiveAttrib) | ||||
| #define glGetActiveSubroutineName		MANGLE(GetActiveSubroutineName) | ||||
| #define glGetActiveSubroutineUniformiv		MANGLE(GetActiveSubroutineUniformiv) | ||||
| #define glGetActiveSubroutineUniformName		MANGLE(GetActiveSubroutineUniformName) | ||||
| #define glGetActiveUniformARB		MANGLE(GetActiveUniformARB) | ||||
| #define glGetActiveUniformBlockiv		MANGLE(GetActiveUniformBlockiv) | ||||
| #define glGetActiveUniformBlockName		MANGLE(GetActiveUniformBlockName) | ||||
| @@ -634,21 +587,16 @@ | ||||
| #define glGetConvolutionParameteriv		MANGLE(GetConvolutionParameteriv) | ||||
| #define glGetDebugLogLengthMESA		MANGLE(GetDebugLogLengthMESA) | ||||
| #define glGetDebugLogMESA		MANGLE(GetDebugLogMESA) | ||||
| #define glGetDebugMessageLogAMD		MANGLE(GetDebugMessageLogAMD) | ||||
| #define glGetDebugMessageLogARB		MANGLE(GetDebugMessageLogARB) | ||||
| #define glGetDetailTexFuncSGIS		MANGLE(GetDetailTexFuncSGIS) | ||||
| #define glGetDoubleIndexedvEXT		MANGLE(GetDoubleIndexedvEXT) | ||||
| #define glGetDoublei_v		MANGLE(GetDoublei_v) | ||||
| #define glGetDoublev		MANGLE(GetDoublev) | ||||
| #define glGetError		MANGLE(GetError) | ||||
| #define glGetFenceivNV		MANGLE(GetFenceivNV) | ||||
| #define glGetFinalCombinerInputParameterfvNV		MANGLE(GetFinalCombinerInputParameterfvNV) | ||||
| #define glGetFinalCombinerInputParameterivNV		MANGLE(GetFinalCombinerInputParameterivNV) | ||||
| #define glGetFloatIndexedvEXT		MANGLE(GetFloatIndexedvEXT) | ||||
| #define glGetFloati_v		MANGLE(GetFloati_v) | ||||
| #define glGetFloatv		MANGLE(GetFloatv) | ||||
| #define glGetFogFuncSGIS		MANGLE(GetFogFuncSGIS) | ||||
| #define glGetFragDataIndex		MANGLE(GetFragDataIndex) | ||||
| #define glGetFragDataLocationEXT		MANGLE(GetFragDataLocationEXT) | ||||
| #define glGetFragDataLocation		MANGLE(GetFragDataLocation) | ||||
| #define glGetFragmentLightfvSGIX		MANGLE(GetFragmentLightfvSGIX) | ||||
| @@ -658,7 +606,6 @@ | ||||
| #define glGetFramebufferAttachmentParameterivEXT		MANGLE(GetFramebufferAttachmentParameterivEXT) | ||||
| #define glGetFramebufferAttachmentParameteriv		MANGLE(GetFramebufferAttachmentParameteriv) | ||||
| #define glGetFramebufferParameterivEXT		MANGLE(GetFramebufferParameterivEXT) | ||||
| #define glGetGraphicsResetStatusARB		MANGLE(GetGraphicsResetStatusARB) | ||||
| #define glGetHandleARB		MANGLE(GetHandleARB) | ||||
| #define glGetHistogramEXT		MANGLE(GetHistogramEXT) | ||||
| #define glGetHistogram		MANGLE(GetHistogram) | ||||
| @@ -729,26 +676,6 @@ | ||||
| #define glGetNamedProgramLocalParameterIuivEXT		MANGLE(GetNamedProgramLocalParameterIuivEXT) | ||||
| #define glGetNamedProgramStringEXT		MANGLE(GetNamedProgramStringEXT) | ||||
| #define glGetNamedRenderbufferParameterivEXT		MANGLE(GetNamedRenderbufferParameterivEXT) | ||||
| #define glGetNamedStringARB		MANGLE(GetNamedStringARB) | ||||
| #define glGetNamedStringivARB		MANGLE(GetNamedStringivARB) | ||||
| #define glGetnColorTableARB		MANGLE(GetnColorTableARB) | ||||
| #define glGetnCompressedTexImageARB		MANGLE(GetnCompressedTexImageARB) | ||||
| #define glGetnConvolutionFilterARB		MANGLE(GetnConvolutionFilterARB) | ||||
| #define glGetnHistogramARB		MANGLE(GetnHistogramARB) | ||||
| #define glGetnMapdvARB		MANGLE(GetnMapdvARB) | ||||
| #define glGetnMapfvARB		MANGLE(GetnMapfvARB) | ||||
| #define glGetnMapivARB		MANGLE(GetnMapivARB) | ||||
| #define glGetnMinmaxARB		MANGLE(GetnMinmaxARB) | ||||
| #define glGetnPixelMapfvARB		MANGLE(GetnPixelMapfvARB) | ||||
| #define glGetnPixelMapuivARB		MANGLE(GetnPixelMapuivARB) | ||||
| #define glGetnPixelMapusvARB		MANGLE(GetnPixelMapusvARB) | ||||
| #define glGetnPolygonStippleARB		MANGLE(GetnPolygonStippleARB) | ||||
| #define glGetnSeparableFilterARB		MANGLE(GetnSeparableFilterARB) | ||||
| #define glGetnTexImageARB		MANGLE(GetnTexImageARB) | ||||
| #define glGetnUniformdvARB		MANGLE(GetnUniformdvARB) | ||||
| #define glGetnUniformfvARB		MANGLE(GetnUniformfvARB) | ||||
| #define glGetnUniformivARB		MANGLE(GetnUniformivARB) | ||||
| #define glGetnUniformuivARB		MANGLE(GetnUniformuivARB) | ||||
| #define glGetObjectBufferfvATI		MANGLE(GetObjectBufferfvATI) | ||||
| #define glGetObjectBufferivATI		MANGLE(GetObjectBufferivATI) | ||||
| #define glGetObjectParameterfvARB		MANGLE(GetObjectParameterfvARB) | ||||
| @@ -771,7 +698,6 @@ | ||||
| #define glGetPointervEXT		MANGLE(GetPointervEXT) | ||||
| #define glGetPointerv		MANGLE(GetPointerv) | ||||
| #define glGetPolygonStipple		MANGLE(GetPolygonStipple) | ||||
| #define glGetProgramBinary		MANGLE(GetProgramBinary) | ||||
| #define glGetProgramEnvParameterdvARB		MANGLE(GetProgramEnvParameterdvARB) | ||||
| #define glGetProgramEnvParameterfvARB		MANGLE(GetProgramEnvParameterfvARB) | ||||
| #define glGetProgramEnvParameterIivNV		MANGLE(GetProgramEnvParameterIivNV) | ||||
| @@ -788,42 +714,28 @@ | ||||
| #define glGetProgramNamedParameterfvNV		MANGLE(GetProgramNamedParameterfvNV) | ||||
| #define glGetProgramParameterdvNV		MANGLE(GetProgramParameterdvNV) | ||||
| #define glGetProgramParameterfvNV		MANGLE(GetProgramParameterfvNV) | ||||
| #define glGetProgramPipelineInfoLog		MANGLE(GetProgramPipelineInfoLog) | ||||
| #define glGetProgramPipelineiv		MANGLE(GetProgramPipelineiv) | ||||
| #define glGetProgramRegisterfvMESA		MANGLE(GetProgramRegisterfvMESA) | ||||
| #define glGetProgramStageiv		MANGLE(GetProgramStageiv) | ||||
| #define glGetProgramStringARB		MANGLE(GetProgramStringARB) | ||||
| #define glGetProgramStringNV		MANGLE(GetProgramStringNV) | ||||
| #define glGetProgramSubroutineParameteruivNV		MANGLE(GetProgramSubroutineParameteruivNV) | ||||
| #define glGetQueryIndexediv		MANGLE(GetQueryIndexediv) | ||||
| #define glGetQueryivARB		MANGLE(GetQueryivARB) | ||||
| #define glGetQueryiv		MANGLE(GetQueryiv) | ||||
| #define glGetQueryObjecti64vEXT		MANGLE(GetQueryObjecti64vEXT) | ||||
| #define glGetQueryObjecti64v		MANGLE(GetQueryObjecti64v) | ||||
| #define glGetQueryObjectivARB		MANGLE(GetQueryObjectivARB) | ||||
| #define glGetQueryObjectiv		MANGLE(GetQueryObjectiv) | ||||
| #define glGetQueryObjectui64vEXT		MANGLE(GetQueryObjectui64vEXT) | ||||
| #define glGetQueryObjectui64v		MANGLE(GetQueryObjectui64v) | ||||
| #define glGetQueryObjectuivARB		MANGLE(GetQueryObjectuivARB) | ||||
| #define glGetQueryObjectuiv		MANGLE(GetQueryObjectuiv) | ||||
| #define glGetRenderbufferParameterivEXT		MANGLE(GetRenderbufferParameterivEXT) | ||||
| #define glGetRenderbufferParameteriv		MANGLE(GetRenderbufferParameteriv) | ||||
| #define glGetSamplerParameterfv		MANGLE(GetSamplerParameterfv) | ||||
| #define glGetSamplerParameterIiv		MANGLE(GetSamplerParameterIiv) | ||||
| #define glGetSamplerParameterIuiv		MANGLE(GetSamplerParameterIuiv) | ||||
| #define glGetSamplerParameteriv		MANGLE(GetSamplerParameteriv) | ||||
| #define glGetSeparableFilterEXT		MANGLE(GetSeparableFilterEXT) | ||||
| #define glGetSeparableFilter		MANGLE(GetSeparableFilter) | ||||
| #define glGetShaderInfoLog		MANGLE(GetShaderInfoLog) | ||||
| #define glGetShaderiv		MANGLE(GetShaderiv) | ||||
| #define glGetShaderPrecisionFormat		MANGLE(GetShaderPrecisionFormat) | ||||
| #define glGetShaderSourceARB		MANGLE(GetShaderSourceARB) | ||||
| #define glGetShaderSource		MANGLE(GetShaderSource) | ||||
| #define glGetSharpenTexFuncSGIS		MANGLE(GetSharpenTexFuncSGIS) | ||||
| #define glGetStringi		MANGLE(GetStringi) | ||||
| #define glGetString		MANGLE(GetString) | ||||
| #define glGetSubroutineIndex		MANGLE(GetSubroutineIndex) | ||||
| #define glGetSubroutineUniformLocation		MANGLE(GetSubroutineUniformLocation) | ||||
| #define glGetSynciv		MANGLE(GetSynciv) | ||||
| #define glGetTexBumpParameterfvATI		MANGLE(GetTexBumpParameterfvATI) | ||||
| #define glGetTexBumpParameterivATI		MANGLE(GetTexBumpParameterivATI) | ||||
| @@ -856,17 +768,14 @@ | ||||
| #define glGetTransformFeedbackVaryingNV		MANGLE(GetTransformFeedbackVaryingNV) | ||||
| #define glGetUniformBlockIndex		MANGLE(GetUniformBlockIndex) | ||||
| #define glGetUniformBufferSizeEXT		MANGLE(GetUniformBufferSizeEXT) | ||||
| #define glGetUniformdv		MANGLE(GetUniformdv) | ||||
| #define glGetUniformfvARB		MANGLE(GetUniformfvARB) | ||||
| #define glGetUniformfv		MANGLE(GetUniformfv) | ||||
| #define glGetUniformi64vNV		MANGLE(GetUniformi64vNV) | ||||
| #define glGetUniformIndices		MANGLE(GetUniformIndices) | ||||
| #define glGetUniformivARB		MANGLE(GetUniformivARB) | ||||
| #define glGetUniformiv		MANGLE(GetUniformiv) | ||||
| #define glGetUniformLocationARB		MANGLE(GetUniformLocationARB) | ||||
| #define glGetUniformLocation		MANGLE(GetUniformLocation) | ||||
| #define glGetUniformOffsetEXT		MANGLE(GetUniformOffsetEXT) | ||||
| #define glGetUniformSubroutineuiv		MANGLE(GetUniformSubroutineuiv) | ||||
| #define glGetUniformui64vNV		MANGLE(GetUniformui64vNV) | ||||
| #define glGetUniformuivEXT		MANGLE(GetUniformuivEXT) | ||||
| #define glGetUniformuiv		MANGLE(GetUniformuiv) | ||||
| @@ -892,10 +801,6 @@ | ||||
| #define glGetVertexAttribivARB		MANGLE(GetVertexAttribivARB) | ||||
| #define glGetVertexAttribiv		MANGLE(GetVertexAttribiv) | ||||
| #define glGetVertexAttribivNV		MANGLE(GetVertexAttribivNV) | ||||
| #define glGetVertexAttribLdvEXT		MANGLE(GetVertexAttribLdvEXT) | ||||
| #define glGetVertexAttribLdv		MANGLE(GetVertexAttribLdv) | ||||
| #define glGetVertexAttribLi64vNV		MANGLE(GetVertexAttribLi64vNV) | ||||
| #define glGetVertexAttribLui64vNV		MANGLE(GetVertexAttribLui64vNV) | ||||
| #define glGetVertexAttribPointervARB		MANGLE(GetVertexAttribPointervARB) | ||||
| #define glGetVertexAttribPointerv		MANGLE(GetVertexAttribPointerv) | ||||
| #define glGetVertexAttribPointervNV		MANGLE(GetVertexAttribPointervNV) | ||||
| @@ -957,25 +862,20 @@ | ||||
| #define glIsFramebufferEXT		MANGLE(IsFramebufferEXT) | ||||
| #define glIsFramebuffer		MANGLE(IsFramebuffer) | ||||
| #define glIsList		MANGLE(IsList) | ||||
| #define glIsNameAMD		MANGLE(IsNameAMD) | ||||
| #define glIsNamedBufferResidentNV		MANGLE(IsNamedBufferResidentNV) | ||||
| #define glIsNamedStringARB		MANGLE(IsNamedStringARB) | ||||
| #define glIsObjectBufferATI		MANGLE(IsObjectBufferATI) | ||||
| #define glIsOcclusionQueryNV		MANGLE(IsOcclusionQueryNV) | ||||
| #define glIsProgramARB		MANGLE(IsProgramARB) | ||||
| #define glIsProgram		MANGLE(IsProgram) | ||||
| #define glIsProgramNV		MANGLE(IsProgramNV) | ||||
| #define glIsProgramPipeline		MANGLE(IsProgramPipeline) | ||||
| #define glIsQueryARB		MANGLE(IsQueryARB) | ||||
| #define glIsQuery		MANGLE(IsQuery) | ||||
| #define glIsRenderbufferEXT		MANGLE(IsRenderbufferEXT) | ||||
| #define glIsRenderbuffer		MANGLE(IsRenderbuffer) | ||||
| #define glIsSampler		MANGLE(IsSampler) | ||||
| #define glIsShader		MANGLE(IsShader) | ||||
| #define glIsSync		MANGLE(IsSync) | ||||
| #define glIsTextureEXT		MANGLE(IsTextureEXT) | ||||
| #define glIsTexture		MANGLE(IsTexture) | ||||
| #define glIsTransformFeedback		MANGLE(IsTransformFeedback) | ||||
| #define glIsTransformFeedbackNV		MANGLE(IsTransformFeedbackNV) | ||||
| #define glIsVariantEnabledEXT		MANGLE(IsVariantEnabledEXT) | ||||
| #define glIsVertexArrayAPPLE		MANGLE(IsVertexArrayAPPLE) | ||||
| @@ -1013,8 +913,6 @@ | ||||
| #define glLogicOp		MANGLE(LogicOp) | ||||
| #define glMakeBufferNonResidentNV		MANGLE(MakeBufferNonResidentNV) | ||||
| #define glMakeBufferResidentNV		MANGLE(MakeBufferResidentNV) | ||||
| #define glMakeNamedBufferNonResidentNV		MANGLE(MakeNamedBufferNonResidentNV) | ||||
| #define glMakeNamedBufferResidentNV		MANGLE(MakeNamedBufferResidentNV) | ||||
| #define glMap1d		MANGLE(Map1d) | ||||
| #define glMap1f		MANGLE(Map1f) | ||||
| #define glMap2d		MANGLE(Map2d) | ||||
| @@ -1028,7 +926,6 @@ | ||||
| #define glMapGrid2d		MANGLE(MapGrid2d) | ||||
| #define glMapGrid2f		MANGLE(MapGrid2f) | ||||
| #define glMapNamedBufferEXT		MANGLE(MapNamedBufferEXT) | ||||
| #define glMapNamedBufferRangeEXT		MANGLE(MapNamedBufferRangeEXT) | ||||
| #define glMapObjectBufferATI		MANGLE(MapObjectBufferATI) | ||||
| #define glMapParameterfvNV		MANGLE(MapParameterfvNV) | ||||
| #define glMapParameterivNV		MANGLE(MapParameterivNV) | ||||
| @@ -1064,10 +961,8 @@ | ||||
| #define glMatrixScalefEXT		MANGLE(MatrixScalefEXT) | ||||
| #define glMatrixTranslatedEXT		MANGLE(MatrixTranslatedEXT) | ||||
| #define glMatrixTranslatefEXT		MANGLE(MatrixTranslatefEXT) | ||||
| #define glMemoryBarrierEXT		MANGLE(MemoryBarrierEXT) | ||||
| #define glMinmaxEXT		MANGLE(MinmaxEXT) | ||||
| #define glMinmax		MANGLE(Minmax) | ||||
| #define glMinSampleShadingARB		MANGLE(MinSampleShadingARB) | ||||
| #define glMinSampleShading		MANGLE(MinSampleShading) | ||||
| #define glMultiDrawArraysEXT		MANGLE(MultiDrawArraysEXT) | ||||
| #define glMultiDrawArrays		MANGLE(MultiDrawArrays) | ||||
| @@ -1151,14 +1046,6 @@ | ||||
| #define glMultiTexCoord4s		MANGLE(MultiTexCoord4s) | ||||
| #define glMultiTexCoord4svARB		MANGLE(MultiTexCoord4svARB) | ||||
| #define glMultiTexCoord4sv		MANGLE(MultiTexCoord4sv) | ||||
| #define glMultiTexCoordP1ui		MANGLE(MultiTexCoordP1ui) | ||||
| #define glMultiTexCoordP1uiv		MANGLE(MultiTexCoordP1uiv) | ||||
| #define glMultiTexCoordP2ui		MANGLE(MultiTexCoordP2ui) | ||||
| #define glMultiTexCoordP2uiv		MANGLE(MultiTexCoordP2uiv) | ||||
| #define glMultiTexCoordP3ui		MANGLE(MultiTexCoordP3ui) | ||||
| #define glMultiTexCoordP3uiv		MANGLE(MultiTexCoordP3uiv) | ||||
| #define glMultiTexCoordP4ui		MANGLE(MultiTexCoordP4ui) | ||||
| #define glMultiTexCoordP4uiv		MANGLE(MultiTexCoordP4uiv) | ||||
| #define glMultiTexCoordPointerEXT		MANGLE(MultiTexCoordPointerEXT) | ||||
| #define glMultiTexEnvfEXT		MANGLE(MultiTexEnvfEXT) | ||||
| #define glMultiTexEnvfvEXT		MANGLE(MultiTexEnvfvEXT) | ||||
| @@ -1191,7 +1078,6 @@ | ||||
| #define glMultTransposeMatrixf		MANGLE(MultTransposeMatrixf) | ||||
| #define glNamedBufferDataEXT		MANGLE(NamedBufferDataEXT) | ||||
| #define glNamedBufferSubDataEXT		MANGLE(NamedBufferSubDataEXT) | ||||
| #define glNamedCopyBufferSubDataEXT		MANGLE(NamedCopyBufferSubDataEXT) | ||||
| #define glNamedFramebufferRenderbufferEXT		MANGLE(NamedFramebufferRenderbufferEXT) | ||||
| #define glNamedFramebufferTexture1DEXT		MANGLE(NamedFramebufferTexture1DEXT) | ||||
| #define glNamedFramebufferTexture2DEXT		MANGLE(NamedFramebufferTexture2DEXT) | ||||
| @@ -1199,6 +1085,8 @@ | ||||
| #define glNamedFramebufferTextureEXT		MANGLE(NamedFramebufferTextureEXT) | ||||
| #define glNamedFramebufferTextureFaceEXT		MANGLE(NamedFramebufferTextureFaceEXT) | ||||
| #define glNamedFramebufferTextureLayerEXT		MANGLE(NamedFramebufferTextureLayerEXT) | ||||
| #define glNamedMakeBufferNonResidentNV		MANGLE(NamedMakeBufferNonResidentNV) | ||||
| #define glNamedMakeBufferResidentNV		MANGLE(NamedMakeBufferResidentNV) | ||||
| #define glNamedProgramLocalParameter4dEXT		MANGLE(NamedProgramLocalParameter4dEXT) | ||||
| #define glNamedProgramLocalParameter4dvEXT		MANGLE(NamedProgramLocalParameter4dvEXT) | ||||
| #define glNamedProgramLocalParameter4fEXT		MANGLE(NamedProgramLocalParameter4fEXT) | ||||
| @@ -1214,7 +1102,6 @@ | ||||
| #define glNamedRenderbufferStorageEXT		MANGLE(NamedRenderbufferStorageEXT) | ||||
| #define glNamedRenderbufferStorageMultisampleCoverageEXT		MANGLE(NamedRenderbufferStorageMultisampleCoverageEXT) | ||||
| #define glNamedRenderbufferStorageMultisampleEXT		MANGLE(NamedRenderbufferStorageMultisampleEXT) | ||||
| #define glNamedStringARB		MANGLE(NamedStringARB) | ||||
| #define glNewList		MANGLE(NewList) | ||||
| #define glNewObjectBufferATI		MANGLE(NewObjectBufferATI) | ||||
| #define glNormal3b		MANGLE(Normal3b) | ||||
| @@ -1232,8 +1119,6 @@ | ||||
| #define glNormal3s		MANGLE(Normal3s) | ||||
| #define glNormal3sv		MANGLE(Normal3sv) | ||||
| #define glNormalFormatNV		MANGLE(NormalFormatNV) | ||||
| #define glNormalP3ui		MANGLE(NormalP3ui) | ||||
| #define glNormalP3uiv		MANGLE(NormalP3uiv) | ||||
| #define glNormalPointerEXT		MANGLE(NormalPointerEXT) | ||||
| #define glNormalPointerListIBM		MANGLE(NormalPointerListIBM) | ||||
| #define glNormalPointer		MANGLE(NormalPointer) | ||||
| @@ -1253,9 +1138,6 @@ | ||||
| #define glOrtho		MANGLE(Ortho) | ||||
| #define glPassTexCoordATI		MANGLE(PassTexCoordATI) | ||||
| #define glPassThrough		MANGLE(PassThrough) | ||||
| #define glPatchParameterfv		MANGLE(PatchParameterfv) | ||||
| #define glPatchParameteri		MANGLE(PatchParameteri) | ||||
| #define glPauseTransformFeedback		MANGLE(PauseTransformFeedback) | ||||
| #define glPauseTransformFeedbackNV		MANGLE(PauseTransformFeedbackNV) | ||||
| #define glPixelDataRangeNV		MANGLE(PixelDataRangeNV) | ||||
| #define glPixelMapfv		MANGLE(PixelMapfv) | ||||
| @@ -1307,7 +1189,6 @@ | ||||
| #define glPrimitiveRestartNV		MANGLE(PrimitiveRestartNV) | ||||
| #define glPrioritizeTexturesEXT		MANGLE(PrioritizeTexturesEXT) | ||||
| #define glPrioritizeTextures		MANGLE(PrioritizeTextures) | ||||
| #define glProgramBinary		MANGLE(ProgramBinary) | ||||
| #define glProgramBufferParametersfvNV		MANGLE(ProgramBufferParametersfvNV) | ||||
| #define glProgramBufferParametersIivNV		MANGLE(ProgramBufferParametersIivNV) | ||||
| #define glProgramBufferParametersIuivNV		MANGLE(ProgramBufferParametersIuivNV) | ||||
| @@ -1348,123 +1229,39 @@ | ||||
| #define glProgramParameters4dvNV		MANGLE(ProgramParameters4dvNV) | ||||
| #define glProgramParameters4fvNV		MANGLE(ProgramParameters4fvNV) | ||||
| #define glProgramStringARB		MANGLE(ProgramStringARB) | ||||
| #define glProgramSubroutineParametersuivNV		MANGLE(ProgramSubroutineParametersuivNV) | ||||
| #define glProgramUniform1dEXT		MANGLE(ProgramUniform1dEXT) | ||||
| #define glProgramUniform1d		MANGLE(ProgramUniform1d) | ||||
| #define glProgramUniform1dvEXT		MANGLE(ProgramUniform1dvEXT) | ||||
| #define glProgramUniform1dv		MANGLE(ProgramUniform1dv) | ||||
| #define glProgramUniform1fEXT		MANGLE(ProgramUniform1fEXT) | ||||
| #define glProgramUniform1f		MANGLE(ProgramUniform1f) | ||||
| #define glProgramUniform1fvEXT		MANGLE(ProgramUniform1fvEXT) | ||||
| #define glProgramUniform1fv		MANGLE(ProgramUniform1fv) | ||||
| #define glProgramUniform1i64NV		MANGLE(ProgramUniform1i64NV) | ||||
| #define glProgramUniform1i64vNV		MANGLE(ProgramUniform1i64vNV) | ||||
| #define glProgramUniform1iEXT		MANGLE(ProgramUniform1iEXT) | ||||
| #define glProgramUniform1i		MANGLE(ProgramUniform1i) | ||||
| #define glProgramUniform1ivEXT		MANGLE(ProgramUniform1ivEXT) | ||||
| #define glProgramUniform1iv		MANGLE(ProgramUniform1iv) | ||||
| #define glProgramUniform1ui64NV		MANGLE(ProgramUniform1ui64NV) | ||||
| #define glProgramUniform1ui64vNV		MANGLE(ProgramUniform1ui64vNV) | ||||
| #define glProgramUniform1uiEXT		MANGLE(ProgramUniform1uiEXT) | ||||
| #define glProgramUniform1ui		MANGLE(ProgramUniform1ui) | ||||
| #define glProgramUniform1uivEXT		MANGLE(ProgramUniform1uivEXT) | ||||
| #define glProgramUniform1uiv		MANGLE(ProgramUniform1uiv) | ||||
| #define glProgramUniform2dEXT		MANGLE(ProgramUniform2dEXT) | ||||
| #define glProgramUniform2d		MANGLE(ProgramUniform2d) | ||||
| #define glProgramUniform2dvEXT		MANGLE(ProgramUniform2dvEXT) | ||||
| #define glProgramUniform2dv		MANGLE(ProgramUniform2dv) | ||||
| #define glProgramUniform2fEXT		MANGLE(ProgramUniform2fEXT) | ||||
| #define glProgramUniform2f		MANGLE(ProgramUniform2f) | ||||
| #define glProgramUniform2fvEXT		MANGLE(ProgramUniform2fvEXT) | ||||
| #define glProgramUniform2fv		MANGLE(ProgramUniform2fv) | ||||
| #define glProgramUniform2i64NV		MANGLE(ProgramUniform2i64NV) | ||||
| #define glProgramUniform2i64vNV		MANGLE(ProgramUniform2i64vNV) | ||||
| #define glProgramUniform2iEXT		MANGLE(ProgramUniform2iEXT) | ||||
| #define glProgramUniform2i		MANGLE(ProgramUniform2i) | ||||
| #define glProgramUniform2ivEXT		MANGLE(ProgramUniform2ivEXT) | ||||
| #define glProgramUniform2iv		MANGLE(ProgramUniform2iv) | ||||
| #define glProgramUniform2ui64NV		MANGLE(ProgramUniform2ui64NV) | ||||
| #define glProgramUniform2ui64vNV		MANGLE(ProgramUniform2ui64vNV) | ||||
| #define glProgramUniform2uiEXT		MANGLE(ProgramUniform2uiEXT) | ||||
| #define glProgramUniform2ui		MANGLE(ProgramUniform2ui) | ||||
| #define glProgramUniform2uivEXT		MANGLE(ProgramUniform2uivEXT) | ||||
| #define glProgramUniform2uiv		MANGLE(ProgramUniform2uiv) | ||||
| #define glProgramUniform3dEXT		MANGLE(ProgramUniform3dEXT) | ||||
| #define glProgramUniform3d		MANGLE(ProgramUniform3d) | ||||
| #define glProgramUniform3dvEXT		MANGLE(ProgramUniform3dvEXT) | ||||
| #define glProgramUniform3dv		MANGLE(ProgramUniform3dv) | ||||
| #define glProgramUniform3fEXT		MANGLE(ProgramUniform3fEXT) | ||||
| #define glProgramUniform3f		MANGLE(ProgramUniform3f) | ||||
| #define glProgramUniform3fvEXT		MANGLE(ProgramUniform3fvEXT) | ||||
| #define glProgramUniform3fv		MANGLE(ProgramUniform3fv) | ||||
| #define glProgramUniform3i64NV		MANGLE(ProgramUniform3i64NV) | ||||
| #define glProgramUniform3i64vNV		MANGLE(ProgramUniform3i64vNV) | ||||
| #define glProgramUniform3iEXT		MANGLE(ProgramUniform3iEXT) | ||||
| #define glProgramUniform3i		MANGLE(ProgramUniform3i) | ||||
| #define glProgramUniform3ivEXT		MANGLE(ProgramUniform3ivEXT) | ||||
| #define glProgramUniform3iv		MANGLE(ProgramUniform3iv) | ||||
| #define glProgramUniform3ui64NV		MANGLE(ProgramUniform3ui64NV) | ||||
| #define glProgramUniform3ui64vNV		MANGLE(ProgramUniform3ui64vNV) | ||||
| #define glProgramUniform3uiEXT		MANGLE(ProgramUniform3uiEXT) | ||||
| #define glProgramUniform3ui		MANGLE(ProgramUniform3ui) | ||||
| #define glProgramUniform3uivEXT		MANGLE(ProgramUniform3uivEXT) | ||||
| #define glProgramUniform3uiv		MANGLE(ProgramUniform3uiv) | ||||
| #define glProgramUniform4dEXT		MANGLE(ProgramUniform4dEXT) | ||||
| #define glProgramUniform4d		MANGLE(ProgramUniform4d) | ||||
| #define glProgramUniform4dvEXT		MANGLE(ProgramUniform4dvEXT) | ||||
| #define glProgramUniform4dv		MANGLE(ProgramUniform4dv) | ||||
| #define glProgramUniform4fEXT		MANGLE(ProgramUniform4fEXT) | ||||
| #define glProgramUniform4f		MANGLE(ProgramUniform4f) | ||||
| #define glProgramUniform4fvEXT		MANGLE(ProgramUniform4fvEXT) | ||||
| #define glProgramUniform4fv		MANGLE(ProgramUniform4fv) | ||||
| #define glProgramUniform4i64NV		MANGLE(ProgramUniform4i64NV) | ||||
| #define glProgramUniform4i64vNV		MANGLE(ProgramUniform4i64vNV) | ||||
| #define glProgramUniform4iEXT		MANGLE(ProgramUniform4iEXT) | ||||
| #define glProgramUniform4i		MANGLE(ProgramUniform4i) | ||||
| #define glProgramUniform4ivEXT		MANGLE(ProgramUniform4ivEXT) | ||||
| #define glProgramUniform4iv		MANGLE(ProgramUniform4iv) | ||||
| #define glProgramUniform4ui64NV		MANGLE(ProgramUniform4ui64NV) | ||||
| #define glProgramUniform4ui64vNV		MANGLE(ProgramUniform4ui64vNV) | ||||
| #define glProgramUniform4uiEXT		MANGLE(ProgramUniform4uiEXT) | ||||
| #define glProgramUniform4ui		MANGLE(ProgramUniform4ui) | ||||
| #define glProgramUniform4uivEXT		MANGLE(ProgramUniform4uivEXT) | ||||
| #define glProgramUniform4uiv		MANGLE(ProgramUniform4uiv) | ||||
| #define glProgramUniformMatrix2dvEXT		MANGLE(ProgramUniformMatrix2dvEXT) | ||||
| #define glProgramUniformMatrix2dv		MANGLE(ProgramUniformMatrix2dv) | ||||
| #define glProgramUniformMatrix2fvEXT		MANGLE(ProgramUniformMatrix2fvEXT) | ||||
| #define glProgramUniformMatrix2fv		MANGLE(ProgramUniformMatrix2fv) | ||||
| #define glProgramUniformMatrix2x3dvEXT		MANGLE(ProgramUniformMatrix2x3dvEXT) | ||||
| #define glProgramUniformMatrix2x3dv		MANGLE(ProgramUniformMatrix2x3dv) | ||||
| #define glProgramUniformMatrix2x3fvEXT		MANGLE(ProgramUniformMatrix2x3fvEXT) | ||||
| #define glProgramUniformMatrix2x3fv		MANGLE(ProgramUniformMatrix2x3fv) | ||||
| #define glProgramUniformMatrix2x4dvEXT		MANGLE(ProgramUniformMatrix2x4dvEXT) | ||||
| #define glProgramUniformMatrix2x4dv		MANGLE(ProgramUniformMatrix2x4dv) | ||||
| #define glProgramUniformMatrix2x4fvEXT		MANGLE(ProgramUniformMatrix2x4fvEXT) | ||||
| #define glProgramUniformMatrix2x4fv		MANGLE(ProgramUniformMatrix2x4fv) | ||||
| #define glProgramUniformMatrix3dvEXT		MANGLE(ProgramUniformMatrix3dvEXT) | ||||
| #define glProgramUniformMatrix3dv		MANGLE(ProgramUniformMatrix3dv) | ||||
| #define glProgramUniformMatrix3fvEXT		MANGLE(ProgramUniformMatrix3fvEXT) | ||||
| #define glProgramUniformMatrix3fv		MANGLE(ProgramUniformMatrix3fv) | ||||
| #define glProgramUniformMatrix3x2dvEXT		MANGLE(ProgramUniformMatrix3x2dvEXT) | ||||
| #define glProgramUniformMatrix3x2dv		MANGLE(ProgramUniformMatrix3x2dv) | ||||
| #define glProgramUniformMatrix3x2fvEXT		MANGLE(ProgramUniformMatrix3x2fvEXT) | ||||
| #define glProgramUniformMatrix3x2fv		MANGLE(ProgramUniformMatrix3x2fv) | ||||
| #define glProgramUniformMatrix3x4dvEXT		MANGLE(ProgramUniformMatrix3x4dvEXT) | ||||
| #define glProgramUniformMatrix3x4dv		MANGLE(ProgramUniformMatrix3x4dv) | ||||
| #define glProgramUniformMatrix3x4fvEXT		MANGLE(ProgramUniformMatrix3x4fvEXT) | ||||
| #define glProgramUniformMatrix3x4fv		MANGLE(ProgramUniformMatrix3x4fv) | ||||
| #define glProgramUniformMatrix4dvEXT		MANGLE(ProgramUniformMatrix4dvEXT) | ||||
| #define glProgramUniformMatrix4dv		MANGLE(ProgramUniformMatrix4dv) | ||||
| #define glProgramUniformMatrix4fvEXT		MANGLE(ProgramUniformMatrix4fvEXT) | ||||
| #define glProgramUniformMatrix4fv		MANGLE(ProgramUniformMatrix4fv) | ||||
| #define glProgramUniformMatrix4x2dvEXT		MANGLE(ProgramUniformMatrix4x2dvEXT) | ||||
| #define glProgramUniformMatrix4x2dv		MANGLE(ProgramUniformMatrix4x2dv) | ||||
| #define glProgramUniformMatrix4x2fvEXT		MANGLE(ProgramUniformMatrix4x2fvEXT) | ||||
| #define glProgramUniformMatrix4x2fv		MANGLE(ProgramUniformMatrix4x2fv) | ||||
| #define glProgramUniformMatrix4x3dvEXT		MANGLE(ProgramUniformMatrix4x3dvEXT) | ||||
| #define glProgramUniformMatrix4x3dv		MANGLE(ProgramUniformMatrix4x3dv) | ||||
| #define glProgramUniformMatrix4x3fvEXT		MANGLE(ProgramUniformMatrix4x3fvEXT) | ||||
| #define glProgramUniformMatrix4x3fv		MANGLE(ProgramUniformMatrix4x3fv) | ||||
| #define glProgramUniformui64NV		MANGLE(ProgramUniformui64NV) | ||||
| #define glProgramUniformui64vNV		MANGLE(ProgramUniformui64vNV) | ||||
| #define glProgramVertexLimitNV		MANGLE(ProgramVertexLimitNV) | ||||
| @@ -1475,7 +1272,6 @@ | ||||
| #define glPushClientAttrib		MANGLE(PushClientAttrib) | ||||
| #define glPushMatrix		MANGLE(PushMatrix) | ||||
| #define glPushName		MANGLE(PushName) | ||||
| #define glQueryCounter		MANGLE(QueryCounter) | ||||
| #define glRasterPos2d		MANGLE(RasterPos2d) | ||||
| #define glRasterPos2dv		MANGLE(RasterPos2dv) | ||||
| #define glRasterPos2f		MANGLE(RasterPos2f) | ||||
| @@ -1502,7 +1298,6 @@ | ||||
| #define glRasterPos4sv		MANGLE(RasterPos4sv) | ||||
| #define glReadBuffer		MANGLE(ReadBuffer) | ||||
| #define glReadInstrumentsSGIX		MANGLE(ReadInstrumentsSGIX) | ||||
| #define glReadnPixelsARB		MANGLE(ReadnPixelsARB) | ||||
| #define glReadPixels		MANGLE(ReadPixels) | ||||
| #define glRectd		MANGLE(Rectd) | ||||
| #define glRectdv		MANGLE(Rectdv) | ||||
| @@ -1513,7 +1308,6 @@ | ||||
| #define glRects		MANGLE(Rects) | ||||
| #define glRectsv		MANGLE(Rectsv) | ||||
| #define glReferencePlaneSGIX		MANGLE(ReferencePlaneSGIX) | ||||
| #define glReleaseShaderCompiler		MANGLE(ReleaseShaderCompiler) | ||||
| #define glRenderbufferStorageEXT		MANGLE(RenderbufferStorageEXT) | ||||
| #define glRenderbufferStorage		MANGLE(RenderbufferStorage) | ||||
| #define glRenderbufferStorageMultisampleCoverageNV		MANGLE(RenderbufferStorageMultisampleCoverageNV) | ||||
| @@ -1549,7 +1343,6 @@ | ||||
| #define glResetMinmaxEXT		MANGLE(ResetMinmaxEXT) | ||||
| #define glResetMinmax		MANGLE(ResetMinmax) | ||||
| #define glResizeBuffersMESA		MANGLE(ResizeBuffersMESA) | ||||
| #define glResumeTransformFeedback		MANGLE(ResumeTransformFeedback) | ||||
| #define glResumeTransformFeedbackNV		MANGLE(ResumeTransformFeedbackNV) | ||||
| #define glRotated		MANGLE(Rotated) | ||||
| #define glRotatef		MANGLE(Rotatef) | ||||
| @@ -1562,17 +1355,8 @@ | ||||
| #define glSampleMaskSGIS		MANGLE(SampleMaskSGIS) | ||||
| #define glSamplePatternEXT		MANGLE(SamplePatternEXT) | ||||
| #define glSamplePatternSGIS		MANGLE(SamplePatternSGIS) | ||||
| #define glSamplerParameterf		MANGLE(SamplerParameterf) | ||||
| #define glSamplerParameterfv		MANGLE(SamplerParameterfv) | ||||
| #define glSamplerParameterIiv		MANGLE(SamplerParameterIiv) | ||||
| #define glSamplerParameteri		MANGLE(SamplerParameteri) | ||||
| #define glSamplerParameterIuiv		MANGLE(SamplerParameterIuiv) | ||||
| #define glSamplerParameteriv		MANGLE(SamplerParameteriv) | ||||
| #define glScaled		MANGLE(Scaled) | ||||
| #define glScalef		MANGLE(Scalef) | ||||
| #define glScissorArrayv		MANGLE(ScissorArrayv) | ||||
| #define glScissorIndexed		MANGLE(ScissorIndexed) | ||||
| #define glScissorIndexedv		MANGLE(ScissorIndexedv) | ||||
| #define glScissor		MANGLE(Scissor) | ||||
| #define glSecondaryColor3bEXT		MANGLE(SecondaryColor3bEXT) | ||||
| #define glSecondaryColor3b		MANGLE(SecondaryColor3b) | ||||
| @@ -1609,8 +1393,6 @@ | ||||
| #define glSecondaryColor3usvEXT		MANGLE(SecondaryColor3usvEXT) | ||||
| #define glSecondaryColor3usv		MANGLE(SecondaryColor3usv) | ||||
| #define glSecondaryColorFormatNV		MANGLE(SecondaryColorFormatNV) | ||||
| #define glSecondaryColorP3ui		MANGLE(SecondaryColorP3ui) | ||||
| #define glSecondaryColorP3uiv		MANGLE(SecondaryColorP3uiv) | ||||
| #define glSecondaryColorPointerEXT		MANGLE(SecondaryColorPointerEXT) | ||||
| #define glSecondaryColorPointerListIBM		MANGLE(SecondaryColorPointerListIBM) | ||||
| #define glSecondaryColorPointer		MANGLE(SecondaryColorPointer) | ||||
| @@ -1624,7 +1406,6 @@ | ||||
| #define glSetInvariantEXT		MANGLE(SetInvariantEXT) | ||||
| #define glSetLocalConstantEXT		MANGLE(SetLocalConstantEXT) | ||||
| #define glShadeModel		MANGLE(ShadeModel) | ||||
| #define glShaderBinary		MANGLE(ShaderBinary) | ||||
| #define glShaderOp1EXT		MANGLE(ShaderOp1EXT) | ||||
| #define glShaderOp2EXT		MANGLE(ShaderOp2EXT) | ||||
| #define glShaderOp3EXT		MANGLE(ShaderOp3EXT) | ||||
| @@ -1726,14 +1507,6 @@ | ||||
| #define glTexCoord4s		MANGLE(TexCoord4s) | ||||
| #define glTexCoord4sv		MANGLE(TexCoord4sv) | ||||
| #define glTexCoordFormatNV		MANGLE(TexCoordFormatNV) | ||||
| #define glTexCoordP1ui		MANGLE(TexCoordP1ui) | ||||
| #define glTexCoordP1uiv		MANGLE(TexCoordP1uiv) | ||||
| #define glTexCoordP2ui		MANGLE(TexCoordP2ui) | ||||
| #define glTexCoordP2uiv		MANGLE(TexCoordP2uiv) | ||||
| #define glTexCoordP3ui		MANGLE(TexCoordP3ui) | ||||
| #define glTexCoordP3uiv		MANGLE(TexCoordP3uiv) | ||||
| #define glTexCoordP4ui		MANGLE(TexCoordP4ui) | ||||
| #define glTexCoordP4uiv		MANGLE(TexCoordP4uiv) | ||||
| #define glTexCoordPointerEXT		MANGLE(TexCoordPointerEXT) | ||||
| #define glTexCoordPointerListIBM		MANGLE(TexCoordPointerListIBM) | ||||
| #define glTexCoordPointer		MANGLE(TexCoordPointer) | ||||
| @@ -1794,108 +1567,73 @@ | ||||
| #define glTextureSubImage3DEXT		MANGLE(TextureSubImage3DEXT) | ||||
| #define glTrackMatrixNV		MANGLE(TrackMatrixNV) | ||||
| #define glTransformFeedbackAttribsNV		MANGLE(TransformFeedbackAttribsNV) | ||||
| #define glTransformFeedbackStreamAttribsNV		MANGLE(TransformFeedbackStreamAttribsNV) | ||||
| #define glTransformFeedbackVaryingsEXT		MANGLE(TransformFeedbackVaryingsEXT) | ||||
| #define glTransformFeedbackVaryings		MANGLE(TransformFeedbackVaryings) | ||||
| #define glTransformFeedbackVaryingsNV		MANGLE(TransformFeedbackVaryingsNV) | ||||
| #define glTranslated		MANGLE(Translated) | ||||
| #define glTranslatef		MANGLE(Translatef) | ||||
| #define glUniform1d		MANGLE(Uniform1d) | ||||
| #define glUniform1dv		MANGLE(Uniform1dv) | ||||
| #define glUniform1fARB		MANGLE(Uniform1fARB) | ||||
| #define glUniform1f		MANGLE(Uniform1f) | ||||
| #define glUniform1fvARB		MANGLE(Uniform1fvARB) | ||||
| #define glUniform1fv		MANGLE(Uniform1fv) | ||||
| #define glUniform1i64NV		MANGLE(Uniform1i64NV) | ||||
| #define glUniform1i64vNV		MANGLE(Uniform1i64vNV) | ||||
| #define glUniform1iARB		MANGLE(Uniform1iARB) | ||||
| #define glUniform1i		MANGLE(Uniform1i) | ||||
| #define glUniform1ivARB		MANGLE(Uniform1ivARB) | ||||
| #define glUniform1iv		MANGLE(Uniform1iv) | ||||
| #define glUniform1ui64NV		MANGLE(Uniform1ui64NV) | ||||
| #define glUniform1ui64vNV		MANGLE(Uniform1ui64vNV) | ||||
| #define glUniform1uiEXT		MANGLE(Uniform1uiEXT) | ||||
| #define glUniform1ui		MANGLE(Uniform1ui) | ||||
| #define glUniform1uivEXT		MANGLE(Uniform1uivEXT) | ||||
| #define glUniform1uiv		MANGLE(Uniform1uiv) | ||||
| #define glUniform2d		MANGLE(Uniform2d) | ||||
| #define glUniform2dv		MANGLE(Uniform2dv) | ||||
| #define glUniform2fARB		MANGLE(Uniform2fARB) | ||||
| #define glUniform2f		MANGLE(Uniform2f) | ||||
| #define glUniform2fvARB		MANGLE(Uniform2fvARB) | ||||
| #define glUniform2fv		MANGLE(Uniform2fv) | ||||
| #define glUniform2i64NV		MANGLE(Uniform2i64NV) | ||||
| #define glUniform2i64vNV		MANGLE(Uniform2i64vNV) | ||||
| #define glUniform2iARB		MANGLE(Uniform2iARB) | ||||
| #define glUniform2i		MANGLE(Uniform2i) | ||||
| #define glUniform2ivARB		MANGLE(Uniform2ivARB) | ||||
| #define glUniform2iv		MANGLE(Uniform2iv) | ||||
| #define glUniform2ui64NV		MANGLE(Uniform2ui64NV) | ||||
| #define glUniform2ui64vNV		MANGLE(Uniform2ui64vNV) | ||||
| #define glUniform2uiEXT		MANGLE(Uniform2uiEXT) | ||||
| #define glUniform2ui		MANGLE(Uniform2ui) | ||||
| #define glUniform2uivEXT		MANGLE(Uniform2uivEXT) | ||||
| #define glUniform2uiv		MANGLE(Uniform2uiv) | ||||
| #define glUniform3d		MANGLE(Uniform3d) | ||||
| #define glUniform3dv		MANGLE(Uniform3dv) | ||||
| #define glUniform3fARB		MANGLE(Uniform3fARB) | ||||
| #define glUniform3f		MANGLE(Uniform3f) | ||||
| #define glUniform3fvARB		MANGLE(Uniform3fvARB) | ||||
| #define glUniform3fv		MANGLE(Uniform3fv) | ||||
| #define glUniform3i64NV		MANGLE(Uniform3i64NV) | ||||
| #define glUniform3i64vNV		MANGLE(Uniform3i64vNV) | ||||
| #define glUniform3iARB		MANGLE(Uniform3iARB) | ||||
| #define glUniform3i		MANGLE(Uniform3i) | ||||
| #define glUniform3ivARB		MANGLE(Uniform3ivARB) | ||||
| #define glUniform3iv		MANGLE(Uniform3iv) | ||||
| #define glUniform3ui64NV		MANGLE(Uniform3ui64NV) | ||||
| #define glUniform3ui64vNV		MANGLE(Uniform3ui64vNV) | ||||
| #define glUniform3uiEXT		MANGLE(Uniform3uiEXT) | ||||
| #define glUniform3ui		MANGLE(Uniform3ui) | ||||
| #define glUniform3uivEXT		MANGLE(Uniform3uivEXT) | ||||
| #define glUniform3uiv		MANGLE(Uniform3uiv) | ||||
| #define glUniform4d		MANGLE(Uniform4d) | ||||
| #define glUniform4dv		MANGLE(Uniform4dv) | ||||
| #define glUniform4fARB		MANGLE(Uniform4fARB) | ||||
| #define glUniform4f		MANGLE(Uniform4f) | ||||
| #define glUniform4fvARB		MANGLE(Uniform4fvARB) | ||||
| #define glUniform4fv		MANGLE(Uniform4fv) | ||||
| #define glUniform4i64NV		MANGLE(Uniform4i64NV) | ||||
| #define glUniform4i64vNV		MANGLE(Uniform4i64vNV) | ||||
| #define glUniform4iARB		MANGLE(Uniform4iARB) | ||||
| #define glUniform4i		MANGLE(Uniform4i) | ||||
| #define glUniform4ivARB		MANGLE(Uniform4ivARB) | ||||
| #define glUniform4iv		MANGLE(Uniform4iv) | ||||
| #define glUniform4ui64NV		MANGLE(Uniform4ui64NV) | ||||
| #define glUniform4ui64vNV		MANGLE(Uniform4ui64vNV) | ||||
| #define glUniform4uiEXT		MANGLE(Uniform4uiEXT) | ||||
| #define glUniform4ui		MANGLE(Uniform4ui) | ||||
| #define glUniform4uivEXT		MANGLE(Uniform4uivEXT) | ||||
| #define glUniform4uiv		MANGLE(Uniform4uiv) | ||||
| #define glUniformBlockBinding		MANGLE(UniformBlockBinding) | ||||
| #define glUniformBufferEXT		MANGLE(UniformBufferEXT) | ||||
| #define glUniformMatrix2dv		MANGLE(UniformMatrix2dv) | ||||
| #define glUniformMatrix2fvARB		MANGLE(UniformMatrix2fvARB) | ||||
| #define glUniformMatrix2fv		MANGLE(UniformMatrix2fv) | ||||
| #define glUniformMatrix2x3dv		MANGLE(UniformMatrix2x3dv) | ||||
| #define glUniformMatrix2x3fv		MANGLE(UniformMatrix2x3fv) | ||||
| #define glUniformMatrix2x4dv		MANGLE(UniformMatrix2x4dv) | ||||
| #define glUniformMatrix2x4fv		MANGLE(UniformMatrix2x4fv) | ||||
| #define glUniformMatrix3dv		MANGLE(UniformMatrix3dv) | ||||
| #define glUniformMatrix3fvARB		MANGLE(UniformMatrix3fvARB) | ||||
| #define glUniformMatrix3fv		MANGLE(UniformMatrix3fv) | ||||
| #define glUniformMatrix3x2dv		MANGLE(UniformMatrix3x2dv) | ||||
| #define glUniformMatrix3x2fv		MANGLE(UniformMatrix3x2fv) | ||||
| #define glUniformMatrix3x4dv		MANGLE(UniformMatrix3x4dv) | ||||
| #define glUniformMatrix3x4fv		MANGLE(UniformMatrix3x4fv) | ||||
| #define glUniformMatrix4dv		MANGLE(UniformMatrix4dv) | ||||
| #define glUniformMatrix4fvARB		MANGLE(UniformMatrix4fvARB) | ||||
| #define glUniformMatrix4fv		MANGLE(UniformMatrix4fv) | ||||
| #define glUniformMatrix4x2dv		MANGLE(UniformMatrix4x2dv) | ||||
| #define glUniformMatrix4x2fv		MANGLE(UniformMatrix4x2fv) | ||||
| #define glUniformMatrix4x3dv		MANGLE(UniformMatrix4x3dv) | ||||
| #define glUniformMatrix4x3fv		MANGLE(UniformMatrix4x3fv) | ||||
| #define glUniformSubroutinesuiv		MANGLE(UniformSubroutinesuiv) | ||||
| #define glUniformui64NV		MANGLE(Uniformui64NV) | ||||
| #define glUniformui64vNV		MANGLE(Uniformui64vNV) | ||||
| #define glUnlockArraysEXT		MANGLE(UnlockArraysEXT) | ||||
| @@ -1906,11 +1644,9 @@ | ||||
| #define glUpdateObjectBufferATI		MANGLE(UpdateObjectBufferATI) | ||||
| #define glUseProgram		MANGLE(UseProgram) | ||||
| #define glUseProgramObjectARB		MANGLE(UseProgramObjectARB) | ||||
| #define glUseProgramStages		MANGLE(UseProgramStages) | ||||
| #define glUseShaderProgramEXT		MANGLE(UseShaderProgramEXT) | ||||
| #define glValidateProgramARB		MANGLE(ValidateProgramARB) | ||||
| #define glValidateProgram		MANGLE(ValidateProgram) | ||||
| #define glValidateProgramPipeline		MANGLE(ValidateProgramPipeline) | ||||
| #define glVariantArrayObjectATI		MANGLE(VariantArrayObjectATI) | ||||
| #define glVariantbvEXT		MANGLE(VariantbvEXT) | ||||
| #define glVariantdvEXT		MANGLE(VariantdvEXT) | ||||
| @@ -1921,16 +1657,6 @@ | ||||
| #define glVariantubvEXT		MANGLE(VariantubvEXT) | ||||
| #define glVariantuivEXT		MANGLE(VariantuivEXT) | ||||
| #define glVariantusvEXT		MANGLE(VariantusvEXT) | ||||
| #define glVDPAUFiniNV		MANGLE(VDPAUFiniNV) | ||||
| #define glVDPAUGetSurfaceivNV		MANGLE(VDPAUGetSurfaceivNV) | ||||
| #define glVDPAUInitNV		MANGLE(VDPAUInitNV) | ||||
| #define glVDPAUIsSurfaceNV		MANGLE(VDPAUIsSurfaceNV) | ||||
| #define glVDPAUMapSurfacesNV		MANGLE(VDPAUMapSurfacesNV) | ||||
| #define glVDPAURegisterOutputSurfaceNV		MANGLE(VDPAURegisterOutputSurfaceNV) | ||||
| #define glVDPAURegisterVideoSurfaceNV		MANGLE(VDPAURegisterVideoSurfaceNV) | ||||
| #define glVDPAUSurfaceAccessNV		MANGLE(VDPAUSurfaceAccessNV) | ||||
| #define glVDPAUUnmapSurfacesNV		MANGLE(VDPAUUnmapSurfacesNV) | ||||
| #define glVDPAUUnregisterSurfaceNV		MANGLE(VDPAUUnregisterSurfaceNV) | ||||
| #define glVertex2d		MANGLE(Vertex2d) | ||||
| #define glVertex2dv		MANGLE(Vertex2dv) | ||||
| #define glVertex2f		MANGLE(Vertex2f) | ||||
| @@ -1964,7 +1690,6 @@ | ||||
| #define glVertexArrayParameteriAPPLE		MANGLE(VertexArrayParameteriAPPLE) | ||||
| #define glVertexArrayRangeAPPLE		MANGLE(VertexArrayRangeAPPLE) | ||||
| #define glVertexArrayRangeNV		MANGLE(VertexArrayRangeNV) | ||||
| #define glVertexArrayVertexAttribLOffsetEXT		MANGLE(VertexArrayVertexAttribLOffsetEXT) | ||||
| #define glVertexAttrib1dARB		MANGLE(VertexAttrib1dARB) | ||||
| #define glVertexAttrib1d		MANGLE(VertexAttrib1d) | ||||
| #define glVertexAttrib1dNV		MANGLE(VertexAttrib1dNV) | ||||
| @@ -2073,7 +1798,6 @@ | ||||
| #define glVertexAttrib4usv		MANGLE(VertexAttrib4usv) | ||||
| #define glVertexAttribArrayObjectATI		MANGLE(VertexAttribArrayObjectATI) | ||||
| #define glVertexAttribDivisorARB		MANGLE(VertexAttribDivisorARB) | ||||
| #define glVertexAttribDivisor		MANGLE(VertexAttribDivisor) | ||||
| #define glVertexAttribFormatNV		MANGLE(VertexAttribFormatNV) | ||||
| #define glVertexAttribI1iEXT		MANGLE(VertexAttribI1iEXT) | ||||
| #define glVertexAttribI1i		MANGLE(VertexAttribI1i) | ||||
| @@ -2118,49 +1842,6 @@ | ||||
| #define glVertexAttribIFormatNV		MANGLE(VertexAttribIFormatNV) | ||||
| #define glVertexAttribIPointerEXT		MANGLE(VertexAttribIPointerEXT) | ||||
| #define glVertexAttribIPointer		MANGLE(VertexAttribIPointer) | ||||
| #define glVertexAttribL1dEXT		MANGLE(VertexAttribL1dEXT) | ||||
| #define glVertexAttribL1d		MANGLE(VertexAttribL1d) | ||||
| #define glVertexAttribL1dvEXT		MANGLE(VertexAttribL1dvEXT) | ||||
| #define glVertexAttribL1dv		MANGLE(VertexAttribL1dv) | ||||
| #define glVertexAttribL1i64NV		MANGLE(VertexAttribL1i64NV) | ||||
| #define glVertexAttribL1i64vNV		MANGLE(VertexAttribL1i64vNV) | ||||
| #define glVertexAttribL1ui64NV		MANGLE(VertexAttribL1ui64NV) | ||||
| #define glVertexAttribL1ui64vNV		MANGLE(VertexAttribL1ui64vNV) | ||||
| #define glVertexAttribL2dEXT		MANGLE(VertexAttribL2dEXT) | ||||
| #define glVertexAttribL2d		MANGLE(VertexAttribL2d) | ||||
| #define glVertexAttribL2dvEXT		MANGLE(VertexAttribL2dvEXT) | ||||
| #define glVertexAttribL2dv		MANGLE(VertexAttribL2dv) | ||||
| #define glVertexAttribL2i64NV		MANGLE(VertexAttribL2i64NV) | ||||
| #define glVertexAttribL2i64vNV		MANGLE(VertexAttribL2i64vNV) | ||||
| #define glVertexAttribL2ui64NV		MANGLE(VertexAttribL2ui64NV) | ||||
| #define glVertexAttribL2ui64vNV		MANGLE(VertexAttribL2ui64vNV) | ||||
| #define glVertexAttribL3dEXT		MANGLE(VertexAttribL3dEXT) | ||||
| #define glVertexAttribL3d		MANGLE(VertexAttribL3d) | ||||
| #define glVertexAttribL3dvEXT		MANGLE(VertexAttribL3dvEXT) | ||||
| #define glVertexAttribL3dv		MANGLE(VertexAttribL3dv) | ||||
| #define glVertexAttribL3i64NV		MANGLE(VertexAttribL3i64NV) | ||||
| #define glVertexAttribL3i64vNV		MANGLE(VertexAttribL3i64vNV) | ||||
| #define glVertexAttribL3ui64NV		MANGLE(VertexAttribL3ui64NV) | ||||
| #define glVertexAttribL3ui64vNV		MANGLE(VertexAttribL3ui64vNV) | ||||
| #define glVertexAttribL4dEXT		MANGLE(VertexAttribL4dEXT) | ||||
| #define glVertexAttribL4d		MANGLE(VertexAttribL4d) | ||||
| #define glVertexAttribL4dvEXT		MANGLE(VertexAttribL4dvEXT) | ||||
| #define glVertexAttribL4dv		MANGLE(VertexAttribL4dv) | ||||
| #define glVertexAttribL4i64NV		MANGLE(VertexAttribL4i64NV) | ||||
| #define glVertexAttribL4i64vNV		MANGLE(VertexAttribL4i64vNV) | ||||
| #define glVertexAttribL4ui64NV		MANGLE(VertexAttribL4ui64NV) | ||||
| #define glVertexAttribL4ui64vNV		MANGLE(VertexAttribL4ui64vNV) | ||||
| #define glVertexAttribLFormatNV		MANGLE(VertexAttribLFormatNV) | ||||
| #define glVertexAttribLPointerEXT		MANGLE(VertexAttribLPointerEXT) | ||||
| #define glVertexAttribLPointer		MANGLE(VertexAttribLPointer) | ||||
| #define glVertexAttribP1ui		MANGLE(VertexAttribP1ui) | ||||
| #define glVertexAttribP1uiv		MANGLE(VertexAttribP1uiv) | ||||
| #define glVertexAttribP2ui		MANGLE(VertexAttribP2ui) | ||||
| #define glVertexAttribP2uiv		MANGLE(VertexAttribP2uiv) | ||||
| #define glVertexAttribP3ui		MANGLE(VertexAttribP3ui) | ||||
| #define glVertexAttribP3uiv		MANGLE(VertexAttribP3uiv) | ||||
| #define glVertexAttribP4ui		MANGLE(VertexAttribP4ui) | ||||
| #define glVertexAttribP4uiv		MANGLE(VertexAttribP4uiv) | ||||
| #define glVertexAttribPointerARB		MANGLE(VertexAttribPointerARB) | ||||
| #define glVertexAttribPointer		MANGLE(VertexAttribPointer) | ||||
| #define glVertexAttribPointerNV		MANGLE(VertexAttribPointerNV) | ||||
| @@ -2185,12 +1866,6 @@ | ||||
| #define glVertexBlendEnvfATI		MANGLE(VertexBlendEnvfATI) | ||||
| #define glVertexBlendEnviATI		MANGLE(VertexBlendEnviATI) | ||||
| #define glVertexFormatNV		MANGLE(VertexFormatNV) | ||||
| #define glVertexP2ui		MANGLE(VertexP2ui) | ||||
| #define glVertexP2uiv		MANGLE(VertexP2uiv) | ||||
| #define glVertexP3ui		MANGLE(VertexP3ui) | ||||
| #define glVertexP3uiv		MANGLE(VertexP3uiv) | ||||
| #define glVertexP4ui		MANGLE(VertexP4ui) | ||||
| #define glVertexP4uiv		MANGLE(VertexP4uiv) | ||||
| #define glVertexPointerEXT		MANGLE(VertexPointerEXT) | ||||
| #define glVertexPointerListIBM		MANGLE(VertexPointerListIBM) | ||||
| #define glVertexPointer		MANGLE(VertexPointer) | ||||
| @@ -2236,9 +1911,6 @@ | ||||
| #define glVideoCaptureStreamParameterdvNV		MANGLE(VideoCaptureStreamParameterdvNV) | ||||
| #define glVideoCaptureStreamParameterfvNV		MANGLE(VideoCaptureStreamParameterfvNV) | ||||
| #define glVideoCaptureStreamParameterivNV		MANGLE(VideoCaptureStreamParameterivNV) | ||||
| #define glViewportArrayv		MANGLE(ViewportArrayv) | ||||
| #define glViewportIndexedf		MANGLE(ViewportIndexedf) | ||||
| #define glViewportIndexedfv		MANGLE(ViewportIndexedfv) | ||||
| #define glViewport		MANGLE(Viewport) | ||||
| #define glWaitSync		MANGLE(WaitSync) | ||||
| #define glWeightbvARB		MANGLE(WeightbvARB) | ||||
|   | ||||
							
								
								
									
										12262
									
								
								include/GL/glew.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12262
									
								
								include/GL/glew.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										4826
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
							
						
						
									
										4826
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -27,9 +27,6 @@ | ||||
| #define GLFBDEV_H | ||||
|  | ||||
|  | ||||
| /* for size_t */ | ||||
| #include <stdlib.h> | ||||
|  | ||||
| /* avoid including linux/fb.h */ | ||||
| struct fb_fix_screeninfo; | ||||
| struct fb_var_screeninfo; | ||||
|   | ||||
| @@ -103,7 +103,7 @@ extern "C" { | ||||
| #	define GLUTAPI extern | ||||
| #endif | ||||
|  | ||||
| #elif defined(__GNUC__) | ||||
| #elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303 | ||||
|  | ||||
| #  define GLUTAPIENTRY | ||||
| #  define GLUTAPIENTRYV | ||||
| @@ -452,7 +452,8 @@ GLUTAPI void GLUTAPIENTRY glutInit(int *argcp, char **argv); | ||||
| #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) | ||||
| GLUTAPI void GLUTAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); | ||||
| #ifndef GLUT_BUILDING_LIB | ||||
| #define glutInit(__argcp, __argv) __glutInitWithExit(__argcp, __argv, exit) | ||||
| static void GLUTAPIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } | ||||
| #define glutInit glutInit_ATEXIT_HACK | ||||
| #endif | ||||
| #endif | ||||
| GLUTAPI void GLUTAPIENTRY glutInitDisplayMode(unsigned int mode); | ||||
| @@ -468,7 +469,8 @@ GLUTAPI int GLUTAPIENTRY glutCreateWindow(const char *title); | ||||
| #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) | ||||
| GLUTAPI int GLUTAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); | ||||
| #ifndef GLUT_BUILDING_LIB | ||||
| #define glutCreateWindow(__title) __glutCreateWindowWithExit(__title, exit) | ||||
| static int GLUTAPIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } | ||||
| #define glutCreateWindow glutCreateWindow_ATEXIT_HACK | ||||
| #endif | ||||
| #endif | ||||
| GLUTAPI int GLUTAPIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); | ||||
| @@ -513,7 +515,8 @@ GLUTAPI int GLUTAPIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int)); | ||||
| #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) | ||||
| GLUTAPI int GLUTAPIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int)); | ||||
| #ifndef GLUT_BUILDING_LIB | ||||
| #define glutCreateMenu(__func) __glutCreateMenuWithExit(__func, exit) | ||||
| static int GLUTAPIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); } | ||||
| #define glutCreateMenu glutCreateMenu_ATEXIT_HACK | ||||
| #endif | ||||
| #endif | ||||
| GLUTAPI void GLUTAPIENTRY glutDestroyMenu(int menu); | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user