summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-08-25 12:56:43 +0100
committerOwain G. Ainsworth <oga@openbsd.org>2010-09-12 04:52:11 +0100
commit56f3afcc7b7b11b7eeabe197176a74892449221d (patch)
tree630c02bdcb8958e9f7b09e66603429342a561f4d /man
parentde486ee8e4295d5d827692b26c5c12b7a26c9d01 (diff)
Enable a shadow buffer and disable GPU acceleration.
An attempt to workaround the incoherency in gen2 chipsets, we avoid using dynamic reallocation as much as possible. The first step is to disable allocation of pixmaps using GEM and simply create them in system memory without a backing buffer object. This forces all rendering to use S/W fallbacks. The second step is to allocate a shadow front buffer and assign that to the Screen pixmap. This ensure that the front buffer remains in the GTT and pinned for scanout. The shadow buffer will be rendered to in the normal fashion via the Screen pixmap, and be marked dirty. In the block handler, the dirty shadow buffer is then blitted (using the GPU) over the front buffer. This should completely avoid having to move pages around in the GTT and avoid incurring the wrath of those early chipsets. Secondly, performance should be reasonable as we avoid the ping-pong caused by the small aperture and weak GPU forcing software fallbacks. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Owain G. Ainsworth <oga@openbsd.org> (cherry-picked from commit 2b96c18165d713cd6781dbf217ec33e11cc961bc) Also pulled in the following commit: commit ae160d7fbfc79e78dad8702efcc55d9c0c25ff67 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Sep 10 13:19:12 2010 +0100 shadow: Simply modify the Screen pixmap header This is a slightly less risky strategy than having to remember to update all pointers to the old Screen pixmap. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'man')
-rw-r--r--man/intel.man14
1 files changed, 14 insertions, 0 deletions
diff --git a/man/intel.man b/man/intel.man
index 1e8b3605..e11ced17 100644
--- a/man/intel.man
+++ b/man/intel.man
@@ -204,6 +204,20 @@ i.e. perform synchronous rendering.
.IP
Default: Disabled
.TP
+.BI "Option \*qShadow\*q \*q" boolean \*q
+This option controls the use of GPU acceleration and placement of auxiliary
+buffers in memory. Enabling the Shadow will disable all use of the GPU for
+RENDER acceleration and force software-fallbacks for all but updating the
+scan-out buffer. Hardware overlay is still supported so Xv will continue to
+playback videos using the GPU, but GL will be forced to use software
+rasterisation as well. This is a last resort measure for systems with
+crippling bugs, such as early 8xx chipsets. It is still hoped that we will
+find a workaround to enable as much hardware acceleration on those
+architectures as is possible, but until then, using a shadow buffer should
+maintain system stability.
+.IP
+Default: Disabled
+.TP
.BI "Option \*qSwapbuffersWait\*q \*q" boolean \*q
This option controls the behavior of glXSwapBuffers and glXCopySubBufferMESA
calls by GL applications. If enabled, the calls will avoid tearing by making