xf86-video-intel: 2 commits - src/sna/kgem.c src/sna/sna_display.c src/sna/sna_display_fake.c src/sna/sna_driver.c
Chris Wilson
ickle at kemper.freedesktop.org
Tue Aug 26 03:45:01 PDT 2014
src/sna/kgem.c | 3 ++-
src/sna/sna_display.c | 5 +++--
src/sna/sna_display_fake.c | 4 +++-
src/sna/sna_driver.c | 6 ++++++
4 files changed, 14 insertions(+), 4 deletions(-)
New commits:
commit 51037706b068b52b7c8984527c209d295e1e3584
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Aug 26 11:43:28 2014 +0100
sna: Fix attaching to a headless configuration
ADDFB fails with a headless config (as any fb size is invalid).
Fortunately, with headless we can use any depth we like.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index ea0324b..d162def 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5677,13 +5677,13 @@ bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna)
sna_cursor_pre_init(sna);
sna_backlight_pre_init(sna);
+
+ set_size_range(sna);
} else {
if (num_fake == 0)
num_fake = 1;
}
- set_size_range(sna);
-
if (!sna_mode_fake_init(sna, num_fake))
return false;
@@ -5740,6 +5740,7 @@ sna_mode_set_primary(struct sna *sna)
if (!xf86ReturnOptValBool(output->options, OPTION_PRIMARY, FALSE))
continue;
+ DBG(("%s: setting PrimaryOutput %s\n", __FUNCTION__, output->name));
rr->primaryOutput = output->randr_output;
RROutputChanged(rr->primaryOutput, 0);
rr->layoutChanged = TRUE;
diff --git a/src/sna/sna_display_fake.c b/src/sna/sna_display_fake.c
index b143d86..4d74c38 100644
--- a/src/sna/sna_display_fake.c
+++ b/src/sna/sna_display_fake.c
@@ -331,8 +331,10 @@ bool sna_mode_fake_init(struct sna *sna, int num_fake)
if (num_fake == 0)
return true;
- if (sna->mode.num_real_crtc == 0)
+ if (sna->mode.num_real_crtc == 0) {
xf86CrtcConfigInit(sna->scrn, &sna_mode_funcs);
+ xf86CrtcSetSizeRange(sna->scrn, 1, 1, INT16_MAX, INT16_MAX);
+ }
ret = true;
while (ret && num_fake--)
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 4b35fe9..66f72dc 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -445,8 +445,14 @@ static Bool fb_supports_depth(int fd, int depth)
{
struct drm_i915_gem_create create;
struct drm_mode_fb_cmd fb;
+ struct drm_mode_card_res res;
Bool ret;
+ memset(&res, 0, sizeof(res));
+ (void)drmIoctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res);
+ if (res.count_crtcs == 0)
+ return TRUE;
+
VG_CLEAR(create);
create.handle = 0;
create.size = 4096;
commit 8c5229cf8fc642f8b7e091c38bfd27032ee5e48c
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sun Aug 24 16:25:05 2014 +0100
sna: Make one last gasp at submitting the execbuffer before bailing
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 16f72a0..6d4e074 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -3209,7 +3209,8 @@ retry:
if (kgem_cleanup_cache(kgem))
goto retry;
- return ret;
+ /* last gasp */
+ return do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf);
}
void _kgem_submit(struct kgem *kgem)
More information about the xorg-commit
mailing list