[RFC xserver v6 05/14] modesetting: Use atomic modesetting API for pageflip if available
Adam Jackson
ajax at nwnk.net
Mon Feb 19 19:48:56 UTC 2018
On Thu, 2018-02-15 at 23:15 -0500, Louis-Francis Ratté-Boulianne wrote:
> In order to flip between compressed and uncompressed buffers -
> something drmModePageFlip explicitly bans us from doing - we need
> to port use the atomic modesetting API. It's only 'fake' atomic
> though given we still commit for each CRTC separately and
> CRTC and connector properties are not set with the atomic API.
>
> The helper functions to retrieve DRM properties have been borrowed
> from Weston.
This doesn't build:
> +int
> +drmmode_crtc_set_fb(xf86CrtcPtr crtc, uint32_t fb_id,
> + int x, int y, uint32_t flags, void *data)
> +{
> + modesettingPtr ms = modesettingPTR(crtc->scrn);
> + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
> + drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
> + int ret = 0;
> +
> +#ifdef GLAMOR_HAS_DRM_ATOMIC
> + if (ms->atomic_modeset) {
> + drmModeAtomicReq *req = drmModeAtomicAlloc();
> +
> + if (!req)
> + return 1;
> +
> + ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_FB_ID,
> + fb_id);
> + ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_CRTC_ID,
> + drmmode_crtc->mode_crtc->crtc_id);
> + ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_SRC_X, x);
../hw/xfree86/drivers/modesetting/drmmode_display.c: In function ‘drmmode_crtc_set_fb’:
../hw/xfree86/drivers/modesetting/drmmode_display.c:290:50: error: ‘DRMMODE_PLANE_SRC_X’ undeclared (first use in this function); did you mean ‘DRMMODE_PLANE_CRTC_ID’?
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_SRC_X, x);
^~~~~~~~~~~~~~~~~~~
DRMMODE_PLANE_CRTC_ID
- ajax
More information about the xorg-devel
mailing list