xf86-video-intel: src/sna/kgem.c src/sna/sna_accel.c
Chris Wilson
ickle at kemper.freedesktop.org
Fri Oct 31 09:58:12 PDT 2014
src/sna/kgem.c | 6 +++---
src/sna/sna_accel.c | 4 ++++
2 files changed, 7 insertions(+), 3 deletions(-)
New commits:
commit 122f6065604480a57b86f04d5d09011ee6e8829b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Oct 31 16:50:04 2014 +0000
sna: Fix forced fallbacks from init
As we now override a few hooks when we mark the GPU as wedged, we also
need to preserve those overrides during initialisation. Fixes DBG_NO_HW.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index f1e426d..f5cdc6c 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1467,11 +1467,11 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, unsigned gen)
if (!is_hw_supported(kgem, dev)) {
xf86DrvMsg(kgem_get_screen_index(kgem), X_WARNING,
"Detected unsupported/dysfunctional hardware, disabling acceleration.\n");
- kgem->wedged = 1;
+ __kgem_set_wedged(kgem);
} else if (__kgem_throttle(kgem, false)) {
xf86DrvMsg(kgem_get_screen_index(kgem), X_WARNING,
"Detected a hung GPU, disabling acceleration.\n");
- kgem->wedged = 1;
+ __kgem_set_wedged(kgem);
}
kgem->batch_size = UINT16_MAX & ~7;
@@ -1489,7 +1489,7 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, unsigned gen)
if (!kgem_init_pinned_batches(kgem) && gen == 020) {
xf86DrvMsg(kgem_get_screen_index(kgem), X_WARNING,
"Unable to reserve memory for GPU, disabling acceleration.\n");
- kgem->wedged = 1;
+ __kgem_set_wedged(kgem);
}
DBG(("%s: maximum batch size? %d\n", __FUNCTION__,
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index d214260..cd0b907 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -17711,6 +17711,9 @@ static bool sna_option_accel_none(struct sna *sna)
{
const char *s;
+ if (wedged(sna))
+ return true;
+
if (xf86ReturnOptValBool(sna->Options, OPTION_ACCEL_DISABLE, FALSE))
return true;
@@ -17812,6 +17815,7 @@ bool sna_accel_init(ScreenPtr screen, struct sna *sna)
if (sna_option_accel_none(sna)) {
backend = "disabled";
sna->kgem.wedged = true;
+ sna_render_mark_wedged(sna);
} else if (sna_option_accel_blt(sna) || sna->info->gen >= 0110)
(void)backend;
else if (sna->info->gen >= 0100)
More information about the xorg-commit
mailing list