- if (impl->image == NULL)
- {
- image_attribs[1] = width;
- image_attribs[3] = height;
- impl->image =
- display_wayland->create_drm_image(display_wayland->egl_display,
- image_attribs);
- if (impl->texture == 0)
- glGenTextures(1, &impl->texture);
-
- glBindTexture(GL_TEXTURE_2D, impl->texture);
- display_wayland->image_target_texture_2d(GL_TEXTURE_2D, impl->image);
-
- printf("allocate image %dx%d (image %p, window %p)\n",
- width, height, impl->image, impl->wrapper);
- }
+ data = g_new (GdkWaylandCairoSurfaceData, 1);
+ data->display = display;
+ data->buffer = NULL;
+ image_attribs[1] = width;
+ image_attribs[3] = height;
+ data->image = display->create_drm_image(display->egl_display, image_attribs);
+ glGenTextures(1, &data->texture);
+ glBindTexture(GL_TEXTURE_2D, data->texture);
+ display->image_target_texture_2d(GL_TEXTURE_2D, data->image);
+
+ printf("allocate image %dx%d (image %p)\n", width, height, data->image);