diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-01-17 10:09:54 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2015-01-23 10:11:30 -0800 |
commit | 082931014811e587a9734cbf4d88fd948979b641 (patch) | |
tree | d4a2eff44e9ad095a3cee93b9781e3488b1e3fb5 | |
parent | f27d743c1899f307ec8063febbb3198c8945d372 (diff) |
dri2: SourceOffloads may be for DRI3 only
As a DDX may declare offload support without supporting DRI2
(because it is using an alternative acceleration mechanism like DRI3),
when iterating the list of offload_source Screens to find a matching
DRI2 provider we need to check before assuming it is DRI2 capable.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88514
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | hw/xfree86/dri2/dri2.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index c8fcd6220..0b4336900 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -156,6 +156,9 @@ GetScreenPrime(ScreenPtr master, int prime_id) DRI2ScreenPtr ds; ds = DRI2GetScreen(slave); + if (ds == NULL) + continue; + if (ds->prime_id == prime_id) return slave; } |