diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index efd8a1d7..b90cc82d 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -107,7 +107,6 @@ struct gl_output_state { EGLSurface egl_surface; struct gl_border_image borders[4]; enum gl_border_status border_status; - bool swap_behavior_is_preserved; struct weston_matrix output_matrix; @@ -1665,8 +1664,6 @@ output_get_buffer_age(struct weston_output *output) weston_log("buffer age query failed.\n"); gl_renderer_print_egl_error_state(); } - } else if (go->swap_behavior_is_preserved) { - buffer_age = 1; } return buffer_age; @@ -3721,61 +3718,6 @@ gl_renderer_output_window_create(struct weston_output *output, return ret; } -static int -gl_renderer_output_pbuffer_create(struct weston_output *output, - const struct gl_renderer_pbuffer_options *options) -{ - struct gl_renderer *gr = get_renderer(output->compositor); - struct gl_output_state *go; - EGLConfig pbuffer_config; - EGLSurface egl_surface; - EGLint value = 0; - int ret; - EGLint pbuffer_attribs[] = { - EGL_WIDTH, options->fb_size.width, - EGL_HEIGHT, options->fb_size.height, - EGL_NONE - }; - - pbuffer_config = gl_renderer_get_egl_config(gr, EGL_PBUFFER_BIT, - options->formats, - options->formats_count); - if (pbuffer_config == EGL_NO_CONFIG_KHR) { - weston_log("failed to choose EGL config for PbufferSurface\n"); - return -1; - } - - log_egl_config_info(gr->egl_display, pbuffer_config); - - egl_surface = eglCreatePbufferSurface(gr->egl_display, pbuffer_config, - pbuffer_attribs); - if (egl_surface == EGL_NO_SURFACE) { - weston_log("failed to create egl surface\n"); - gl_renderer_print_egl_error_state(); - return -1; - } - - eglSurfaceAttrib(gr->egl_display, egl_surface, - EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED); - if (!eglQuerySurface(gr->egl_display, egl_surface, - EGL_SWAP_BEHAVIOR, &value) || - value != EGL_BUFFER_PRESERVED) { - weston_log("Error: pbuffer surface does not support EGL_BUFFER_PRESERVED, got 0x%x." - " Continuing anyway.\n", value); - } - - ret = gl_renderer_output_create(output, egl_surface, - &options->fb_size, &options->area); - if (ret < 0) { - eglDestroySurface(gr->egl_display, egl_surface); - } else { - go = get_output_state(output); - go->swap_behavior_is_preserved = true; - } - - return ret; -} - static int gl_renderer_output_fbo_create(struct weston_output *output, const struct gl_renderer_fbo_options *options) @@ -4355,7 +4297,6 @@ gl_renderer_setup(struct weston_compositor *ec, EGLSurface egl_surface) WL_EXPORT struct gl_renderer_interface gl_renderer_interface = { .display_create = gl_renderer_display_create, .output_window_create = gl_renderer_output_window_create, - .output_pbuffer_create = gl_renderer_output_pbuffer_create, .output_fbo_create = gl_renderer_output_fbo_create, .output_destroy = gl_renderer_output_destroy, .output_set_border = gl_renderer_output_set_border, diff --git a/libweston/renderer-gl/gl-renderer.h b/libweston/renderer-gl/gl-renderer.h index b6d0a06c..76545774 100644 --- a/libweston/renderer-gl/gl-renderer.h +++ b/libweston/renderer-gl/gl-renderer.h @@ -94,17 +94,6 @@ struct gl_renderer_output_options { unsigned formats_count; }; -struct gl_renderer_pbuffer_options { - /** Size of the framebuffer in pixels, including borders */ - struct weston_size fb_size; - /** Area inside the framebuffer in pixels for composited content */ - struct weston_geometry area; - /** Array of pixel formats acceptable for the pbuffer */ - const struct pixel_format_info **formats; - /** The \c formats array length */ - unsigned formats_count; -}; - struct gl_renderer_fbo_options { /** Size of the framebuffer in pixels, including borders */ struct weston_size fb_size; @@ -171,27 +160,6 @@ struct gl_renderer_interface { int (*output_window_create)(struct weston_output *output, const struct gl_renderer_output_options *options); - /** - * Attach GL-renderer to the output with internal pixel storage - * - * \param output The output to create a rendering surface for. - * \param options The options struct describing the pbuffer - * \return 0 on success, -1 on failure. - * - * This function creates the renderer data structures needed to repaint - * the output. The repaint results will be kept internal and can only - * be accessed through e.g. screen capture. - * - * The first format in formats that matches any EGLConfig - * determines which EGLConfig is chosen. See \c display_create about - * how the matching works and the possible limitations. - * - * This function should be used only if \c display_create was called - * with \c EGL_PBUFFER_BIT in \c egl_surface_type. - */ - int (*output_pbuffer_create)(struct weston_output *output, - const struct gl_renderer_pbuffer_options *options); - /** * Attach GL-renderer to the output with a frame buffer object *