commit 0136003
Michael Forney
·
2014-02-05 10:07:34 +0000 UTC
parent 6b163d2
Tweak IMPL macro
14 files changed,
+56,
-57
+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;
M
intel.c
+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);
M
pixman.c
+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