examples: remove dependency on GLES2 for compositor examples

Most of the examples had a GLES2 dependency, but weren't using it.
Convert multi-pointer to wlr_renderer instead of using directly
glClear.
This commit is contained in:
Simon Ser 2021-04-19 17:32:07 +02:00
parent fd7e565ce3
commit 83670fce65
6 changed files with 7 additions and 20 deletions

View file

@ -23,11 +23,6 @@ if libavutil.found() and not cc.has_header('libavutil/hwcontext_drm.h', dependen
libavutil = disabler()
endif
wlr_gles2_renderer = []
if not features['gles2-renderer']
wlr_gles2_renderer = disabler()
endif
compositors = {
'simple': {
'src': 'simple.c',
@ -37,23 +32,18 @@ compositors = {
},
'touch': {
'src': ['touch.c', 'cat.c'],
'dep': [wlr_gles2_renderer],
},
'tablet': {
'src': 'tablet.c',
'dep': [wlr_gles2_renderer],
},
'rotation': {
'src': ['rotation.c', 'cat.c'],
'dep': [wlr_gles2_renderer],
},
'multi-pointer': {
'src': 'multi-pointer.c',
'dep': [wlr_gles2_renderer],
},
'output-layout': {
'src': ['output-layout.c', 'cat.c'],
'dep': [wlr_gles2_renderer],
},
'fullscreen-shell': {
'src': 'fullscreen-shell.c',
@ -203,7 +193,7 @@ foreach name, info : compositors
executable(
name,
[info.get('src'), extra_src],
dependencies: [wlroots, libdrm, info.get('dep', [])],
dependencies: [wlroots, libdrm],
include_directories: [wlr_inc, proto_inc],
build_by_default: get_option('examples'),
)

View file

@ -1,6 +1,5 @@
#define _POSIX_C_SOURCE 200112L
#include <assert.h>
#include <GLES2/gl2.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
@ -71,7 +70,7 @@ struct sample_keyboard {
static void configure_cursor(struct wlr_cursor *cursor, struct wlr_input_device *device,
struct sample_state *sample) {
struct sample_output *output;
wlr_log(WLR_ERROR, "Configuring cursor %p for device %p", cursor, device);
wlr_log(WLR_INFO, "Configuring cursor %p for device %p", cursor, device);
// reset mappings
wlr_cursor_map_to_output(cursor, NULL);
@ -92,14 +91,16 @@ static void output_frame_notify(struct wl_listener *listener, void *data) {
struct sample_output *output = wl_container_of(listener, output, frame);
struct sample_state *sample = output->sample;
struct wlr_output *wlr_output = output->output;
struct wlr_renderer *renderer = wlr_backend_get_renderer(wlr_output->backend);
wlr_output_attach_render(wlr_output, NULL);
glClearColor(sample->clear_color[0], sample->clear_color[1],
sample->clear_color[2], sample->clear_color[3]);
glClear(GL_COLOR_BUFFER_BIT);
wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height);
wlr_renderer_clear(renderer, sample->clear_color);
wlr_output_render_software_cursors(wlr_output, NULL);
wlr_renderer_end(renderer);
wlr_output_commit(wlr_output);
}

View file

@ -1,6 +1,5 @@
#define _POSIX_C_SOURCE 200112L
#include <drm_fourcc.h>
#include <GLES2/gl2.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>

View file

@ -1,6 +1,5 @@
#define _POSIX_C_SOURCE 200112L
#include <drm_fourcc.h>
#include <GLES2/gl2.h>
#include <getopt.h>
#include <math.h>
#include <stdio.h>

View file

@ -1,5 +1,4 @@
#define _XOPEN_SOURCE 600
#include <GLES2/gl2.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

View file

@ -1,6 +1,5 @@
#define _POSIX_C_SOURCE 200112L
#include <drm_fourcc.h>
#include <GLES2/gl2.h>
#include <math.h>
#include <stdint.h>
#include <stdio.h>