commit 85fb54a
Michael Forney
·
2014-02-05 10:27:22 +0000 UTC
parent 0136003
Style
M
intel.c
+12,
-12
1@@ -233,9 +233,9 @@ void renderer_fill_rectangle(struct wld_renderer * base, uint32_t color,
2 uint32_t width, uint32_t height)
3 {
4 struct intel_renderer * renderer = intel_renderer(base);
5+ struct intel_buffer * dst = renderer->target;
6
7- xy_color_blt(&renderer->batch, renderer->target->bo,
8- renderer->target->base.pitch,
9+ xy_color_blt(&renderer->batch, dst->bo, dst->base.pitch,
10 x, y, x + width, y + height, color);
11 }
12
13@@ -250,12 +250,12 @@ void renderer_copy_rectangle(struct wld_renderer * base,
14 if (buffer_base->impl != &wld_buffer_impl)
15 return;
16
17- struct intel_buffer * buffer = intel_buffer(buffer_base);
18+ struct intel_buffer * src = intel_buffer(buffer_base),
19+ * dst = renderer->target;
20
21- xy_src_copy_blt(&renderer->batch, buffer->bo, buffer->base.pitch,
22- src_x, src_y,
23- renderer->target->bo, renderer->target->base.pitch,
24- dst_x, dst_y, width, height);
25+ xy_src_copy_blt(&renderer->batch,
26+ src->bo, src->base.pitch, src_x, src_y,
27+ dst->bo, dst->base.pitch, dst_x, dst_y, width, height);
28 }
29
30 void renderer_draw_text(struct wld_renderer * base,
31@@ -264,6 +264,7 @@ void renderer_draw_text(struct wld_renderer * base,
32 struct wld_extents * extents)
33 {
34 struct intel_renderer * renderer = intel_renderer(base);
35+ struct intel_buffer * dst = renderer->target;
36 int ret;
37 struct glyph * glyph;
38 uint32_t row;
39@@ -274,7 +275,7 @@ void renderer_draw_text(struct wld_renderer * base,
40 int32_t origin_x = x;
41
42 xy_setup_blt(&renderer->batch, true, BLT_RASTER_OPERATION_SRC,
43- 0, color, renderer->target->bo, renderer->target->base.pitch);
44+ 0, color, dst->bo, dst->base.pitch);
45
46 while ((ret = FcUtf8ToUcs4((FcChar8 *) text, &c, length)) > 0 && c != '\0')
47 {
48@@ -301,7 +302,7 @@ void renderer_draw_text(struct wld_renderer * base,
49 }
50
51 retry:
52- ret = xy_text_immediate_blt(&renderer->batch, renderer->target->bo,
53+ ret = xy_text_immediate_blt(&renderer->batch, dst->bo,
54 origin_x + glyph->x, y + glyph->y,
55 origin_x + glyph->x + glyph->bitmap.width,
56 y + glyph->y + glyph->bitmap.rows,
57@@ -311,9 +312,8 @@ void renderer_draw_text(struct wld_renderer * base,
58 if (ret == INTEL_BATCH_NO_SPACE)
59 {
60 intel_batch_flush(&renderer->batch);
61- xy_setup_blt(&renderer->batch, true,
62- BLT_RASTER_OPERATION_SRC, 0, color,
63- renderer->target->bo, renderer->target->base.pitch);
64+ xy_setup_blt(&renderer->batch, true, BLT_RASTER_OPERATION_SRC,
65+ 0, color, dst->bo, dst->base.pitch);
66 goto retry;
67 }
68
+12,
-12
1@@ -463,16 +463,16 @@ void renderer_fill_rectangle(struct wld_renderer * base, uint32_t color,
2 uint32_t width, uint32_t height)
3 {
4 struct nouveau_renderer * renderer = nouveau_renderer(base);
5+ struct nouveau_buffer * dst = renderer->target;
6 uint32_t format;
7
8 if (!ensure_space(renderer->pushbuf, 18))
9 return;
10
11- format = nvc0_format(renderer->target->base.format);
12+ format = nvc0_format(dst->base.format);
13
14 nouveau_bufctx_reset(renderer->bufctx, 0);
15- nvc0_2d_use_buffer(renderer, renderer->target,
16- NV50_2D_DST_FORMAT, format);
17+ nvc0_2d_use_buffer(renderer, dst, NV50_2D_DST_FORMAT, format);
18 nvc0_2d(renderer->pushbuf, NV50_2D_DRAW_SHAPE, 3,
19 NV50_2D_DRAW_SHAPE_RECTANGLES, format, color);
20 nouveau_pushbuf_bufctx(renderer->pushbuf, renderer->bufctx);
21@@ -495,19 +495,19 @@ void renderer_copy_rectangle(struct wld_renderer * base,
22 if (buffer_base->impl != &wld_buffer_impl)
23 return;
24
25- struct nouveau_buffer * buffer = nouveau_buffer(buffer_base);
26+ struct nouveau_buffer * src = nouveau_buffer(buffer_base),
27+ * dst = renderer->target;
28 uint32_t src_format, dst_format;
29
30 if (!ensure_space(renderer->pushbuf, 33))
31 return;
32
33- src_format = nvc0_format(buffer->base.format);
34- dst_format = nvc0_format(renderer->target->base.format);
35+ src_format = nvc0_format(src->base.format);
36+ dst_format = nvc0_format(dst->base.format);
37
38 nouveau_bufctx_reset(renderer->bufctx, 0);
39- nvc0_2d_use_buffer(renderer, buffer, NV50_2D_SRC_FORMAT, src_format);
40- nvc0_2d_use_buffer(renderer, renderer->target,
41- NV50_2D_DST_FORMAT, dst_format);
42+ nvc0_2d_use_buffer(renderer, src, NV50_2D_SRC_FORMAT, src_format);
43+ nvc0_2d_use_buffer(renderer, dst, NV50_2D_DST_FORMAT, dst_format);
44 nouveau_pushbuf_bufctx(renderer->pushbuf, renderer->bufctx);
45
46 if (nouveau_pushbuf_validate(renderer->pushbuf) != 0)
47@@ -529,6 +529,7 @@ void renderer_draw_text(struct wld_renderer * base,
48 struct wld_extents * extents)
49 {
50 struct nouveau_renderer * renderer = nouveau_renderer(base);
51+ struct nouveau_buffer * dst = renderer->target;
52 uint32_t format;
53 int ret;
54 struct glyph * glyph;
55@@ -539,11 +540,10 @@ void renderer_draw_text(struct wld_renderer * base,
56 if (!ensure_space(renderer->pushbuf, 17))
57 return;
58
59- format = nvc0_format(renderer->target->base.format);
60+ format = nvc0_format(dst->base.format);
61
62 nouveau_bufctx_reset(renderer->bufctx, 0);
63- nvc0_2d_use_buffer(renderer, renderer->target,
64- NV50_2D_DST_FORMAT, format);
65+ nvc0_2d_use_buffer(renderer, dst, NV50_2D_DST_FORMAT, format);
66 nvc0_2d_inline(renderer->pushbuf, NV50_2D_SIFC_BITMAP_ENABLE, 1);
67 nvc0_2d(renderer->pushbuf, NV50_2D_SIFC_BITMAP_FORMAT, 6,
68 NV50_2D_SIFC_BITMAP_FORMAT_I1,