Makefile                                                           |    7 
 configure.ac                                                       |    5 
 debian/changelog                                                   |   12 
 debian/rules                                                       |    6 
 docs/egl.html                                                      |    4 
 docs/fbdev-dri.html                                                |   10 
 docs/news.html                                                     |    1 
 docs/relnotes-7.9.html                                             |    3 
 include/GL/glext.h                                                 | 1105 
+++++-
 include/GL/glxext.h                                                |   49 
 include/GL/internal/dri_interface.h                                |    4 
 include/GL/wglext.h                                                |  244 -
 src/egl/drivers/dri/Makefile                                       |   69 
 src/egl/drivers/dri/egldri.c                                       | 1205 
------
 src/egl/drivers/dri/egldri.h                                       |  116 
 src/egl/drivers/dri2/egl_dri2.c                                    |   14 
 src/egl/drivers/glx/egl_glx.c                                      |  243 -
 src/egl/main/Makefile                                              |    4 
 src/egl/main/SConscript                                            |    1 
 src/egl/main/eglconfigutil.c                                       |  128 
 src/egl/main/eglconfigutil.h                                       |   19 
 src/egl/main/eglcontext.c                                          |  108 
 src/egl/main/egldisplay.c                                          |    2 
 src/gallium/auxiliary/Makefile                                     |    1 
 src/gallium/auxiliary/SConscript                                   |    1 
 src/gallium/auxiliary/draw/draw_context.h                          |   13 
 src/gallium/auxiliary/draw/draw_pipe_aaline.c                      |    3 
 src/gallium/auxiliary/draw/draw_pipe_clip.c                        |   49 
 src/gallium/auxiliary/gallivm/lp_bld_arit.c                        |   17 
 src/gallium/auxiliary/gallivm/lp_bld_debug.h                       |    1 
 src/gallium/auxiliary/gallivm/lp_bld_format_aos.c                  |   14 
 src/gallium/auxiliary/gallivm/lp_bld_format_soa.c                  |    6 
 src/gallium/auxiliary/gallivm/lp_bld_init.c                        |    1 
 src/gallium/auxiliary/gallivm/lp_bld_logic.c                       |    7 
 src/gallium/auxiliary/gallivm/lp_bld_pack.c                        |    2 
 src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c                  |   12 
 src/gallium/auxiliary/gallivm/lp_bld_struct.c                      |   85 
 src/gallium/auxiliary/gallivm/lp_bld_struct.h                      |   41 
 src/gallium/auxiliary/gallivm/lp_bld_swizzle.c                     |   17 
 src/gallium/auxiliary/gallivm/lp_bld_swizzle.h                     |    2 
 src/gallium/auxiliary/gallivm/lp_bld_tgsi.h                        |   35 
 src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c                    | 1176 
++++++
 src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c                    |   30 
 src/gallium/auxiliary/pipebuffer/pb_buffer.h                       |    6 
 src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c                |    8 
 src/gallium/auxiliary/pipebuffer/pb_buffer_malloc.c                |    3 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c                 |    6 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c                 |    8 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c                    |    7 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_ondemand.c              |    6 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c                  |    6 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c                  |    7 
 src/gallium/auxiliary/tgsi/tgsi_exec.h                             |   30 
 src/gallium/auxiliary/tgsi/tgsi_sse2.c                             |   15 
 src/gallium/auxiliary/tgsi/tgsi_util.c                             |   11 
 src/gallium/auxiliary/util/u_caps.c                                |   28 
 src/gallium/auxiliary/util/u_caps.h                                |    4 
 src/gallium/auxiliary/util/u_inlines.h                             |    1 
 src/gallium/auxiliary/util/u_surface.c                             |    2 
 src/gallium/docs/source/context.rst                                |    8 
 src/gallium/drivers/cell/ppu/cell_screen.c                         |   17 
 src/gallium/drivers/failover/fo_context.c                          |    1 
 src/gallium/drivers/galahad/glhd_context.c                         |    4 
 src/gallium/drivers/galahad/glhd_screen.c                          |   12 
 src/gallium/drivers/i915/i915_screen.c                             |   46 
 src/gallium/drivers/i965/brw_screen.c                              |   45 
 src/gallium/drivers/identity/id_screen.c                           |   12 
 src/gallium/drivers/llvmpipe/lp_bld_alpha.c                        |   11 
 src/gallium/drivers/llvmpipe/lp_bld_alpha.h                        |    2 
 src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c                    |    2 
 src/gallium/drivers/llvmpipe/lp_context.c                          |    9 
 src/gallium/drivers/llvmpipe/lp_debug.h                            |    1 
 src/gallium/drivers/llvmpipe/lp_query.c                            |    5 
 src/gallium/drivers/llvmpipe/lp_rast.c                             |    1 
 src/gallium/drivers/llvmpipe/lp_rast.h                             |   16 
 src/gallium/drivers/llvmpipe/lp_rast_debug.c                       |    1 
 src/gallium/drivers/llvmpipe/lp_rast_priv.h                        |    4 
 src/gallium/drivers/llvmpipe/lp_rast_tri.c                         |  241 -
 src/gallium/drivers/llvmpipe/lp_rast_tri_tmp.h                     |    6 
 src/gallium/drivers/llvmpipe/lp_scene.c                            |   14 
 src/gallium/drivers/llvmpipe/lp_scene.h                            |   18 
 src/gallium/drivers/llvmpipe/lp_screen.c                           |   51 
 src/gallium/drivers/llvmpipe/lp_setup.c                            |    4 
 src/gallium/drivers/llvmpipe/lp_setup_line.c                       |   19 
 src/gallium/drivers/llvmpipe/lp_setup_tri.c                        |   89 
 src/gallium/drivers/llvmpipe/lp_state_fs.c                         |   41 
 src/gallium/drivers/llvmpipe/lp_state_fs.h                         |    6 
 src/gallium/drivers/nv50/nv50_screen.c                             |   64 
 src/gallium/drivers/nvfx/nvfx_context.c                            |    1 
 src/gallium/drivers/nvfx/nvfx_fragprog.c                           |    2 
 src/gallium/drivers/nvfx/nvfx_screen.c                             |  119 
 src/gallium/drivers/nvfx/nvfx_surface.c                            |   18 
 src/gallium/drivers/nvfx/nvfx_vertprog.c                           |    5 
 src/gallium/drivers/r300/Makefile                                  |    1 
 src/gallium/drivers/r300/r300_blit.c                               |    4 
 src/gallium/drivers/r300/r300_context.h                            |   13 
 src/gallium/drivers/r300/r300_debug.c                              |    4 
 src/gallium/drivers/r300/r300_emit.c                               |   25 
 src/gallium/drivers/r300/r300_emit.h                               |    6 
 src/gallium/drivers/r300/r300_flush.c                              |    2 
 src/gallium/drivers/r300/r300_fs.c                                 |    1 
 src/gallium/drivers/r300/r300_render.c                             |  221 -
 src/gallium/drivers/r300/r300_screen.c                             |   96 
 src/gallium/drivers/r300/r300_screen.h                             |    4 
 src/gallium/drivers/r300/r300_state_derived.c                      |    9 
 src/gallium/drivers/r300/r300_texture.c                            |    4 
 src/gallium/drivers/r300/r300_texture_desc.c                       |    3 
 src/gallium/drivers/r300/r300_vs.c                                 |    1 
 src/gallium/drivers/r600/Makefile                                  |    4 
 src/gallium/drivers/r600/eg_asm.c                                  |   84 
 src/gallium/drivers/r600/eg_hw_states.c                            | 1070 +++++
 src/gallium/drivers/r600/eg_sq.h                                   |  485 ++
 src/gallium/drivers/r600/eg_state_inlines.h                        |  434 ++
 src/gallium/drivers/r600/eg_states_inc.h                           |  454 ++
 src/gallium/drivers/r600/evergreend.h                              | 1442 
++++++++
 src/gallium/drivers/r600/r600_asm.c                                |   54 
 src/gallium/drivers/r600/r600_asm.h                                |    1 
 src/gallium/drivers/r600/r600_buffer.c                             |    2 
 src/gallium/drivers/r600/r600_context.c                            |    6 
 src/gallium/drivers/r600/r600_context.h                            |   10 
 src/gallium/drivers/r600/r600_draw.c                               |    5 
 src/gallium/drivers/r600/r600_hw_states.c                          |   10 
 src/gallium/drivers/r600/r600_opcodes.h                            |  222 +
 src/gallium/drivers/r600/r600_query.c                              |    4 
 src/gallium/drivers/r600/r600_screen.c                             |  105 
 src/gallium/drivers/r600/r600_shader.c                             |  298 +
 src/gallium/drivers/r600/r600_sq.h                                 |   12 
 src/gallium/drivers/r600/r600_state.c                              |   68 
 src/gallium/drivers/r600/r600_states_inc.h                         |    8 
 src/gallium/drivers/r600/r600_texture.c                            |   45 
 src/gallium/drivers/r600/r700_asm.c                                |    1 
 src/gallium/drivers/r600/radeon.h                                  |    4 
 src/gallium/drivers/rbug/rbug_screen.c                             |   12 
 src/gallium/drivers/softpipe/sp_screen.c                           |   55 
 src/gallium/drivers/svga/svga_screen.c                             |  127 
 src/gallium/drivers/svga/svga_tgsi.c                               |    2 
 src/gallium/drivers/svga/svga_tgsi_emit.h                          |    3 
 src/gallium/drivers/svga/svga_tgsi_insn.c                          |   63 
 src/gallium/drivers/trace/tr_screen.c                              |   25 
 src/gallium/include/pipe/p_compiler.h                              |    1 
 src/gallium/include/pipe/p_defines.h                               |   46 
 src/gallium/include/pipe/p_screen.h                                |    6 
 src/gallium/include/state_tracker/st_api.h                         |   80 
 src/gallium/state_trackers/dri/common/dri_context.c                |   42 
 src/gallium/state_trackers/dri/common/dri_context.h                |    3 
 src/gallium/state_trackers/dri/common/dri_screen.c                 |   26 
 src/gallium/state_trackers/dri/common/dri_screen.h                 |    5 
 src/gallium/state_trackers/dri/drm/dri2.c                          |  108 
 src/gallium/state_trackers/egl/Makefile                            |   20 
 src/gallium/state_trackers/egl/common/egl_g3d.c                    |   14 
 src/gallium/state_trackers/egl/common/egl_g3d_api.c                |   43 
 src/gallium/state_trackers/egl/common/egl_g3d_loader.h             |    4 
 src/gallium/state_trackers/egl/common/egl_g3d_st.h                 |   29 
 src/gallium/state_trackers/egl/common/native.h                     |    2 
 src/gallium/state_trackers/egl/drm/modeset.c                       |  619 +++
 src/gallium/state_trackers/egl/drm/native_drm.c                    |  240 +
 src/gallium/state_trackers/egl/drm/native_drm.h                    |  146 
 src/gallium/state_trackers/egl/kms/native_kms.c                    |  808 ----
 src/gallium/state_trackers/egl/kms/native_kms.h                    |  137 
 src/gallium/state_trackers/glx/xlib/xm_api.c                       |   25 
 src/gallium/state_trackers/glx/xlib/xm_api.h                       |    3 
 src/gallium/state_trackers/glx/xlib/xm_st.c                        |    4 
 src/gallium/state_trackers/vega/vg_manager.c                       |   11 
 src/gallium/state_trackers/wgl/stw_context.c                       |    7 
 src/gallium/targets/SConscript.dri                                 |    1 
 src/gallium/targets/dri-i915/SConscript                            |    1 
 src/gallium/targets/egl-gdi/egl-static.c                           |   86 
 src/gallium/targets/egl/Makefile                                   |   16 
 src/gallium/targets/egl/egl.c                                      |   99 
 src/gallium/targets/egl/egl.h                                      |   44 
 src/gallium/targets/egl/st_GL.c                                    |   20 
 src/gallium/targets/egl/st_GLESv1_CM.c                             |    6 
 src/gallium/targets/egl/st_GLESv2.c                                |    6 
 src/gallium/targets/egl/st_OpenVG.c                                |    2 
 src/gallium/targets/libgl-xlib/xlib.c                              |    8 
 src/gallium/tests/graw/SConscript                                  |    1 
 src/gallium/tests/graw/shader-leak.c                               |  266 +
 src/gallium/tests/graw/tri.c                                       |   31 
 src/gallium/tests/python/tests/regress/fragment-shader/frag-kil.sh |   18 
 src/gallium/winsys/r600/drm/eg_states.h                            |  449 ++
 src/gallium/winsys/r600/drm/gen_eg_states.py                       |   39 
 src/gallium/winsys/r600/drm/r600_state.c                           |  260 +
 src/gallium/winsys/r600/drm/r600_states.h                          |   38 
 src/gallium/winsys/r600/drm/r600d.h                                |    9 
 src/gallium/winsys/r600/drm/radeon.c                               |   25 
 src/gallium/winsys/r600/drm/radeon_bo.c                            |    8 
 src/gallium/winsys/r600/drm/radeon_ctx.c                           |   22 
 src/gallium/winsys/r600/drm/radeon_draw.c                          |    2 
 src/gallium/winsys/r600/drm/radeon_priv.h                          |    3 
 src/gallium/winsys/r600/drm/radeon_state.c                         |    4 
 src/gallium/winsys/radeon/drm/radeon_drm_buffer.c                  |   60 
 src/gallium/winsys/svga/drm/vmw_screen_svga.c                      |    2 
 src/gallium/winsys/sw/null/null_sw_winsys.c                        |    2 
 src/glsl/Makefile                                                  |    5 
 src/glsl/Makefile.am                                               |    5 
 src/glsl/README                                                    |   12 
 src/glsl/SConscript                                                |    5 
 src/glsl/ast.h                                                     |   42 
 src/glsl/ast_to_hir.cpp                                            |   37 
 src/glsl/builtin_function.cpp                                      |  643 +--
 src/glsl/builtins/ir/equal                                         |   72 
 src/glsl/builtins/ir/greaterThan                                   |   54 
 src/glsl/builtins/ir/greaterThanEqual                              |   54 
 src/glsl/builtins/ir/lessThan                                      |   54 
 src/glsl/builtins/ir/lessThanEqual                                 |   54 
 src/glsl/builtins/ir/noise1                                        |    8 
 src/glsl/builtins/ir/noise2                                        |   75 
 src/glsl/builtins/ir/noise3                                        |   87 
 src/glsl/builtins/ir/noise4                                        |  111 
 src/glsl/builtins/ir/normalize                                     |    2 
 src/glsl/builtins/ir/notEqual                                      |   72 
 src/glsl/glsl_parser_extras.cpp                                    |    9 
 src/glsl/ir.cpp                                                    |   12 
 src/glsl/ir.h                                                      |  106 
 src/glsl/ir_algebraic.cpp                                          |    2 
 src/glsl/ir_clone.cpp                                              |    3 
 src/glsl/ir_constant_expression.cpp                                |   43 
 src/glsl/ir_function_can_inline.cpp                                |    5 
 src/glsl/ir_if_return.cpp                                          |  246 -
 src/glsl/ir_if_simplification.cpp                                  |    2 
 src/glsl/ir_lower_jumps.cpp                                        |  544 +++
 src/glsl/ir_mat_op_to_vec.cpp                                      |    8 
 src/glsl/ir_mod_to_fract.cpp                                       |    2 
 src/glsl/ir_optimization.h                                         |    6 
 src/glsl/ir_print_visitor.cpp                                      |    3 
 src/glsl/ir_validate.cpp                                           |   36 
 src/glsl/ir_variable.cpp                                           |    3 
 src/glsl/ir_visitor.h                                              |   17 
 src/glsl/linker.cpp                                                |    2 
 src/glsl/loop_controls.cpp                                         |   11 
 src/glsl/loop_unroll.cpp                                           |   93 
 src/glsl/lower_noise.cpp                                           |   71 
 src/glsl/lower_variable_index_to_cond_assign.cpp                   |  358 ++
 src/glsl/opt_redundant_jumps.cpp                                   |  111 
 src/glx/dri2_glx.c                                                 |   17 
 src/glx/indirect.c                                                 |    6 
 src/glx/indirect.h                                                 |    2 
 src/glx/indirect_init.c                                            |    2 
 src/glx/indirect_vertex_array.c                                    |    4 
 src/mapi/glapi/gen-es/es_EXT.xml                                   |    4 
 src/mapi/glapi/gen/Makefile                                        |    2 
 src/mapi/glapi/gen/gl_API.xml                                      |    8 
 src/mapi/glapi/glapi_priv.h                                        |    2 
 src/mapi/glapi/glapidispatch.h                                     |    2 
 src/mapi/glapi/glapitable.h                                        |    2 
 src/mapi/glapi/glapitemp.h                                         |    4 
 src/mesa/Makefile                                                  |   55 
 src/mesa/drivers/common/driverfuncs.c                              |   16 
 src/mesa/drivers/common/meta.c                                     |    2 
 src/mesa/drivers/dri/common/dri_util.c                             |    1 
 src/mesa/drivers/dri/common/dri_util.h                             |    1 
 src/mesa/drivers/dri/i915/i915_context.c                           |    1 
 src/mesa/drivers/dri/i915/i915_fragprog.c                          |   15 
 src/mesa/drivers/dri/i965/brw_cc.c                                 |    7 
 src/mesa/drivers/dri/i965/brw_context.c                            |   10 
 src/mesa/drivers/dri/i965/brw_fs.cpp                               |    4 
 src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp           |    3 
 src/mesa/drivers/dri/i965/brw_wm.c                                 |    4 
 src/mesa/drivers/dri/i965/brw_wm.h                                 |    4 
 src/mesa/drivers/dri/i965/brw_wm_emit.c                            |    2 
 src/mesa/drivers/dri/i965/brw_wm_glsl.c                            | 1137 
------
 src/mesa/drivers/dri/i965/brw_wm_iz.c                              |   22 
 src/mesa/drivers/dri/intel/intel_extensions.c                      |    4 
 src/mesa/drivers/dri/intel/intel_fbo.c                             |    4 
 src/mesa/drivers/dri/intel/intel_screen.c                          |    6 
 src/mesa/drivers/dri/intel/intel_tex_image.c                       |    4 
 src/mesa/drivers/dri/r300/compiler/r300_fragprog.c                 |   76 
 src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c            |   49 
 src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c         |   33 
 src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c            |   37 
 src/mesa/drivers/dri/r300/compiler/radeon_compiler.h               |    1 
 src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c               |  128 
 src/mesa/drivers/dri/r300/compiler/radeon_optimize.c               |  345 +
 src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c          |  184 +
 src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c         |   61 
 src/mesa/drivers/dri/r300/compiler/radeon_program.h                |   11 
 src/mesa/drivers/dri/r300/compiler/radeon_program_constants.h      |   36 
 src/mesa/drivers/dri/r300/compiler/radeon_program_pair.c           |  177 
 src/mesa/drivers/dri/r300/compiler/radeon_program_pair.h           |   33 
 src/mesa/drivers/dri/r300/compiler/radeon_program_print.c          |   87 
 src/mesa/drivers/dri/r300/compiler/radeon_remove_constants.c       |   35 
 src/mesa/drivers/dri/r600/Makefile                                 |    1 
 src/mesa/drivers/dri/r600/evergreen_blit.c                         | 1789 
++++++++++
 src/mesa/drivers/dri/r600/evergreen_blit.h                         |   54 
 src/mesa/drivers/dri/r600/evergreen_blit_shaders.h                 |   71 
 src/mesa/drivers/dri/r600/evergreen_chip.c                         |  441 +-
 src/mesa/drivers/dri/r600/evergreen_context.c                      |   34 
 src/mesa/drivers/dri/r600/evergreen_fragprog.c                     |    8 
 src/mesa/drivers/dri/r600/evergreen_vertprog.c                     |    6 
 src/mesa/drivers/dri/r600/r600_blit.c                              |    8 
 src/mesa/drivers/dri/r600/r600_cmdbuf.h                            |    2 
 src/mesa/drivers/dri/r600/r600_context.c                           |    9 
 src/mesa/drivers/dri/r600/r700_assembler.c                         |    2 
 src/mesa/drivers/dri/r600/r700_chip.c                              |   29 
 src/mesa/drivers/dri/r600/r700_chip.h                              |    2 
 src/mesa/drivers/dri/radeon/radeon_queryobj.c                      |    2 
 src/mesa/main/APIspec.xml                                          |   14 
 src/mesa/main/accum.h                                              |    7 
 src/mesa/main/api_exec.c                                           |   12 
 src/mesa/main/colortab.h                                           |    9 
 src/mesa/main/context.c                                            |   24 
 src/mesa/main/convolve.h                                           |    8 
 src/mesa/main/dlist.c                                              |    4 
 src/mesa/main/dlist.h                                              |   11 
 src/mesa/main/drawpix.h                                            |    9 
 src/mesa/main/drawtex.h                                            |    9 
 src/mesa/main/extensions.c                                         |    7 
 src/mesa/main/fbobject.c                                           |    8 
 src/mesa/main/feedback.h                                           |    7 
 src/mesa/main/formats.c                                            |    1 
 src/mesa/main/getstring.c                                          |   34 
 src/mesa/main/glheader.h                                           |   22 
 src/mesa/main/mfeatures.h                                          |    3 
 src/mesa/main/mtypes.h                                             |   24 
 src/mesa/main/queryobj.h                                           |   13 
 src/mesa/main/rastpos.h                                            |    7 
 src/mesa/main/shaderapi.c                                          |   13 
 src/mesa/main/shared.c                                             |    6 
 src/mesa/main/syncobj.c                                            |   15 
 src/mesa/main/syncobj.h                                            |   46 
 src/mesa/main/texgen.h                                             |    7 
 src/mesa/main/varray.c                                             |    4 
 src/mesa/main/varray.h                                             |    4 
 src/mesa/main/version.c                                            |    8 
 src/mesa/program/ir_to_mesa.cpp                                    |   61 
 src/mesa/sources.mak                                               |    1 
 src/mesa/state_tracker/st_cb_texture.c                             |    6 
 src/mesa/state_tracker/st_extensions.c                             |   69 
 src/mesa/state_tracker/st_gl_api.h                                 |    2 
 src/mesa/state_tracker/st_manager.c                                |  125 
 330 files changed, 17240 insertions(+), 6934 deletions(-)

New commits:
commit 8688606d0eb92d9c2f0eb9a5c881edc955976a21
Author: Christopher James Halse Rogers <christopher.halse.rog...@canonical.com>
Date:   Fri Sep 24 16:01:39 2010 +1000

    Merge a newer 7.9 snapshot, now with non-crashy KDE goodness

diff --git a/debian/changelog b/debian/changelog
index ef9eed0..602b46b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,9 @@
-mesa (7.9~git20100923-0ubuntu1) UNRELEASED; urgency=low
+mesa (7.9~git20100924-0ubuntu1) UNRELEASED; urgency=low
 
-  * New upstream snapshot from the 7.9 release branch up to commit 8f4c99a9.
+  * New upstream snapshot from the 7.9 release branch up to commit 3ad02793.
     - Fixes GPU hang in occlusion-query on i965 (LP: #634683)
+    - Fixes hang/crash when changing desktop-effects settings in
+      KDE. (LP: #633406)
   * debian/rules:
     - Update configure options for kms → drm EGL backend name change
     - Remove unused HAVE_KMS variable.

commit 3ad027934459f84b82616cd4e1bc9aa959282d60
Author: Tom Stellard <tstel...@gmail.com>
Date:   Sun Sep 19 22:44:19 2010 -0700

    r300g: Always try to build libr300compiler.a
    
    Make libr300compiler.a a PHONY target so that this library will always be
    built.  This fixes the problem of libr300compiler.a not being updated
    when r300g is being built and r300c is not.
    
    (cherry picked from commit 92762842a0724831a92aa9f76eb52a19cc179649)

diff --git a/src/gallium/drivers/r300/Makefile 
b/src/gallium/drivers/r300/Makefile
index 728bc40..66d900e 100644
--- a/src/gallium/drivers/r300/Makefile
+++ b/src/gallium/drivers/r300/Makefile
@@ -39,5 +39,6 @@ EXTRA_OBJECTS = \
 
 include ../../Makefile.template
 
+.PHONY: $(COMPILER_ARCHIVE)
 $(COMPILER_ARCHIVE):
        $(MAKE) -C $(TOP)/src/mesa/drivers/dri/r300/compiler

commit 97cfa1240cafe2a119ba1fcd2a0aab3087b309f7
Author: Kristian Høgsberg <k...@bitplanet.net>
Date:   Wed Sep 22 11:01:11 2010 -0400

    intel: Fix GL_ARB_shading_language_120 commit
    
    Fix commit e7087175f8a04f777403366fb34b58edd00f4d60.  Move the reference to
    GL_VERSION_2_1_functions to intel_extensions.c where it's available,
    don't try to enable a non-existing extension and advertise 1.20 for all
    intel chipsets, not just GEN4 and up.
    (cherry picked from commit b91dba49e0b08b18dbd6c477facdcc7b5472c8c7)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c 
b/src/mesa/drivers/dri/i965/brw_context.c
index 49be289..4b44e2a 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -41,13 +41,6 @@
 #include "intel_span.h"
 #include "tnl/t_pipeline.h"
 
-
-static const struct dri_extension gl_21_extension[] = {
-  {"GL_VERSION_2_1", GL_VERSION_2_1_functions },
-};
-
-
-
 /***************************************
  * Mesa's Driver Functions
  ***************************************/
@@ -94,8 +87,6 @@ GLboolean brwCreateContext( int api,
 
    TNL_CONTEXT(ctx)->Driver.RunPipeline = _tnl_run_pipeline;
 
-   ctx->Const.GLSLVersion = 120;
-
    ctx->Const.MaxDrawBuffers = BRW_MAX_DRAW_BUFFERS;
    ctx->Const.MaxTextureImageUnits = BRW_MAX_TEX_UNIT;
    ctx->Const.MaxTextureCoordUnits = 8; /* Mesa limit */
@@ -160,8 +151,6 @@ GLboolean brwCreateContext( int api,
       MIN2(ctx->Const.FragmentProgram.MaxNativeParameters,
           ctx->Const.FragmentProgram.MaxEnvParams);
 
-   driInitExtensions(ctx, gl_21_extension, GL_TRUE);
-
    if (intel->is_g4x || intel->gen >= 5) {
       brw->CMD_VF_STATISTICS = CMD_VF_STATISTICS_GM45;
       brw->CMD_PIPELINE_SELECT = CMD_PIPELINE_SELECT_GM45;
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c 
b/src/mesa/drivers/dri/intel/intel_extensions.c
index a066b5b..4b6229f 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
@@ -212,6 +212,9 @@ intelInitExtensions(GLcontext *ctx)
     */
    driInitExtensions(ctx, card_extensions, GL_FALSE);
 
+   _mesa_map_function_array(GL_VERSION_2_1_functions);
+   ctx->Const.GLSLVersion = 120;
+
    if (intel->gen >= 5)
       driInitExtensions(ctx, ironlake_extensions, GL_FALSE);
 

commit 6b0c28066039e895932f096c6528de042afbe192
Author: Brian Paul <bri...@vmware.com>
Date:   Tue Sep 21 18:13:02 2010 -0600

    mesa: don't advertise bogus GL_ARB_shading_language_120 extension
    
    Instead of using the invalid GL_ARB_shading_language_120 extension to
    determine the GLSL version, use a new ctx->Const.GLSLVersion field.
    Updated the intel and r600 drivers, but untested.
    
    See fd.o bug 29910
    
    NOTE: This is a candidate for the 7.9 branch (but let's wait and see if
    there's any regressions).
    (cherry picked from commit e7087175f8a04f777403366fb34b58edd00f4d60)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c 
b/src/mesa/drivers/dri/i965/brw_context.c
index d08538e..49be289 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -42,6 +42,12 @@
 #include "tnl/t_pipeline.h"
 
 
+static const struct dri_extension gl_21_extension[] = {
+  {"GL_VERSION_2_1", GL_VERSION_2_1_functions },
+};
+
+
+
 /***************************************
  * Mesa's Driver Functions
  ***************************************/
@@ -88,6 +94,8 @@ GLboolean brwCreateContext( int api,
 
    TNL_CONTEXT(ctx)->Driver.RunPipeline = _tnl_run_pipeline;
 
+   ctx->Const.GLSLVersion = 120;
+
    ctx->Const.MaxDrawBuffers = BRW_MAX_DRAW_BUFFERS;
    ctx->Const.MaxTextureImageUnits = BRW_MAX_TEX_UNIT;
    ctx->Const.MaxTextureCoordUnits = 8; /* Mesa limit */
@@ -152,6 +160,8 @@ GLboolean brwCreateContext( int api,
       MIN2(ctx->Const.FragmentProgram.MaxNativeParameters,
           ctx->Const.FragmentProgram.MaxEnvParams);
 
+   driInitExtensions(ctx, gl_21_extension, GL_TRUE);
+
    if (intel->is_g4x || intel->gen >= 5) {
       brw->CMD_VF_STATISTICS = CMD_VF_STATISTICS_GM45;
       brw->CMD_PIPELINE_SELECT = CMD_PIPELINE_SELECT_GM45;
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c 
b/src/mesa/drivers/dri/intel/intel_extensions.c
index bf22a42..a066b5b 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
@@ -89,7 +89,6 @@ static const struct dri_extension card_extensions[] = {
    { "GL_ARB_point_sprite",               NULL },
    { "GL_ARB_shader_objects",             GL_ARB_shader_objects_functions },
    { "GL_ARB_shading_language_100",       GL_VERSION_2_0_functions },
-   { "GL_ARB_shading_language_120",       GL_VERSION_2_1_functions },
    { "GL_ARB_sync",                       GL_ARB_sync_functions },
    { "GL_ARB_texture_border_clamp",       NULL },
    { "GL_ARB_texture_cube_map",           NULL },
diff --git a/src/mesa/drivers/dri/r600/r600_context.c 
b/src/mesa/drivers/dri/r600/r600_context.c
index 9c8fe2a..f4e6716 100644
--- a/src/mesa/drivers/dri/r600/r600_context.c
+++ b/src/mesa/drivers/dri/r600/r600_context.c
@@ -166,7 +166,6 @@ static const struct dri_extension mm_extensions[] = {
 static const struct dri_extension gl_20_extension[] = {
 #ifdef R600_ENABLE_GLSL_TEST
     {"GL_ARB_shading_language_100",                    
GL_VERSION_2_0_functions },
-    {"GL_ARB_shading_language_120",                    
GL_VERSION_2_1_functions },
 #else
   {"GL_VERSION_2_0",                   GL_VERSION_2_0_functions },
 #endif /* R600_ENABLE_GLSL_TEST */
@@ -266,6 +265,8 @@ static void r600InitConstValues(GLcontext *ctx, 
radeonScreenPtr screen)
         r700->bShaderUseMemConstant = GL_FALSE;
     }
 
+        ctx->Const.GLSLVersion = 120;
+
        ctx->Const.MaxTextureImageUnits = 16;
        /* 8 per clause on r6xx, 16 on r7xx
         * but I think mesa only supports 8 at the moment
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index b1f800f..3bddf25 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -597,6 +597,21 @@ _mesa_init_constants(GLcontext *ctx)
    ctx->Const.MaxVarying = MAX_VARYING;
 #endif
 
+   /* Shading language version */
+   if (ctx->API == API_OPENGL) {
+#if FEATURE_ARB_shading_language_120
+      ctx->Const.GLSLVersion = 120;
+#else
+      ctx->Const.GLSLVersion = 110;
+#endif
+   }
+   else if (ctx->API == API_OPENGLES2) {
+      ctx->Const.GLSLVersion = 100;
+   }
+   else if (ctx->API == API_OPENGLES) {
+      ctx->Const.GLSLVersion = 0; /* GLSL not supported */
+   }
+
    /* GL_ARB_framebuffer_object */
    ctx->Const.MaxSamples = 0;
 
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 50b97f5..080fa98 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -77,7 +77,6 @@ static const struct {
    { OFF, "GL_ARB_seamless_cube_map",          F(ARB_seamless_cube_map) },
    { OFF, "GL_ARB_shader_objects",             F(ARB_shader_objects) },
    { OFF, "GL_ARB_shading_language_100",       F(ARB_shading_language_100) },
-   { OFF, "GL_ARB_shading_language_120",       F(ARB_shading_language_120) },
    { OFF, "GL_ARB_shadow",                     F(ARB_shadow) },
    { OFF, "GL_ARB_shadow_ambient",             F(ARB_shadow_ambient) },
    { OFF, "GL_ARB_sync",                       F(ARB_sync) },
@@ -269,9 +268,6 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
 #if FEATURE_ARB_shading_language_100
    ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
 #endif
-#if FEATURE_ARB_shading_language_120
-   ctx->Extensions.ARB_shading_language_120 = GL_TRUE;
-#endif
    ctx->Extensions.ARB_shadow = GL_TRUE;
    ctx->Extensions.ARB_shadow_ambient = GL_TRUE;
    ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
@@ -513,9 +509,6 @@ _mesa_enable_2_1_extensions(GLcontext *ctx)
 #if FEATURE_EXT_texture_sRGB
    ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
 #endif
-#if FEATURE_ARB_shading_language_120
-   ctx->Extensions.ARB_shading_language_120 = GL_TRUE;
-#endif
 }
 
 
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 5e4fcd5..3910047 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -30,26 +30,42 @@
 #include "enums.h"
 #include "extensions.h"
 
+
+/**
+ * Return the string for a glGetString(GL_SHADING_LANGUAGE_VERSION) query.
+ */
 static const GLubyte *
 shading_language_version(GLcontext *ctx)
 {
    switch (ctx->API) {
-#if FEATURE_ARB_shading_language_100
    case API_OPENGL:
-      if (ctx->Extensions.ARB_shading_language_120)
-        return (const GLubyte *) "1.20";
-      else if (ctx->Extensions.ARB_shading_language_100)
-        return (const GLubyte *) "1.10";
-      goto error;
-#endif
+      if (!ctx->Extensions.ARB_shader_objects) {
+         _mesa_error(ctx, GL_INVALID_ENUM, "glGetString");
+         return (const GLubyte *) 0;
+      }
+
+      switch (ctx->Const.GLSLVersion) {
+      case 110:
+         return (const GLubyte *) "1.10";
+      case 120:
+         return (const GLubyte *) "1.20";
+      case 130:
+         return (const GLubyte *) "1.30";
+      default:
+         _mesa_problem(ctx,
+                       "Invalid GLSL version in shading_language_version()");
+         return (const GLubyte *) 0;
+      }
+      break;
 
    case API_OPENGLES2:
       return (const GLubyte *) "OpenGL ES GLSL ES 1.0.16";
 
    case API_OPENGLES:
+      /* fall-through */
+
    default:
-   error:
-      _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" );
+      _mesa_problem(ctx, "Unexpected API value in shading_language_version()");
       return (const GLubyte *) 0;
    }
 }
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index fdf8100..5494be8 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2608,6 +2608,8 @@ struct gl_constants
 
    GLuint MaxVarying;  /**< Number of float[4] varying parameters */
 
+   GLuint GLSLVersion;  /**< GLSL version supported (ex: 120 = 1.20) */
+
    /** Which texture units support GL_ATI_envmap_bumpmap as targets */
    GLbitfield SupportedBumpUnits;
 
@@ -2668,7 +2670,6 @@ struct gl_extensions
    GLboolean ARB_seamless_cube_map;
    GLboolean ARB_shader_objects;
    GLboolean ARB_shading_language_100;
-   GLboolean ARB_shading_language_120;
    GLboolean ARB_shadow;
    GLboolean ARB_shadow_ambient;
    GLboolean ARB_sync;
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index 9e1f5f2..5997ca0 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -84,7 +84,7 @@ compute_version(GLcontext *ctx)
                              (ctx->Extensions.EXT_stencil_two_side
                               || ctx->Extensions.ATI_separate_stencil));
    const GLboolean ver_2_1 = (ver_2_0 &&
-                              ctx->Extensions.ARB_shading_language_120 &&
+                              ctx->Const.GLSLVersion >= 120 &&
                               ctx->Extensions.EXT_pixel_buffer_object &&
                               ctx->Extensions.EXT_texture_sRGB);
    const GLboolean ver_3_0 = (ver_2_1 &&
diff --git a/src/mesa/state_tracker/st_extensions.c 
b/src/mesa/state_tracker/st_extensions.c
index 4c223f3..3b09995 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -183,6 +183,11 @@ void st_init_limits(struct st_context *st)
     * attributes) supported by a driver. */
    c->MaxVarying = screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, 
PIPE_SHADER_CAP_MAX_INPUTS) - 2;
    c->MaxVarying = MIN2(c->MaxVarying, MAX_VARYING);
+
+   /* XXX we'll need a better query here someday */
+   if (screen->get_param(screen, PIPE_CAP_GLSL)) {
+      c->GLSLVersion = 120;
+   }
 }
 
 
@@ -282,7 +287,6 @@ void st_init_extensions(struct st_context *st)
       ctx->Extensions.ARB_vertex_shader = GL_TRUE;
       ctx->Extensions.ARB_shader_objects = GL_TRUE;
       ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
-      ctx->Extensions.ARB_shading_language_120 = GL_TRUE;
    }
 
    if (screen->get_param(screen, PIPE_CAP_TEXTURE_MIRROR_REPEAT) > 0) {

commit b437c9102f6a96e0ca4de75000c772c63fc85f0f
Author: Eric Anholt <e...@anholt.net>
Date:   Tue Sep 21 10:35:50 2010 -0700

    i965: Share the KIL_NV implementation between glsl and non-glsl.
    (cherry picked from commit 23c507f1358833585de330ed313dffafabbbd3cd)

diff --git a/src/mesa/drivers/dri/i965/brw_wm.h 
b/src/mesa/drivers/dri/i965/brw_wm.h
index c2e6fb4..fed1372 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.h
+++ b/src/mesa/drivers/dri/i965/brw_wm.h
@@ -374,6 +374,7 @@ void emit_fb_write(struct brw_wm_compile *c,
 void emit_frontfacing(struct brw_compile *p,
                      const struct brw_reg *dst,
                      GLuint mask);
+void emit_kil_nv(struct brw_wm_compile *c);
 void emit_linterp(struct brw_compile *p,
                  const struct brw_reg *dst,
                  GLuint mask,
diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c 
b/src/mesa/drivers/dri/i965/brw_wm_emit.c
index f3ad01b..a4754ca 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c
@@ -1223,7 +1223,7 @@ static void emit_kil( struct brw_wm_compile *c,
 /* KIL_NV kills the pixels that are currently executing, not based on a test
  * of the arguments.
  */
-static void emit_kil_nv( struct brw_wm_compile *c )
+void emit_kil_nv( struct brw_wm_compile *c )
 {
    struct brw_compile *p = &c->func;
    struct brw_reg r0uw = retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UW);
diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c 
b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
index 7d6724d..7c05e45 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
@@ -614,21 +614,6 @@ static void emit_arl(struct brw_wm_compile *c,
     brw_set_saturate(p, 0);
 }
 
-/**
- * For GLSL shaders, this KIL will be unconditional.
- * It may be contained inside an IF/ENDIF structure of course.
- */
-static void emit_kil(struct brw_wm_compile *c)
-{
-    struct brw_compile *p = &c->func;
-    struct brw_reg depth = retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UW);
-    brw_push_insn_state(p);
-    brw_set_mask_control(p, BRW_MASK_DISABLE);
-    brw_NOT(p, c->emit_mask_reg, brw_mask_reg(1)); /* IMASK */
-    brw_AND(p, depth, c->emit_mask_reg, depth);
-    brw_pop_insn_state(p);
-}
-
 static INLINE struct brw_reg high_words( struct brw_reg reg )
 {
     return stride( suboffset( retype( reg, BRW_REGISTER_TYPE_W ), 1 ),
@@ -898,7 +883,7 @@ static void brw_wm_emit_glsl(struct brw_context *brw, 
struct brw_wm_compile *c)
                         c->fp->program.Base.SamplerUnits[inst->TexSrcUnit]);
                break;
            case OPCODE_KIL_NV:
-               emit_kil(c);
+               emit_kil_nv(c);
                break;
            case OPCODE_IF:
                assert(if_depth < MAX_IF_DEPTH);

commit 4ec818ea4aeb79c1a52a92f88189ab7a676299ff
Author: Kenneth Graunke <kenn...@whitecape.org>
Date:   Sun Sep 19 04:51:07 2010 +0200

    glsl: Fix broken handling of ir_binop_equal and ir_binop_nequal.
    
    When ir_binop_all_equal and ir_binop_any_nequal were introduced, the
    meaning of these two opcodes changed to return vectors rather than a
    single scalar, but the constant expression handling code was incorrectly
    written and only worked for scalars.  As a result, only the first
    component of the returned vector would be properly initialized.
    (cherry picked from commit 6ea16b6c510ee7f0e68505838a99562f0852f8e4)

diff --git a/src/glsl/ir_constant_expression.cpp 
b/src/glsl/ir_constant_expression.cpp
index ec0e26d..61a708f 100644
--- a/src/glsl/ir_constant_expression.cpp
+++ b/src/glsl/ir_constant_expression.cpp
@@ -623,36 +623,41 @@ ir_expression::constant_expression_value()
       }
       break;
    case ir_binop_equal:
-      switch (op[0]->type->base_type) {
-      case GLSL_TYPE_UINT:
-         data.b[0] = op[0]->value.u[0] == op[1]->value.u[0];
-         break;
-      case GLSL_TYPE_INT:
-         data.b[0] = op[0]->value.i[0] == op[1]->value.i[0];
-         break;
-      case GLSL_TYPE_FLOAT:
-         data.b[0] = op[0]->value.f[0] == op[1]->value.f[0];
-         break;
-      default:
-         assert(0);
+      assert(op[0]->type == op[1]->type);
+      for (unsigned c = 0; c < components; c++) {
+        switch (op[0]->type->base_type) {
+        case GLSL_TYPE_UINT:
+           data.b[c] = op[0]->value.u[c] == op[1]->value.u[c];
+           break;
+        case GLSL_TYPE_INT:
+           data.b[c] = op[0]->value.i[c] == op[1]->value.i[c];
+           break;
+        case GLSL_TYPE_FLOAT:
+           data.b[c] = op[0]->value.f[c] == op[1]->value.f[c];
+           break;
+        default:
+           assert(0);
+        }
       }
       break;
    case ir_binop_nequal:
-      switch (op[0]->type->base_type) {
-      case GLSL_TYPE_UINT:
-         data.b[0] = op[0]->value.u[0] != op[1]->value.u[0];
-         break;
-      case GLSL_TYPE_INT:
-         data.b[0] = op[0]->value.i[0] != op[1]->value.i[0];
-         break;
-      case GLSL_TYPE_FLOAT:
-         data.b[0] = op[0]->value.f[0] != op[1]->value.f[0];
-         break;
-      default:
-         assert(0);
+      assert(op[0]->type != op[1]->type);
+      for (unsigned c = 0; c < components; c++) {
+        switch (op[0]->type->base_type) {
+        case GLSL_TYPE_UINT:
+           data.b[c] = op[0]->value.u[c] != op[1]->value.u[c];
+           break;
+        case GLSL_TYPE_INT:
+           data.b[c] = op[0]->value.i[c] != op[1]->value.i[c];
+           break;
+        case GLSL_TYPE_FLOAT:
+           data.b[c] = op[0]->value.f[c] != op[1]->value.f[c];
+           break;
+        default:
+           assert(0);
+        }
       }
       break;
-
    case ir_binop_all_equal:
       data.b[0] = op[0]->has_value(op[1]);
       break;

commit 80a6cbfea326e8a9332b89f20ca9a87ac52608b0
Author: Kenneth Graunke <kenn...@whitecape.org>
Date:   Sun Sep 19 04:50:28 2010 +0200

    glsl: Add comments to clarify the types of comparison binops.
    (cherry picked from commit 14eea268284491d64ff92b37723bff1e9ff14b40)

diff --git a/src/glsl/ir.h b/src/glsl/ir.h
index 909f824..240e7cd 100644
--- a/src/glsl/ir.h
+++ b/src/glsl/ir.h
@@ -719,7 +719,8 @@ enum ir_expression_operation {
    ir_binop_mod,
 
    /**
-    * \name Binary comparison operators
+    * \name Binary comparison operators which return a boolean vector.
+    * The type of both operands must be equal.
     */
    /*...@{*/
    ir_binop_less,

commit ec2031563a7ead76ae0b9710a8736c4e9d40f42d
Author: Brian Paul <bri...@vmware.com>
Date:   Mon Sep 20 08:22:51 2010 -0600

    glsl2: silence compiler warnings in printf() calls
    
    Such as: "ir_validate.cpp:143: warning: format ‘%p’ expects type ‘void*’,
    but argument 2 has type ‘ir_variable*’"
    (cherry picked from commit 17391241599137b9729e9ee6c5487d05e04d8aee)

diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index 58ab8aa..912d1c0 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -124,7 +124,8 @@ ir_validate::visit_leave(ir_loop *ir)
                "    from:      %p\n"
                "    to:        %p\n"
                "    increment: %p\n",
-               ir->counter, ir->from, ir->to, ir->increment);
+               (void *) ir->counter, (void *) ir->from, (void *) ir->to,
+                (void *) ir->increment);
         abort();
       }
 
@@ -139,7 +140,8 @@ ir_validate::visit_leave(ir_loop *ir)
                "    from:      %p\n"
                "    to:        %p\n"
                "    increment: %p\n",
-               ir->counter, ir->from, ir->to, ir->increment);
+               (void *) ir->counter, (void *) ir->from, (void *) ir->to,
+                (void *) ir->increment);
         abort();
       }
    }

commit b7d4f08f4ef92116ba228b53b27ea2e3456b894e
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Sat Sep 18 16:08:38 2010 +0200

    glsl: Add doxygen comments
    (cherry picked from commit e053d62aa573651abdd78666d299272c8219a3aa)

diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 44c31b6..d7bf909 100644
--- a/src/glsl/ast.h
+++ b/src/glsl/ast.h
@@ -33,6 +33,20 @@ struct _mesa_glsl_parse_state;
 
 struct YYLTYPE;
 
+/**
+ * \defgroup AST Abstract syntax tree node definitions
+ *
+ * An abstract syntax tree is generated by the parser.  This is a fairly
+ * direct representation of the gramma derivation for the source program.
+ * No symantic checking is done during the generation of the AST.  Only
+ * syntactic checking is done.  Symantic checking is performed by a later
+ * stage that converts the AST to a more generic intermediate representation.
+ *
+ *...@{
+ */
+/**
+ * Base class of all abstract syntax tree nodes
+ */
 class ast_node {
 public:
    /* Callers of this talloc-based new need not call delete. It's
@@ -54,7 +68,14 @@ public:
       talloc_free(table);
    }
 
+   /**
+    * Print an AST node in something approximating the original GLSL code
+    */
    virtual void print(void) const;
+
+   /**
+    * Convert the AST node to the high-level intermediate representation
+    */
    virtual ir_rvalue *hir(exec_list *instructions,
                          struct _mesa_glsl_parse_state *state);
 
@@ -91,19 +112,29 @@ public:
       this->location.column = locp.first_column;
    }
 
+   /**
+    * Source location of the AST node.
+    */
    struct {
-      unsigned source;
-      unsigned line;
-      unsigned column;
+      unsigned source;    /**< GLSL source number. */
+      unsigned line;      /**< Line number within the source string. */
+      unsigned column;    /**< Column in the line. */
    } location;
 
    exec_node link;
 
 protected:
+   /**
+    * The only constructor is protected so that only derived class objects can
+    * be created.
+    */
    ast_node(void);
 };
 
 
+/**
+ * Operators for AST expression nodes.
+ */
 enum ast_operators {
    ast_assign,
    ast_plus,        /**< Unary + operator. */
@@ -161,6 +192,9 @@ enum ast_operators {
    ast_sequence
 };
 
+/**
+ * Representation of any sort of expression.
+ */
 class ast_expression : public ast_node {
 public:
    ast_expression(int oper, ast_expression *,


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1p03xs-0006kb...@alioth.debian.org

Reply via email to