xserver-xorg-video-nouveau: Changes to 'upstream-ubuntu'
ChangeLog | 536 ++++++++++++++++++++++
configure.ac | 2
man/nouveau.man | 18
src/drmmode_display.c | 325 +++++++++----
src/nouveau_class.h | 1171 ++++++++++++++++++++++++++++++++++++++++++++++----
src/nouveau_dri2.c | 311 ++++++++++++-
src/nouveau_exa.c | 102 +---
src/nouveau_local.h | 11
src/nouveau_wfb.c | 2
src/nouveau_xv.c | 71 +--
src/nv04_exa.c | 43 +
src/nv04_xv_blit.c | 13
src/nv10_exa.c | 1
src/nv30_exa.c | 3
src/nv30_shaders.c | 1
src/nv30_xv_tex.c | 20
src/nv40_exa.c | 3
src/nv40_xv_tex.c | 20
src/nv50_accel.c | 82 ++-
src/nv50_accel.h | 12
src/nv50_exa.c | 23
src/nv50_xv.c | 188 ++++++--
src/nv_accel_common.c | 109 ++++
src/nv_const.h | 8
src/nv_dma.c | 24 -
src/nv_driver.c | 150 +++---
src/nv_include.h | 4
src/nv_proto.h | 17
src/nv_type.h | 9
29 files changed, 2766 insertions(+), 513 deletions(-)
New commits:
commit 8d2f1207d232c6c3ad3d0323b91434ad2bf8008e
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Wed Jan 26 13:00:35 2011 +1100
Imported Upstream version 0.0.16+git20110107+b795ca6e
diff --git a/ChangeLog b/ChangeLog
index 71b05d6..39fbc4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,484 @@
+commit 889629becd8ac2ea718c3a2fc1f8be29596a8ffa
+Merge: b9f414c b795ca6
+Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
+Date: Wed Jan 26 12:56:27 2011 +1100
+
+ Merge commit 'b795ca6e97fae9' into upstream-ubuntu
+
+commit b795ca6e97fae9735843748585401098dae1c3e1
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jan 7 13:33:36 2011 +1000
+
+ nv50: fix pitch of linear scanout buffers
+
+ Un-breaks NoAccel on these chipsets.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit dc89dac734167bcbc667b39ca6ee2043871a60bf
+Author: Xavier Chantry <chantry.xavier@gmail.com>
+Date: Sun Dec 19 23:17:34 2010 +0100
+
+ nv04/exa: kill useless WAIT_RING
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit b76b43928bf4dcf5ce3a4b58c7fefe780070c0d3
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Tue Dec 21 16:25:23 2010 +1000
+
+ add back generic include of nouveau_pushbuf.h
+
+ So places that FIRE_RING() still work.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit c2092a458401377f421d9bdfe1d97ce580b99508
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Dec 20 11:50:57 2010 +1000
+
+ include nv04_pushbuf.h for ring macros, rather than nouveau_pushbuf.h
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit aa2821a42706ac7b69703d1869e2d00a4ced9f4b
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Dec 20 11:53:53 2010 +1000
+
+ kill NVSync(), it's rather useless
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 1fc564fe3494cf0abcc848d0e90bf2232f8fd272
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Dec 16 09:49:09 2010 +1000
+
+ nv50/xv: use mad in nv12 shader, rather than mul+add
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit b6cb21b91f7d0409794a14ddbdd606728d4d49e3
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Feb 8 12:51:47 2010 +1000
+
+ set canDoBGNoneRoot if building against new enough server
+
+commit 11510f9ce8c9eab15e7f6d5962b83fc0052c8619
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Tue Dec 14 15:39:01 2010 +1000
+
+ nv50/xv: implement brightness/contrast/saturation/hue controls
+
+ Adapted from the code in xf86-video-ati.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 214ea264cdb386520a1308a29f204e441f349cb1
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Tue Dec 14 14:42:24 2010 +1000
+
+ nv50/xv: kick csc parameters out into a constant buffer
+
+ These were previously inlined into the shader, which is simple, but makes
+ implementing brightness/contrast adjustments impossible.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 8bb8231236a6b877895663aeaa9cef731d67fe68
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Tue Nov 30 15:27:36 2010 +1000
+
+ dri2: fix certain clients blocking forever when sync-to-vblank unavailable
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit f29afe65b67c9b89ceba421d9b3aee590f7ded20
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Nov 29 09:23:35 2010 +1000
+
+ dri2: don't return failure from get_msc if sync-to-vblank isn't available
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 4b1d26578116f4d1745dd92a7c99413972a2bedf
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Nov 25 21:33:46 2010 +0100
+
+ dri2: Don't return failure from schedule_wait if sync-to-vblank is unavailable.
+
+ Reported-by: Ben Skeggs <bskeggs@redhat.com>
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 1143e7a97dce1b741376e178b73b8b766e03849a
+Author: Jesse Adkins <jesserayadkins@gmail.com>
+Date: Tue Oct 26 16:05:32 2010 -0700
+
+ Purge cvs tags.
+
+ Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 22020457f43eceaf26532ecb50e46d743f4a691f
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue Oct 26 00:24:06 2010 +0200
+
+ dri2: Fix throttling on occluded drawables.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 9737a812aacbc544b93eeaa031cf1c2e8adbd661
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 25 10:37:08 2010 +1000
+
+ kms: initial pass at supporting zaphod-mode
+
+ This works ok from some simple testing, there's undoubtedly things that
+ will need polishing still however.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit d40c16f5497739c0215f37566db1651a74cb20ba
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Sat Oct 23 02:20:30 2010 +0200
+
+ dri2: Fix build on X server 1.8.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit a4d580bf05d7aac1d486e5d1ba9a2201c026e5f5
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Fri Oct 22 23:09:30 2010 +0200
+
+ Bump the required X server version to 1.8.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit d0f2e16bc35660d01d3cd20a770cf8e613ab5323
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Fri Oct 22 23:06:28 2010 +0200
+
+ dri2: Report damage on page-flipped drawables.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit c61e8d03161adcfbba4162172153814accf9e86b
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Fri Oct 22 23:05:24 2010 +0200
+
+ Make the sync-to-vblank helpers take a box as argument.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit a685a5c3be12f3e95a6ec1140af115e7ef28fcaa
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Wed Oct 13 18:45:04 2010 +0200
+
+ dri2: Implement the ScheduleWaitMSC/GetMSC hooks.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit eb83c830c87bce345748edef3b50660246143db7
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 21 22:57:08 2010 +0200
+
+ dri2: Add pageflip/exchange support.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit c88f13e25b0040c1dd0f93e0ac40f62a6005ce59
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 14 22:25:50 2010 +0200
+
+ Allocate a tiled scanout on pre-nv50 too.
+
+ Pageflip between tiled and non-tiled surfaces isn't such a good idea.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 4642d71bdffc04ce0dd458225541940c65f5443d
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 14 22:17:58 2010 +0200
+
+ dri2: Give out buffers ready for scanout.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 75daada678d03d2e162f8003a6f2edcbe0525f92
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 14 22:32:54 2010 +0200
+
+ Restructure tiled pixmap allocation in a single place.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 70f0d2c886ceaa965ca4864788f4dd8e8f757a92
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 21 22:55:02 2010 +0200
+
+ dri2: Add sync-to-vblank support.
+
+ Note that you need a recent enough kernel for it to work. Use the
+ "GLXVBlank" option to enable it (it defaults to disabled for now).
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 72dd4899ff036b09e3680ed2e09b3dbae3a7ba71
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 21 22:31:45 2010 +0200
+
+ nv04-nv40/exa: Make the copy hook blit downwards for non-overlapping regions.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 21ed642d3f76f286f23cd64ca817038ec94a1bf6
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Wed Oct 13 18:22:22 2010 +0200
+
+ Make the sync-to-vblank helpers more consistent.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 258e483d47f0f63155be18981c1118261f7675a8
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Oct 21 22:41:24 2010 +0200
+
+ kms: Register a wakeup handler to poll vblank/pageflip/udev events.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 4f42708c26fa57bac7854701a6e757958c8d0654
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Sun Oct 10 04:39:27 2010 +0200
+
+ Update to the last libdrm API.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 8c8f15c9d3a31c35bf2ef20faf8c4133295a678f
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Sun Oct 10 04:36:17 2010 +0200
+
+ nv10-nv40/exa: Fix tiled pixmap pitch alignment calculation.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit a47c274f329b3b8bfbdcf155d6d832599d823dc8
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Sun Oct 10 04:43:25 2010 +0200
+
+ Fix for the last xserver ABI.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit 9a5142fae6e1a0a470352f511427916e6fa01b9c
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Fri Aug 27 21:11:59 2010 +0200
+
+ nv50/exa: Stop using wfb by default, but add an option to enable it.
+
+ - Some scenarios, such as those heavy in core font rendering might prefer wfb.
+ - Other (modern) situations are better of with wfb disabled.
+
+ Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
+
+commit d5a6f103113985c50bbe749ed341de34af1b47a5
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue Sep 28 21:49:48 2010 +0200
+
+ dri2: Throttle frontbuffer flushes.
+
+ There was no need for throttling until the hardware interchannel sync
+ kernel changes because the pushbuf IOCTL blocked to sync the GL and X
+ channels anyway.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+
+commit f1ac413d1d3dec2ccf63d4a8c79b9bd9ea578dcf
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Sep 20 08:05:00 2010 +1000
+
+ nv50: use 0x8697 on NVAF
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 14c93acfc3fde04415e1c6a2a056465d15c86315
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Sep 17 13:17:37 2010 +1000
+
+ noaccel: fix rotation, as well as an assert during server shutdown
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 065576d5df0df4da61050d789f548801656b62d5
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Aug 26 13:22:33 2010 +1000
+
+ dri2: remove explit flush from copy_region()
+
+ Unnecessary now that we kickoff from within the flush callback chain.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 34025f0dc9284873d4bf7e4f547ed69fc562a3c9
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Aug 26 13:19:39 2010 +1000
+
+ kickoff from the flush callback chain
+
+ This is a port of intel commit: 69d65f9184006eac790efcff78a0e425160e95aa
+
+ Submit batch buffers from flush callback chain
+
+ There are a few cases where the server will flush client output buffers
+ but our block handler only catches the most common (before going into select
+ If the server flushes client buffers before we submit our batch buffer,
+ the client may receive a damage event for rendering that hasn't happened yet
+
+ Instead, we can hook into the flush callback chain, which the server will
+ invoke just before flushing output. This lets us submit batch buffers
+ before sending out events, preserving ordering.
+
+ Fixes 28438: [bisected] incorrect character in gnome-terminal under compiz
+ https://bugs.freedesktop.org/show_bug.cgi?id=28438
+
+ Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 390f1c86d9583f4ceabd407ee47410073c2a1b55
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Aug 20 09:48:32 2010 +1000
+
+ nv50/xv: support UYVY
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 00d390952c912d4e9fc2c962caaeb90bf563d5b1
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Fri Aug 13 22:24:26 2010 +0200
+
+ nv50/xv: Fix the uncommon codepath to use width/height variable.
+
+ - The common codepath should be the correct one, because that is
+ triggered often, while the other is rare.
+ - This isn't neccesarily a problem, but let's be on the safe side.
+
+ Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
+
+commit f5b486dd237679aec1987985f9ecffc6a4fd3105
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Fri Aug 13 22:16:51 2010 +0200
+
+ nv50/xv: We have 18 relocs, not 16, adjust MARK_RING.
+
+ Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
+
+commit 1cb6c91a9afe88d73f8a1180b00f56a9150a16ed
+Author: Roy Spliet <r.spliet@student.tudelft.nl>
+Date: Sat Aug 7 20:59:06 2010 +0200
+
+ nouveau_exa.c: move line_count logic out of UTS/DFS loop
+
+ Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl>
+ Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
+
+commit 9f50b62229d5984ee5c16bc54953c7f8e2d5e575
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Aug 6 08:28:34 2010 +1000
+
+ nvc0: recognise these chipsets, and allow NoAccel mode on them
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit b96170a4e51c1d3167601210ca31e98283c02885
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Aug 5 00:40:40 2010 +0200
+
+ nv10/exa: Bump maxX/maxY to 4096/4096.
+
+ This way we can do accelerated 2D on larger pixmaps, it will still
+ fall back to software when we hit the 2048x2048 texturing limit in a
+ composite operation.
+
+commit 321eb2df5c8b1da4d6469037dd1d8888b508fabd
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Wed Aug 4 13:11:24 2010 +0200
+
+ Revert "nv04-nv40/exa: Match the blob behavior more closely on PrepareCopy."
+
+ This reverts commit 9de0d97bd2fc2ee8800d48b5340a3d495525ad3e. Unnecessary
+ after kernel commit "drm/nouveau: Ack the context switch interrupt before
+ switching contexts.".
+
+commit db98ad23633958e52f84501c5a2061d42d346b64
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Tue Jun 15 15:32:36 2010 +0200
+
+ dri2: Fix for the last DRI2InfoRec ABI.
+
+ Just pre-fill the whole structure with zeros to avoid future
+ segfaults.
+
+commit 9a3d0ab43f6335ab6cd48be4aa2f4f728386b386
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 11 21:58:38 2010 +1000
+
+ call NVEnterVT from CreateScreenResources
+
+ We need to grab DRM master here for things to work, so we may as well call
+ NVEnterVT as we used to in NVScreenInit up until the previous commit.
+
+ Fixes server regeneration.
+
+commit 964eeac6dc2209da6aa8861aa8b0bc028700ab3d
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 10 09:38:19 2010 +1000
+
+ fix for server 1.9
+
+commit c079408e287ad09e954fa3985f95912c02cf06bc
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Jun 10 01:07:49 2010 +0200
+
+ nv50/accel: fix perspective interps in YUV to RGB shader
+
+commit 65153490f7d74d45a92adbd9c5e2bbe11c884b00
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Jun 9 16:12:28 2010 +1000
+
+ use libc directly for [cm]alloc/free
+
+commit 2958cf464dca9761f0fa21c8dd2d8fa8c8a96791
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu May 27 10:06:47 2010 +1000
+
+ nv50/exa: rip out compat defines, we depend on 1.7 anyway
+
+commit af40bf0af47ebcb7de2dc418429f0b56f8c04d15
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed May 26 16:11:01 2010 +1000
+
+ nv50/exa: new nouveau_class.h has correct blend func defines
+
+commit 8950c5b2a0d318e2568bec38a39d744b968c9b85
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed May 26 16:09:48 2010 +1000
+
+ update nouveau_class.h
+
+commit b9f414c589d89887722942463bcbf5f85191e71a
+Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
+Date: Tue May 18 18:36:33 2010 +1000
+
+ Imported Upstream version 0.0.15+git20100518+4b8f1a0
+
+commit 429576639e3d463e821505eaf45c6a2ec764b456
+Merge: 9dc12f0 4b8f1a0
+Author: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Tue May 18 16:08:22 2010 +1000
+
+ Merge remote branch 'upstream/master' into upstream-ubuntu
+
commit 4b8f1a082069a17555d4142003213cf83d4e5464
Author: Lubomir Rintel <lkundrak@v3.sk>
Date: Mon May 10 09:25:55 2010 +0200
@@ -116,6 +597,19 @@ Date: Tue Feb 23 15:03:38 2010 +1000
Add connector name for eDP
+commit 9dc12f0de18594c12301535bf89590671ef463f6
+Author: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Fri Feb 19 20:33:58 2010 +1100
+
+ Imported Upstream version 0.0.15+git+20100219+9b4118d
+
+commit 9f2672351b2028ac78edaeadf012f968ae237f08
+Merge: d4fd2c0 9b4118d
+Author: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Fri Feb 19 20:20:45 2010 +1100
+
+ Merge remote branch 'upstream/master' into upstream-ubuntu
+
commit 29647021044463768cbfa3eead1416ef1cf27fa1
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Thu Feb 18 14:17:57 2010 +1000
@@ -229,6 +723,42 @@ Date: Sun Jan 31 17:43:54 2010 +0100
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+commit d4fd2c0762967c985e219e16914ae63fea2a5718
+Author: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Thu Jan 28 11:52:46 2010 +1100
+
+ Imported Upstream version 0.0.10~git+20100128+2630a15
+
+commit b08689b2ed227df98429b9926276e78f791357b6
+Merge: 4162e08 2630a15
+Author: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Thu Jan 28 10:45:16 2010 +1100
+
+ Merge remote branch 'upstream/master' into upstream-ubuntu
+
+ * upstream/master: (31 commits)
+ Remove nv_dripriv.h, nv_local.h
+ xv: use nouveau_bo_new_tile()
+ Remove deprecated NV1 readme
+ exa: remove nouveau_pixmap_offset()
+ exa: remove nouveau_exa_pixmap_{map,unmap}
+ Check for drm+kms availability in NVPciProbe()
+ bump xorg-server requirement to 1.7
+ remove more unused code
+ exa: Remove non-driver pixmaps path
+ Remove pNv->NVArch
+ Remove pNv->Chipset use
+ remove pNv->VRAMPhysical
+ dri1: remove DRI1 support
+ xv: ifdef out another problematic piece of overlay support for the moment
+ Initial pass at removal of non-KMS support.
+ exa: Some compat defines for new pixman formats.
+ start using BEGIN_RING_NI
+ nv50: always set semaphore handle and offset
+ nv50: upgrade nv50_texture.h
+ nv50/exa: add support for more color formats
+ ...
+
commit 2630a1553d560ce2c7391bc103d4a543f7d3d0da
Author: Marcin Kościelnicki <koriakin@0x04.net>
Date: Wed Jan 20 07:46:32 2010 +0000
@@ -493,6 +1023,12 @@ Date: Mon Dec 7 15:31:53 2009 +1000
work actually, but that's not confirmed) rejects a GART DMA object, so the
usefulness is a bit more limited than I'd hoped.
+commit 4162e080f2922f8aac0606b216990666b1f6e006
+Author: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Mon Dec 7 13:11:46 2009 +1100
+
+ Imported Upstream version 0.0.10+git20091207+60a3942
+
commit 60a394222b410da8bb832935fc525132218b4d94
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Thu Dec 3 21:14:00 2009 +1000
commit b795ca6e97fae9735843748585401098dae1c3e1
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Fri Jan 7 13:33:36 2011 +1000
nv50: fix pitch of linear scanout buffers
Un-breaks NoAccel on these chipsets.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
index b1553f6..dc7215e 100644
--- a/src/nv_accel_common.c
+++ b/src/nv_accel_common.c
@@ -32,13 +32,26 @@ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
Bool tiled = (usage_hint & NOUVEAU_CREATE_PIXMAP_TILED);
int tile_mode = 0, tile_flags = 0;
int flags = NOUVEAU_BO_MAP | (bpp >= 8 ? NOUVEAU_BO_VRAM : 0);
- int ret;
-
- if ((scanout && pNv->tiled_scanout) ||
- (!scanout && pNv->Architecture >= NV_ARCH_50 && bpp >= 8))
- tiled = TRUE;
-
- *pitch = NOUVEAU_ALIGN(width * bpp, 512) / 8;
+ int cpp = bpp / 8, ret;
+
+ if (pNv->Architecture >= NV_ARCH_50) {
+ if (scanout) {
+ if (pNv->tiled_scanout) {
+ tiled = TRUE;
+ *pitch = NOUVEAU_ALIGN(width * cpp, 64);
+ } else {
+ *pitch = NOUVEAU_ALIGN(width * cpp, 256);
+ }
+ } else {
+ if (bpp >= 8)
+ tiled = TRUE;
+ *pitch = NOUVEAU_ALIGN(width * cpp, 64);
+ }
+ } else {
+ if (scanout && pNv->tiled_scanout)
+ tiled = TRUE;
+ *pitch = NOUVEAU_ALIGN(width * cpp, 64);
+ }
if (tiled) {
if (pNv->Architecture >= NV_ARCH_50) {
commit dc89dac734167bcbc667b39ca6ee2043871a60bf
Author: Xavier Chantry <chantry.xavier@gmail.com>
Date: Sun Dec 19 23:17:34 2010 +0100
nv04/exa: kill useless WAIT_RING
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
diff --git a/src/nv04_exa.c b/src/nv04_exa.c
index f2819d2..267c7b5 100644
--- a/src/nv04_exa.c
+++ b/src/nv04_exa.c
@@ -150,7 +150,6 @@ NV04EXASolid (PixmapPtr pPixmap, int x1, int y1, int x2, int y2)
int width = x2-x1;
int height = y2-y1;
- WAIT_RING (chan, 3);
BEGIN_RING(chan, rect,
NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(0), 2);
OUT_RING (chan, (x1 << 16) | y1);
@@ -280,7 +279,6 @@ NV04EXACopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY,
dstY = 0;
}
- WAIT_RING (chan, 4);
BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_POINT_IN, 3);
OUT_RING (chan, (srcY << 16) | srcX);
OUT_RING (chan, (dstY << 16) | dstX);
commit b76b43928bf4dcf5ce3a4b58c7fefe780070c0d3
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Tue Dec 21 16:25:23 2010 +1000
add back generic include of nouveau_pushbuf.h
So places that FIRE_RING() still work.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/src/nv_include.h b/src/nv_include.h
index 9cb697a..de76d92 100644
--- a/src/nv_include.h
+++ b/src/nv_include.h
@@ -79,5 +79,6 @@
#include "nouveau_grobj.h"
#include "nouveau_notifier.h"
#include "nouveau_local.h"
+#include "nouveau_pushbuf.h"
#endif /* __NV_INCLUDE_H__ */
commit c2092a458401377f421d9bdfe1d97ce580b99508
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Mon Dec 20 11:50:57 2010 +1000
include nv04_pushbuf.h for ring macros, rather than nouveau_pushbuf.h
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index 2dd6da4..45add0f 100644
--- a/src/nouveau_dri2.c
+++ b/src/nouveau_dri2.c
@@ -5,6 +5,7 @@
#include "xorg-server.h"
#include "nv_include.h"
+#include "nouveau_pushbuf.h"
#ifdef DRI2
#include "dri2.h"
#endif
diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
index 4618994..4e9f946 100644
--- a/src/nouveau_exa.c
+++ b/src/nouveau_exa.c
@@ -21,6 +21,7 @@
*/
#include "nv_include.h"
+#include "nv04_pushbuf.h"
#include "exa.h"
static inline Bool
diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c
index dba153c..c1d4ccb 100644
--- a/src/nouveau_xv.c
+++ b/src/nouveau_xv.c
@@ -35,6 +35,8 @@
#include "nv_include.h"
#include "nv_dma.h"
+#include "nv04_pushbuf.h"
+
#include "vl_hwmc.h"
#define IMAGE_MAX_W 2046
diff --git a/src/nv04_exa.c b/src/nv04_exa.c
index 2760d4b..f2819d2 100644
--- a/src/nv04_exa.c
+++ b/src/nv04_exa.c
@@ -23,6 +23,8 @@
#include "nv_include.h"
#include "nv_rop.h"
+#include "nv04_pushbuf.h"
+
static void
NV04EXASetPattern(ScrnInfoPtr pScrn, CARD32 clr0, CARD32 clr1,
CARD32 pat0, CARD32 pat1)
diff --git a/src/nv04_xv_blit.c b/src/nv04_xv_blit.c
index be39c0d..1b8de4f 100644
--- a/src/nv04_xv_blit.c
+++ b/src/nv04_xv_blit.c
@@ -34,6 +34,8 @@
#include "nv_include.h"
#include "nv_dma.h"
+#include "nv04_pushbuf.h"
+
#define FOURCC_RGB 0x0000003
#define VSYNC_POSSIBLE (pNv->dev->chipset >= 0x11)
diff --git a/src/nv10_exa.c b/src/nv10_exa.c
index 1acb583..1cf7a5b 100644
--- a/src/nv10_exa.c
+++ b/src/nv10_exa.c
@@ -28,6 +28,7 @@
#endif
#include "nv_include.h"
+#include "nv04_pushbuf.h"
/* Texture/Render target formats. */
static struct pict_format {
diff --git a/src/nv30_exa.c b/src/nv30_exa.c
index b34b29c..a4dd37d 100644
--- a/src/nv30_exa.c
+++ b/src/nv30_exa.c
@@ -25,6 +25,7 @@
#include "nv_include.h"
#include "nv30_shaders.h"
+#include "nv04_pushbuf.h"
typedef struct nv_pict_surface_format {
int pict_fmt;
diff --git a/src/nv30_shaders.c b/src/nv30_shaders.c
index 7316082..fb93ef8 100644
--- a/src/nv30_shaders.c
+++ b/src/nv30_shaders.c
@@ -22,6 +22,7 @@
#include "nv30_shaders.h"
+#include "nv04_pushbuf.h"
void NV30_UploadFragProg(NVPtr pNv, nv_shader_t *shader, int *hw_offset)
{
diff --git a/src/nv30_xv_tex.c b/src/nv30_xv_tex.c
index ffa68e4..6d4e089 100644
--- a/src/nv30_xv_tex.c
+++ b/src/nv30_xv_tex.c
@@ -37,6 +37,7 @@
#include "nv_dma.h"
#include "nv30_shaders.h"
+#include "nv04_pushbuf.h"
extern Atom xvSyncToVBlank, xvSetDefaults;
diff --git a/src/nv40_exa.c b/src/nv40_exa.c
index ffee0e6..b14a829 100644
--- a/src/nv40_exa.c
+++ b/src/nv40_exa.c
@@ -22,6 +22,7 @@
#include "nv_include.h"
#include "nv30_shaders.h"
+#include "nv04_pushbuf.h"
typedef struct nv_pict_surface_format {
int pict_fmt;
diff --git a/src/nv40_xv_tex.c b/src/nv40_xv_tex.c
index e0444e8..0910e12 100644
--- a/src/nv40_xv_tex.c
+++ b/src/nv40_xv_tex.c
@@ -37,6 +37,7 @@
#include "nv_dma.h"
#include "nv30_shaders.h"
+#include "nv04_pushbuf.h"
extern Atom xvSyncToVBlank, xvSetDefaults;
diff --git a/src/nv50_accel.h b/src/nv50_accel.h
index 9cdbbab..fac5cbb 100644
--- a/src/nv50_accel.h
+++ b/src/nv50_accel.h
@@ -1,6 +1,8 @@
#ifndef __NV50_ACCEL_H__
#define __NV50_ACCEL_H__
+#include "nv04_pushbuf.h"
+
/* "Tesla scratch buffer" offsets */
#define PVP_OFFSET 0x00000000 /* Vertex program */
#define PFP_OFFSET 0x00001000 /* Fragment program */
diff --git a/src/nv50_exa.c b/src/nv50_exa.c
index e86f903..e8ff5aa 100644
--- a/src/nv50_exa.c
+++ b/src/nv50_exa.c
@@ -24,6 +24,7 @@
#include "nv_include.h"
#include "nv_rop.h"
+#include "nv04_pushbuf.h"
#include "nv50_accel.h"
#include "nv50_texture.h"
diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
index 1ade291..b1553f6 100644
--- a/src/nv_accel_common.c
+++ b/src/nv_accel_common.c
@@ -21,6 +21,7 @@
*/
#include "nv_include.h"
+#include "nv04_pushbuf.h"
Bool
nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
diff --git a/src/nv_driver.c b/src/nv_driver.c
index e2df82e..f4aa2bc 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -24,6 +24,8 @@
#include "nv_include.h"
+#include "nouveau_pushbuf.h"
+
#include "xorg-server.h"
#include "xf86int10.h"
#include "xf86drm.h"
diff --git a/src/nv_include.h b/src/nv_include.h
index 48f0b21..9cb697a 100644
--- a/src/nv_include.h
+++ b/src/nv_include.h
@@ -75,7 +75,6 @@
#include "nouveau_drmif.h"
#include "nouveau_device.h"
#include "nouveau_channel.h"
-#include "nouveau_pushbuf.h"
#include "nouveau_bo.h"
#include "nouveau_grobj.h"
#include "nouveau_notifier.h"
commit aa2821a42706ac7b69703d1869e2d00a4ced9f4b
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Mon Dec 20 11:53:53 2010 +1000
kill NVSync(), it's rather useless
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/src/nv_dma.c b/src/nv_dma.c
index 409f42c..49ed40a 100644
--- a/src/nv_dma.c
+++ b/src/nv_dma.c
@@ -45,27 +45,6 @@ NVChannelHangNotify(struct nouveau_channel *chan)
NVLockedUp(pScrn);
}
-void NVSync(ScrnInfoPtr pScrn)
-{
- NVPtr pNv = NVPTR(pScrn);
- struct nouveau_channel *chan = pNv->chan;
- struct nouveau_grobj *gr = pNv->Nv2D ? pNv->Nv2D : pNv->NvImageBlit;
-
- if (pNv->NoAccel)
- return;
-
- /* Wait for nvchannel to go completely idle */
- nouveau_notifier_reset(pNv->notify0, 0);
- BEGIN_RING(chan, gr, 0x104, 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, gr, 0x100, 1);
- OUT_RING (chan, 0);
- FIRE_RING (chan);
- if (nouveau_notifier_wait_status(pNv->notify0, 0,
- NV_NOTIFY_STATE_STATUS_COMPLETED, 2.0))
- NVLockedUp(pScrn);
-}
-
Bool
NVInitDma(ScrnInfoPtr pScrn)
{
diff --git a/src/nv_driver.c b/src/nv_driver.c
index ed72194..e2df82e 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -356,8 +356,6 @@ NVLeaveVT(int scrnIndex, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "NVLeaveVT is called.\n");
- NVSync(pScrn);
-
ret = drmDropMaster(nouveau_device(pNv->dev)->fd);
if (ret)
ErrorF("Error dropping master: %d\n", ret);
diff --git a/src/nv_proto.h b/src/nv_proto.h
index ba8ca5e..775b094 100644
--- a/src/nv_proto.h
+++ b/src/nv_proto.h
@@ -36,7 +36,6 @@ void NVSetPortDefaults (ScrnInfoPtr pScrn, NVPortPrivPtr pPriv);
unsigned int nv_window_belongs_to_crtc(ScrnInfoPtr, int, int, int, int);
/* in nv_dma.c */
-void NVSync(ScrnInfoPtr pScrn);
Bool NVInitDma(ScrnInfoPtr pScrn);
void NVTakedownDma(ScrnInfoPtr pScrn);
commit 1fc564fe3494cf0abcc848d0e90bf2232f8fd272
Author: Ben Skeggs <bskeggs@redhat.com>
Date: Thu Dec 16 09:49:09 2010 +1000
nv50/xv: use mad in nv12 shader, rather than mul+add
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/src/nv50_accel.c b/src/nv50_accel.c
index 0369839..d6c7528 100644
--- a/src/nv50_accel.c
+++ b/src/nv50_accel.c
@@ -352,7 +352,7 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn)
OUT_RING (chan, (0 << NV50TCL_CB_DEF_SET_BUFFER_SHIFT) | 0x4000);
BEGIN_RING(chan, tesla, NV50TCL_CB_ADDR, 1);
OUT_RING (chan, 0);
- BEGIN_RING_NI(chan, tesla, NV50TCL_CB_DATA(0), 28);
+ BEGIN_RING_NI(chan, tesla, NV50TCL_CB_DATA(0), 24);
OUT_RING (chan, 0x80000008);
OUT_RING (chan, 0x90000408);
OUT_RING (chan, 0x82010400);
@@ -367,20 +367,17 @@ NVAccelInitNV50TCL(ScrnInfoPtr pScrn)
OUT_RING (chan, 0x82040404);
OUT_RING (chan, 0xf0400201);
Reply to: