forked from enlightenment/efl
evas: Render_Engine_Software_Generic is actually Render_Output_Software_Generic.
This commit is contained in:
parent
268d9984b4
commit
bf2439b501
|
@ -17,7 +17,7 @@ static Evas_Func func, pfunc;
|
||||||
|
|
||||||
|
|
||||||
/* engine struct data */
|
/* engine struct data */
|
||||||
typedef Render_Engine_Software_Generic Render_Engine;
|
typedef Render_Output_Software_Generic Render_Engine;
|
||||||
|
|
||||||
/* prototypes we will use here */
|
/* prototypes we will use here */
|
||||||
static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data), void *(*switch_buffer) (void *data, void *dest_buffer), void *switch_data);
|
static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data), void *(*switch_buffer) (void *data, void *dest_buffer), void *switch_data);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
typedef struct _Render_Engine
|
typedef struct _Render_Engine
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic generic;
|
Render_Output_Software_Generic generic;
|
||||||
|
|
||||||
Ecore_Drm2_Device *dev;
|
Ecore_Drm2_Device *dev;
|
||||||
} Render_Engine;
|
} Render_Engine;
|
||||||
|
|
|
@ -14,7 +14,7 @@ static Eina_List *_outbufs = NULL;
|
||||||
static Evas_Func func, pfunc;
|
static Evas_Func func, pfunc;
|
||||||
|
|
||||||
/* engine struct data */
|
/* engine struct data */
|
||||||
typedef Render_Engine_Software_Generic Render_Engine;
|
typedef Render_Output_Software_Generic Render_Engine;
|
||||||
|
|
||||||
/* internal engine routines */
|
/* internal engine routines */
|
||||||
static void *
|
static void *
|
||||||
|
|
|
@ -19,7 +19,7 @@ typedef void (*Window_GL_Context_Use)(Context_3D *ctx);
|
||||||
|
|
||||||
struct _Render_Engine_GL_Generic
|
struct _Render_Engine_GL_Generic
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic software;
|
Render_Output_Software_Generic software;
|
||||||
|
|
||||||
Window_Use window_use;
|
Window_Use window_use;
|
||||||
Window_GL_Context_Get window_gl_context_get;
|
Window_GL_Context_Get window_gl_context_get;
|
||||||
|
|
|
@ -12,7 +12,7 @@ typedef struct _Render_Engine Render_Engine;
|
||||||
|
|
||||||
struct _Render_Engine
|
struct _Render_Engine
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic generic;
|
Render_Output_Software_Generic generic;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* log domain variable */
|
/* log domain variable */
|
||||||
|
|
|
@ -12,7 +12,7 @@ typedef struct _Render_Engine Render_Engine;
|
||||||
|
|
||||||
struct _Render_Engine
|
struct _Render_Engine
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic generic;
|
Render_Output_Software_Generic generic;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ typedef enum
|
||||||
MERGE_SMART
|
MERGE_SMART
|
||||||
} Render_Engine_Merge_Mode;
|
} Render_Engine_Merge_Mode;
|
||||||
|
|
||||||
typedef struct _Render_Engine_Software_Generic Render_Engine_Software_Generic;
|
typedef struct _Render_Output_Software_Generic Render_Output_Software_Generic;
|
||||||
typedef struct _Outbuf Outbuf;
|
typedef struct _Outbuf Outbuf;
|
||||||
|
|
||||||
typedef Render_Engine_Swap_Mode (*Outbuf_Swap_Mode_Get)(Outbuf *ob);
|
typedef Render_Engine_Swap_Mode (*Outbuf_Swap_Mode_Get)(Outbuf *ob);
|
||||||
|
@ -48,7 +48,7 @@ typedef int (*Outbuf_Get_Rot)(Outbuf *ob);
|
||||||
typedef void (*Outbuf_Flush)(Outbuf *ob, Tilebuf_Rect *surface_damage, Tilebuf_Rect *buffer_damage, Evas_Render_Mode render_mode);
|
typedef void (*Outbuf_Flush)(Outbuf *ob, Tilebuf_Rect *surface_damage, Tilebuf_Rect *buffer_damage, Evas_Render_Mode render_mode);
|
||||||
typedef void (*Outbuf_Redraws_Clear)(Outbuf *ob);
|
typedef void (*Outbuf_Redraws_Clear)(Outbuf *ob);
|
||||||
|
|
||||||
struct _Render_Engine_Software_Generic
|
struct _Render_Output_Software_Generic
|
||||||
{
|
{
|
||||||
Outbuf *ob;
|
Outbuf *ob;
|
||||||
Tilebuf *tb;
|
Tilebuf *tb;
|
||||||
|
@ -80,7 +80,7 @@ struct _Render_Engine_Software_Generic
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
evas_render_engine_software_generic_init(Render_Engine_Software_Generic *re,
|
evas_render_engine_software_generic_init(Render_Output_Software_Generic *re,
|
||||||
Outbuf *ob,
|
Outbuf *ob,
|
||||||
Outbuf_Swap_Mode_Get outbuf_swap_mode_get,
|
Outbuf_Swap_Mode_Get outbuf_swap_mode_get,
|
||||||
Outbuf_Get_Rot outbuf_get_rot,
|
Outbuf_Get_Rot outbuf_get_rot,
|
||||||
|
@ -135,7 +135,7 @@ evas_render_engine_software_generic_init(Render_Engine_Software_Generic *re,
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
evas_render_engine_software_generic_clean(Render_Engine_Software_Generic *re)
|
evas_render_engine_software_generic_clean(Render_Output_Software_Generic *re)
|
||||||
{
|
{
|
||||||
if (re->tb) evas_common_tilebuf_free(re->tb);
|
if (re->tb) evas_common_tilebuf_free(re->tb);
|
||||||
if (re->ob) re->outbuf_free(re->ob);
|
if (re->ob) re->outbuf_free(re->ob);
|
||||||
|
@ -146,18 +146,18 @@ evas_render_engine_software_generic_clean(Render_Engine_Software_Generic *re)
|
||||||
if (re->rects_prev[2]) evas_common_tilebuf_free_render_rects(re->rects_prev[2]);
|
if (re->rects_prev[2]) evas_common_tilebuf_free_render_rects(re->rects_prev[2]);
|
||||||
if (re->rects_prev[3]) evas_common_tilebuf_free_render_rects(re->rects_prev[3]);
|
if (re->rects_prev[3]) evas_common_tilebuf_free_render_rects(re->rects_prev[3]);
|
||||||
|
|
||||||
memset(re, 0, sizeof (Render_Engine_Software_Generic));
|
memset(re, 0, sizeof (Render_Output_Software_Generic));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
evas_render_engine_software_generic_merge_mode_set(Render_Engine_Software_Generic *re,
|
evas_render_engine_software_generic_merge_mode_set(Render_Output_Software_Generic *re,
|
||||||
Render_Engine_Merge_Mode merge_mode)
|
Render_Engine_Merge_Mode merge_mode)
|
||||||
{
|
{
|
||||||
re->merge_mode = merge_mode;
|
re->merge_mode = merge_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
evas_render_engine_software_generic_tile_strict_set(Render_Engine_Software_Generic *re,
|
evas_render_engine_software_generic_tile_strict_set(Render_Output_Software_Generic *re,
|
||||||
Eina_Bool tile_strict)
|
Eina_Bool tile_strict)
|
||||||
{
|
{
|
||||||
re->tile_strict = !!tile_strict;
|
re->tile_strict = !!tile_strict;
|
||||||
|
@ -165,7 +165,7 @@ evas_render_engine_software_generic_tile_strict_set(Render_Engine_Software_Gener
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
evas_render_engine_software_generic_update(Render_Engine_Software_Generic *re,
|
evas_render_engine_software_generic_update(Render_Output_Software_Generic *re,
|
||||||
Outbuf *ob,
|
Outbuf *ob,
|
||||||
int w, int h)
|
int w, int h)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3858,7 +3858,7 @@ eng_gl_api_get(void *data EINA_UNUSED, int version)
|
||||||
static int
|
static int
|
||||||
eng_gl_error_get(void *data)
|
eng_gl_error_get(void *data)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re = data;
|
Render_Output_Software_Generic *re = data;
|
||||||
|
|
||||||
// TODO: Track EGL-like errors in the software engines
|
// TODO: Track EGL-like errors in the software engines
|
||||||
|
|
||||||
|
@ -3893,16 +3893,16 @@ eng_gl_rotation_angle_get(void *data EINA_UNUSED)
|
||||||
/* The following function require that any engine
|
/* The following function require that any engine
|
||||||
inheriting from software generic to have at the
|
inheriting from software generic to have at the
|
||||||
top of their render engine structure a
|
top of their render engine structure a
|
||||||
Render_Engine_Software_Generic structure that is
|
Render_Output_Software_Generic structure that is
|
||||||
initialized by evas_render_engine_software_generic_init().
|
initialized by evas_render_engine_software_generic_init().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
eng_output_resize(void *engine EINA_UNUSED, void *data, int w, int h)
|
eng_output_resize(void *engine EINA_UNUSED, void *data, int w, int h)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
re->outbuf_reconfigure(re->ob, w, h, re->outbuf_get_rot(re->ob),
|
re->outbuf_reconfigure(re->ob, w, h, re->outbuf_get_rot(re->ob),
|
||||||
OUTBUF_DEPTH_INHERIT);
|
OUTBUF_DEPTH_INHERIT);
|
||||||
evas_common_tilebuf_free(re->tb);
|
evas_common_tilebuf_free(re->tb);
|
||||||
|
@ -3919,36 +3919,36 @@ eng_output_resize(void *engine EINA_UNUSED, void *data, int w, int h)
|
||||||
static void
|
static void
|
||||||
eng_output_tile_size_set(void *engine EINA_UNUSED, void *data, int w, int h)
|
eng_output_tile_size_set(void *engine EINA_UNUSED, void *data, int w, int h)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
evas_common_tilebuf_set_tile_size(re->tb, w, h);
|
evas_common_tilebuf_set_tile_size(re->tb, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
eng_output_redraws_rect_add(void *engine EINA_UNUSED, void *data, int x, int y, int w, int h)
|
eng_output_redraws_rect_add(void *engine EINA_UNUSED, void *data, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
|
evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
eng_output_redraws_rect_del(void *engine EINA_UNUSED, void *data, int x, int y, int w, int h)
|
eng_output_redraws_rect_del(void *engine EINA_UNUSED, void *data, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
|
evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
eng_output_redraws_clear(void *engine EINA_UNUSED, void *data)
|
eng_output_redraws_clear(void *engine EINA_UNUSED, void *data)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
evas_common_tilebuf_clear(re->tb);
|
evas_common_tilebuf_clear(re->tb);
|
||||||
if (re->outbuf_redraws_clear) re->outbuf_redraws_clear(re->ob);
|
if (re->outbuf_redraws_clear) re->outbuf_redraws_clear(re->ob);
|
||||||
}
|
}
|
||||||
|
@ -4151,7 +4151,7 @@ _merge_rects(Render_Engine_Merge_Mode merge_mode,
|
||||||
static void *
|
static void *
|
||||||
eng_output_redraws_next_update_get(void *engine EINA_UNUSED, void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
|
eng_output_redraws_next_update_get(void *engine EINA_UNUSED, void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
void *surface;
|
void *surface;
|
||||||
Tilebuf_Rect *rect;
|
Tilebuf_Rect *rect;
|
||||||
|
|
||||||
|
@ -4162,7 +4162,7 @@ eng_output_redraws_next_update_get(void *engine EINA_UNUSED, void *data, int *x,
|
||||||
re->rects_prev[x] = NULL; \
|
re->rects_prev[x] = NULL; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
if (re->end)
|
if (re->end)
|
||||||
{
|
{
|
||||||
re->end = 0;
|
re->end = 0;
|
||||||
|
@ -4279,11 +4279,11 @@ eng_output_redraws_next_update_get(void *engine EINA_UNUSED, void *data, int *x,
|
||||||
static void
|
static void
|
||||||
eng_output_redraws_next_update_push(void *engine EINA_UNUSED, void *data, void *surface, int x, int y, int w, int h, Evas_Render_Mode render_mode)
|
eng_output_redraws_next_update_push(void *engine EINA_UNUSED, void *data, void *surface, int x, int y, int w, int h, Evas_Render_Mode render_mode)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
if (render_mode == EVAS_RENDER_MODE_ASYNC_INIT) return;
|
if (render_mode == EVAS_RENDER_MODE_ASYNC_INIT) return;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
#if defined(BUILD_PIPE_RENDER)
|
#if defined(BUILD_PIPE_RENDER)
|
||||||
evas_common_pipe_map_begin(surface);
|
evas_common_pipe_map_begin(surface);
|
||||||
#endif /* BUILD_PIPE_RENDER */
|
#endif /* BUILD_PIPE_RENDER */
|
||||||
|
@ -4295,11 +4295,11 @@ eng_output_redraws_next_update_push(void *engine EINA_UNUSED, void *data, void *
|
||||||
static void
|
static void
|
||||||
eng_output_flush(void *engine EINA_UNUSED, void *data, Evas_Render_Mode render_mode)
|
eng_output_flush(void *engine EINA_UNUSED, void *data, Evas_Render_Mode render_mode)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
if (render_mode == EVAS_RENDER_MODE_ASYNC_INIT) return;
|
if (render_mode == EVAS_RENDER_MODE_ASYNC_INIT) return;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
if (re->outbuf_flush) re->outbuf_flush(re->ob, re->rects_prev[0], re->rects, render_mode);
|
if (re->outbuf_flush) re->outbuf_flush(re->ob, re->rects_prev[0], re->rects, render_mode);
|
||||||
if (re->rects && render_mode != EVAS_RENDER_MODE_ASYNC_INIT)
|
if (re->rects && render_mode != EVAS_RENDER_MODE_ASYNC_INIT)
|
||||||
{
|
{
|
||||||
|
@ -4311,9 +4311,9 @@ eng_output_flush(void *engine EINA_UNUSED, void *data, Evas_Render_Mode render_m
|
||||||
static void
|
static void
|
||||||
eng_output_idle_flush(void *engine EINA_UNUSED, void *data)
|
eng_output_idle_flush(void *engine EINA_UNUSED, void *data)
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Engine_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
if (re->outbuf_idle_flush) re->outbuf_idle_flush(re->ob);
|
if (re->outbuf_idle_flush) re->outbuf_idle_flush(re->ob);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ typedef struct _Render_Engine Render_Engine;
|
||||||
|
|
||||||
struct _Render_Engine
|
struct _Render_Engine
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic generic;
|
Render_Output_Software_Generic generic;
|
||||||
Eina_Bool (*outbuf_alpha_get)(Outbuf *ob);
|
Eina_Bool (*outbuf_alpha_get)(Outbuf *ob);
|
||||||
|
|
||||||
struct
|
struct
|
||||||
|
|
|
@ -24,7 +24,7 @@ Evas_Native_Tbm_Surface_Stride_Get_Call glsym__evas_native_tbm_surface_stride_g
|
||||||
typedef struct _Render_Engine Render_Engine;
|
typedef struct _Render_Engine Render_Engine;
|
||||||
struct _Render_Engine
|
struct _Render_Engine
|
||||||
{
|
{
|
||||||
Render_Engine_Software_Generic generic;
|
Render_Output_Software_Generic generic;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* LOCAL FUNCTIONS */
|
/* LOCAL FUNCTIONS */
|
||||||
|
|
Loading…
Reference in New Issue