rpms/mesa/F-12 mesa-7.7.1-fixes.patch,NONE,1.1 mesa.spec,1.261,1.262

Dave Airlie airlied at fedoraproject.org
Mon Jan 11 03:44:36 UTC 2010


Author: airlied

Update of /cvs/pkgs/rpms/mesa/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8356

Modified Files:
	mesa.spec 
Added Files:
	mesa-7.7.1-fixes.patch 
Log Message:
* Mon Jan 11 2010 Dave Airlie <airlied at redhat.com> 7.7-2
- add fixes from mesa 7.7 branch (fix r100 colors hopefully)


mesa-7.7.1-fixes.patch:
 Makefile                                                |    2 
 configs/darwin                                          |    2 
 configs/default                                         |    2 
 docs/news.html                                          |    6 
 docs/relnotes-7.6.1.html                                |   12 
 docs/relnotes-7.7.1.html                                |   50 +
 docs/relnotes-7.7.html                                  |   12 
 docs/relnotes.html                                      |    1 
 include/GL/gl_mangle.h                                  |   43 +
 progs/demos/engine.c                                    |   18 
 progs/demos/fire.c                                      |   10 
 progs/demos/geartrain.c                                 |   21 
 progs/demos/isosurf.c                                   |    8 
 progs/demos/terrain.c                                   |   95 --
 progs/glsl/convolutions.c                               |    2 
 progs/glsl/shtest.c                                     |    9 
 progs/glsl/vert-tex.c                                   |    9 
 progs/samples/olympic.c                                 |   20 
 progs/samples/overlay.c                                 |   18 
 progs/samples/rgbtoppm.c                                |   31 
 progs/samples/sphere.c                                  |   30 
 progs/samples/star.c                                    |   20 
 progs/samples/stretch.c                                 |   20 
 progs/samples/wave.c                                    |    2 
 progs/util/readtex.c                                    |   20 
 progs/xdemos/glsync.c                                   |    2 
 progs/xdemos/glxheads.c                                 |   32 
 progs/xdemos/manywin.c                                  |   34 
 progs/xdemos/sharedtex_mt.c                             |    4 
 src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c     |  281 ++++---
 src/gallium/auxiliary/rbug/rbug_context.h               |    2 
 src/gallium/auxiliary/rbug/rbug_proto.h                 |    2 
 src/gallium/auxiliary/rtasm/rtasm_execmem.c             |   32 
 src/gallium/auxiliary/tgsi/tgsi_exec.c                  |    8 
 src/gallium/auxiliary/tgsi/tgsi_sse2.c                  |   50 -
 src/gallium/auxiliary/tgsi/tgsi_ureg.c                  |    8 
 src/gallium/auxiliary/util/Makefile                     |    1 
 src/gallium/auxiliary/util/u_bitmask.c                  |   32 
 src/gallium/auxiliary/util/u_clear.h                    |    2 
 src/gallium/auxiliary/util/u_debug.c                    |    6 
 src/gallium/auxiliary/util/u_debug.h                    |    2 
 src/gallium/auxiliary/util/u_debug_memory.c             |    8 
 src/gallium/auxiliary/util/u_format.h                   |    2 
 src/gallium/auxiliary/util/u_network.c                  |    8 
 src/gallium/auxiliary/util/u_network.h                  |    2 
 src/gallium/auxiliary/util/u_stream_stdc.c              |    2 
 src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c        |   11 
 src/gallium/drivers/i915/i915_buffer.c                  |    1 
 src/gallium/drivers/i915/i915_state.c                   |    4 
 src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c         |    2 
 src/gallium/drivers/llvmpipe/lp_bld_depth.c             |    2 
 src/gallium/drivers/llvmpipe/lp_bld_flow.c              |    2 
 src/gallium/drivers/llvmpipe/lp_bld_format_aos.c        |    2 
 src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c          |    9 
 src/gallium/drivers/llvmpipe/lp_prim_vbuf.c             |    1 
 src/gallium/drivers/llvmpipe/lp_state_fs.c              |    1 
 src/gallium/drivers/llvmpipe/lp_test_conv.c             |    2 
 src/gallium/drivers/llvmpipe/lp_tex_cache.h             |    2 
 src/gallium/drivers/llvmpipe/lp_tex_sample_c.c          |    2 
 src/gallium/drivers/llvmpipe/lp_tile_soa.h              |    2 
 src/gallium/drivers/llvmpipe/lp_winsys.h                |    2 
 src/gallium/drivers/nv50/nv50_query.c                   |    2 
 src/gallium/drivers/r300/r300_cs.h                      |    2 
 src/gallium/drivers/r300/r300_emit.c                    |    4 
 src/gallium/drivers/r300/r300_flush.c                   |    1 
 src/gallium/drivers/r300/r300_reg.h                     |   16 
 src/gallium/drivers/r300/r300_state_derived.c           |    2 
 src/gallium/drivers/softpipe/sp_prim_vbuf.c             |    1 
 src/gallium/drivers/softpipe/sp_quad_blend.c            |    2 
 src/gallium/drivers/svga/svga_context.c                 |   44 -
 src/gallium/drivers/svga/svga_context.h                 |    9 
 src/gallium/drivers/svga/svga_draw.c                    |    3 
 src/gallium/drivers/svga/svga_pipe_fs.c                 |   10 
 src/gallium/drivers/svga/svga_pipe_vs.c                 |   10 
 src/gallium/drivers/svga/svga_state_fs.c                |   39 
 src/gallium/drivers/svga/svga_state_vs.c                |   20 
 src/gallium/drivers/svga/svga_tgsi.c                    |    2 
 src/gallium/drivers/trace/tr_context.c                  |    2 
 src/gallium/drivers/trace/tr_dump.c                     |    4 
 src/gallium/drivers/trace/tr_rbug.c                     |    6 
 src/gallium/drivers/trace/tr_state.h                    |    2 
 src/gallium/state_trackers/egl/egl_surface.c            |    4 
 src/gallium/state_trackers/egl/egl_tracker.c            |    3 
 src/gallium/state_trackers/glx/xlib/glx_api.c           |    1 
 src/gallium/state_trackers/vega/api_path.c              |    3 
 src/gallium/state_trackers/vega/arc.c                   |    2 
 src/gallium/state_trackers/vega/bezier.c                |    1 
 src/gallium/state_trackers/vega/stroker.c               |    4 
 src/gallium/state_trackers/vega/vg_tracker.c            |    1 
 src/gallium/state_trackers/xorg/xorg_crtc.c             |   10 
 src/gallium/state_trackers/xorg/xorg_driver.c           |   29 
 src/gallium/state_trackers/xorg/xorg_exa.c              |    4 
 src/gallium/state_trackers/xorg/xorg_exa_tgsi.c         |   33 
 src/gallium/state_trackers/xorg/xorg_renderer.c         |    1 
 src/gallium/winsys/gdi/SConscript                       |    2 
 src/gallium/winsys/xlib/xlib_brw_context.c              |  209 +++++
 src/glu/sgi/libnurbs/interface/bezierPatchMesh.h        |    1 
 src/glu/sgi/libnurbs/interface/glsurfeval.h             |    2 
 src/glu/sgi/libnurbs/internals/arcsorter.h              |    1 
 src/glu/sgi/libnurbs/internals/displaylist.h            |    1 
 src/glu/sgi/libnurbs/internals/gridvertex.h             |    2 
 src/glu/sgi/libnurbs/internals/knotvector.cc            |    3 
 src/glu/sgi/libnurbs/internals/mesher.cc                |    3 
 src/glu/sgi/libnurbs/internals/reader.cc                |    2 
 src/glu/sgi/libnurbs/internals/reader.h                 |   14 
 src/glu/sgi/libnurbs/internals/renderhints.cc           |    4 
 src/glu/sgi/libnurbs/internals/simplemath.h             |    2 
 src/glu/sgi/libnurbs/internals/slicer.cc                |    4 
 src/glu/sgi/libnurbs/internals/subdivider.cc            |    6 
 src/glu/sgi/libnurbs/internals/varray.cc                |    8 
 src/glu/sgi/libnurbs/nurbtess/directedLine.cc           |   32 
 src/glu/sgi/libnurbs/nurbtess/monoChain.cc              |    1 
 src/glu/sgi/libnurbs/nurbtess/partitionY.cc             |    4 
 src/glu/sgi/libnurbs/nurbtess/sampleCompBot.cc          |    4 
 src/glu/sgi/libnurbs/nurbtess/sampleCompTop.cc          |    4 
 src/glu/sgi/libnurbs/nurbtess/sampledLine.cc            |    3 
 src/glx/x11/dri2.c                                      |    4 
 src/glx/x11/dri_glx.c                                   |   13 
 src/glx/x11/glxcmds.c                                   |    4 
 src/glx/x11/glxcurrent.c                                |    7 
 src/glx/x11/glxext.c                                    |    5 
 src/glx/x11/xf86dri.h                                   |    4 
 src/mesa/Makefile                                       |    2 
 src/mesa/drivers/common/meta.c                          |   47 -
 src/mesa/drivers/dri/ffb/ffb_tris.c                     |    2 
 src/mesa/drivers/dri/i810/i810tex.h                     |    1 
 src/mesa/drivers/dri/i915/i915_program.c                |    2 
 src/mesa/drivers/dri/i915/i915_texstate.c               |    7 
 src/mesa/drivers/dri/i915/intel_render.c                |    4 
 src/mesa/drivers/dri/i965/brw_disasm.c                  |    1 
 src/mesa/drivers/dri/i965/brw_draw_upload.c             |    6 
 src/mesa/drivers/dri/i965/brw_eu_emit.c                 |    4 
 src/mesa/drivers/dri/i965/brw_state.h                   |    2 
 src/mesa/drivers/dri/i965/brw_wm_emit.c                 |    4 
 src/mesa/drivers/dri/i965/brw_wm_glsl.c                 |    2 
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c        |   50 -
 src/mesa/drivers/dri/intel/intel_context.h              |    8 
 src/mesa/drivers/dri/intel/intel_pixel_bitmap.c         |    3 
 src/mesa/drivers/dri/intel/intel_tex_copy.c             |    7 
 src/mesa/drivers/dri/r300/compiler/memory_pool.c        |    4 
 src/mesa/drivers/dri/r300/compiler/radeon_code.c        |    3 
 src/mesa/drivers/dri/r300/compiler/radeon_compiler.c    |   11 
 src/mesa/drivers/dri/r300/compiler/radeon_program.c     |    6 
 src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c |   30 
 src/mesa/drivers/dri/r600/r600_context.h                |    1 
 src/mesa/drivers/dri/r600/r600_texstate.c               |   46 -
 src/mesa/drivers/dri/r600/r700_assembler.c              |   20 
 src/mesa/drivers/dri/r600/r700_assembler.h              |    1 
 src/mesa/drivers/dri/r600/r700_chip.c                   |    5 
 src/mesa/drivers/dri/r600/r700_vertprog.c               |    8 
 src/mesa/drivers/dri/r600/r700_vertprog.h               |    1 
 src/mesa/drivers/dri/radeon/radeon_cs_legacy.c          |    2 
 src/mesa/drivers/dri/radeon/radeon_tcl.c                |    1 
 src/mesa/drivers/dri/sis/sis_context.c                  |    2 
 src/mesa/drivers/dri/tdfx/tdfx_dd.c                     |    2 
 src/mesa/drivers/dri/tdfx/tdfx_tex.c                    |    2 
 src/mesa/drivers/dri/tdfx/tdfx_texstate.c               |    2 
 src/mesa/main/attrib.c                                  |   47 -
 src/mesa/main/dispatch.c                                |    4 
 src/mesa/main/enums.c                                   |  465 +++++------
 src/mesa/main/formats.c                                 |    1 
 src/mesa/main/image.c                                   |    2 
 src/mesa/main/texgetimage.c                             |    2 
 src/mesa/main/texparam.c                                |    1 
 src/mesa/main/version.h                                 |    8 
 src/mesa/shader/nvfragparse.c                           |    2 
 src/mesa/shader/prog_optimize.c                         |    2 
 src/mesa/shader/prog_parameter.c                        |    8 
 src/mesa/shader/prog_parameter_layout.c                 |   16 
 src/mesa/shader/prog_print.c                            |    8 
 src/mesa/shader/program_parse.tab.c                     |  627 ++++++++--------
 src/mesa/shader/program_parse.tab.h                     |    2 
 src/mesa/shader/program_parse.y                         |   95 +-
 src/mesa/shader/program_parser.h                        |    6 
 src/mesa/shader/slang/slang_codegen.c                   |   15 
 src/mesa/shader/slang/slang_codegen.h                   |    1 
 src/mesa/shader/slang/slang_compile.c                   |    3 
 src/mesa/shader/slang/slang_compile_operation.c         |    1 
 src/mesa/state_tracker/st_cb_bufferobjects.c            |   65 +
 src/mesa/state_tracker/st_cb_texture.c                  |    2 
 src/mesa/state_tracker/st_format.c                      |    5 
 src/mesa/state_tracker/st_mesa_to_tgsi.c                |   21 
 src/mesa/swrast/s_span.c                                |   10 
 src/mesa/tnl/t_vb_program.c                             |    7 
 src/mesa/x86/gen_matypes.c                              |   14 
 185 files changed, 2124 insertions(+), 1269 deletions(-)

--- NEW FILE mesa-7.7.1-fixes.patch ---
diff --git a/Makefile b/Makefile
index e927cb9..b10d1fe 100644
--- a/Makefile
+++ b/Makefile
@@ -182,7 +182,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.7
+VERSION=7.7.1
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 DEMO_NAME = MesaDemos-$(VERSION)
diff --git a/configs/darwin b/configs/darwin
index 824f71c..336b54e 100644
--- a/configs/darwin
+++ b/configs/darwin
@@ -49,7 +49,7 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X
 APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
 
 # omit glw lib for now:
-SRC_DIRS = glx/x11 mesa glu glut/glx glew
+SRC_DIRS = glx/x11 mesa gallium glu glut/glx glew
 GLU_DIRS = sgi
 DRIVER_DIRS = osmesa
 #DRIVER_DIRS = dri
diff --git a/configs/default b/configs/default
index 9af816c..c9616bb 100644
--- a/configs/default
+++ b/configs/default
@@ -10,7 +10,7 @@ CONFIG_NAME = default
 # Version info
 MESA_MAJOR=7
 MESA_MINOR=7
-MESA_TINY=0
+MESA_TINY=1
 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
 
 # external projects.  This should be useless now that we use libdrm.
diff --git a/docs/news.html b/docs/news.html
index 2abec2e..0a0be71 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -10,11 +10,15 @@
 
 <H1>News</H1>
 
-<h2>November XX, 2009</h2>
+<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
 release fixing issues found in the 7.6 release.
 </p>
+<p>
+Also, <a href="relnotes-7.7.html">Mesa 7.7</a> is released.  This is a new
+development release.
+</p>
 
 
 <h2>September 28, 2009</h2>
diff --git a/docs/relnotes-7.6.1.html b/docs/relnotes-7.6.1.html
index a41bcee..1d0ecd2 100644
--- a/docs/relnotes-7.6.1.html
+++ b/docs/relnotes-7.6.1.html
@@ -8,7 +8,7 @@
 
 <body bgcolor="#eeeeee">
 
-<H1>Mesa 7.6.1 Release Notes, (date tbd)</H1>
+<H1>Mesa 7.6.1 Release Notes, 21 December 2009</H1>
 
 <p>
 Mesa 7.6.1 is a bug-fix release fixing issues since version 7.6.
@@ -26,7 +26,15 @@ for DRI hardware acceleration.
 
 <h2>MD5 checksums</h2>
 <pre>
-tbd
+e80fabad2e3eb7990adae773d6aeacba  MesaLib-7.6.1.tar.gz
+7db4617e9e10ad3aca1b64339fd71b7d  MesaLib-7.6.1.tar.bz2
+dd3275dbf9833480d2e92d0c69b22abd  MesaLib-7.6.1.zip
+f7fdcfe3c0f363e571c60f02f74368fb  MesaDemos-7.6.1.tar.gz
+a4226f06732a02556fcf6be290b86dff  MesaDemos-7.6.1.tar.bz2
+849425f356bd940726cebedfa79de176  MesaDemos-7.6.1.zip
+d40cc7c5e337a85b674e27a8e494f52f  MesaGLUT-7.6.1.tar.gz
+ca9aecb91f05b1da9fd7d5eeb19d47d7  MesaGLUT-7.6.1.tar.bz2
+23fad8398004c977a1d8953079b72ca6  MesaGLUT-7.6.1.zip
 </pre>
 
 
diff --git a/docs/relnotes-7.7.1.html b/docs/relnotes-7.7.1.html
new file mode 100644
index 0000000..b20c8a7
--- /dev/null
+++ b/docs/relnotes-7.7.1.html
@@ -0,0 +1,50 @@
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.7.1 Release Notes / date tbd</H1>
+
+<p>
+Mesa 7.7.1 is a bug-fix release.
+</p>
+<p>
+Mesa 7.7.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>
+tbd
+</pre>
+
+
+<h2>New features</h2>
+<ul>
+<li>tbd
+</ul>
+
+
+<h2>Bug fixes</h2>
+<ul>
+<li>Assorted fixes to VMware SVGA gallium driver.
+<li>Fixed broken blending to multiple color buffers in swrast driver.
+<li>Allocate constants more tightly in GL_ARB_vertex/fragment parser.
+<li>Fixed mipmap generation bug caused by invalid viewport state.
+<li>Gallium SSE codegen for XPD didn't always work.
+</ul>
+
+
+</body>
+</html>
diff --git a/docs/relnotes-7.7.html b/docs/relnotes-7.7.html
index 8c8f763..c1ed654 100644
--- a/docs/relnotes-7.7.html
+++ b/docs/relnotes-7.7.html
@@ -8,7 +8,7 @@
 
 <body bgcolor="#eeeeee">
 
-<H1>Mesa 7.7 Release Notes / date TBD</H1>
+<H1>Mesa 7.7 Release Notes / 21 December 2009</H1>
 
 <p>
 Mesa 7.7 is a new development release.
@@ -28,7 +28,15 @@ for DRI hardware acceleration.
 
 <h2>MD5 checksums</h2>
 <pre>
-tbd
+395c9516edf1ad54b0934d8db15557bf  MesaLib-7.7.tar.gz
+e3fa64a1508bc23dd9de9dd2cea7cfb1  MesaLib-7.7.tar.bz2
+e54903eb5e49c3969821fa16b32da245  MesaLib-7.7.zip
+53b5b6f78e55de170d43c98cb6aaab7e  MesaDemos-7.7.tar.gz
+6fd616b27b9826d0faa23e08e05d9435  MesaDemos-7.7.tar.bz2
+240fe06159ad73d5e22c27033b66c80a  MesaDemos-7.7.zip
+9fe11a904b2a9d8cd06cc52bc330b716  MesaGLUT-7.7.tar.gz
+e8dceed05a59a2d3c2619d7d734587e3  MesaGLUT-7.7.tar.bz2
+96af041d435349ee23ead4667ec36363  MesaGLUT-7.7.zip
 </pre>
 
 
diff --git a/docs/relnotes.html b/docs/relnotes.html
index b301ee0..b06548a 100644
--- a/docs/relnotes.html
+++ b/docs/relnotes.html
@@ -13,6 +13,7 @@ The release notes summarize what's new or changed in each Mesa release.
 </p>
 
 <UL>
+<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>
 <LI><A HREF="relnotes-7.6.html">7.6 release notes</A>
diff --git a/include/GL/gl_mangle.h b/include/GL/gl_mangle.h
index 59f6149..b292840 100644
--- a/include/GL/gl_mangle.h
+++ b/include/GL/gl_mangle.h
@@ -30,6 +30,7 @@
 /*REGENERATE_TO_END-----------ALL LINES BELOW HERE GET REPLACED ON REGENERATION */
 
 #define glAccum		MANGLE(Accum)
+#define glActiveProgramEXT		MANGLE(ActiveProgramEXT)
 #define glActiveStencilFaceEXT		MANGLE(ActiveStencilFaceEXT)
 #define glActiveTextureARB		MANGLE(ActiveTextureARB)
[...9358 lines suppressed...]
    
+   if (!length)
+      return;
+
    pipe_buffer_flush_mapped_range(pipe->screen, st_obj->buffer, 
                                   obj->Offset + offset, length);
 }
@@ -292,7 +332,9 @@ st_bufferobj_unmap(GLcontext *ctx, GLenum target, struct gl_buffer_object *obj)
    struct pipe_context *pipe = st_context(ctx)->pipe;
    struct st_buffer_object *st_obj = st_buffer_object(obj);
 
-   pipe_buffer_unmap(pipe->screen, st_obj->buffer);
+   if(obj->Length)
+      pipe_buffer_unmap(pipe->screen, st_obj->buffer);
+
    obj->Pointer = NULL;
    obj->Offset = 0;
    obj->Length = 0;
@@ -315,6 +357,9 @@ st_copy_buffer_subdata(GLcontext *ctx,
    struct st_buffer_object *dstObj = st_buffer_object(dst);
    ubyte *srcPtr, *dstPtr;
 
+   if(!size)
+      return;
+
    /* buffer should not already be mapped */
    assert(!src->Pointer);
    assert(!dst->Pointer);
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index d4630a5..cb9106c 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1090,7 +1090,7 @@ st_TexSubimage(GLcontext *ctx, GLint dims, GLenum target, GLint level,
 done:
    _mesa_unmap_teximage_pbo(ctx, packing);
 
-   if (stImage->pt) {
+   if (stImage->pt && texImage->Data) {
       st_texture_image_unmap(ctx->st, stImage);
       texImage->Data = NULL;
    }
diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index 02f8005..2785728 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -99,7 +99,8 @@ st_get_format_info(enum pipe_format format, struct pipe_format_info *pinfo)
       if (format == PIPE_FORMAT_A1R5G5B5_UNORM || format == PIPE_FORMAT_R5G6B5_UNORM) {
          pinfo->datatype = GL_UNSIGNED_SHORT;
       }
-      else if (format == PIPE_FORMAT_S8Z24_UNORM) {
+      else if (format == PIPE_FORMAT_S8Z24_UNORM ||
+               format == PIPE_FORMAT_Z24S8_UNORM) {
          pinfo->datatype = GL_UNSIGNED_INT_24_8;
       }
       else {
@@ -291,6 +292,8 @@ st_pipe_format_to_mesa_format(enum pipe_format pipeFormat)
       return MESA_FORMAT_ARGB8888;
    case PIPE_FORMAT_X8R8G8B8_UNORM:
       return MESA_FORMAT_XRGB8888;
+   case PIPE_FORMAT_B8G8R8A8_UNORM:
+      return MESA_FORMAT_ARGB8888_REV;
    case PIPE_FORMAT_A1R5G5B5_UNORM:
       return MESA_FORMAT_ARGB1555;
    case PIPE_FORMAT_A4R4G4B4_UNORM:
diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c
index bd94c9d..0b7786c 100644
--- a/src/mesa/state_tracker/st_mesa_to_tgsi.c
+++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c
@@ -160,13 +160,14 @@ dst_register( struct st_translate *t,
 static struct ureg_src
 src_register( struct st_translate *t,
               gl_register_file file,
-              GLuint index )
+              GLint index )
 {
    switch( file ) {
    case PROGRAM_UNDEFINED:
       return ureg_src_undef();
 
    case PROGRAM_TEMPORARY:
+      ASSERT(index >= 0);
       if (ureg_dst_is_undef(t->temps[index]))
          t->temps[index] = ureg_DECL_temporary( t->ureg );
       return ureg_src(t->temps[index]);
@@ -174,9 +175,15 @@ src_register( struct st_translate *t,
    case PROGRAM_STATE_VAR:
    case PROGRAM_NAMED_PARAM:
    case PROGRAM_ENV_PARAM:
+   case PROGRAM_LOCAL_PARAM:
    case PROGRAM_UNIFORM:
-   case PROGRAM_CONSTANT:       /* ie, immediate */
+      ASSERT(index >= 0);
       return t->constants[index];
+   case PROGRAM_CONSTANT:       /* ie, immediate */
+      if (index < 0)
+         return ureg_DECL_constant( t->ureg, 0 );
+      else
+         return t->constants[index];
 
    case PROGRAM_INPUT:
       return t->inputs[t->inputMapping[index]];
@@ -263,9 +270,14 @@ translate_src( struct st_translate *t,
    if (SrcReg->Abs) 
       src = ureg_abs(src);
 
-   if (SrcReg->RelAddr) 
+   if (SrcReg->RelAddr) {
       src = ureg_src_indirect( src, ureg_src(t->address[0]));
-   
+      /* If SrcReg->Index was negative, it was set to zero in
+       * src_register().  Reassign it now.
+       */
+      src.Index = SrcReg->Index;
+   }
+
    return src;
 }
 
@@ -805,6 +817,7 @@ st_translate_mesa_program(
       for (i = 0; i < program->Parameters->NumParameters; i++) {
          switch (program->Parameters->Parameters[i].Type) {
          case PROGRAM_ENV_PARAM:
+         case PROGRAM_LOCAL_PARAM:
          case PROGRAM_STATE_VAR:
          case PROGRAM_NAMED_PARAM:
          case PROGRAM_UNIFORM:
diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c
index d36c813..1a51d4f 100644
--- a/src/mesa/swrast/s_span.c
+++ b/src/mesa/swrast/s_span.c
@@ -1766,9 +1766,7 @@ _swrast_get_row(GLcontext *ctx, struct gl_renderbuffer *rb,
 
 
 /**
- * Get RGBA pixels from the given renderbuffer.  Put the pixel colors into
- * the span's specular color arrays.  The specular color arrays should no
- * longer be needed by time this function is called.
+ * Get RGBA pixels from the given renderbuffer.
  * Used by blending, logicop and masking functions.
  * \return pointer to the colors we read.
  */
@@ -1779,10 +1777,8 @@ _swrast_get_dest_rgba(GLcontext *ctx, struct gl_renderbuffer *rb,
    const GLuint pixelSize = RGBA_PIXEL_SIZE(span->array->ChanType);
    void *rbPixels;
 
-   /*
-    * Point rbPixels to a temporary space (use specular color arrays).
-    */
-   rbPixels = span->array->attribs[FRAG_ATTRIB_COL1];
+   /* Point rbPixels to a temporary space */
+   rbPixels = span->array->attribs[FRAG_ATTRIB_MAX - 1];
 
    /* Get destination values from renderbuffer */
    if (span->arrayMask & SPAN_XY) {
diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c
index e69f7d5..a9dae7d 100644
--- a/src/mesa/tnl/t_vb_program.c
+++ b/src/mesa/tnl/t_vb_program.c
@@ -390,6 +390,13 @@ run_vp( GLcontext *ctx, struct tnl_pipeline_stage *stage )
 #endif
          COPY_4V(store->results[attr].data[i], machine.Outputs[attr]);
       }
+
+      /* FOGC is a special case.  Fragment shader expects (f,0,0,1) */
+      if (program->Base.OutputsWritten & BITFIELD64_BIT(VERT_RESULT_FOGC)) {
+         store->results[VERT_RESULT_FOGC].data[i][1] = 0.0;
+         store->results[VERT_RESULT_FOGC].data[i][2] = 0.0;
+         store->results[VERT_RESULT_FOGC].data[i][3] = 1.0;
+      }
 #ifdef NAN_CHECK
       ASSERT(machine.Outputs[0][3] != 0.0F);
 #endif
diff --git a/src/mesa/x86/gen_matypes.c b/src/mesa/x86/gen_matypes.c
index d56b701..771d9df 100644
--- a/src/mesa/x86/gen_matypes.c
+++ b/src/mesa/x86/gen_matypes.c
@@ -61,21 +61,11 @@ do {									\
    printf( "\n" );							\
 } while (0)
 
-#if defined(__BEOS__) || defined(__HAIKU__) || defined(_LP64)
 #define OFFSET( s, t, m )						\
-   printf( "#define %s\t%ld\n", s, offsetof( t, m ) );
-#else
-#define OFFSET( s, t, m )						\
-   printf( "#define %s\t%d\n", s, offsetof( t, m ) );
-#endif
+   printf( "#define %s\t%lu\n", s, (unsigned long) offsetof( t, m ) );
 
-#if defined(__BEOS__) || defined(__HAIKU__) || defined(_LP64)
-#define SIZEOF( s, t )							\
-   printf( "#define %s\t%ld\n", s, sizeof(t) );
-#else
 #define SIZEOF( s, t )							\
-   printf( "#define %s\t%d\n", s, sizeof(t) );
-#endif
+   printf( "#define %s\t%lu\n", s, (unsigned long) sizeof(t) );
 
 #define DEFINE( s, d )							\
    printf( "#define %s\t0x%x\n", s, d );


Index: mesa.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/F-12/mesa.spec,v
retrieving revision 1.261
retrieving revision 1.262
diff -u -p -r1.261 -r1.262
--- mesa.spec	6 Jan 2010 04:53:05 -0000	1.261
+++ mesa.spec	11 Jan 2010 03:44:36 -0000	1.262
@@ -21,7 +21,7 @@
 Summary: Mesa graphics libraries
 Name: mesa
 Version: 7.7
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: MIT
 Group: System Environment/Libraries
 URL: http://www.mesa3d.org
@@ -37,6 +37,7 @@ Source3: make-git-snapshot.sh
 
 Source5: http://www.x.org/pub/individual/app/%{xdriinfo}.tar.bz2
 
+Patch0: mesa-7.7.1-fixes.patch
 Patch1: mesa-7.1-osmesa-version.patch
 Patch2: mesa-7.1-nukeglthread-debug.patch
 Patch3: mesa-no-mach64.patch
@@ -172,8 +173,9 @@ This package provides some demo applicat
 
 
 %prep
-%setup -q -n Mesa-%{version}%{?snapshot} -b0 -b1 -b2 -b5
+%setup -q -n Mesa-%{version}%{?snapshot} -b1 -b2 -b5
 #setup -q -n mesa-%{gitdate} -b2 -b5
+%patch0 -p1 -b .mesa771
 %patch1 -p1 -b .osmesa
 %patch2 -p1 -b .intel-glthread
 %patch3 -p1 -b .no-mach64
@@ -391,6 +393,9 @@ rm -rf $RPM_BUILD_ROOT
 %{demodir}
 
 %changelog
+* Mon Jan 11 2010 Dave Airlie <airlied at redhat.com> 7.7-2
+- add fixes from mesa 7.7 branch (fix r100 colors hopefully)
+
 * Tue Jan 05 2010 Dave Airlie <airlied at redhat.com> 7.7-1
 - rebase to 7.7 release - the best base to move forward at this point in time.
 - bump libdrm requires



More information about the scm-commits mailing list