Classes | |
class | CL_BlitARGB8SSE |
SSE accelerated rendering operations for ARGB8888. More... | |
class | CL_GraphicContext_SWRender |
SWRender Graphic Context. More... | |
class | CL_PixelBufferData |
Frame buffer or texture data for pixel commands. More... | |
class | CL_PixelCommand |
Interface for commands participating in the rendering pipeline. More... | |
class | CL_PixelThreadContext |
Thread specific rendering data for pixel commands. More... | |
class | CL_ProgramObject_SWRender |
SWRender Graphic Context. More... | |
class | CL_SoftwareProgram |
Interface for commands participating in drawing primitives. More... | |
class | CL_SWRenderTarget |
Display target for clanDisplay. More... | |
Defines | |
#define | cl_blitargb8sse_blend_normal(dest, src, one, half) |
#define | cl_blitargb8sse_multiply_color(src, primcolor) |
#define | cl_blitargb8sse_sample_nearest(out0, tx, ty, data, width) |
#define | cl_blitargb8sse_texture_repeat(tx, ty, width, height) |
Functions | |
static void | CL_BlitARGB8SSE::blend_lcd (__m128i &dest, __m128i &src, __m128i &one, __m128i &half, __m128i &color) |
static void | CL_BlitARGB8SSE::blend_normal (__m128i &dest, __m128i &src, __m128i &one, __m128i &half) |
static void | CL_BlitARGB8SSE::blend_premultiplied (__m128i &dest, __m128i &src, __m128i &one, __m128i &half) |
static void | CL_BlitARGB8SSE::channels_to_pixels (__m128i &dest0, __m128i &dest1, __m128i &red, __m128i &green, __m128i &blue, __m128i &alpha) |
static void | CL_BlitARGB8SSE::copy_pixels (unsigned int *dest, const unsigned int *src) |
Operations. | |
static void | CL_BlitARGB8SSE::load_pixel (__m128i &xmm, const unsigned int &pixel) |
static void | CL_BlitARGB8SSE::load_pixel_linear (__m128i &xmm, const unsigned int &p1, const unsigned int &p2, const unsigned int &p3, const unsigned int &p4, unsigned int ifracx, unsigned int ifracy) |
static void | CL_BlitARGB8SSE::load_pixels (__m128i &xmm, const unsigned int &p1, unsigned int &p2) |
static void | CL_BlitARGB8SSE::load_pixels (__m128i &xmm, const unsigned int *pixels) |
static void | CL_BlitARGB8SSE::multiply_color (__m128i &src, __m128i primcolor) |
static void | CL_BlitARGB8SSE::pixels_to_channels (__m128i &red, __m128i &green, __m128i &blue, __m128i &alpha, const __m128i &src0, const __m128i &src1) |
static void | CL_BlitARGB8SSE::set_color (__m128i &xmm, unsigned short r1, unsigned short g1, unsigned short b1, unsigned short a1, unsigned short r2, unsigned short g2, unsigned short b2, unsigned short a2) |
static void | CL_BlitARGB8SSE::set_color (__m128i &xmm, unsigned short red, unsigned short green, unsigned short blue, unsigned short alpha) |
static void | CL_BlitARGB8SSE::set_half (__m128i &xmm) |
static void | CL_BlitARGB8SSE::set_one (__m128i &xmm) |
static void | CL_BlitARGB8SSE::store_pixel (unsigned int &pixel, __m128i &xmm) |
static void | CL_BlitARGB8SSE::store_pixels (unsigned int *pixels, __m128i &xmm) |
#define cl_blitargb8sse_blend_normal | ( | dest, | ||
src, | ||||
one, | ||||
half | ||||
) |
{ \ __m128i src_alpha, invsrc_alpha; \ \ src_alpha = src; \ src_alpha = _mm_shufflelo_epi16(src_alpha, 0xff); \ src_alpha = _mm_shufflehi_epi16(src_alpha, 0xff); \ \ invsrc_alpha = _mm_sub_epi16(one, src_alpha); \ \ src = _mm_mullo_epi16(src, src_alpha); \ dest = _mm_mullo_epi16(dest, invsrc_alpha); \ \ dest = _mm_add_epi16(dest, src); \ dest = _mm_add_epi16(dest, half); \ dest = _mm_srli_epi16(dest, 8); \ }
#define cl_blitargb8sse_multiply_color | ( | src, | ||
primcolor | ||||
) |
{ \ src = _mm_mullo_epi16(src, primcolor); \ src = _mm_srli_epi16(src, 8); \ }
#define cl_blitargb8sse_sample_nearest | ( | out0, | ||
tx, | ||||
ty, | ||||
data, | ||||
width | ||||
) |
{ \ __attribute__ ((aligned(16))) unsigned int x[4], y[4]; \ _mm_store_si128((__m128i*) x, _mm_srai_epi32(tx, 16)); \ _mm_store_si128((__m128i*) y, _mm_srai_epi32(ty, 16)); \ out0 = _mm_set_epi32(data[x[0]+y[0]*width], data[x[1]+y[1]*width], data[x[2]+y[2]*width], data[x[3]+y[3]*width]); \ }
#define cl_blitargb8sse_texture_repeat | ( | tx, | ||
ty, | ||||
width, | ||||
height | ||||
) |
void CL_BlitARGB8SSE::blend_lcd | ( | __m128i & | dest, | |
__m128i & | src, | |||
__m128i & | one, | |||
__m128i & | half, | |||
__m128i & | color | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::blend_normal | ( | __m128i & | dest, | |
__m128i & | src, | |||
__m128i & | one, | |||
__m128i & | half | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::blend_premultiplied | ( | __m128i & | dest, | |
__m128i & | src, | |||
__m128i & | one, | |||
__m128i & | half | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::channels_to_pixels | ( | __m128i & | dest0, | |
__m128i & | dest1, | |||
__m128i & | red, | |||
__m128i & | green, | |||
__m128i & | blue, | |||
__m128i & | alpha | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::copy_pixels | ( | unsigned int * | dest, | |
const unsigned int * | src | |||
) | [inline, static, inherited] |
Operations.
void CL_BlitARGB8SSE::load_pixel | ( | __m128i & | xmm, | |
const unsigned int & | pixel | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::load_pixel_linear | ( | __m128i & | xmm, | |
const unsigned int & | p1, | |||
const unsigned int & | p2, | |||
const unsigned int & | p3, | |||
const unsigned int & | p4, | |||
unsigned int | ifracx, | |||
unsigned int | ifracy | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::load_pixels | ( | __m128i & | xmm, | |
const unsigned int & | p1, | |||
unsigned int & | p2 | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::load_pixels | ( | __m128i & | xmm, | |
const unsigned int * | pixels | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::multiply_color | ( | __m128i & | src, | |
__m128i | primcolor | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::pixels_to_channels | ( | __m128i & | red, | |
__m128i & | green, | |||
__m128i & | blue, | |||
__m128i & | alpha, | |||
const __m128i & | src0, | |||
const __m128i & | src1 | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::set_color | ( | __m128i & | xmm, | |
unsigned short | r1, | |||
unsigned short | g1, | |||
unsigned short | b1, | |||
unsigned short | a1, | |||
unsigned short | r2, | |||
unsigned short | g2, | |||
unsigned short | b2, | |||
unsigned short | a2 | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::set_color | ( | __m128i & | xmm, | |
unsigned short | red, | |||
unsigned short | green, | |||
unsigned short | blue, | |||
unsigned short | alpha | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::set_half | ( | __m128i & | xmm | ) | [inline, static, inherited] |
void CL_BlitARGB8SSE::set_one | ( | __m128i & | xmm | ) | [inline, static, inherited] |
void CL_BlitARGB8SSE::store_pixel | ( | unsigned int & | pixel, | |
__m128i & | xmm | |||
) | [inline, static, inherited] |
void CL_BlitARGB8SSE::store_pixels | ( | unsigned int * | pixels, | |
__m128i & | xmm | |||
) | [inline, static, inherited] |