struct gl_renderer
{
- pepper_renderer_t base;
+ pepper_renderer_t base;
+ pepper_compositor_t *compositor;
- void *native_display;
- void *native_window;
+ void *native_display;
+ void *native_window;
- EGLDisplay display;
- EGLSurface surface;
- EGLContext context;
- EGLConfig config;
+ EGLDisplay display;
+ EGLSurface surface;
+ EGLContext context;
+ EGLConfig config;
/* EGL extensions. */
PFNEGLCREATEIMAGEKHRPROC create_image;
if (!gl_renderer_use(renderer))
return;
- glClearColor(1.0, 1.0, 1.0, 1.0);
+ glClearColor(1.0, 1.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
eglSwapBuffers(renderer->display, renderer->surface);
}
renderer->unbind_display = (void *)eglGetProcAddress("eglUnbindWaylandDisplayWL");
renderer->query_buffer = (void *)eglGetProcAddress("eglQueryWaylandBufferWL");
- if (!renderer->bind_display(renderer->display, renderer->native_display))
+ if (!renderer->bind_display(renderer->display,
+ pepper_compositor_get_display(renderer->compositor)))
{
renderer->bind_display = NULL;
renderer->unbind_display = NULL;
return PEPPER_FALSE;
}
- if (strstr(extensions, "GL_EXT_texture_format_BGRA8888"))
+ if (!strstr(extensions, "GL_EXT_texture_format_BGRA8888"))
{
PEPPER_ERROR("GL_EXT_texture_format_BGRA8888 not supported.\n");
return PEPPER_FALSE;
if ((configs = (EGLConfig *)pepper_calloc(config_size, sizeof(EGLConfig))) == NULL)
goto error;
- if (num_configs < 1)
- goto error;
-
eglChooseConfig(display, config_attribs, configs, config_size, &num_configs);
PEPPER_ASSERT(config_size == num_configs); /* Paranoid check. */
+ if (num_configs < 1)
+ goto error;
+
for (i = 0; i < num_configs; i++)
{
EGLint attrib;
}
PEPPER_API pepper_renderer_t *
-pepper_gl_renderer_create(void *display, void *window, const char *platform_str,
- pepper_format_t format, const uint32_t *native_visual_id)
+pepper_gl_renderer_create(pepper_compositor_t *compositor, void *display, void *window,
+ const char *platform_str, pepper_format_t format,
+ const uint32_t *native_visual_id)
{
gl_renderer_t *renderer;
EGLenum platform;
pepper_renderer_init(&renderer->base);
+ renderer->compositor = compositor;
renderer->native_display = display;
renderer->native_window = window;
#endif
PEPPER_API pepper_renderer_t *
-pepper_gl_renderer_create(void *display, void *window, const char *platform,
- pepper_format_t format, const uint32_t *native_visual_id);
+pepper_gl_renderer_create(pepper_compositor_t *compositor, void *display, void *window,
+ const char *platform, pepper_format_t format,
+ const uint32_t *native_visual_id);
#ifdef __cplusplus
}