xf86-video-intel: 3 commits - src/sna/gen3_render.c src/sna/kgem.c src/sna/sna_composite.c src/sna/sna_io.c
Chris Wilson
ickle at kemper.freedesktop.org
Sun Jan 15 02:31:46 PST 2012
src/sna/gen3_render.c | 3 ++-
src/sna/kgem.c | 16 +++++++++++++---
src/sna/sna_composite.c | 2 +-
src/sna/sna_io.c | 17 ++++++++---------
4 files changed, 24 insertions(+), 14 deletions(-)
New commits:
commit 5df7147b0934dadc63459c2c0f33e0663692425a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sun Jan 15 10:28:00 2012 +0000
sna: Restore the kgem_create_map() symbol
As the stub is exported to the driver even in the absence of vmapping.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 830a2ba..32d3fa0 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2775,6 +2775,13 @@ struct kgem_bo *kgem_create_map(struct kgem *kgem,
__FUNCTION__, ptr, size, read_only, handle));
return bo;
}
+#else
+struct kgem_bo *kgem_create_map(struct kgem *kgem,
+ void *ptr, uint32_t size,
+ bool read_only)
+{
+ return 0;
+}
#endif
void kgem_bo_sync__cpu(struct kgem *kgem, struct kgem_bo *bo)
commit be53740c6f0bb182e3d88f0597f127732c839316
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sun Jan 15 10:16:13 2012 +0000
sna: Various DBG typos
Fix some mispellings inside the DBG messages
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index cd59a08..b131b89 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -4019,7 +4019,8 @@ gen3_render_fill_boxes_try_blt(struct sna *sna,
color->blue,
color->alpha,
format)) {
- DBG(("%s: unknown format %lx\n", __FUNCTION__, format));
+ DBG(("%s: unknown format %x\n", __FUNCTION__,
+ (uint32_t)format));
return FALSE;
}
} else {
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 2c77bc5..830a2ba 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -629,7 +629,7 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
while (kgem->partial_buffer_size < kgem->aperture_mappable >> 10)
kgem->partial_buffer_size *= 2;
DBG(("%s: partial buffer size=%d [%d KiB]\n", __FUNCTION__,
- kgem->partial_buffer_size, kgem->partial_buffer_zie / 1024));
+ kgem->partial_buffer_size, kgem->partial_buffer_size / 1024));
kgem->min_alignment = 4;
if (gen < 60)
@@ -3292,8 +3292,11 @@ void kgem_buffer_read_sync(struct kgem *kgem, struct kgem_bo *_bo)
if (bo->mmapped) {
struct drm_i915_gem_set_domain set_domain;
- DBG(("%s: sync: needs_flush? %d, domain? %d, busy? %d\n", __FUNCTION__,
- bo->needs_flush, bo->domain, kgem_busy(kgem, bo->handle)));
+ DBG(("%s: sync: needs_flush? %d, domain? %d, busy? %d\n",
+ __FUNCTION__,
+ bo->base.needs_flush,
+ bo->base.domain,
+ kgem_busy(kgem, bo->base.handle)));
VG_CLEAR(set_domain);
set_domain.handle = bo->base.handle;
diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c
index f8f61f5..4111b8d 100644
--- a/src/sna/sna_composite.c
+++ b/src/sna/sna_composite.c
@@ -434,7 +434,7 @@ sna_composite(CARD8 op,
}
if (op == PictOpClear) {
- DBG(("%s: discarind sourceand mask for clear\n", __FUNCTION__));
+ DBG(("%s: discarding source and mask for clear\n", __FUNCTION__));
mask = NULL;
src = clear;
}
commit 349e9a7b94199e759acaaccac3abf5e28f3c246f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sun Jan 15 10:04:11 2012 +0000
sna: Prefer read-boxes inplace again
Using the gpu to do the detiling just incurs extra latency and an extra
copy, so go back to using a fence and GTT mapping for the common path.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c
index d6b988f..5d3e9e5 100644
--- a/src/sna/sna_io.c
+++ b/src/sna/sna_io.c
@@ -115,16 +115,15 @@ void sna_read_boxes(struct sna *sna,
}
#endif
- if (DEBUG_NO_IO || kgem->wedged || src_bo->tiling == I915_TILING_Y) {
- read_boxes_inplace(kgem,
- src_bo, src_dx, src_dy,
- dst, dst_dx, dst_dy,
- box, nbox);
- return;
- }
+ /* XXX The gpu is faster to perform detiling in bulk, but takes
+ * longer to setup and retrieve the results, with an additional
+ * copy. The long term solution is to use snoopable bo and avoid
+ * this path.
+ */
- if (src_bo->tiling != I915_TILING_X &&
- !kgem_bo_map_will_stall(kgem, src_bo)) {
+ if (DEBUG_NO_IO || kgem->wedged ||
+ !kgem_bo_map_will_stall(kgem, src_bo) ||
+ src_bo->tiling != I915_TILING_X) {
read_boxes_inplace(kgem,
src_bo, src_dx, src_dy,
dst, dst_dx, dst_dy,
More information about the xorg-commit
mailing list