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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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 <bri...@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 <v...@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 <bri...@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 <bri...@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 <alexdeuc...@gmail.com> Date: Fri Dec 4 09:52:37 2009 -0500 radeon: fix polygon stipple fixes fdo bug 25354 Signed-off-by: Alex Deucher <alexdeuc...@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 <v...@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 <v...@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 <v...@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 <v...@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 <v...@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); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org