gl-renderer: remove backend pbuffer support

Drop the now unused output_pbuffer_create from gl_renderer_interface.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
Philipp Zabel 2023-01-11 19:15:05 +01:00 committed by Daniel Stone
parent c3d49732de
commit 499e617a62
2 changed files with 0 additions and 91 deletions

View File

@ -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,

View File

@ -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
*