modesetting: Fix swapping of provider sink / source capabilities

When a card has import capability it can be an offload _sink_, not
a source and vice versa for export capability.

This commit fixes the modesetting driver to properly set these
capabilities, this went unnoticed sofar because most gpus have both
import and export capability.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
(cherry picked from commit 94a1c77259)
This commit is contained in:
Hans de Goede 2016-06-16 15:21:03 +02:00 committed by Adam Jackson
parent 0dc1a58b93
commit a9f970fe28

View file

@ -891,11 +891,11 @@ PreInit(ScrnInfoPtr pScrn, int flags)
if (value & DRM_PRIME_CAP_IMPORT) {
pScrn->capabilities |= RR_Capability_SinkOutput;
if (ms->drmmode.glamor)
pScrn->capabilities |= RR_Capability_SourceOffload;
pScrn->capabilities |= RR_Capability_SinkOffload;
}
#if GLAMOR_HAS_GBM_LINEAR
if (value & DRM_PRIME_CAP_EXPORT && ms->drmmode.glamor)
pScrn->capabilities |= RR_Capability_SourceOutput | RR_Capability_SinkOffload;
pScrn->capabilities |= RR_Capability_SourceOutput | RR_Capability_SourceOffload;
#endif
}
#endif