summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2010-08-09 16:22:21 -0700
committerDavid Schleef <ds@schleef.org>2011-05-17 10:24:31 -0700
commitda2053bd56dd6d183a09bdda13804ceebccac5aa (patch)
treef280f938b048477a4eb00ce2c941b1d20dd3316f
parent29e04980e956fcf21a2f32c815780c0908b7e769 (diff)
fixes for rebase
-rw-r--r--pixman/pixman-orc.c144
1 files changed, 72 insertions, 72 deletions
diff --git a/pixman/pixman-orc.c b/pixman/pixman-orc.c
index 58fa058..6a1da67 100644
--- a/pixman/pixman-orc.c
+++ b/pixman/pixman-orc.c
@@ -403,86 +403,88 @@ orc_composite_over_8888_8_8888 (pixman_implementation_t *imp,
static const pixman_fast_path_t orc_fast_paths[] =
{
#if 0
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_r5g6b5, orc_composite_over_n_8_0565 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_b5g6r5, orc_composite_over_n_8_0565 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_null, PIXMAN_a8r8g8b8, orc_composite_over_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_null, PIXMAN_x8r8g8b8, orc_composite_over_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_null, PIXMAN_r5g6b5, orc_composite_over_n_0565 },
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, orc_composite_over_8888_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, orc_composite_over_8888_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_a8b8g8r8, orc_composite_over_8888_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, orc_composite_over_8888_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_r5g6b5, orc_composite_over_8888_0565 },
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_b5g6r5, orc_composite_over_8888_0565 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8r8g8b8, orc_composite_over_n_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8r8g8b8, orc_composite_over_n_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8b8g8r8, orc_composite_over_n_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8b8g8r8, orc_composite_over_n_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8, PIXMAN_x8r8g8b8, orc_composite_over_8888_8_8888 },
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8, r5g6b5, orc_composite_over_n_8_0565 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8, b5g6r5, orc_composite_over_n_8_0565 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, null, a8r8g8b8, orc_composite_over_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, null, x8r8g8b8, orc_composite_over_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, null, r5g6b5, orc_composite_over_n_0565 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, null, a8r8g8b8, orc_composite_over_8888_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, null, x8r8g8b8, orc_composite_over_8888_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, null, a8b8g8r8, orc_composite_over_8888_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, null, x8b8g8r8, orc_composite_over_8888_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, null, r5g6b5, orc_composite_over_8888_0565 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, null, b5g6r5, orc_composite_over_8888_0565 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8, a8r8g8b8, orc_composite_over_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8, x8r8g8b8, orc_composite_over_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8, a8b8g8r8, orc_composite_over_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8, x8b8g8r8, orc_composite_over_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, a8, x8r8g8b8, orc_composite_over_8888_8_8888 ),
#endif
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8, PIXMAN_a8r8g8b8, orc_composite_over_8888_8_8888 },
+ PIXMAN_STD_FAST_PATH(OVER, a8r8g8b8, a8, a8r8g8b8, orc_composite_over_8888_8_8888),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, a8, a8r8g8b8, orc_composite_over_8888_8_8888 ),
#if 0
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_a8, PIXMAN_x8b8g8r8, orc_composite_over_8888_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_a8, PIXMAN_a8b8g8r8, orc_composite_over_8888_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_a8, PIXMAN_x8r8g8b8, orc_composite_over_x888_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_a8, PIXMAN_a8r8g8b8, orc_composite_over_x888_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_a8, PIXMAN_x8b8g8r8, orc_composite_over_x888_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_a8, PIXMAN_a8b8g8r8, orc_composite_over_x888_8_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_solid, PIXMAN_a8r8g8b8, orc_composite_over_x888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_solid, PIXMAN_x8r8g8b8, orc_composite_over_x888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_solid, PIXMAN_a8b8g8r8, orc_composite_over_x888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_solid, PIXMAN_x8b8g8r8, orc_composite_over_x888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_solid, PIXMAN_a8r8g8b8, orc_composite_over_8888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_solid, PIXMAN_x8r8g8b8, orc_composite_over_8888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_solid, PIXMAN_a8b8g8r8, orc_composite_over_8888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_solid, PIXMAN_x8b8g8r8, orc_composite_over_8888_n_8888 },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8r8g8b8_ca, PIXMAN_a8r8g8b8, orc_composite_over_n_8888_8888_ca },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8r8g8b8_ca, PIXMAN_x8r8g8b8, orc_composite_over_n_8888_8888_ca },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8b8g8r8_ca, PIXMAN_a8b8g8r8, orc_composite_over_n_8888_8888_ca },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8b8g8r8_ca, PIXMAN_x8b8g8r8, orc_composite_over_n_8888_8888_ca },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8r8g8b8_ca, PIXMAN_r5g6b5, orc_composite_over_n_8888_0565_ca },
- { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8b8g8r8_ca, PIXMAN_b5g6r5, orc_composite_over_n_8888_0565_ca },
- { PIXMAN_OP_OVER, PIXMAN_pixbuf, PIXMAN_pixbuf, PIXMAN_a8r8g8b8, orc_composite_over_pixbuf_8888 },
- { PIXMAN_OP_OVER, PIXMAN_pixbuf, PIXMAN_pixbuf, PIXMAN_x8r8g8b8, orc_composite_over_pixbuf_8888 },
- { PIXMAN_OP_OVER, PIXMAN_rpixbuf, PIXMAN_rpixbuf, PIXMAN_a8b8g8r8, orc_composite_over_pixbuf_8888 },
- { PIXMAN_OP_OVER, PIXMAN_rpixbuf, PIXMAN_rpixbuf, PIXMAN_x8b8g8r8, orc_composite_over_pixbuf_8888 },
- { PIXMAN_OP_OVER, PIXMAN_pixbuf, PIXMAN_pixbuf, PIXMAN_r5g6b5, orc_composite_over_pixbuf_0565 },
- { PIXMAN_OP_OVER, PIXMAN_rpixbuf, PIXMAN_rpixbuf, PIXMAN_b5g6r5, orc_composite_over_pixbuf_0565 },
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, a8, x8b8g8r8, orc_composite_over_8888_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, a8, a8b8g8r8, orc_composite_over_8888_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8r8g8b8, a8, x8r8g8b8, orc_composite_over_x888_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8r8g8b8, a8, a8r8g8b8, orc_composite_over_x888_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8b8g8r8, a8, x8b8g8r8, orc_composite_over_x888_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8b8g8r8, a8, a8b8g8r8, orc_composite_over_x888_8_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8r8g8b8, solid, a8r8g8b8, orc_composite_over_x888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8r8g8b8, solid, x8r8g8b8, orc_composite_over_x888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8b8g8r8, solid, a8b8g8r8, orc_composite_over_x888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, x8b8g8r8, solid, x8b8g8r8, orc_composite_over_x888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, solid, a8r8g8b8, orc_composite_over_8888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8r8g8b8, solid, x8r8g8b8, orc_composite_over_8888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, solid, a8b8g8r8, orc_composite_over_8888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, a8b8g8r8, solid, x8b8g8r8, orc_composite_over_8888_n_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8r8g8b8_ca, a8r8g8b8, orc_composite_over_n_8888_8888_ca ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8r8g8b8_ca, x8r8g8b8, orc_composite_over_n_8888_8888_ca ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8b8g8r8_ca, a8b8g8r8, orc_composite_over_n_8888_8888_ca ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8b8g8r8_ca, x8b8g8r8, orc_composite_over_n_8888_8888_ca ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8r8g8b8_ca, r5g6b5, orc_composite_over_n_8888_0565_ca ),
+ PIXMAN_STD_FAST_PATH( OVER, solid, a8b8g8r8_ca, b5g6r5, orc_composite_over_n_8888_0565_ca ),
+ PIXMAN_STD_FAST_PATH( OVER, pixbuf, pixbuf, a8r8g8b8, orc_composite_over_pixbuf_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, pixbuf, pixbuf, x8r8g8b8, orc_composite_over_pixbuf_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, rpixbuf, rpixbuf, a8b8g8r8, orc_composite_over_pixbuf_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, rpixbuf, rpixbuf, x8b8g8r8, orc_composite_over_pixbuf_8888 ),
+ PIXMAN_STD_FAST_PATH( OVER, pixbuf, pixbuf, r5g6b5, orc_composite_over_pixbuf_0565 ),
+ PIXMAN_STD_FAST_PATH( OVER, rpixbuf, rpixbuf, b5g6r5, orc_composite_over_pixbuf_0565 ),
#endif
- { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, orc_composite_copy_area },
- { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, orc_composite_copy_area },
+ PIXMAN_STD_FAST_PATH( OVER, x8r8g8b8, null, x8r8g8b8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( OVER, x8b8g8r8, null, x8b8g8r8, orc_composite_copy_area ),
#if 0
- { PIXMAN_OP_ADD, PIXMAN_solid, PIXMAN_a8r8g8b8_ca, PIXMAN_a8r8g8b8, orc_composite_add_n_8888_8888_ca },
+ PIXMAN_STD_FAST_PATH( ADD, solid, a8r8g8b8_ca, a8r8g8b8, orc_composite_add_n_8888_8888_ca ),
#endif
- { PIXMAN_OP_ADD, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, orc_composite_add_8000_8000 },
- { PIXMAN_OP_ADD, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, orc_composite_add_8888_8888 },
- { PIXMAN_OP_ADD, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_a8b8g8r8, orc_composite_add_8888_8888 },
-// { PIXMAN_OP_ADD, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8, orc_composite_add_n_8_8 },
+ PIXMAN_STD_FAST_PATH( ADD, a8, null, a8, orc_composite_add_8000_8000 ),
+ PIXMAN_STD_FAST_PATH( ADD, a8r8g8b8, null, a8r8g8b8, orc_composite_add_8888_8888 ),
+ PIXMAN_STD_FAST_PATH( ADD, a8b8g8r8, null, a8b8g8r8, orc_composite_add_8888_8888 ),
+// PIXMAN_STD_FAST_PATH( ADD, solid, a8, a8, orc_composite_add_n_8_8 ),
#if 0
- { PIXMAN_OP_SRC, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8r8g8b8, orc_composite_src_n_8_8888 },
- { PIXMAN_OP_SRC, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8r8g8b8, orc_composite_src_n_8_8888 },
- { PIXMAN_OP_SRC, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8b8g8r8, orc_composite_src_n_8_8888 },
- { PIXMAN_OP_SRC, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8b8g8r8, orc_composite_src_n_8_8888 },
+ PIXMAN_STD_FAST_PATH( SRC, solid, a8, a8r8g8b8, orc_composite_src_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( SRC, solid, a8, x8r8g8b8, orc_composite_src_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( SRC, solid, a8, a8b8g8r8, orc_composite_src_n_8_8888 ),
+ PIXMAN_STD_FAST_PATH( SRC, solid, a8, x8b8g8r8, orc_composite_src_n_8_8888 ),
#endif
- { PIXMAN_OP_SRC, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_a8b8g8r8, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_x8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_x8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_r5g6b5, PIXMAN_null, PIXMAN_r5g6b5, orc_composite_copy_area },
- { PIXMAN_OP_SRC, PIXMAN_b5g6r5, PIXMAN_null, PIXMAN_b5g6r5, orc_composite_copy_area },
+ PIXMAN_STD_FAST_PATH( SRC, a8r8g8b8, null, a8r8g8b8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, a8b8g8r8, null, a8b8g8r8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, a8r8g8b8, null, x8r8g8b8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, a8b8g8r8, null, x8b8g8r8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, x8r8g8b8, null, x8r8g8b8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, x8b8g8r8, null, x8b8g8r8, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, r5g6b5, null, r5g6b5, orc_composite_copy_area ),
+ PIXMAN_STD_FAST_PATH( SRC, b5g6r5, null, b5g6r5, orc_composite_copy_area ),
#if 0
- { PIXMAN_OP_IN, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, orc_composite_in_8_8 },
- { PIXMAN_OP_IN, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8, orc_composite_in_n_8_8 },
+ PIXMAN_STD_FAST_PATH( IN, a8, null, a8, orc_composite_in_8_8 ),
+ PIXMAN_STD_FAST_PATH( IN, solid, a8, a8, orc_composite_in_n_8_8 ),
#endif
- { PIXMAN_OP_NONE },
+ { PIXMAN_OP_NONE }
};
+#if 0
static void
orc_composite (pixman_implementation_t *imp,
pixman_op_t op,
@@ -515,6 +517,7 @@ orc_composite (pixman_implementation_t *imp,
dest_x, dest_y,
width, height);
}
+#endif
static pixman_bool_t
orc_blt (pixman_implementation_t *imp,
@@ -569,18 +572,15 @@ orc_fill (pixman_implementation_t *imp,
pixman_implementation_t *
_pixman_implementation_create_orc (void)
{
-#ifdef USE_SSE2x
- pixman_implementation_t *general = _pixman_implementation_create_sse2 ();
-#else
pixman_implementation_t *general = _pixman_implementation_create_fast_path ();
-#endif
- pixman_implementation_t *imp = _pixman_implementation_create (general);
+ pixman_implementation_t *imp = _pixman_implementation_create (general,
+ orc_fast_paths);
orc_init ();
imp->combine_32[PIXMAN_OP_OVER] = orc_combine_over_u;
//imp->combine_32[PIXMAN_OP_OVER_REVERSE] = orc_combine_over_reverse_u;
- imp->combine_32[PIXMAN_OP_IN] = orc_combine_in_u;
+ if (0) imp->combine_32[PIXMAN_OP_IN] = orc_combine_in_u;
//imp->combine_32[PIXMAN_OP_IN_REVERSE] = orc_combine_in_reverse_u;
imp->combine_32[PIXMAN_OP_OUT] = orc_combine_out_u;
//imp->combine_32[PIXMAN_OP_OUT_REVERSE] = orc_combine_out_reverse_u;
@@ -603,7 +603,7 @@ _pixman_implementation_create_orc (void)
//imp->combine_32_ca[PIXMAN_OP_XOR] = orc_combine_xor_ca;
imp->combine_32_ca[PIXMAN_OP_ADD] = orc_combine_add_ca;
- imp->composite = orc_composite;
+ //imp->composite = orc_composite;
imp->blt = orc_blt;
imp->fill = orc_fill;