ChangeLog | 964 ++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 1 NEWS | 26 + autogen.sh | 14 configure.ac | 22 - debian/changelog | 15 m4/.gitignore | 5 src/Makefile.am | 1 src/common.h | 17 src/intel.h | 94 ---- src/intel_display.c | 7 src/intel_dri.c | 137 ++++-- src/intel_driver.c | 44 -- src/intel_glamor.c | 91 ++-- src/intel_glamor.h | 3 src/intel_list.h | 392 +++++++++++++++++ src/intel_module.c | 6 src/intel_uxa.c | 13 src/sna/Makefile.am | 17 src/sna/gen2_render.c | 65 ++ src/sna/gen3_render.c | 166 ++++--- src/sna/gen4_render.c | 279 +++++++----- src/sna/gen5_render.c | 339 ++++++++------- src/sna/gen6_render.c | 478 +++++++++++++-------- src/sna/gen7_render.c | 327 ++++++++------ src/sna/kgem.c | 247 ++++++----- src/sna/kgem.h | 29 - src/sna/kgem_debug_gen6.c | 14 src/sna/sna.h | 9 src/sna/sna_accel.c | 294 +++++++------ src/sna/sna_blt.c | 36 - src/sna/sna_composite.c | 25 - src/sna/sna_display.c | 18 src/sna/sna_dri.c | 102 +++- src/sna/sna_glyphs.c | 6 src/sna/sna_io.c | 2 src/sna/sna_render.c | 235 +++++++--- src/sna/sna_render.h | 32 + src/sna/sna_render_inline.h | 7 src/sna/sna_tiling.c | 162 ++++++- src/sna/sna_trapezoids.c | 121 +++-- src/sna/sna_video.c | 2 src/sna/sna_video_hwmc.c | 4 uxa/uxa.h | 10 44 files changed, 3493 insertions(+), 1385 deletions(-)
New commits: commit 38c5610c4a8c94f01c7940efa06c32938c03391b Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 24 14:19:06 2012 +0100 Upload to experimental. diff --git a/debian/changelog b/debian/changelog index b2c5ebe..f8c81e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -xserver-xorg-video-intel (2:2.18.0-1+exp1) UNRELEASED; urgency=low +xserver-xorg-video-intel (2:2.18.0-1+exp1) experimental; urgency=low * Enable SNA again, in experimental. - -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:18:02 +0100 + -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:19:00 +0100 xserver-xorg-video-intel (2:2.18.0-1) unstable; urgency=low commit 4d8053b7119daecbdbe92f232f50dbec29268f7f Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 24 14:17:08 2012 +0100 Enable SNA again, in experimental. diff --git a/debian/changelog b/debian/changelog index 83ac4f5..b2c5ebe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-intel (2:2.18.0-1+exp1) UNRELEASED; urgency=low + + * Enable SNA again, in experimental. + + -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:18:02 +0100 + xserver-xorg-video-intel (2:2.18.0-1) unstable; urgency=low * New upstream release. diff --git a/debian/control b/debian/control index 89bc58f..d86e008 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 8), dh-autoreconf, pkg-config, - xserver-xorg-dev (>= 2:1.10.99), + xserver-xorg-dev (>= 2:1.11.99.901), x11proto-core-dev, x11proto-fonts-dev, x11proto-xinerama-dev, diff --git a/debian/rules b/debian/rules index 493cd9c..0f2ede8 100755 --- a/debian/rules +++ b/debian/rules @@ -6,7 +6,7 @@ BUILDER := $(shell dpkg-parsechangelog | awk -F': ' '/^Maintainer: / {pri # Enable SNA, pass builderstring: override_dh_auto_configure: - dh_auto_configure -- --disable-sna --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" + dh_auto_configure -- --enable-sna --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" # Install in debian/tmp to retain control through dh_install: override_dh_auto_install: commit fc65ec8b01292c7b429d439195c95e70f3c30097 Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 24 14:16:59 2012 +0100 Upload to unstable. diff --git a/debian/changelog b/debian/changelog index b31f8a2..83ac4f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,11 @@ -xserver-xorg-video-intel (2:2.18.0-1) UNRELEASED; urgency=low +xserver-xorg-video-intel (2:2.18.0-1) unstable; urgency=low * New upstream release. * No SNA for unstable, it's too fast of a moving target for now. * Since we're building for unstable, let's go back to the previous xorg-server build-dep. - -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:07:47 +0100 + -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:16:47 +0100 xserver-xorg-video-intel (2:2.17.0+git20120204-1) experimental; urgency=low commit 2c23ace1b853dd38f6a0b185e9b83de4bc1a5c22 Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 24 14:13:25 2012 +0100 Since we're building for unstable, let's go back to the previous xorg-server build-dep. diff --git a/debian/changelog b/debian/changelog index 8726e0f..b31f8a2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ xserver-xorg-video-intel (2:2.18.0-1) UNRELEASED; urgency=low * New upstream release. * No SNA for unstable, it's too fast of a moving target for now. + * Since we're building for unstable, let's go back to the previous + xorg-server build-dep. -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:07:47 +0100 diff --git a/debian/control b/debian/control index d86e008..89bc58f 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 8), dh-autoreconf, pkg-config, - xserver-xorg-dev (>= 2:1.11.99.901), + xserver-xorg-dev (>= 2:1.10.99), x11proto-core-dev, x11proto-fonts-dev, x11proto-xinerama-dev, commit ae201232d74df14239628e09c841ddf0eb034e8d Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 24 14:09:16 2012 +0100 Disable SNA for unstable. diff --git a/debian/changelog b/debian/changelog index 1b016bc..8726e0f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xserver-xorg-video-intel (2:2.18.0-1) UNRELEASED; urgency=low * New upstream release. + * No SNA for unstable, it's too fast of a moving target for now. -- Cyril Brulebois <k...@debian.org> Fri, 24 Feb 2012 14:07:47 +0100 diff --git a/debian/rules b/debian/rules index 0f2ede8..493cd9c 100755 --- a/debian/rules +++ b/debian/rules @@ -6,7 +6,7 @@ BUILDER := $(shell dpkg-parsechangelog | awk -F': ' '/^Maintainer: / {pri # Enable SNA, pass builderstring: override_dh_auto_configure: - dh_auto_configure -- --enable-sna --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" + dh_auto_configure -- --disable-sna --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" # Install in debian/tmp to retain control through dh_install: override_dh_auto_install: commit faec7e3713750d58b6a9991d25ca8440b50a13df Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 24 14:08:58 2012 +0100 Bump changelogs. diff --git a/ChangeLog b/ChangeLog index ed2b4a9..651ab6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,967 @@ +commit b870a3e5cd922ce37050ece73e2469802dd21da2 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Feb 24 11:21:49 2012 +0000 + + configure, NEWS: Bump version to 2.18.0 for release + + Another quarter, a bit late as I was debugging a few regressions, + another release. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 5b5cd6780ef7cae8f49d71d7c8532597291402d8 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Feb 24 11:14:26 2012 +0000 + + uxa: Add a option to disable the bo cache + + If you are suffering from regular X crashes and rendering corruption + with a flood of ENOSPC or even EFILE reported in the Xorg.log, try + adding this snippet to your xorg.conf: + + Section "Driver" + Option "BufferCache" "False" + EndSection + + References: https://bugs.freedesktop.org/show_bug.cgi?id=39552 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit f8ca50818cd4f82e0ad8eeb245e8ee838b083056 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sat Feb 18 13:49:02 2012 -0500 + + Revert "Update autotools configuration" + + This reverts commit 9184af921bc2f332fcb6c9b47001414378eab8e2. + + All X.Org modules must be able to be configured with autoconf 2.60. + In addition, version 2.63 has GPL licensing issues which prevents + some vendor to release software based on it. + + The AM_SILENT_RULES are already handled by XORG_DEFAULT_OPTIONS. + + All X.Org modules must be able to be configured with libtool 1.5. + + AM_MAINTAINER_MODE default value is "enabled" already. + + We use the same autogen script for all x.org modules. + There are proposals for changes which should be reviewed and eventually + applied to all modules together. + + The lt*.m4 patterns are already included in the root .gitignore file. + This can be proposed as a change to all modules, but it invloves + changing the topvel .gitignore, the m4/.gitignore, the ACLOCAL_AMFLAGS + and the AC_CONFIG_MACRO_DIR together. + + For more information on project wide configuration guidelines, + consult http://www.x.org/wiki/ModularDevelopersGuide + and http://www.x.org/wiki/NewModuleGuidelines. + + Acked-by: Matthieu Herrb <matthieu.he...@laas.fr> + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit a647aff5124674b638ef52152a5c16c27466eed7 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 12:04:09 2012 +0000 + + sna/gen3: Silence the compiler complaining with DBG enabled + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit cd3a618f583a546bafbe0c171a267774adc4d72b +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 10:40:57 2012 +0000 + + sna/gen4 Refactor get_rectangles() to re-emit state after a flush + + Condense the work performed by each caller into the callee. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 6a3fa4d1b6849b666a9232b017ce82329494621b +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 10:40:57 2012 +0000 + + sna/gen7 Refactor get_rectangles() to re-emit state after a flush + + Condense the work performed by each caller into the callee. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit fe914eaca4b9178ab3d14053a703772f93295895 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 10:40:57 2012 +0000 + + sna/gen5 Refactor get_rectangles() to re-emit state after a flush + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 4ecf882c838c1f044b4ed3add486b6579ea2c431 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 10:40:57 2012 +0000 + + sna/gen6: Refactor get_rectangles() to re-emit state after a flush + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit dfa21713c27eb9135cb5e1745807324e49422fde +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 10:29:38 2012 +0000 + + sna/gen3: Refactor get_rectangles() to emit composite state and retry + + As gen3 only uses the single state emission block, and uniformly calls + get_rectangles(), we can move that caller protocol into the callee. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit a48e6e0db970ad07cd7452ba24c362d0c2fcf1bf +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 10:17:34 2012 +0000 + + sna/gen3+: Force a batch flush when run out of CA vbo + + As we prematurely end the batch if we bail on extending the vbo for CA + glyphs, we need to force the flush. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 57c19b10db2b512c52a593fad98b5ac5db4f1497 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 23 00:33:16 2012 +0000 + + sna: Use a CPU mapping if the bo is already in the CPU domain + + The heuristic of using the mapping only before the first use in an + execbuffer was suboptimal and broken by the change in bo initialisation. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 510767e213c2f44563f5c438ad1234113567be90 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 22 18:33:09 2012 +0000 + + sna/gen4: Fix vertex flushing across batch flushing + + Due to the w/a for its buggy shaders, gen4 is significantly different + that backporting the simple patch from gen5 was prone to failure. We + need to check that the vertices have not already been flushed prior to + flushing again. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit f6392048e3e761b35644268ef161045524cfa369 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 22 17:00:38 2012 +0000 + + sna/blt: Avoid clobbering the composite state if we fail to setup the BLT + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 4e86da64be947fe4b8b5f285d26d200827847a8c +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 22 14:36:35 2012 +0000 + + sna/gen3+: Flush the vertices during vertex-finish + + But only when finishing the vbo, which is the tricky part of the recent + CA glyph bugs. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 71512b2438e06b2bd256aff3657797152fbef38e +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 22 13:44:24 2012 +0000 + + sna: Clear the flush flag on release of scanout/dri + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46445 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 025d3d46dc28e967b4f42e5748d13c7fb3ad283b +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 22 13:17:01 2012 +0000 + + sna/trapezoids: Only the inplace PictOpIn is unbounded + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit b02f866d67d60538368619849f2acda4c1706476 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 22 09:15:25 2012 +0000 + + sna: Ensure we restore the shadow pixels before uploading CPU data + + Reported-by: Joe Nahmias <j...@nahmias.net> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46425 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit be5df7b5ab487a1282c96dda92f3799e35cd19af +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 23:27:33 2012 +0000 + + sna/gen5: Remove CA glyph workaround + + The root cause has been found and destroyed, so the w/a is now + redundant. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 6038cede83e7f360428b4625d288411794f9d052 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 21:26:29 2012 +0000 + + sna/gen3+: Re-emit composite state after flushing CA vertices + + Reported-by: Clemens Eisserer <linuxhi...@gmail.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42891 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit fe6602cbbc4eed1b88ac731a30b46cc970ea444f +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 21:26:29 2012 +0000 + + sna/gen3+: Only flush the vertices after checking for end-of-batch + + Or upon actually closing the vertex buffer. + + However, the underlying issue remains. That is we are failing to re-emit + the first-pass for CA text after flushing the vertex buffer (and so + emitting the second-pass for the flushed vertices). + + Reported-by: lemens Eisserer <linuxhi...@gmail.com> + References: https://bugs.freedesktop.org/show_bug.cgi?id=42891 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 168c87a340119e65b1d7ccbbf59da820044ca936 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 13:16:43 2012 +0000 + + sna: Clear the scanout flag after releasing the scanout pixmap + + In the future, this will be a good place to restore the cache level of + the bo as well. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit d7415742a5f78958489216f450411603b1eff9a7 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 16:33:26 2012 +0000 + + sna/dri: Queue a flush on the back DRI2 when enqueing a flip + + As we may wait upon the bo having finished rendering before we can + execute the flip, flushing the render cache as early as possible is + beneficial + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 2715a455f7bfbecd7a6977184dc6180a09d06e1f +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 14:49:30 2012 +0000 + + uxa: Prevent laggy applications by throttling after rendering + + Before blocking and waiting for further input, we need to make sure that + we have not developed too large a queue of outstanding rendering. As we + rendering to the front-buffer with no natural throttling and allow X + clients to render as fast as they wish, it is entirely possible for a + large queue of outstanding rendering to develop. For such an example, + watch firefox rendering the fishietank demo and notice the delay that + can build up before the tooltips appear. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 26721893cb41cef66db7ef626881d1eba8a5bdea +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 13:31:16 2012 +0000 + + sna: Mark the pixmap as active for the force-to-gpu short-circuit + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 1541f1afca028453379083e564bc82debf0ba39a +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 13:17:35 2012 +0000 + + sna: Skip the CPU synchronization when marking a pixmap as inactive + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 74fd55a96bd6c63e9c49a4b7fee7ef91f6b00a2c +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 13:11:32 2012 +0000 + + sna/dri: Ensure that we reattach to the DRI2 front buffer after modeswitch + + If we change the Screen pixmap due to a change of mode, we lose the + flag that we've attached a DRI2 buffer to it. So the next time we try to + copy from/to it, reassert its DRI2 status. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit d051793b9194060f5408503b1fac56958c6e58e4 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 11:42:31 2012 +0000 + + sna/dri: Improve error handling of failing to create a DRI2 pixmap + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 580ae520cad749fb86a1bddd0fa2bcadfd60abb6 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 10:55:46 2012 +0000 + + sna: Short-circuit repeated calls to force-to-gpu + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit f2aafb98026b5c476b7f84aa2dc4c1f9ba2e573d +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 10:43:11 2012 +0000 + + uxa: Silence compiler warning for const arguments + + i965_video.c: In function 'gen6_create_cc_state': + i965_video.c:1374:12: warning: passing argument 4 of + 'intel_bo_alloc_for_data' discards 'const' qualifier from pointer target + type [enabled by default] + + Repeated ad nauseam. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 507f72d6d44963cae5d8d4b9da68165f73c6fd36 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 10:39:48 2012 +0000 + + uxa: Remove DPRINTF stubs + + It wasn't being used for anything non-trivial and was throwing compiler + warnings, so remove it. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit c72a67390ea243bf43e2ee4efe237ab88a4615b7 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 10:21:56 2012 +0000 + + sna/dri: Update for AsyncSwap interface changes + + We now need to return TRUE/FALSE depending on whether we need to + invalidate the drawable. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 27bc2acf0e6a0e5e071e0d187bdf71577e821af8 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 09:29:41 2012 +0000 + + sna: Fix use of RegionInit() for singular regions + + For a singular region, we want to use a value for nboxes of 0 not 1, + fortunately if you pass in a box, it ignores the value of nboxes. + RegionInit() is a most peculiar API! + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit d98b41ce4323b43d2359349a04a4a56559e341a2 +Author: Zhigang Gong <zhigang.g...@linux.intel.com> +Date: Fri Feb 17 19:50:52 2012 +0800 + + uxa/glamor/dri: Should fixup the drawable pixmap. + + Two fixes in this commit, first we only need to check the + front left buffer, for other attachment we don't need to + check them. The second is, we should fixup the pixmap's + drawable not the original drawable. + + Signed-off-by: Zhigang Gong <zhigang.g...@linux.intel.com> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 1e0d702c3a77f6db3dfd55b8cafc5fca4d778751 +Author: Zhigang Gong <zhigang.g...@linux.intel.com> +Date: Fri Feb 17 19:50:51 2012 +0800 + + uxa/glamor/dri: Enable the pageflip support on glamor. + + To support easy buffer exchange at glamor layer, glamor + added a new API glamor_egl_exchange_buffers() to exchange + two pixmaps' EGL image and fbos and textures without + recreating any of them. But this simple method's requirement + is that there are two pixmaps. A exceptional case is: + If we are using triple buffer when do page flipping, we + will have an extra back_buffer which doesn't have a pixmap + attached to it. Then each time we set that buffer to a + pixmap, we will have to call the create_egl_textured_pixmap + to create the corresponding EGL image and fbo and texture + for it. This is not efficient. + + To fix this issue, this commit introduces a new back_pixmap + to intel structure to hold the back buffer and corresponding + glamor resources. Then we will just need to do the light + weight buffer exchanging at both DDX and glamor layer. + + As the new back pixmap is similar to the screen pixmap + and need to be handled carefully when close screen. As the + glamor data structure is a per screen data, and will be + released at its close screen method. The glamor's close + screen method must cleanup the screen pixmap and back + pixmap's glamor resources. screen pixmap is easy to get, + but there is no good way to store the back pixmap. + + So the glamor add a new API glamor_egl_create_textured_screen_ext + function to pass the back pixmap's pointer to glamor layer. + + This commit make us depend on glamor commit: 4e58c4f. + And we increased the required glamor version from 0.3.0 to 0.3.1 + + Signed-off-by: Zhigang Gong <zhigang.g...@linux.intel.com> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit ce7a57994d662f340b9457a2750e4385e7d669cd +Author: Zhigang Gong <zhigang.g...@linux.intel.com> +Date: Fri Feb 17 19:50:50 2012 +0800 + + uxa/dri: Refine the pageflip processing. + + Add a new element back_name to intel structure to track + the back bo's name then avoid flink every time. + And at function I830DRI2ExchangeBuffers, after finish + the BO exchange between info's front and back pixmap, + it set the new front bo to the screen pixmap. But the + screen pixmap should be the same as front's pixmap, + so this is a duplicate operation and can be removed. + + Signed-off-by: Zhigang Gong <zhigang.g...@linux.intel.com> + +commit 1a65e2b8a2ebfb4d736efb7631515babad75faf2 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 21 08:09:52 2012 +0000 + + sna: Split up/down edge walking in order to handle endpoint clipping + + In order to prevent walking upwards off the top of the pixmap when + rendering a clipped vertical edge, we need to tweak the boundary + conditions for the vertical edge walker. + + Reported-by: Clemens Eisserer <linuxhi...@gmail.com> + References: https://bugs.freedesktop.org/show_bug.cgi?id=46261 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 7ea44997553ffdf57b346dc9d83742c511c9e5a4 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 20 23:50:42 2012 +0000 + + sna: Restore the shadow pixels when reducing CPU damage to all + + Reported-by: Joe Nahmias <j...@nahmias.net> + References: https://bugs.freedesktop.org/show_bug.cgi?id=46346 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit dbe0580e207ad85cb6a659f86c5746a7ecbcd036 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 20 16:30:53 2012 +0000 + + sna: gen4+ suffer no penalty for changing tiling + + On gen4, the tiling/fence constraints are fairly lax, only requiring + page alignment of the object and its size, and so we can switch + tiling modes without incurring a GPU stall on active bo. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit b68b76cf54a322e80685f1ec93538cd6c5813ea4 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 20 13:38:11 2012 +0000 + + sna: Move sync'ing of CPU bo after allocation to first write + + The idea was that we could afford to allocate an active CPU bo for + copying to from using the GPU and later sync just before we need to + write to the shadow pixels. Having the sync inside the allocation + function potentially causes an unwanted stall. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit bbb6794a3b97b1fcf72c8712ab0ec591683b128b +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 20 12:25:31 2012 +0000 + + sna: Trim clipped lines to end within bounds + + References: https://bugs.freedesktop.org/show_bug.cgi?id=46261 + References: https://bugs.freedesktop.org/show_bug.cgi?id=45673 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 805bc3310cd0a13eab8e48e7615bdd42638cfa33 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 20 12:09:19 2012 +0000 + + sna: When reversing line-drawing direction, use the clipped endpoint + + Make sure we take the clipping into account if we choose to reverse the + draw direction (to maintain left-to-right inside the box emission). + + References: https://bugs.freedesktop.org/show_bug.cgi?id=46261 + References: https://bugs.freedesktop.org/show_bug.cgi?id=45673 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 7f0a4a5f7224003a0cd226137de5a068949a41b4 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 20 09:52:37 2012 +0000 + + sna/dri: Ensure the domain tracking is reset when releasing bo used for swaps + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 7d147c7462ba183f5316e7e8dafeca62add6f97c +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Sun Feb 19 17:50:56 2012 +0000 + + sna: Correct tile sizes for Y-tiling on i915g + + 128-byte Y-tiling wasn't introduced until the 945. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 95391b7312147760d8da01fce68b8398aa8e4e2f +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 16 22:01:41 2012 +0000 + + sna/trapezoids: Presume that Precise mono rasterisation adheres to the spec + + References: https://bugs.freedesktop.org/show_bug.cgi?id=46156 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 52b11f63d7922032caef0f0a5979b080dbddcbfc +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 16 11:22:23 2012 +0000 + + sna: Upconvert fallback trapezoids to a8 + + Since the hardware only handles a8 without tricky emulation and pixman + insists on using a1 for sharp trapezoids we need to ensure that we + convert the a1 to a8 for our trapezoidal mask. + + More worryingly, this path should never be hit... + + References: https://bugs.freedesktop.org/show_bug.cgi?id=46156 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 8050ced6204f5aca12e6c57f86308b6ad1b98209 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 15 17:01:18 2012 +0000 + + sna/dri: Mark bo as reusable after completion of a flip-event + + After the flip chain is completed, any residual buffers are no longer in + use and so available for reuse. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit fc046aabde76142fce130773d78d797d7d750ab7 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 15 16:08:23 2012 +0000 + + sna/dri: Don't attempt to change tiling if it is a no-op + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 66cc9c69657ac2703f2c7fc3c2c50f06bf5daa99 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 15 11:58:42 2012 +0000 + + Be paranoid about the definition of container_of + + Replace any existing definition with a correct version, since there are + broken container_of macros floating around the xorg includes. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit c0376b7f7b083ab2e87edc36e56fd8eb99c3cd05 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Mon Feb 13 00:48:15 2012 +0000 + + Add a missing macro for old xorg/list.h + + list_last_entry() needs to be defined if we are including the xorg + list.h as opposed to our standalone variant. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 87bed52180cd2abd80ef6b58384f9fd9c9968f7b +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Sat Feb 11 20:54:18 2012 +0000 + + Include a local copy of list.h + + In 1.11.903, the list.h was renamed to xorg-list.h with a corresponding + change to all structures. As we carried local fixes to list.h and + extended functionality, just create our own list.h with a bit of + handwaving to protect us for the brief existence of xorg/include/list.h. + + Reported-by: Armin K <kre...@email.com> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45938 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit c64ebee5fdccf313cbd3c73850e02e6fa7dd2a65 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Sat Feb 11 13:31:12 2012 +0000 + + sna/gen6: Prefer the render ring for copies + + Slower for fills, but on the current stack faster for copies, both large + and small. Hopefully, when we write some good shaders for SNB, we will + not only improve performance for copies but also make fills faster on + the render ring than the blt? + + As the BLT copy routine is GPU bound for copywinpix10, and the RENDER + copy routine is CPU bound and faster, I believe that we have reached the + potential of the BLT ring and not yet saturated the GPU using the render + copy. + + Note that we still do not casually switch rings, so the actual routine + chosen will still be selected by the preceeding operations, so is + unlikely to have any effect in practice during, for example, cairo-traces. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 6a9b50177408c919ed5c6c2463f687476af2c698 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Sat Feb 11 11:02:53 2012 +0000 + + sna/gen6: Suppress the CS stall for the first command in the batch + + The batch emission serves as a full stall, so we do not need to incur a + second before our first rendering. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit cbe8bed83f0b4097958c4541ad7809a05e6c6f43 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Sat Feb 11 10:58:05 2012 +0000 + + sna/gen7: Mention the depth-stall required before changing VS state + + Because one day we may actually start using VS! Copied from the addition + of the w/a to Mesa by Kenneth Graunke. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 6193f2f00fa7205f9d736340318c66d116dca53e +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Feb 9 14:16:17 2012 +0000 + + sna: Fix retire after readback + + Upon reading, we encounter a serialisation point and so can retire all + requests. However, kgem_bo_retire() wasn't correctly detecting that + barrier and so we continued to using GPU detiling thinking the target + was still busy. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 4d8369f8e60fd4f5a0ef49f3e9866ea5ecb21927 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 8 13:15:46 2012 +0000 + + sna/gen2+: Force upload rather than perform source transformations on the CPU + + If both the source and destination is on the CPU, then the thinking was + it would be quicker to operate on those on the CPU rather than copy both + to the GPU and then perform the operation. This turns out to be a false + assumption if transformation is involved -- something to be reconsidered + if pixman should ever be improved. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 8634d461bd9e5a3d3f75b0efc11db87b8d3e1245 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Wed Feb 8 09:13:27 2012 +0000 + + sna: Limit max CPU bo size to prevent aperture thrashing on upload + + Copying between two objects that consume more than the available GATT + space is a painful experience due to the forced use of an intermediatory + and eviction on every batch. The tiled upload paths are in comparison + remarkably efficient, so favour their use when handling extremely large + buffers. + + This reverses the previous idea in that we now prefer large GPU bo + rather than large CPU bo, as the render pipeline is far more flexible + for handling those than the blitter is for handling the CPU bo (at least + for gen4+). + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 5b16972d7850b2347efc084311d664e14263cba1 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 7 23:45:37 2012 +0000 + + sna: Check that we successfully retired an active linear buffer + + If we go to the trouble of running retire before searching, we may as + well check that we retired something before proceeding to check all the + inactive lists. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 207b4d4482a6af4a39472ec20ff04fa0c9322d73 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 7 21:56:29 2012 +0000 + + sna: Relax must-be-blittable rules for gen4+ + + The render pipeline is actually more flexible than the blitter for + dealing with large surfaces and so the BLT is no longer the limiting + factor on gen4+. + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 13c960db9ef876ee99991d97dfc34fef184c0341 +Author: Zhigang Gong <zhigang.g...@linux.intel.com> +Date: Thu Feb 2 11:30:57 2012 +0800 + + uxa/glamor: Use a macro to specify module name. + + This depends upon glamor commit b5f8d, just after the 0.3.0 tag. + + Signed-off-by: Zhigang Gong <zhigang.g...@linux.intel.com> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 70092bfbc51ddc5a51c9cae21c6b2852c216a6fc +Author: Zhigang Gong <zhigang.g...@linux.intel.com> +Date: Wed Feb 1 19:47:28 2012 +0800 + + uxa/glamor: Refine CloseScreen and InitScreen process. + + The previous version calls glamor_egl_close_screen and + glamor_egl_free_screen manually which is not align with + standard process. Now glamor change the way to follow + standard method: + + glamor layer and glamor egl layer both have their internal + CloseScreens. The correct sequence is after the I830CloseScreen + is registered, then register glamor_egl_close_screen and + the last one is glamor_close_screen. So we move out the + intel_glamor_init from the intel_uxa_init to I830ScreenInit + and just after the registration of I830CloseScreen. + + As the glamor interfaces changed, we need to check the + glamor version when load the glamor egl module to make + sure we are loading the right glamor module. If + failed, it will switch back to UXA path. + + This depends upon glamor commit 1bc8bf tagged with version 0.3.0. + + Signed-off-by: Zhigang Gong <zhigang.g...@linux.intel.com> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 798aad6c95a1a95fd587430dc7a6d59497a10ce1 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 7 20:16:48 2012 +0000 + + sna/gen[4-7]: Fix erroneous scale factor for partial large bo render copies + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit ea6588726107f1ab0ef5a8f69d420b5bff819a76 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 7 15:26:50 2012 +0000 + + sna: Apply offsets correctly for partial src/dst in large copy boxes + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +commit 14c91e108464a305fb23b3313b842bfaeb9420fc +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Feb 7 15:25:48 2012 +0000 + + sna/tiling: Request Y-tiles if we know we cannot BLT to either the src or dst + + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> -- 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/e1s0vzu-0004gn...@vasks.debian.org