From b7db2fa2de9adae6671305f55076cb54df75986e Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Jan 01 2008 05:46:09 +0000 Subject: - update to Mesa 7.0.2 final - mesa-7.0.2-rx00-vertprog-num-temps-off-by-one.patch - fixes for maniadrive - mesa-7.0.2-t_vp_build-use-less-temps.patch - fixes for maniadrive --- diff --git a/.cvsignore b/.cvsignore index 5bf1add..4b94f13 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,5 @@ MesaLib-7.0.1.tar.bz2 MesaDemos-7.0.1.tar.bz2 gl-manpages-1.0.1.tar.bz2 +MesaDemos-7.0.2.tar.bz2 +MesaLib-7.0.2.tar.bz2 diff --git a/mesa-7.0-build-config.patch b/mesa-7.0-build-config.patch index 0dc466e..728b128 100644 --- a/mesa-7.0-build-config.patch +++ b/mesa-7.0-build-config.patch @@ -1,6 +1,6 @@ -diff -up mesa-20070725/configs/linux.build-config mesa-20070725/configs/linux ---- mesa-20070725/configs/linux.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux 2007-07-25 10:33:03.000000000 -0400 +diff -up Mesa-7.0.2/configs/linux.da Mesa-7.0.2/configs/linux +--- Mesa-7.0.2/configs/linux.da 2007-11-02 05:09:01.000000000 +1000 ++++ Mesa-7.0.2/configs/linux 2008-01-02 02:24:07.000000000 +1000 @@ -8,7 +8,9 @@ CONFIG_NAME = linux CC = gcc CXX = g++ @@ -12,9 +12,9 @@ diff -up mesa-20070725/configs/linux.build-config mesa-20070725/configs/linux PIC_FLAGS = -fPIC # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. Add -m32 -diff -up mesa-20070725/configs/linux-indirect.build-config mesa-20070725/configs/linux-indirect ---- mesa-20070725/configs/linux-indirect.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-indirect 2007-07-25 10:34:40.000000000 -0400 +diff -up Mesa-7.0.2/configs/linux-indirect.da Mesa-7.0.2/configs/linux-indirect +--- Mesa-7.0.2/configs/linux-indirect.da 2007-11-02 05:09:01.000000000 +1000 ++++ Mesa-7.0.2/configs/linux-indirect 2008-01-02 02:24:07.000000000 +1000 @@ -15,7 +15,7 @@ CXX = g++ #MKDEP_OPTIONS = -MF depend @@ -24,7 +24,7 @@ diff -up mesa-20070725/configs/linux-indirect.build-config mesa-20070725/configs PIC_FLAGS = -fPIC # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. -@@ -44,7 +44,7 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 +@@ -47,7 +47,7 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 # Directories @@ -33,9 +33,9 @@ diff -up mesa-20070725/configs/linux-indirect.build-config mesa-20070725/configs DRIVER_DIRS = PROGRAM_DIRS = WINDOW_SYSTEM=dri -diff -up mesa-20070725/configs/linux-dri.build-config mesa-20070725/configs/linux-dri ---- mesa-20070725/configs/linux-dri.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-dri 2007-07-25 10:34:31.000000000 -0400 +diff -up Mesa-7.0.2/configs/linux-dri.da Mesa-7.0.2/configs/linux-dri +--- Mesa-7.0.2/configs/linux-dri.da 2007-11-02 05:09:01.000000000 +1000 ++++ Mesa-7.0.2/configs/linux-dri 2008-01-02 02:24:07.000000000 +1000 @@ -12,8 +12,9 @@ CXX = g++ #MKDEP = /usr/X11R6/bin/makedepend #MKDEP = gcc -M @@ -56,7 +56,7 @@ diff -up mesa-20070725/configs/linux-dri.build-config mesa-20070725/configs/linu CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \ $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS) -@@ -36,7 +35,7 @@ CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAG +@@ -41,7 +40,7 @@ CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = # Library/program dependencies @@ -65,41 +65,29 @@ diff -up mesa-20070725/configs/linux-dri.build-config mesa-20070725/configs/linu LIBDRM_CFLAGS = `pkg-config --cflags libdrm` LIBDRM_LIB = `pkg-config --libs libdrm` -@@ -54,10 +53,10 @@ USING_EGL=0 +@@ -59,10 +58,10 @@ USING_EGL=0 # Directories ifeq ($(USING_EGL), 1) -SRC_DIRS = egl glx/x11 mesa glu glut/glx glw +SRC_DIRS = egl glx/x11 mesa glu glut/glx - PROGRAM_DIRS = egl + PROGRAM_DIRS = egl xdemos else -SRC_DIRS = glx/x11 mesa glu glut/glx glw +SRC_DIRS = glx/x11 mesa glu - PROGRAM_DIRS = + PROGRAM_DIRS = xdemos endif -@@ -67,4 +66,4 @@ WINDOW_SYSTEM=dri +@@ -72,4 +71,4 @@ WINDOW_SYSTEM=dri # gamma are missing because they have not been converted to use the new # interface. DRI_DIRS = i810 i915tex i915 i965 mach64 mga r128 r200 r300 radeon s3v \ - savage sis tdfx trident unichrome ffb + savage tdfx trident unichrome ffb # sis -diff -up mesa-20070725/configs/linux-dri-x86.build-config mesa-20070725/configs/linux-dri-x86 ---- mesa-20070725/configs/linux-dri-x86.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-dri-x86 2007-07-25 10:33:03.000000000 -0400 -@@ -6,7 +6,7 @@ include $(TOP)/configs/linux-dri - CONFIG_NAME = linux-dri-x86 - - # Unnecessary on x86, generally. --PIC_FLAGS = -+# PIC_FLAGS = - - # Add -m32 to CFLAGS: - ARCH_FLAGS = -m32 -diff -up mesa-20070725/configs/default.build-config mesa-20070725/configs/default ---- mesa-20070725/configs/default.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/default 2007-07-25 10:34:20.000000000 -0400 -@@ -58,8 +58,8 @@ GLW_SOURCES = GLwDrawA.c +diff -up Mesa-7.0.2/configs/default.da Mesa-7.0.2/configs/default +--- Mesa-7.0.2/configs/default.da 2007-11-02 01:30:52.000000000 +1000 ++++ Mesa-7.0.2/configs/default 2008-01-02 02:25:54.000000000 +1000 +@@ -59,8 +59,8 @@ GLW_SOURCES = GLwDrawA.c # Directories to build @@ -110,15 +98,16 @@ diff -up mesa-20070725/configs/default.build-config mesa-20070725/configs/defaul GLU_DIRS = sgi DRIVER_DIRS = x11 osmesa # Which subdirs under $(TOP)/progs/ to enter: -@@ -72,14 +72,14 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -l +@@ -73,7 +73,7 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -l OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm -GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11 +GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXm $(EXTRA_LIB_PATH) -lXt -lX11 - APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm - + # Program dependencies - specific GL/glut libraries added in Makefiles + APP_LIB_DEPS = -lm +@@ -82,7 +82,7 @@ APP_LIB_DEPS = -lm # Installation directories (for make install) INSTALL_DIR = /usr/local @@ -127,9 +116,9 @@ diff -up mesa-20070725/configs/default.build-config mesa-20070725/configs/defaul # Where libGL will look for DRI hardware drivers DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR) -diff -up mesa-20070725/configs/linux-dri-ppc.build-config mesa-20070725/configs/linux-dri-ppc ---- mesa-20070725/configs/linux-dri-ppc.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-dri-ppc 2007-07-25 10:33:03.000000000 -0400 +diff -up Mesa-7.0.2/configs/linux-dri-ppc.da Mesa-7.0.2/configs/linux-dri-ppc +--- Mesa-7.0.2/configs/linux-dri-ppc.da 2007-06-22 08:10:53.000000000 +1000 ++++ Mesa-7.0.2/configs/linux-dri-ppc 2008-01-02 02:24:07.000000000 +1000 @@ -5,7 +5,7 @@ include $(TOP)/configs/linux-dri CONFIG_NAME = linux-dri-ppc @@ -139,9 +128,9 @@ diff -up mesa-20070725/configs/linux-dri-ppc.build-config mesa-20070725/configs/ PIC_FLAGS = -fPIC ASM_FLAGS = -DUSE_PPC_ASM -DUSE_VMX_ASM -diff -up mesa-20070725/configs/linux-osmesa16.build-config mesa-20070725/configs/linux-osmesa16 ---- mesa-20070725/configs/linux-osmesa16.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-osmesa16 2007-07-25 10:33:03.000000000 -0400 +diff -up Mesa-7.0.2/configs/linux-osmesa16.da Mesa-7.0.2/configs/linux-osmesa16 +--- Mesa-7.0.2/configs/linux-osmesa16.da 2007-11-02 05:09:01.000000000 +1000 ++++ Mesa-7.0.2/configs/linux-osmesa16 2008-01-02 02:24:07.000000000 +1000 @@ -7,8 +7,10 @@ CONFIG_NAME = linux-osmesa16 # Compiler and flags CC = gcc @@ -153,9 +142,9 @@ diff -up mesa-20070725/configs/linux-osmesa16.build-config mesa-20070725/configs +CFLAGS = $(OPT_FLAGS) $(DEFINES) -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31 +CXXFLAGS = $(OPT_FLAGS) $(DEFINES) - - # Library names -@@ -17,12 +19,12 @@ OSMESA_LIB_NAME = libOSMesa16.so + # Work around aliasing bugs - developers should comment this out + CFLAGS += -fno-strict-aliasing +@@ -20,12 +22,12 @@ OSMESA_LIB_NAME = libOSMesa16.so # Directories @@ -170,9 +159,9 @@ diff -up mesa-20070725/configs/linux-osmesa16.build-config mesa-20070725/configs +OSMESA_LIB_DEPS = -lm -lpthread -lselinux GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB) APP_LIB_DEPS = -lOSMesa16 -diff -up mesa-20070725/configs/linux-osmesa32.build-config mesa-20070725/configs/linux-osmesa32 ---- mesa-20070725/configs/linux-osmesa32.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-osmesa32 2007-07-25 10:33:03.000000000 -0400 +diff -up Mesa-7.0.2/configs/linux-osmesa32.da Mesa-7.0.2/configs/linux-osmesa32 +--- Mesa-7.0.2/configs/linux-osmesa32.da 2007-11-02 05:09:01.000000000 +1000 ++++ Mesa-7.0.2/configs/linux-osmesa32 2008-01-02 02:24:07.000000000 +1000 @@ -7,8 +7,10 @@ CONFIG_NAME = linux-osmesa32 # Compiler and flags CC = gcc @@ -184,9 +173,9 @@ diff -up mesa-20070725/configs/linux-osmesa32.build-config mesa-20070725/configs +CFLAGS = $(OPT_FLAGS) $(DEFINES) -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31 +CXXFLAGS = $(OPT_FLAGS) $(DEFINES) - - # Library names -@@ -17,12 +19,12 @@ OSMESA_LIB_NAME = libOSMesa32.so + # Work around aliasing bugs - developers should comment this out + CFLAGS += -fno-strict-aliasing +@@ -20,12 +22,12 @@ OSMESA_LIB_NAME = libOSMesa32.so # Directories @@ -201,20 +190,23 @@ diff -up mesa-20070725/configs/linux-osmesa32.build-config mesa-20070725/configs +OSMESA_LIB_DEPS = -lm -lpthread -lselinux GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB) APP_LIB_DEPS = -lOSMesa32 -diff -up mesa-20070725/configs/linux-osmesa.build-config mesa-20070725/configs/linux-osmesa ---- mesa-20070725/configs/linux-osmesa.build-config 2007-07-25 09:36:03.000000000 -0400 -+++ mesa-20070725/configs/linux-osmesa 2007-07-25 10:33:03.000000000 -0400 -@@ -9,17 +9,18 @@ CONFIG_NAME = linux-osmesa +diff -up Mesa-7.0.2/configs/linux-osmesa.da Mesa-7.0.2/configs/linux-osmesa +--- Mesa-7.0.2/configs/linux-osmesa.da 2007-11-02 05:09:01.000000000 +1000 ++++ Mesa-7.0.2/configs/linux-osmesa 2008-01-02 02:27:46.000000000 +1000 +@@ -9,20 +9,22 @@ CONFIG_NAME = linux-osmesa # Compiler and flags CC = gcc CXX = g++ -CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -- +DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE +OPT_FLAGS ?= -O3 -ansi -pendantic -fPIC -ffast-math +CFLAGS = $(OPT_FLAGS) $(DEFINES) -+CXXFLAGS = $(OPT_FLAGS) $(DEFINES) ++CXXFLAGS = $(OPT_FLAGS) $(DEFINES) + + # Work around aliasing bugs - developers should comment this out + CFLAGS += -fno-strict-aliasing + CXXFLAGS += -fno-strict-aliasing # Directories -SRC_DIRS = mesa glu diff --git a/mesa-7.0-selinux-awareness.patch b/mesa-7.0-selinux-awareness.patch index dcce752..c25a15c 100644 --- a/mesa-7.0-selinux-awareness.patch +++ b/mesa-7.0-selinux-awareness.patch @@ -1,66 +1,3 @@ -diff -up Mesa-7.0/src/mesa/tnl/t_vertex_sse.c.jx Mesa-7.0/src/mesa/tnl/t_vertex_sse.c ---- Mesa-7.0/src/mesa/tnl/t_vertex_sse.c.jx 2007-06-21 18:10:54.000000000 -0400 -+++ Mesa-7.0/src/mesa/tnl/t_vertex_sse.c 2007-07-23 15:59:26.000000000 -0400 -@@ -348,7 +348,8 @@ static GLboolean build_vertex_emit( stru - struct x86_reg vp1 = x86_make_reg(file_XMM, 2); - GLubyte *fixup, *label; - -- x86_init_func(&p->func); -+ if (!x86_init_func(&p->func)) -+ return GL_FALSE; - - /* Push a few regs? - */ -@@ -646,7 +647,10 @@ void _tnl_generate_sse_emit( GLcontext * - p.identity = x86_make_reg(file_XMM, 6); - p.chan0 = x86_make_reg(file_XMM, 7); - -- x86_init_func(&p.func); -+ if (!x86_init_func(&p.func)) { -+ vtx->codegen_emit = NULL; -+ return; -+ } - - if (build_vertex_emit(&p)) { - _tnl_register_fastpath( vtx, GL_TRUE ); -diff -up Mesa-7.0/src/mesa/x86/rtasm/x86sse.h.jx Mesa-7.0/src/mesa/x86/rtasm/x86sse.h ---- Mesa-7.0/src/mesa/x86/rtasm/x86sse.h.jx 2007-06-21 18:10:55.000000000 -0400 -+++ Mesa-7.0/src/mesa/x86/rtasm/x86sse.h 2007-07-23 15:59:23.000000000 -0400 -@@ -80,8 +80,8 @@ enum sse_cc { - */ - - --void x86_init_func( struct x86_function *p ); --void x86_init_func_size( struct x86_function *p, GLuint code_size ); -+int x86_init_func( struct x86_function *p ); -+int x86_init_func_size( struct x86_function *p, GLuint code_size ); - void x86_release_func( struct x86_function *p ); - void (*x86_get_func( struct x86_function *p ))( void ); - -diff -up Mesa-7.0/src/mesa/x86/rtasm/x86sse.c.jx Mesa-7.0/src/mesa/x86/rtasm/x86sse.c ---- Mesa-7.0/src/mesa/x86/rtasm/x86sse.c.jx 2007-06-21 18:10:55.000000000 -0400 -+++ Mesa-7.0/src/mesa/x86/rtasm/x86sse.c 2007-07-23 15:59:23.000000000 -0400 -@@ -1063,15 +1063,17 @@ struct x86_reg x86_fn_arg( struct x86_fu - } - - --void x86_init_func( struct x86_function *p ) -+int x86_init_func( struct x86_function *p ) - { -- x86_init_func_size(p, 1024); -+ return x86_init_func_size(p, 1024); - } - --void x86_init_func_size( struct x86_function *p, GLuint code_size ) -+int x86_init_func_size( struct x86_function *p, GLuint code_size ) - { - p->store = _mesa_exec_malloc(code_size); - p->csr = p->store; -+ -+ return (p->store != NULL); - } - - void x86_release_func( struct x86_function *p ) diff -up Mesa-7.0/src/mesa/main/execmem.c.jx Mesa-7.0/src/mesa/main/execmem.c --- Mesa-7.0/src/mesa/main/execmem.c.jx 2007-06-21 18:10:54.000000000 -0400 +++ Mesa-7.0/src/mesa/main/execmem.c 2007-07-23 16:02:30.000000000 -0400 diff --git a/mesa-7.0.2-rx00-vertprog-num-temps-off-by-one.patch b/mesa-7.0.2-rx00-vertprog-num-temps-off-by-one.patch new file mode 100644 index 0000000..d078ffa --- /dev/null +++ b/mesa-7.0.2-rx00-vertprog-num-temps-off-by-one.patch @@ -0,0 +1,44 @@ +--- Mesa-7.0.2/src/mesa/drivers/dri/r200/r200_vertprog.c~ 2007-12-28 22:41:51.000000000 +0100 ++++ Mesa-7.0.2/src/mesa/drivers/dri/r200/r200_vertprog.c 2007-12-28 22:41:51.000000000 +0100 +@@ -408,6 +408,7 @@ static GLboolean r200_translate_vertex_p + int fog_temp_i = 0; + int free_inputs; + int array_count = 0; ++ int u_temp_used; + + vp->native = GL_FALSE; + vp->translated = GL_TRUE; +@@ -1051,14 +1052,15 @@ else { + dofogfix = 0; + } + ++ u_temp_used = (R200_VSF_MAX_TEMPS - 1) - u_temp_i; + if (mesa_vp->Base.NumNativeTemporaries < +- (mesa_vp->Base.NumTemporaries + (R200_VSF_MAX_TEMPS - 1 - u_temp_i))) { ++ (mesa_vp->Base.NumTemporaries + u_temp_used)) { + mesa_vp->Base.NumNativeTemporaries = +- mesa_vp->Base.NumTemporaries + (R200_VSF_MAX_TEMPS - 1 - u_temp_i); ++ mesa_vp->Base.NumTemporaries + u_temp_used; + } +- if (u_temp_i < mesa_vp->Base.NumTemporaries) { ++ if ((mesa_vp->Base.NumTemporaries + u_temp_used) > R200_VSF_MAX_TEMPS) { + if (R200_DEBUG & DEBUG_FALLBACKS) { +- fprintf(stderr, "Ran out of temps, num temps %d, us %d\n", mesa_vp->Base.NumTemporaries, u_temp_i); ++ fprintf(stderr, "Ran out of temps, num temps %d, us %d\n", mesa_vp->Base.NumTemporaries, u_temp_used); + } + return GL_FALSE; + } +--- Mesa-7.0.2/src/mesa/drivers/dri/r300/r300_vertprog.c~ 2007-12-28 22:42:19.000000000 +0100 ++++ Mesa-7.0.2/src/mesa/drivers/dri/r300/r300_vertprog.c 2007-12-28 22:42:19.000000000 +0100 +@@ -101,8 +101,9 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. + + #define FREE_TEMPS() \ + do { \ +- if(u_temp_i < vp->num_temporaries) { \ +- WARN_ONCE("Ran out of temps, num temps %d, us %d\n", vp->num_temporaries, u_temp_i); \ ++ int u_temp_used = (VSF_MAX_FRAGMENT_TEMPS - 1) - u_temp_i; \ ++ if((vp->num_temporaries + u_temp_used) > VSF_MAX_FRAGMENT_TEMPS) { \ ++ WARN_ONCE("Ran out of temps, num temps %d, us %d\n", vp->num_temporaries, u_temp_used); \ + vp->native = GL_FALSE; \ + } \ + u_temp_i=VSF_MAX_FRAGMENT_TEMPS-1; \ diff --git a/mesa-7.0.2-t_vp_build-use-less-temps.patch b/mesa-7.0.2-t_vp_build-use-less-temps.patch new file mode 100644 index 0000000..1909471 --- /dev/null +++ b/mesa-7.0.2-t_vp_build-use-less-temps.patch @@ -0,0 +1,81 @@ +--- Mesa-7.0.2/src/mesa/tnl/t_vp_build.c 2007-10-23 18:52:25.000000000 +0200 ++++ Mesa-7.0.2.new/src/mesa/tnl/t_vp_build.c 2007-12-28 20:36:50.000000000 +0100 +@@ -890,7 +890,6 @@ + { + struct ureg shininess = get_material(p, 0, STATE_SHININESS); + emit_op1(p, OPCODE_MOV, dots, WRITEMASK_W, swizzle1(shininess,X)); +- release_temp(p, shininess); + + _col0 = make_temp(p, get_scenecolor(p, 0)); + if (separate) +@@ -904,7 +903,6 @@ + struct ureg shininess = get_material(p, 1, STATE_SHININESS); + emit_op1(p, OPCODE_MOV, dots, WRITEMASK_Z, + negate(swizzle1(shininess,X))); +- release_temp(p, shininess); + + _bfc0 = make_temp(p, get_scenecolor(p, 1)); + if (separate) +@@ -972,7 +970,6 @@ + struct ureg tmpPpli = get_temp(p); + + VPpli = get_temp(p); +- half = get_temp(p); + + /* In homogeneous object coordinates + */ +@@ -983,6 +980,9 @@ + */ + emit_op2(p, OPCODE_SUB, VPpli, 0, tmpPpli, V); + ++ /* we're done with tmpPpli now */ ++ release_temp(p, tmpPpli); ++ + /* Normalize VPpli. The dist value also used in + * attenuation below. + */ +@@ -997,10 +997,14 @@ + p->state->unit[i].light_attenuated) { + att = calculate_light_attenuation(p, i, VPpli, dist); + } ++ ++ /* We're done with dist now */ ++ release_temp(p, dist); + + + /* Calculate viewer direction, or use infinite viewer: + */ ++ half = get_temp(p); + if (p->state->light_local_viewer) { + struct ureg eye_hat = get_eye_position_normalized(p); + emit_op2(p, OPCODE_SUB, half, 0, VPpli, eye_hat); +@@ -1011,9 +1015,6 @@ + } + + emit_normalize_vec3(p, half, half); +- +- release_temp(p, dist); +- release_temp(p, tmpPpli); + } + + /* Calculate dot products: +@@ -1021,6 +1022,10 @@ + emit_op2(p, OPCODE_DP3, dots, WRITEMASK_X, normal, VPpli); + emit_op2(p, OPCODE_DP3, dots, WRITEMASK_Y, normal, half); + ++ /* we're done with VPpli and half now, so free them as to not drive up ++ our temp usage unnecessary */ ++ release_temp(p, VPpli); ++ release_temp(p, half); + + /* Front face lighting: + */ +@@ -1109,8 +1114,6 @@ + release_temp(p, specular); + } + +- release_temp(p, half); +- release_temp(p, VPpli); + release_temp(p, att); + } + } diff --git a/mesa.spec b/mesa.spec index 6cdfd99..6ebeed7 100644 --- a/mesa.spec +++ b/mesa.spec @@ -31,8 +31,8 @@ Summary: Mesa graphics libraries Name: mesa -Version: 7.0.1 -Release: 7%{?dist} +Version: 7.0.2 +Release: 1%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -52,6 +52,8 @@ Patch26: mesa-7.0.1-stable-branch.patch Patch27: mesa-7.0-use_master-r300.patch Patch28: mesa-7.0.1-r300-fix-writemask.patch Patch29: mesa-7.0.1-r200-settexoffset.patch +Patch30: mesa-7.0.2-rx00-vertprog-num-temps-off-by-one.patch +Patch31: mesa-7.0.2-t_vp_build-use-less-temps.patch BuildRequires: pkgconfig %if %{with_dri} @@ -179,10 +181,10 @@ chmod a-x progs/demos/glslnoise.c %patch18 -p1 -b .selinux-awareness %patch23 -p1 -b .bindcontext %patch25 -p1 -b .makej -%patch26 -p1 -b .stable %patch27 -p1 -b .r300 %patch28 -p1 -b .r300-writemask -%patch29 -p1 -b .r200-settexoffset +%patch30 -p1 -b .rx00-fix-vp +%patch31 -p1 -b .vp-temp-fix # WARNING: The following files are copyright "Mark J. Kilgard" under the GLUT # license and are not open source/free software, so we remove them. @@ -412,6 +414,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/mesa-demos-data %changelog +* Tue Jan 01 2008 Dave Airlie 7.0.2-1 +- update to Mesa 7.0.2 final +- mesa-7.0.2-rx00-vertprog-num-temps-off-by-one.patch - fixes for maniadrive +- mesa-7.0.2-t_vp_build-use-less-temps.patch - fixes for maniadrive + * Thu Oct 18 2007 Dave Airlie 7.0.1-7 - mesa-7.0.1-stable-branch.patch - Updated with more fixes from stable - mesa-7.0.1-r300-fix-writemask.patch - fix r300 fragprog writemask diff --git a/sources b/sources index e5f1a90..74c6002 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -c056abd763e899114bf745c9eedbf9ad MesaLib-7.0.1.tar.bz2 -3b66b3268df12ca8a6c4e0c4c457912c MesaDemos-7.0.1.tar.bz2 6ae05158e678f4594343f32c2ca50515 gl-manpages-1.0.1.tar.bz2 +11a10410bae7be85cf25bc7119966468 MesaDemos-7.0.2.tar.bz2 +93e6ed7924ff069a4f883b4fce5349dc MesaLib-7.0.2.tar.bz2