4#include <private/qdrawhelper_p.h>
5#include <private/qdrawhelper_mips_dsp_p.h>
6#include <private/qpaintengine_raster_p.h>
16 const uchar *srcPixels,
int sbpl,
23 "qt_blend_argb32_on_argb32: dst=(%p, %d), src=(%p, %d), dim=(%d, %d) alpha=%d\n",
24 destPixels, dbpl, srcPixels, sbpl,
w,
h, const_alpha);
30 if (const_alpha == 256) {
31 for (
int y=0;
y<
h; ++
y) {
32 qt_blend_argb32_on_argb32_const_alpha_256_mips_dsp_asm(
dst,
src,
w);
36 }
else if (const_alpha != 0) {
37 const_alpha = (const_alpha * 255) >> 8;
38 for (
int y=0;
y<
h; ++
y) {
46 qt_blend_argb32_on_argb32_mips_dsp_asm_x2(
dst,
src,
h, const_alpha);
54 const uchar *srcPixels,
int sbpl,
60 "qt_blend_rgb32_on_rgb32: dst=(%p, %d), src=(%p, %d), dim=(%d, %d) alpha=%d\n",
61 destPixels, dbpl, srcPixels, sbpl,
w,
h, const_alpha);
65 if (const_alpha != 256) {
73 for (
int y=0;
y<
h; ++
y) {
80#if defined(__MIPS_DSPR2__)
81void qt_blend_rgb16_on_rgb16_mips_dspr2(
uchar *destPixels,
int dbpl,
82 const uchar *srcPixels,
int sbpl,
86 if (const_alpha == 256) {
90 for (
int y = 0;
y <
h; ++
y) {
91 qt_blend_rgb16_on_rgb16_const_alpha_256_mips_dsp_asm(
dst,
src,
w);
99 memcpy(destPixels, srcPixels,
length);
105 else if (const_alpha != 0) {
108 for (
int y = 0;
y <
h; ++
y) {
109 qt_blend_rgb16_on_rgb16_mips_dspr2_asm(
dst,
src,
w, const_alpha);
117 const uchar *srcPixels,
int sbpl,
121 if (const_alpha == 256) {
125 for (
int y = 0;
y <
h; ++
y) {
126 qt_blend_rgb16_on_rgb16_const_alpha_256_mips_dsp_asm(
dst,
src,
w);
134 memcpy(destPixels, srcPixels,
length);
140 else if (const_alpha != 0) {
143 for (
int y = 0;
y <
h; ++
y) {
144 qt_blend_rgb16_on_rgb16_mips_dsp_asm(
dst,
src,
w, const_alpha);
154 if (const_alpha == 255) {
157 int ialpha = 255 - const_alpha;
164 comp_func_Source_dsp_asm_x2(dest,
src,
length, const_alpha);
186 if (const_alpha != 255)
198 if (const_alpha != 255)
206 comp_func_solid_DestinationOver_dsp_asm_x2(dest,
length,
color);
212 if (const_alpha == 255) {
224 comp_func_DestinationOver_dsp_asm_x2(dest,
src,
length, const_alpha);
230 if (const_alpha == 255) {
234 uint cia = 255 - const_alpha;
241 comp_func_solid_SourceIn_dsp_asm_x2(dest,
length,
color, const_alpha);
247 if (const_alpha == 255) {
250 uint cia = 255 - const_alpha;
259 comp_func_SourceIn_dsp_asm_x2(dest,
src,
length, const_alpha);
265 if (const_alpha != 255) {
266 a =
BYTE_MUL(
a, const_alpha) + 255 - const_alpha;
273 comp_func_solid_DestinationIn_dsp_asm_x2(dest,
length,
a);
279 if (const_alpha == 255) {
282 int cia = 255 - const_alpha;
290 comp_func_DestinationIn_dsp_asm_x2(dest,
src,
length, const_alpha);
296 if (const_alpha != 255) {
297 a =
BYTE_MUL(
a, const_alpha) + 255 - const_alpha;
304 comp_func_solid_DestinationIn_dsp_asm_x2(dest,
length,
a);
310 if (const_alpha == 255) {
313 int cia = 255 - const_alpha;
321 comp_func_DestinationOut_dsp_asm_x2(dest,
src,
length, const_alpha);
326 if (const_alpha != 255) {
335 comp_func_solid_SourceAtop_dsp_asm_x2(dest,
length,
color, sia);
341 if (const_alpha == 255) {
354 comp_func_SourceAtop_dsp_asm_x2(dest,
src,
length, const_alpha);
361 if (const_alpha != 255) {
371 comp_func_solid_DestinationAtop_dsp_asm_x2(dest,
length,
color,
a);
377 if (const_alpha == 255) {
382 int cia = 255 - const_alpha;
392 comp_func_DestinationAtop_dsp_asm_x2(dest,
src,
length, const_alpha);
397 if (const_alpha != 255)
407 comp_func_solid_XOR_dsp_asm_x2(dest,
length,
color, sia);
413 if (const_alpha == 255) {
426 comp_func_XOR_dsp_asm_x2(dest,
src,
length, const_alpha);
432 if (const_alpha == 255) {
436 int cia = 255 - const_alpha;
443 comp_func_solid_SourceOut_dsp_asm_x2(dest,
length,
color, const_alpha);
449 if (const_alpha == 255) {
452 int cia = 255 - const_alpha;
461 comp_func_SourceOut_dsp_asm_x2(dest,
src,
length, const_alpha);
484 fetchUntransformed_argb8565_premultiplied_asm_mips_dsp(
buffer,
line,
length);
488#if defined(__MIPS_DSPR2__)
496 qConvertRgb16To32_asm_mips_dspr2(
buffer, scanLine,
length);
Combined button and popup list for selecting options.
void QT_FASTCALL comp_func_solid_DestinationOut_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void QT_FASTCALL comp_func_solid_SourceOver_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void QT_FASTCALL comp_func_solid_SourceOut_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
const uint *QT_FASTCALL qt_fetchUntransformed_argb8565_premultiplied_mips_dsp(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
void QT_FASTCALL comp_func_solid_DestinationAtop_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void qt_blend_argb32_on_argb32_mips_dsp(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, int const_alpha)
uint *QT_FASTCALL qt_destFetchARGB32_mips_dsp(uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
void QT_FASTCALL comp_func_solid_SourceAtop_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void QT_FASTCALL comp_func_SourceOut_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_DestinationOut_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_XOR_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
const uint *QT_FASTCALL qt_fetchUntransformed_888_mips_dsp(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
void QT_FASTCALL qt_destStoreARGB32_mips_dsp(QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
void qt_blend_rgb16_on_rgb16_mips_dsp(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, int const_alpha)
void QT_FASTCALL comp_func_DestinationAtop_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
QT_BEGIN_NAMESPACE void qt_memfill32(quint32 *dest, quint32 color, qsizetype count)
void QT_FASTCALL comp_func_DestinationIn_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_solid_DestinationOver_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void QT_FASTCALL comp_func_SourceAtop_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_solid_XOR_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void comp_func_Source_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
const uint *QT_FASTCALL qt_fetchUntransformed_444_mips_dsp(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
void qt_blend_rgb32_on_rgb32_mips_dsp(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, int const_alpha)
void QT_FASTCALL comp_func_solid_DestinationIn_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void QT_FASTCALL comp_func_SourceIn_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_solid_SourceIn_mips_dsp(uint *dest, int length, uint color, uint const_alpha)
void QT_FASTCALL comp_func_DestinationOver_mips_dsp(uint *dest, const uint *src, int length, uint const_alpha)
static uint INTERPOLATE_PIXEL_255(uint x, uint a, uint y, uint b)
static uint BYTE_MUL(uint x, uint a)
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLenum GLsizei length
GLenum GLenum GLsizei count
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLfloat GLfloat GLfloat GLfloat h
constexpr int qAlpha(QRgb rgb)