ChangeLog |68103 ------------------------ Makefile.am | 7 NEWS | 152 configure.ac | 591 debian/changelog | 48 debian/control | 16 debian/patches/series | 1 debian/rules | 21 debian/source/format | 1 debian/upstream.changelog |69797 +++++++++++++++++++++++++ man/intel.man | 34 src/Makefile.am | 78 src/brw_defines.h | 881 src/brw_structs.h | 1723 src/common.h | 73 src/compat-api.h | 4 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 | 1010 src/i915_video.c | 486 src/i965_3d.c | 443 src/i965_reg.h | 476 src/i965_render.c | 2962 - src/i965_video.c | 1939 src/intel.h | 663 src/intel_batchbuffer.c | 314 src/intel_batchbuffer.h | 226 src/intel_device.c | 90 src/intel_display.c | 2124 src/intel_dri.c | 1639 src/intel_driver.c | 1310 src/intel_driver.h | 239 src/intel_glamor.c | 254 src/intel_glamor.h | 67 src/intel_hwmc.c | 260 src/intel_hwmc.h | 75 src/intel_memory.c | 286 src/intel_module.c | 394 src/intel_options.c | 5 src/intel_options.h | 4 src/intel_uxa.c | 1420 src/intel_video.c | 1776 src/intel_video.h | 95 src/legacy/Makefile.am | 2 src/legacy/i810/Makefile.am | 4 src/legacy/i810/i810_accel.c | 1 src/legacy/i810/i810_cursor.c | 1 src/legacy/i810/i810_dga.c | 1 src/legacy/i810/i810_dri.c | 3 src/legacy/i810/i810_driver.c | 1 src/legacy/i810/i810_hwmc.c | 1 src/legacy/i810/i810_memory.c | 1 src/legacy/i810/i810_video.c | 1 src/legacy/i810/i810_wmark.c | 1 src/legacy/i810/i810_xaa.c | 1 src/legacy/i810/xvmc/Makefile.am | 4 src/sna/Makefile.am | 7 src/sna/blt.c | 10 src/sna/brw/Makefile.am | 1 src/sna/compiler.h | 10 src/sna/fb/Makefile.am | 2 src/sna/fb/fbclip.c | 2 src/sna/fb/fbclip.h | 7 src/sna/fb/fbpict.h | 1 src/sna/gen2_render.c | 3 src/sna/gen3_render.c | 61 src/sna/gen4_render.c | 47 src/sna/gen4_vertex.c | 85 src/sna/gen5_render.c | 75 src/sna/gen6_render.c | 158 src/sna/gen7_render.c | 280 src/sna/kgem.c | 675 src/sna/kgem.h | 48 src/sna/sna.h | 118 src/sna/sna_accel.c | 1695 src/sna/sna_acpi.c | 223 src/sna/sna_blt.c | 47 src/sna/sna_composite.c | 312 src/sna/sna_cpu.c | 20 src/sna/sna_cpuid.h | 86 src/sna/sna_damage.c | 10 src/sna/sna_damage.h | 13 src/sna/sna_display.c | 805 src/sna/sna_display_fake.c | 199 src/sna/sna_dri.c | 959 src/sna/sna_driver.c | 283 src/sna/sna_glyphs.c | 538 src/sna/sna_io.c | 158 src/sna/sna_render.c | 116 src/sna/sna_render.h | 11 src/sna/sna_render_inline.h | 2 src/sna/sna_stream.c | 4 src/sna/sna_threads.c | 11 src/sna/sna_tiling.c | 30 src/sna/sna_trapezoids.c | 83 src/sna/sna_vertex.c | 4 src/sna/sna_video.c | 64 src/sna/sna_video.h | 40 src/sna/sna_video_hwmc.c | 4 src/sna/sna_video_overlay.c | 118 src/sna/sna_video_sprite.c | 132 src/sna/sna_video_textured.c | 27 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 | 226 src/uxa/i830_reg.h | 805 src/uxa/i830_render.c | 877 src/uxa/i915_3d.c | 111 src/uxa/i915_3d.h | 619 src/uxa/i915_reg.h | 844 src/uxa/i915_render.c | 1011 src/uxa/i915_video.c | 487 src/uxa/i965_3d.c | 443 src/uxa/i965_reg.h | 503 src/uxa/i965_render.c | 2963 + src/uxa/i965_video.c | 1940 src/uxa/intel.h | 690 src/uxa/intel_batchbuffer.c | 315 src/uxa/intel_batchbuffer.h | 226 src/uxa/intel_display.c | 2133 src/uxa/intel_dri.c | 1649 src/uxa/intel_driver.c | 1315 src/uxa/intel_glamor.c | 255 src/uxa/intel_glamor.h | 67 src/uxa/intel_hwmc.c | 260 src/uxa/intel_memory.c | 287 src/uxa/intel_uxa.c | 1421 src/uxa/intel_video.c | 1782 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 | 24 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 | 3 test/Makefile.am | 15 test/dri2-test.c | 234 test/dri2.c | 3 test/virtual.conf | 36 tools/.gitignore | 1 tools/Makefile.am | 44 tools/intel-virtual-output.man | 27 tools/virtual.c | 2727 uxa/Makefile.am | 23 uxa/uxa-accel.c | 1296 uxa/uxa-glamor.h | 65 uxa/uxa-glyphs.c | 1053 uxa/uxa-priv.h | 440 uxa/uxa-render.c | 2074 uxa/uxa-unaccel.c | 454 uxa/uxa.c | 590 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 493 files changed, 163062 insertions(+), 150614 deletions(-)
New commits: commit 9848080b8b07cb44926b9a61f57c15673067bfa5 Author: Timo Aaltonen <tjaal...@ubuntu.com> Date: Tue Oct 1 14:36:32 2013 +0300 update the changelog diff --git a/debian/changelog b/debian/changelog index e598318..0a1167d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-intel (2:2.99.903-1) UNRELEASED; urgency=low + + * New upstream prerelease. + + -- Timo Aaltonen <tjaal...@ubuntu.com> Tue, 01 Oct 2013 14:07:22 +0300 + xserver-xorg-video-intel (2:2.21.15-1) unstable; urgency=low * New upstream release. commit 36d142153b45f4c95d606d14bbbb51d8fdec5d2e Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Sat Sep 28 18:38:12 2013 +0100 2.99.903 snapshot diff --git a/NEWS b/NEWS index f716bc6..159c67c 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,41 @@ +Snapshot 2.99.903 (2013-09-28) +============================== +Lots more stabilization work, not yet peaceful enough to christen 3.0. We +have everything ranging from build fixes for systems like Suse Linux +Enterprise Desktop that like to backport hardware enablement to ancient +packages, to fixes for hardware enabling, and some more performance tuning. + + * Fix VSync on Haswell. + https://bugs.freedesktop.org/show_bug.cgi?id=69119 + + * Disable Y-tiling on gen4 - it too frequently leads to instability. + https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1222203 + + * Disable same EDID detection based on property id - the kernel likes + to reuse ids leading to a failure to detect the right modes on a monitor + change. + + * Avoid issuing multiple DPMS requests to the same encoder (alised to + multiple connectors) to avoid upsetting Haswell and leaving the + screens blank. + + * Honour the user preferrence for the initial mode, even if they are + being silly + https://bugzilla.novell.com/show_bug.cgi?id=841696 + + * Clear the clear hint when apply DRI updates - to prevent some + screenshots from GL windows being left blank. + https://bugs.freedesktop.org/show_bug.cgi?id=69730 + + * Prevent a NULL dereference from trying to undo an non-existent buffer + https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1228677 + + * Handle out-of-memory conditions far more gracefully. If the system is + hard against the memory wall, then the kernel will start issuing + SIGBUS even for CPU mmaps. Untrapped these will cause X to die. + https://bugs.freedesktop.org/show_bug.cgi?id=67889 + + Snapshot 2.99.902 (2013-09-07) ============================== We do not condone or support Canonical in the course of action they have diff --git a/configure.ac b/configure.ac index 7f4ba46..5484c86 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-intel], - [2.99.902], + [2.99.903], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-intel]) AC_CONFIG_SRCDIR([Makefile.am]) commit 2c67e9da5fc4c47f3f67082bd4adaf80d9e7399f Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Sat Sep 28 10:13:25 2013 +0100 sna: Avoid reads from a GTT mmapped upload buffer We now allow LLC machines to also use GTT upload buffers, so we need to be cache when scanning the cache to look for suitable buffers. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/kgem.c b/src/sna/kgem.c index 2a5820c..4bd12f6 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -5658,7 +5658,7 @@ struct kgem_bo *kgem_create_buffer(struct kgem *kgem, assert(bo->mmapped); assert(bo->mmapped == MMAPPED_GTT || kgem->has_llc || bo->base.snoop); - if (!kgem->has_llc && (bo->write & ~flags) & KGEM_BUFFER_INPLACE) { + if ((bo->write & ~flags) & KGEM_BUFFER_INPLACE && !bo->base.snoop) { DBG(("%s: skip write %x buffer, need %x\n", __FUNCTION__, bo->write, flags)); continue; commit 5a5f9b2812a04721f9dbd67552a39c278cdde18b Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Sat Sep 28 08:12:22 2013 +0100 sna: OsSigHandler expects 0 on handled Returning 0 from sigtrap_handler() when we wish to fallback to the core OsSigHandler was precisely the wrong thing to do. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index fd77164..6f56a9e 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -408,7 +408,7 @@ static int sigtrap_handler(int sig) siglongjmp(sigjmp, sig); } - return 0; + return -1; } static void sigtrap_init(void) commit 2893d2b51653cc254000454ad054cd9f0afb1291 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Sep 27 19:52:30 2013 +0100 sna: Fix regression in picture extraction This is a little helper function, that just returns a bool, not the error code used by the render backends. Instead the caller tries an alternative method of extraction before giving up. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c index 385a5fd..9ae8352 100644 --- a/src/sna/gen2_render.c +++ b/src/sna/gen2_render.c @@ -264,6 +264,8 @@ gen2_emit_texture(struct sna *sna, uint32_t texcoordtype; uint32_t filter; + assert(channel->bo); + if (channel->is_affine) texcoordtype = TEXCOORDTYPE_CARTESIAN; else @@ -2569,6 +2571,7 @@ gen2_render_composite_spans(struct sna *sna, case 1: break; } + assert(tmp->base.src.bo || tmp->base.src.is_solid); tmp->prim_emit = gen2_emit_composite_spans_primitive; tmp->base.floats_per_vertex = 3; diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index a009d3e..00a65a9 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -1148,8 +1148,8 @@ can_flip(struct sna * sna, pixmap = get_window_pixmap(win); if (pixmap != sna->front) { - DBG(("%s: no, window is not attached to the front buffer\n", - __FUNCTION__)); + DBG(("%s: no, window (pixmap=%ld) is not attached to the front buffer (pixmap=%ld)\n", + __FUNCTION__, pixmap->drawable.serialNumber, sna->front->drawable.serialNumber)); return false; } diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c index 73d53ba..c023629 100644 --- a/src/sna/sna_render.c +++ b/src/sna/sna_render.c @@ -897,8 +897,10 @@ sna_render_pixmap_partial(struct sna *sna, DBG(("%s (%d, %d)x(%d, %d), pitch %d, max %d\n", __FUNCTION__, x, y, w, h, bo->pitch, sna->render.max_3d_pitch)); - if (bo->pitch > sna->render.max_3d_pitch) + if (bo->pitch > sna->render.max_3d_pitch) { + DBG(("%s: pitch too great %d > %d\n", __FUNCTION__, bo->pitch, sna->render.max_3d_pitch)); return false; + } box.x1 = x; box.y1 = y; @@ -981,7 +983,7 @@ sna_render_pixmap_partial(struct sna *sna, return true; } -static int +static bool sna_render_picture_partial(struct sna *sna, PicturePtr picture, struct sna_composite_channel *channel, @@ -1033,14 +1035,14 @@ sna_render_picture_partial(struct sna *sna, priv = sna_pixmap_force_to_gpu(pixmap, MOVE_READ | MOVE_SOURCE_HINT); if (priv == NULL) - return 0; + return false; bo = priv->gpu_bo; } if (bo->pitch > sna->render.max_3d_pitch) { DBG(("%s: pitch too great %d > %d\n", __FUNCTION__, bo->pitch, sna->render.max_3d_pitch)); - return -1; + return false; } if (bo->tiling) { @@ -1076,14 +1078,14 @@ sna_render_picture_partial(struct sna *sna, if (w <= 0 || h <= 0 || w > sna->render.max_3d_size || h > sna->render.max_3d_size) - return 0; + return false; /* How many tiles across are we? */ channel->bo = kgem_create_proxy(&sna->kgem, bo, box.y1 * bo->pitch + offset, h * bo->pitch); if (channel->bo == NULL) - return 0; + return false; if (channel->transform) { memset(&channel->embedded_transform, @@ -1109,7 +1111,7 @@ sna_render_picture_partial(struct sna *sna, channel->scale[1] = 1.f/h; channel->width = w; channel->height = h; - return 1; + return true; } int commit 4c9265ebff496a4d4f974768e264bd65babff97e Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Sep 27 10:46:40 2013 +0100 sna: Only flush the scanout if we successfully upload it to the GPU Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 9a6f50b..fd77164 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -15476,9 +15476,9 @@ static void sna_accel_flush(struct sna *sna) sna_accel_disarm_timer(sna, FLUSH_TIMER); sna->kgem.busy = busy; - if (priv) { - sna_pixmap_force_to_gpu(priv->pixmap, - MOVE_READ | MOVE_ASYNC_HINT); + if (priv && + sna_pixmap_force_to_gpu(priv->pixmap, + MOVE_READ | MOVE_ASYNC_HINT)) { kgem_scanout_flush(&sna->kgem, priv->gpu_bo); assert(!priv->cpu); } commit 47ac44159c0e3ea0c84510f1d58ac140344b5e69 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Sep 27 10:19:47 2013 +0100 sna: Make sure we do not try to upload indirectly if the GPU is wedged Otherwise we trigger assertions and may end up with corruption. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c index d66668c..0988d3d 100644 --- a/src/sna/sna_io.c +++ b/src/sna/sna_io.c @@ -729,6 +729,9 @@ bool sna_write_boxes(struct sna *sna, PixmapPtr dst, box, nbox)) return true; + if (wedged(sna)) + return false; + can_blt = kgem_bo_can_blt(kgem, dst_bo) && (box[0].x2 - box[0].x1) * dst->drawable.bitsPerPixel < 8 * (MAXSHORT - 4); extents = box[0]; commit 7206d0bb916fa69690a5f4fdcc5e7e81787c6c16 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Sep 27 10:01:34 2013 +0100 sna: Disable the promotion of large bo as flush We can rely on our aperture and idleness tracking to appropriate flush batches. Marking the large bo as flush interferes with the treatment of flush for externally named bo, such as DRI/PRIME. Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/kgem.c b/src/sna/kgem.c index 4a82d4a..2a5820c 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -4019,7 +4019,6 @@ struct kgem_bo *kgem_create_2d(struct kgem *kgem, assert(bo->pitch*kgem_aligned_height(kgem, height, bo->tiling) <= kgem_bo_size(bo)); assert_tiling(kgem, bo); bo->refcnt = 1; - bo->flush = true; return bo; } @@ -4387,12 +4386,6 @@ create: return NULL; } - if (bucket >= NUM_CACHE_BUCKETS) { - DBG(("%s: marking large bo for automatic flushing\n", - __FUNCTION__)); - bo->flush = true; - } - bo->unique_id = kgem_get_unique_id(kgem); if (tiling == I915_TILING_NONE || gem_set_tiling(kgem->fd, handle, tiling, pitch)) { commit 6ac1ac98c28d38b539f465c5ac488d879f1c2ab6 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Thu Sep 26 23:23:47 2013 +0000 sna: Catch SIGBUS to prevent X death We know that when we access either a CPU or GTT mmap we are vulernable to receiving a SIGBUS. In fact, we can catch these and abort the operation preventing X and all of its clients from randomly dieing. This helps for instance if you try and use a 1GiB frontbuffer on a 2GiB machine... For complete protection, we also need to catch signals for all GTT maps, such as VBO and staging buffers. (TBD) Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> diff --git a/src/sna/sna.h b/src/sna/sna.h index d389026..f7c5315 100644 --- a/src/sna/sna.h +++ b/src/sna/sna.h @@ -69,6 +69,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <libudev.h> #endif +#include <signal.h> +#include <setjmp.h> + #include "compiler.h" #if HAS_DEBUG_FULL @@ -973,4 +976,16 @@ void sna_image_composite(pixman_op_t op, uint16_t width, uint16_t height); +extern jmp_buf sigjmp; +extern volatile sig_atomic_t sigtrap; + +#define sigtrap_assert() assert(sigtrap == 0) +#define sigtrap_get() sigsetjmp(sigjmp, ++sigtrap) + +static inline void sigtrap_put(void) +{ + --sigtrap; + sigtrap_assert(); +} + #endif /* _SNA_H */ diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index d7a0828..9a6f50b 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -397,6 +397,25 @@ static void assert_pixmap_damage(PixmapPtr p) #endif #endif +jmp_buf sigjmp; +volatile sig_atomic_t sigtrap; + +static int sigtrap_handler(int sig) +{ + if (sigtrap) { + /* XXX rate-limited squawk? */ + sigtrap = 0; + siglongjmp(sigjmp, sig); + } + + return 0; +} + +static void sigtrap_init(void) +{ + OsRegisterSigWrapper(sigtrap_handler); +} + inline static bool sna_fill_init_blt(struct sna_fill_op *fill, struct sna *sna, @@ -1837,6 +1856,7 @@ _sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned int flags) assert(flags & (MOVE_READ | MOVE_WRITE)); assert_pixmap_damage(pixmap); + sigtrap_assert(); priv = sna_pixmap(pixmap); if (priv == NULL) { @@ -2126,6 +2146,7 @@ done: assert(pixmap->devKind); assert_pixmap_damage(pixmap); assert(has_coherent_ptr(sna, sna_pixmap(pixmap))); + sigtrap_assert(); return true; } @@ -2256,6 +2277,7 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable, assert_drawable_contains_box(drawable, ®ion->extents); } assert(flags & (MOVE_WRITE | MOVE_READ)); + sigtrap_assert(); if (box_empty(®ion->extents)) return true; @@ -2744,6 +2766,7 @@ out: assert(pixmap->devKind); assert_pixmap_damage(pixmap); assert(has_coherent_ptr(sna, sna_pixmap(pixmap))); + sigtrap_assert(); return true; } @@ -2766,6 +2789,8 @@ sna_drawable_move_to_cpu(DrawablePtr drawable, unsigned flags) drawable->width, drawable->height, dx, dy, flags)); + sigtrap_assert(); + region.extents.x1 = drawable->x + dx; region.extents.y1 = drawable->y + dy; region.extents.x2 = region.extents.x1 + drawable->width; @@ -2841,6 +2866,7 @@ static inline struct sna_pixmap * sna_pixmap_mark_active(struct sna *sna, struct sna_pixmap *priv) { assert(priv->gpu_bo); + sigtrap_assert(); DBG(("%s: pixmap=%ld, handle=%u\n", __FUNCTION__, priv->pixmap->drawable.serialNumber, priv->gpu_bo->handle)); @@ -2889,6 +2915,8 @@ sna_pixmap_move_area_to_gpu(PixmapPtr pixmap, const BoxRec *box, unsigned int fl __FUNCTION__, pixmap->drawable.serialNumber, box->x1, box->y1, box->x2, box->y2, flags)); + sigtrap_assert(); + priv = __sna_pixmap_for_gpu(sna, pixmap, flags); if (priv == NULL) return NULL; @@ -3606,6 +3634,8 @@ sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags) pixmap->usage_hint, flags)); + sigtrap_assert(); + priv = __sna_pixmap_for_gpu(sna, pixmap, flags); if (priv == NULL) return NULL; @@ -3830,6 +3860,8 @@ static bool must_check sna_gc_move_to_cpu(GCPtr gc, DBG(("%s, changes=%lx\n", __FUNCTION__, changes)); + sigtrap_assert(); + assert(gc->ops == (GCOps *)&sna_gc_ops); gc->ops = (GCOps *)&sna_gc_ops__cpu; @@ -4091,12 +4123,16 @@ try_upload_blt(PixmapPtr pixmap, RegionRec *region, __FUNCTION__, x, y, w, h, RegionNumRects(region))); - ok = sna->render.copy_boxes(sna, GXcopy, - pixmap, src_bo, -x, -y, -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1vr0rg-000231...@vasks.debian.org