ChangeLog | 325 ++++++++++++++++++++++++ debian/changelog | 10 debian/patches/07_sparc64_xform_asm.patch | 11 debian/patches/series | 1 debian/rules | 2 docs/relnotes-7.6.1.html | 1 progs/demos/projtex.c | 1 progs/samples/rgbtoppm.c | 7 progs/util/readtex.c | 7 src/gallium/auxiliary/draw/draw_pt.c | 3 src/gallium/auxiliary/rbug/rbug_connection.c | 1 src/gallium/drivers/i915simple/i915_debug.c | 1 src/gallium/drivers/i915simple/i915_screen.c | 1 src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c | 6 src/gallium/state_trackers/egl/egl_tracker.c | 2 src/glx/x11/drisw_glx.c | 4 src/mesa/drivers/dri/common/dri_util.c | 11 src/mesa/drivers/dri/i915/i915_debug.c | 1 src/mesa/drivers/dri/r600/r700_assembler.c | 26 - src/mesa/drivers/dri/r600/r700_chip.c | 8 src/mesa/main/fog.c | 11 src/mesa/main/light.c | 20 + src/mesa/main/points.c | 11 src/mesa/main/texgen.c | 6 src/mesa/main/texobj.c | 2 src/mesa/main/texparam.c | 25 + src/mesa/main/version.h | 2 src/mesa/shader/nvfragparse.c | 8 src/mesa/shader/prog_parameter.c | 2 src/mesa/shader/program.c | 14 - src/mesa/shader/programopt.c | 14 - src/mesa/shader/slang/slang_compile_operation.h | 1 src/mesa/shader/slang/slang_simplify.c | 9 src/mesa/sparc/xform.S | 2 src/mesa/vbo/vbo_exec_eval.c | 33 +- 35 files changed, 488 insertions(+), 101 deletions(-)
New commits: commit adae195cc1c0c4d4c2899297b21837399d357290 Author: Brice Goglin <[email protected]> Date: Fri Dec 11 18:36:25 2009 +0100 Drop 07_sparc64_xform_asm.patch, applied upstream diff --git a/debian/changelog b/debian/changelog index 6966eaa..9522376 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,9 @@ mesa (7.6.1~rc3-1) UNRELEASED; urgency=low * New upstream release candidate. + Pull upstream mesa_7_6_branch up to commit 7d41b424. - * Update debian/rules and add 07_sparc64_xform_asm.patch to - fix sparc64 FTBFS, thanks Aurelien Jarno, closes: #560403. + + Includes sparc64 xform asm patch from #560403. + * Update debian/rules to fix sparc64 FTBFS, thanks Aurelien Jarno, + closes: #560403. * Build r600 DRI driver. -- Brice Goglin <[email protected]> Fri, 11 Dec 2009 07:51:52 +0100 diff --git a/debian/patches/07_sparc64_xform_asm.patch b/debian/patches/07_sparc64_xform_asm.patch deleted file mode 100644 index 1c00c02..0000000 --- a/debian/patches/07_sparc64_xform_asm.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mesa-7.6.1~rc2.orig/src/mesa/sparc/xform.S -+++ mesa-7.6.1~rc2/src/mesa/sparc/xform.S -@@ -17,7 +17,7 @@ - - #include "sparc_matrix.h" - --#if defined(SVR4) || defined(__SVR4) || defined(__svr4__) -+#if defined(SVR4) || defined(__SVR4) || defined(__svr4__) || defined(__arch64__) - /* Solaris requires this for 64-bit. */ - .register %g2, #scratch - .register %g3, #scratch diff --git a/debian/patches/series b/debian/patches/series index 9d0bb66..1f29aca 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,4 +3,3 @@ 04_osmesa_version.diff 05_hurd-ftbfs.diff 06_kfreebsd-ftbfs.diff -07_sparc64_xform_asm.patch commit 3fa885911b2a4b0adefbe17803b48356ec5ad2cb Author: Brice Goglin <[email protected]> Date: Fri Dec 11 18:33:34 2009 +0100 New upstream release candidate diff --git a/ChangeLog b/ChangeLog index 5e70787..ce34476 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,328 @@ +commit 7d41b4248bee1d926646ef5fdff07da4f9026589 +Author: Brian Paul <[email protected]> +Date: Fri Dec 11 09:41:34 2009 -0700 + + docs: updated 7.6.1 relnotes with GLSL fixes + +commit d8f8eca9efaf2f537cf9218e4dd1d742e19ffc76 +Author: Brian Paul <[email protected]> +Date: Fri Dec 11 09:40:33 2009 -0700 + + mesa: remove unnecessary loop in _mesa_remove_output_reads() + +commit 5076a4f53a2f34cc9116b45951037f639885c7a1 +Author: Brian Paul <[email protected]> +Date: Fri Dec 11 09:16:25 2009 -0700 + + mesa: check dst reg in _mesa_find_free_register() + + If a register was only being used as a destination (as will happen when + generated condition-codes) we missed its use. So we'd errantly return + a register index that was really in-use, not free. + + Fixes bug 25579. + +commit f7f1211b9b0a8fa0e5f5427b74b4eee4dabf65af +Author: Aurelien Jarno <[email protected]> +Date: Fri Dec 11 08:46:54 2009 -0700 + + sparc: additional preprocessor test for SPARC 64-bit + +commit 94fba49be97008565c0225bc46894bfd9453bb5e +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 18:51:51 2009 -0800 + + mesa: Initialize variable in MatchInstruction. + +commit e31df54754e2305b7cc7072053bf5a4e0b477fd6 +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 18:32:33 2009 -0800 + + mesa: Assign _mesa_lookup_parameter_index return value to GLint. + +commit cb1dcb55f9884431a5e2b90e9208b42558a95611 +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 18:21:59 2009 -0800 + + i915: Add missing break statement in i915_debug_packet. + +commit d38ffed5236adf3ee83c0bc5bdee0233ce566e01 +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 17:50:35 2009 -0800 + + glsl: Increase size of array in_slang_lookup_constant from 4 to 16. + + For some cases, _mesa_GetIntegerv reads up to params[15]. + +commit 1cf60c981091d7a46cb404fd607f85553c427761 +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 15:41:13 2009 -0800 + + progs/samples: Byte swap individual members of struct _rawImageRec. + +commit bc0509bba8cc962a4ee2dafd684e153b3060262d +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 13:24:15 2009 -0800 + + progs/util: Byte swap individual members of struct _rawImageRec. + +commit 51f52edaf186a927a2c8c29ba9dba56d18928a7e +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 12:37:10 2009 -0800 + + glsl: Fix array out-of-bounds access by _slang_lookup_constant. + +commit dcb4a37fc89924192d923ed6906d2922371b8cb1 +Author: Vinson Lee <[email protected]> +Date: Thu Dec 10 12:11:09 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_TexParameteriv. + +commit b82757880545f8bce471ba8f13c16998888cd4b5 +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 17:59:23 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_TexGend. + + _mesa_TexGend calls _mesa_TexGenfv, which uses the params argument + as an array. + +commit 444d1f39108ab4419843f19f76c968cef3398bab +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 17:34:50 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_Lighti. + + _mesa_Lighti calls _mesa_Lightiv, which uses the params argument + as an array. + +commit 34528a34c446afea4442f479713e7f926220f128 +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 17:11:30 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_Lightf. + +commit 348883076bd213ec733a1ba2a4768788e4669c97 +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 13:15:05 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_PointParameteri. + + _mesa_PointParameteri calls _mesa_PointParameterfv, which uses the + params argument as an array. + +commit 6f2d51b81ff907af9727e90153a46e79e246fc66 +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 13:00:22 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_PointParameterf. + + _mesa_PointParameterf calls _mesa_PointParameterfv, which uses the + params argument as an array. + +commit 637970aefdcdd1ee50e3759de384b82e6109a45c +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 12:43:28 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_LightModelf. + + _mesa_LightModelf calls _mesa_LightModelfv, which uses the + params argument as an array. + +commit a082d965de228d5035e59245df528af62761652a +Author: Vinson Lee <[email protected]> +Date: Wed Dec 9 11:26:24 2009 -0800 + + glsl: Remove unused member x from struct slang_operation. + +commit 3de8fff45d04fd7e702cd656ba97cafd348c3981 +Author: Brian Paul <[email protected]> +Date: Wed Dec 9 08:30:01 2009 -0700 + + mesa: fix baseLevel >= MAX_TEXTURE_LEVELS test + + This fixes invalid array indexing when baseLevel == MAX_TEXTURE_LEVELS. + See bug 25528. + +commit 33a120e4761a661736ea64a3efc2e3831ac5600a +Author: Andre Maasikas <[email protected]> +Date: Wed Dec 9 10:51:52 2009 +0200 + + r600: fix state size prediction after dc0777d3 + +commit af16c822a5af8ce0aa7582e8ea44315b62b7356b +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 18:26:05 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_LightModeli. + + _mesa_LightModeli calls _mesa_LightModeliv, which uses the + params argument as an array. + +commit d33bf38d63d233f6a09115acfff230c464d3ee29 +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 17:51:07 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_Fogf. + + _mesa_Fogf calls _mesa_Fogfv, which uses the params argument + as an array. + +commit 3f7c2ac2798b385bed97b6931a1568a7e0223a0a +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 17:25:05 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_TexParameteri. + + _mesa_TexParameteri calls set_tex_parameteri, which uses the + params argument as an array. + +commit 7f146b38240e1c4efa6d8d0a4e5a0c8346706de5 +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 16:04:33 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_Fogi. + + _mesa_Fogi calls _mesa_Fogfv, which uses the params argument + as an array. + +commit a1d46fbea0b40d7edc668ea5993ea4318f37c9f9 +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 15:42:13 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_TexParameteri. + + _mesa_TexParameteri calls set_tex_parameterf, which uses the + params argument as an array. + +commit d88f3b946804f9a3e8cad4f8896e6be488fec2b5 +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 14:31:38 2009 -0800 + + mesa: Fix array out-of-bounds access by _mesa_TexParameterfv. + + _mesa_TexParameterfv calls set_tex_parameteri, which uses the + params argument as an array. + +commit 54b0ed8360019fc6e0234c2c3413be40fe4d3b59 +Author: Brian Paul <[email protected]> +Date: Tue Dec 8 15:03:15 2009 -0700 + + vbo: fix array index out of bounds error, and fix evaluator priorities + + Fixes bug 25525. + Plus, the GL_NV_vertex_program evaluators alias and override the + convential evaluator maps, so set their state after the conventional + maps. + +commit 1de1deffce9c7120a167af8553b606eec82e60a3 +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 00:43:38 2009 -0800 + + i915g: Fix memory leak when pci id is unknown. + +commit 7e93e06781d2f3e0c737c7654c3fb0d83e31e45a +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 00:37:35 2009 -0800 + + i915g: Add missing break statement in i915_debug_packet. + +commit 7f8e22aa29b7340d51b1f2e16d55a035c0f9b851 +Author: Vinson Lee <[email protected]> +Date: Tue Dec 8 00:26:37 2009 -0800 + + rbug: Initialize variable in rbug_get_message. + + Silences uninitialized variable warning. + +commit 369669ff9a7ff7636cadef8e2b13f2f28face98f +Author: Andre Maasikas <[email protected]> +Date: Thu Dec 3 12:26:44 2009 +0200 + + r600: add support for TXB instruction + + makes testing other things easier - does not hang the card + TODO: enable TEX dependency tracking in vertex programs + +commit dc0777d3e3b760d7faa5fb99a189919bde07ca0b +Author: Andre Maasikas <[email protected]> +Date: Wed Nov 4 10:00:47 2009 +0200 + + r600: reorder state for render_target and blend + + First time around render targets are not enabled yet (done in + r700SendRenderTargetState) so blend state is not emitted for any targets. + Affects first glClear in some mesa tests. + As a quick fix reorder state emit so that target is set first + +commit add6dfbba64260c9b314b4a95c8def084e05bd3b +Author: Vinson Lee <[email protected]> +Date: Mon Dec 7 19:04:07 2009 -0800 + + llvmpipe: Initialize variables in emit_instruction. + +commit 3e8b2fda215689b9a77c73020a1efc523995931e +Author: Vinson Lee <[email protected]> +Date: Mon Dec 7 18:40:37 2009 -0800 + + progs/test: Initialize variable in prog_parameter. + + Silences uninitialized variable compiler warning. + +commit 9dbd47fc6b1cf9ddfb318f2e05df0886cd5fe0df +Author: Ian Romanick <[email protected]> +Date: Mon Dec 7 16:59:59 2009 -0800 + + mesa: set version string to 7.6.1-rc3 + +commit 7d84169865f5907a02ff2283ca7bd45a3bb2f3c9 +Author: Vinson Lee <[email protected]> +Date: Mon Dec 7 12:31:08 2009 -0800 + + progs/demos: Fix memory leak in projtex.c. + +commit 7005f7cd1a9947e75bf772897d9055e3fe467c3d +Author: Vinson Lee <[email protected]> +Date: Fri Nov 20 16:33:25 2009 -0800 + + st/egl: Fix memory leak in egl_tracker.c. + (cherry picked from commit 052b127842af3372fd768eae8e29b240a696a12a) + +commit c994f08eb1ec2a4bbaa44fbd6d35e7ff033d5c3c +Author: Vinson Lee <[email protected]> +Date: Sat Nov 28 23:22:31 2009 -0500 + + dri: Fix potential null pointer dereference in driBindContext. + (cherry picked from commit 919898e92fa23ff71a59d86a46ff0886a6f34e4d) + +commit f622b649fb0c55b1640997f9d32ea327743519a1 +Author: Vinson Lee <[email protected]> +Date: Tue Nov 24 00:57:55 2009 -0500 + + dri: Fix potential null pointer deference in dri_put_drawable. + (cherry picked from commit 364070b1f2b08d43fb205ec198894a35bec6b2f3) + +commit 76b3523d752968bc552d4350a39b9b9b1a023cf0 +Author: Vinson Lee <[email protected]> +Date: Mon Nov 23 01:30:32 2009 -0500 + + glx: Prevent potential null pointer deference in driCreateContext. + (cherry picked from commit 4b0b250aae6ae7d48cd24f9d91d05ab58086c4b2) + +commit 978b80c8e35b465273921a28540ed15f07d1afbf +Author: Vinson Lee <[email protected]> +Date: Fri Oct 9 07:24:04 2009 -0600 + + progs/tests: Add tests to Makefile. + (cherry picked from commit 76d2ec3a0a047a65ffca70f53848241a3225dad3) + +commit 3cd745515e72c42efcd0c9f7d30e58f46f821b98 +Author: Vinson Lee <[email protected]> +Date: Fri Nov 20 16:03:48 2009 -0800 + + draw: Initialize variable in draw_pt.c. + (cherry picked from commit ea98e9820d7117f7a187f355445796b1ef5d9e0c) + commit b2953ee1a655a010f36b5fc1b47f8bd8b06ce368 Author: Vinson Lee <[email protected]> Date: Sun Nov 29 00:50:48 2009 -0500 diff --git a/debian/changelog b/debian/changelog index 995c688..6966eaa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,7 @@ -mesa (7.6.1~rc2-2) UNRELEASED; urgency=low +mesa (7.6.1~rc3-1) UNRELEASED; urgency=low + * New upstream release candidate. + + Pull upstream mesa_7_6_branch up to commit 7d41b424. * Update debian/rules and add 07_sparc64_xform_asm.patch to fix sparc64 FTBFS, thanks Aurelien Jarno, closes: #560403. * Build r600 DRI driver. commit 7d41b4248bee1d926646ef5fdff07da4f9026589 Author: Brian Paul <[email protected]> Date: Fri Dec 11 09:41:34 2009 -0700 docs: updated 7.6.1 relnotes with GLSL fixes diff --git a/docs/relnotes-7.6.1.html b/docs/relnotes-7.6.1.html index 752f9ca..7160168 100644 --- a/docs/relnotes-7.6.1.html +++ b/docs/relnotes-7.6.1.html @@ -58,6 +58,7 @@ tbd <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) +<li>Fixed some GLSL compiler bugs (ex: 25579) </ul> <h2>Changes</h2> commit d8f8eca9efaf2f537cf9218e4dd1d742e19ffc76 Author: Brian Paul <[email protected]> Date: Fri Dec 11 09:40:33 2009 -0700 mesa: remove unnecessary loop in _mesa_remove_output_reads() diff --git a/src/mesa/shader/programopt.c b/src/mesa/shader/programopt.c index f70c75c..c5b821d 100644 --- a/src/mesa/shader/programopt.c +++ b/src/mesa/shader/programopt.c @@ -528,15 +528,11 @@ _mesa_remove_output_reads(struct gl_program *prog, gl_register_file type) /* look for instructions which write to the varying vars identified above */ for (i = 0; i < prog->NumInstructions; i++) { struct prog_instruction *inst = prog->Instructions + i; - const GLuint numSrc = _mesa_num_inst_src_regs(inst->Opcode); - GLuint j; - for (j = 0; j < numSrc; j++) { - if (inst->DstReg.File == type && - outputMap[inst->DstReg.Index] >= 0) { - /* change inst to write to the temp reg, instead of the varying */ - inst->DstReg.File = PROGRAM_TEMPORARY; - inst->DstReg.Index = outputMap[inst->DstReg.Index]; - } + if (inst->DstReg.File == type && + outputMap[inst->DstReg.Index] >= 0) { + /* change inst to write to the temp reg, instead of the varying */ + inst->DstReg.File = PROGRAM_TEMPORARY; + inst->DstReg.Index = outputMap[inst->DstReg.Index]; } } commit 5076a4f53a2f34cc9116b45951037f639885c7a1 Author: Brian Paul <[email protected]> Date: Fri Dec 11 09:16:25 2009 -0700 mesa: check dst reg in _mesa_find_free_register() If a register was only being used as a destination (as will happen when generated condition-codes) we missed its use. So we'd errantly return a register index that was really in-use, not free. Fixes bug 25579. diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c index 2cd6eb8..18d4ef9 100644 --- a/src/mesa/shader/program.c +++ b/src/mesa/shader/program.c @@ -813,9 +813,17 @@ _mesa_find_free_register(const struct gl_program *prog, GLuint regFile) const struct prog_instruction *inst = prog->Instructions + i; const GLuint n = _mesa_num_inst_src_regs(inst->Opcode); - for (k = 0; k < n; k++) { - if (inst->SrcReg[k].File == regFile) { - used[inst->SrcReg[k].Index] = GL_TRUE; + /* check dst reg first */ + if (inst->DstReg.File == regFile) { + used[inst->DstReg.Index] = GL_TRUE; + } + else { + /* check src regs otherwise */ + for (k = 0; k < n; k++) { + if (inst->SrcReg[k].File == regFile) { + used[inst->SrcReg[k].Index] = GL_TRUE; + break; + } } } } commit f7f1211b9b0a8fa0e5f5427b74b4eee4dabf65af Author: Aurelien Jarno <[email protected]> Date: Fri Dec 11 08:46:54 2009 -0700 sparc: additional preprocessor test for SPARC 64-bit diff --git a/src/mesa/sparc/xform.S b/src/mesa/sparc/xform.S index f2b9674..2a7cce4 100644 --- a/src/mesa/sparc/xform.S +++ b/src/mesa/sparc/xform.S @@ -17,7 +17,7 @@ #include "sparc_matrix.h" -#if defined(SVR4) || defined(__SVR4) || defined(__svr4__) +#if defined(SVR4) || defined(__SVR4) || defined(__svr4__) || defined(__arch64__) /* Solaris requires this for 64-bit. */ .register %g2, #scratch .register %g3, #scratch commit 1f47135544eb6157a8ff5f3233a2e158f455511c Author: Brice Goglin <[email protected]> Date: Fri Dec 11 15:54:32 2009 +0100 Build r600_dri.so diff --git a/debian/changelog b/debian/changelog index d918f03..995c688 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ mesa (7.6.1~rc2-2) UNRELEASED; urgency=low * Update debian/rules and add 07_sparc64_xform_asm.patch to fix sparc64 FTBFS, thanks Aurelien Jarno, closes: #560403. + * Build r600 DRI driver. -- Brice Goglin <[email protected]> Fri, 11 Dec 2009 07:51:52 +0100 diff --git a/debian/rules b/debian/rules index e605708..c9ed8f0 100755 --- a/debian/rules +++ b/debian/rules @@ -69,7 +69,7 @@ else ifeq ($(DEB_HOST_ARCH), lpia) DRI_DRIVERS += i915 i965 else ifneq ($(DEB_HOST_ARCH), s390) - DRI_DRIVERS += mach64 mga r128 r200 r300 radeon s3v savage tdfx trident + DRI_DRIVERS += mach64 mga r128 r200 r300 r600 radeon s3v savage tdfx trident ifeq ($(DEB_HOST_GNU_CPU), i486) DRI_DRIVERS += i810 i915 i965 sis unichrome else ifeq ($(DEB_HOST_GNU_CPU), x86_64) commit 94fba49be97008565c0225bc46894bfd9453bb5e Author: Vinson Lee <[email protected]> Date: Thu Dec 10 18:51:51 2009 -0800 mesa: Initialize variable in MatchInstruction. diff --git a/src/mesa/shader/nvfragparse.c b/src/mesa/shader/nvfragparse.c index 0fd5552..b739a6a 100644 --- a/src/mesa/shader/nvfragparse.c +++ b/src/mesa/shader/nvfragparse.c @@ -217,6 +217,12 @@ MatchInstruction(const GLubyte *token) const struct instruction_pattern *inst; struct instruction_pattern result; + result.name = NULL; + result.opcode = MAX_OPCODE; /* i.e. invalid instruction */ + result.inputs = 0; + result.outputs = 0; + result.suffixes = 0; + for (inst = Instructions; inst->name; inst++) { if (_mesa_strncmp((const char *) token, inst->name, 3) == 0) { /* matched! */ @@ -247,7 +253,7 @@ MatchInstruction(const GLubyte *token) return result; } } - result.opcode = MAX_OPCODE; /* i.e. invalid instruction */ + return result; } commit e31df54754e2305b7cc7072053bf5a4e0b477fd6 Author: Vinson Lee <[email protected]> Date: Thu Dec 10 18:32:33 2009 -0800 mesa: Assign _mesa_lookup_parameter_index return value to GLint. diff --git a/src/mesa/shader/prog_parameter.c b/src/mesa/shader/prog_parameter.c index 2f029b0..f22492e 100644 --- a/src/mesa/shader/prog_parameter.c +++ b/src/mesa/shader/prog_parameter.c @@ -500,7 +500,7 @@ GLfloat * _mesa_lookup_parameter_value(const struct gl_program_parameter_list *paramList, GLsizei nameLen, const char *name) { - GLuint i = _mesa_lookup_parameter_index(paramList, nameLen, name); + GLint i = _mesa_lookup_parameter_index(paramList, nameLen, name); if (i < 0) return NULL; else commit cb1dcb55f9884431a5e2b90e9208b42558a95611 Author: Vinson Lee <[email protected]> Date: Thu Dec 10 18:21:59 2009 -0800 i915: Add missing break statement in i915_debug_packet. diff --git a/src/mesa/drivers/dri/i915/i915_debug.c b/src/mesa/drivers/dri/i915/i915_debug.c index f7bb7ea..fecfac3 100644 --- a/src/mesa/drivers/dri/i915/i915_debug.c +++ b/src/mesa/drivers/dri/i915/i915_debug.c @@ -806,6 +806,7 @@ static GLboolean i915_debug_packet( struct debug_stream *stream ) default: return debug(stream, "", 0); } + break; default: assert(0); return 0; commit d38ffed5236adf3ee83c0bc5bdee0233ce566e01 Author: Vinson Lee <[email protected]> Date: Thu Dec 10 17:50:35 2009 -0800 glsl: Increase size of array in_slang_lookup_constant from 4 to 16. For some cases, _mesa_GetIntegerv reads up to params[15]. diff --git a/src/mesa/shader/slang/slang_simplify.c b/src/mesa/shader/slang/slang_simplify.c index 539c6ff..13b9ca3 100644 --- a/src/mesa/shader/slang/slang_simplify.c +++ b/src/mesa/shader/slang/slang_simplify.c @@ -84,7 +84,7 @@ _slang_lookup_constant(const char *name) for (i = 0; info[i].Name; i++) { if (strcmp(info[i].Name, name) == 0) { /* found */ - GLint values[4]; + GLint values[16]; values[0] = -1; _mesa_GetIntegerv(info[i].Token, values); ASSERT(values[0] >= 0); /* sanity check that glGetFloatv worked */ commit 1cf60c981091d7a46cb404fd607f85553c427761 Author: Vinson Lee <[email protected]> Date: Thu Dec 10 15:41:13 2009 -0800 progs/samples: Byte swap individual members of struct _rawImageRec. diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c index 56ca5b0..dcb7422 100644 --- a/progs/samples/rgbtoppm.c +++ b/progs/samples/rgbtoppm.c @@ -93,7 +93,12 @@ static ImageRec *ImageOpen(char *fileName) fread(image, 1, 12, image->file); if (swapFlag) { - ConvertShort(&image->imagic, 6); + ConvertShort(&image->imagic, 1); + ConvertShort(&image->type, 1); + ConvertShort(&image->dim, 1); + ConvertShort(&image->xsize, 1); + ConvertShort(&image->ysize, 1); + ConvertShort(&image->zsize, 1); } image->tmp = (unsigned char *)malloc(image->xsize*256); commit bc0509bba8cc962a4ee2dafd684e153b3060262d Author: Vinson Lee <[email protected]> Date: Thu Dec 10 13:24:15 2009 -0800 progs/util: Byte swap individual members of struct _rawImageRec. diff --git a/progs/util/readtex.c b/progs/util/readtex.c index 81cb626..d1c50a4 100644 --- a/progs/util/readtex.c +++ b/progs/util/readtex.c @@ -117,7 +117,12 @@ static rawImageRec *RawImageOpen(const char *fileName) fread(raw, 1, 12, raw->file); if (swapFlag) { - ConvertShort(&raw->imagic, 6); + ConvertShort(&raw->imagic, 1); + ConvertShort(&raw->type, 1); + ConvertShort(&raw->dim, 1); + ConvertShort(&raw->sizeX, 1); + ConvertShort(&raw->sizeY, 1); + ConvertShort(&raw->sizeZ, 1); } raw->tmp = (unsigned char *)malloc(raw->sizeX*256); commit 51f52edaf186a927a2c8c29ba9dba56d18928a7e Author: Vinson Lee <[email protected]> Date: Thu Dec 10 12:37:10 2009 -0800 glsl: Fix array out-of-bounds access by _slang_lookup_constant. diff --git a/src/mesa/shader/slang/slang_simplify.c b/src/mesa/shader/slang/slang_simplify.c index b8a21f6..539c6ff 100644 --- a/src/mesa/shader/slang/slang_simplify.c +++ b/src/mesa/shader/slang/slang_simplify.c @@ -84,10 +84,11 @@ _slang_lookup_constant(const char *name) for (i = 0; info[i].Name; i++) { if (strcmp(info[i].Name, name) == 0) { /* found */ - GLint value = -1; - _mesa_GetIntegerv(info[i].Token, &value); - ASSERT(value >= 0); /* sanity check that glGetFloatv worked */ - return value; + GLint values[4]; + values[0] = -1; + _mesa_GetIntegerv(info[i].Token, values); + ASSERT(values[0] >= 0); /* sanity check that glGetFloatv worked */ + return values[0]; } } return -1; commit dcb4a37fc89924192d923ed6906d2922371b8cb1 Author: Vinson Lee <[email protected]> Date: Thu Dec 10 12:11:09 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_TexParameteriv. diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index 1cec4b8..0f83d22 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -700,8 +700,10 @@ _mesa_TexParameteriv(GLenum target, GLenum pname, const GLint *params) case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB: { /* convert int param to float */ - GLfloat fparam = (GLfloat) params[0]; - need_update = set_tex_parameterf(ctx, texObj, pname, &fparam); + GLfloat fparams[4]; + fparams[0] = (GLfloat) params[0]; + fparams[1] = fparams[2] = fparams[3] = 0.0F; + need_update = set_tex_parameterf(ctx, texObj, pname, fparams); } break; default: commit b82757880545f8bce471ba8f13c16998888cd4b5 Author: Vinson Lee <[email protected]> Date: Wed Dec 9 17:59:23 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_TexGend. _mesa_TexGend calls _mesa_TexGenfv, which uses the params argument as an array. diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c index d3ea7b9..f9d3821 100644 --- a/src/mesa/main/texgen.c +++ b/src/mesa/main/texgen.c @@ -181,8 +181,10 @@ _mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params ) void GLAPIENTRY _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param ) { - GLfloat p = (GLfloat) param; - _mesa_TexGenfv( coord, pname, &p ); + GLfloat p[4]; + p[0] = (GLfloat) param; + p[1] = p[2] = p[3] = 0.0F; + _mesa_TexGenfv( coord, pname, p ); } commit 444d1f39108ab4419843f19f76c968cef3398bab Author: Vinson Lee <[email protected]> Date: Wed Dec 9 17:34:50 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_Lighti. _mesa_Lighti calls _mesa_Lightiv, which uses the params argument as an array. diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c index d4f3bb9..5150926 100644 --- a/src/mesa/main/light.c +++ b/src/mesa/main/light.c @@ -288,7 +288,10 @@ _mesa_Lightfv( GLenum light, GLenum pname, const GLfloat *params ) void GLAPIENTRY _mesa_Lighti( GLenum light, GLenum pname, GLint param ) { - _mesa_Lightiv( light, pname, ¶m ); + GLint iparam[4]; + iparam[0] = param; + iparam[1] = iparam[2] = iparam[3] = 0; + _mesa_Lightiv( light, pname, iparam ); } commit 34528a34c446afea4442f479713e7f926220f128 Author: Vinson Lee <[email protected]> Date: Wed Dec 9 17:11:30 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_Lightf. diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c index c1d47de..d4f3bb9 100644 --- a/src/mesa/main/light.c +++ b/src/mesa/main/light.c @@ -206,7 +206,10 @@ _mesa_light(GLcontext *ctx, GLuint lnum, GLenum pname, const GLfloat *params) void GLAPIENTRY _mesa_Lightf( GLenum light, GLenum pname, GLfloat param ) { - _mesa_Lightfv( light, pname, ¶m ); + GLfloat fparam[4]; + fparam[0] = param; + fparam[1] = fparam[2] = fparam[3] = 0.0F; + _mesa_Lightfv( light, pname, fparam ); } commit 348883076bd213ec733a1ba2a4768788e4669c97 Author: Vinson Lee <[email protected]> Date: Wed Dec 9 13:15:05 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_PointParameteri. _mesa_PointParameteri calls _mesa_PointParameterfv, which uses the params argument as an array. diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c index 9ec21c9..dcaeccd 100644 --- a/src/mesa/main/points.c +++ b/src/mesa/main/points.c @@ -69,8 +69,10 @@ _mesa_PointSize( GLfloat size ) void GLAPIENTRY _mesa_PointParameteri( GLenum pname, GLint param ) { - const GLfloat value = (GLfloat) param; - _mesa_PointParameterfv(pname, &value); + GLfloat p[3]; + p[0] = (GLfloat) param; + p[1] = p[2] = 0.0F; + _mesa_PointParameterfv(pname, p); } commit 6f2d51b81ff907af9727e90153a46e79e246fc66 Author: Vinson Lee <[email protected]> Date: Wed Dec 9 13:00:22 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_PointParameterf. _mesa_PointParameterf calls _mesa_PointParameterfv, which uses the params argument as an array. diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c index b330544..9ec21c9 100644 --- a/src/mesa/main/points.c +++ b/src/mesa/main/points.c @@ -90,7 +90,10 @@ _mesa_PointParameteriv( GLenum pname, const GLint *params ) void GLAPIENTRY _mesa_PointParameterf( GLenum pname, GLfloat param) { - _mesa_PointParameterfv(pname, ¶m); + GLfloat p[3]; + p[0] = param; + p[1] = p[2] = 0.0F; + _mesa_PointParameterfv(pname, p); } commit 637970aefdcdd1ee50e3759de384b82e6109a45c Author: Vinson Lee <[email protected]> Date: Wed Dec 9 12:43:28 2009 -0800 mesa: Fix array out-of-bounds access by _mesa_LightModelf. _mesa_LightModelf calls _mesa_LightModelfv, which uses the params argument as an array. diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c index 5a8f916..c1d47de 100644 --- a/src/mesa/main/light.c +++ b/src/mesa/main/light.c @@ -547,7 +547,10 @@ _mesa_LightModeli( GLenum pname, GLint param ) void GLAPIENTRY _mesa_LightModelf( GLenum pname, GLfloat param ) { - _mesa_LightModelfv( pname, ¶m ); + GLfloat fparam[4]; + fparam[0] = param; + fparam[1] = fparam[2] = fparam[3] = 0.0F; + _mesa_LightModelfv( pname, fparam ); } commit a082d965de228d5035e59245df528af62761652a Author: Vinson Lee <[email protected]> Date: Wed Dec 9 11:26:24 2009 -0800 glsl: Remove unused member x from struct slang_operation. diff --git a/src/mesa/shader/slang/slang_compile_operation.h b/src/mesa/shader/slang/slang_compile_operation.h index 58f1ede..1f15c19 100644 --- a/src/mesa/shader/slang/slang_compile_operation.h +++ b/src/mesa/shader/slang/slang_compile_operation.h @@ -127,7 +127,6 @@ typedef struct slang_operation_ * indicate such. num_children indicates number of elements. */ GLboolean array_constructor; - double x; } slang_operation; commit 3de8fff45d04fd7e702cd656ba97cafd348c3981 Author: Brian Paul <[email protected]> Date: Wed Dec 9 08:30:01 2009 -0700 mesa: fix baseLevel >= MAX_TEXTURE_LEVELS test This fixes invalid array indexing when baseLevel == MAX_TEXTURE_LEVELS. See bug 25528. diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index da55ac8..85f5f78 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -418,7 +418,7 @@ _mesa_test_texobj_completeness( const GLcontext *ctx, /* Detect cases where the application set the base level to an invalid * value. */ - if ((baseLevel < 0) || (baseLevel > MAX_TEXTURE_LEVELS)) { + if ((baseLevel < 0) || (baseLevel >= MAX_TEXTURE_LEVELS)) { char s[100]; _mesa_sprintf(s, "base level = %d is invalid", baseLevel); incomplete(t, s); commit 33a120e4761a661736ea64a3efc2e3831ac5600a Author: Andre Maasikas <[email protected]> Date: Wed Dec 9 10:51:52 2009 +0200 r600: fix state size prediction after dc0777d3 diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index d8661b4..dacc2cc 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -1134,7 +1134,11 @@ static int check_blnd(GLcontext *ctx, struct radeon_state_atom *atom) count += 3; if (context->radeon.radeonScreen->chip_family > CHIP_FAMILY_R600) { - for (ui = 0; ui < R700_MAX_RENDER_TARGETS; ui++) { + /* targets are enabled in r700SetRenderTarget but state + size is calculated before that. Until MRT's are done + hardcode target0 as enabled. */ + count += 3; + for (ui = 1; ui < R700_MAX_RENDER_TARGETS; ui++) { if (r700->render_target[ui].enabled) count += 3; } commit af16c822a5af8ce0aa7582e8ea44315b62b7356b Author: Vinson Lee <[email protected]> Date: Tue Dec 8 18:26:05 2009 -0800 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

