backend/drm: move legacy-specific checks to legacy.c
Now that we have a test_only arg in crtc_commit, we can move the legacy checks to legacy.c.
This commit is contained in:
		
							parent
							
								
									017555651b
								
							
						
					
					
						commit
						fde56c20b4
					
				|  | @ -419,14 +419,6 @@ static bool drm_connector_set_pending_fb(struct wlr_drm_connector *conn, | |||
| 		} | ||||
| 		break; | ||||
| 	case WLR_OUTPUT_STATE_BUFFER_SCANOUT:; | ||||
| 		/* Legacy never gets to have nice things. But I doubt this would ever work,
 | ||||
| 		 * and there is no reliable way to try, without risking messing up the | ||||
| 		 * modesetting state. */ | ||||
| 		if (drm->iface == &legacy_iface) { | ||||
| 			wlr_drm_conn_log(conn, WLR_DEBUG, | ||||
| 				"Cannot use direct scan-out with legacy KMS API"); | ||||
| 			return false; | ||||
| 		} | ||||
| 		if (!drm_fb_import(&plane->pending_fb, drm, state->buffer, | ||||
| 				&crtc->primary->formats)) { | ||||
| 			wlr_drm_conn_log(conn, WLR_DEBUG, | ||||
|  |  | |||
|  | @ -8,9 +8,24 @@ | |||
| #include "backend/drm/iface.h" | ||||
| #include "backend/drm/util.h" | ||||
| 
 | ||||
| static bool legacy_crtc_test(struct wlr_drm_connector *conn, | ||||
| 		const struct wlr_output_state *state) { | ||||
| 	if ((state->committed & WLR_OUTPUT_STATE_BUFFER) && | ||||
| 			state->buffer_type == WLR_OUTPUT_STATE_BUFFER_SCANOUT) { | ||||
| 		wlr_drm_conn_log(conn, WLR_DEBUG, | ||||
| 			"Cannot use direct scan-out with legacy KMS API"); | ||||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| static bool legacy_crtc_commit(struct wlr_drm_backend *drm, | ||||
| 		struct wlr_drm_connector *conn, const struct wlr_output_state *state, | ||||
| 		uint32_t flags, bool test_only) { | ||||
| 	if (!legacy_crtc_test(conn, state)) { | ||||
| 		return false; | ||||
| 	} | ||||
| 	if (test_only) { | ||||
| 		return true; | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue