xserver-xorg-video-intel: Changes to 'ubuntu'
.gitignore | 1
ChangeLog | 493 +++++++++
NEWS | 29
configure.ac | 3
debian/changelog | 13
src/brw_defines.h | 7
src/brw_structs.h | 6
src/i965_3d.c | 7
src/i965_reg.h | 4
src/i965_render.c | 16
src/i965_video.c | 24
src/intel_dri.c | 29
src/intel_driver.c | 24
src/intel_driver.h | 8
src/intel_module.c | 17
src/intel_options.c | 1
src/intel_options.h | 1
src/legacy/i810/i810_driver.c | 2
src/sna/Makefile.am | 4
src/sna/brw/Makefile.am | 59 +
src/sna/brw/brw.h | 17
src/sna/brw/brw_disasm.c | 1101 ++++++++++++++++++++
src/sna/brw/brw_eu.c | 150 ++
src/sna/brw/brw_eu.h | 2266 ++++++++++++++++++++++++++++++++++++++++++
src/sna/brw/brw_eu_debug.c | 95 +
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/gen4_render.c | 409 ++-----
src/sna/gen4_render.h | 13
src/sna/gen5_render.c | 249 +---
src/sna/gen5_render.h | 13
src/sna/gen6_render.c | 471 ++++----
src/sna/gen6_render.h | 32
src/sna/gen7_render.c | 510 ++++-----
src/sna/gen7_render.h | 15
src/sna/kgem.c | 21
src/sna/sna.h | 64 +
src/sna/sna_accel.c | 120 --
src/sna/sna_composite.c | 87 +
src/sna/sna_display.c | 17
src/sna/sna_driver.c | 18
src/sna/sna_glyphs.c | 6
src/sna/sna_render.h | 42
src/sna/sna_stream.c | 46
52 files changed, 9079 insertions(+), 1207 deletions(-)
New commits:
commit 7aaf20d53215a943b846b3499a3e60fb07b09777
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Wed Aug 8 12:05:57 2012 +0300
push to quantal-proposed
diff --git a/debian/changelog b/debian/changelog
index 8462da8..6d72f19 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-xserver-xorg-video-intel (2:2.20.3-0ubuntu1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.20.3-0ubuntu1) quantal-proposed; urgency=low
* Merge from unreleased debian experimental git.
- -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 08 Aug 2012 12:03:12 +0300
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 08 Aug 2012 12:03:53 +0300
xserver-xorg-video-intel (2:2.20.3-1) UNRELEASED; urgency=low
commit e000c85e9e5c1f78a4dbd6d393a012b4f82d3c1d
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Wed Aug 8 12:03:51 2012 +0300
update the changelog
diff --git a/debian/changelog b/debian/changelog
index c64fa5a..8462da8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.20.3-0ubuntu1) UNRELEASED; urgency=low
+
+ * Merge from unreleased debian experimental git.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 08 Aug 2012 12:03:12 +0300
+
xserver-xorg-video-intel (2:2.20.3-1) UNRELEASED; urgency=low
* New upstream release.
commit 3ca6b61c818c4c4a4a2e519cdb91aa2000d00975
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Wed Aug 8 09:46:23 2012 +0300
update the changelogs
diff --git a/ChangeLog b/ChangeLog
index 588e46d..8466e7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,496 @@
+commit 5833ef173a01afb710acf10e806b83c5ca6efc09
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat Aug 4 09:31:41 2012 +0100
+
+ 2.20.3 release
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 036b90f099af21e60fb4c3684616daf1927f705e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Aug 3 21:41:59 2012 +0100
+
+ sna/gen7: Correct number of texture coordinates used for video
+
+ Fixes regresion from
+
+ commit 33c028f8be829caa4fdb9416ff177dc71f24b68e
+ Author: Chris Wilson <chris@chris-wilson.co.uk>
+ Date: Wed Aug 1 01:17:50 2012 +0100
+
+ sna/gen6+: Reduce floats-per-vertex for spans
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 05dcc5f1699ba90fc14c50882e8d4be89bc4a4f9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Aug 3 15:08:45 2012 +0100
+
+ Pass the chipset info through driverPrivate rather than a global pointer
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2b3f4ca33a00440a7005fef69099f8dbaddbbad1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Aug 3 14:27:51 2012 +0100
+
+ Unexport intel_chipsets
+
+ Only used by the core module code, so make it static.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5ff749727d3590368806508ac0d0fa8efd1d1d51
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jul 25 22:21:29 2012 +0100
+
+ sna/gen7: Add constant variations and hookup a basic GT descriptor for Haswell
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit cd028cad3dc9b059a3d83b818d581f86e16ec317
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jul 26 13:17:11 2012 +0100
+
+ sna: Limit the batch size on all gen7 variants
+
+ Seems the limit on the surface state size is common across the family
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4cd9ec9d404d934268952a1058afa07741b09efe
+Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri May 4 18:26:46 2012 +0200
+
+ uxa: fix 3DSTATE_PS to fill in number of samples for Haswell
+
+ The sample mask value must match what is set for 3DSTATE_SAMPLE_MASK,
+ through gen6_upload_invariant_states().
+
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
+
+commit 412668464cf9505629eac20001701af3402dc6e8
+Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri May 4 17:55:10 2012 +0200
+
+ uxa: set "Shader Channel Select" fields in surface state for Haswell
+
+ For normal behaviour, each Shader Channel Select should be set to the
+ value indicating that same channel. i.e. Shader Channel Select Red is
+ set to SCS_RED, Shader Channel Select Green is set to SCS_GREEN, etc.
+
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
+
+commit a47ba68996f117fabcb601d35bcc5f99cbcd6122
+Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri May 4 17:17:22 2012 +0200
+
+ uxa: fix max PS threads shift value for Haswell
+
+ The maximum number of threads is now a 9-bit value. Thus, one more bit
+ towards LSB was re-used. i.e. bit position is now 23 instead of 24 on
+ Ivy Bridge.
+
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
+
+commit ce4421e175ceb9259208c7c223af8d66282c3db3
+Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri May 4 17:09:19 2012 +0200
+
+ uxa: use at least 64 URB entries for Haswell
+
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
+
+commit 8c880aa34c522b0d67cbb932771f00c947d00dec
+Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri May 4 17:43:19 2012 +0200
+
+ uxa: add IS_HSW() macro to distinguish Haswell from Ivybridge
+
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+commit 0c0d1d956a8ba37d9e6f4a5e4f52018c8ce498e5
+Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri Aug 3 12:03:00 2012 +0100
+
+ Introduce a chipset identifier for Haswell (Ivybridge successor)
+
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+commit 146959dd5ef28384a3db4fce4bf7840f2b3ec58c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 23:43:15 2012 +0100
+
+ sna: Drop the clear flag as we discard the GPU damage
+
+ Hopefully only to keep the sanity checks happy...
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7404e3085b2ee36fa24f77a02d156b4b1d2dff60
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 23:37:35 2012 +0100
+
+ sna: Ensure we only mark a clear for a fill on the GPU bo
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ca46d1c7a18596ea9fe2b0577ccf1d110e3e42ac
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 20:20:29 2012 +0100
+
+ sna/gen7: Prefer the BLT for self-copies
+
+ Looking at the test results for a third time, gives the edge to the BLT
+ again.
+
+commit e4a3cd3d16447b5d83d1c8c63c342f1240935267
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 17:37:33 2012 +0100
+
+ sna: Add validation of the clear flag to pixmap debugging
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit eaeda34bef711cc566f51dee092a19a3c4ac1a16
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 16:23:05 2012 +0100
+
+ sna: Fix computation of st values for SIMD8 dispatch
+
+ Fixes regression with enabling 8-pixels.
+
+ Reported-by: Mehran Kholdi <semekh.dev@gmail.com>
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53044
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 55231eca818c82620c0146384b19b5d5659f6cd6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 16:22:23 2012 +0100
+
+ sna/gen6: Install a fallback 16-pixel shader
+
+ In case the DBG options leave no shader compiled, make sure we always
+ supply one.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4e79c1fef064ce68914eb644edd7f588be3d7300
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 15:58:43 2012 +0100
+
+ Revert "sna/gen7: Prefer the BLT for self-copies"
+
+ This reverts commit 89e75dbcb6749bde7587ecc08abed276c255e7f9.
+
+ Having removed the forced stall for a RENDER self-copy there is no
+ longer a need to encourage ring switching.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 85cef78a40c6a7a0254f8fba685f224eac6038e1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 13:39:36 2012 +0100
+
+ sna/gen7: Simplify the force-stall detection
+
+ After reducing the number of conditions where we think we need to force
+ the stall on the results, we can then simplify the code to detect
+ that remaining case.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9391a2c71f020541a2a62ae68eadd486216a38df
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 12:50:32 2012 +0100
+
+ sna/gen7: Only force a stall for a dirty target if also used as a blend source
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0a4bb8663b9fa9b39d13bfb49aea30f2aaecce78
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 11:19:27 2012 +0100
+
+ sna/gen4: Flush not required between fill vertices, only nomaskcomposite
+
+ A small breakthrough... Still need to flush the primitive between state
+ changes though.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 33c028f8be829caa4fdb9416ff177dc71f24b68e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 01:17:50 2012 +0100
+
+ sna/gen6+: Reduce floats-per-vertex for spans
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9b2873d3d97b6780d878bd9b821fba0302470f9f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Aug 1 00:01:15 2012 +0100
+
+ sna/gen4+: Implement an opacity shader
+
+ Avoid the cumbersome lookup through the alpha gradient texture and
+ simply multiply the incoming opacity value. The next step will be to
+ reduce the number of floats required per vertex.
+
+ Now that we have removed the primary user of the alpha solid cache, it
+ may be time to retire that as well.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fd3a1236051265fab700aad689a171de47d7338f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jul 31 10:20:51 2012 +0100
+
+ sna/gen6: Enable 8 pixel dispatch
+
+ This gives a small performance increase when operating with rectangles,
+ which is reasonably frequent.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8922b804bc9ed27957c81f7cda4812ab4ecbd4de
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jul 31 10:20:51 2012 +0100
+
+ sna/gen7: Enable 8 pixel dispatch
+
+ This gives a small performance increase when operating with rectangles,
+ which is reasonably frequent.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 492093d04b1486dd34aafe2f109a77ddeb836f18
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jul 31 18:39:17 2012 +0100
+
+ sna: Generate shaders for SNB+ 8-pixel dispatch
+
+ Not ideal yet, sampling an alpha-only surface using SIMD8 only seems to
+ ever return 0...
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6a5ed88f9fab654c9c11c566b841d42150d26c5d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jul 30 17:08:20 2012 +0100
+
+ sna/gen4: Tidy debugging code
+
+ Cluster the ifdefs together in the initialisation code.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 46ec9b0ed55d0fcade40f92206e59c02e402d870
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jul 31 17:41:34 2012 +0100
+
+ sna: Update DPMS mode on CRTC after forcing the outputs on
+
+ If we forcibly update the outputs to be on, then the core will not issue
+ its on DPMS event and we miss out on updating the CRTC bookkeeping in
+ sna_crtc_dpms(). So we need to update the flag on the CRTC as we
+ manipulate the outputs during modesetting.
+
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=52142
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8f166d26b8a93592939068c5a8d160981c724cfd
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jul 31 11:58:24 2012 +0100
+
+ sna: Be more careful with damage reduction during CompositeRectangles
+
+ We actually need to force DAMAGE_ALL in case we are promoting the GPU
+ pixmap.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e6cb5d93eaa01e7f4763f797bba341f3cc481d98
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jul 30 11:14:58 2012 +0100
+
+ sna: Avoid overlapping gpu/cpu damage with IGNORE_CPU
+
+ We cannot simply ignore the presence of CPU damage with IGNORE_CPU but
+ must remember to discard it.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c9805ba98775bb1e969ff59c7044fe1a49673ca8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 18:19:37 2012 +0100
+
+ sna: Export sna_drawable_use_bo() to select target for FillRectangles
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 89e75dbcb6749bde7587ecc08abed276c255e7f9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 15:36:44 2012 +0100
+
+ sna/gen7: Prefer the BLT for self-copies
+
+ If we are copying to ourselves, we have to regularly flush the render
+ cache at which point the RENDER pipeline is slower than the BLT
+ pipeline.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 33d6afda6cec124494f49b74152768da8a3fbdb5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 09:51:16 2012 +0100
+
+ sna/gen7: Compile basic kernels at runtime
+
+commit eba8d3b3e14a5a16cea6cb8a89f12d3feb8f3d99
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 09:51:16 2012 +0100
+
+ sna/gen6: Compile basic kernels at runtime
+
+commit 8515ec90405912b3d776defcd6e81b1b5f699f1e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 09:51:16 2012 +0100
+
+ sna/gen5: Compile basic kernels at runtime
+
+commit 00c08b1842c9493ca918a868202946b2e7150de0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 09:51:16 2012 +0100
+
+ sna/gen4: Compile basic kernels at runtime
+
+commit 7c9dbc980b760e0053d83ca2d7cb147613285680
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 09:50:39 2012 +0100
+
+ sna: Assemble SF and WM kernels using brw
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8ebafa0493c0fa08ab9d80eeb1191b7560dc0863
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Sep 21 19:06:07 2011 +0100
+
+ sna: Add the brw assembler
+
+ In order to construct programs on the fly to cater for the combinatorial
+ number of possible shaders, we need an assembler, whilst also taking the
+ opportunity to remove some of the inefficiencies and mistakes from the
+ current shaders.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ca9d9c02a260bf7930e04bf64e93cc051893c04e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat Jul 28 23:08:07 2012 +0100
+
+ sna: Prefer not to create a GPU bo without RENDER acceleration
+
+ Unless that bo happens to be used on a render chain to the scanout.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit eefbe5b6038424566faf7333bb09764b050dd6b4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jul 30 10:56:29 2012 +0100
+
+ sna: Debug option to test migration of inactive pixmaps
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d3499cacb59f19b5a3439a630ffbc3e105a27b75
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 23:00:15 2012 +0100
+
+ sna: Assert that we never attempt to submit a batch whilst wedged
+
+ We should be asserting at the point that we insert the invalid operation
+ into the batch, but asserting upon submitting the batch is a useful
+ failsafe.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit cb4d789f98e6e05ec29e5242887018c7450ddf10
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 22:55:44 2012 +0100
+
+ sna: Disable the warning for a hung GPU is we manually set wedged
+
+ Only warn about a hung GPU if we encounter an EIO during operation, but
+ don't warn if we set wedged during initialisation based on unsupported
+ hw or user request.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0fd680ff52f7ce0a101c617dfb8997c4e228e3ad
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jul 29 22:51:26 2012 +0100
+
+ Don't disable acceleration on 830/845g by default
+
+ Run the risk of a GPU hang (it shouldn't endanger the entire machine
+ normally) and let the user elect to disable it through
+
+ Option "NoAccel" "true"
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3d45f0affe263985f440e144203ed7cbb3803696
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat Jul 28 18:21:08 2012 +0100
+
+ sna: Honour the Option "DRI"
+
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=52624
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fb385745a2347f8966765567e78229d67ddc8d60
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jul 27 13:24:04 2012 +0100
+
+ sna/gen4: Move the common vertex_offset==0 check into the flush()
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 73ddd8b0decee444a57f10a11f05deebba686649
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jul 27 12:43:00 2012 +0100
+
+ sna/gen4: Further refinement to the GT allocation
+
+ Still hunting for why gen4 fails utterly.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 717823a9f77cfedc50e03c5c31c1da44a396b561
+Author: Zhigang Gong <zhigang.gong@linux.intel.com>
+Date: Fri Jul 27 18:12:26 2012 +0800
+
+ uxa/dri (glamor): Use exchange buffer in glamor fixup.
+
+ The previous implementation is to create a new textured
+ pixmap based on the newly created pixmap's buffer object.
+
+ This is not efficient, as we already created it when we
+ call CreatePixmap. We can just exchange the underlying
+ texture/image buffers by calling intel_glamor_exchange_buffers().
+
+ And this commit seems also fix a weird rendering problem
+ when working with compiz/mutter.
+
+ Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
commit a8ee1406244d8b8399bf933d6b61bfd14374b5f9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Jul 27 09:07:16 2012 +0100
diff --git a/debian/changelog b/debian/changelog
index 62c5fa0..58c777e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.20.3-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 08 Aug 2012 09:45:51 +0300
+
xserver-xorg-video-intel (2:2.20.2-1) experimental; urgency=low
[ Maarten Lankhorst ]
commit 5833ef173a01afb710acf10e806b83c5ca6efc09
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat Aug 4 09:31:41 2012 +0100
2.20.3 release
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/NEWS b/NEWS
index 7e267a6..5a9c495 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,32 @@
+Release 2.20.3 (2012-08-04)
+===========================
+Just a minor bugfix for gen4 chipsets (965gm, gm45 and friends) that
+crept into 2.20.2. As an added bonus, the pessimistic workaround for a
+GPU hang on gen4 has been relaxed and the shaders have been overhauled
+which should pave the way to eliminating the last of the uncommon CPU
+operations, along with immediately realising a small perforamnce
+improvement.
+
+Bugs fixed since 2.20.2:
+
+ * Update DPMS bookkeeping after modeset
+ https://bugs.freedesktop.org/show_bug.cgi?id=52142
+
+ * Avoid overlapping gpu/cpu damage after ignoring cpu damage in the
+ consideration of placement for the operation.
+
+ * Enable acceleration by default on 830gm/845g. The GMCH on this pair
+ of chipsets is notoriously incoherent, so the GPU is almost certainly
+ going to hang at some point, though unlikely to hang the system and
+ should automatically disable acceleration (and thence behave
+ identically as if the acceleration was disabled from the start).
+ Option "NoAccel" can be used to disable all 2D acceleration and
+ Option "DRI" can be used to disable all 3D acceleration.
+ https://bugs.freedesktop.org/show_bug.cgi?id=52624
+
+ * Fix vertex bookkeeping for gen4 that was causing corruption in the
+ command stream.
+
Release 2.20.2 (2012-07-27)
===========================
For the last 9 months, since 2.16.901, we have been shipping a driver that
diff --git a/configure.ac b/configure.ac
index 2a8d08b..7ffbb75 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-intel],
- [2.20.2],
+ [2.20.3],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-intel])
AC_CONFIG_SRCDIR([Makefile.am])
commit 036b90f099af21e60fb4c3684616daf1927f705e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Aug 3 21:41:59 2012 +0100
sna/gen7: Correct number of texture coordinates used for video
Fixes regresion from
commit 33c028f8be829caa4fdb9416ff177dc71f24b68e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Aug 1 01:17:50 2012 +0100
sna/gen6+: Reduce floats-per-vertex for spans
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index b4a9223..9ef5e17 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -2086,7 +2086,7 @@ gen7_render_video(struct sna *sna,
is_planar_fourcc(frame->id) ?
GEN7_WM_KERNEL_VIDEO_PLANAR :
GEN7_WM_KERNEL_VIDEO_PACKED,
- 1);
+ 2);
tmp.priv = frame;
kgem_set_mode(&sna->kgem, KGEM_RENDER);
commit 05dcc5f1699ba90fc14c50882e8d4be89bc4a4f9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Aug 3 15:08:45 2012 +0100
Pass the chipset info through driverPrivate rather than a global pointer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/src/intel_driver.c b/src/intel_driver.c
index 0e27c48..1ef06fb 100644
--- a/src/intel_driver.c
+++ b/src/intel_driver.c
@@ -186,7 +186,7 @@ static void PreInitCleanup(ScrnInfoPtr scrn)
static void intel_check_chipset_option(ScrnInfoPtr scrn)
{
intel_screen_private *intel = intel_get_screen_private(scrn);
- intel->info = intel_detect_chipset(scrn, intel->pEnt, intel->PciInfo);
+ intel_detect_chipset(scrn, intel->pEnt, intel->PciInfo);
}
static Bool I830GetEarlyOptions(ScrnInfoPtr scrn)
@@ -458,14 +458,15 @@ static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
if (flags & PROBE_DETECT)
return TRUE;
- intel = intel_get_screen_private(scrn);
- if (intel == NULL) {
- intel = xnfcalloc(sizeof(intel_screen_private), 1);
+ if (((uintptr_t)scrn->driverPrivate) & 1) {
+ intel = xnfcalloc(sizeof(*intel), 1);
if (intel == NULL)
return FALSE;
+ intel->info = (void *)((uintptr_t)scrn->driverPrivate & ~1);
scrn->driverPrivate = intel;
}
+ intel = intel_get_screen_private(scrn);
intel->scrn = scrn;
intel->pEnt = pEnt;
diff --git a/src/intel_driver.h b/src/intel_driver.h
index d760cb4..882d889 100644
--- a/src/intel_driver.h
+++ b/src/intel_driver.h
@@ -238,9 +238,9 @@ struct intel_device_info {
int gen;
};
-const struct intel_device_info *
-intel_detect_chipset(ScrnInfoPtr scrn,
- EntityInfoPtr ent, struct pci_device *pci);
+void intel_detect_chipset(ScrnInfoPtr scrn,
+ EntityInfoPtr ent,
+ struct pci_device *pci);
#endif /* INTEL_DRIVER_H */
diff --git a/src/intel_module.c b/src/intel_module.c
index f1d9fc0..ae19f75 100644
--- a/src/intel_module.c
+++ b/src/intel_module.c
@@ -44,8 +44,6 @@
#include "legacy/legacy.h"
#include "sna/sna_module.h"
-static struct intel_device_info *chipset_info;
-
static const struct intel_device_info intel_generic_info = {
.gen = -1,
};
@@ -227,9 +225,10 @@ static const struct pci_id_match intel_device_match[] = {
{ 0, 0, 0 },
};
-const struct intel_device_info *
+void
intel_detect_chipset(ScrnInfoPtr scrn,
- EntityInfoPtr ent, struct pci_device *pci)
+ EntityInfoPtr ent,
+ struct pci_device *pci)
{
MessageType from = X_PROBED;
const char *name = NULL;
@@ -258,7 +257,6 @@ intel_detect_chipset(ScrnInfoPtr scrn,
}
scrn->chipset = name;
- return chipset_info;
}
/*
@@ -368,8 +366,6 @@ static Bool intel_pci_probe(DriverPtr driver,
PciChipsets intel_pci_chipsets[NUM_CHIPSETS];
unsigned i;
- chipset_info = (void *)match_data;
-
if (!has_kernel_mode_setting(device)) {
#if KMS_ONLY
return FALSE;
@@ -404,6 +400,7 @@ static Bool intel_pci_probe(DriverPtr driver,
scrn->driverVersion = INTEL_VERSION;
scrn->driverName = INTEL_DRIVER_NAME;
scrn->name = INTEL_NAME;
+ scrn->driverPrivate = (void *)(match_data | 1);
scrn->Probe = NULL;
#if !KMS_ONLY
diff --git a/src/legacy/i810/i810_driver.c b/src/legacy/i810/i810_driver.c
index 949fd27..fc6369e 100644
--- a/src/legacy/i810/i810_driver.c
+++ b/src/legacy/i810/i810_driver.c
@@ -152,7 +152,7 @@ static int i810_pitches[] = {
static Bool
I810GetRec(ScrnInfoPtr scrn)
{
- if (scrn->driverPrivate)
+ if (((uintptr_t)scrn->driverPrivate & 1) == 0)
return TRUE;
scrn->driverPrivate = xnfcalloc(sizeof(I810Rec), 1);
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index bd31996..2ccad59 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -383,14 +383,15 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
sna_selftest();
- sna = to_sna(scrn);
- if (sna == NULL) {
+ if (((uintptr_t)scrn->driverPrivate) & 1) {
sna = xnfcalloc(sizeof(struct sna), 1);
if (sna == NULL)
return FALSE;
+ sna->info = (void *)((uintptr_t)scrn->driverPrivate & ~1);
scrn->driverPrivate = sna;
}
+ sna = to_sna(scrn);
sna->scrn = scrn;
sna->pEnt = pEnt;
@@ -438,7 +439,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
if (sna->Options == NULL)
return FALSE;
- sna->info = intel_detect_chipset(scrn, sna->pEnt, sna->PciInfo);
+ intel_detect_chipset(scrn, sna->pEnt, sna->PciInfo);
kgem_init(&sna->kgem, fd, sna->PciInfo, sna->info->gen);
if (xf86ReturnOptValBool(sna->Options, OPTION_ACCEL_DISABLE, FALSE)) {
commit 2b3f4ca33a00440a7005fef69099f8dbaddbbad1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Aug 3 14:27:51 2012 +0100
Unexport intel_chipsets
Only used by the core module code, so make it static.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/src/intel_driver.h b/src/intel_driver.h
index d88f225..d760cb4 100644
--- a/src/intel_driver.h
+++ b/src/intel_driver.h
@@ -234,7 +234,6 @@
#define SUPPORTS_YTILING(pI810) (INTEL_INFO(intel)->gen >= 40)
#define HAS_BLT(pI810) (INTEL_INFO(intel)->gen >= 60)
-extern SymTabRec *intel_chipsets;
struct intel_device_info {
int gen;
};
diff --git a/src/intel_module.c b/src/intel_module.c
index 7640916..f1d9fc0 100644
--- a/src/intel_module.c
+++ b/src/intel_module.c
@@ -155,7 +155,7 @@ static const SymTabRec _intel_chipsets[] = {
};
#define NUM_CHIPSETS (sizeof(_intel_chipsets) / sizeof(_intel_chipsets[0]))
-SymTabRec *intel_chipsets = (SymTabRec *) _intel_chipsets;
+static SymTabRec *intel_chipsets = (SymTabRec *) _intel_chipsets;
#define INTEL_DEVICE_MATCH(d,i) \
{ 0x8086, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0x3 << 16, 0xff << 16, (intptr_t)(i) }
commit 5ff749727d3590368806508ac0d0fa8efd1d1d51
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jul 25 22:21:29 2012 +0100
sna/gen7: Add constant variations and hookup a basic GT descriptor for Haswell
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 193de00..b4a9223 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -83,20 +83,29 @@ struct gt_info {
} urb;
};
-static const struct gt_info gt1_info = {
+static const struct gt_info ivb_gt1_info = {
.max_vs_threads = 36,
.max_gs_threads = 36,
- .max_wm_threads = (48-1) << GEN7_PS_MAX_THREADS_SHIFT,
+ .max_wm_threads = (48-1) << IVB_PS_MAX_THREADS_SHIFT,
.urb = { 128, 512, 192 },
};
-static const struct gt_info gt2_info = {
+static const struct gt_info ivb_gt2_info = {
.max_vs_threads = 128,
.max_gs_threads = 128,
- .max_wm_threads = (172-1) << GEN7_PS_MAX_THREADS_SHIFT,
+ .max_wm_threads = (172-1) << IVB_PS_MAX_THREADS_SHIFT,
.urb = { 256, 704, 320 },
};
+static const struct gt_info hsw_gt_info = {
+ .max_vs_threads = 8,
+ .max_gs_threads = 8,
+ .max_wm_threads =
+ (8 - 1) << HSW_PS_MAX_THREADS_SHIFT |
+ 1 << HSW_PS_SAMPLE_MASK_SHIFT,
+ .urb = { 128, 64, 64 },
+};
+
static const uint32_t ps_kernel_packed[][4] = {
#include "exa_wm_src_affine.g7b"
#include "exa_wm_src_sample_argb.g7b"
@@ -1363,6 +1372,8 @@ gen7_bind_bo(struct sna *sna,
ss[5] = 0;
ss[6] = 0;
ss[7] = 0;
+ if (sna->kgem.gen == 75)
+ ss[7] |= HSW_SURFACE_SWIZZLE(RED, GREEN, BLUE, ALPHA);
kgem_bo_set_binding(bo, format, offset);
@@ -4234,9 +4245,14 @@ static bool gen7_render_setup(struct sna *sna)
struct gen7_sampler_state *ss;
int i, j, k, l, m;
- state->info = >1_info;
- if (DEVICE_ID(sna->PciInfo) & 0x20)
- state->info = >2_info; /* XXX requires GT_MODE WiZ disabled */
+ if (sna->kgem.gen == 70) {
+ state->info = &ivb_gt1_info;
+ if (DEVICE_ID(sna->PciInfo) & 0x20)
+ state->info = &ivb_gt2_info; /* XXX requires GT_MODE WiZ disabled */
+ } else if (sna->kgem.gen == 75) {
+ state->info = &hsw_gt_info;
+ } else
+ return false;
sna_static_stream_init(&general);
diff --git a/src/sna/gen7_render.h b/src/sna/gen7_render.h
index 8de52a4..1661d4c 100644
--- a/src/sna/gen7_render.h
+++ b/src/sna/gen7_render.h
@@ -1237,6 +1237,17 @@ struct gen7_sampler_state {
#define GEN7_SURFACE_DEPTH_SHIFT 21
#define GEN7_SURFACE_PITCH_SHIFT 0
+#define HSW_SWIZZLE_ZERO 0
+#define HSW_SWIZZLE_ONE 1
+#define HSW_SWIZZLE_RED 4
+#define HSW_SWIZZLE_GREEN 5
+#define HSW_SWIZZLE_BLUE 6
+#define HSW_SWIZZLE_ALPHA 7
+#define __HSW_SURFACE_SWIZZLE(r,g,b,a) \
+ ((a) << 16 | (b) << 19 | (g) << 22 | (r) << 25)
+#define HSW_SURFACE_SWIZZLE(r,g,b,a) \
+ __HSW_SURFACE_SWIZZLE(HSW_SWIZZLE_##r, HSW_SWIZZLE_##g, HSW_SWIZZLE_##b, HSW_SWIZZLE_##a)
+
/* _3DSTATE_VERTEX_BUFFERS on GEN7*/
/* DW1 */
#define GEN7_VB0_ADDRESS_MODIFYENABLE (1 << 14)
@@ -1281,7 +1292,9 @@ struct gen7_sampler_state {
# define GEN7_PS_FLOATING_POINT_MODE_ALT (1 << 16)
/* DW3: scratch space */
/* DW4 */
-# define GEN7_PS_MAX_THREADS_SHIFT 24
+# define IVB_PS_MAX_THREADS_SHIFT 24
+# define HSW_PS_MAX_THREADS_SHIFT 23
Reply to: