xf86-video-intel: 2 commits - src/sna/kgem.c src/sna/kgem.h src/sna/sna_accel.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Dec 5 01:42:50 PST 2012


 src/sna/kgem.c      |    4 ++--
 src/sna/kgem.h      |    2 +-
 src/sna/sna_accel.c |   14 ++++++++------
 3 files changed, 11 insertions(+), 9 deletions(-)

New commits:
commit 0040eb84c9187476a75202ebb251dd74354e4fc7
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Dec 5 09:25:17 2012 +0000

    sna: Don't disable CPU bo if supported on unknown hw
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index b7030cd..51ea1a8 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -1158,27 +1158,29 @@ static PixmapPtr sna_create_pixmap(ScreenPtr screen,
 		goto fallback;
 	}
 
-	if (!can_render(sna))
+	if (unlikely(!sna->have_render))
+		flags &= ~KGEM_CAN_CREATE_GPU;
+	if (wedged(sna))
 		flags = 0;
 
-	if (usage == CREATE_PIXMAP_USAGE_SCRATCH) {
+	switch (usage) {
+	case CREATE_PIXMAP_USAGE_SCRATCH:
 		if (flags & KGEM_CAN_CREATE_GPU)
 			return sna_pixmap_create_scratch(screen,
 							 width, height, depth,
 							 I915_TILING_X);
 		else
 			goto fallback;
-	}
 
-	if (usage == SNA_CREATE_GLYPHS) {
+	case SNA_CREATE_GLYPHS:
 		if (flags & KGEM_CAN_CREATE_GPU)
 			return sna_pixmap_create_scratch(screen,
 							 width, height, depth,
 							 -I915_TILING_Y);
 		else
 			goto fallback;
-	}
-	if (usage == SNA_CREATE_SCRATCH) {
+
+	case SNA_CREATE_SCRATCH:
 		if (flags & KGEM_CAN_CREATE_GPU)
 			return sna_pixmap_create_scratch(screen,
 							 width, height, depth,
commit 14069f48645867a735ebdccb1e27a62364643c38
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Dec 5 09:24:02 2012 +0000

    sna: Assume that future hardware only gets more flexible
    
    E.g. that BLT can always write to cacheable memory, inflexible fences
    are a thing of the past, etc.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 59b5d24..cc86d22 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -833,7 +833,7 @@ static int kgem_get_screen_index(struct kgem *kgem)
 	return sna->scrn->scrnIndex;
 }
 
-void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
+void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, unsigned gen)
 {
 	struct drm_i915_gem_get_aperture aperture;
 	size_t totalram;
@@ -1008,7 +1008,7 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
 		kgem->max_gpu_size = totalram / 4;
 
 	half_gpu_max = kgem->max_gpu_size / 2;
-	if (kgem->gen >= 040)
+	if (gen >= 040)
 		kgem->max_cpu_size = half_gpu_max;
 	else
 		kgem->max_cpu_size = kgem->max_object_size;
diff --git a/src/sna/kgem.h b/src/sna/kgem.h
index 63b3857..6a3149a 100644
--- a/src/sna/kgem.h
+++ b/src/sna/kgem.h
@@ -207,7 +207,7 @@ struct kgem {
 #define KGEM_EXEC_SIZE(K) (int)(ARRAY_SIZE((K)->exec)-KGEM_EXEC_RESERVED)
 #define KGEM_RELOC_SIZE(K) (int)(ARRAY_SIZE((K)->reloc)-KGEM_RELOC_RESERVED)
 
-void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen);
+void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, unsigned gen);
 void kgem_reset(struct kgem *kgem);
 
 struct kgem_bo *kgem_create_map(struct kgem *kgem,


More information about the xorg-commit mailing list