-};
-
-static struct pipe_context *
-identity_drm_create_context(struct drm_api *_api,
- struct pipe_screen *_screen)
-{
- struct identity_screen *id_screen = identity_screen(_screen);
- struct identity_drm_api *id_api = identity_drm_api(_api);
- struct pipe_screen *screen = id_screen->screen;
- struct drm_api *api = id_api->api;
- struct pipe_context *pipe;
-
- pipe = api->create_context(api, screen);
-
- pipe = identity_context_create(_screen, pipe);
-
- return pipe;
-};
-
-static boolean
-identity_drm_buffer_from_texture(struct drm_api *_api,
- struct pipe_texture *_texture,
- struct pipe_buffer **_buffer,
- unsigned *stride)
-{
- struct identity_texture *id_texture = identity_texture(_texture);
- struct identity_drm_api *id_api = identity_drm_api(_api);
- struct pipe_texture *texture = id_texture->texture;
- struct drm_api *api = id_api->api;
- struct pipe_buffer *buffer = NULL;
- boolean result;
-
- result = api->buffer_from_texture(api, texture, &buffer, stride);
-
- if (result && _buffer)
- buffer = identity_buffer_create(identity_screen(texture->screen), buffer);
-
- if (_buffer)
- *_buffer = buffer;
- else
- pipe_buffer_reference(&buffer, NULL);
-
- return result;
-}
-
-static struct pipe_buffer *
-identity_drm_buffer_from_handle(struct drm_api *_api,
- struct pipe_screen *_screen,
- const char *name,
- unsigned handle)
-{
- struct identity_screen *id_screen = identity_screen(_screen);
- struct identity_drm_api *id_api = identity_drm_api(_api);
- struct pipe_screen *screen = id_screen->screen;
- struct drm_api *api = id_api->api;
- struct pipe_buffer *result;
-
- result = api->buffer_from_handle(api, screen, name, handle);
-
- result = identity_buffer_create(identity_screen(_screen), result);
-
- return result;
-}
-
-static boolean
-identity_drm_handle_from_buffer(struct drm_api *_api,
- struct pipe_screen *_screen,
- struct pipe_buffer *_buffer,
- unsigned *handle)
-{
- struct identity_screen *id_screen = identity_screen(_screen);
- struct identity_buffer *id_buffer = identity_buffer(_buffer);
- struct identity_drm_api *id_api = identity_drm_api(_api);
- struct pipe_screen *screen = id_screen->screen;
- struct pipe_buffer *buffer = id_buffer->buffer;
- struct drm_api *api = id_api->api;
-
- return api->handle_from_buffer(api, screen, buffer, handle);
-}
-
-static boolean
-identity_drm_global_handle_from_buffer(struct drm_api *_api,
- struct pipe_screen *_screen,
- struct pipe_buffer *_buffer,
- unsigned *handle)
-{
- struct identity_screen *id_screen = identity_screen(_screen);
- struct identity_buffer *id_buffer = identity_buffer(_buffer);
- struct identity_drm_api *id_api = identity_drm_api(_api);
- struct pipe_screen *screen = id_screen->screen;
- struct pipe_buffer *buffer = id_buffer->buffer;
- struct drm_api *api = id_api->api;
-
- return api->global_handle_from_buffer(api, screen, buffer, handle);