Compare commits

...

9 Commits
master ... f8

Author SHA1 Message Date
Fedora Release Engineering 4188ad741d dist-git conversion 2010-07-29 17:48:08 +00:00
Bill Nottingham 8f9cf51c09 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:34:18 +00:00
Dave Airlie eb00d17ad2 - fix rs480 compiz support 2008-05-05 04:34:12 +00:00
Adam Jackson 2ce0ddf15e - mesa-7.0.2-e7221.patch: Enable i915 DRI on E7221. (Carlos Martín,
#425790)
2008-01-22 18:35:42 +00:00
Dave Airlie 14ca89de68 remove unused patch 2008-01-01 06:56:09 +00:00
Dave Airlie ade056761b remove unused patch 2008-01-01 06:42:20 +00:00
Dave Airlie 68db867c3e - mesa-7.0.2-stable-branch.patch: add in mesa 7.0.2 stable patches so far 2008-01-01 06:36:16 +00:00
Dave Airlie b7db2fa2de - 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
2008-01-01 05:46:09 +00:00
Jesse Keating f25fd6b543 Initialize branch F-8 for mesa 2007-10-20 17:09:04 +00:00
13 changed files with 3721 additions and 5358 deletions

View File

@ -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

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: mesa
# $Id: Makefile,v 1.1 2005/09/12 18:26:05 mharris Exp $
NAME := mesa
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -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

View File

@ -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

View File

@ -1,243 +0,0 @@
4f96000e294fa0d6ba6f5915ff508017d9c26d50
diff --git a/src/mesa/drivers/dri/r200/r200_context.h b/src/mesa/drivers/dri/r200/r200_context.h
index bec09e8..c80180b 100644
--- a/src/mesa/drivers/dri/r200/r200_context.h
+++ b/src/mesa/drivers/dri/r200/r200_context.h
@@ -179,6 +179,7 @@ struct r200_tex_obj {
drm_radeon_tex_image_t image[6][RADEON_MAX_TEXTURE_LEVELS];
/* Six, for the cube faces */
+ GLboolean image_override; /* Image overridden by GLX_EXT_tfp */
GLuint pp_txfilter; /* hardware register values */
GLuint pp_txformat;
diff --git a/src/mesa/drivers/dri/r200/r200_tex.h b/src/mesa/drivers/dri/r200/r200_tex.h
index e6c0e00..10ff8e8 100644
--- a/src/mesa/drivers/dri/r200/r200_tex.h
+++ b/src/mesa/drivers/dri/r200/r200_tex.h
@@ -35,6 +35,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifndef __R200_TEX_H__
#define __R200_TEX_H__
+extern void r200SetTexOffset(__DRIcontext *pDRICtx, GLint texname,
+ unsigned long long offset, GLint depth,
+ GLuint pitch);
+
extern void r200UpdateTextureState( GLcontext *ctx );
extern int r200UploadTexImages( r200ContextPtr rmesa, r200TexObjPtr t, GLuint face );
diff --git a/src/mesa/drivers/dri/r200/r200_texmem.c b/src/mesa/drivers/dri/r200/r200_texmem.c
index d926313..183c4ca 100644
--- a/src/mesa/drivers/dri/r200/r200_texmem.c
+++ b/src/mesa/drivers/dri/r200/r200_texmem.c
@@ -181,7 +181,8 @@ static void r200UploadRectSubImage( r200ContextPtr rmesa,
/* In this case, could also use GART texturing. This is
* currently disabled, but has been tested & works.
*/
- t->pp_txoffset = r200GartOffsetFromVirtual( rmesa, texImage->Data );
+ if ( !t->image_override )
+ t->pp_txoffset = r200GartOffsetFromVirtual( rmesa, texImage->Data );
t->pp_txpitch = texImage->RowStride * texFormat->TexelBytes - 32;
if (R200_DEBUG & DEBUG_TEXTURE)
@@ -467,7 +468,7 @@ int r200UploadTexImages( r200ContextPtr rmesa, r200TexObjPtr t, GLuint face )
t->base.firstLevel, t->base.lastLevel );
}
- if ( !t || t->base.totalSize == 0 )
+ if ( !t || t->base.totalSize == 0 || t->image_override )
return 0;
if (R200_DEBUG & DEBUG_SYNC) {
diff --git a/src/mesa/drivers/dri/r200/r200_texstate.c b/src/mesa/drivers/dri/r200/r200_texstate.c
index ae02ec4..93c0fb7 100644
--- a/src/mesa/drivers/dri/r200/r200_texstate.c
+++ b/src/mesa/drivers/dri/r200/r200_texstate.c
@@ -37,6 +37,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "context.h"
#include "macros.h"
#include "texformat.h"
+#include "texobj.h"
#include "enums.h"
#include "r200_context.h"
@@ -72,10 +73,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define VALID_FORMAT(f) ( ((f) <= MESA_FORMAT_RGBA_DXT5) \
&& (tx_table_le[f].format != 0xffffffff) )
-static const struct {
+struct tx_table {
GLuint format, filter;
-}
-tx_table_be[] =
+};
+
+static const struct tx_table tx_table_be[] =
{
[ MESA_FORMAT_RGBA8888 ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
_ALPHA_REV(RGBA8888),
@@ -104,16 +106,13 @@ tx_table_be[] =
_ALPHA(RGBA_DXT5),
};
-static const struct {
- GLuint format, filter;
-}
-tx_table_le[] =
+static const struct tx_table tx_table_le[] =
{
_ALPHA(RGBA8888),
[ MESA_FORMAT_RGBA8888_REV ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
_ALPHA(ARGB8888),
_ALPHA_REV(ARGB8888),
- _INVALID(RGB888),
+ [ MESA_FORMAT_RGB888 ] = { R200_TXFORMAT_ARGB8888, 0 },
_COLOR(RGB565),
_COLOR_REV(RGB565),
_ALPHA(ARGB4444),
@@ -160,30 +159,23 @@ static void r200SetTexImages( r200ContextPtr rmesa,
GLint i, texelBytes;
GLint numLevels;
GLint log2Width, log2Height, log2Depth;
- const GLuint ui = 1;
- const GLubyte littleEndian = *((const GLubyte *) &ui);
/* Set the hardware texture format
*/
+ if ( !t->image_override ) {
+ if ( VALID_FORMAT( baseImage->TexFormat->MesaFormat ) ) {
+ t->pp_txformat &= ~(R200_TXFORMAT_FORMAT_MASK |
+ R200_TXFORMAT_ALPHA_IN_MAP);
+ t->pp_txfilter &= ~R200_YUV_TO_RGB;
- t->pp_txformat &= ~(R200_TXFORMAT_FORMAT_MASK |
- R200_TXFORMAT_ALPHA_IN_MAP);
- t->pp_txfilter &= ~R200_YUV_TO_RGB;
-
- if ( VALID_FORMAT( baseImage->TexFormat->MesaFormat ) ) {
- if (littleEndian) {
t->pp_txformat |= tx_table_le[ baseImage->TexFormat->MesaFormat ].format;
t->pp_txfilter |= tx_table_le[ baseImage->TexFormat->MesaFormat ].filter;
}
else {
- t->pp_txformat |= tx_table_be[ baseImage->TexFormat->MesaFormat ].format;
- t->pp_txfilter |= tx_table_be[ baseImage->TexFormat->MesaFormat ].filter;
+ _mesa_problem(NULL, "unexpected texture format in %s", __FUNCTION__);
+ return;
}
}
- else {
- _mesa_problem(NULL, "unexpected texture format in %s", __FUNCTION__);
- return;
- }
texelBytes = baseImage->TexFormat->TexelBytes;
@@ -380,11 +372,13 @@ static void r200SetTexImages( r200ContextPtr rmesa,
* requires 64-byte aligned pitches, and we may/may not need the
* blitter. NPOT only!
*/
- if (baseImage->IsCompressed)
- t->pp_txpitch = (tObj->Image[0][t->base.firstLevel]->Width + 63) & ~(63);
- else
- t->pp_txpitch = ((tObj->Image[0][t->base.firstLevel]->Width * texelBytes) + 63) & ~(63);
- t->pp_txpitch -= 32;
+ if ( !t->image_override ) {
+ if (baseImage->IsCompressed)
+ t->pp_txpitch = (tObj->Image[0][t->base.firstLevel]->Width + 63) & ~(63);
+ else
+ t->pp_txpitch = ((tObj->Image[0][t->base.firstLevel]->Width * texelBytes) + 63) & ~(63);
+ t->pp_txpitch -= 32;
+ }
t->dirty_state = TEX_ALL;
@@ -979,6 +973,46 @@ static GLboolean r200UpdateTextureEnv( GLcontext *ctx, int unit, int slot, GLuin
return GL_TRUE;
}
+void r200SetTexOffset(__DRIcontext * pDRICtx, GLint texname,
+ unsigned long long offset, GLint depth, GLuint pitch)
+{
+ r200ContextPtr rmesa =
+ (r200ContextPtr) ((__DRIcontextPrivate *) pDRICtx->private)->
+ driverPrivate;
+ struct gl_texture_object *tObj =
+ _mesa_lookup_texture(rmesa->glCtx, texname);
+ r200TexObjPtr t;
+
+ if (!tObj)
+ return;
+
+ t = (r200TexObjPtr) tObj->DriverData;
+
+ t->image_override = GL_TRUE;
+
+ if (!offset)
+ return;
+
+ t->pp_txoffset = offset;
+ t->pp_txpitch = pitch - 32;
+
+ switch (depth) {
+ case 32:
+ t->pp_txformat = tx_table_le[2].format;
+ t->pp_txfilter |= tx_table_le[2].filter;
+ break;
+ case 24:
+ default:
+ t->pp_txformat = tx_table_le[4].format;
+ t->pp_txfilter |= tx_table_le[4].filter;
+ break;
+ case 16:
+ t->pp_txformat = tx_table_le[5].format;
+ t->pp_txfilter |= tx_table_le[5].filter;
+ break;
+ }
+}
+
#define REF_COLOR 1
#define REF_ALPHA 2
@@ -1560,7 +1594,7 @@ static GLboolean enable_tex_2d( GLcontext *ctx, int unit )
R200_FIREVERTICES( rmesa );
r200SetTexImages( rmesa, tObj );
r200UploadTexImages( rmesa, (r200TexObjPtr) tObj->DriverData, 0 );
- if ( !t->base.memBlock )
+ if ( !t->base.memBlock && !t->image_override )
return GL_FALSE;
}
@@ -1668,7 +1702,9 @@ static GLboolean enable_tex_rect( GLcontext *ctx, int unit )
R200_FIREVERTICES( rmesa );
r200SetTexImages( rmesa, tObj );
r200UploadTexImages( rmesa, (r200TexObjPtr) tObj->DriverData, 0 );
- if ( !t->base.memBlock && !rmesa->prefer_gart_client_texturing )
+ if ( !t->base.memBlock &&
+ !t->image_override &&
+ !rmesa->prefer_gart_client_texturing )
return GL_FALSE;
}
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index aa7fb63..682cf3a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -53,6 +53,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "r200_context.h"
#include "r200_ioctl.h"
#include "r200_span.h"
+#include "r200_tex.h"
#elif RADEON_COMMON && defined(RADEON_COMMON_FOR_R300)
#include "r300_context.h"
#include "r300_fragprog.h"
@@ -973,7 +974,8 @@ static const struct __DriverAPIRec r200API = {
.WaitForMSC = driWaitForMSC32,
.WaitForSBC = NULL,
.SwapBuffersMSC = NULL,
- .CopySubBuffer = r200CopySubBuffer
+ .CopySubBuffer = r200CopySubBuffer,
+ .setTexOffset = r200SetTexOffset
};
#endif

File diff suppressed because it is too large Load Diff

34
mesa-7.0.2-e7221.patch Normal file
View File

@ -0,0 +1,34 @@
diff -up Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_screen.c.e7221 Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_screen.c
--- Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_screen.c.e7221 2007-11-01 11:30:52.000000000 -0400
+++ Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_screen.c 2008-01-22 13:30:47.000000000 -0500
@@ -511,6 +511,7 @@ static GLboolean intelCreateContext( con
sharedContextPrivate );
case PCI_CHIP_I915_G:
+ case PCI_CHIP_E7221_G:
case PCI_CHIP_I915_GM:
case PCI_CHIP_I945_G:
case PCI_CHIP_I945_GM:
diff -up Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.h.e7221 Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.h
--- Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.h.e7221 2007-11-01 11:30:52.000000000 -0400
+++ Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.h 2008-01-22 13:30:47.000000000 -0500
@@ -451,6 +451,7 @@ extern int INTEL_DEBUG;
#define PCI_CHIP_I855_GM 0x3582
#define PCI_CHIP_I865_G 0x2572
#define PCI_CHIP_I915_G 0x2582
+#define PCI_CHIP_E7221_G 0x258A
#define PCI_CHIP_I915_GM 0x2592
#define PCI_CHIP_I945_G 0x2772
#define PCI_CHIP_I945_GM 0x27A2
diff -up Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.c.e7221 Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.c
--- Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.c.e7221 2007-11-01 11:30:52.000000000 -0400
+++ Mesa-7.0.2/src/mesa/drivers/dri/i915/intel_context.c 2008-01-22 13:34:50.000000000 -0500
@@ -117,6 +117,8 @@ const GLubyte *intelGetString( GLcontext
chipset = "Intel(R) 865G"; break;
case PCI_CHIP_I915_G:
chipset = "Intel(R) 915G"; break;
+ case PCI_CHIP_E7221_G:
+ chipset = "Intel(R) E7221G (i915)"; break;
case PCI_CHIP_I915_GM:
chipset = "Intel(R) 915GM"; break;
case PCI_CHIP_I945_G:

View File

@ -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; \

File diff suppressed because it is too large Load Diff

View File

@ -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);
}
}

View File

@ -0,0 +1,43 @@
diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index ae5d8a8..aa0de4e 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -2129,10 +2129,11 @@ void r300UpdateShaders(r300ContextPtr rmesa)
hw_tcl_on = future_hw_tcl_on = 0;
r300ResetHwState(rmesa);
+ r300UpdateStateParameters(ctx, _NEW_PROGRAM);
return;
}
- r300UpdateStateParameters(ctx, _NEW_PROGRAM);
}
+ r300UpdateStateParameters(ctx, _NEW_PROGRAM);
}
static void r300SetupPixelShader(r300ContextPtr rmesa)
diff --git a/src/mesa/drivers/dri/r300/r300_swtcl.c b/src/mesa/drivers/dri/r300/r300_swtcl.c
index a732bdb..1452ed5 100644
--- a/src/mesa/drivers/dri/r300/r300_swtcl.c
+++ b/src/mesa/drivers/dri/r300/r300_swtcl.c
@@ -591,6 +591,7 @@ static void r300RenderStart(GLcontext *ctx)
r300ChooseRenderState(ctx);
r300SetVertexFormat(ctx);
+ r300UpdateShaders(rmesa);
r300UpdateShaderStates(rmesa);
r300EmitCacheFlush(rmesa);
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 6107577..5cf7f89 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -697,6 +697,9 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv )
return NULL;
}
+ if (getenv("R300_NO_TCL"))
+ screen->chip_flags &= ~RADEON_CHIPSET_TCL;
+
if (screen->chip_family <= CHIP_FAMILY_RS200)
screen->chip_flags |= RADEON_CLASS_R100;
else if (screen->chip_family <= CHIP_FAMILY_RV280)

View File

@ -31,8 +31,8 @@
Summary: Mesa graphics libraries
Name: mesa
Version: 7.0.1
Release: 7%{?dist}
Version: 7.0.2
Release: 4%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://www.mesa3d.org
@ -42,16 +42,19 @@ Source0: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-%{version
Source1: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaDemos-%{version}.tar.bz2
Source2: %{manpages}.tar.bz2
Patch0: mesa-7.0-build-config.patch
Patch0: mesa-7.0.2-stable-branch.patch
Patch1: mesa-7.0-build-config.patch
Patch4: mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch
Patch5: mesa-6.5.2-xserver-1.1-source-compat.patch
Patch18: mesa-7.0-selinux-awareness.patch
Patch23: mesa-6.5.2-bindcontext-paranoia.patch
Patch25: mesa-7.0-symlinks-before-depend.patch
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
Patch32: mesa-7.0.2-e7221.patch
Patch33: mesa-r300-fix-compiz.patch
BuildRequires: pkgconfig
%if %{with_dri}
@ -173,16 +176,19 @@ This package provides some demo applications for testing Mesa.
%setup -q -n Mesa-%{version} -b1 -b2
chmod a-x progs/demos/glslnoise.c
%patch0 -p1 -b .build-config
%patch0 -p1 -b .stable
%patch1 -p1 -b .build-config
%patch4 -p0 -b .dont-libglut-me-harder-ok-thx-bye
%patch5 -p1 -b .xserver-1.1-compat
%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
%patch32 -p1 -b .e7221
%patch33 -p1 -b .rs4xx-compiz
# 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 +418,20 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/mesa-demos-data
%changelog
* Mon May 05 2008 Dave Airlie <airlied@redhat.com> 7.0.2-4
- fix rs480 compiz support
* Tue Jan 22 2008 Adam Jackson <ajax@redhat.com> 7.0.2-3
- mesa-7.0.2-e7221.patch: Enable i915 DRI on E7221. (Carlos Martín, #425790)
* Tue Jan 01 2008 Dave Airlie <airlied@redhat.com> 7.0.2-2
- mesa-7.0.2-stable-branch.patch: add in mesa 7.0.2 stable patches so far
* Tue Jan 01 2008 Dave Airlie <airlied@redhat.com> 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 <airlied@redhat.com> 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

View File

@ -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