SConstruct | 4 bin/minstall | 21 bin/mklib | 34 configs/autoconf.in | 2 configs/default | 2 configure.ac | 73 debian/changelog | 29 debian/patches/104_i915_fragment_shader_disable.patch | 26 debian/patches/series | 1 debian/rules | 2 docs/contents.html | 1 docs/developers.html | 26 docs/egl.html | 12 docs/intro.html | 8 docs/news.html | 18 docs/subset-A.html | 3 scons/gallium.py | 22 src/egl/docs/EGL_MESA_screen_surface | 2 src/egl/main/eglapi.c | 2 src/egl/main/eglconfig.h | 2 src/egl/main/eglmode.c | 2 src/egl/main/eglscreen.c | 2 src/gallium/auxiliary/draw/draw_vs_aos.h | 2 src/gallium/auxiliary/draw/draw_vs_llvm.c | 1 src/gallium/auxiliary/gallivm/lp_bld_arit.c | 12 src/gallium/auxiliary/gallivm/lp_bld_const.c | 15 src/gallium/auxiliary/gallivm/lp_bld_const.h | 2 src/gallium/auxiliary/gallivm/lp_bld_debug.c | 2 src/gallium/auxiliary/gallivm/lp_bld_format_aos.c | 4 src/gallium/auxiliary/gallivm/lp_bld_logic.c | 29 src/gallium/auxiliary/gallivm/lp_bld_logic.h | 4 src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 8 src/gallium/auxiliary/gallivm/lp_bld_sample.c | 103 src/gallium/auxiliary/gallivm/lp_bld_sample.h | 9 src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 300 src/gallium/auxiliary/gallivm/lp_bld_swizzle.c | 15 src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 22 src/gallium/auxiliary/gallivm/lp_bld_type.h | 8 src/gallium/auxiliary/pipebuffer/pb_bufmgr.h | 3 src/gallium/auxiliary/rtasm/rtasm_x86sse.h | 1 src/gallium/auxiliary/tgsi/tgsi_dump.h | 1 src/gallium/auxiliary/tgsi/tgsi_info.h | 1 src/gallium/auxiliary/tgsi/tgsi_parse.h | 1 src/gallium/auxiliary/tgsi/tgsi_sse2.h | 5 src/gallium/auxiliary/util/u_bitmask.h | 3 src/gallium/auxiliary/util/u_blit.h | 12 src/gallium/auxiliary/util/u_blitter.c | 2 src/gallium/auxiliary/util/u_blitter.h | 36 src/gallium/auxiliary/util/u_dirty_surfaces.h | 4 src/gallium/auxiliary/util/u_draw.h | 1 src/gallium/auxiliary/util/u_format.c | 56 src/gallium/auxiliary/util/u_format.h | 42 src/gallium/auxiliary/util/u_linear.h | 1 src/gallium/auxiliary/util/u_math.h | 13 src/gallium/auxiliary/util/u_simple_shaders.c | 1 src/gallium/auxiliary/util/u_split_prim.h | 11 src/gallium/auxiliary/util/u_tile.h | 3 src/gallium/auxiliary/util/u_transfer.h | 1 src/gallium/auxiliary/util/u_upload_mgr.h | 5 src/gallium/drivers/galahad/glhd_context.c | 16 src/gallium/drivers/galahad/glhd_objects.h | 2 src/gallium/drivers/galahad/glhd_screen.c | 2 src/gallium/drivers/llvmpipe/Makefile | 3 src/gallium/drivers/llvmpipe/SConscript | 3 src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c | 5 src/gallium/drivers/llvmpipe/lp_bld_interp.c | 83 src/gallium/drivers/llvmpipe/lp_bld_interp.h | 2 src/gallium/drivers/llvmpipe/lp_context.c | 10 src/gallium/drivers/llvmpipe/lp_context.h | 3 src/gallium/drivers/llvmpipe/lp_flush.c | 1 src/gallium/drivers/llvmpipe/lp_query.c | 52 src/gallium/drivers/llvmpipe/lp_query.h | 8 src/gallium/drivers/llvmpipe/lp_rast.c | 350 src/gallium/drivers/llvmpipe/lp_rast.h | 93 src/gallium/drivers/llvmpipe/lp_rast_debug.c | 409 src/gallium/drivers/llvmpipe/lp_rast_priv.h | 72 src/gallium/drivers/llvmpipe/lp_rast_tri.c | 151 src/gallium/drivers/llvmpipe/lp_rast_tri_tmp.h | 38 src/gallium/drivers/llvmpipe/lp_scene.c | 374 src/gallium/drivers/llvmpipe/lp_scene.h | 209 src/gallium/drivers/llvmpipe/lp_screen.c | 9 src/gallium/drivers/llvmpipe/lp_setup.c | 613 src/gallium/drivers/llvmpipe/lp_setup.h | 13 src/gallium/drivers/llvmpipe/lp_setup_coef.c | 279 src/gallium/drivers/llvmpipe/lp_setup_coef.h | 64 src/gallium/drivers/llvmpipe/lp_setup_coef_intrin.c | 228 src/gallium/drivers/llvmpipe/lp_setup_context.h | 40 src/gallium/drivers/llvmpipe/lp_setup_line.c | 680 src/gallium/drivers/llvmpipe/lp_setup_point.c | 308 src/gallium/drivers/llvmpipe/lp_setup_tri.c | 513 src/gallium/drivers/llvmpipe/lp_setup_vbuf.c | 6 src/gallium/drivers/llvmpipe/lp_state_derived.c | 20 src/gallium/drivers/llvmpipe/lp_state_fs.c | 61 src/gallium/drivers/llvmpipe/lp_state_fs.h | 9 src/gallium/drivers/llvmpipe/lp_state_rasterizer.c | 8 src/gallium/drivers/llvmpipe/lp_surface.c | 8 src/gallium/drivers/llvmpipe/lp_texture.c | 2 src/gallium/drivers/llvmpipe/sse_mathfun.h | 49 src/gallium/drivers/nouveau/nouveau_class.h | 9034 ---------- src/gallium/drivers/nouveau/nouveau_screen.c | 3 src/gallium/drivers/nouveau/nouveau_winsys.h | 1 src/gallium/drivers/nouveau/nv_m2mf.xml.h | 155 src/gallium/drivers/nouveau/nv_object.xml.h | 231 src/gallium/drivers/nv50/nv50_context.h | 1 src/gallium/drivers/nv50/nv50_reg.h | 1774 + src/gallium/drivers/nvfx/Makefile | 8 src/gallium/drivers/nvfx/SConscript | 6 src/gallium/drivers/nvfx/nv01_2d.xml.h | 1343 + src/gallium/drivers/nvfx/nv04_2d.c | 136 src/gallium/drivers/nvfx/nv04_2d.h | 22 src/gallium/drivers/nvfx/nv30-40_3d.xml.h | 2022 ++ src/gallium/drivers/nvfx/nv30_fragtex.c | 24 src/gallium/drivers/nvfx/nv30_vertprog.h | 6 src/gallium/drivers/nvfx/nv40_fragtex.c | 30 src/gallium/drivers/nvfx/nv40_vertprog.h | 1 src/gallium/drivers/nvfx/nvfx_context.c | 10 src/gallium/drivers/nvfx/nvfx_context.h | 32 src/gallium/drivers/nvfx/nvfx_draw.c | 244 src/gallium/drivers/nvfx/nvfx_fragprog.c | 197 src/gallium/drivers/nvfx/nvfx_fragtex.c | 84 src/gallium/drivers/nvfx/nvfx_miptree.c | 9 src/gallium/drivers/nvfx/nvfx_push.c | 28 src/gallium/drivers/nvfx/nvfx_query.c | 31 src/gallium/drivers/nvfx/nvfx_screen.c | 179 src/gallium/drivers/nvfx/nvfx_screen.h | 5 src/gallium/drivers/nvfx/nvfx_shader.h | 13 src/gallium/drivers/nvfx/nvfx_state.c | 68 src/gallium/drivers/nvfx/nvfx_state.h | 20 src/gallium/drivers/nvfx/nvfx_state_blend.c | 22 src/gallium/drivers/nvfx/nvfx_state_emit.c | 309 src/gallium/drivers/nvfx/nvfx_state_fb.c | 108 src/gallium/drivers/nvfx/nvfx_state_rasterizer.c | 9 src/gallium/drivers/nvfx/nvfx_state_scissor.c | 23 src/gallium/drivers/nvfx/nvfx_state_stipple.c | 11 src/gallium/drivers/nvfx/nvfx_state_viewport.c | 35 src/gallium/drivers/nvfx/nvfx_state_zsa.c | 21 src/gallium/drivers/nvfx/nvfx_surface.c | 202 src/gallium/drivers/nvfx/nvfx_tex.h | 54 src/gallium/drivers/nvfx/nvfx_vbo.c | 112 src/gallium/drivers/nvfx/nvfx_vertprog.c | 504 src/gallium/drivers/r300/r300_blit.c | 6 src/gallium/drivers/r300/r300_context.c | 2 src/gallium/drivers/r300/r300_debug.c | 37 src/gallium/drivers/r300/r300_emit.c | 4 src/gallium/drivers/r300/r300_fs.c | 20 src/gallium/drivers/r300/r300_reg.h | 1 src/gallium/drivers/r300/r300_render.c | 3 src/gallium/drivers/r300/r300_screen.h | 1 src/gallium/drivers/r300/r300_state.c | 8 src/gallium/drivers/r300/r300_state_derived.c | 24 src/gallium/drivers/r300/r300_texture.c | 55 src/gallium/drivers/r300/r300_texture.h | 7 src/gallium/drivers/r300/r300_texture_desc.h | 1 src/gallium/drivers/r300/r300_vs.c | 5 src/gallium/drivers/r300/r300_winsys.h | 1 src/gallium/drivers/r600/Makefile | 3 src/gallium/drivers/r600/r600_asm.c | 384 src/gallium/drivers/r600/r600_asm.h | 47 src/gallium/drivers/r600/r600_blit.c | 420 src/gallium/drivers/r600/r600_buffer.c | 5 src/gallium/drivers/r600/r600_context.c | 281 src/gallium/drivers/r600/r600_context.h | 107 src/gallium/drivers/r600/r600_draw.c | 95 src/gallium/drivers/r600/r600_hw_states.c | 1129 + src/gallium/drivers/r600/r600_opcodes.h | 178 src/gallium/drivers/r600/r600_query.c | 48 src/gallium/drivers/r600/r600_resource.h | 8 src/gallium/drivers/r600/r600_screen.c | 3 src/gallium/drivers/r600/r600_screen.h | 3 src/gallium/drivers/r600/r600_shader.c | 1303 + src/gallium/drivers/r600/r600_shader.h | 2 src/gallium/drivers/r600/r600_sq.h | 174 src/gallium/drivers/r600/r600_state.c | 1406 - src/gallium/drivers/r600/r600_state_inlines.h | 124 src/gallium/drivers/r600/r600_states_inc.h | 535 src/gallium/drivers/r600/r600_texture.c | 129 src/gallium/drivers/r600/r600d.h | 8 src/gallium/drivers/r600/r700_asm.c | 36 src/gallium/drivers/r600/radeon.h | 562 src/gallium/drivers/softpipe/sp_flush.c | 1 src/gallium/drivers/svga/svga_context.c | 5 src/gallium/drivers/svga/svga_context.h | 1 src/gallium/drivers/svga/svga_state_framebuffer.c | 15 src/gallium/drivers/svga/svga_state_tss.c | 14 src/gallium/drivers/svga/svga_tgsi_insn.c | 19 src/gallium/drivers/trace/tr_context.c | 5 src/gallium/include/pipe/p_context.h | 30 src/gallium/include/pipe/p_defines.h | 2 src/gallium/include/pipe/p_format.h | 2 src/gallium/include/pipe/p_shader_tokens.h | 4 src/gallium/include/pipe/p_state.h | 1 src/gallium/include/state_tracker/graw.h | 28 src/gallium/state_trackers/dri/common/dri_context.c | 68 src/gallium/state_trackers/dri/common/dri_context.h | 4 src/gallium/state_trackers/dri/common/dri_screen.c | 18 src/gallium/state_trackers/dri/common/dri_screen.h | 2 src/gallium/state_trackers/dri/drm/dri2.c | 8 src/gallium/state_trackers/egl/common/egl_g3d.c | 9 src/gallium/state_trackers/egl/common/egl_g3d_api.c | 25 src/gallium/state_trackers/egl/common/egl_g3d_image.c | 245 src/gallium/state_trackers/egl/common/egl_g3d_image.h | 8 src/gallium/state_trackers/egl/kms/native_kms.c | 46 src/gallium/state_trackers/glx/xlib/glx_api.c | 2 src/gallium/state_trackers/glx/xlib/xm_st.c | 8 src/gallium/targets/SConscript | 15 src/gallium/targets/dri-r600/Makefile | 4 src/gallium/targets/graw-xlib/graw_util.c | 1 src/gallium/targets/graw-xlib/graw_xlib.c | 1 src/gallium/targets/libgl-xlib/Makefile | 13 src/gallium/targets/libgl-xlib/SConscript | 4 src/gallium/targets/libgl-xlib/xlib.c | 12 src/gallium/tests/unit/Makefile | 1 src/gallium/tests/unit/SConscript | 1 src/gallium/tests/unit/u_format_compatible_test.c | 76 src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c | 3 src/gallium/winsys/r600/drm/gen_r600_states.py | 39 src/gallium/winsys/r600/drm/r600_state.c | 141 src/gallium/winsys/r600/drm/r600_states.h | 186 src/gallium/winsys/r600/drm/radeon.c | 70 src/gallium/winsys/r600/drm/radeon_bo_pb.c | 186 src/gallium/winsys/r600/drm/radeon_ctx.c | 225 src/gallium/winsys/r600/drm/radeon_draw.c | 108 src/gallium/winsys/r600/drm/radeon_priv.h | 37 src/gallium/winsys/r600/drm/radeon_state.c | 145 src/glsl/Makefile | 4 src/glsl/Makefile.am | 5 src/glsl/README | 34 src/glsl/SConscript | 4 src/glsl/TODO | 26 src/glsl/ast_function.cpp | 339 src/glsl/ast_to_hir.cpp | 286 src/glsl/builtin_function.cpp | 3383 +++ src/glsl/builtin_types.h | 23 src/glsl/builtin_variables.h | 7 src/glsl/builtins/ir/atan | 55 src/glsl/builtins/ir/distance | 10 src/glsl/builtins/ir/dot | 2 src/glsl/builtins/ir/equal | 84 src/glsl/builtins/ir/faceforward | 2 src/glsl/builtins/ir/greaterThan | 54 src/glsl/builtins/ir/greaterThanEqual | 54 src/glsl/builtins/ir/length | 2 src/glsl/builtins/ir/lessThan | 54 src/glsl/builtins/ir/lessThanEqual | 54 src/glsl/builtins/ir/matrixCompMult | 54 src/glsl/builtins/ir/mix | 18 src/glsl/builtins/ir/normalize | 2 src/glsl/builtins/ir/notEqual | 84 src/glsl/builtins/ir/outerProduct | 54 src/glsl/builtins/ir/reflect | 2 src/glsl/builtins/ir/refract | 14 src/glsl/builtins/ir/smoothstep | 38 src/glsl/builtins/ir/step | 36 src/glsl/builtins/ir/transpose | 162 src/glsl/builtins/profiles/100.frag | 300 src/glsl/builtins/profiles/100.vert | 300 src/glsl/builtins/tools/generate_builtins.py | 62 src/glsl/glcpp/glcpp-parse.c | 446 src/glsl/glcpp/glcpp-parse.h | 7 src/glsl/glcpp/glcpp-parse.y | 10 src/glsl/glcpp/glcpp.c | 3 src/glsl/glcpp/glcpp.h | 4 src/glsl/glcpp/pp.c | 6 src/glsl/glsl_lexer.cpp | 1782 + src/glsl/glsl_lexer.lpp | 48 src/glsl/glsl_parser.cpp | 3331 +-- src/glsl/glsl_parser.h | 173 src/glsl/glsl_parser.ypp | 137 src/glsl/glsl_parser_extras.cpp | 78 src/glsl/glsl_parser_extras.h | 37 src/glsl/glsl_symbol_table.cpp | 160 src/glsl/glsl_symbol_table.h | 84 src/glsl/glsl_types.cpp | 81 src/glsl/glsl_types.h | 12 src/glsl/ir.cpp | 136 src/glsl/ir.h | 38 src/glsl/ir_algebraic.cpp | 52 src/glsl/ir_clone.cpp | 3 src/glsl/ir_constant_expression.cpp | 4 src/glsl/ir_constant_folding.cpp | 13 src/glsl/ir_constant_propagation.cpp | 18 src/glsl/ir_copy_propagation.cpp | 26 src/glsl/ir_expression_flattening.cpp | 124 src/glsl/ir_hierarchical_visitor.cpp | 1 src/glsl/ir_hierarchical_visitor.h | 7 src/glsl/ir_hv_accept.cpp | 9 src/glsl/ir_import_prototypes.cpp | 2 src/glsl/ir_mat_op_to_vec.cpp | 194 src/glsl/ir_optimization.h | 2 src/glsl/ir_print_visitor.cpp | 35 src/glsl/ir_reader.cpp | 78 src/glsl/ir_rvalue_visitor.cpp | 7 src/glsl/ir_validate.cpp | 36 src/glsl/ir_variable.cpp | 75 src/glsl/link_functions.cpp | 2 src/glsl/linker.cpp | 60 src/glsl/list.h | 40 src/glsl/loop_analysis.cpp | 496 src/glsl/loop_analysis.h | 230 src/glsl/loop_controls.cpp | 294 src/glsl/loop_unroll.cpp | 102 src/glsl/main.cpp | 55 src/glut/glx/glut_init.c | 393 src/glx/Makefile | 6 src/glx/dri2.c | 10 src/glx/dri2_glx.c | 4 src/glx/dri_common.c | 25 src/glx/dri_common.h | 3 src/glx/dri_glx.c | 4 src/glx/drisw_glx.c | 4 src/glx/glx_pbuffer.c | 14 src/glx/glxclient.h | 10 src/glx/glxcmds.c | 64 src/glx/glxcurrent.c | 24 src/glx/glxext.c | 14 src/glx/indirect_glx.c | 16 src/mapi/glapi/gen/glX_proto_send.py | 6 src/mesa/drivers/dri/Makefile.template | 5 src/mesa/drivers/dri/common/dri_util.c | 6 src/mesa/drivers/dri/i915/i915_context.c | 6 src/mesa/drivers/dri/i965/Makefile | 5 src/mesa/drivers/dri/i965/brw_context.c | 7 src/mesa/drivers/dri/i965/brw_context.h | 18 src/mesa/drivers/dri/i965/brw_defines.h | 3 src/mesa/drivers/dri/i965/brw_disasm.c | 25 src/mesa/drivers/dri/i965/brw_eu.h | 4 src/mesa/drivers/dri/i965/brw_eu_emit.c | 147 src/mesa/drivers/dri/i965/brw_fs.cpp | 1925 ++ src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp | 365 src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp | 391 src/mesa/drivers/dri/i965/brw_misc_state.c | 2 src/mesa/drivers/dri/i965/brw_optimize.c | 81 src/mesa/drivers/dri/i965/brw_program.c | 42 src/mesa/drivers/dri/i965/brw_structs.h | 2 src/mesa/drivers/dri/i965/brw_vs_emit.c | 91 src/mesa/drivers/dri/i965/brw_wm.c | 25 src/mesa/drivers/dri/i965/brw_wm.h | 10 src/mesa/drivers/dri/i965/brw_wm_glsl.c | 12 src/mesa/drivers/dri/i965/brw_wm_pass2.c | 2 src/mesa/drivers/dri/i965/brw_wm_state.c | 18 src/mesa/drivers/dri/i965/gen6_cc.c | 2 src/mesa/drivers/dri/intel/intel_context.c | 3 src/mesa/drivers/dri/intel/intel_context.h | 13 src/mesa/drivers/dri/intel/intel_extensions_es2.c | 1 src/mesa/drivers/dri/intel/intel_fbo.c | 16 src/mesa/drivers/dri/nouveau/nouveau_class.h | 4954 +++++ src/mesa/drivers/dri/nouveau/nouveau_context.c | 5 src/mesa/drivers/dri/nouveau/nv04_context.c | 1 src/mesa/drivers/dri/nouveau/nv04_state_frag.c | 36 src/mesa/drivers/dri/nouveau/nv10_state_frag.c | 31 src/mesa/drivers/dri/nouveau/nv20_state_tnl.c | 50 src/mesa/drivers/dri/r200/Makefile | 1 src/mesa/drivers/dri/r200/radeon_buffer_objects.c | 1 src/mesa/drivers/dri/r200/radeon_buffer_objects.h | 1 src/mesa/drivers/dri/r300/compiler/r300_fragprog.c | 5 src/mesa/drivers/dri/r300/compiler/r300_fragprog.h | 4 src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c | 5 src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c | 191 src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c | 297 src/mesa/drivers/dri/r300/compiler/r3xx_vertprog_dump.c | 5 src/mesa/drivers/dri/r300/compiler/r500_fragprog.c | 5 src/mesa/drivers/dri/r300/compiler/r500_fragprog.h | 6 src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c | 23 src/mesa/drivers/dri/r300/compiler/radeon_compiler.c | 33 src/mesa/drivers/dri/r300/compiler/radeon_compiler.h | 23 src/mesa/drivers/dri/r300/compiler/radeon_dataflow.h | 6 src/mesa/drivers/dri/r300/compiler/radeon_dataflow_deadcode.c | 19 src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c | 2 src/mesa/drivers/dri/r300/compiler/radeon_emulate_branches.c | 2 src/mesa/drivers/dri/r300/compiler/radeon_emulate_branches.h | 2 src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c | 30 src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h | 8 src/mesa/drivers/dri/r300/compiler/radeon_optimize.c | 14 src/mesa/drivers/dri/r300/compiler/radeon_pair_regalloc.c | 62 src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c | 3 src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c | 4 src/mesa/drivers/dri/r300/compiler/radeon_program.c | 9 src/mesa/drivers/dri/r300/compiler/radeon_program.h | 12 src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c | 6 src/mesa/drivers/dri/r300/compiler/radeon_program_alu.h | 5 src/mesa/drivers/dri/r300/compiler/radeon_program_pair.h | 9 src/mesa/drivers/dri/r300/compiler/radeon_program_print.c | 48 src/mesa/drivers/dri/r300/compiler/radeon_remove_constants.c | 4 src/mesa/drivers/dri/r300/compiler/radeon_remove_constants.h | 3 src/mesa/drivers/dri/r300/compiler/radeon_rename_regs.c | 2 src/mesa/drivers/dri/r300/compiler/radeon_rename_regs.h | 2 src/mesa/drivers/dri/r300/r300_blit.c | 11 src/mesa/drivers/dri/r300/r300_fragprog_common.c | 6 src/mesa/drivers/dri/r300/r300_vertprog.c | 7 src/mesa/drivers/dri/r600/evergreen_chip.c | 16 src/mesa/drivers/dri/r600/evergreen_context.c | 3 src/mesa/drivers/dri/r600/evergreen_fragprog.c | 30 src/mesa/drivers/dri/r600/evergreen_fragprog.h | 2 src/mesa/drivers/dri/r600/evergreen_render.c | 9 src/mesa/drivers/dri/r600/evergreen_vertprog.c | 27 src/mesa/drivers/dri/r600/evergreen_vertprog.h | 2 src/mesa/drivers/dri/r600/r600_context.c | 8 src/mesa/drivers/dri/r600/r700_assembler.c | 440 src/mesa/drivers/dri/r600/r700_assembler.h | 2 src/mesa/drivers/dri/r600/r700_chip.c | 13 src/mesa/drivers/dri/r600/r700_fragprog.c | 7 src/mesa/drivers/dri/r600/r700_render.c | 1 src/mesa/drivers/dri/r600/r700_shader.c | 13 src/mesa/drivers/dri/r600/r700_vertprog.c | 8 src/mesa/drivers/dri/radeon/Makefile | 1 src/mesa/drivers/dri/radeon/radeon_common_context.c | 3 src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c | 6 src/mesa/drivers/dri/radeon/radeon_pixel_read.c | 42 src/mesa/drivers/dri/swrast/swrast.c | 4 src/mesa/drivers/osmesa/Makefile | 4 src/mesa/main/bufferobj.c | 22 src/mesa/main/compiler.h | 17 src/mesa/main/context.c | 11 src/mesa/main/dlist.c | 6 src/mesa/main/extensions.c | 5 src/mesa/main/fbobject.c | 10 src/mesa/main/formats.c | 12 src/mesa/main/formats.h | 3 src/mesa/main/framebuffer.c | 4 src/mesa/main/get.c | 35 src/mesa/main/getstring.c | 4 src/mesa/main/imports.h | 10 src/mesa/main/light.c | 6 src/mesa/main/mipmap.c | 17 src/mesa/main/mtypes.h | 34 src/mesa/main/nvprogram.c | 4 src/mesa/main/shaderapi.c | 37 src/mesa/main/shaderobj.c | 48 src/mesa/main/shaderobj.h | 36 src/mesa/main/shared.c | 4 src/mesa/main/texcompress_s3tc.c | 1 src/mesa/main/texenv.c | 119 src/mesa/main/texenvprogram.c | 2 src/mesa/main/teximage.c | 4 src/mesa/main/transformfeedback.c | 7 src/mesa/program/ir_to_mesa.cpp | 868 src/mesa/program/prog_execute.c | 7 src/mesa/program/prog_parameter.c | 6 src/mesa/program/prog_statevars.c | 2 src/mesa/program/program.c | 8 src/mesa/program/program.h | 32 src/mesa/program/program_parse.tab.c | 2 src/mesa/program/program_parse.y | 2 src/mesa/state_tracker/st_cb_eglimage.c | 3 src/mesa/state_tracker/st_cb_texture.c | 10 src/mesa/state_tracker/st_draw.c | 3 src/mesa/state_tracker/st_extensions.c | 15 src/mesa/state_tracker/st_format.c | 5 src/mesa/state_tracker/st_manager.c | 31 src/mesa/state_tracker/st_mesa_to_tgsi.c | 3 src/mesa/swrast/s_context.c | 2 src/mesa/swrast/s_readpix.c | 3 src/mesa/swrast/s_span.c | 6 src/mesa/vbo/vbo_exec_array.c | 4 src/mesa/x86/common_x86.c | 49 src/mesa/x86/x86_xform.c | 37 src/talloc/SConscript | 2 457 files changed, 36353 insertions(+), 21728 deletions(-)
New commits: commit 90006b22f2a0f363f4b87b36a6940ad634f5fcd7 Author: Robert Hooker <[email protected]> Date: Thu Sep 9 16:20:36 2010 -0400 Disable the experimental ARB_fragment_shader option on i915 by default. diff --git a/debian/changelog b/debian/changelog index daecaf6..dfbdef7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,17 +1,21 @@ mesa (7.9~git20100909-0ubuntu1) maverick; urgency=low * New upstream git snapshot up to commit 94118fe2d4b1e5 (LP: #631413) - - Many bug fixes including: - 628930 - - LP: #626943, #610541 - Flickering on Radeon - - LP: #628930 - KDE desktop effects not enabled automatically, graphical - corruption when enabled - - LP: #601052 - Cougar Point Graphics support - - LP: #596292, #599741 - Unity failing to start or misrendering on ATI + * New features include ATI HD5xxx series support in r600, and a vastly + improved glsl compiler. + * Many bug fixes including: + - LP: #626943, #610541 - Flickering on Radeon + - LP: #633261 - KDE desktop effects not enabled automatically, + graphical corruption when enabled + - LP: #601052 - Cougar Point Graphics support + - LP: #596292, #599741 - Unity failing to start or misrendering on ATI * Remove pre-generated .pc's, use the ones generated at build time instead. * Remove all references to mesa-utils now that its no longer shipped with the mesa source. + * Disable the experimental ARB_fragment_shader option by default on + i915, it exposes incomplete functionality that breaks KDE compositing + among other things. It can be enabled via driconf still. (LP: #628930) -- Robert Hooker <[email protected]> Thu, 09 Sep 2010 15:37:52 -0400 diff --git a/debian/patches/104_i915_fragment_shader_disable.patch b/debian/patches/104_i915_fragment_shader_disable.patch new file mode 100644 index 0000000..d2aee8e --- /dev/null +++ b/debian/patches/104_i915_fragment_shader_disable.patch @@ -0,0 +1,26 @@ +From e5a4106be7c8b87821f6b5d21fec99a402825740 Mon Sep 17 00:00:00 2001 +From: Robert Hooker <[email protected]> +Date: Wed, 8 Sep 2010 12:33:09 -0400 +Subject: [PATCH] Revert "i915: Enable ARB_fragment_shader by default." + +This reverts commit a58514cc9c5cc5867f9140700462c5ac5749550d. +--- + src/mesa/drivers/dri/intel/intel_screen.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c +index 0a542a7..8ae2cd2 100644 +--- a/src/mesa/drivers/dri/intel/intel_screen.c ++++ b/src/mesa/drivers/dri/intel/intel_screen.c +@@ -70,7 +70,7 @@ PUBLIC const char __driConfigOptions[] = + DRI_CONF_DESC(en, "Enable early Z in classic mode (unstable, 945-only).") + DRI_CONF_OPT_END + +- DRI_CONF_OPT_BEGIN(fragment_shader, bool, true) ++ DRI_CONF_OPT_BEGIN(fragment_shader, bool, false) + DRI_CONF_DESC(en, "Enable limited ARB_fragment_shader support on 915/945.") + DRI_CONF_OPT_END + +-- +1.7.2 + diff --git a/debian/patches/series b/debian/patches/series index 92ce811..c267c2b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,3 +6,4 @@ 100_no_abi_tag.patch 101_ubuntu_hidden_glname.patch 103_savage-expose_fbmodes_with_nonzero_alpha.patch +104_i915_fragment_shader_disable.patch commit ef782d825bdb3973ee6c409d86b63c87d8114519 Author: Robert Hooker <[email protected]> Date: Thu Sep 9 16:01:21 2010 -0400 Update changelog. diff --git a/debian/changelog b/debian/changelog index 5a52e26..daecaf6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,19 @@ -mesa (7.9~git20100825-0ubuntu1) maverick; urgency=low - - * New upstream git snapshot up to commit f81cec52a. - - Remove pre-generated .pc's, use the ones generated at build time - instead. - - Remove all references to mesa-utils now that its shipped as a - seperate package. - - -- Robert Hooker <[email protected]> Wed, 25 Aug 2010 17:15:21 -0400 +mesa (7.9~git20100909-0ubuntu1) maverick; urgency=low + + * New upstream git snapshot up to commit 94118fe2d4b1e5 (LP: #631413) + - Many bug fixes including: + 628930 + - LP: #626943, #610541 - Flickering on Radeon + - LP: #628930 - KDE desktop effects not enabled automatically, graphical + corruption when enabled + - LP: #601052 - Cougar Point Graphics support + - LP: #596292, #599741 - Unity failing to start or misrendering on ATI + * Remove pre-generated .pc's, use the ones generated at build time + instead. + * Remove all references to mesa-utils now that its no longer shipped + with the mesa source. + + -- Robert Hooker <[email protected]> Thu, 09 Sep 2010 15:37:52 -0400 mesa (7.8.2-2ubuntu2) maverick; urgency=low commit 2312dea648bc8ac6dd68759983dbdb300d0ac1f0 Author: Robert Hooker <[email protected]> Date: Thu Sep 9 15:20:45 2010 -0400 Revert "Enable nouveau-vieux classic mesa driver." This reverts commit 77cba73436f53cad654e802c2ef29348a529ceb5. It's too late in maverick to add new features. diff --git a/debian/rules b/debian/rules index 59e863b..0e19a48 100755 --- a/debian/rules +++ b/debian/rules @@ -77,7 +77,7 @@ else DRI_DRIVERS += i915 i965 GALLIUM_DRIVERS += i915 i965 else ifneq ($(DEB_HOST_ARCH), s390) - DRI_DRIVERS += mga nouveau r128 r200 r300 r600 radeon savage tdfx + DRI_DRIVERS += mga r128 r200 r300 r600 radeon savage tdfx ifeq ($(DEB_HOST_ARCH_CPU), i386) DRI_DRIVERS += i810 i915 i965 sis unichrome GALLIUM_DRIVERS += i915 i965 commit 94118fe2d4b1e5d0b9f39d9d2c44706db462e97e Author: Kristian Høgsberg <[email protected]> Date: Thu Sep 9 13:18:40 2010 -0400 glx: Optimize out no-op make current calls This make a lot more sense now that we might have to recreate the glx drawables for legacy code paths. diff --git a/src/glx/glxcurrent.c b/src/glx/glxcurrent.c index 0d359f7..3631738 100644 --- a/src/glx/glxcurrent.c +++ b/src/glx/glxcurrent.c @@ -242,6 +242,10 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw, return False; } + if (oldGC == gc && + gc->currentDrawable == draw && gc->currentReadable == read) + return True; + if (oldGC != &dummyContext) { oldGC->vtable->unbind(oldGC, gc); oldGC->currentDpy = 0; commit 916c8ed2c8f916604166b22e6fcb9433b960a924 Author: Chia-I Wu <[email protected]> Date: Fri Sep 10 00:06:32 2010 +0800 egl: Use _EGL_CHECK_DISPLAY in eglCreateContext. _EGL_CHECK_DISPLAY checks the display and returns from eglCreateContext on error. diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 31c5419..829d700 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -405,7 +405,7 @@ eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_list, if (config) _EGL_CHECK_CONFIG(disp, conf, EGL_NO_CONTEXT, drv); else - drv = _eglCheckDisplay(disp, __FUNCTION__); + _EGL_CHECK_DISPLAY(disp, EGL_NO_CONTEXT, drv); if (!share && share_list != EGL_NO_CONTEXT) RETURN_EGL_ERROR(disp, EGL_BAD_CONTEXT, EGL_NO_CONTEXT); commit 08a482e7a9d13db5d4e6fd974942f6699d7d49dc Author: Chia-I Wu <[email protected]> Date: Fri Sep 10 00:02:47 2010 +0800 egl: Display may be NULL in _eglLookup*. This fixes several NULL dereferences. diff --git a/src/egl/main/eglconfig.h b/src/egl/main/eglconfig.h index ca63c40..0ad58cf 100644 --- a/src/egl/main/eglconfig.h +++ b/src/egl/main/eglconfig.h @@ -117,7 +117,7 @@ static INLINE _EGLConfig * _eglLookupConfig(EGLConfig config, _EGLDisplay *dpy) { _EGLConfig *conf = (_EGLConfig *) config; - if (!_eglCheckConfigHandle(config, dpy)) + if (!dpy || !_eglCheckConfigHandle(config, dpy)) conf = NULL; return conf; } diff --git a/src/egl/main/eglmode.c b/src/egl/main/eglmode.c index 37594cd..ed107d5 100644 --- a/src/egl/main/eglmode.c +++ b/src/egl/main/eglmode.c @@ -25,7 +25,7 @@ _eglLookupMode(EGLModeMESA mode, _EGLDisplay *disp) { EGLint scrnum; - if (!disp->Screens) + if (!disp || !disp->Screens) return NULL; /* loop over all screens on the display */ diff --git a/src/egl/main/eglscreen.c b/src/egl/main/eglscreen.c index 8b8966f..9e39335 100644 --- a/src/egl/main/eglscreen.c +++ b/src/egl/main/eglscreen.c @@ -69,7 +69,7 @@ _eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *display) { EGLint i; - if (!display->Screens) + if (!display || !display->Screens) return NULL; for (i = 0; i < display->Screens->Size; i++) { commit 3ec296390c250dbcdc2690e78da9a51ec57dabf5 Author: Brian Paul <[email protected]> Date: Thu Sep 9 10:03:46 2010 -0600 llvmpipe: remove redundant tgsi_dup_tokens() call We were calling this twice so the first allocation was orphaned/leaked. diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 8f3976c..e17bfb4 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -901,9 +901,6 @@ llvmpipe_create_fs_state(struct pipe_context *pipe, debug_printf("\n"); } - /* Keep a copy of the tokens in shader->base.tokens */ - shader->base.tokens = tgsi_dup_tokens(templ->tokens); - return shader; } commit cdd5f21eacc93dfb242e59a6158d0e450a39a9b6 Author: Francisco Jerez <[email protected]> Date: Thu Sep 9 14:07:38 2010 +0200 dri/nouveau: Expose EXT_texture_env_combine. diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index 287f77d..4a1534b 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -58,6 +58,7 @@ static const struct dri_extension nouveau_extensions[] = { { "GL_EXT_framebuffer_object", GL_EXT_framebuffer_object_functions }, { "GL_EXT_secondary_color", GL_EXT_secondary_color_functions }, { "GL_EXT_stencil_wrap", NULL }, + { "GL_EXT_texture_env_combine", NULL }, { "GL_EXT_texture_lod_bias", NULL }, { "GL_NV_blend_square", NULL }, { "GL_NV_texture_env_combine4", NULL }, commit 3bbad7f1084c3d6259dfa23fd60f654c949f7408 Author: Francisco Jerez <[email protected]> Date: Thu Sep 9 14:14:48 2010 +0200 dri/nv10-nv20: Add support for NV_texture_env_combine4. diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index b1d4152..287f77d 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -60,6 +60,7 @@ static const struct dri_extension nouveau_extensions[] = { { "GL_EXT_stencil_wrap", NULL }, { "GL_EXT_texture_lod_bias", NULL }, { "GL_NV_blend_square", NULL }, + { "GL_NV_texture_env_combine4", NULL }, { "GL_SGIS_generate_mipmap", NULL }, { NULL, NULL } }; diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_frag.c b/src/mesa/drivers/dri/nouveau/nv10_state_frag.c index 76b95fd..ab713f9 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_state_frag.c +++ b/src/mesa/drivers/dri/nouveau/nv10_state_frag.c @@ -63,6 +63,7 @@ struct combiner_state { GLcontext *ctx; int unit; + GLboolean premodulate; /* GL state */ GLenum mode; @@ -82,6 +83,7 @@ struct combiner_state { ctx->Texture.Unit[i]._CurrentCombine; \ (rc)->ctx = ctx; \ (rc)->unit = i; \ + (rc)->premodulate = c->_NumArgs##chan == 4; \ (rc)->mode = c->Mode##chan; \ (rc)->source = c->Source##chan; \ (rc)->operand = c->Operand##chan; \ @@ -95,6 +97,9 @@ static uint32_t get_input_source(struct combiner_state *rc, int source) { switch (source) { + case GL_ZERO: + return RC_IN_SOURCE(ZERO); + case GL_TEXTURE: return RC_IN_SOURCE(TEXTURE0) + rc->unit; @@ -228,21 +233,21 @@ setup_combiner(struct combiner_state *rc) break; case GL_ADD: - INPUT_ARG(rc, A, 0, 0); - INPUT_ONE(rc, B, 0); - INPUT_ARG(rc, C, 1, 0); - INPUT_ONE(rc, D, 0); - - rc->out = RC_OUT_SUM; - break; - case GL_ADD_SIGNED: - INPUT_ARG(rc, A, 0, 0); - INPUT_ONE(rc, B, 0); - INPUT_ARG(rc, C, 1, 0); - INPUT_ONE(rc, D, 0); + if (rc->premodulate) { + INPUT_ARG(rc, A, 0, 0); + INPUT_ARG(rc, B, 1, 0); + INPUT_ARG(rc, C, 2, 0); + INPUT_ARG(rc, D, 3, 0); + } else { + INPUT_ARG(rc, A, 0, 0); + INPUT_ONE(rc, B, 0); + INPUT_ARG(rc, C, 1, 0); + INPUT_ONE(rc, D, 0); + } - rc->out = RC_OUT_SUM | RC_OUT_BIAS; + rc->out = RC_OUT_SUM | + (rc->mode == GL_ADD_SIGNED ? RC_OUT_BIAS : 0); break; case GL_INTERPOLATE: commit 699749cfeeea7d0a17ed5f94fd5fdbbe52f4ab2b Author: Francisco Jerez <[email protected]> Date: Thu Sep 9 14:14:14 2010 +0200 dri/nv04: Add support for NV_texture_env_combine4. diff --git a/src/mesa/drivers/dri/nouveau/nv04_context.c b/src/mesa/drivers/dri/nouveau/nv04_context.c index 6834f7c..1d34c86 100644 --- a/src/mesa/drivers/dri/nouveau/nv04_context.c +++ b/src/mesa/drivers/dri/nouveau/nv04_context.c @@ -39,6 +39,7 @@ nv04_context_engine(GLcontext *ctx) struct nouveau_grobj *fahrenheit; if (ctx->Texture.Unit[0].EnvMode == GL_COMBINE || + ctx->Texture.Unit[0].EnvMode == GL_COMBINE4_NV || ctx->Texture.Unit[0].EnvMode == GL_BLEND || ctx->Texture.Unit[0].EnvMode == GL_ADD || ctx->Texture.Unit[1]._ReallyEnabled || diff --git a/src/mesa/drivers/dri/nouveau/nv04_state_frag.c b/src/mesa/drivers/dri/nouveau/nv04_state_frag.c index d7c86d4..bb5d7dc 100644 --- a/src/mesa/drivers/dri/nouveau/nv04_state_frag.c +++ b/src/mesa/drivers/dri/nouveau/nv04_state_frag.c @@ -44,6 +44,7 @@ struct combiner_state { GLcontext *ctx; int unit; GLboolean alpha; + GLboolean premodulate; /* GL state */ GLenum mode; @@ -66,6 +67,7 @@ struct combiner_state { (rc)->ctx = ctx; \ (rc)->unit = i; \ (rc)->alpha = __INIT_COMBINER_ALPHA_##chan; \ + (rc)->premodulate = c->_NumArgs##chan == 4; \ (rc)->mode = c->Mode##chan; \ (rc)->source = c->Source##chan; \ (rc)->operand = c->Operand##chan; \ @@ -79,6 +81,9 @@ static uint32_t get_input_source(struct combiner_state *rc, int source) { switch (source) { + case GL_ZERO: + return COMBINER_SOURCE(ZERO); + case GL_TEXTURE: return rc->unit ? COMBINER_SOURCE(TEXTURE1) : COMBINER_SOURCE(TEXTURE0); @@ -195,11 +200,24 @@ setup_combiner(struct combiner_state *rc) break; case GL_ADD: - INPUT_ARG(rc, 0, 0, 0); - INPUT_SRC(rc, 1, ZERO, INVERT); - INPUT_ARG(rc, 2, 1, 0); - INPUT_SRC(rc, 3, ZERO, INVERT); - UNSIGNED_OP(rc); + case GL_ADD_SIGNED: + if (rc->premodulate) { + INPUT_ARG(rc, 0, 0, 0); + INPUT_ARG(rc, 1, 1, 0); + INPUT_ARG(rc, 2, 2, 0); + INPUT_ARG(rc, 3, 3, 0); + } else { + INPUT_ARG(rc, 0, 0, 0); + INPUT_SRC(rc, 1, ZERO, INVERT); + INPUT_ARG(rc, 2, 1, 0); + INPUT_SRC(rc, 3, ZERO, INVERT); + } + + if (rc->mode == GL_ADD_SIGNED) + SIGNED_OP(rc); + else + UNSIGNED_OP(rc); + break; case GL_INTERPOLATE: @@ -210,14 +228,6 @@ setup_combiner(struct combiner_state *rc) UNSIGNED_OP(rc); break; - case GL_ADD_SIGNED: - INPUT_ARG(rc, 0, 0, 0); - INPUT_SRC(rc, 1, ZERO, INVERT); - INPUT_ARG(rc, 2, 1, 0); - INPUT_SRC(rc, 3, ZERO, INVERT); - SIGNED_OP(rc); - break; - default: assert(0); } commit a76f6dc84952348261c32bcace56790e939a2902 Author: Francisco Jerez <[email protected]> Date: Thu Sep 2 02:18:02 2010 +0200 dri/nouveau: Minor cleanup. diff --git a/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c b/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c index 62efe80..2daaae2 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c +++ b/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c @@ -32,6 +32,28 @@ #include "nv10_driver.h" #include "nv20_driver.h" +#define LIGHT_MODEL_AMBIENT_R(side) \ + ((side) ? NV20TCL_LIGHT_MODEL_BACK_AMBIENT_R : \ + NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_R) +#define LIGHT_AMBIENT_R(side, i) \ + ((side) ? NV20TCL_LIGHT_BACK_AMBIENT_R(i) : \ + NV20TCL_LIGHT_FRONT_AMBIENT_R(i)) +#define LIGHT_DIFFUSE_R(side, i) \ + ((side) ? NV20TCL_LIGHT_BACK_DIFFUSE_R(i) : \ + NV20TCL_LIGHT_FRONT_DIFFUSE_R(i)) +#define LIGHT_SPECULAR_R(side, i) \ + ((side) ? NV20TCL_LIGHT_BACK_SPECULAR_R(i) : \ + NV20TCL_LIGHT_FRONT_SPECULAR_R(i)) +#define MATERIAL_FACTOR_R(side) \ + ((side) ? NV20TCL_MATERIAL_FACTOR_BACK_R : \ + NV20TCL_MATERIAL_FACTOR_FRONT_R) +#define MATERIAL_FACTOR_A(side) \ + ((side) ? NV20TCL_MATERIAL_FACTOR_BACK_A : \ + NV20TCL_MATERIAL_FACTOR_FRONT_A) +#define MATERIAL_SHININESS(side) \ + ((side) ? NV20TCL_BACK_MATERIAL_SHININESS(0) : \ + NV20TCL_FRONT_MATERIAL_SHININESS(0)) + void nv20_emit_clip_plane(GLcontext *ctx, int emit) { @@ -210,10 +232,6 @@ nv20_emit_material_ambient(GLcontext *ctx, int emit) struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *kelvin = context_eng3d(ctx); float (*mat)[4] = ctx->Light.Material.Attrib; - uint32_t m_scene[] = { NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_R, - NV20TCL_LIGHT_MODEL_BACK_AMBIENT_R }; - uint32_t m_factor[] = { NV20TCL_MATERIAL_FACTOR_FRONT_R, - NV20TCL_MATERIAL_FACTOR_BACK_R }; float c_scene[3], c_factor[3]; struct gl_light *l; @@ -231,23 +249,21 @@ nv20_emit_material_ambient(GLcontext *ctx, int emit) ZERO_3V(c_factor); } - BEGIN_RING(chan, kelvin, m_scene[side], 3); + BEGIN_RING(chan, kelvin, LIGHT_MODEL_AMBIENT_R(side), 3); OUT_RINGp(chan, c_scene, 3); if (ctx->Light.ColorMaterialEnabled) { - BEGIN_RING(chan, kelvin, m_factor[side], 3); + BEGIN_RING(chan, kelvin, MATERIAL_FACTOR_R(side), 3); OUT_RINGp(chan, c_factor, 3); } foreach(l, &ctx->Light.EnabledList) { const int i = l - ctx->Light.Light; - uint32_t m_light[] = { NV20TCL_LIGHT_FRONT_AMBIENT_R(i), - NV20TCL_LIGHT_BACK_AMBIENT_R(i) }; float *c_light = (USE_COLOR_MATERIAL(AMBIENT, side) ? l->Ambient : l->_MatAmbient[side]); - BEGIN_RING(chan, kelvin, m_light[side], 3); + BEGIN_RING(chan, kelvin, LIGHT_AMBIENT_R(side, i), 3); OUT_RINGp(chan, c_light, 3); } } @@ -259,22 +275,18 @@ nv20_emit_material_diffuse(GLcontext *ctx, int emit) struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *kelvin = context_eng3d(ctx); -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

