w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

pixman-vmx.c File Reference
#include "pixman-private.h"
#include "pixman-combine32.h"
#include "pixman-inlines.h"
#include <altivec.h>
Include dependency graph for pixman-vmx.c:

Go to the source code of this file.

Macros

#define AVV(x...)   {x}
 
#define in_over(src, srca, mask, dest)
 
#define COMPUTE_SHIFT_MASK(source)
 
#define COMPUTE_SHIFT_MASKS(dest, source)
 
#define COMPUTE_SHIFT_MASKC(dest, source, mask)
 
#define LOAD_VECTOR(source)    v ## source = (typeof(v ## source))vec_xl(0, source);
 
#define LOAD_VECTORS(dest, source)
 
#define LOAD_VECTORSC(dest, source, mask)
 
#define DECLARE_SRC_MASK_VAR
 
#define DECLARE_MASK_MASK_VAR
 
#define LOAD_VECTORSM(dest, source, mask)
 
#define STORE_VECTOR(dest)    vec_st ((vector unsigned int) v ## dest, 0, dest);
 
#define IMAGE_FLAGS
 

Functions

static vector unsigned int splat_alpha (vector unsigned int pix)
 
static vector unsigned int splat_pixel (vector unsigned int pix)
 
static vector unsigned int pix_multiply (vector unsigned int p, vector unsigned int a)
 
static vector unsigned int pix_add (vector unsigned int a, vector unsigned int b)
 
static vector unsigned int pix_add_mul (vector unsigned int x, vector unsigned int a, vector unsigned int y, vector unsigned int b)
 
static vector unsigned int negate (vector unsigned int src)
 
static vector unsigned int over (vector unsigned int src, vector unsigned int srca, vector unsigned int dest)
 
static vector unsigned int load_128_aligned (const uint32_t *src)
 
static vector unsigned int load_128_unaligned (const uint32_t *src)
 
static void save_128_aligned (uint32_t *data, vector unsigned int vdata)
 
static vector unsigned int create_mask_1x32_128 (const uint32_t *src)
 
static vector unsigned int create_mask_32_128 (uint32_t mask)
 
static vector unsigned int unpacklo_128_16x8 (vector unsigned int data1, vector unsigned int data2)
 
static vector unsigned int unpackhi_128_16x8 (vector unsigned int data1, vector unsigned int data2)
 
static vector unsigned int unpacklo_128_8x16 (vector unsigned int data1, vector unsigned int data2)
 
static vector unsigned int unpackhi_128_8x16 (vector unsigned int data1, vector unsigned int data2)
 
static void unpack_128_2x128 (vector unsigned int data1, vector unsigned int data2, vector unsigned int *data_lo, vector unsigned int *data_hi)
 
static void unpack_128_2x128_16 (vector unsigned int data1, vector unsigned int data2, vector unsigned int *data_lo, vector unsigned int *data_hi)
 
static vector unsigned int unpack_565_to_8888 (vector unsigned int lo)
 
static int is_opaque (vector unsigned int x)
 
static int is_zero (vector unsigned int x)
 
static int is_transparent (vector unsigned int x)
 
static uint32_t core_combine_over_u_pixel_vmx (uint32_t src, uint32_t dst)
 
static uint32_t combine1 (const uint32_t *ps, const uint32_t *pm)
 
static vector unsigned int combine4 (const uint32_t *ps, const uint32_t *pm)
 
static void vmx_combine_over_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_over_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_over_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_over_reverse_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_over_reverse_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_over_reverse_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_in_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_in_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_in_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_in_reverse_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_in_reverse_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_in_reverse_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_out_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_out_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_out_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_out_reverse_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_out_reverse_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_out_reverse_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_atop_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_atop_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_atop_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_atop_reverse_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_atop_reverse_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_atop_reverse_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_xor_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_xor_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_xor_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_add_u_no_mask (uint32_t *dest, const uint32_t *src, int width)
 
static void vmx_combine_add_u_mask (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_add_u (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_src_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_over_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_over_reverse_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_in_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_in_reverse_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_out_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_out_reverse_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_atop_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_atop_reverse_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_xor_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_combine_add_ca (pixman_implementation_t *imp, pixman_op_t op, uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 
static void vmx_composite_over_n_8_8888 (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static pixman_bool_t vmx_fill (pixman_implementation_t *imp, uint32_t *bits, int stride, int bpp, int x, int y, int width, int height, uint32_t filler)
 
static void vmx_composite_src_x888_8888 (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void vmx_composite_over_n_8888 (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void vmx_composite_over_8888_8888 (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void vmx_composite_over_n_8888_8888_ca (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void vmx_composite_add_8_8 (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void vmx_composite_add_8888_8888 (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void scaled_nearest_scanline_vmx_8888_8888_OVER (uint32_t *pd, const uint32_t *ps, int32_t w, pixman_fixed_t vx, pixman_fixed_t unit_x, pixman_fixed_t src_width_fixed, pixman_bool_t fully_transparent_src)
 
static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_cover_OVER_wrapper (const uint8_t *mask, uint32_t *dst, const uint32_t *src, int32_t w, pixman_fixed_t vx, pixman_fixed_t unit_x, pixman_fixed_t max_vx, pixman_bool_t fully_transparent_src)
 
static void fast_composite_scaled_nearest_vmx_8888_8888_cover_OVER (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_none_OVER_wrapper (const uint8_t *mask, uint32_t *dst, const uint32_t *src, int32_t w, pixman_fixed_t vx, pixman_fixed_t unit_x, pixman_fixed_t max_vx, pixman_bool_t fully_transparent_src)
 
static void fast_composite_scaled_nearest_vmx_8888_8888_none_OVER (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_pad_OVER_wrapper (const uint8_t *mask, uint32_t *dst, const uint32_t *src, int32_t w, pixman_fixed_t vx, pixman_fixed_t unit_x, pixman_fixed_t max_vx, pixman_bool_t fully_transparent_src)
 
static void fast_composite_scaled_nearest_vmx_8888_8888_pad_OVER (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_normal_OVER_wrapper (const uint8_t *mask, uint32_t *dst, const uint32_t *src, int32_t w, pixman_fixed_t vx, pixman_fixed_t unit_x, pixman_fixed_t max_vx, pixman_bool_t fully_transparent_src)
 
static void fast_composite_scaled_nearest_vmx_8888_8888_normal_OVER (pixman_implementation_t *imp, pixman_composite_info_t *info)
 
static uint32_tvmx_fetch_x8r8g8b8 (pixman_iter_t *iter, const uint32_t *mask)
 
static uint32_tvmx_fetch_a8 (pixman_iter_t *iter, const uint32_t *mask)
 
pixman_implementation_t_pixman_implementation_create_vmx (pixman_implementation_t *fallback)
 

Variables

static vector unsigned int mask_ff000000
 
static vector unsigned int mask_red
 
static vector unsigned int mask_green
 
static vector unsigned int mask_blue
 
static vector unsigned int mask_565_fix_rb
 
static vector unsigned int mask_565_fix_g
 
static const pixman_fast_path_t vmx_fast_paths []
 
static const pixman_iter_info_t vmx_iters []
 

Macro Definition Documentation

◆ AVV

#define AVV (   x...)    {x}

Definition at line 36 of file pixman-vmx.c.

◆ COMPUTE_SHIFT_MASK

#define COMPUTE_SHIFT_MASK (   source)

Definition at line 223 of file pixman-vmx.c.

◆ COMPUTE_SHIFT_MASKC

#define COMPUTE_SHIFT_MASKC (   dest,
  source,
  mask 
)

Definition at line 227 of file pixman-vmx.c.

◆ COMPUTE_SHIFT_MASKS

#define COMPUTE_SHIFT_MASKS (   dest,
  source 
)

Definition at line 225 of file pixman-vmx.c.

◆ DECLARE_MASK_MASK_VAR

#define DECLARE_MASK_MASK_VAR

Definition at line 241 of file pixman-vmx.c.

◆ DECLARE_SRC_MASK_VAR

#define DECLARE_SRC_MASK_VAR

Definition at line 240 of file pixman-vmx.c.

◆ IMAGE_FLAGS

#define IMAGE_FLAGS
Value:
FAST_PATH_BITS_IMAGE | FAST_PATH_SAMPLES_COVER_CLIP_NEAREST)
#define FAST_PATH_SAMPLES_COVER_CLIP_NEAREST
#define FAST_PATH_STANDARD_FLAGS
#define FAST_PATH_ID_TRANSFORM

Definition at line 3100 of file pixman-vmx.c.

◆ in_over

#define in_over (   src,
  srca,
  mask,
  dest 
)
Value:
#define dest
static vector unsigned int over(vector unsigned int src, vector unsigned int srca, vector unsigned int dest)
Definition: pixman-vmx.c:161
static vector unsigned int pix_multiply(vector unsigned int p, vector unsigned int a)
Definition: pixman-vmx.c:71
#define mask(n)
Definition: lbitlib.c:93

Definition at line 173 of file pixman-vmx.c.

◆ LOAD_VECTOR

#define LOAD_VECTOR (   source)     v ## source = (typeof(v ## source))vec_xl(0, source);

Definition at line 229 of file pixman-vmx.c.

◆ LOAD_VECTORS

#define LOAD_VECTORS (   dest,
  source 
)
Value:
LOAD_VECTOR(dest); \
#define LOAD_VECTOR(source)
Definition: pixman-vmx.c:229
Definition: sh.h:1345

Definition at line 232 of file pixman-vmx.c.

◆ LOAD_VECTORSC

#define LOAD_VECTORSC (   dest,
  source,
  mask 
)
Value:
LOAD_VECTOR(mask); \
#define LOAD_VECTORS(dest, source)
Definition: pixman-vmx.c:232

Definition at line 236 of file pixman-vmx.c.

◆ LOAD_VECTORSM

#define LOAD_VECTORSM (   dest,
  source,
  mask 
)
Value:
v ## source = pix_multiply (v ## source, \
int v
Definition: dviconv.c:10
static vector unsigned int splat_alpha(vector unsigned int pix)
Definition: pixman-vmx.c:46
#define LOAD_VECTORSC(dest, source, mask)
Definition: pixman-vmx.c:236

Definition at line 245 of file pixman-vmx.c.

◆ STORE_VECTOR

#define STORE_VECTOR (   dest)     vec_st ((vector unsigned int) v ## dest, 0, dest);

Definition at line 250 of file pixman-vmx.c.

Function Documentation

◆ _pixman_implementation_create_vmx()

◆ combine1()

static uint32_t combine1 ( const uint32_t ps,
const uint32_t pm 
)
inlinestatic

Definition at line 457 of file pixman-vmx.c.

References ALPHA_8, ps, s, and UN8x4_MUL_UN8.

Referenced by scaled_nearest_scanline_vmx_8888_8888_OVER().

◆ combine4()

static vector unsigned int combine4 ( const uint32_t ps,
const uint32_t pm 
)
inlinestatic

◆ core_combine_over_u_pixel_vmx()

static uint32_t core_combine_over_u_pixel_vmx ( uint32_t  src,
uint32_t  dst 
)
inlinestatic

◆ create_mask_1x32_128()

static vector unsigned int create_mask_1x32_128 ( const uint32_t src)
inlinestatic

Definition at line 282 of file pixman-vmx.c.

References COMPUTE_SHIFT_MASK, DECLARE_SRC_MASK_VAR, LOAD_VECTOR, and link_confs::src.

Referenced by create_mask_32_128(), and vmx_fill().

◆ create_mask_32_128()

static vector unsigned int create_mask_32_128 ( uint32_t  mask)
inlinestatic

Definition at line 293 of file pixman-vmx.c.

References create_mask_1x32_128(), and mask.

Referenced by _pixman_implementation_create_vmx(), and unpack_565_to_8888().

◆ fast_composite_scaled_nearest_vmx_8888_8888_cover_OVER()

static void fast_composite_scaled_nearest_vmx_8888_8888_cover_OVER ( pixman_implementation_t imp,
pixman_composite_info_t info 
)
static

Definition at line 2978 of file pixman-vmx.c.

◆ fast_composite_scaled_nearest_vmx_8888_8888_none_OVER()

static void fast_composite_scaled_nearest_vmx_8888_8888_none_OVER ( pixman_implementation_t imp,
pixman_composite_info_t info 
)
static

Definition at line 2981 of file pixman-vmx.c.

◆ fast_composite_scaled_nearest_vmx_8888_8888_normal_OVER()

static void fast_composite_scaled_nearest_vmx_8888_8888_normal_OVER ( pixman_implementation_t imp,
pixman_composite_info_t info 
)
static

Definition at line 2987 of file pixman-vmx.c.

◆ fast_composite_scaled_nearest_vmx_8888_8888_pad_OVER()

static void fast_composite_scaled_nearest_vmx_8888_8888_pad_OVER ( pixman_implementation_t imp,
pixman_composite_info_t info 
)
static

Definition at line 2984 of file pixman-vmx.c.

◆ is_opaque()

static int is_opaque ( vector unsigned int  x)
inlinestatic

Definition at line 408 of file pixman-vmx.c.

References cordic::x.

Referenced by scaled_nearest_scanline_vmx_8888_8888_OVER().

◆ is_transparent()

static int is_transparent ( vector unsigned int  x)
inlinestatic

Definition at line 429 of file pixman-vmx.c.

References AVV, and cordic::x.

Referenced by combine4().

◆ is_zero()

static int is_zero ( vector unsigned int  x)
inlinestatic

Definition at line 419 of file pixman-vmx.c.

References AVV, and cordic::x.

Referenced by scaled_nearest_scanline_vmx_8888_8888_OVER().

◆ load_128_aligned()

◆ load_128_unaligned()

◆ negate()

◆ over()

◆ pix_add()

static vector unsigned int pix_add ( vector unsigned int  a,
vector unsigned int  b 
)
inlinestatic

◆ pix_add_mul()

◆ pix_multiply()

◆ save_128_aligned()

◆ scaled_nearest_scanline_vmx_8888_8888_OVER()

static void scaled_nearest_scanline_vmx_8888_8888_OVER ( uint32_t pd,
const uint32_t ps,
int32_t  w,
pixman_fixed_t  vx,
pixman_fixed_t  unit_x,
pixman_fixed_t  src_width_fixed,
pixman_bool_t  fully_transparent_src 
)
inlinestatic

◆ scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_cover_OVER_wrapper()

static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_cover_OVER_wrapper ( const uint8_t mask,
uint32_t dst,
const uint32_t src,
int32_t  w,
pixman_fixed_t  vx,
pixman_fixed_t  unit_x,
pixman_fixed_t  max_vx,
pixman_bool_t  fully_transparent_src 
)
inlinestatic

Definition at line 2978 of file pixman-vmx.c.

◆ scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_none_OVER_wrapper()

static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_none_OVER_wrapper ( const uint8_t mask,
uint32_t dst,
const uint32_t src,
int32_t  w,
pixman_fixed_t  vx,
pixman_fixed_t  unit_x,
pixman_fixed_t  max_vx,
pixman_bool_t  fully_transparent_src 
)
inlinestatic

Definition at line 2981 of file pixman-vmx.c.

◆ scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_normal_OVER_wrapper()

static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_normal_OVER_wrapper ( const uint8_t mask,
uint32_t dst,
const uint32_t src,
int32_t  w,
pixman_fixed_t  vx,
pixman_fixed_t  unit_x,
pixman_fixed_t  max_vx,
pixman_bool_t  fully_transparent_src 
)
inlinestatic

Definition at line 2987 of file pixman-vmx.c.

◆ scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_pad_OVER_wrapper()

static void scaled_nearest_scanline_vmx_8888_8888_OVER_vmx_8888_8888_pad_OVER_wrapper ( const uint8_t mask,
uint32_t dst,
const uint32_t src,
int32_t  w,
pixman_fixed_t  vx,
pixman_fixed_t  unit_x,
pixman_fixed_t  max_vx,
pixman_bool_t  fully_transparent_src 
)
inlinestatic

Definition at line 2984 of file pixman-vmx.c.

◆ splat_alpha()

◆ splat_pixel()

static vector unsigned int splat_pixel ( vector unsigned int  pix)
inlinestatic

Definition at line 62 of file pixman-vmx.c.

References AVV, and pix.

Referenced by vmx_composite_over_n_8_8888().

◆ unpack_128_2x128()

static void unpack_128_2x128 ( vector unsigned int  data1,
vector unsigned int  data2,
vector unsigned int data_lo,
vector unsigned int data_hi 
)
inlinestatic

Definition at line 371 of file pixman-vmx.c.

References unpackhi_128_16x8(), and unpacklo_128_16x8().

Referenced by vmx_fetch_a8().

◆ unpack_128_2x128_16()

static void unpack_128_2x128_16 ( vector unsigned int  data1,
vector unsigned int  data2,
vector unsigned int data_lo,
vector unsigned int data_hi 
)
inlinestatic

Definition at line 379 of file pixman-vmx.c.

References unpackhi_128_8x16(), and unpacklo_128_8x16().

Referenced by vmx_fetch_a8().

◆ unpack_565_to_8888()

static vector unsigned int unpack_565_to_8888 ( vector unsigned int  lo)
inlinestatic

Definition at line 387 of file pixman-vmx.c.

References b, create_mask_32_128(), g, mask_565_fix_g, mask_565_fix_rb, mask_blue, mask_green, mask_red, r, and t.

◆ unpackhi_128_16x8()

static vector unsigned int unpackhi_128_16x8 ( vector unsigned int  data1,
vector unsigned int  data2 
)
inlinestatic

Definition at line 317 of file pixman-vmx.c.

References WORDS_BIGENDIAN.

Referenced by unpack_128_2x128().

◆ unpackhi_128_8x16()

static vector unsigned int unpackhi_128_8x16 ( vector unsigned int  data1,
vector unsigned int  data2 
)
inlinestatic

Definition at line 353 of file pixman-vmx.c.

References gen-indic-table::short, and WORDS_BIGENDIAN.

Referenced by unpack_128_2x128_16().

◆ unpacklo_128_16x8()

static vector unsigned int unpacklo_128_16x8 ( vector unsigned int  data1,
vector unsigned int  data2 
)
inlinestatic

Definition at line 299 of file pixman-vmx.c.

References WORDS_BIGENDIAN.

Referenced by unpack_128_2x128().

◆ unpacklo_128_8x16()

static vector unsigned int unpacklo_128_8x16 ( vector unsigned int  data1,
vector unsigned int  data2 
)
inlinestatic

Definition at line 335 of file pixman-vmx.c.

References gen-indic-table::short, and WORDS_BIGENDIAN.

Referenced by unpack_128_2x128_16().

◆ vmx_combine_add_ca()

◆ vmx_combine_add_u()

◆ vmx_combine_add_u_mask()

static void vmx_combine_add_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_add_u_no_mask()

static void vmx_combine_add_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_atop_ca()

◆ vmx_combine_atop_reverse_ca()

◆ vmx_combine_atop_reverse_u()

static void vmx_combine_atop_reverse_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_atop_reverse_u_mask()

◆ vmx_combine_atop_reverse_u_no_mask()

static void vmx_combine_atop_reverse_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_atop_u()

static void vmx_combine_atop_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_atop_u_mask()

◆ vmx_combine_atop_u_no_mask()

static void vmx_combine_atop_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_in_ca()

◆ vmx_combine_in_reverse_ca()

◆ vmx_combine_in_reverse_u()

static void vmx_combine_in_reverse_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_in_reverse_u_mask()

static void vmx_combine_in_reverse_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_in_reverse_u_no_mask()

static void vmx_combine_in_reverse_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_in_u()

static void vmx_combine_in_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_in_u_mask()

static void vmx_combine_in_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_in_u_no_mask()

static void vmx_combine_in_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_out_ca()

◆ vmx_combine_out_reverse_ca()

◆ vmx_combine_out_reverse_u()

static void vmx_combine_out_reverse_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_out_reverse_u_mask()

static void vmx_combine_out_reverse_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_out_reverse_u_no_mask()

static void vmx_combine_out_reverse_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_out_u()

static void vmx_combine_out_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_out_u_mask()

static void vmx_combine_out_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_out_u_no_mask()

static void vmx_combine_out_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_over_ca()

◆ vmx_combine_over_reverse_ca()

◆ vmx_combine_over_reverse_u()

static void vmx_combine_over_reverse_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_over_reverse_u_mask()

static void vmx_combine_over_reverse_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_over_reverse_u_no_mask()

static void vmx_combine_over_reverse_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_over_u()

static void vmx_combine_over_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_over_u_mask()

static void vmx_combine_over_u_mask ( uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_over_u_no_mask()

static void vmx_combine_over_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_combine_src_ca()

◆ vmx_combine_xor_ca()

◆ vmx_combine_xor_u()

static void vmx_combine_xor_u ( pixman_implementation_t imp,
pixman_op_t  op,
uint32_t dest,
const uint32_t src,
const uint32_t mask,
int  width 
)
static

◆ vmx_combine_xor_u_mask()

◆ vmx_combine_xor_u_no_mask()

static void vmx_combine_xor_u_no_mask ( uint32_t dest,
const uint32_t src,
int  width 
)
static

◆ vmx_composite_add_8888_8888()

◆ vmx_composite_add_8_8()

◆ vmx_composite_over_8888_8888()

◆ vmx_composite_over_n_8888()

◆ vmx_composite_over_n_8888_8888_ca()

◆ vmx_composite_over_n_8_8888()

◆ vmx_composite_src_x888_8888()

◆ vmx_fetch_a8()

◆ vmx_fetch_x8r8g8b8()

◆ vmx_fill()

static pixman_bool_t vmx_fill ( pixman_implementation_t imp,
uint32_t bits,
int  stride,
int  bpp,
int  x,
int  y,
int  width,
int  height,
uint32_t  filler 
)
static

Definition at line 2424 of file pixman-vmx.c.

References b, bits, bpp, create_mask_1x32_128(), d, FALSE, height, int(), stride(), TRUE, w, width, cordic::x, and y.

Referenced by _pixman_implementation_create_vmx().

Variable Documentation

◆ mask_565_fix_g

vector unsigned int mask_565_fix_g
static

Definition at line 43 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx(), and unpack_565_to_8888().

◆ mask_565_fix_rb

vector unsigned int mask_565_fix_rb
static

Definition at line 42 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx(), and unpack_565_to_8888().

◆ mask_blue

vector unsigned int mask_blue
static

Definition at line 41 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx(), and unpack_565_to_8888().

◆ mask_ff000000

vector unsigned int mask_ff000000
static

◆ mask_green

vector unsigned int mask_green
static

Definition at line 40 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx(), and unpack_565_to_8888().

◆ mask_red

vector unsigned int mask_red
static

Definition at line 39 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx(), and unpack_565_to_8888().

◆ vmx_fast_paths

const pixman_fast_path_t vmx_fast_paths[]
static

Definition at line 2989 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx().

◆ vmx_iters

const pixman_iter_info_t vmx_iters[]
static
Initial value:
=
{
{ PIXMAN_x8r8g8b8, ( ( (1 << 2) | (1 << 5) | (1 << 1) | (1 << 6) ) | (1 << 0) | (1 << 25) | (1 << 23) ) , ITER_NARROW,
},
{ PIXMAN_a8, ( ( (1 << 2) | (1 << 5) | (1 << 1) | (1 << 6) ) | (1 << 0) | (1 << 25) | (1 << 23) ) , ITER_NARROW,
},
{ ((( 0 ) << 24) | (( 0 ) << 16) | (( 0 ) << 12) | (( 0 ) << 8) | (( 0 ) << 4) | (( 0 ))) },
}
#define NULL
Definition: ftobjs.h:61
void _pixman_iter_init_bits_stride(pixman_iter_t *iter, const pixman_iter_info_t *info)
Definition: pixman-utils.c:227
@ ITER_NARROW
static uint32_t * vmx_fetch_x8r8g8b8(pixman_iter_t *iter, const uint32_t *mask)
Definition: pixman-vmx.c:3024
static uint32_t * vmx_fetch_a8(pixman_iter_t *iter, const uint32_t *mask)
Definition: pixman-vmx.c:3058
@ PIXMAN_x8r8g8b8
Definition: pixman.h:879
@ PIXMAN_a8
Definition: pixman.h:913

Definition at line 3104 of file pixman-vmx.c.

Referenced by _pixman_implementation_create_vmx().