compositor-drm: handle vblanks on secondary crtc
Signed-off-by: Rob Clark <rob@ti.com>
This commit is contained in:
committed by
Kristian Høgsberg
parent
19a4c2db26
commit
5ca1a47e23
@@ -116,6 +116,7 @@ struct drm_output {
|
|||||||
|
|
||||||
char *name;
|
char *name;
|
||||||
uint32_t crtc_id;
|
uint32_t crtc_id;
|
||||||
|
int pipe;
|
||||||
uint32_t connector_id;
|
uint32_t connector_id;
|
||||||
drmModeCrtcPtr original_crtc;
|
drmModeCrtcPtr original_crtc;
|
||||||
|
|
||||||
@@ -407,6 +408,9 @@ drm_output_repaint(struct weston_output *output_base,
|
|||||||
weston_log("setplane failed: %d: %s\n",
|
weston_log("setplane failed: %d: %s\n",
|
||||||
ret, strerror(errno));
|
ret, strerror(errno));
|
||||||
|
|
||||||
|
if (output->pipe > 0)
|
||||||
|
vbl.request.type |= DRM_VBLANK_SECONDARY;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Queue a vblank signal so we know when the surface
|
* Queue a vblank signal so we know when the surface
|
||||||
* becomes active on the display or has been replaced.
|
* becomes active on the display or has been replaced.
|
||||||
@@ -1365,6 +1369,7 @@ create_output_for_connector(struct drm_compositor *ec,
|
|||||||
output->name = strdup(name);
|
output->name = strdup(name);
|
||||||
|
|
||||||
output->crtc_id = resources->crtcs[i];
|
output->crtc_id = resources->crtcs[i];
|
||||||
|
output->pipe = i;
|
||||||
ec->crtc_allocator |= (1 << output->crtc_id);
|
ec->crtc_allocator |= (1 << output->crtc_id);
|
||||||
output->connector_id = connector->connector_id;
|
output->connector_id = connector->connector_id;
|
||||||
ec->connector_allocator |= (1 << output->connector_id);
|
ec->connector_allocator |= (1 << output->connector_id);
|
||||||
|
|||||||
Reference in New Issue
Block a user