mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	render/egl: remove wlr_egl_{create,destroy}_surface
Breaking changes: wlr_egl_create_surface and wlr_egl_destroy_surface have been removed and no longer exist.
This commit is contained in:
		
							parent
							
								
									34e7f69d69
								
							
						
					
					
						commit
						705b3da7cb
					
				
					 2 changed files with 0 additions and 36 deletions
				
			
		| 
						 | 
				
			
			@ -57,7 +57,6 @@ struct wlr_egl {
 | 
			
		|||
 | 
			
		||||
	struct {
 | 
			
		||||
		PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
 | 
			
		||||
		PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC eglCreatePlatformWindowSurfaceEXT;
 | 
			
		||||
		PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
 | 
			
		||||
		PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
 | 
			
		||||
		PFNEGLQUERYWAYLANDBUFFERWL eglQueryWaylandBufferWL;
 | 
			
		||||
| 
						 | 
				
			
			@ -100,12 +99,6 @@ void wlr_egl_destroy(struct wlr_egl *egl);
 | 
			
		|||
 */
 | 
			
		||||
bool wlr_egl_bind_display(struct wlr_egl *egl, struct wl_display *local_display);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns a surface for the given native window
 | 
			
		||||
 * The window must match the remote display the wlr_egl was created with.
 | 
			
		||||
 */
 | 
			
		||||
EGLSurface wlr_egl_create_surface(struct wlr_egl *egl, void *window);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Creates an EGL image from the given wl_drm buffer resource.
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -164,8 +157,6 @@ void wlr_egl_save_context(struct wlr_egl_context *context);
 | 
			
		|||
 */
 | 
			
		||||
bool wlr_egl_restore_context(struct wlr_egl_context *context);
 | 
			
		||||
 | 
			
		||||
bool wlr_egl_destroy_surface(struct wlr_egl *egl, EGLSurface surface);
 | 
			
		||||
 | 
			
		||||
int wlr_egl_dup_drm_fd(struct wlr_egl *egl);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										27
									
								
								render/egl.c
									
										
									
									
									
								
							
							
						
						
									
										27
									
								
								render/egl.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -174,8 +174,6 @@ struct wlr_egl *wlr_egl_create(EGLenum platform, void *remote_display,
 | 
			
		|||
	}
 | 
			
		||||
	load_egl_proc(&egl->procs.eglGetPlatformDisplayEXT,
 | 
			
		||||
		"eglGetPlatformDisplayEXT");
 | 
			
		||||
	load_egl_proc(&egl->procs.eglCreatePlatformWindowSurfaceEXT,
 | 
			
		||||
		"eglCreatePlatformWindowSurfaceEXT");
 | 
			
		||||
 | 
			
		||||
	if (check_egl_ext(client_exts_str, "EGL_KHR_debug")) {
 | 
			
		||||
		load_egl_proc(&egl->procs.eglDebugMessageControlKHR,
 | 
			
		||||
| 
						 | 
				
			
			@ -418,17 +416,6 @@ bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImage image) {
 | 
			
		|||
	return egl->procs.eglDestroyImageKHR(egl->display, image);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
EGLSurface wlr_egl_create_surface(struct wlr_egl *egl, void *window) {
 | 
			
		||||
	assert(egl->procs.eglCreatePlatformWindowSurfaceEXT);
 | 
			
		||||
	EGLSurface surf = egl->procs.eglCreatePlatformWindowSurfaceEXT(
 | 
			
		||||
		egl->display, egl->config, window, NULL);
 | 
			
		||||
	if (surf == EGL_NO_SURFACE) {
 | 
			
		||||
		wlr_log(WLR_ERROR, "Failed to create EGL surface");
 | 
			
		||||
		return EGL_NO_SURFACE;
 | 
			
		||||
	}
 | 
			
		||||
	return surf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool wlr_egl_make_current(struct wlr_egl *egl) {
 | 
			
		||||
	if (!eglMakeCurrent(egl->display, EGL_NO_SURFACE, EGL_NO_SURFACE,
 | 
			
		||||
			egl->context)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -737,20 +724,6 @@ bool wlr_egl_export_image_to_dmabuf(struct wlr_egl *egl, EGLImageKHR image,
 | 
			
		|||
	return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool wlr_egl_destroy_surface(struct wlr_egl *egl, EGLSurface surface) {
 | 
			
		||||
	if (!surface) {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	if (eglGetCurrentContext() == egl->context &&
 | 
			
		||||
			eglGetCurrentSurface(EGL_DRAW) == surface) {
 | 
			
		||||
		// Reset the current EGL surface in case it's the one we're destroying,
 | 
			
		||||
		// otherwise the next wlr_egl_make_current call will result in a
 | 
			
		||||
		// use-after-free.
 | 
			
		||||
		wlr_egl_make_current(egl);
 | 
			
		||||
	}
 | 
			
		||||
	return eglDestroySurface(egl->display, surface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static bool device_has_name(const drmDevice *device, const char *name) {
 | 
			
		||||
	for (size_t i = 0; i < DRM_NODE_MAX; i++) {
 | 
			
		||||
		if (!(device->available_nodes & (1 << i))) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue