forked from enlightenment/efl
methinks nash you missed doing the pipe pipeline for map changes.
SVN revision: 56805
This commit is contained in:
parent
7881c0b849
commit
c743e4f56c
|
@ -1440,23 +1440,23 @@ evas_common_pipe_image_draw(RGBA_Image *src, RGBA_Image *dst,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
evas_common_pipe_op_map4_free(RGBA_Pipe_Op *op)
|
evas_common_pipe_op_map_free(RGBA_Pipe_Op *op)
|
||||||
{
|
{
|
||||||
#ifdef EVAS_FRAME_QUEUING
|
#ifdef EVAS_FRAME_QUEUING
|
||||||
LKL(op->op.image.src->cache_entry.ref_fq_del);
|
LKL(op->op.image.src->cache_entry.ref_fq_del);
|
||||||
op->op.image.src->cache_entry.ref_fq[1]++;
|
op->op.image.src->cache_entry.ref_fq[1]++;
|
||||||
LKU(op->op.image.src->cache_entry.ref_fq_del);
|
LKU(op->op.image.src->cache_entry.ref_fq_del);
|
||||||
#else
|
#else
|
||||||
op->op.map4.src->ref--;
|
op->op.map.src->ref--;
|
||||||
if (op->op.map4.src->ref == 0)
|
if (op->op.map.src->ref == 0)
|
||||||
evas_cache_image_drop(&op->op.map4.src->cache_entry);
|
evas_cache_image_drop(&op->op.map.src->cache_entry);
|
||||||
#endif
|
#endif
|
||||||
free(op->op.map4.p);
|
free(op->op.map.p);
|
||||||
evas_common_pipe_op_free(op);
|
evas_common_pipe_op_free(op);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
evas_common_pipe_map4_draw_do(RGBA_Image *dst, RGBA_Pipe_Op *op, RGBA_Pipe_Thread_Info *info)
|
evas_common_pipe_map_draw_do(RGBA_Image *dst, RGBA_Pipe_Op *op, RGBA_Pipe_Thread_Info *info)
|
||||||
{
|
{
|
||||||
if (info)
|
if (info)
|
||||||
{
|
{
|
||||||
|
@ -1469,22 +1469,22 @@ evas_common_pipe_map4_draw_do(RGBA_Image *dst, RGBA_Pipe_Op *op, RGBA_Pipe_Threa
|
||||||
evas_common_draw_context_clip_clip(&(context), info->x, info->y, info->w, info->h);
|
evas_common_draw_context_clip_clip(&(context), info->x, info->y, info->w, info->h);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
evas_common_map4_rgba(op->op.map4.src, dst,
|
evas_common_map_rgba(op->op.map.src, dst,
|
||||||
&context, op->op.map4.p,
|
&context, op->op.map.npoints, op->op.map.p,
|
||||||
op->op.map4.smooth, op->op.map4.level);
|
op->op.map.smooth, op->op.map.level);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
evas_common_map4_rgba(op->op.map4.src, dst,
|
evas_common_map_rgba(op->op.map.src, dst,
|
||||||
&(op->context), op->op.map4.p,
|
&(op->context), op->op.map.npoints, op->op.map.p,
|
||||||
op->op.map4.smooth, op->op.map4.level);
|
op->op.map.smooth, op->op.map.level);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_common_pipe_map4_draw(RGBA_Image *src, RGBA_Image *dst,
|
evas_common_pipe_map_draw(RGBA_Image *src, RGBA_Image *dst,
|
||||||
RGBA_Draw_Context *dc, RGBA_Map_Point *p,
|
RGBA_Draw_Context *dc, int npoints, RGBA_Map_Point *p,
|
||||||
int smooth, int level)
|
int smooth, int level)
|
||||||
{
|
{
|
||||||
RGBA_Pipe_Op *op;
|
RGBA_Pipe_Op *op;
|
||||||
RGBA_Map_Point *pts_copy;
|
RGBA_Map_Point *pts_copy;
|
||||||
|
@ -1503,8 +1503,9 @@ evas_common_pipe_map4_draw(RGBA_Image *src, RGBA_Image *dst,
|
||||||
for (i = 0; i < 4; ++i)
|
for (i = 0; i < 4; ++i)
|
||||||
pts_copy[i] = p[i];
|
pts_copy[i] = p[i];
|
||||||
|
|
||||||
op->op.map4.smooth = smooth;
|
op->op.map.npoints = npoints;
|
||||||
op->op.map4.level = level;
|
op->op.map.smooth = smooth;
|
||||||
|
op->op.map.level = level;
|
||||||
#ifdef EVAS_FRAME_QUEUING
|
#ifdef EVAS_FRAME_QUEUING
|
||||||
LKL(src->cache_entry.ref_fq_add);
|
LKL(src->cache_entry.ref_fq_add);
|
||||||
src->cache_entry.ref_fq[0]++;
|
src->cache_entry.ref_fq[0]++;
|
||||||
|
@ -1512,10 +1513,10 @@ evas_common_pipe_map4_draw(RGBA_Image *src, RGBA_Image *dst,
|
||||||
#else
|
#else
|
||||||
src->ref++;
|
src->ref++;
|
||||||
#endif
|
#endif
|
||||||
op->op.map4.src = src;
|
op->op.map.src = src;
|
||||||
op->op.map4.p = pts_copy;
|
op->op.map.p = pts_copy;
|
||||||
op->op_func = evas_common_pipe_map4_draw_do;
|
op->op_func = evas_common_pipe_map_draw_do;
|
||||||
op->free_func = evas_common_pipe_op_map4_free;
|
op->free_func = evas_common_pipe_op_map_free;
|
||||||
evas_common_pipe_draw_context_copy(dc, op);
|
evas_common_pipe_draw_context_copy(dc, op);
|
||||||
|
|
||||||
#ifdef EVAS_FRAME_QUEUING
|
#ifdef EVAS_FRAME_QUEUING
|
||||||
|
@ -1533,7 +1534,7 @@ evas_common_pipe_map4_draw(RGBA_Image *src, RGBA_Image *dst,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
evas_common_pipe_map4_render(RGBA_Image *root)
|
evas_common_pipe_map_render(RGBA_Image *root)
|
||||||
{
|
{
|
||||||
RGBA_Pipe *p;
|
RGBA_Pipe *p;
|
||||||
int i;
|
int i;
|
||||||
|
@ -1543,15 +1544,15 @@ evas_common_pipe_map4_render(RGBA_Image *root)
|
||||||
{
|
{
|
||||||
for (i = 0; i < p->op_num; i++)
|
for (i = 0; i < p->op_num; i++)
|
||||||
{
|
{
|
||||||
if (p->op[i].op_func == evas_common_pipe_map4_draw_do)
|
if (p->op[i].op_func == evas_common_pipe_map_draw_do)
|
||||||
{
|
{
|
||||||
if (p->op[i].op.map4.src->cache_entry.pipe)
|
if (p->op[i].op.map.src->cache_entry.pipe)
|
||||||
evas_common_pipe_map4_render(p->op[i].op.map4.src);
|
evas_common_pipe_map_render(p->op[i].op.map.src);
|
||||||
}
|
}
|
||||||
else if (p->op[i].op_func == evas_common_pipe_image_draw_do)
|
else if (p->op[i].op_func == evas_common_pipe_image_draw_do)
|
||||||
{
|
{
|
||||||
if (p->op[i].op.image.src->cache_entry.pipe)
|
if (p->op[i].op.image.src->cache_entry.pipe)
|
||||||
evas_common_pipe_map4_render(p->op[i].op.image.src);
|
evas_common_pipe_map_render(p->op[i].op.image.src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1706,7 +1707,7 @@ evas_common_pipe_image_load(RGBA_Image *im)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_common_pipe_map4_begin(RGBA_Image *root)
|
evas_common_pipe_map_begin(RGBA_Image *root)
|
||||||
{
|
{
|
||||||
if (!evas_common_pipe_init())
|
if (!evas_common_pipe_init())
|
||||||
{
|
{
|
||||||
|
@ -1724,7 +1725,7 @@ evas_common_pipe_map4_begin(RGBA_Image *root)
|
||||||
|
|
||||||
evas_common_pipe_image_load_do();
|
evas_common_pipe_image_load_do();
|
||||||
|
|
||||||
evas_common_pipe_map4_render(root);
|
evas_common_pipe_map_render(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -97,7 +97,7 @@ EAPI void evas_common_pipe_image_load(RGBA_Image *im);
|
||||||
EAPI void evas_common_pipe_image_draw(RGBA_Image *src, RGBA_Image *dst, RGBA_Draw_Context *dc, int smooth, int src_region_x, int src_region_y, int src_region_w, int src_region_h, int dst_region_x, int dst_region_y, int dst_region_w, int dst_region_h);
|
EAPI void evas_common_pipe_image_draw(RGBA_Image *src, RGBA_Image *dst, RGBA_Draw_Context *dc, int smooth, int src_region_x, int src_region_y, int src_region_w, int src_region_h, int dst_region_x, int dst_region_y, int dst_region_w, int dst_region_h);
|
||||||
EAPI void evas_common_pipe_map_begin(RGBA_Image *root);
|
EAPI void evas_common_pipe_map_begin(RGBA_Image *root);
|
||||||
EAPI void evas_common_pipe_map_draw(RGBA_Image *src, RGBA_Image *dst,
|
EAPI void evas_common_pipe_map_draw(RGBA_Image *src, RGBA_Image *dst,
|
||||||
RGBA_Draw_Context *dc, RGBA_Map_Point *p,
|
RGBA_Draw_Context *dc, int npoints, RGBA_Map_Point *p,
|
||||||
int smooth, int level);
|
int smooth, int level);
|
||||||
EAPI void evas_common_pipe_flush(RGBA_Image *im);
|
EAPI void evas_common_pipe_flush(RGBA_Image *im);
|
||||||
|
|
||||||
|
|
|
@ -722,9 +722,10 @@ struct _RGBA_Pipe_Op
|
||||||
struct {
|
struct {
|
||||||
RGBA_Image *src;
|
RGBA_Image *src;
|
||||||
RGBA_Map_Point *p;
|
RGBA_Map_Point *p;
|
||||||
|
int npoints;
|
||||||
int smooth;
|
int smooth;
|
||||||
int level;
|
int level;
|
||||||
} map4;
|
} map;
|
||||||
} op;
|
} op;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -562,7 +562,7 @@ eng_image_map_draw(void *data __UNUSED__, void *context, void *surface, void *im
|
||||||
if (npoints > 4)
|
if (npoints > 4)
|
||||||
{
|
{
|
||||||
eng_image_map_draw(data, context, surface, image, npoints - 2, p + 2,
|
eng_image_map_draw(data, context, surface, image, npoints - 2, p + 2,
|
||||||
smooth, level);
|
smooth, level);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue