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