Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • pixman/pixman
  • ajax/pixman
  • mc/pixman
  • mlankhorst/pixman
  • dbaker/pixman
  • ayan.halder/pixman
  • hygonsoc/pixman
  • creiter/pixman
  • jfkthame/pixman
  • fanc999/pixman
  • tysmith/pixman
  • dh/pixman
  • ross/pixman
  • bigbear1385/pixman
  • meh/pixman
  • ao2/pixman
  • federico/pixman
  • mattst88/pixman
  • Ghabry/pixman
  • tstellar1/pixman
  • verdre/pixman
  • hlewin/pixman
  • tpm/pixman
  • mszyprow/pixman
  • 3v1n0/pixman
  • pkubaj/pixman
  • ericonr/pixman
  • andrelrt/pixman
  • syakiraazalea00/pixman
  • claudeha/pixman
  • abique/pixman
  • berkantaslan24/pixman
  • josephjma007/pixman
  • arichardson/pixman
  • mstoeckl/pixman
  • nirbheek/pixman
  • lb90/pixman
  • emersion/pixman
  • alanc/pixman
  • player-03/pixman
  • bgin/pixman
  • bgilbert/pixman
  • jocelyn/pixman
  • he32/pixman
  • klmorgan2424/pixman
  • Emanuesson/pixman
  • rth7680/pixman
  • gauthier/pixman
  • songding-sd/pixman
  • thesamesam/pixman
  • labath/pixman
  • Gayathri.Berli/pixman
  • MarekPikula/pixman
  • ghishadow/pixman
  • rouault/pixman
  • f.wasil/pixman
  • sandy-lcq/pixman
  • wcrobertarm/pixman
  • whot/pixman
  • jdemille/pixman
  • trofi/pixman
  • AmareToreano/pixman
  • glandium/pixman
63 results
Show changes
Commits on Source (1)
......@@ -249,6 +249,63 @@ static const pixman_fast_path_t general_fast_path[] =
{ PIXMAN_OP_NONE }
};
static pixman_bool_t
general_blt (pixman_implementation_t *imp,
uint32_t * src_bits,
uint32_t * dst_bits,
int src_stride,
int dst_stride,
int src_bpp,
int dst_bpp,
int src_x,
int src_y,
int dest_x,
int dest_y,
int width,
int height)
{
void *src_bytes;
void *dst_bytes;
int byte_width;
if (src_bpp != dst_bpp)
return FALSE;
if (src_bpp == 16)
{
src_stride = src_stride * (int) sizeof (uint32_t) / 2;
dst_stride = dst_stride * (int) sizeof (uint32_t) / 2;
src_bytes = (uint16_t *)src_bits + src_stride * src_y + src_x;
dst_bytes = (uint16_t *)dst_bits + dst_stride * dest_y + dest_x;
byte_width = 2 * width;
src_stride *= 2;
dst_stride *= 2;
}
else if (src_bpp == 32)
{
src_stride = src_stride * (int) sizeof (uint32_t) / 4;
dst_stride = dst_stride * (int) sizeof (uint32_t) / 4;
src_bytes = (uint32_t *)src_bits + src_stride * src_y + src_x;
dst_bytes = (uint32_t *)dst_bits + dst_stride * dest_y + dest_x;
byte_width = 4 * width;
src_stride *= 4;
dst_stride *= 4;
}
else
{
return FALSE;
}
while (height--)
{
memmove (dst_bytes, src_bytes, byte_width);
src_bytes = (uint8_t *)src_bytes + src_stride;
dst_bytes = (uint8_t *)dst_bytes + dst_stride;
}
return TRUE;
}
pixman_implementation_t *
_pixman_implementation_create_general (void)
{
......@@ -258,6 +315,7 @@ _pixman_implementation_create_general (void)
_pixman_setup_combiner_functions_float (imp);
imp->iter_info = general_iters;
imp->blt = general_blt;
return imp;
}
......