]> git.pld-linux.org Git - packages/cairo.git/blame - cairo-glitz.patch
- added glitz patch (updates for recently released glitz 0.4.0)
[packages/cairo.git] / cairo-glitz.patch
CommitLineData
3ceed211
JB
1===================================================================
2RCS file: /cvs/cairo/cairo/src/cairo_glitz_surface.c,v
3retrieving revision 1.14
4retrieving revision 1.15
5diff -u -r1.14 -r1.15
6--- cairo/src/cairo_glitz_surface.c 2005/01/20 16:28:54 1.14
7+++ cairo/src/cairo_glitz_surface.c 2005/01/25 20:21:33 1.15
8@@ -333,7 +333,7 @@
9 if (format == NULL)
10 return NULL;
11
12- surface = glitz_surface_create (drawable, format, 1, 1);
13+ surface = glitz_surface_create (drawable, format, 1, 1, 0, NULL);
14 if (surface == NULL)
15 return NULL;
16
17@@ -355,7 +355,6 @@
18 glitz_drawable_format_t templ;
19 glitz_format_t *format;
20 glitz_drawable_t *pbuffer;
21- glitz_pbuffer_attributes_t attributes;
22 unsigned long mask;
23 int i;
24
25@@ -397,21 +396,13 @@
26 if (!dformat)
27 return CAIRO_INT_STATUS_UNSUPPORTED;
28
29- attributes.width = glitz_surface_get_width (surface);
30- attributes.height = glitz_surface_get_height (surface);
31- mask = GLITZ_PBUFFER_WIDTH_MASK | GLITZ_PBUFFER_HEIGHT_MASK;
32-
33- pbuffer = glitz_create_pbuffer_drawable (drawable, dformat,
34- &attributes, mask);
35+ pbuffer =
36+ glitz_create_pbuffer_drawable (drawable, dformat,
37+ glitz_surface_get_width (surface),
38+ glitz_surface_get_height (surface));
39 if (!pbuffer)
40 return CAIRO_INT_STATUS_UNSUPPORTED;
41
42- if (glitz_drawable_get_width (pbuffer) < attributes.width ||
43- glitz_drawable_get_height (pbuffer) < attributes.height) {
44- glitz_drawable_destroy (pbuffer);
45- return CAIRO_INT_STATUS_UNSUPPORTED;
46- }
47-
48 glitz_surface_attach (surface, pbuffer,
49 GLITZ_DRAWABLE_BUFFER_FRONT_COLOR,
50 0, 0);
51@@ -457,7 +448,7 @@
52 if (gformat == NULL)
53 return NULL;
54
55- surface = glitz_surface_create (drawable, gformat, width, height);
56+ surface = glitz_surface_create (drawable, gformat, width, height, 0, NULL);
57 if (surface == NULL)
58 return NULL;
59
60@@ -510,7 +501,8 @@
61 int width,
62 int height,
63 glitz_buffer_t *geometry,
64- glitz_geometry_format_t *format)
65+ glitz_geometry_format_t *format,
66+ int count)
67 {
68 if (_glitz_ensure_target (dst))
69 return CAIRO_INT_STATUS_UNSUPPORTED;
70@@ -518,9 +510,10 @@
71 if (glitz_surface_get_status (dst))
72 return CAIRO_STATUS_NO_TARGET_SURFACE;
73
74- glitz_set_geometry (dst,
75- 0, 0,
76- format, geometry);
77+ if (geometry) {
78+ glitz_set_geometry (dst, GLITZ_GEOMETRY_TYPE_VERTEX, format, geometry);
79+ glitz_set_array (dst, 0, 2, count, 0, 0);
80+ }
81
82 glitz_composite (op,
83 src,
84@@ -531,7 +524,7 @@
85 dst_x, dst_y,
86 width, height);
87
88- glitz_set_geometry (dst, 0, 0, NULL, NULL);
89+ glitz_set_geometry (dst, GLITZ_GEOMETRY_TYPE_NONE, NULL, NULL);
90
91 if (glitz_surface_get_status (dst) == GLITZ_STATUS_NOT_SUPPORTED)
92 return CAIRO_INT_STATUS_UNSUPPORTED;
93@@ -589,7 +582,7 @@
94 mask_x, mask_y,
95 dst_x, dst_y,
96 width, height,
97- NULL, NULL);
98+ NULL, NULL, 0);
99
100 if (src_clone)
101 cairo_surface_destroy (&src_clone->base);
102@@ -624,16 +617,16 @@
103 glitz_buffer_t *buffer;
104 glitz_geometry_format_t gf;
105 cairo_int_status_t status;
106- int width, height;
107+ int width, height, count;
108 void *data;
109
110- gf.mode = GLITZ_GEOMETRY_MODE_DIRECT;
111- gf.edge_hint = GLITZ_GEOMETRY_EDGE_HINT_SHARP;
112- gf.primitive = GLITZ_GEOMETRY_PRIMITIVE_QUADS;
113- gf.type = GLITZ_DATA_TYPE_FLOAT;
114- gf.first = 0;
115- gf.count = n_rects * 4;
116+ gf.vertex.primitive = GLITZ_PRIMITIVE_QUADS;
117+ gf.vertex.type = GLITZ_DATA_TYPE_FLOAT;
118+ gf.vertex.bytes_per_vertex = 2 * sizeof (glitz_float_t);
119+ gf.vertex.attributes = 0;
120
121+ count = n_rects * 4;
122+
123 data = malloc (n_rects * 8 * sizeof (glitz_float_t));
124 if (!data)
125 return CAIRO_STATUS_NO_MEMORY;
126@@ -678,7 +671,7 @@
127 0, 0,
128 0, 0,
129 width, height,
130- buffer, &gf);
131+ buffer, &gf, count);
132
133 glitz_surface_destroy (solid);
134 glitz_buffer_destroy (buffer);
135@@ -715,7 +708,7 @@
136 glitz_buffer_t *buffer;
137 glitz_geometry_format_t gf;
138 cairo_int_status_t status;
139- int x_dst, y_dst, x_rel, y_rel, width, height;
140+ int x_dst, y_dst, x_rel, y_rel, width, height, count;
141 void *data;
142
143 if (op == CAIRO_OPERATOR_SATURATE)
144@@ -724,12 +717,12 @@
145 if (generic_src->backend != dst->base.backend)
146 return CAIRO_INT_STATUS_UNSUPPORTED;
147
148- gf.mode = GLITZ_GEOMETRY_MODE_DIRECT;
149- gf.edge_hint = GLITZ_GEOMETRY_EDGE_HINT_GOOD_SMOOTH;
150- gf.primitive = GLITZ_GEOMETRY_PRIMITIVE_QUADS;
151- gf.type = GLITZ_DATA_TYPE_FLOAT;
152- gf.first = 0;
153- gf.count = n_traps * 4;
154+ gf.vertex.primitive = GLITZ_PRIMITIVE_QUADS;
155+ gf.vertex.type = GLITZ_DATA_TYPE_FLOAT;
156+ gf.vertex.bytes_per_vertex = 2 * sizeof (glitz_float_t);
157+ gf.vertex.attributes = 0;
158+
159+ count = n_traps * 4;
160
161 data = malloc (n_traps * 8 * sizeof (glitz_float_t));
162 if (!data)
163@@ -795,7 +788,7 @@
164 0, 0,
165 x_dst, y_dst,
166 width, height,
167- buffer, &gf);
168+ buffer, &gf, count);
169
170 if (mask)
171 glitz_surface_destroy (mask);
This page took 0.43828 seconds and 4 git commands to generate.