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] |
1.7.1