commit 0136003

Michael Forney  ·  2014-02-05 10:07:34 +0000 UTC
parent 6b163d2
Tweak IMPL macro
14 files changed,  +56, -57
M dumb.c
+2, -2
 1@@ -24,7 +24,7 @@
 2 #include "wld-private.h"
 3 
 4 #include "interface/surface.h"
 5-IMPL(buffered, surface)
 6+IMPL(buffered_surface, wld_surface)
 7 
 8 struct buffer_entry
 9 {
10@@ -56,7 +56,7 @@ struct wld_surface * buffered_surface_create
11     if (!(surface = malloc(sizeof *surface)))
12         return NULL;
13 
14-    surface_initialize(&surface->base, &surface_impl);
15+    surface_initialize(&surface->base, &wld_surface_impl);
16     surface->context = context;
17     surface->entries = NULL;
18     surface->back = NULL;
M dumb.c
+6, -6
 1@@ -51,10 +51,10 @@ struct dumb_buffer
 2 #include "interface/exporter.h"
 3 #define DRM_DRIVER_NAME dumb
 4 #include "interface/drm.h"
 5-IMPL(dumb, context)
 6-IMPL(dumb, buffer)
 7+IMPL(dumb_context, wld_context)
 8+IMPL(dumb_buffer, wld_buffer)
 9 
10-const struct wld_context_impl * dumb_context_impl = &context_impl;
11+const struct wld_context_impl * dumb_context_impl = &wld_context_impl;
12 
13 bool driver_device_supported(uint32_t vendor_id, uint32_t device_id)
14 {
15@@ -68,7 +68,7 @@ struct wld_context * driver_create_context(int drm_fd)
16     if (!(context = malloc(sizeof *context)))
17         return NULL;
18 
19-    context_initialize(&context->base, &context_impl);
20+    context_initialize(&context->base, &wld_context_impl);
21     context->fd = drm_fd;
22 
23     return &context->base;
24@@ -89,11 +89,11 @@ static struct wld_buffer * new_buffer(struct dumb_context * context,
25     if (!(buffer = malloc(sizeof *buffer)))
26         return NULL;
27 
28-    buffer_initialize(&buffer->base, &buffer_impl,
29+    buffer_initialize(&buffer->base, &wld_buffer_impl,
30                       width, height, format, pitch);
31     buffer->context = context;
32     buffer->handle = handle;
33-    exporter_initialize(&buffer->exporter, &exporter_impl);
34+    exporter_initialize(&buffer->exporter, &wld_exporter_impl);
35     buffer_add_exporter(&buffer->base, &buffer->exporter);
36 
37     return &buffer->base;
+10, -10
 1@@ -57,9 +57,9 @@ struct intel_buffer
 2 #include "interface/exporter.h"
 3 #define DRM_DRIVER_NAME intel
 4 #include "interface/drm.h"
 5-IMPL(intel, context)
 6-IMPL(intel, renderer)
 7-IMPL(intel, buffer)
 8+IMPL(intel_context, wld_context)
 9+IMPL(intel_renderer, wld_renderer)
10+IMPL(intel_buffer, wld_buffer)
11 
12 /**** DRM driver ****/
13 bool driver_device_supported(uint32_t vendor_id, uint32_t device_id)
14@@ -76,7 +76,7 @@ struct wld_context * driver_create_context(int drm_fd)
15     if (!context)
16         goto error0;
17 
18-    context_initialize(&context->base, &context_impl);
19+    context_initialize(&context->base, &wld_context_impl);
20     context->bufmgr = drm_intel_bufmgr_gem_init(drm_fd, INTEL_BATCH_SIZE);
21 
22     if (!context->bufmgr)
23@@ -102,7 +102,7 @@ struct wld_renderer * context_create_renderer(struct wld_context * base)
24     if (!(intel_batch_initialize(&renderer->batch, context->bufmgr)))
25         goto error1;
26 
27-    renderer_initialize(&renderer->base, &renderer_impl);
28+    renderer_initialize(&renderer->base, &wld_renderer_impl);
29 
30     return &renderer->base;
31 
32@@ -121,10 +121,10 @@ static struct wld_buffer * new_buffer(uint32_t width, uint32_t height,
33     if (!(buffer = malloc(sizeof *buffer)))
34         return NULL;
35 
36-    buffer_initialize(&buffer->base, &buffer_impl,
37+    buffer_initialize(&buffer->base, &wld_buffer_impl,
38                       width, height, format, pitch);
39     buffer->bo = bo;
40-    exporter_initialize(&buffer->exporter, &exporter_impl);
41+    exporter_initialize(&buffer->exporter, &wld_exporter_impl);
42     buffer_add_exporter(&buffer->base, &buffer->exporter);
43 
44     return &buffer->base;
45@@ -209,7 +209,7 @@ void context_destroy(struct wld_context * base)
46 uint32_t renderer_capabilities(struct wld_renderer * renderer,
47                                struct wld_buffer * buffer)
48 {
49-    if (buffer->impl == &buffer_impl)
50+    if (buffer->impl == &wld_buffer_impl)
51         return WLD_CAPABILITY_READ | WLD_CAPABILITY_WRITE;
52 
53     return 0;
54@@ -220,7 +220,7 @@ bool renderer_set_target(struct wld_renderer * base,
55 {
56     struct intel_renderer * renderer = intel_renderer(base);
57 
58-    if (buffer && buffer->impl != &buffer_impl)
59+    if (buffer && buffer->impl != &wld_buffer_impl)
60         return false;
61 
62     renderer->target = buffer ? intel_buffer(buffer) : NULL;
63@@ -247,7 +247,7 @@ void renderer_copy_rectangle(struct wld_renderer * base,
64 {
65     struct intel_renderer * renderer = intel_renderer(base);
66 
67-    if (buffer_base->impl != &buffer_impl)
68+    if (buffer_base->impl != &wld_buffer_impl)
69         return;
70 
71     struct intel_buffer * buffer = intel_buffer(buffer_base);
+1, -1
1@@ -25,7 +25,7 @@ static bool buffer_map(struct wld_buffer * drawable);
2 static bool buffer_unmap(struct wld_buffer * drawable);
3 static void buffer_destroy(struct wld_buffer * drawable);
4 
5-static const struct wld_buffer_impl buffer_impl = {
6+static const struct wld_buffer_impl wld_buffer_impl = {
7     .map = &buffer_map,
8     .unmap = &buffer_unmap,
9     .destroy = &buffer_destroy
+1, -1
1@@ -36,7 +36,7 @@ static struct wld_surface * context_create_surface
2 #endif
3 static void context_destroy(struct wld_context * context);
4 
5-static const struct wld_context_impl context_impl = {
6+static const struct wld_context_impl wld_context_impl = {
7     .create_renderer = &context_create_renderer,
8     .create_buffer = &context_create_buffer,
9     .import_buffer = &context_import_buffer,
+1, -1
1@@ -26,7 +26,7 @@ static bool exporter_export(struct wld_exporter * exporter,
2                             struct wld_buffer * buffer,
3                             uint32_t type, union wld_object * object);
4 
5-static const struct wld_exporter_impl exporter_impl = {
6+static const struct wld_exporter_impl wld_exporter_impl = {
7     .destroy = &exporter_destroy,
8     .export = &exporter_export
9 };
+1, -1
1@@ -49,7 +49,7 @@ static void renderer_draw_text(struct wld_renderer * renderer,
2 static void renderer_flush(struct wld_renderer * renderer);
3 static void renderer_destroy(struct wld_renderer * renderer);
4 
5-static const struct wld_renderer_impl renderer_impl = {
6+static const struct wld_renderer_impl wld_renderer_impl = {
7     .capabilities = &renderer_capabilities,
8     .set_target = &renderer_set_target,
9     .fill_rectangle = &renderer_fill_rectangle,
+1, -1
1@@ -30,7 +30,7 @@ static bool surface_release(struct wld_surface * surface,
2 static bool surface_swap(struct wld_surface * surface);
3 static void surface_destroy(struct wld_surface * surface);
4 
5-static const struct wld_surface_impl surface_impl = {
6+static const struct wld_surface_impl wld_surface_impl = {
7     .damage = &surface_damage,
8     .back = &surface_back,
9     .take = &surface_take,
+10, -10
 1@@ -76,9 +76,9 @@ struct nouveau_buffer
 2 #define DRM_DRIVER_NAME nouveau
 3 #include "interface/drm.h"
 4 #include "interface/exporter.h"
 5-IMPL(nouveau, context)
 6-IMPL(nouveau, renderer)
 7-IMPL(nouveau, buffer)
 8+IMPL(nouveau_context, wld_context)
 9+IMPL(nouveau_renderer, wld_renderer)
10+IMPL(nouveau_buffer, wld_buffer)
11 
12 /**** DRM driver ****/
13 bool driver_device_supported(uint32_t vendor_id, uint32_t device_id)
14@@ -124,7 +124,7 @@ struct wld_context * driver_create_context(int drm_fd)
15     if (nouveau_client_new(context->device, &context->client) != 0)
16         goto error2;
17 
18-    context_initialize(&context->base, &context_impl);
19+    context_initialize(&context->base, &wld_context_impl);
20 
21     return &context->base;
22 
23@@ -281,7 +281,7 @@ struct wld_renderer * context_create_renderer(struct wld_context * base)
24     if (!nvc0_2d_initialize(renderer))
25         goto error4;
26 
27-    renderer_initialize(&renderer->base, &renderer_impl);
28+    renderer_initialize(&renderer->base, &wld_renderer_impl);
29     renderer->target = NULL;
30 
31     return &renderer->base;
32@@ -307,10 +307,10 @@ static struct nouveau_buffer * new_buffer(struct nouveau_context * context,
33     if (!(buffer = malloc(sizeof *buffer)))
34         return NULL;
35 
36-    buffer_initialize(&buffer->base, &buffer_impl,
37+    buffer_initialize(&buffer->base, &wld_buffer_impl,
38                         width, height, format, pitch);
39     buffer->context = context;
40-    exporter_initialize(&buffer->exporter, &exporter_impl);
41+    exporter_initialize(&buffer->exporter, &wld_exporter_impl);
42     buffer_add_exporter(&buffer->base, &buffer->exporter);
43 
44     return buffer;
45@@ -412,7 +412,7 @@ void context_destroy(struct wld_context * base)
46 uint32_t renderer_capabilities(struct wld_renderer * renderer,
47                                struct wld_buffer * buffer)
48 {
49-    if (buffer->impl == &buffer_impl)
50+    if (buffer->impl == &wld_buffer_impl)
51         return WLD_CAPABILITY_READ | WLD_CAPABILITY_WRITE;
52 
53     return 0;
54@@ -423,7 +423,7 @@ bool renderer_set_target(struct wld_renderer * base,
55 {
56     struct nouveau_renderer * renderer = nouveau_renderer(base);
57 
58-    if (buffer && buffer->impl != &buffer_impl)
59+    if (buffer && buffer->impl != &wld_buffer_impl)
60         return false;
61 
62     renderer->target = buffer ? nouveau_buffer(buffer) : NULL;
63@@ -492,7 +492,7 @@ void renderer_copy_rectangle(struct wld_renderer * base,
64 {
65     struct nouveau_renderer * renderer = nouveau_renderer(base);
66 
67-    if (buffer_base->impl != &buffer_impl)
68+    if (buffer_base->impl != &wld_buffer_impl)
69         return;
70 
71     struct nouveau_buffer * buffer = nouveau_buffer(buffer_base);
+8, -8
 1@@ -55,11 +55,11 @@ struct pixman_exporter
 2 #include "interface/renderer.h"
 3 #include "interface/buffer.h"
 4 #include "interface/exporter.h"
 5-IMPL(pixman, renderer)
 6-IMPL(pixman, buffer)
 7-IMPL(pixman, exporter)
 8+IMPL(pixman_renderer, wld_renderer)
 9+IMPL(pixman_buffer, wld_buffer)
10+IMPL(pixman_exporter, wld_exporter)
11 
12-static struct wld_context context = { .impl = &context_impl };
13+static struct wld_context context = { .impl = &wld_context_impl };
14 
15 EXPORT
16 struct wld_context * wld_pixman_context = &context;
17@@ -74,7 +74,7 @@ struct wld_renderer * context_create_renderer(struct wld_context * context)
18     if (!(renderer->glyph_cache = pixman_glyph_cache_create()))
19         goto error1;
20 
21-    renderer_initialize(&renderer->base, &renderer_impl);
22+    renderer_initialize(&renderer->base, &wld_renderer_impl);
23     renderer->target = NULL;
24 
25     return &renderer->base;
26@@ -92,7 +92,7 @@ static struct wld_buffer * new_buffer(pixman_image_t * image)
27     if (!(buffer = malloc(sizeof *buffer)))
28         return NULL;
29 
30-    buffer_initialize(&buffer->base, &buffer_impl,
31+    buffer_initialize(&buffer->base, &wld_buffer_impl,
32                       pixman_image_get_width(image),
33                       pixman_image_get_height(image),
34                       format_pixman_to_wld(pixman_image_get_format(image)),
35@@ -181,7 +181,7 @@ static void destroy_image(pixman_image_t * image, void * data)
36 
37 static pixman_image_t * pixman_image(struct wld_buffer * buffer)
38 {
39-    if (buffer->impl == &buffer_impl)
40+    if (buffer->impl == &wld_buffer_impl)
41         return pixman_image_ref(pixman_buffer(buffer)->image);
42 
43     union wld_object object;
44@@ -205,7 +205,7 @@ static pixman_image_t * pixman_image(struct wld_buffer * buffer)
45     if (!(exporter = malloc(sizeof *exporter)))
46         goto error2;
47 
48-    exporter_initialize(&exporter->base, &exporter_impl);
49+    exporter_initialize(&exporter->base, &wld_exporter_impl);
50     exporter->image = image;
51     buffer_add_exporter(buffer, &exporter->base);
52     pixman_image_set_destroy_function(image, &destroy_image, buffer);
+2, -2
 1@@ -50,7 +50,7 @@ struct drm_context
 2 };
 3 
 4 #include "interface/context.h"
 5-IMPL(drm, context);
 6+IMPL(drm_context, wld_context)
 7 
 8 static void registry_global(void * data, struct wl_registry * registry,
 9                             uint32_t name, const char * interface,
10@@ -89,7 +89,7 @@ struct wld_context * wld_wayland_drm_create_context(struct wl_display * display,
11     if (!(context = malloc(sizeof *context)))
12         goto error0;
13 
14-    context_initialize(&context->base.base, &context_impl);
15+    context_initialize(&context->base.base, &wld_context_impl);
16     context->base.display = display;
17     context->base.queue = queue;
18     context->wl = NULL;
+4, -4
 1@@ -52,8 +52,8 @@ struct shm_buffer
 2 
 3 #include "interface/context.h"
 4 #include "interface/buffer.h"
 5-IMPL(shm, context)
 6-IMPL(shm, buffer)
 7+IMPL(shm_context, wld_context)
 8+IMPL(shm_buffer, wld_buffer)
 9 
10 static void registry_global(void * data, struct wl_registry * registry,
11                             uint32_t name, const char * interface,
12@@ -98,7 +98,7 @@ struct wld_context * wld_wayland_shm_create_context
13     if (!(context = malloc(sizeof *context)))
14         goto error0;
15 
16-    context_initialize(&context->base.base, &context_impl);
17+    context_initialize(&context->base.base, &wld_context_impl);
18     context->base.display = display;
19     context->base.queue = queue;
20     context->wl = NULL;
21@@ -198,7 +198,7 @@ struct wld_buffer * context_create_buffer(struct wld_context * base,
22     if (!(exporter = wayland_create_exporter(wl)))
23         goto error3;
24 
25-    buffer_initialize(&buffer->base, &buffer_impl,
26+    buffer_initialize(&buffer->base, &wld_buffer_impl,
27                       width, height, format, pitch);
28     buffer->fd = fd;
29     buffer_add_exporter(&buffer->base, exporter);
+5, -5
 1@@ -45,20 +45,20 @@ struct wayland_buffer_socket
 2 };
 3 
 4 #include "interface/exporter.h"
 5-IMPL(wayland, exporter)
 6+IMPL(wayland_exporter, wld_exporter)
 7 
 8 static bool buffer_socket_attach(struct wld_buffer_socket * socket,
 9                                  struct wld_buffer * buffer);
10 static void buffer_socket_process(struct wld_buffer_socket * socket);
11 static void buffer_socket_destroy(struct wld_buffer_socket * socket);
12 
13-static const struct wld_buffer_socket_impl buffer_socket_impl = {
14+static const struct wld_buffer_socket_impl wld_buffer_socket_impl = {
15     .attach = &buffer_socket_attach,
16     .process = &buffer_socket_process,
17     .destroy = &buffer_socket_destroy
18 };
19 
20-IMPL(wayland, buffer_socket)
21+IMPL(wayland_buffer_socket, wld_buffer_socket)
22 
23 static void sync_done(void * data, struct wl_callback * callback,
24                       uint32_t msecs);
25@@ -166,7 +166,7 @@ struct wld_surface * wld_wayland_create_surface(struct wld_context * context,
26     if (!(socket = malloc(sizeof *socket)))
27         goto error0;
28 
29-    socket->base.impl = &buffer_socket_impl;
30+    socket->base.impl = &wld_buffer_socket_impl;
31     socket->listener.release = &buffer_release;
32     socket->wl = wl;
33     socket->queue = ((struct wayland_context *) context)->queue;
34@@ -212,7 +212,7 @@ struct wld_exporter * wayland_create_exporter(struct wl_buffer * buffer)
35     if (!(exporter = malloc(sizeof *exporter)))
36         return NULL;
37 
38-    exporter_initialize(&exporter->base, &exporter_impl);
39+    exporter_initialize(&exporter->base, &wld_exporter_impl);
40     exporter->buffer = buffer;
41 
42     return &exporter->base;
+4, -5
 1@@ -44,12 +44,11 @@
 2 #define EXPORT __attribute__((visibility("default")))
 3 #define CONTAINER_OF(ptr, type, member) \
 4     ((type *)((uintptr_t) ptr - offsetof(type, member)))
 5-#define IMPL(name, type)                                                    \
 6-    static inline struct name ## _ ## type * name ## _ ## type              \
 7-        (struct wld_ ## type * type)                                        \
 8+#define IMPL(impl_type, base_type)                                          \
 9+    static inline struct impl_type * impl_type(struct base_type * object)   \
10     {                                                                       \
11-        assert(type->impl == &type ## _impl);                               \
12-        return (struct name ## _ ## type *) type;                           \
13+        assert(object->impl == &base_type ## _impl);                        \
14+        return (struct impl_type *) object;                                 \
15     }
16 
17 struct wld_font_context