[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-intel: Changes to 'debian-unstable'



 .gitignore                                           |    3 
 AUTHORS                                              |    1 
 ChangeLog                                            | 2354 ++++++++++++++-
 Makefile.am                                          |    3 
 NEWS                                                 |  154 -
 README                                               |    2 
 RELEASING                                            |    2 
 acinclude.m4                                         |  140 
 configure.ac                                         |  137 
 debian/README.source                                 |   73 
 debian/changelog                                     |   50 
 debian/control                                       |   30 
 debian/rules                                         |    1 
 debian/xsfbs/repack.sh                               |   32 
 debian/xsfbs/xsfbs.sh                                |   68 
 m4/dolt.m4                                           |  178 +
 m4/shave.m4                                          |   73 
 man/intel.man                                        |   30 
 shave-libtool.in                                     |   69 
 shave.in                                             |   76 
 src/Makefile.am                                      |  100 
 src/bios_reader/Makefile.am                          |    5 
 src/bios_reader/bios_reader.c                        |   26 
 src/brw_structs.h                                    |   21 
 src/ch7017/Makefile.am                               |    2 
 src/ch7xxx/Makefile.am                               |    2 
 src/common.h                                         |   64 
 src/drmmode_display.c                                |  293 +
 src/exa_sf.g4a                                       |  107 
 src/exa_sf.g4b                                       |   15 
 src/exa_sf_mask.g4a                                  |  107 
 src/exa_sf_mask.g4b                                  |   15 
 src/exa_wm.g4i                                       |  156 -
 src/exa_wm_affine.g4i                                |   44 
 src/exa_wm_ca.g4a                                    |   38 
 src/exa_wm_ca.g4b                                    |    4 
 src/exa_wm_ca_srcalpha.g4a                           |   37 
 src/exa_wm_ca_srcalpha.g4b                           |    4 
 src/exa_wm_mask_affine.g4a                           |   41 
 src/exa_wm_mask_affine.g4b                           |    8 
 src/exa_wm_mask_projective.g4a                       |   53 
 src/exa_wm_mask_projective.g4b                       |   16 
 src/exa_wm_mask_sample_a.g4a                         |   48 
 src/exa_wm_mask_sample_a.g4b                         |    2 
 src/exa_wm_mask_sample_argb.g4a                      |   48 
 src/exa_wm_mask_sample_argb.g4b                      |    2 
 src/exa_wm_noca.g4a                                  |   38 
 src/exa_wm_noca.g4b                                  |    4 
 src/exa_wm_nomask.g4a                                |  143 
 src/exa_wm_projective.g4i                            |   51 
 src/exa_wm_src_affine.g4a                            |   45 
 src/exa_wm_src_affine.g4b                            |    8 
 src/exa_wm_src_projective.g4a                        |   49 
 src/exa_wm_src_projective.g4b                        |   16 
 src/exa_wm_src_sample_a.g4a                          |   47 
 src/exa_wm_src_sample_a.g4b                          |    2 
 src/exa_wm_src_sample_argb.g4a                       |   47 
 src/exa_wm_src_sample_argb.g4b                       |    2 
 src/exa_wm_src_sample_planar.g4a                     |   65 
 src/exa_wm_src_sample_planar.g4b                     |    4 
 src/exa_wm_write.g4a                                 |   74 
 src/exa_wm_write.g4b                                 |   18 
 src/exa_wm_xy.g4a                                    |   52 
 src/exa_wm_xy.g4b                                    |    4 
 src/exa_wm_yuv_rgb.g4a                               |   98 
 src/exa_wm_yuv_rgb.g4b                               |   12 
 src/i2c_vid.h                                        |    4 
 src/i810.h                                           |   10 
 src/i810_accel.c                                     |   14 
 src/i810_common.h                                    |    1 
 src/i810_cursor.c                                    |   14 
 src/i810_dga.c                                       |   14 
 src/i810_dri.c                                       |   29 
 src/i810_dri.h                                       |    1 
 src/i810_driver.c                                    |  431 --
 src/i810_hwmc.c                                      |    1 
 src/i810_io.c                                        |   14 
 src/i810_memory.c                                    |   14 
 src/i810_reg.h                                       |  543 +++
 src/i810_video.c                                     |    1 
 src/i810_wmark.c                                     |   15 
 src/i830.h                                           |  256 -
 src/i830_accel.c                                     |  163 -
 src/i830_batchbuffer.c                               |   35 
 src/i830_batchbuffer.h                               |    5 
 src/i830_bios.c                                      |  204 +
 src/i830_bios.h                                      |   19 
 src/i830_common.h                                    |    1 
 src/i830_crt.c                                       |    7 
 src/i830_cursor.c                                    |   35 
 src/i830_debug.c                                     |  758 ++++
 src/i830_display.c                                   |  100 
 src/i830_display.h                                   |    2 
 src/i830_dri.c                                       | 1682 +----------
 src/i830_dri.h                                       |    1 
 src/i830_driver.c                                    | 1242 +-------
 src/i830_dvo.c                                       |   33 
 src/i830_exa.c                                       | 1127 -------
 src/i830_hdmi.c                                      |   18 
 src/i830_hwmc.c                                      |   38 
 src/i830_hwmc.h                                      |    6 
 src/i830_lvds.c                                      |   99 
 src/i830_memory.c                                    |  631 ----
 src/i830_quirks.c                                    |    7 
 src/i830_render.c                                    |  242 -
 src/i830_sdvo.c                                      |  244 +
 src/i830_sdvo.h                                      |    6 
 src/i830_sdvo_regs.h                                 |    2 
 src/i830_tv.c                                        |    3 
 src/i830_uxa.c                                       |  747 ++++
 src/i830_video.c                                     |  556 +--
 src/i830_xaa.c                                       |  829 -----
 src/i915_hwmc.c                                      |    6 
 src/i915_hwmc.h                                      |    1 
 src/i915_render.c                                    |   30 
 src/i915_video.c                                     |   25 
 src/i965_hwmc.c                                      |  195 -
 src/i965_hwmc.h                                      |    6 
 src/i965_render.c                                    |  376 +-
 src/i965_video.c                                     |  206 -
 src/ivch/Makefile.am                                 |    2 
 src/local_xf86Rename.h                               |   23 
 src/packed_yuv_sf.g4a                                |   45 
 src/packed_yuv_sf.g4b                                |   17 
 src/packed_yuv_wm.g4a                                |  221 -
 src/packed_yuv_wm.g4b                                |   79 
 src/reg_dumper/.gitignore                            |    1 
 src/reg_dumper/Makefile.am                           |    9 
 src/reg_dumper/gtt.c                                 |   10 
 src/reg_dumper/hotplug.c                             |    5 
 src/reg_dumper/idle.c                                |    5 
 src/reg_dumper/lid.c                                 |  146 
 src/reg_dumper/main.c                                |    6 
 src/reg_dumper/reg_dumper.h                          |    9 
 src/reg_dumper/util.c                                |    5 
 src/render_program/Makefile.am                       |   82 
 src/render_program/exa_sf.g4a                        |  107 
 src/render_program/exa_sf.g4b                        |   15 
 src/render_program/exa_sf.g4b.gen5                   |   15 
 src/render_program/exa_sf_mask.g4a                   |  107 
 src/render_program/exa_sf_mask.g4b                   |   15 
 src/render_program/exa_sf_mask.g4b.gen5              |   15 
 src/render_program/exa_wm.g4i                        |  156 +
 src/render_program/exa_wm_affine.g4i                 |   44 
 src/render_program/exa_wm_ca.g4a                     |   38 
 src/render_program/exa_wm_ca.g4b                     |    4 
 src/render_program/exa_wm_ca.g4b.gen5                |    4 
 src/render_program/exa_wm_ca_srcalpha.g4a            |   37 
 src/render_program/exa_wm_ca_srcalpha.g4b            |    4 
 src/render_program/exa_wm_ca_srcalpha.g4b.gen5       |    4 
 src/render_program/exa_wm_mask_affine.g4a            |   41 
 src/render_program/exa_wm_mask_affine.g4b            |    8 
 src/render_program/exa_wm_mask_affine.g4b.gen5       |    8 
 src/render_program/exa_wm_mask_projective.g4a        |   53 
 src/render_program/exa_wm_mask_projective.g4b        |   16 
 src/render_program/exa_wm_mask_projective.g4b.gen5   |   16 
 src/render_program/exa_wm_mask_sample_a.g4a          |   48 
 src/render_program/exa_wm_mask_sample_a.g4b          |    2 
 src/render_program/exa_wm_mask_sample_a.g4b.gen5     |    2 
 src/render_program/exa_wm_mask_sample_argb.g4a       |   48 
 src/render_program/exa_wm_mask_sample_argb.g4b       |    2 
 src/render_program/exa_wm_mask_sample_argb.g4b.gen5  |    2 
 src/render_program/exa_wm_noca.g4a                   |   38 
 src/render_program/exa_wm_noca.g4b                   |    4 
 src/render_program/exa_wm_noca.g4b.gen5              |    4 
 src/render_program/exa_wm_projective.g4i             |   51 
 src/render_program/exa_wm_src_affine.g4a             |   45 
 src/render_program/exa_wm_src_affine.g4b             |    8 
 src/render_program/exa_wm_src_affine.g4b.gen5        |    8 
 src/render_program/exa_wm_src_projective.g4a         |   49 
 src/render_program/exa_wm_src_projective.g4b         |   16 
 src/render_program/exa_wm_src_projective.g4b.gen5    |   16 
 src/render_program/exa_wm_src_sample_a.g4a           |   47 
 src/render_program/exa_wm_src_sample_a.g4b           |    2 
 src/render_program/exa_wm_src_sample_a.g4b.gen5      |    2 
 src/render_program/exa_wm_src_sample_argb.g4a        |   47 
 src/render_program/exa_wm_src_sample_argb.g4b        |    2 
 src/render_program/exa_wm_src_sample_argb.g4b.gen5   |    2 
 src/render_program/exa_wm_src_sample_planar.g4a      |   65 
 src/render_program/exa_wm_src_sample_planar.g4b      |    4 
 src/render_program/exa_wm_src_sample_planar.g4b.gen5 |    4 
 src/render_program/exa_wm_write.g4a                  |   74 
 src/render_program/exa_wm_write.g4b                  |   18 
 src/render_program/exa_wm_write.g4b.gen5             |   18 
 src/render_program/exa_wm_xy.g4a                     |   52 
 src/render_program/exa_wm_xy.g4b                     |    4 
 src/render_program/exa_wm_xy.g4b.gen5                |    4 
 src/render_program/exa_wm_yuv_rgb.g4a                |   98 
 src/render_program/exa_wm_yuv_rgb.g4b                |   12 
 src/render_program/exa_wm_yuv_rgb.g4b.gen5           |   12 
 src/sil164/Makefile.am                               |    2 
 src/tfp410/Makefile.am                               |    2 
 src/xvmc/I810XvMC.c                                  |    1 
 src/xvmc/I810XvMC.h                                  |  104 
 src/xvmc/Makefile.am                                 |  106 
 src/xvmc/addidct.g4i                                 |  152 -
 src/xvmc/backward.g4b                                | 1472 ---------
 src/xvmc/block_clear.g4i                             |  140 
 src/xvmc/dri2.c                                      |  301 +
 src/xvmc/dri2.h                                      |   70 
 src/xvmc/dual_prime.g4a                              |  223 -
 src/xvmc/dual_prime.g4b                              | 2486 ----------------
 src/xvmc/dual_prime_igd.g4a                          |  223 -
 src/xvmc/dual_prime_igd.g4b                          | 1142 -------
 src/xvmc/f_b.g4b                                     | 2886 -------------------
 src/xvmc/field_backward.g4a                          |  124 
 src/xvmc/field_backward.g4b                          | 1341 --------
 src/xvmc/field_backward_igd.g4a                      |  124 
 src/xvmc/field_backward_igd.g4b                      |  669 ----
 src/xvmc/field_f_b.g4a                               |  223 -
 src/xvmc/field_f_b.g4b                               | 2486 ----------------
 src/xvmc/field_f_b_igd.g4a                           |  223 -
 src/xvmc/field_f_b_igd.g4b                           | 1142 -------
 src/xvmc/field_forward.g4a                           |  121 
 src/xvmc/field_forward.g4b                           | 1340 --------
 src/xvmc/field_forward_igd.g4a                       |  121 
 src/xvmc/field_forward_igd.g4b                       |  668 ----
 src/xvmc/forward.g4b                                 | 1471 ---------
 src/xvmc/frame_backward.g4a                          |   69 
 src/xvmc/frame_backward.g4b                          |  716 ----
 src/xvmc/frame_backward_igd.g4a                      |   69 
 src/xvmc/frame_backward_igd.g4b                      |  374 --
 src/xvmc/frame_f_b.g4a                               |  131 
 src/xvmc/frame_f_b.g4b                               | 1257 --------
 src/xvmc/frame_f_b_igd.g4a                           |  131 
 src/xvmc/frame_f_b_igd.g4b                           |  573 ---
 src/xvmc/frame_forward.g4a                           |   65 
 src/xvmc/frame_forward.g4b                           |  715 ----
 src/xvmc/frame_forward_igd.g4a                       |   65 
 src/xvmc/frame_forward_igd.g4b                       |  373 --
 src/xvmc/i915_xvmc.c                                 |   17 
 src/xvmc/i915_xvmc.h                                 |    2 
 src/xvmc/i965_xvmc.c                                 |  673 ++--
 src/xvmc/intel_batchbuffer.c                         |  229 -
 src/xvmc/intel_batchbuffer.h                         |   10 
 src/xvmc/intel_xvmc.c                                |  207 -
 src/xvmc/intel_xvmc.h                                |   39 
 src/xvmc/ipicture.g4a                                |  166 -
 src/xvmc/ipicture.g4b                                |  125 
 src/xvmc/motion_field_uv.g4i                         |   46 
 src/xvmc/motion_field_uv_igd.g4i                     |   46 
 src/xvmc/motion_field_y.g4i                          |   45 
 src/xvmc/motion_field_y_igd.g4i                      |   45 
 src/xvmc/motion_frame_uv.g4i                         |   29 
 src/xvmc/motion_frame_uv_igd.g4i                     |   29 
 src/xvmc/motion_frame_y.g4i                          |   57 
 src/xvmc/motion_frame_y_igd.g4i                      |   57 
 src/xvmc/null.g4a                                    |   57 
 src/xvmc/null.g4b                                    |   17 
 src/xvmc/read_field_x0y0_uv.g4i                      |   74 
 src/xvmc/read_field_x0y0_uv_igd.g4i                  |   40 
 src/xvmc/read_field_x0y0_y.g4i                       |   83 
 src/xvmc/read_field_x0y0_y_igd.g4i                   |   48 
 src/xvmc/read_field_x0y1_uv.g4i                      |   78 
 src/xvmc/read_field_x0y1_uv_igd.g4i                  |   43 
 src/xvmc/read_field_x0y1_y.g4i                       |   86 
 src/xvmc/read_field_x0y1_y_igd.g4i                   |   51 
 src/xvmc/read_field_x1y0_uv.g4i                      |   75 
 src/xvmc/read_field_x1y0_uv_igd.g4i                  |   40 
 src/xvmc/read_field_x1y0_y.g4i                       |   83 
 src/xvmc/read_field_x1y0_y_igd.g4i                   |   48 
 src/xvmc/read_field_x1y1_uv.g4i                      |  172 -
 src/xvmc/read_field_x1y1_uv_igd.g4i                  |   75 
 src/xvmc/read_field_x1y1_y.g4i                       |  166 -
 src/xvmc/read_field_x1y1_y_igd.g4i                   |   78 
 src/xvmc/read_frame_x0y0_uv.g4i                      |   73 
 src/xvmc/read_frame_x0y0_uv_igd.g4i                  |   39 
 src/xvmc/read_frame_x0y0_y.g4i                       |  109 
 src/xvmc/read_frame_x0y0_y_igd.g4i                   |   50 
 src/xvmc/read_frame_x0y1_uv.g4i                      |   79 
 src/xvmc/read_frame_x0y1_uv_igd.g4i                  |   44 
 src/xvmc/read_frame_x0y1_y.g4i                       |  113 
 src/xvmc/read_frame_x0y1_y_igd.g4i                   |   54 
 src/xvmc/read_frame_x1y0_uv.g4i                      |   75 
 src/xvmc/read_frame_x1y0_uv_igd.g4i                  |   41 
 src/xvmc/read_frame_x1y0_y.g4i                       |  110 
 src/xvmc/read_frame_x1y0_y_igd.g4i                   |   51 
 src/xvmc/read_frame_x1y1_uv.g4i                      |  159 -
 src/xvmc/read_frame_x1y1_uv_igd.g4i                  |   71 
 src/xvmc/read_frame_x1y1_y.g4i                       |  264 -
 src/xvmc/read_frame_x1y1_y_igd.g4i                   |  105 
 src/xvmc/shader/Makefile.am                          |    1 
 src/xvmc/shader/mc/Makefile.am                       |   99 
 src/xvmc/shader/mc/addidct.g4i                       |  152 +
 src/xvmc/shader/mc/addidct_igd.g4i                   |  117 
 src/xvmc/shader/mc/block_clear.g4i                   |  140 
 src/xvmc/shader/mc/dual_prime.g4a                    |  223 +
 src/xvmc/shader/mc/dual_prime.g4b                    | 2486 ++++++++++++++++
 src/xvmc/shader/mc/dual_prime_igd.g4a                |  223 +
 src/xvmc/shader/mc/dual_prime_igd.g4b                | 1234 ++++++++
 src/xvmc/shader/mc/field_backward.g4a                |  124 
 src/xvmc/shader/mc/field_backward.g4b                | 1341 ++++++++
 src/xvmc/shader/mc/field_backward_igd.g4a            |   86 
 src/xvmc/shader/mc/field_backward_igd.g4b            |   62 
 src/xvmc/shader/mc/field_f_b.g4a                     |  223 +
 src/xvmc/shader/mc/field_f_b.g4b                     | 2486 ++++++++++++++++
 src/xvmc/shader/mc/field_f_b_igd.g4a                 |  159 +
 src/xvmc/shader/mc/field_f_b_igd.g4b                 |  121 
 src/xvmc/shader/mc/field_forward.g4a                 |  121 
 src/xvmc/shader/mc/field_forward.g4b                 | 1340 ++++++++
 src/xvmc/shader/mc/field_forward_igd.g4a             |   86 
 src/xvmc/shader/mc/field_forward_igd.g4b             |   62 
 src/xvmc/shader/mc/frame_backward.g4a                |   69 
 src/xvmc/shader/mc/frame_backward.g4b                |  716 ++++
 src/xvmc/shader/mc/frame_backward_igd.g4a            |   50 
 src/xvmc/shader/mc/frame_backward_igd.g4b            |   15 
 src/xvmc/shader/mc/frame_f_b.g4a                     |  131 
 src/xvmc/shader/mc/frame_f_b.g4b                     | 1257 ++++++++
 src/xvmc/shader/mc/frame_f_b_igd.g4a                 |   96 
 src/xvmc/shader/mc/frame_f_b_igd.g4b                 |   51 
 src/xvmc/shader/mc/frame_forward.g4a                 |   65 
 src/xvmc/shader/mc/frame_forward.g4b                 |  715 ++++
 src/xvmc/shader/mc/frame_forward_igd.g4a             |   30 
 src/xvmc/shader/mc/frame_forward_igd.g4b             |   15 
 src/xvmc/shader/mc/ipicture.g4a                      |  166 +
 src/xvmc/shader/mc/ipicture.g4b                      |  125 
 src/xvmc/shader/mc/ipicture_igd.g4a                  |  105 
 src/xvmc/shader/mc/ipicture_igd.g4b                  |   75 
 src/xvmc/shader/mc/lib_igd.g4a                       |  133 
 src/xvmc/shader/mc/lib_igd.g4b                       |  558 +++
 src/xvmc/shader/mc/motion_field_uv.g4i               |   46 
 src/xvmc/shader/mc/motion_field_uv_igd.g4i           |   46 
 src/xvmc/shader/mc/motion_field_y.g4i                |   45 
 src/xvmc/shader/mc/motion_field_y_igd.g4i            |   45 
 src/xvmc/shader/mc/motion_frame_uv.g4i               |   29 
 src/xvmc/shader/mc/motion_frame_uv_igd.g4i           |   30 
 src/xvmc/shader/mc/motion_frame_y.g4i                |   57 
 src/xvmc/shader/mc/motion_frame_y_igd.g4i            |   58 
 src/xvmc/shader/mc/null.g4a                          |   57 
 src/xvmc/shader/mc/null.g4b                          |   17 
 src/xvmc/shader/mc/read_field_x0y0_uv.g4i            |   74 
 src/xvmc/shader/mc/read_field_x0y0_uv_igd.g4i        |   30 
 src/xvmc/shader/mc/read_field_x0y0_y.g4i             |   83 
 src/xvmc/shader/mc/read_field_x0y0_y_igd.g4i         |   35 
 src/xvmc/shader/mc/read_field_x0y1_uv.g4i            |   78 
 src/xvmc/shader/mc/read_field_x0y1_uv_igd.g4i        |   42 
 src/xvmc/shader/mc/read_field_x0y1_y.g4i             |   86 
 src/xvmc/shader/mc/read_field_x0y1_y_igd.g4i         |   42 
 src/xvmc/shader/mc/read_field_x1y0_uv.g4i            |   75 
 src/xvmc/shader/mc/read_field_x1y0_uv_igd.g4i        |   33 
 src/xvmc/shader/mc/read_field_x1y0_y.g4i             |   83 
 src/xvmc/shader/mc/read_field_x1y0_y_igd.g4i         |   35 
 src/xvmc/shader/mc/read_field_x1y1_uv.g4i            |  172 +
 src/xvmc/shader/mc/read_field_x1y1_uv_igd.g4i        |   66 
 src/xvmc/shader/mc/read_field_x1y1_y.g4i             |  166 +
 src/xvmc/shader/mc/read_field_x1y1_y_igd.g4i         |   64 
 src/xvmc/shader/mc/read_frame_x0y0_uv.g4i            |   73 
 src/xvmc/shader/mc/read_frame_x0y0_uv_igd.g4i        |   28 
 src/xvmc/shader/mc/read_frame_x0y0_y.g4i             |  109 
 src/xvmc/shader/mc/read_frame_x0y0_y_igd.g4i         |   35 
 src/xvmc/shader/mc/read_frame_x0y1_uv.g4i            |   79 
 src/xvmc/shader/mc/read_frame_x0y1_uv_igd.g4i        |   44 
 src/xvmc/shader/mc/read_frame_x0y1_y.g4i             |  113 
 src/xvmc/shader/mc/read_frame_x0y1_y_igd.g4i         |   49 
 src/xvmc/shader/mc/read_frame_x1y0_uv.g4i            |   75 
 src/xvmc/shader/mc/read_frame_x1y0_uv_igd.g4i        |   41 
 src/xvmc/shader/mc/read_frame_x1y0_y.g4i             |  110 
 src/xvmc/shader/mc/read_frame_x1y0_y_igd.g4i         |   43 
 src/xvmc/shader/mc/read_frame_x1y1_uv.g4i            |  159 +
 src/xvmc/shader/mc/read_frame_x1y1_uv_igd.g4i        |   71 
 src/xvmc/shader/mc/read_frame_x1y1_y.g4i             |  264 +
 src/xvmc/shader/mc/read_frame_x1y1_y_igd.g4i         |   92 
 src/xvmc/shader/vld/Makefile.am                      |   57 
 src/xvmc/shader/vld/addidct.g4i                      |  152 +
 src/xvmc/shader/vld/do_iq_intra.g4i                  |   64 
 src/xvmc/shader/vld/do_iq_non_intra.g4i              |   59 
 src/xvmc/shader/vld/field_backward.g4a               |  126 
 src/xvmc/shader/vld/field_backward.g4b               |  553 +++
 src/xvmc/shader/vld/field_f_b.g4a                    |  213 +
 src/xvmc/shader/vld/field_f_b.g4b                    | 1007 ++++++
 src/xvmc/shader/vld/field_forward.g4a                |  130 
 src/xvmc/shader/vld/field_forward.g4b                |  555 +++
 src/xvmc/shader/vld/frame_backward.g4a               |   61 
 src/xvmc/shader/vld/frame_backward.g4b               |  369 ++
 src/xvmc/shader/vld/frame_f_b.g4a                    |  120 
 src/xvmc/shader/vld/frame_f_b.g4b                    |  675 ++++
 src/xvmc/shader/vld/frame_forward.g4a                |   61 
 src/xvmc/shader/vld/frame_forward.g4b                |  369 ++
 src/xvmc/shader/vld/idct.g4i                         |  147 
 src/xvmc/shader/vld/ipicture.g4a                     |  209 +
 src/xvmc/shader/vld/ipicture.g4b                     |  313 ++
 src/xvmc/shader/vld/iq_intra.g4i                     |  131 
 src/xvmc/shader/vld/iq_non_intra.g4i                 |  150 
 src/xvmc/shader/vld/lib.g4a                          |  190 +
 src/xvmc/shader/vld/lib.g4b                          |  307 ++
 src/xvmc/shader/vld/motion_field_uv.g4i              |   46 
 src/xvmc/shader/vld/motion_field_y.g4i               |   45 
 src/xvmc/shader/vld/motion_frame_uv.g4i              |   45 
 src/xvmc/shader/vld/motion_frame_y.g4i               |   57 
 src/xvmc/shader/vld/read_field_x0y0_uv.g4i           |   50 
 src/xvmc/shader/vld/read_field_x0y0_y.g4i            |   57 
 src/xvmc/shader/vld/read_field_x0y1_uv.g4i           |   28 
 src/xvmc/shader/vld/read_field_x0y1_y.g4i            |   60 
 src/xvmc/shader/vld/read_field_x1y0_uv.g4i           |   24 
 src/xvmc/shader/vld/read_field_x1y0_y.g4i            |   57 
 src/xvmc/shader/vld/read_field_x1y1_uv.g4i           |   53 
 src/xvmc/shader/vld/read_field_x1y1_y.g4i            |   87 
 src/xvmc/shader/vld/read_frame_x0y0_uv.g4i           |   49 
 src/xvmc/shader/vld/read_frame_x0y0_y.g4i            |   58 
 src/xvmc/shader/vld/read_frame_x0y1_uv.g4i           |   56 
 src/xvmc/shader/vld/read_frame_x0y1_y.g4i            |   61 
 src/xvmc/shader/vld/read_frame_x1y0_uv.g4i           |   42 
 src/xvmc/shader/vld/read_frame_x1y0_y.g4i            |   58 
 src/xvmc/shader/vld/read_frame_x1y1_uv.g4i           |   74 
 src/xvmc/shader/vld/read_frame_x1y1_y.g4i            |  112 
 src/xvmc/xf86dri.c                                   |  566 ---
 src/xvmc/xf86dri.h                                   |  118 
 src/xvmc/xf86dristr.h                                |  390 --
 src/xvmc/xvmc_vld.c                                  | 1044 ++++++
 src/xvmc/xvmc_vld.h                                  |    1 
 uxa/uxa-accel.c                                      |   63 
 uxa/uxa-glyphs.c                                     |    4 
 uxa/uxa-priv.h                                       |   18 
 uxa/uxa-render.c                                     |   63 
 uxa/uxa-unaccel.c                                    |   18 
 uxa/uxa.c                                            |   29 
 416 files changed, 36661 insertions(+), 38245 deletions(-)

New commits:
commit f4979729f19edabc22ab4edff0f0d1a9cc59dc1f
Author: Brice Goglin <bgoglin@debian.org>
Date:   Tue Jul 21 08:16:54 2009 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index f153b00..02c3b4a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-video-intel (2:2.8.0-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.8.0-1) unstable; urgency=low
 
   * New upstream release.
     + Fixes crash at startup if KMS is not used, closes: #537052.
 
- -- Brice Goglin <bgoglin@debian.org>  Tue, 21 Jul 2009 08:15:09 +0200
+ -- Brice Goglin <bgoglin@debian.org>  Tue, 21 Jul 2009 16:23:39 +0200
 
 xserver-xorg-video-intel (2:2.7.99.902-1) experimental; urgency=low
 

commit 73b6b817de8336255108f11095b3e6d0a0b3a2f1
Author: Brice Goglin <bgoglin@debian.org>
Date:   Tue Jul 21 08:16:46 2009 +0200

    New upstream release

diff --git a/ChangeLog b/ChangeLog
index a7ed1a5..09d251b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+commit 5d50a949b3c5d0ad2bc4cf48ab25da1f707a4f6f
+Author: Carl Worth <cworth@cworth.org>
+Date:   Mon Jul 20 22:59:37 2009 -0700
+
+    Increment version number to 2.8.0 for release.
+
+commit b12220bd81f3a0509a3746dac3258e53f3879b23
+Author: Carl Worth <cworth@cworth.org>
+Date:   Mon Jul 20 22:59:02 2009 -0700
+
+    NEWS: Add notes for 2.8.0 release
+    
+    Many thanks to Gordon for his notes from http://intellinuxgraphics.org/2009Q2.html
+
+commit bb3007384298cb57625ec0b3868dff9b23568f3e
+Author: Eric Anholt <eric@anholt.net>
+Date:   Thu Jul 16 12:56:07 2009 -0700
+
+    Really fix i915 render.  Fail at commit --amend.
+
+commit 8dd7ccf37e2de6d80b556e6d18af244cefc1e417
+Author: Eric Anholt <eric@anholt.net>
+Date:   Thu Jul 16 11:40:51 2009 -0700
+
+    Fix 915-class Render after the 8xx-class Render fix.
+    
+    The two shared i830_composite.c, so giving i830 atomic batch support
+    triggered anger about starting i830's atomic area while in i915's atomic
+    area.  Instead, split the emit-a-primitive stuff from the state emission.
+
+commit a1e6abb5ca89d699144d10fdc4309b3b78f2f7a9
+Author: Eric Anholt <eric@anholt.net>
+Date:   Wed Jul 15 14:15:10 2009 -0700
+
+    Use batch_start_atomic to fix batchbuffer wrapping problems with 8xx render.
+    
+    Bug #22483.
+
+commit e386e7b14b139f15205e14b173e8222bf38d9e18
+Author: Keith Packard <keithp@keithp.com>
+Date:   Wed Jul 15 09:43:04 2009 -0700
+
+    Reset framebuffer offset when rebinding aperture (22760).
+    
+    scrn->fbOffset may be changed when binding objects to the aperture during
+    server initialization or VT enter. This was accidentally removed when the
+    NoAlloc option was eliminated.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit b74bf3f9a65af9e72921d4e9028d9d4d023f8bc6
+Author: Barry Scott <barry.scott@onelan.co.uk>
+Date:   Mon Jul 13 16:34:20 2009 -0700
+
+    Fix XV scan line calculation when rotated.
+
 commit 82905c7c0b871a97ec435a765c2ca407903ba595
 Author: Carl Worth <cworth@cworth.org>
 Date:   Mon Jul 13 05:29:49 2009 -0700
diff --git a/debian/changelog b/debian/changelog
index a9c64c8..f153b00 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.8.0-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+    + Fixes crash at startup if KMS is not used, closes: #537052.
+
+ -- Brice Goglin <bgoglin@debian.org>  Tue, 21 Jul 2009 08:15:09 +0200
+
 xserver-xorg-video-intel (2:2.7.99.902-1) experimental; urgency=low
 
   * New upstream release candidate.

commit 5d50a949b3c5d0ad2bc4cf48ab25da1f707a4f6f
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jul 20 22:59:37 2009 -0700

    Increment version number to 2.8.0 for release.

diff --git a/configure.ac b/configure.ac
index 077c1ff..f7cdf1f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-intel],
-        2.7.99.902,
+        2.8.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-intel)
 

commit b12220bd81f3a0509a3746dac3258e53f3879b23
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jul 20 22:59:02 2009 -0700

    NEWS: Add notes for 2.8.0 release
    
    Many thanks to Gordon for his notes from http://intellinuxgraphics.org/2009Q2.html

diff --git a/NEWS b/NEWS
index ddc2f40..3a2b243 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,51 @@
+Release 2.8.0 (2009-07-20)
+==========================
+We are pleased to present this major release of the xf86-video-intel
+driver. This release is very similar to the 2.7.99.902 release
+candidate but includes a couple of additional bug fixes, (for bugs
+#22760 and @22483).
+
+Compared to the 2.7 releases this driver contains several new features
+and many bug fixes. The driver now depends on X server 1.6 or later,
+and eliminates several obsolete code paths, (XAA and EXA removed in
+favor of UXA, DRI1 support eliminated). The driver certainly will work
+best with an i915 module from a recent kernel (2.6.31) and with
+kernel-modesetting (KMS, specified by loading i915 with the option
+"modeset=1").
+
+New features in 2.8.0 compared to 2.7
+-------------------------------------
+* Remove XAA/EXA/DRI1 and NoAccel, and only support UXA/DRI2 now
+  (requiring xserver 1.6).
+
+* VLD support added into XvMC for Mpeg2, which decreases CPU usage
+  when playing video.
+
+Major fixes in 2.8.0 compared to 2.7
+------------------------------------
+* Fix broken front-buffer rendering
+  https://bugs.freedesktop.org/show_bug.cgi?id=19174
+
+* Fix disabling of XvMC disabled
+  https://bugs.freedesktop.org/show_bug.cgi?id=20790
+
+* Fix broken VT switch on some machines
+  https://bugs.freedesktop.org/show_bug.cgi?id=19578
+
+* Improve performance of trapezoid rendering for UXA
+  https://bugs.freedesktop.org/show_bug.cgi?id=21376
+
+* Vblank sync'd GL buffer swap (fixing video tearing under composite)
+  https://bugs.freedesktop.org/show_bug.cgi?id=20664
+
+* Fix G41 DRM support
+  https://bugs.freedesktop.org/show_bug.cgi?id=21095
+
+* Fix crash on some 8xx
+  https://bugs.freedesktop.org/show_bug.cgi?id=18974
+
+Various fixes for GPU hangs, and more...
+
 Snapshot 2.7.99.902 (2009-07-13)
 --------------------------------
 This is the first release candidate in preparation for the upcoming

commit bb3007384298cb57625ec0b3868dff9b23568f3e
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Jul 16 12:56:07 2009 -0700

    Really fix i915 render.  Fail at commit --amend.

diff --git a/src/i830.h b/src/i830.h
index 54dddd8..21c98f5 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -482,8 +482,6 @@ typedef struct _I830Rec {
 
    struct {
       int op;
-      PicturePtr pSrcPicture, pMaskPicture, pDstPicture;
-      PixmapPtr pSrc, pMask, pDst;
       uint32_t dst_format;
       Bool is_nearest;
       Bool needs_emit;
diff --git a/src/i915_render.c b/src/i915_render.c
index 2d11986..c81366a 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -322,6 +322,13 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture,
 	i830_get_pixmap_bo(pDst),
     };
 
+    pI830->render_src_picture = pSrcPicture;
+    pI830->render_src = pSrc;
+    pI830->render_mask_picture = pMaskPicture;
+    pI830->render_mask = pMask;
+    pI830->render_dst_picture = pDstPicture;
+    pI830->render_dst = pDst;
+
     i830_exa_check_pitch_3d(pSrc);
     if (pMask)
 	i830_exa_check_pitch_3d(pMask);
@@ -351,12 +358,6 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture,
     }
 
     pI830->i915_render_state.op = op;
-    pI830->i915_render_state.pSrcPicture = pSrcPicture;
-    pI830->i915_render_state.pMaskPicture = pMaskPicture;
-    pI830->i915_render_state.pDstPicture = pDstPicture;
-    pI830->i915_render_state.pSrc = pSrc;
-    pI830->i915_render_state.pMask = pMask;
-    pI830->i915_render_state.pDst = pDst;
     pI830->i915_render_state.needs_emit = TRUE;
 
     return TRUE;
@@ -367,12 +368,12 @@ i915_emit_composite_setup(ScrnInfoPtr pScrn)
 {
     I830Ptr pI830 = I830PTR(pScrn);
     int op = pI830->i915_render_state.op;
-    PicturePtr pSrcPicture = pI830->i915_render_state.pSrcPicture;
-    PicturePtr pMaskPicture = pI830->i915_render_state.pMaskPicture;
-    PicturePtr pDstPicture = pI830->i915_render_state.pDstPicture;
-    PixmapPtr pSrc = pI830->i915_render_state.pSrc;
-    PixmapPtr pMask = pI830->i915_render_state.pMask;
-    PixmapPtr pDst = pI830->i915_render_state.pDst;
+    PicturePtr pSrcPicture = pI830->render_src_picture;
+    PicturePtr pMaskPicture = pI830->render_mask_picture;
+    PicturePtr pDstPicture = pI830->render_dst_picture;
+    PixmapPtr pSrc = pI830->render_src;
+    PixmapPtr pMask = pI830->render_mask;
+    PixmapPtr pDst = pI830->render_dst;
     uint32_t dst_format = pI830->i915_render_state.dst_format, dst_pitch;
     uint32_t blendctl;
     int out_reg = FS_OC;

commit 8dd7ccf37e2de6d80b556e6d18af244cefc1e417
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Jul 16 11:40:51 2009 -0700

    Fix 915-class Render after the 8xx-class Render fix.
    
    The two shared i830_composite.c, so giving i830 atomic batch support
    triggered anger about starting i830's atomic area while in i915's atomic
    area.  Instead, split the emit-a-primitive stuff from the state emission.

diff --git a/src/i830.h b/src/i830.h
index ec57662..54dddd8 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -788,6 +788,9 @@ i830_transform_is_affine (PictTransformPtr t);
 
 void i830_composite(PixmapPtr pDst, int srcX, int srcY,
 		    int maskX, int maskY, int dstX, int dstY, int w, int h);
+void i830_emit_composite_primitive(PixmapPtr pDst, int srcX, int srcY,
+				   int maskX, int maskY, int dstX, int dstY,
+				   int w, int h);
 void i830_done_composite(PixmapPtr pDst);
 /* i915_render.c */
 Bool i915_check_composite(int op, PicturePtr pSrc, PicturePtr pMask,
diff --git a/src/i830_render.c b/src/i830_render.c
index ecee6f2..c5196cc 100644
--- a/src/i830_render.c
+++ b/src/i830_render.c
@@ -581,14 +581,10 @@ i830_emit_composite_state(ScrnInfoPtr pScrn)
     }
 }
 
-/**
- * Do a single rectangle composite operation.
- *
- * This function is shared between i830 and i915 generation code.
- */
 void
-i830_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
-	       int dstX, int dstY, int w, int h)
+i830_emit_composite_primitive(PixmapPtr pDst, int srcX, int srcY,
+			      int maskX, int maskY,
+			      int dstX, int dstY, int w, int h)
 {
     ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum];
     I830Ptr pI830 = I830PTR(pScrn);
@@ -670,15 +666,6 @@ i830_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
 
     num_floats = 3 * per_vertex;
 
-    intel_batch_start_atomic(pScrn,
-			     58 + /* invarient */
-			     24 + /* setup */
-			     20 + /* 2 * setup_texture */
-			     6 + num_floats /* verts */);
-
-    if (pI830->needs_render_state_emit)
-	i830_emit_composite_state(pScrn);
-
     BEGIN_BATCH(6 + num_floats);
 
     OUT_BATCH(MI_NOOP);
@@ -740,6 +727,32 @@ i830_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
     }
 
     ADVANCE_BATCH();
+}
+
+
+/**
+ * Do a single rectangle composite operation.
+ *
+ * This function is shared between i830 and i915 generation code.
+ */
+void
+i830_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
+	       int dstX, int dstY, int w, int h)
+{
+    ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum];
+    I830Ptr pI830 = I830PTR(pScrn);
+
+    intel_batch_start_atomic(pScrn,
+			     58 + /* invarient */
+			     24 + /* setup */
+			     20 + /* 2 * setup_texture */
+			     6 + 30 /* verts */);
+
+    if (pI830->needs_render_state_emit)
+	i830_emit_composite_state(pScrn);
+
+    i830_emit_composite_primitive(pDst, srcX, srcY, maskX, maskY, dstX, dstY,
+				  w, h);
 
     intel_batch_end_atomic(pScrn);
 
diff --git a/src/i915_render.c b/src/i915_render.c
index ab04e9c..2d11986 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -556,7 +556,8 @@ i915_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
     if (pI830->i915_render_state.needs_emit)
 	i915_emit_composite_setup(pScrn);
 
-    i830_composite(pDst, srcX, srcY, maskX, maskY, dstX, dstY, w, h);
+    i830_emit_composite_primitive(pDst, srcX, srcY, maskX, maskY, dstX, dstY,
+				  w, h);
 
     intel_batch_end_atomic(pScrn);
 }

commit a1e6abb5ca89d699144d10fdc4309b3b78f2f7a9
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Jul 15 14:15:10 2009 -0700

    Use batch_start_atomic to fix batchbuffer wrapping problems with 8xx render.
    
    Bug #22483.

diff --git a/src/i830.h b/src/i830.h
index f7ca687..ec57662 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -468,6 +468,14 @@ typedef struct _I830Rec {
   /** Transform pointers for src/mask, or NULL if identity */
    PictTransform *transform[2];
    float coord_adjust;
+
+   /* i830 render accel state */
+   PixmapPtr render_src, render_mask, render_dst;
+   PicturePtr render_src_picture, render_mask_picture, render_dst_picture;
+   uint32_t render_dst_format;
+   Bool needs_render_state_emit;
+   uint32_t cblend, ablend, s8_blendctl;
+
    /* i915 render accel state */
    uint32_t mapstate[6];
    uint32_t samplerstate[6];
@@ -790,6 +798,7 @@ Bool i915_prepare_composite(int op, PicturePtr pSrc, PicturePtr pMask,
 void i915_composite(PixmapPtr pDst, int srcX, int srcY,
 		    int maskX, int maskY, int dstX, int dstY, int w, int h);
 void i915_batch_flush_notify(ScrnInfoPtr pScrn);
+void i830_batch_flush_notify(ScrnInfoPtr scrn);
 /* i965_render.c */
 unsigned int gen4_render_state_size(ScrnInfoPtr pScrn);
 void gen4_render_state_init(ScrnInfoPtr pScrn);
diff --git a/src/i830_driver.c b/src/i830_driver.c
index dfc2bdf..33079fe 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2757,7 +2757,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
    else if (IS_I9XX(pI830))
        pI830->batch_flush_notify = i915_batch_flush_notify;
    else
-       pI830->batch_flush_notify = NULL;
+       pI830->batch_flush_notify = i830_batch_flush_notify;
 
    miInitializeBackingStore(pScreen);
    xf86SetBackingStore(pScreen);
diff --git a/src/i830_render.c b/src/i830_render.c
index b1d6f50..ecee6f2 100644
--- a/src/i830_render.c
+++ b/src/i830_render.c
@@ -255,7 +255,7 @@ i8xx_get_card_format(PicturePtr pPict)
     FatalError("Unsupported format type %d\n", pPict->format);
 }
 
-static Bool
+static void
 i830_texture_setup(PicturePtr pPict, PixmapPtr pPix, int unit)
 {
 
@@ -299,7 +299,7 @@ i830_texture_setup(PicturePtr pPict, PixmapPtr pPix, int unit)
         break;
     default:
 	filter = 0;
-        I830FALLBACK("Bad filter 0x%x\n", pPict->filter);
+        FatalError("Bad filter 0x%x\n", pPict->filter);
     }
     filter |= (MIPFILTER_NONE << TM0S3_MIP_FILTER_SHIFT); 
 
@@ -344,10 +344,6 @@ i830_texture_setup(PicturePtr pPict, PixmapPtr pPix, int unit)
 		  TEX_STREAM_MAP_IDX(unit));
 	ADVANCE_BATCH();
      }
-
-    i830_debug_sync(pScrn);
-
-    return TRUE;
 }
 
 Bool
@@ -391,29 +387,27 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture,
 {
     ScrnInfoPtr pScrn = xf86Screens[pSrcPicture->pDrawable->pScreen->myNum];
     I830Ptr pI830 = I830PTR(pScrn);
-    uint32_t dst_format, dst_pitch;
     Bool is_affine_src, is_affine_mask;
     Bool is_nearest = FALSE;
 
+    pI830->render_src_picture = pSrcPicture;
+    pI830->render_src = pSrc;
+    pI830->render_mask_picture = pMaskPicture;
+    pI830->render_mask = pMask;
+    pI830->render_dst_picture = pDstPicture;
+    pI830->render_dst = pDst;
+
     i830_exa_check_pitch_3d(pSrc);
     if (pMask)
 	i830_exa_check_pitch_3d(pMask);
     i830_exa_check_pitch_3d(pDst);
 
-    IntelEmitInvarientState(pScrn);
-    pI830->last_3d = LAST_3D_RENDER;
-
-    if (!i830_get_dest_format(pDstPicture, &dst_format))
+    if (!i830_get_dest_format(pDstPicture, &pI830->render_dst_format))
 	return FALSE;
-    dst_pitch = intel_get_pixmap_pitch(pDst);
 
-    if (!i830_texture_setup(pSrcPicture, pSrc, 0))
-	I830FALLBACK("fail to setup src texture\n");
     if (pSrcPicture->filter == PictFilterNearest)
 	is_nearest = TRUE;
     if (pMask != NULL) {
-	if (!i830_texture_setup(pMaskPicture, pMask, 1))
-	    I830FALLBACK("fail to setup mask texture\n");
 	if (pMaskPicture->filter == PictFilterNearest)
 	    is_nearest = TRUE;
     } else {
@@ -434,45 +428,7 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture,
 	I830FALLBACK("non-affine transform unsupported on 8xx hardware\n");
 
     {
-	uint32_t cblend, ablend, blendctl, vf2;
-
-	BEGIN_BATCH(30);
-
-	/* color buffer */
-	OUT_BATCH(_3DSTATE_BUF_INFO_CMD);
-	OUT_BATCH(BUF_3D_ID_COLOR_BACK| BUF_3D_USE_FENCE |
-		  BUF_3D_PITCH(dst_pitch));
-	OUT_RELOC_PIXMAP(pDst, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0);
-	OUT_BATCH(MI_NOOP);
-
-	OUT_BATCH(_3DSTATE_DST_BUF_VARS_CMD);
-	OUT_BATCH(dst_format);
-
-	/* defaults */
-	OUT_BATCH(_3DSTATE_DFLT_Z_CMD);
-	OUT_BATCH(0);
-
-	OUT_BATCH(_3DSTATE_DFLT_DIFFUSE_CMD);
-	OUT_BATCH(0);
-
-	OUT_BATCH(_3DSTATE_DFLT_SPEC_CMD);
-	OUT_BATCH(0);
-
-	OUT_BATCH(_3DSTATE_DRAW_RECT_CMD);
-	OUT_BATCH(0);
-	OUT_BATCH(0); /* ymin, xmin */
-	OUT_BATCH(DRAW_YMAX(pDst->drawable.height - 1) |
-		  DRAW_XMAX(pDst->drawable.width - 1));
-	OUT_BATCH(0); /* yorig, xorig */
-
-	OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(2) |
-		  I1_LOAD_S(3) | 1);
-	if (pMask)
-	    vf2 = 2 << 12; /* 2 texture coord sets */
-	else
-	    vf2 = 1 << 12;
-	OUT_BATCH(vf2); /* TEXCOORDFMT_2D */
-	OUT_BATCH(S3_CULLMODE_NONE | S3_VERTEXHAS_XY);
+	uint32_t cblend, ablend, blendctl;
 
 	/* If component alpha is active in the mask and the blend operation
 	 * uses the source alpha, then we know we don't need the source
@@ -541,36 +497,90 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture,
 	    ablend |= TB0A_ARG2_SEL_ONE;
 	}
 
-	OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_2 |
-		  LOAD_TEXTURE_BLEND_STAGE(0)|1);
-	OUT_BATCH(cblend);
-	OUT_BATCH(ablend);
-	OUT_BATCH(0);
-
 	blendctl = i830_get_blend_cntl(op, pMaskPicture, pDstPicture->format);
-	OUT_BATCH(_3DSTATE_INDPT_ALPHA_BLEND_CMD | DISABLE_INDPT_ALPHA_BLEND);
-	OUT_BATCH(MI_NOOP);
-	OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(8) | 0);
-	OUT_BATCH(S8_ENABLE_COLOR_BLEND | S8_BLENDFUNC_ADD | blendctl |
-		  S8_ENABLE_COLOR_BUFFER_WRITE);
-
-	OUT_BATCH(_3DSTATE_ENABLES_1_CMD | DISABLE_LOGIC_OP |
-		  DISABLE_STENCIL_TEST | DISABLE_DEPTH_BIAS |
-		  DISABLE_SPEC_ADD | DISABLE_FOG | DISABLE_ALPHA_TEST |
-		  ENABLE_COLOR_BLEND | DISABLE_DEPTH_TEST);
-	/* We have to explicitly say we don't want write disabled */
-	OUT_BATCH(_3DSTATE_ENABLES_2_CMD | ENABLE_COLOR_MASK |
-		  DISABLE_STENCIL_WRITE | ENABLE_TEX_CACHE |
-		  DISABLE_DITHER | ENABLE_COLOR_WRITE |
-		  DISABLE_DEPTH_WRITE);
-	ADVANCE_BATCH();
+
+	pI830->cblend = cblend;
+	pI830->ablend = ablend;
+	pI830->s8_blendctl = blendctl;
     }
 
     i830_debug_sync(pScrn);
 
+    pI830->needs_render_state_emit = TRUE;
+
     return TRUE;
 }
 
+static void


Reply to: