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

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



 .gitignore                                     |    1 
 Makefile.am                                    |    8 
 NEWS                                           | 1035 ++
 autogen.sh                                     |    4 
 configure.ac                                   |  420 -
 m4/ac_define_dir.m4                            |   49 
 man/intel.man                                  |  175 
 src/Makefile.am                                |   83 
 src/brw_defines.h                              |  874 --
 src/brw_structs.h                              | 1719 ----
 src/common.h                                   |  174 
 src/compat-api.h                               |  161 
 src/i830_3d.c                                  |  225 
 src/i830_reg.h                                 |  805 --
 src/i830_render.c                              |  876 --
 src/i915_3d.c                                  |  110 
 src/i915_3d.h                                  |  619 -
 src/i915_pciids.h                              |  211 
 src/i915_reg.h                                 |  844 --
 src/i915_render.c                              | 1025 --
 src/i915_video.c                               |  484 -
 src/i965_3d.c                                  |  438 -
 src/i965_reg.h                                 |  474 -
 src/i965_render.c                              | 2885 -------
 src/i965_video.c                               | 1915 -----
 src/intel.h                                    |  647 -
 src/intel_batchbuffer.c                        |  294 
 src/intel_batchbuffer.h                        |  226 
 src/intel_device.c                             |  325 
 src/intel_display.c                            | 1701 ----
 src/intel_dri.c                                | 1710 ----
 src/intel_driver.c                             | 1327 ---
 src/intel_driver.h                             |  285 
 src/intel_glamor.c                             |  231 
 src/intel_glamor.h                             |   67 
 src/intel_hwmc.c                               |  260 
 src/intel_hwmc.h                               |   75 
 src/intel_list.h                               |    2 
 src/intel_memory.c                             |  284 
 src/intel_module.c                             |  521 -
 src/intel_options.c                            |   51 
 src/intel_options.h                            |   49 
 src/intel_shadow.c                             |  198 
 src/intel_uxa.c                                | 1339 ---
 src/intel_video.c                              | 1776 ----
 src/intel_video.h                              |   95 
 src/legacy/i810/Makefile.am                    |   15 
 src/legacy/i810/i810.h                         |   17 
 src/legacy/i810/i810_accel.c                   |  347 
 src/legacy/i810/i810_common.h                  |    2 
 src/legacy/i810/i810_cursor.c                  |    6 
 src/legacy/i810/i810_dga.c                     |   26 
 src/legacy/i810/i810_dri.c                     |  136 
 src/legacy/i810/i810_driver.c                  |  715 -
 src/legacy/i810/i810_hwmc.c                    |    4 
 src/legacy/i810/i810_video.c                   |  115 
 src/legacy/i810/i810_xaa.c                     |  320 
 src/legacy/i810/xvmc/Makefile.am               |    4 
 src/legacy/legacy.h                            |    2 
 src/render_program/Makefile.am                 |   16 
 src/render_program/exa_wm_src_projective.g7a   |    4 
 src/render_program/exa_wm_src_projective.g7b   |    2 
 src/sna/Makefile.am                            |   33 
 src/sna/atomic.h                               |   89 
 src/sna/blt.c                                  |  772 +-
 src/sna/brw/Makefile.am                        |   60 
 src/sna/brw/brw.h                              |   17 
 src/sna/brw/brw_disasm.c                       | 1105 ++
 src/sna/brw/brw_eu.c                           |  150 
 src/sna/brw/brw_eu.h                           | 2264 +++++
 src/sna/brw/brw_eu_emit.c                      | 2002 +++++
 src/sna/brw/brw_eu_util.c                      |  126 
 src/sna/brw/brw_sf.c                           |   54 
 src/sna/brw/brw_test.c                         |   60 
 src/sna/brw/brw_test.h                         |   46 
 src/sna/brw/brw_test_gen4.c                    |  199 
 src/sna/brw/brw_test_gen5.c                    |  208 
 src/sna/brw/brw_test_gen6.c                    |  209 
 src/sna/brw/brw_test_gen7.c                    |  191 
 src/sna/brw/brw_wm.c                           |  681 +
 src/sna/compiler.h                             |   33 
 src/sna/fb/Makefile.am                         |   38 
 src/sna/fb/README                              |    1 
 src/sna/fb/fb.h                                |  575 +
 src/sna/fb/fbarc.c                             |  122 
 src/sna/fb/fbarcbits.h                         |  204 
 src/sna/fb/fbbitmap.c                          |  188 
 src/sna/fb/fbblt.c                             |  321 
 src/sna/fb/fbbltone.c                          |  413 +
 src/sna/fb/fbclip.c                            |   92 
 src/sna/fb/fbclip.h                            |   85 
 src/sna/fb/fbcopy.c                            |  225 
 src/sna/fb/fbfill.c                            |  221 
 src/sna/fb/fbgc.c                              |  198 
 src/sna/fb/fbglyph.c                           |  277 
 src/sna/fb/fbglyphbits.h                       |  140 
 src/sna/fb/fbimage.c                           |  254 
 src/sna/fb/fbline.c                            |  179 
 src/sna/fb/fblinebits.h                        |  284 
 src/sna/fb/fbpict.c                            |  348 
 src/sna/fb/fbpict.h                            |   51 
 src/sna/fb/fbpoint.c                           |  134 
 src/sna/fb/fbpointbits.h                       |  148 
 src/sna/fb/fbpush.c                            |  177 
 src/sna/fb/fbrop.h                             |  111 
 src/sna/fb/fbseg.c                             |  564 +
 src/sna/fb/fbsegbits.h                         |  212 
 src/sna/fb/fbspan.c                            |  131 
 src/sna/fb/fbstipple.c                         |  223 
 src/sna/fb/fbtile.c                            |  151 
 src/sna/fb/fbutil.c                            |  126 
 src/sna/fb/sfb.h                               |   40 
 src/sna/gen2_render.c                          | 1110 +-
 src/sna/gen3_render.c                          | 2671 +++++--
 src/sna/gen4_render.c                          | 2525 ++----
 src/sna/gen4_render.h                          |   86 
 src/sna/gen4_source.c                          |  179 
 src/sna/gen4_source.h                          |   22 
 src/sna/gen4_vertex.c                          | 3021 +++++++
 src/sna/gen4_vertex.h                          |   16 
 src/sna/gen5_render.c                          | 2254 ++---
 src/sna/gen5_render.h                          |   93 
 src/sna/gen6_render.c                          | 2906 +++----
 src/sna/gen6_render.h                          |   36 
 src/sna/gen7_render.c                          | 3116 +++-----
 src/sna/gen7_render.h                          |  232 
 src/sna/kgem.c                                 | 4423 ++++++++---
 src/sna/kgem.h                                 |  444 -
 src/sna/kgem_debug.c                           |   47 
 src/sna/kgem_debug.h                           |    2 
 src/sna/kgem_debug_gen2.c                      |    4 
 src/sna/kgem_debug_gen3.c                      |   99 
 src/sna/kgem_debug_gen4.c                      |    6 
 src/sna/kgem_debug_gen5.c                      |   27 
 src/sna/kgem_debug_gen6.c                      |   34 
 src/sna/kgem_debug_gen7.c                      |   45 
 src/sna/sna.h                                  |  534 -
 src/sna/sna_accel.c                            | 9492 ++++++++++++++++---------
 src/sna/sna_blt.c                              | 1689 +++-
 src/sna/sna_composite.c                        |  505 -
 src/sna/sna_cpu.c                              |  116 
 src/sna/sna_cpuid.h                            |   86 
 src/sna/sna_damage.c                           |  387 -
 src/sna/sna_damage.h                           |   55 
 src/sna/sna_display.c                          | 3809 +++++++---
 src/sna/sna_display_fake.c                     |  250 
 src/sna/sna_dri.c                              | 2615 +++---
 src/sna/sna_driver.c                           |  889 +-
 src/sna/sna_glyphs.c                           | 1423 ++-
 src/sna/sna_gradient.c                         |  167 
 src/sna/sna_io.c                               |  791 +-
 src/sna/sna_module.h                           |    4 
 src/sna/sna_reg.h                              |    1 
 src/sna/sna_render.c                           |  944 +-
 src/sna/sna_render.h                           |  293 
 src/sna/sna_render_inline.h                    |  170 
 src/sna/sna_stream.c                           |   51 
 src/sna/sna_threads.c                          |  306 
 src/sna/sna_tiling.c                           |  469 -
 src/sna/sna_transform.c                        |   41 
 src/sna/sna_trapezoids.c                       | 3369 +++++++-
 src/sna/sna_vertex.c                           |   37 
 src/sna/sna_video.c                            |  498 -
 src/sna/sna_video.h                            |   80 
 src/sna/sna_video_hwmc.c                       |  191 
 src/sna/sna_video_hwmc.h                       |   30 
 src/sna/sna_video_overlay.c                    |  471 -
 src/sna/sna_video_sprite.c                     |  422 -
 src/sna/sna_video_textured.c                   |  364 
 src/uxa/Makefile.am                            |   88 
 src/uxa/brw_defines.h                          |  881 ++
 src/uxa/brw_structs.h                          | 1723 ++++
 src/uxa/common.h                               |   71 
 src/uxa/i830_3d.c                              |  225 
 src/uxa/i830_reg.h                             |  805 ++
 src/uxa/i830_render.c                          |  876 ++
 src/uxa/i915_3d.c                              |  110 
 src/uxa/i915_3d.h                              |  619 +
 src/uxa/i915_reg.h                             |  844 ++
 src/uxa/i915_render.c                          | 1010 ++
 src/uxa/i915_video.c                           |  486 +
 src/uxa/i965_3d.c                              |  443 +
 src/uxa/i965_reg.h                             |  476 +
 src/uxa/i965_render.c                          | 2962 +++++++
 src/uxa/i965_video.c                           | 1939 +++++
 src/uxa/intel.h                                |  688 +
 src/uxa/intel_batchbuffer.c                    |  314 
 src/uxa/intel_batchbuffer.h                    |  226 
 src/uxa/intel_display.c                        | 2124 +++++
 src/uxa/intel_dri.c                            | 1639 ++++
 src/uxa/intel_driver.c                         | 1311 +++
 src/uxa/intel_glamor.c                         |  254 
 src/uxa/intel_glamor.h                         |   67 
 src/uxa/intel_hwmc.c                           |  260 
 src/uxa/intel_memory.c                         |  286 
 src/uxa/intel_uxa.c                            | 1420 +++
 src/uxa/intel_video.c                          | 1776 ++++
 src/uxa/intel_video.h                          |   95 
 src/uxa/uxa-accel.c                            | 1296 +++
 src/uxa/uxa-glamor.h                           |   65 
 src/uxa/uxa-glyphs.c                           | 1053 ++
 src/uxa/uxa-priv.h                             |  440 +
 src/uxa/uxa-render.c                           | 2074 +++++
 src/uxa/uxa-unaccel.c                          |  454 +
 src/uxa/uxa.c                                  |  590 +
 src/uxa/uxa.h                                  |  599 +
 src/uxa/uxa_module.h                           |    6 
 src/xvmc/Makefile.am                           |   23 
 src/xvmc/i915_program.h                        |  274 
 src/xvmc/i915_structs.h                        |  926 --
 src/xvmc/i915_xvmc.c                           | 1225 ---
 src/xvmc/i915_xvmc.h                           |   83 
 src/xvmc/i965_xvmc.c                           |  882 --
 src/xvmc/intel_batchbuffer.c                   |  139 
 src/xvmc/intel_batchbuffer.h                   |   57 
 src/xvmc/intel_xvmc.c                          | 1075 --
 src/xvmc/intel_xvmc.h                          |  263 
 src/xvmc/intel_xvmc_dump.c                     |  158 
 src/xvmc/shader/Makefile.am                    |    1 
 src/xvmc/shader/mc/Makefile.am                 |  121 
 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.g4b.gen5         | 2486 ------
 src/xvmc/shader/mc/dual_prime_igd.g4a          |  223 
 src/xvmc/shader/mc/dual_prime_igd.g4b          | 1234 ---
 src/xvmc/shader/mc/dual_prime_igd.g4b.gen5     | 1234 ---
 src/xvmc/shader/mc/field_backward.g4a          |  124 
 src/xvmc/shader/mc/field_backward.g4b          | 1341 ---
 src/xvmc/shader/mc/field_backward.g4b.gen5     | 1341 ---
 src/xvmc/shader/mc/field_backward_igd.g4a      |   86 
 src/xvmc/shader/mc/field_backward_igd.g4b      |   62 
 src/xvmc/shader/mc/field_backward_igd.g4b.gen5 |   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.g4b.gen5          | 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_f_b_igd.g4b.gen5      |  121 
 src/xvmc/shader/mc/field_forward.g4a           |  121 
 src/xvmc/shader/mc/field_forward.g4b           | 1340 ---
 src/xvmc/shader/mc/field_forward.g4b.gen5      | 1340 ---
 src/xvmc/shader/mc/field_forward_igd.g4a       |   86 
 src/xvmc/shader/mc/field_forward_igd.g4b       |   62 
 src/xvmc/shader/mc/field_forward_igd.g4b.gen5  |   62 
 src/xvmc/shader/mc/frame_backward.g4a          |   69 
 src/xvmc/shader/mc/frame_backward.g4b          |  716 -
 src/xvmc/shader/mc/frame_backward.g4b.gen5     |  716 -
 src/xvmc/shader/mc/frame_backward_igd.g4a      |   50 
 src/xvmc/shader/mc/frame_backward_igd.g4b      |   15 
 src/xvmc/shader/mc/frame_backward_igd.g4b.gen5 |   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.g4b.gen5          | 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_f_b_igd.g4b.gen5      |   51 
 src/xvmc/shader/mc/frame_forward.g4a           |   65 
 src/xvmc/shader/mc/frame_forward.g4b           |  715 -
 src/xvmc/shader/mc/frame_forward.g4b.gen5      |  715 -
 src/xvmc/shader/mc/frame_forward_igd.g4a       |   30 
 src/xvmc/shader/mc/frame_forward_igd.g4b       |   15 
 src/xvmc/shader/mc/frame_forward_igd.g4b.gen5  |   15 
 src/xvmc/shader/mc/ipicture.g4a                |  166 
 src/xvmc/shader/mc/ipicture.g4b                |  125 
 src/xvmc/shader/mc/ipicture.g4b.gen5           |  125 
 src/xvmc/shader/mc/ipicture_igd.g4a            |  105 
 src/xvmc/shader/mc/ipicture_igd.g4b            |   75 
 src/xvmc/shader/mc/ipicture_igd.g4b.gen5       |   75 
 src/xvmc/shader/mc/lib_igd.g4a                 |  133 
 src/xvmc/shader/mc/lib_igd.g4b                 |  558 -
 src/xvmc/shader/mc/lib_igd.g4b.gen5            |  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/null.g4b.gen5               |   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                |   74 
 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_backward.g4b.gen5    |  553 -
 src/xvmc/shader/vld/field_f_b.g4a              |  213 
 src/xvmc/shader/vld/field_f_b.g4b              | 1007 --
 src/xvmc/shader/vld/field_f_b.g4b.gen5         | 1007 --
 src/xvmc/shader/vld/field_forward.g4a          |  130 
 src/xvmc/shader/vld/field_forward.g4b          |  555 -
 src/xvmc/shader/vld/field_forward.g4b.gen5     |  555 -
 src/xvmc/shader/vld/frame_backward.g4a         |   61 
 src/xvmc/shader/vld/frame_backward.g4b         |  369 
 src/xvmc/shader/vld/frame_backward.g4b.gen5    |  369 
 src/xvmc/shader/vld/frame_f_b.g4a              |  120 
 src/xvmc/shader/vld/frame_f_b.g4b              |  675 -
 src/xvmc/shader/vld/frame_f_b.g4b.gen5         |  675 -
 src/xvmc/shader/vld/frame_forward.g4a          |   61 
 src/xvmc/shader/vld/frame_forward.g4b          |  369 
 src/xvmc/shader/vld/frame_forward.g4b.gen5     |  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/ipicture.g4b.gen5          |  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/lib.g4b.gen5               |  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/xvmc_vld.c                            | 1225 ---
 test/.gitignore                                |    2 
 test/Makefile.am                               |   21 
 test/basic-rectangle.c                         |  223 
 test/basic-string.c                            |  102 
 test/dri2-race.c                               |  113 
 test/dri2-swap.c                               |  172 
 test/dri2.c                                    |  665 +
 test/dri2.h                                    |  108 
 test/lowlevel-blt-bench.c                      |  135 
 test/mkvsync.sh                                |   27 
 test/tearing.mp4                               |binary
 test/test.h                                    |    5 
 test/test_display.c                            |   17 
 uxa/Makefile.am                                |   23 
 uxa/uxa-accel.c                                | 1279 ---
 uxa/uxa-glamor.h                               |   65 
 uxa/uxa-glyphs.c                               |  945 --
 uxa/uxa-priv.h                                 |  440 -
 uxa/uxa-render.c                               | 2082 -----
 uxa/uxa-unaccel.c                              |  454 -
 uxa/uxa.c                                      |  592 -
 uxa/uxa.h                                      |  599 -
 xvmc/Makefile.am                               |   32 
 xvmc/brw_defines.h                             |  881 ++
 xvmc/brw_structs.h                             | 1723 ++++
 xvmc/i830_reg.h                                |  805 ++
 xvmc/i915_program.h                            |  274 
 xvmc/i915_reg.h                                |  844 ++
 xvmc/i915_structs.h                            |  926 ++
 xvmc/i915_xvmc.c                               | 1225 +++
 xvmc/i915_xvmc.h                               |   82 
 xvmc/i965_reg.h                                |  476 +
 xvmc/i965_xvmc.c                               |  880 ++
 xvmc/intel_batchbuffer.c                       |  139 
 xvmc/intel_batchbuffer.h                       |   57 
 xvmc/intel_xvmc.c                              | 1075 ++
 xvmc/intel_xvmc.h                              |   75 
 xvmc/intel_xvmc_dump.c                         |  158 
 xvmc/intel_xvmc_private.h                      |  264 
 xvmc/shader/Makefile.am                        |    1 
 xvmc/shader/mc/Makefile.am                     |  121 
 xvmc/shader/mc/addidct.g4i                     |  152 
 xvmc/shader/mc/addidct_igd.g4i                 |  117 
 xvmc/shader/mc/block_clear.g4i                 |  140 
 xvmc/shader/mc/dual_prime.g4a                  |  223 
 xvmc/shader/mc/dual_prime.g4b                  | 2486 ++++++
 xvmc/shader/mc/dual_prime.g4b.gen5             | 2486 ++++++
 xvmc/shader/mc/dual_prime_igd.g4a              |  223 
 xvmc/shader/mc/dual_prime_igd.g4b              | 1234 +++
 xvmc/shader/mc/dual_prime_igd.g4b.gen5         | 1234 +++
 xvmc/shader/mc/field_backward.g4a              |  124 
 xvmc/shader/mc/field_backward.g4b              | 1341 +++
 xvmc/shader/mc/field_backward.g4b.gen5         | 1341 +++
 xvmc/shader/mc/field_backward_igd.g4a          |   86 
 xvmc/shader/mc/field_backward_igd.g4b          |   62 
 xvmc/shader/mc/field_backward_igd.g4b.gen5     |   62 
 xvmc/shader/mc/field_f_b.g4a                   |  223 
 xvmc/shader/mc/field_f_b.g4b                   | 2486 ++++++
 xvmc/shader/mc/field_f_b.g4b.gen5              | 2486 ++++++
 xvmc/shader/mc/field_f_b_igd.g4a               |  159 
 xvmc/shader/mc/field_f_b_igd.g4b               |  121 
 xvmc/shader/mc/field_f_b_igd.g4b.gen5          |  121 
 xvmc/shader/mc/field_forward.g4a               |  121 
 xvmc/shader/mc/field_forward.g4b               | 1340 +++
 xvmc/shader/mc/field_forward.g4b.gen5          | 1340 +++
 xvmc/shader/mc/field_forward_igd.g4a           |   86 
 xvmc/shader/mc/field_forward_igd.g4b           |   62 
 xvmc/shader/mc/field_forward_igd.g4b.gen5      |   62 
 xvmc/shader/mc/frame_backward.g4a              |   69 
 xvmc/shader/mc/frame_backward.g4b              |  716 +
 xvmc/shader/mc/frame_backward.g4b.gen5         |  716 +
 xvmc/shader/mc/frame_backward_igd.g4a          |   50 
 xvmc/shader/mc/frame_backward_igd.g4b          |   15 
 xvmc/shader/mc/frame_backward_igd.g4b.gen5     |   15 
 xvmc/shader/mc/frame_f_b.g4a                   |  131 
 xvmc/shader/mc/frame_f_b.g4b                   | 1257 +++
 xvmc/shader/mc/frame_f_b.g4b.gen5              | 1257 +++
 xvmc/shader/mc/frame_f_b_igd.g4a               |   96 
 xvmc/shader/mc/frame_f_b_igd.g4b               |   51 
 xvmc/shader/mc/frame_f_b_igd.g4b.gen5          |   51 
 xvmc/shader/mc/frame_forward.g4a               |   65 
 xvmc/shader/mc/frame_forward.g4b               |  715 +
 xvmc/shader/mc/frame_forward.g4b.gen5          |  715 +
 xvmc/shader/mc/frame_forward_igd.g4a           |   30 
 xvmc/shader/mc/frame_forward_igd.g4b           |   15 
 xvmc/shader/mc/frame_forward_igd.g4b.gen5      |   15 
 xvmc/shader/mc/ipicture.g4a                    |  166 
 xvmc/shader/mc/ipicture.g4b                    |  125 
 xvmc/shader/mc/ipicture.g4b.gen5               |  125 
 xvmc/shader/mc/ipicture_igd.g4a                |  105 
 xvmc/shader/mc/ipicture_igd.g4b                |   75 
 xvmc/shader/mc/ipicture_igd.g4b.gen5           |   75 
 xvmc/shader/mc/lib_igd.g4a                     |  133 
 xvmc/shader/mc/lib_igd.g4b                     |  558 +
 xvmc/shader/mc/lib_igd.g4b.gen5                |  558 +
 xvmc/shader/mc/motion_field_uv.g4i             |   46 
 xvmc/shader/mc/motion_field_uv_igd.g4i         |   46 
 xvmc/shader/mc/motion_field_y.g4i              |   45 
 xvmc/shader/mc/motion_field_y_igd.g4i          |   45 
 xvmc/shader/mc/motion_frame_uv.g4i             |   29 
 xvmc/shader/mc/motion_frame_uv_igd.g4i         |   30 
 xvmc/shader/mc/motion_frame_y.g4i              |   57 
 xvmc/shader/mc/motion_frame_y_igd.g4i          |   58 
 xvmc/shader/mc/null.g4a                        |   57 
 xvmc/shader/mc/null.g4b                        |   17 
 xvmc/shader/mc/null.g4b.gen5                   |   17 
 xvmc/shader/mc/read_field_x0y0_uv.g4i          |   74 
 xvmc/shader/mc/read_field_x0y0_uv_igd.g4i      |   30 
 xvmc/shader/mc/read_field_x0y0_y.g4i           |   83 
 xvmc/shader/mc/read_field_x0y0_y_igd.g4i       |   35 
 xvmc/shader/mc/read_field_x0y1_uv.g4i          |   78 
 xvmc/shader/mc/read_field_x0y1_uv_igd.g4i      |   42 
 xvmc/shader/mc/read_field_x0y1_y.g4i           |   86 
 xvmc/shader/mc/read_field_x0y1_y_igd.g4i       |   42 
 xvmc/shader/mc/read_field_x1y0_uv.g4i          |   75 
 xvmc/shader/mc/read_field_x1y0_uv_igd.g4i      |   33 
 xvmc/shader/mc/read_field_x1y0_y.g4i           |   83 
 xvmc/shader/mc/read_field_x1y0_y_igd.g4i       |   35 
 xvmc/shader/mc/read_field_x1y1_uv.g4i          |  172 
 xvmc/shader/mc/read_field_x1y1_uv_igd.g4i      |   66 
 xvmc/shader/mc/read_field_x1y1_y.g4i           |  166 
 xvmc/shader/mc/read_field_x1y1_y_igd.g4i       |   64 
 xvmc/shader/mc/read_frame_x0y0_uv.g4i          |   73 
 xvmc/shader/mc/read_frame_x0y0_uv_igd.g4i      |   28 
 xvmc/shader/mc/read_frame_x0y0_y.g4i           |  109 
 xvmc/shader/mc/read_frame_x0y0_y_igd.g4i       |   35 
 xvmc/shader/mc/read_frame_x0y1_uv.g4i          |   79 
 xvmc/shader/mc/read_frame_x0y1_uv_igd.g4i      |   44 
 xvmc/shader/mc/read_frame_x0y1_y.g4i           |  113 
 xvmc/shader/mc/read_frame_x0y1_y_igd.g4i       |   49 
 xvmc/shader/mc/read_frame_x1y0_uv.g4i          |   75 
 xvmc/shader/mc/read_frame_x1y0_uv_igd.g4i      |   41 
 xvmc/shader/mc/read_frame_x1y0_y.g4i           |  110 
 xvmc/shader/mc/read_frame_x1y0_y_igd.g4i       |   43 
 xvmc/shader/mc/read_frame_x1y1_uv.g4i          |  159 
 xvmc/shader/mc/read_frame_x1y1_uv_igd.g4i      |   71 
 xvmc/shader/mc/read_frame_x1y1_y.g4i           |  264 
 xvmc/shader/mc/read_frame_x1y1_y_igd.g4i       |   92 
 xvmc/shader/vld/Makefile.am                    |   74 
 xvmc/shader/vld/addidct.g4i                    |  152 
 xvmc/shader/vld/do_iq_intra.g4i                |   64 
 xvmc/shader/vld/do_iq_non_intra.g4i            |   59 
 xvmc/shader/vld/field_backward.g4a             |  126 
 xvmc/shader/vld/field_backward.g4b             |  553 +
 xvmc/shader/vld/field_backward.g4b.gen5        |  553 +
 xvmc/shader/vld/field_f_b.g4a                  |  213 
 xvmc/shader/vld/field_f_b.g4b                  | 1007 ++
 xvmc/shader/vld/field_f_b.g4b.gen5             | 1007 ++
 xvmc/shader/vld/field_forward.g4a              |  130 
 xvmc/shader/vld/field_forward.g4b              |  555 +
 xvmc/shader/vld/field_forward.g4b.gen5         |  555 +
 xvmc/shader/vld/frame_backward.g4a             |   61 
 xvmc/shader/vld/frame_backward.g4b             |  369 
 xvmc/shader/vld/frame_backward.g4b.gen5        |  369 
 xvmc/shader/vld/frame_f_b.g4a                  |  120 
 xvmc/shader/vld/frame_f_b.g4b                  |  675 +
 xvmc/shader/vld/frame_f_b.g4b.gen5             |  675 +
 xvmc/shader/vld/frame_forward.g4a              |   61 
 xvmc/shader/vld/frame_forward.g4b              |  369 
 xvmc/shader/vld/frame_forward.g4b.gen5         |  369 
 xvmc/shader/vld/idct.g4i                       |  147 
 xvmc/shader/vld/ipicture.g4a                   |  209 
 xvmc/shader/vld/ipicture.g4b                   |  313 
 xvmc/shader/vld/ipicture.g4b.gen5              |  313 
 xvmc/shader/vld/iq_intra.g4i                   |  131 
 xvmc/shader/vld/iq_non_intra.g4i               |  150 
 xvmc/shader/vld/lib.g4a                        |  190 
 xvmc/shader/vld/lib.g4b                        |  307 
 xvmc/shader/vld/lib.g4b.gen5                   |  307 
 xvmc/shader/vld/motion_field_uv.g4i            |   46 
 xvmc/shader/vld/motion_field_y.g4i             |   45 
 xvmc/shader/vld/motion_frame_uv.g4i            |   45 
 xvmc/shader/vld/motion_frame_y.g4i             |   57 
 xvmc/shader/vld/read_field_x0y0_uv.g4i         |   50 
 xvmc/shader/vld/read_field_x0y0_y.g4i          |   57 
 xvmc/shader/vld/read_field_x0y1_uv.g4i         |   28 
 xvmc/shader/vld/read_field_x0y1_y.g4i          |   60 
 xvmc/shader/vld/read_field_x1y0_uv.g4i         |   24 
 xvmc/shader/vld/read_field_x1y0_y.g4i          |   57 
 xvmc/shader/vld/read_field_x1y1_uv.g4i         |   53 
 xvmc/shader/vld/read_field_x1y1_y.g4i          |   87 
 xvmc/shader/vld/read_frame_x0y0_uv.g4i         |   49 
 xvmc/shader/vld/read_frame_x0y0_y.g4i          |   58 
 xvmc/shader/vld/read_frame_x0y1_uv.g4i         |   56 
 xvmc/shader/vld/read_frame_x0y1_y.g4i          |   61 
 xvmc/shader/vld/read_frame_x1y0_uv.g4i         |   42 
 xvmc/shader/vld/read_frame_x1y0_y.g4i          |   58 
 xvmc/shader/vld/read_frame_x1y1_uv.g4i         |   74 
 xvmc/shader/vld/read_frame_x1y1_y.g4i          |  112 
 xvmc/xvmc_vld.c                                | 1224 +++
 559 files changed, 139257 insertions(+), 98638 deletions(-)

New commits:
commit 0cd154039ab02799dc972d93c415e762226df1aa
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Aug 4 10:30:14 2013 +0100

    2.21.14 release

diff --git a/NEWS b/NEWS
index a207c4e..728b6c4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,21 @@
+Release 2.21.14 (2013-08-04)
+============================
+A few updates for the top-end Haswell systems (notably GT3 and GT3e
+systems), in particular, setting the appropriate thread counts for the
+larger GPU and handling a few scaling issues with the emedded DRAM. More
+important than the performance tuning though is a fix for a critical
+issue encountered by a few people on gen4/gen5 systems.
+
+ * Initial performance tuning for HSW:GT3e
+
+ * Fix a crash with Planetary Annihilation
+
+ * Disable triple buffering for compositors
+
+ * Reserve space in the exec buffer array for deferred VBOs.
+   https://bugs.freedesktop.org/show_bug.cgi?id=67504
+
+
 Release 2.21.13 (2013-07-27)
 ============================
 A minor release to repair the build for non-Linux systems, and to undo a
diff --git a/configure.ac b/configure.ac
index d5705b9..104113e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-intel],
-        [2.21.13],
+        [2.21.14],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-intel])
 AC_CONFIG_SRCDIR([Makefile.am])

commit a5bf389908934aa4f9493a4a35b18e4aec9c8103
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Aug 3 14:54:31 2013 +0100

    sna: Mark the entire userptr proxy chain as flush/non-reusable
    
    Fixes cache bookkeepping when mixing userptr uploads.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 29a5dfc..8d59a2e 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1909,6 +1909,7 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
 		assert(bo->refcnt == 0);
 		assert(bo->snoop);
 		assert(!bo->scanout);
+		assert(!bo->purged);
 		assert(bo->proxy == NULL);
 		assert(bo->tiling == I915_TILING_NONE);
 		assert(bo->rq == NULL);
diff --git a/src/sna/kgem.h b/src/sna/kgem.h
index 95f0f7b..4ea8596 100644
--- a/src/sna/kgem.h
+++ b/src/sna/kgem.h
@@ -647,8 +647,11 @@ static inline bool __kgem_bo_is_busy(struct kgem *kgem, struct kgem_bo *bo)
 
 static inline void kgem_bo_mark_unreusable(struct kgem_bo *bo)
 {
-	while (bo->proxy)
+	while (bo->proxy) {
+		bo->flush = true;
 		bo = bo->proxy;
+	}
+	bo->flush = true;
 	bo->reusable = false;
 }
 
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 7fef4f2..040c009 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -874,9 +874,8 @@ fallback:
 		sna_pixmap_destroy(pixmap);
 		goto fallback;
 	}
-	priv->cpu_bo->flush = true;
 	priv->cpu_bo->pitch = pitch;
-	priv->cpu_bo->reusable = false;
+	kgem_bo_mark_unreusable(priv->cpu_bo);
 	sna_accel_watch_flush(sna, 1);
 #ifdef DEBUG_MEMORY
 	sna->debug_memory.cpu_bo_allocs++;
@@ -4036,7 +4035,6 @@ try_upload_blt(PixmapPtr pixmap, RegionRec *region,
 	if (src_bo == NULL)
 		return false;
 
-	src_bo->flush = true;
 	src_bo->pitch = stride;
 	kgem_bo_mark_unreusable(src_bo);
 
@@ -5300,7 +5298,6 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
 						 src_pixmap->devKind * src_pixmap->drawable.height,
 						 true);
 			if (src_bo) {
-				src_bo->flush = true;
 				src_bo->pitch = src_pixmap->devKind;
 				kgem_bo_mark_unreusable(src_bo);
 
@@ -14512,7 +14509,6 @@ sna_get_image_blt(PixmapPtr pixmap,
 				 pitch * (region->extents.y2 - region->extents.y1),
 				 false);
 	if (dst_bo) {
-		dst_bo->flush = true;
 		dst_bo->pitch = pitch;
 		kgem_bo_mark_unreusable(dst_bo);
 

commit 5287660aafe45859c07874c22dca99c1ff5e555a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 2 13:18:12 2013 +0100

    sna: Reserve relocation entries for the deferred VBO
    
    Whilst we reserved exec entry slots for the deferred VBO, there were no
    relocation spaces reserved. So if we submitted a render command followed
    by a multitude of BLT copies, we could then overrun the relocation array
    when adding the deferred vbo to the batch.
    
    Reported-by: Danny <moondrake@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67504
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/kgem.h b/src/sna/kgem.h
index e726530..95f0f7b 100644
--- a/src/sna/kgem.h
+++ b/src/sna/kgem.h
@@ -211,8 +211,8 @@ struct kgem {
 
 	uint16_t reloc__self[256];
 	uint32_t batch[64*1024-8] page_aligned;
-	struct drm_i915_gem_exec_object2 exec[256] page_aligned;
-	struct drm_i915_gem_relocation_entry reloc[4096] page_aligned;
+	struct drm_i915_gem_exec_object2 exec[384] page_aligned;
+	struct drm_i915_gem_relocation_entry reloc[8192] page_aligned;
 
 #ifdef DEBUG_MEMORY
 	struct {
@@ -222,9 +222,11 @@ struct kgem {
 #endif
 };
 
+#define KGEM_MAX_DEFERRED_VBO 16
+
 #define KGEM_BATCH_RESERVED 1
-#define KGEM_RELOC_RESERVED 4
-#define KGEM_EXEC_RESERVED 1
+#define KGEM_RELOC_RESERVED (KGEM_MAX_DEFERRED_VBO)
+#define KGEM_EXEC_RESERVED (1+KGEM_MAX_DEFERRED_VBO)
 
 #ifndef ARRAY_SIZE
 #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))

commit 3f04b6f33f05f8a24698f934a23462269b84917d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 1 14:49:36 2013 +0100

    sna/dri: Disable TripleBuffering by default for compositors
    
    Ideally, the method of swapping is something that the applications have
    control over, along with how to synchronise to the vertical refresh.
    Whilst triple buffering is good to reduce jitter for games (at the cost of
    an extra frame of latency, usually considered a good tradeoff), it
    prevents the applications from accurately controlling the presentation
    of animations. One vocal critique is Owen Taylor, who demands accurate
    swap control for smooth animations in gnome-shell. For example,
    
    http://blog.fishsoup.net/2012/11/28/avoiding-jitter-in-composited-frame-display/
    
    In lieu of application control, just apply a quirk for the compositor.
    Everyone else will just have to wait for DRI3.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna.h b/src/sna/sna.h
index d0d2de4..abc8c5b 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -107,6 +107,17 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define SNA_CURSOR_X			64
 #define SNA_CURSOR_Y			SNA_CURSOR_X
 
+struct sna_client {
+	int is_compositor; /* only 4 bits used */
+};
+
+extern DevPrivateKeyRec sna_client_key;
+
+pure static inline struct sna_client *sna_client(ClientPtr client)
+{
+	return __get_private(client, sna_client_key);
+}
+
 struct sna_cow {
 	struct kgem_bo *bo;
 	struct list list;
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index a48c8d0..0083b52 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -48,6 +48,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include <xf86drm.h>
 #include <i915_drm.h>
 #include <dri2.h>
+#include <compositeext.h>
 
 #if DRI2INFOREC_VERSION <= 2
 #error DRI2 version supported by the Xserver is too old
@@ -61,12 +62,12 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define COLOR_PREFER_TILING_Y 0
 
 enum frame_event_type {
+	DRI2_WAITMSC = 0,
 	DRI2_SWAP,
 	DRI2_SWAP_WAIT,
 	DRI2_SWAP_THROTTLE,
 	DRI2_FLIP,
 	DRI2_FLIP_THROTTLE,
-	DRI2_WAITMSC,
 };
 
 struct sna_dri_frame_event {
@@ -1118,11 +1119,6 @@ can_flip(struct sna * sna,
 		return false;
 	}
 
-	if (!get_private(front)->scanout) {
-		DBG(("%s: no, DRI2 drawable not attached at time of creation)\n",
-		     __FUNCTION__));
-		return false;
-	}
 	assert(get_private(front)->pixmap == sna->front);
 	assert(sna_pixmap(sna->front)->gpu_bo == get_private(front)->bo);
 
@@ -1685,6 +1681,34 @@ get_current_msc_for_target(struct sna *sna, CARD64 target_msc, int pipe)
 	return ret;
 }
 
+static Bool find(pointer value, XID id, pointer cdata)
+{
+	return TRUE;
+}
+
+static int use_triple_buffer(struct sna *sna, ClientPtr client)
+{
+	struct sna_client *priv;
+
+	if ((sna->flags & SNA_TRIPLE_BUFFER) == 0)
+		return DRI2_FLIP;
+
+	/* Hack: Disable triple buffering for compositors */
+
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,12,99,901,0)
+	priv = sna_client(client);
+	if (priv->is_compositor == 0)
+		priv->is_compositor =
+			LookupClientResourceComplex(client,
+						    CompositeClientWindowType+1,
+						    find, NULL) ? DRI2_FLIP : DRI2_FLIP_THROTTLE;
+
+	return priv->is_compositor;
+#else
+	return DRI2_FLIP_THROTTLE;
+#endif
+}
+
 static bool
 sna_dri_schedule_flip(ClientPtr client, DrawablePtr draw,
 		      DRI2BufferPtr front, DRI2BufferPtr back, int pipe,
@@ -1707,8 +1731,7 @@ sna_dri_schedule_flip(ClientPtr client, DrawablePtr draw,
 		DBG(("%s: performing immediate swap on pipe %d, pending? %d, mode: %d\n",
 		     __FUNCTION__, pipe, info != NULL, info ? info->mode : 0));
 
-		if (info &&
-		    info->draw == draw) {
+		if (info && info->draw == draw) {
 			assert(info->type == DRI2_FLIP_THROTTLE);
 			assert(info->front == front);
 			if (info->back != back) {
@@ -1734,8 +1757,7 @@ sna_dri_schedule_flip(ClientPtr client, DrawablePtr draw,
 		if (info == NULL)
 			return false;
 
-		info->type = sna->flags & SNA_TRIPLE_BUFFER ? DRI2_FLIP_THROTTLE: DRI2_FLIP;
-
+		info->type = use_triple_buffer(sna, client);
 		info->draw = draw;
 		info->client = client;
 		info->event_complete = func;
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 16dbc91..fc8773b 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -77,6 +77,7 @@ DevPrivateKeyRec sna_pixmap_key;
 DevPrivateKeyRec sna_gc_key;
 DevPrivateKeyRec sna_window_key;
 DevPrivateKeyRec sna_glyph_key;
+DevPrivateKeyRec sna_client_key;
 
 static void
 sna_load_palette(ScrnInfoPtr scrn, int numColors, int *indices,
@@ -788,6 +789,10 @@ sna_register_all_privates(void)
 	if (!dixRegisterPrivateKey(&sna_window_key, PRIVATE_WINDOW,
 				   3*sizeof(void *)))
 		return FALSE;
+
+	if (!dixRegisterPrivateKey(&sna_client_key, PRIVATE_CLIENT,
+				   sizeof(struct sna_client)))
+		return FALSE;
 #else
 	if (!dixRequestPrivate(&sna_pixmap_key, 3*sizeof(void *)))
 		return FALSE;
@@ -800,6 +805,9 @@ sna_register_all_privates(void)
 
 	if (!dixRequestPrivate(&sna_window_key, 3*sizeof(void *)))
 		return FALSE;
+
+	if (!dixRequestPrivate(&sna_client_key, sizeof(struct sna_client)))
+		return FALSE;
 #endif
 
 	return TRUE;

commit 0ae07158c3550b418d3596cacda33a64ee653790
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 1 11:01:14 2013 +0100

    sna: Add a few more details to the log for mode switching
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 17e2de1..f13b423 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1386,6 +1386,17 @@ static char *outputs_for_crtc(xf86CrtcPtr crtc, char *outputs, int max)
 	return outputs;
 }
 
+static const char *rotation_to_str(Rotation rotation)
+{
+	switch (rotation) {
+	case RR_Rotate_0: return "normal";
+	case RR_Rotate_90: return "right";
+	case RR_Rotate_180: return "inverted";
+	case RR_Rotate_270: return "left";
+	default: return "unknown";
+	}
+}
+
 static Bool
 sna_crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
 			Rotation rotation, int x, int y)
@@ -1402,13 +1413,11 @@ sna_crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
 		return FALSE;
 
 	xf86DrvMsg(crtc->scrn->scrnIndex, X_INFO,
-		   "switch to mode %dx%d on pipe %d using %s\n",
-		   mode->HDisplay, mode->VDisplay, sna_crtc->pipe,
-		   outputs_for_crtc(crtc, outputs, sizeof(outputs)));
-
-	DBG(("%s(crtc=%d [pipe=%d] rotation=%d, x=%d, y=%d, mode=%dx%d@%d)\n",
-	     __FUNCTION__, sna_crtc->id, sna_crtc->pipe, rotation, x, y,
-	     mode->HDisplay, mode->VDisplay, mode->Clock));
+		   "switch to mode %dx%d@%.1f on pipe %d using %s, position (%d, %d), rotation %s\n",
+		   mode->HDisplay, mode->VDisplay, xf86ModeVRefresh(mode),
+		   sna_crtc->pipe,
+		   outputs_for_crtc(crtc, outputs, sizeof(outputs)),
+		   x, y, rotation_to_str(rotation));
 
 	assert(mode->HDisplay <= sna->mode.kmode->max_width &&
 	       mode->VDisplay <= sna->mode.kmode->max_height);

commit 246911d742569eed6675698c1e51032ba50917d3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 1 10:52:44 2013 +0100

    sna: Don't force inline string-ops for the general memcpy_blt routine
    
    As we need optimal copy code for the general case, where unlike
    swizzling the run lengths are not known before hand, we need to call the
    arch specific routines from glibc.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/blt.c b/src/sna/blt.c
index 4a33093..4c27678 100644
--- a/src/sna/blt.c
+++ b/src/sna/blt.c
@@ -138,7 +138,7 @@ xmm_save_128(__m128i *dst, __m128i data)
 }
 #endif
 
-fast_memcpy void
+fast void
 memcpy_blt(const void *src, void *dst, int bpp,
 	   int32_t src_stride, int32_t dst_stride,
 	   int16_t src_x, int16_t src_y,
@@ -202,6 +202,14 @@ memcpy_blt(const void *src, void *dst, int bpp,
 			dst_bytes += dst_stride;
 		} while (--height);
 		break;
+	case 16:
+		do {
+			((uint64_t *)dst_bytes)[0] = ((const uint64_t *)src_bytes)[0];
+			((uint64_t *)dst_bytes)[1] = ((const uint64_t *)src_bytes)[1];
+			src_bytes += src_stride;
+			dst_bytes += dst_stride;
+		} while (--height);
+		break;
 
 	default:
 		do {
diff --git a/src/sna/compiler.h b/src/sna/compiler.h
index 9c1b2f1..2f5dfc7 100644
--- a/src/sna/compiler.h
+++ b/src/sna/compiler.h
@@ -66,6 +66,10 @@
 #endif
 
 #if HAS_GCC(4, 6) && defined(__OPTIMIZE__)


Reply to: