Wire up linux_dmabuf in rootston
This commit is contained in:
		
							parent
							
								
									14cdb6153f
								
							
						
					
					
						commit
						eb4337b5ee
					
				|  | @ -7,6 +7,7 @@ | |||
| #include <wlr/types/wlr_compositor.h> | ||||
| #include <wlr/types/wlr_gamma_control.h> | ||||
| #include <wlr/types/wlr_idle.h> | ||||
| #include <wlr/types/wlr_linux_dmabuf.h> | ||||
| #include <wlr/types/wlr_list.h> | ||||
| #include <wlr/types/wlr_output_layout.h> | ||||
| #include <wlr/types/wlr_output.h> | ||||
|  | @ -46,6 +47,7 @@ struct roots_desktop { | |||
| 	struct wlr_primary_selection_device_manager *primary_selection_device_manager; | ||||
| 	struct wlr_idle *idle; | ||||
| 	struct wlr_idle_inhibit_manager_v1 *idle_inhibit; | ||||
| 	struct wlr_linux_dmabuf *linux_dmabuf; | ||||
| 
 | ||||
| 	struct wl_listener new_output; | ||||
| 	struct wl_listener layout_change; | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| #include <wlr/types/wlr_cursor.h> | ||||
| #include <wlr/types/wlr_gamma_control.h> | ||||
| #include <wlr/types/wlr_idle.h> | ||||
| #include <wlr/types/wlr_linux_dmabuf.h> | ||||
| #include <wlr/types/wlr_output_layout.h> | ||||
| #include <wlr/types/wlr_idle_inhibit_v1.h> | ||||
| #include <wlr/types/wlr_primary_selection.h> | ||||
|  | @ -729,6 +730,8 @@ struct roots_desktop *desktop_create(struct roots_server *server, | |||
| 	desktop->idle = wlr_idle_create(server->wl_display); | ||||
| 	desktop->idle_inhibit = wlr_idle_inhibit_v1_create(server->wl_display); | ||||
| 
 | ||||
| 	struct wlr_egl *egl = wlr_backend_get_egl(server->backend); | ||||
| 	desktop->linux_dmabuf = wlr_linux_dmabuf_create(server->wl_display, egl); | ||||
| 	return desktop; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -176,7 +176,7 @@ static void params_create_common(struct wl_client *client, | |||
| 	} | ||||
| 
 | ||||
| 	if ((uint64_t)buffer->attributes.offset[0] + | ||||
| 			(uint64_t) buffer->attributes.stride[0] * height > UINT32_MAX) { | ||||
| 			(uint64_t)buffer->attributes.stride[0] * height > UINT32_MAX) { | ||||
| 		wl_resource_post_error(params_resource, | ||||
| 			ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS, | ||||
| 			"size overflow for plane"); | ||||
|  | @ -205,15 +205,15 @@ static void params_create_common(struct wl_client *client, | |||
| 			wl_resource_post_error(params_resource, | ||||
| 				ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS, | ||||
| 				"invalid buffer stride or height for plane"); | ||||
| 				goto err_out; | ||||
| 			goto err_out; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/* reject unknown flags */ | ||||
| 	if (buffer->attributes.flags & ~ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_Y_INVERT) { | ||||
| 		wl_resource_post_error(params_resource, | ||||
| 				ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT, | ||||
| 				"Unknown dmabuf flags %"PRIu32, buffer->attributes.flags); | ||||
| 			ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT, | ||||
| 			"Unknown dmabuf flags %"PRIu32, buffer->attributes.flags); | ||||
| 		goto err_out; | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue