mesa: Changes to 'upstream-unstable'
Makefile | 9
common.py | 2
configs/autoconf.in | 2
configs/default | 2
configure.ac | 14
docs/README.WIN32 | 23
docs/news.html | 18
docs/relnotes-7.5.2.html | 13
docs/relnotes-7.6.1.html | 70 ++
docs/relnotes.html | 1
include/GL/gl_mangle.h | 42 +
include/GL/glext.h | 218 ++++++
include/GL/glx_mangle.h | 1
include/GL/glxext.h | 96 ++-
include/GL/wglext.h | 45 +
progs/.gitignore | 1
progs/Makefile | 4
progs/demos/fogcoord.c | 2
progs/demos/fslight.c | 1
progs/demos/ipers.c | 2
progs/demos/projtex.c | 3
progs/demos/ray.c | 2
progs/fp/Makefile | 1
progs/fp/fp-tri.c | 2
progs/fp/point-position.c | 2
progs/fp/tri-depth.c | 2
progs/fp/tri-depth2.c | 2
progs/fp/tri-depthwrite.c | 2
progs/fp/tri-depthwrite2.c | 2
progs/fp/tri-inv.c | 2
progs/fp/tri-param.c | 2
progs/fp/tri-tex.c | 2
progs/glsl/CH18-mandel.frag | 2
progs/glsl/Makefile | 17
progs/glsl/bump.c | 2
progs/glsl/convolutions.c | 2
progs/glsl/deriv.c | 1
progs/glsl/multinoise.c | 11
progs/glsl/noise.c | 3
progs/glsl/skinning.c | 3
progs/glsl/texaaline.c | 3
progs/glsl/trirast.c | 6
progs/glsl/twoside.c | 3
progs/redbook/quadric.c | 2
progs/samples/Makefile | 2
progs/samples/rgbtoppm.c | 4
progs/tests/Makefile | 1
progs/tests/SConscript | 1
progs/tests/arraytexture.c | 19
progs/tests/blitfb.c | 259 ++++++++
progs/tests/copypixrate.c | 2
progs/tests/crossbar.c | 2
progs/tests/drawbuffers.c | 17
progs/tests/invert.c | 2
progs/tests/minmag.c | 1
progs/tests/mipmap_comp.c | 6
progs/tests/prog_parameter.c | 20
progs/tests/random.c | 2
progs/tests/shader_api.c | 6
progs/tests/stencil_twoside.c | 6
progs/tests/texcmp.c | 8
progs/tests/texdown.c | 5
progs/tests/vao-01.c | 8
progs/tests/vao-02.c | 8
progs/trivial/clear-fbo-tex.c | 2
progs/trivial/clear-fbo.c | 2
progs/trivial/clear-random.c | 2
progs/trivial/clear-scissor.c | 2
progs/trivial/clear.c | 2
progs/trivial/createwin.c | 2
progs/trivial/dlist-begin-call-end.c | 2
progs/trivial/dlist-dangling.c | 2
progs/trivial/dlist-edgeflag-dangling.c | 2
progs/trivial/dlist-edgeflag.c | 2
progs/trivial/dlist-flat-tri.c | 2
progs/trivial/dlist-mat-tri.c | 2
progs/trivial/dlist-recursive-call.c | 2
progs/trivial/dlist-tri-flat-tri.c | 2
progs/trivial/dlist-tri-mat-tri.c | 2
progs/trivial/line-clip.c | 2
progs/trivial/line-cull.c | 2
progs/trivial/line-flat.c | 2
progs/trivial/line-stipple-wide.c | 2
progs/trivial/line-userclip-clip.c | 2
progs/trivial/line-userclip-nop-clip.c | 2
progs/trivial/line-userclip-nop.c | 2
progs/trivial/line-userclip.c | 2
progs/trivial/line-wide.c | 2
progs/trivial/line.c | 2
progs/trivial/lineloop-clip.c | 2
progs/trivial/lineloop.c | 2
progs/trivial/linestrip-clip.c | 2
progs/trivial/linestrip-flat-stipple.c | 2
progs/trivial/linestrip-stipple-wide.c | 2
progs/trivial/linestrip-stipple.c | 2
progs/trivial/linestrip.c | 2
progs/trivial/point-clip.c | 2
progs/trivial/point-param.c | 2
progs/trivial/point-sprite.c | 2
progs/trivial/point-wide-smooth.c | 2
progs/trivial/point-wide.c | 2
progs/trivial/point.c | 2
progs/trivial/poly-flat-clip.c | 2
progs/trivial/poly-flat-unfilled-clip.c | 2
progs/trivial/poly-flat.c | 2
progs/trivial/poly-unfilled.c | 2
progs/trivial/poly.c | 2
progs/trivial/quad-clip-all-vertices.c | 2
progs/trivial/quad-clip.c | 2
progs/trivial/quad-degenerate.c | 2
progs/trivial/quad-flat.c | 2
progs/trivial/quad-offset-factor.c | 2
progs/trivial/quad-offset-unfilled.c | 2
progs/trivial/quad-offset-units.c | 2
progs/trivial/quad-tex-alpha.c | 2
progs/trivial/quad-tex-pbo.c | 2
progs/trivial/quad-unfilled-clip.c | 2
progs/trivial/quad-unfilled-stipple.c | 2
progs/trivial/quad-unfilled.c | 2
progs/trivial/quad.c | 2
progs/trivial/quads.c | 2
progs/trivial/quadstrip-cont.c | 2
progs/trivial/quadstrip-flat.c | 2
progs/trivial/quadstrip.c | 2
progs/trivial/readpixels.c | 2
progs/trivial/tri-alpha-tex.c | 2
progs/trivial/tri-alpha.c | 2
progs/trivial/tri-blend-color.c | 2
progs/trivial/tri-clear.c | 2
progs/trivial/tri-clip.c | 2
progs/trivial/tri-cull-both.c | 2
progs/trivial/tri-dlist.c | 2
progs/trivial/tri-fbo.c | 2
progs/trivial/tri-flat-clip.c | 2
progs/trivial/tri-flat.c | 2
progs/trivial/tri-fog.c | 2
progs/trivial/tri-fp-const-imm.c | 2
progs/trivial/tri-fp.c | 2
progs/trivial/tri-lit-material.c | 2
progs/trivial/tri-lit.c | 2
progs/trivial/tri-multitex-vbo.c | 2
progs/trivial/tri-orig.c | 2
progs/trivial/tri-query.c | 7
progs/trivial/tri-scissor-tri.c | 2
progs/trivial/tri-square.c | 2
progs/trivial/tri-stipple.c | 2
progs/trivial/tri-tex-3d.c | 2
progs/trivial/tri-tex.c | 2
progs/trivial/tri-tri.c | 2
progs/trivial/tri-unfilled-clip.c | 2
progs/trivial/tri-unfilled-edgeflag.c | 2
progs/trivial/tri-unfilled-point.c | 2
progs/trivial/tri-unfilled-smooth.c | 2
progs/trivial/tri-unfilled-tri-lit.c | 2
progs/trivial/tri-unfilled-tri.c | 2
progs/trivial/tri-unfilled-userclip-stip.c | 2
progs/trivial/tri-unfilled-userclip.c | 2
progs/trivial/tri-unfilled.c | 2
progs/trivial/tri-userclip.c | 2
progs/trivial/tri-z-9.c | 2
progs/trivial/tri-z-eq.c | 2
progs/trivial/trifan-flat-clip.c | 2
progs/trivial/trifan-flat-unfilled-clip.c | 2
progs/trivial/trifan-flat.c | 2
progs/trivial/trifan-unfilled.c | 2
progs/trivial/trifan.c | 2
progs/trivial/tristrip-clip.c | 2
progs/trivial/tristrip-flat.c | 2
progs/trivial/tristrip.c | 2
progs/trivial/vp-tri-cb-pos.c | 2
progs/trivial/vp-tri-cb-tex.c | 2
progs/trivial/vp-tri-invariant.c | 2
progs/util/readtex.c | 24
progs/util/shaderutil.c | 11
progs/vp/vp-tris.c | 2
progs/vpglsl/psiz-mul.glsl | 2
progs/vpglsl/vp-tris.c | 12
progs/xdemos/corender.c | 1
progs/xdemos/glsync.c | 2
progs/xdemos/glxinfo.c | 21
progs/xdemos/offset.c | 1
progs/xdemos/pbdemo.c | 18
progs/xdemos/sharedtex_mt.c | 8
src/gallium/auxiliary/cso_cache/cso_context.c | 2
src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c | 7
src/gallium/auxiliary/draw/draw_pt_post_vs.c | 2
src/gallium/auxiliary/draw/draw_pt_vcache.c | 2
src/gallium/auxiliary/draw/draw_vs_aos.c | 6
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c | 2
src/gallium/auxiliary/translate/translate_generic.c | 2
src/gallium/auxiliary/util/u_cpu_detect.c | 2
src/gallium/auxiliary/util/u_debug_profile.c | 2
src/gallium/auxiliary/util/u_debug_symbol.c | 2
src/gallium/auxiliary/util/u_gen_mipmap.c | 1
src/gallium/auxiliary/util/u_pack_color.h | 5
src/gallium/drivers/cell/ppu/cell_gen_fp.c | 4
src/gallium/drivers/r300/Makefile | 2
src/gallium/drivers/softpipe/sp_context.c | 9
src/gallium/drivers/softpipe/sp_fs_sse.c | 2
src/gallium/drivers/softpipe/sp_state_surface.c | 4
src/gallium/drivers/softpipe/sp_tile_cache.c | 10
src/gallium/state_trackers/glx/xlib/glx_api.c | 60 +
src/gallium/state_trackers/glx/xlib/xm_api.c | 2
src/gallium/state_trackers/glx/xlib/xm_api.h | 7
src/gallium/state_trackers/xorg/xorg_crtc.c | 4
src/gallium/state_trackers/xorg/xorg_output.c | 4
src/gallium/winsys/xlib/xlib_cell.c | 1
src/glu/sgi/libtess/mesh.c | 7
src/glu/sgi/libutil/mipmap.c | 10
src/glx/x11/dri_glx.c | 4
src/glx/x11/glxcmds.c | 43 -
src/mesa/drivers/common/meta.c | 32 -
src/mesa/drivers/dri/Makefile | 2
src/mesa/drivers/dri/i915/i830_texstate.c | 13
src/mesa/drivers/dri/i915/i915_context.h | 1
src/mesa/drivers/dri/i915/i915_state.c | 32 -
src/mesa/drivers/dri/i915/i915_texstate.c | 13
src/mesa/drivers/dri/i915/intel_tris.c | 8
src/mesa/drivers/dri/i965/brw_clip.c | 1
src/mesa/drivers/dri/i965/brw_clip.h | 7
src/mesa/drivers/dri/i965/brw_clip_line.c | 8
src/mesa/drivers/dri/i965/brw_clip_tri.c | 12
src/mesa/drivers/dri/i965/brw_context.h | 3
src/mesa/drivers/dri/i965/brw_draw_upload.c | 19
src/mesa/drivers/dri/i965/brw_fallback.c | 6
src/mesa/drivers/dri/i965/brw_gs.c | 10
src/mesa/drivers/dri/i965/brw_gs.h | 7
src/mesa/drivers/dri/i965/brw_gs_emit.c | 38 -
src/mesa/drivers/dri/i965/brw_sf_state.c | 7
src/mesa/drivers/dri/i965/brw_state.h | 1
src/mesa/drivers/dri/i965/brw_state_cache.c | 49 +
src/mesa/drivers/dri/i965/brw_state_upload.c | 2
src/mesa/drivers/dri/i965/brw_tex_layout.c | 7
src/mesa/drivers/dri/i965/brw_vs_emit.c | 42 -
src/mesa/drivers/dri/i965/brw_vs_surface_state.c | 12
src/mesa/drivers/dri/i965/brw_wm_emit.c | 24
src/mesa/drivers/dri/intel/intel_blit.c | 19
src/mesa/drivers/dri/intel/intel_buffer_objects.c | 2
src/mesa/drivers/dri/intel/intel_context.c | 79 +-
src/mesa/drivers/dri/intel/intel_context.h | 10
src/mesa/drivers/dri/intel/intel_extensions.c | 1
src/mesa/drivers/dri/intel/intel_fbo.c | 25
src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 157 ++--
src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 29
src/mesa/drivers/dri/intel/intel_pixel_bitmap.c | 7
src/mesa/drivers/dri/intel/intel_pixel_read.c | 4
src/mesa/drivers/dri/intel/intel_regions.h | 2
src/mesa/drivers/dri/intel/intel_span.c | 6
src/mesa/drivers/dri/intel/intel_spantmp.h | 4
src/mesa/drivers/dri/intel/intel_syncobj.c | 2
src/mesa/drivers/dri/intel/intel_tex_copy.c | 21
src/mesa/drivers/dri/intel/intel_tex_image.c | 23
src/mesa/drivers/dri/r200/r200_context.c | 4
src/mesa/drivers/dri/r200/r200_state.c | 22
src/mesa/drivers/dri/r200/r200_state.h | 2
src/mesa/drivers/dri/r200/r200_state_init.c | 15
src/mesa/drivers/dri/r300/r300_context.c | 20
src/mesa/drivers/dri/r300/r300_fragprog_common.c | 13
src/mesa/drivers/dri/r300/r300_texstate.c | 20
src/mesa/drivers/dri/r300/r300_vertprog.c | 12
src/mesa/drivers/dri/r600/r600_cmdbuf.c | 18
src/mesa/drivers/dri/r600/r600_context.c | 4
src/mesa/drivers/dri/r600/r600_texstate.c | 12
src/mesa/drivers/dri/r600/r700_assembler.c | 89 ++
src/mesa/drivers/dri/r600/r700_assembler.h | 1
src/mesa/drivers/dri/r600/r700_chip.c | 6
src/mesa/drivers/dri/r600/r700_fragprog.c | 42 +
src/mesa/drivers/dri/r600/r700_oglprog.c | 55 +
src/mesa/drivers/dri/r600/r700_state.c | 20
src/mesa/drivers/dri/radeon/radeon_bo_legacy.c | 4
src/mesa/drivers/dri/radeon/radeon_common.c | 32 -
src/mesa/drivers/dri/radeon/radeon_common.h | 1
src/mesa/drivers/dri/radeon/radeon_context.h | 4
src/mesa/drivers/dri/radeon/radeon_dma.c | 9
src/mesa/drivers/dri/radeon/radeon_fbo.c | 5
src/mesa/drivers/dri/radeon/radeon_lock.c | 9
src/mesa/drivers/dri/radeon/radeon_state.c | 25
src/mesa/drivers/dri/swrast/swrast_span.c | 72 --
src/mesa/drivers/glslcompiler/Makefile | 2
src/mesa/drivers/windows/gdi/mesa.def | 12
src/mesa/drivers/x11/fakeglx.c | 59 +
src/mesa/drivers/x11/xm_span.c | 8
src/mesa/drivers/x11/xmesaP.h | 3
src/mesa/main/compiler.h | 7
src/mesa/main/context.c | 38 -
src/mesa/main/context.h | 8
src/mesa/main/dlist.c | 6
src/mesa/main/fbobject.c | 12
src/mesa/main/get.c | 344 +++++-----
src/mesa/main/get_gen.py | 2
src/mesa/main/histogram.c | 7
src/mesa/main/image.c | 4
src/mesa/main/imports.c | 23
src/mesa/main/mipmap.c | 19
src/mesa/main/points.c | 7
src/mesa/main/renderbuffer.c | 2
src/mesa/main/syncobj.c | 12
src/mesa/main/syncobj.h | 12
src/mesa/main/texcompress.c | 50 +
src/mesa/main/texcompress.h | 4
src/mesa/main/texenv.c | 5
src/mesa/main/texformat.c | 16
src/mesa/main/texgen.c | 10
src/mesa/main/texobj.c | 2
src/mesa/main/texparam.c | 25
src/mesa/main/texstate.c | 22
src/mesa/main/texstore.c | 6
src/mesa/main/version.h | 6
src/mesa/shader/arbprogparse.c | 6
src/mesa/shader/arbprogram.c | 44 +
src/mesa/shader/hash_table.c | 4
src/mesa/shader/lex.yy.c | 385 ++++++------
src/mesa/shader/nvprogram.c | 29
src/mesa/shader/prog_execute.c | 2
src/mesa/shader/prog_optimize.c | 4
src/mesa/shader/prog_parameter.h | 8
src/mesa/shader/program_lexer.l | 9
src/mesa/shader/program_parse.tab.c | 512 ++++++++--------
src/mesa/shader/program_parse.y | 30
src/mesa/shader/shader_api.c | 31
src/mesa/shader/slang/library/slang_common_builtin.gc | 76 +-
src/mesa/shader/slang/library/slang_common_builtin_gc.h | 106 +--
src/mesa/shader/slang/slang_codegen.c | 1
src/mesa/shader/slang/slang_emit.c | 1
src/mesa/shader/slang/slang_ir.c | 1
src/mesa/shader/slang/slang_ir.h | 1
src/mesa/shader/slang/slang_link.c | 9
src/mesa/shader/symbol_table.c | 22
src/mesa/state_tracker/st_cb_drawpixels.c | 32 -
src/mesa/state_tracker/st_cb_fbo.c | 13
src/mesa/state_tracker/st_cb_texture.c | 20
src/mesa/state_tracker/st_framebuffer.c | 7
src/mesa/swrast/s_depth.c | 4
src/mesa/vbo/vbo_exec.h | 2
src/mesa/vbo/vbo_exec_api.c | 6
src/mesa/vbo/vbo_exec_draw.c | 4
windows/VC6/progs/glut/glut.dsp | 333 ----------
windows/VC8/mesa/mesa/mesa.vcproj | 202 +++---
338 files changed, 3318 insertions(+), 2137 deletions(-)
New commits:
commit b2953ee1a655a010f36b5fc1b47f8bd8b06ce368
Author: Vinson Lee <vlee@vmware.com>
Date: Sun Nov 29 00:50:48 2009 -0500
mesa: Fix array out-of-bounds access by _mesa_TexGenf.
_mesa_TexGenf calls _mesa_TexGenfv, which uses the params argument
as an array.
(cherry picked from commit ca5a7aadb4361e7d053aea8687372cd44cbd8795)
diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c
index 13b3374..d3ea7b9 100644
--- a/src/mesa/main/texgen.c
+++ b/src/mesa/main/texgen.c
@@ -206,7 +206,10 @@ _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
void GLAPIENTRY
_mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param )
{
- _mesa_TexGenfv(coord, pname, ¶m);
+ GLfloat p[4];
+ p[0] = param;
+ p[1] = p[2] = p[3] = 0.0F;
+ _mesa_TexGenfv(coord, pname, p);
}
commit d74cd04e6190ebb3a9c53d45cbb2452d92e24ad5
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Nov 28 23:47:23 2009 -0500
mesa: Fix array out-of-bounds access by _mesa_TexGeni.
_mesa_TexGeni calls _mesa_TexGeniv, which uses the params argument
as an array.
(cherry picked from commit d55fb7c835b56951f05a058083e7eda264ba192e)
diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c
index e3feb02..13b3374 100644
--- a/src/mesa/main/texgen.c
+++ b/src/mesa/main/texgen.c
@@ -213,7 +213,10 @@ _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param )
void GLAPIENTRY
_mesa_TexGeni( GLenum coord, GLenum pname, GLint param )
{
- _mesa_TexGeniv( coord, pname, ¶m );
+ GLint p[4];
+ p[0] = param;
+ p[1] = p[2] = p[3] = 0;
+ _mesa_TexGeniv( coord, pname, p );
}
commit ca8a2150c79899bad0f80e132656863822db045e
Author: Vinson Lee <vlee@vmware.com>
Date: Sun Nov 29 21:17:44 2009 -0500
mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
_mesa_TexParameterf calls set_tex_parameterf, which uses the params
argument as an array.
(cherry picked from commit 270d36da146b899d39e08f830fe34b63833a3731)
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 416792f..4ce8c85 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -551,8 +551,13 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param)
}
break;
default:
- /* this will generate an error if pname is illegal */
- need_update = set_tex_parameterf(ctx, texObj, pname, ¶m);
+ {
+ /* this will generate an error if pname is illegal */
+ GLfloat p[4];
+ p[0] = param;
+ p[1] = p[2] = p[3] = 0.0F;
+ need_update = set_tex_parameterf(ctx, texObj, pname, p);
+ }
}
if (ctx->Driver.TexParameter && need_update) {
commit 4071d065c2c32a872bb148d108252a2380c42da4
Author: Vinson Lee <vlee@vmware.com>
Date: Sun Nov 29 18:18:23 2009 -0500
mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
_mesa_TexParameterf calls set_tex_parameteri, which uses the params
argument as an array.
(cherry picked from commit a201dfb6bf28b89d6f511c2ec9ae0d81ef18511d)
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 9d1fdd0..416792f 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -544,8 +544,10 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param)
case GL_DEPTH_TEXTURE_MODE_ARB:
{
/* convert float param to int */
- GLint p = (GLint) param;
- need_update = set_tex_parameteri(ctx, texObj, pname, &p);
+ GLint p[4];
+ p[0] = (GLint) param;
+ p[1] = p[2] = p[3] = 0;
+ need_update = set_tex_parameteri(ctx, texObj, pname, p);
}
break;
default:
commit 1446f30875bfb3b633942bc710b061019472f788
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Dec 5 01:43:29 2009 -0800
progs/samples: Fix memory leak if malloc fails in rgbtoppm.c.
diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c
index 6652bb3..56ca5b0 100644
--- a/progs/samples/rgbtoppm.c
+++ b/progs/samples/rgbtoppm.c
@@ -225,6 +225,7 @@ read_rgb_texture(char *name, int *width, int *height)
if (gbuf) free(gbuf);
if (bbuf) free(bbuf);
if (abuf) free(abuf);
+ ImageClose(image);
return NULL;
}
ptr = base;
commit 412aeeed1c392ab5796c85287fc6ebdccd74880c
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Dec 5 01:38:14 2009 -0800
progs/samples: Fix memory leak if fopen fails in rgbtoppm.c.
diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c
index 116d9a8..6652bb3 100644
--- a/progs/samples/rgbtoppm.c
+++ b/progs/samples/rgbtoppm.c
@@ -86,7 +86,8 @@ static ImageRec *ImageOpen(char *fileName)
exit(1);
}
if ((image->file = fopen(fileName, "rb")) == NULL) {
- return NULL;
+ free(image);
+ return NULL;
}
fread(image, 1, 12, image->file);
commit 6212c8103a5011e08003c8946732edad39fa74c3
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Dec 5 01:28:47 2009 -0800
progs/samples: Add rgbtoppm to Makefile.
diff --git a/progs/samples/Makefile b/progs/samples/Makefile
index b300e38..64fa47a 100644
--- a/progs/samples/Makefile
+++ b/progs/samples/Makefile
@@ -10,7 +10,7 @@ LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(T
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
- font line logo nurb olympic overlay point prim quad select \
+ font line logo nurb olympic overlay point prim rgbtoppm quad select \
shape sphere star stencil stretch texture tri wave
commit 2cd2341ce88a3d485f81d920290a9c1d0ab988da
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Dec 5 01:22:34 2009 -0800
progs/tests: Removed unused variable from texdown.c.
diff --git a/progs/tests/texdown.c b/progs/tests/texdown.c
index e6881d3..92df01b 100644
--- a/progs/tests/texdown.c
+++ b/progs/tests/texdown.c
@@ -162,7 +162,7 @@ MeasureDownloadRate(void)
const int image_bytes = align(w * h * BytesPerTexel(Format), ALIGN);
const int bytes = image_bytes * NR_TEXOBJ;
GLubyte *orig_texImage, *orig_getImage;
- GLubyte *texImage, *getImage;
+ GLubyte *texImage;
GLdouble t0, t1, time;
int count;
int i;
@@ -184,7 +184,6 @@ MeasureDownloadRate(void)
printf("alloc %p %p\n", orig_texImage, orig_getImage);
texImage = (GLubyte *)align((unsigned long)orig_texImage, ALIGN);
- getImage = (GLubyte *)align((unsigned long)orig_getImage, ALIGN);
for (i = 1; !(((unsigned long)texImage) & i); i<<=1)
;
commit d642edd2d10e93c32077a729b13a7c7b0d37d25b
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Dec 5 01:11:26 2009 -0800
progs/vpglsl: Assign glGetUniformLocationARB return value to GLint.
The return type of glGetUniformLocationARB is GLint, not GLuint.
diff --git a/progs/vpglsl/vp-tris.c b/progs/vpglsl/vp-tris.c
index b2b0508..6a1fa3d 100644
--- a/progs/vpglsl/vp-tris.c
+++ b/progs/vpglsl/vp-tris.c
@@ -84,9 +84,9 @@ static void check_link(GLuint prog)
static void setup_uniforms()
{
{
- GLuint loc1f = glGetUniformLocationARB(program, "Offset1f");
- GLuint loc2f = glGetUniformLocationARB(program, "Offset2f");
- GLuint loc4f = glGetUniformLocationARB(program, "Offset4f");
+ GLint loc1f = glGetUniformLocationARB(program, "Offset1f");
+ GLint loc2f = glGetUniformLocationARB(program, "Offset2f");
+ GLint loc4f = glGetUniformLocationARB(program, "Offset4f");
GLfloat vecKer[] =
{ 1.0, 0.0, 0.0, 1.0,
0.0, 1.0, 0.0, 1.0,
@@ -105,9 +105,9 @@ static void setup_uniforms()
}
{
- GLuint loc1f = glGetUniformLocationARB(program, "KernelValue1f");
- GLuint loc2f = glGetUniformLocationARB(program, "KernelValue2f");
- GLuint loc4f = glGetUniformLocationARB(program, "KernelValue4f");
+ GLint loc1f = glGetUniformLocationARB(program, "KernelValue1f");
+ GLint loc2f = glGetUniformLocationARB(program, "KernelValue2f");
+ GLint loc4f = glGetUniformLocationARB(program, "KernelValue4f");
GLfloat vecKer[] =
{ 1.0, 0.0, 0.0, 0.25,
0.0, 1.0, 0.0, 0.25,
commit 8d2f3434c5904e28b5e1bccceba7e89a94502ac1
Author: Vinson Lee <vlee@vmware.com>
Date: Fri Dec 4 23:31:39 2009 -0800
progs/fp: Redraw upon keypress.
diff --git a/progs/fp/tri-inv.c b/progs/fp/tri-inv.c
index 7e8d8c5..7e490fa 100644
--- a/progs/fp/tri-inv.c
+++ b/progs/fp/tri-inv.c
@@ -56,7 +56,7 @@ static void Key(unsigned char key, int x, int y)
case 27:
exit(1);
default:
- return;
+ break;
}
glutPostRedisplay();
commit fe8e18bcd41a19282ba92350a04a34866fda1d7b
Author: Vinson Lee <vlee@vmware.com>
Date: Sat Nov 28 22:04:06 2009 -0500
mesa: Fix array out-of-bounds access in _mesa_TexEnvf.
_mesa_TexEnvf calls _mesa_TexEnvfv, which uses the param argument
as an array.
(cherry picked from commit a11d60d14caf8efc07f70af63b57b33273f8cf9b)
diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c
index 6d86a42..4442fb8 100644
--- a/src/mesa/main/texenv.c
+++ b/src/mesa/main/texenv.c
@@ -598,7 +598,10 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param )
void GLAPIENTRY
_mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param )
{
- _mesa_TexEnvfv( target, pname, ¶m );
+ GLfloat p[4];
+ p[0] = param;
+ p[1] = p[2] = p[3] = 0.0;
+ _mesa_TexEnvfv( target, pname, p );
}
commit 4fb5ae7233e5c358e579ced6155f32461f6edf2d
Author: Vinson Lee <vlee@vmware.com>
Date: Tue Nov 17 12:00:22 2009 -0800
progs/util: Fix memory leak if fread returns 0 in CompileShaderFile.
(cherry picked from commit 11905da8836822f7dd60c84b5eefc72e46c94b50)
diff --git a/progs/util/shaderutil.c b/progs/util/shaderutil.c
index 36e0784..adcf214 100644
--- a/progs/util/shaderutil.c
+++ b/progs/util/shaderutil.c
@@ -99,6 +99,7 @@ CompileShaderFile(GLenum shaderType, const char *filename)
shader = CompileShaderText(shaderType, buffer);
}
else {
+ fclose(f);
free(buffer);
return 0;
}
commit 5683d7d43fd5a02b72f30a2a6d6a9bfeaf2fa781
Author: Vinson Lee <vlee@vmware.com>
Date: Tue Nov 3 14:41:08 2009 -0700
progs/util: Fix memory leak if fail to load/compile shader
Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit c475079ef2d901ba4506ebd53e19419cd46793ab)
diff --git a/progs/util/shaderutil.c b/progs/util/shaderutil.c
index 629b6f1..36e0784 100644
--- a/progs/util/shaderutil.c
+++ b/progs/util/shaderutil.c
@@ -88,6 +88,7 @@ CompileShaderFile(GLenum shaderType, const char *filename)
f = fopen(filename, "r");
if (!f) {
fprintf(stderr, "Unable to open shader file %s\n", filename);
+ free(buffer);
return 0;
}
@@ -98,6 +99,7 @@ CompileShaderFile(GLenum shaderType, const char *filename)
shader = CompileShaderText(shaderType, buffer);
}
else {
+ free(buffer);
return 0;
}
commit e5bc2a19bdaeeda2aa60562f6a580e27c74e9569
Author: Vinson Lee <vlee@vmware.com>
Date: Fri Dec 4 17:29:53 2009 -0800
progs/fp: Add tri-inv.c to Makefile.
diff --git a/progs/fp/Makefile b/progs/fp/Makefile
index 681928c..d77cd32 100755
--- a/progs/fp/Makefile
+++ b/progs/fp/Makefile
@@ -17,6 +17,7 @@ SOURCES = \
tri-depth2.c \
tri-depthwrite.c \
tri-depthwrite2.c \
+ tri-inv.c \
tri-param.c \
fp-tri.c
commit 225bc70b77fcf107dd8abc93be27a15c27743071
Author: Coleman Kane <Coleman Kane>
Date: Fri Dec 4 08:44:57 2009 -0700
r300g: use $(MAKE) variable
Fixes bug 24501
diff --git a/src/gallium/drivers/r300/Makefile b/src/gallium/drivers/r300/Makefile
index d7a2c8c..8d0c6e3 100644
--- a/src/gallium/drivers/r300/Makefile
+++ b/src/gallium/drivers/r300/Makefile
@@ -38,4 +38,4 @@ include ../../Makefile.template
.PHONY : $(COMPILER_ARCHIVE)
$(COMPILER_ARCHIVE):
- cd $(TOP)/src/mesa/drivers/dri/r300/compiler; make
+ $(MAKE) -C $(TOP)/src/mesa/drivers/dri/r300/compiler
commit ca7cd3ade0f27f8f1d9532ad6281659e2522f0cf
Author: Brian Paul <brianp@vmware.com>
Date: Fri Dec 4 08:09:55 2009 -0700
progs/xdemos: fix some visual/fbconfig logic in glxinfo.c
The fbAttribSingle/Double arrays had wrong GLX_DOUBLEBUFFER values.
We only need to use the glXChooseFBConfig() code when glXChooseVisual()
fails (but I don't know when that would happen).
Other recent commits errantly removed some code in this area too.
diff --git a/progs/xdemos/glxinfo.c b/progs/xdemos/glxinfo.c
index b182a30..23df82f 100644
--- a/progs/xdemos/glxinfo.c
+++ b/progs/xdemos/glxinfo.c
@@ -401,6 +401,10 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect, GLboolean limits)
root = RootWindow(dpy, scrnum);
+ /*
+ * Find a basic GLX visual. We'll then create a rendering context and
+ * query various info strings.
+ */
visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
if (!visinfo)
visinfo = glXChooseVisual(dpy, scrnum, attribDouble);
@@ -409,24 +413,29 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect, GLboolean limits)
ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );
#ifdef GLX_VERSION_1_3
- {
+ /* Try glXChooseFBConfig() if glXChooseVisual didn't work.
+ * XXX when would that happen?
+ */
+ if (!visinfo) {
int fbAttribSingle[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
- GLX_DOUBLEBUFFER, GL_TRUE,
+ GLX_DOUBLEBUFFER, GL_FALSE,
None };
int fbAttribDouble[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
+ GLX_DOUBLEBUFFER, GL_TRUE,
None };
GLXFBConfig *configs = NULL;
int nConfigs;
- if (!visinfo)
+ configs = glXChooseFBConfig(dpy, scrnum, fbAttribSingle, &nConfigs);
+ if (!configs)
configs = glXChooseFBConfig(dpy, scrnum, fbAttribDouble, &nConfigs);
if (configs) {
commit fb83fa26c47a49db1673834fd5f013bbcacadf58
Author: Brian Paul <brianp@vmware.com>
Date: Fri Dec 4 08:09:07 2009 -0700
docs: a few more fixes for 7.6.1
diff --git a/docs/relnotes-7.6.1.html b/docs/relnotes-7.6.1.html
index d155cf5..752f9ca 100644
--- a/docs/relnotes-7.6.1.html
+++ b/docs/relnotes-7.6.1.html
@@ -56,6 +56,8 @@ tbd
<li>Fixed clipping / provoking vertex bugs in i965 driver.
<li>Assorted build fixes for AIX.
<li>Endianness fixes for the DRI swrast driver (bug 22767).</li>
+<li>Point sprite fixes for i915/945 driver.
+<li>Fixed assorted memory leaks (usually on error paths)
</ul>
<h2>Changes</h2>
commit 8d8fd9776e23a34e0d22e489ce1f85eb5e383121
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Fri Dec 4 09:52:37 2009 -0500
radeon: fix polygon stipple
fixes fdo bug 25354
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 8032cbc..5b2bcfd 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -262,29 +262,6 @@ void radeonScissor(GLcontext* ctx, GLint x, GLint y, GLsizei w, GLsizei h)
}
}
-void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask )
-{
- radeonContextPtr radeon = RADEON_CONTEXT(ctx);
- GLuint i;
- drm_radeon_stipple_t stipple;
-
- /* Must flip pattern upside down.
- */
- for ( i = 0 ; i < 32 ; i++ ) {
- stipple.mask[31 - i] = ((GLuint *) mask)[i];
- }
-
- /* TODO: push this into cmd mechanism
- */
- radeon_firevertices(radeon);
- LOCK_HARDWARE( radeon );
-
- drmCommandWrite( radeon->dri.fd, DRM_RADEON_STIPPLE,
- &stipple, sizeof(stipple) );
- UNLOCK_HARDWARE( radeon );
-}
-
-
/* ================================================================
* SwapBuffers with client-side throttling
*/
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.h b/src/mesa/drivers/dri/radeon/radeon_common.h
index f320191..a9e1ca4 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.h
+++ b/src/mesa/drivers/dri/radeon/radeon_common.h
@@ -10,7 +10,6 @@ void radeonRecalcScissorRects(radeonContextPtr radeon);
void radeonSetCliprects(radeonContextPtr radeon);
void radeonUpdateScissor( GLcontext *ctx );
void radeonScissor(GLcontext* ctx, GLint x, GLint y, GLsizei w, GLsizei h);
-void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask );
void radeonWaitForIdleLocked(radeonContextPtr radeon);
extern uint32_t radeonGetAge(radeonContextPtr radeon);
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.h b/src/mesa/drivers/dri/radeon/radeon_context.h
index 4e2c52c..12ab33a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.h
+++ b/src/mesa/drivers/dri/radeon/radeon_context.h
@@ -331,8 +331,12 @@ struct r100_hw_state {
struct radeon_state_atom stp;
};
+struct radeon_stipple_state {
+ GLuint mask[32];
+};
struct r100_state {
+ struct radeon_stipple_state stipple;
struct radeon_texture_state texture;
};
diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c b/src/mesa/drivers/dri/radeon/radeon_state.c
index 4d0d35e..f6c733a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_state.c
+++ b/src/mesa/drivers/dri/radeon/radeon_state.c
@@ -550,6 +550,31 @@ static void radeonPolygonOffset( GLcontext *ctx,
rmesa->hw.zbs.cmd[ZBS_SE_ZBIAS_CONSTANT] = constant.ui32;
}
+static void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask )
+{
+ r100ContextPtr rmesa = R100_CONTEXT(ctx);
+ GLuint i;
+ drm_radeon_stipple_t stipple;
+
+ /* Must flip pattern upside down.
+ */
+ for ( i = 0 ; i < 32 ; i++ ) {
+ rmesa->state.stipple.mask[31 - i] = ((GLuint *) mask)[i];
+ }
+
+ /* TODO: push this into cmd mechanism
+ */
+ radeon_firevertices(&rmesa->radeon);
+ LOCK_HARDWARE( &rmesa->radeon );
+
+ /* FIXME: Use window x,y offsets into stipple RAM.
+ */
+ stipple.mask = rmesa->state.stipple.mask;
+ drmCommandWrite( rmesa->radeon.dri.fd, DRM_RADEON_STIPPLE,
+ &stipple, sizeof(drm_radeon_stipple_t) );
+ UNLOCK_HARDWARE( &rmesa->radeon );
+}
+
static void radeonPolygonMode( GLcontext *ctx, GLenum face, GLenum mode )
{
r100ContextPtr rmesa = R100_CONTEXT(ctx);
commit c74afe0c46dbd0f90361c06526f70885a9061e8e
Author: Vinson Lee <vlee@vmware.com>
Date: Thu Nov 26 00:35:31 2009 -0500
glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
(cherry picked from commit 808f0376607b0e2d31dfebc888fd8f1e737fed09)
diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index bf6eaf8..d1fd5a7 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -4108,6 +4108,7 @@ static int gluBuild2DMipmapLevelsCore(GLenum target, GLint internalFormat,
glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
+ free(srcImage);
return GLU_OUT_OF_MEMORY;
}
/* level userLevel+1 is in srcImage; level userLevel already saved */
commit 8df551c46bc15a4b1ce1dc11e083498442018418
Author: Vinson Lee <vlee@vmware.com>
Date: Wed Nov 25 00:39:37 2009 -0500
glu/sgi: Fix memory leak in gluBuild1DMipmapLevelsCore.
(cherry picked from commit 94bcb9f1a43f2ab3bdff09156e3ab5b1c115cbd8)
diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index 796be0a..bf6eaf8 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -3608,6 +3608,7 @@ int gluBuild1DMipmapLevelsCore(GLenum target, GLint internalFormat,
glPixelStorei(GL_UNPACK_SKIP_PIXELS,psm.unpack_skip_pixels);
glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
+ free(newImage);
return GLU_OUT_OF_MEMORY;
}
}
commit ea487c6d0b261bf90e898f51bc9f872de8166ddb
Author: Vinson Lee <vlee@vmware.com>
Date: Wed Nov 25 00:28:56 2009 -0500
glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
(cherry picked from commit 0d89f3dc7ff3f89ba8d5d664253730485bca35e2)
diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index 22d7022..796be0a 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -4349,6 +4349,7 @@ static int gluBuild2DMipmapLevelsCore(GLenum target, GLint internalFormat,
glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
+ free(srcImage);
return GLU_OUT_OF_MEMORY;
}
}
commit 7b5eba453e08dfad151d09ba4d308cbdf4fc83af
Author: Vinson Lee <vlee@vmware.com>
Date: Wed Nov 25 00:18:49 2009 -0500
glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
(cherry picked from commit f895abbd9777c4985aa40cf660c68f6d7333f0ec)
diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index a5d07a5..22d7022 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -8098,6 +8098,7 @@ static int gluBuild3DMipmapLevelsCore(GLenum target, GLint internalFormat,
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
glPixelStorei(GL_UNPACK_SKIP_IMAGES, psm.unpack_skip_images);
glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, psm.unpack_image_height);
+ free(srcImage);
return GLU_OUT_OF_MEMORY;
}
/* level userLevel+1 is in srcImage; level userLevel already saved */
commit 7ed749c062c2bc2b048a34f8e4c6b0a5198e32bb
Author: Vinson Lee <vlee@vmware.com>
Date: Tue Nov 24 01:23:12 2009 -0500
glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
(cherry picked from commit 326b66d724754ca97012501db1c7c62d7d41a457)
diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index c5faebd..a5d07a5 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -8232,6 +8232,7 @@ static int gluBuild3DMipmapLevelsCore(GLenum target, GLint internalFormat,
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
glPixelStorei(GL_UNPACK_SKIP_IMAGES, psm.unpack_skip_images);
Reply to: