mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 10:52:56 +00:00
optimize drawing helper function tables
avoids many functions calls, while at it const-ify and assign variables once only where possible. replacing pre-processor macros is done to make the code more readable and easy to search for function calls Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
parent
fc83fb6dd0
commit
f08fc57f81
1 changed files with 81 additions and 327 deletions
|
@ -38,16 +38,6 @@
|
|||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
/*
|
||||
constants and structures
|
||||
*/
|
||||
|
||||
enum {
|
||||
fixed_scale = 1 << 16,
|
||||
half_point = 1 << 15
|
||||
};
|
||||
|
||||
// must be multiple of 4 for easier SIMD implementations
|
||||
static const int buffer_size = 2048;
|
||||
|
||||
|
@ -144,21 +134,19 @@ static inline QRgb findNearestColor(QRgb color, QRasterBuffer *rbuf)
|
|||
QRgb color_1 = PREMUL(rbuf->destColor1);
|
||||
color = PREMUL(color);
|
||||
|
||||
int r = qRed(color);
|
||||
int g = qGreen(color);
|
||||
int b = qBlue(color);
|
||||
int rx, gx, bx;
|
||||
int dist_0, dist_1;
|
||||
const int r = qRed(color);
|
||||
const int g = qGreen(color);
|
||||
const int b = qBlue(color);
|
||||
|
||||
rx = r - qRed(color_0);
|
||||
gx = g - qGreen(color_0);
|
||||
bx = b - qBlue(color_0);
|
||||
dist_0 = rx*rx + gx*gx + bx*bx;
|
||||
int rx = r - qRed(color_0);
|
||||
int gx = g - qGreen(color_0);
|
||||
int bx = b - qBlue(color_0);
|
||||
const int dist_0 = rx*rx + gx*gx + bx*bx;
|
||||
|
||||
rx = r - qRed(color_1);
|
||||
gx = g - qGreen(color_1);
|
||||
bx = b - qBlue(color_1);
|
||||
dist_1 = rx*rx + gx*gx + bx*bx;
|
||||
const int dist_1 = rx*rx + gx*gx + bx*bx;
|
||||
|
||||
if (dist_0 < dist_1)
|
||||
return color_0;
|
||||
|
@ -260,8 +248,6 @@ static void QT_FASTCALL destStore(QRasterBuffer *rasterBuffer,
|
|||
*dest++ = DST(*src++);
|
||||
}
|
||||
|
||||
# define SPANFUNC_POINTER_DESTSTORE(DEST) destStore<DEST>
|
||||
|
||||
static DestStoreProc destStoreProc[QImage::NImageFormats] =
|
||||
{
|
||||
0, // Format_Invalid
|
||||
|
@ -272,14 +258,14 @@ static DestStoreProc destStoreProc[QImage::NImageFormats] =
|
|||
destStoreARGB32, // Format_ARGB32,
|
||||
0, // Format_ARGB32_Premultiplied
|
||||
destStoreRGB16, // Format_RGB16
|
||||
SPANFUNC_POINTER_DESTSTORE(qargb8565), // Format_ARGB8565_Premultiplied
|
||||
SPANFUNC_POINTER_DESTSTORE(qrgb666), // Format_RGB666
|
||||
SPANFUNC_POINTER_DESTSTORE(qargb6666), // Format_ARGB6666_Premultiplied
|
||||
SPANFUNC_POINTER_DESTSTORE(qrgb555), // Format_RGB555
|
||||
SPANFUNC_POINTER_DESTSTORE(qargb8555), // Format_ARGB8555_Premultiplied
|
||||
SPANFUNC_POINTER_DESTSTORE(qrgb888), // Format_RGB888
|
||||
SPANFUNC_POINTER_DESTSTORE(qrgb444), // Format_RGB444
|
||||
SPANFUNC_POINTER_DESTSTORE(qargb4444) // Format_ARGB4444_Premultiplied
|
||||
destStore<qargb8565>, // Format_ARGB8565_Premultiplied
|
||||
destStore<qrgb666>, // Format_RGB666
|
||||
destStore<qargb6666>, // Format_ARGB6666_Premultiplied
|
||||
destStore<qrgb555>, // Format_RGB555
|
||||
destStore<qargb8555>, // Format_ARGB8555_Premultiplied
|
||||
destStore<qrgb888>, // Format_RGB888
|
||||
destStore<qrgb444>, // Format_RGB444
|
||||
destStore<qargb4444> // Format_ARGB4444_Premultiplied
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -428,27 +414,25 @@ uint QT_FASTCALL qt_fetchPixel<QImage::Format_Invalid>(const uchar *,
|
|||
|
||||
typedef uint (QT_FASTCALL *FetchPixelProc)(const uchar *scanLine, int x, const QVector<QRgb> *);
|
||||
|
||||
#define SPANFUNC_POINTER_FETCHPIXEL(Arg) qt_fetchPixel<QImage::Arg>
|
||||
|
||||
|
||||
static const FetchPixelProc fetchPixelProc[QImage::NImageFormats] =
|
||||
{
|
||||
0,
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_Mono),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_MonoLSB),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_Indexed8),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB32_Premultiplied),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB32),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB32_Premultiplied),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_RGB16),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB8565_Premultiplied),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_RGB666),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB6666_Premultiplied),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_RGB555),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB8555_Premultiplied),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_RGB888),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_RGB444),
|
||||
SPANFUNC_POINTER_FETCHPIXEL(Format_ARGB4444_Premultiplied)
|
||||
qt_fetchPixel<QImage::Format_Mono>,
|
||||
qt_fetchPixel<QImage::Format_MonoLSB>,
|
||||
qt_fetchPixel<QImage::Format_Indexed8>,
|
||||
qt_fetchPixel<QImage::Format_ARGB32_Premultiplied>,
|
||||
qt_fetchPixel<QImage::Format_ARGB32>,
|
||||
qt_fetchPixel<QImage::Format_ARGB32_Premultiplied>,
|
||||
qt_fetchPixel<QImage::Format_RGB16>,
|
||||
qt_fetchPixel<QImage::Format_ARGB8565_Premultiplied>,
|
||||
qt_fetchPixel<QImage::Format_RGB666>,
|
||||
qt_fetchPixel<QImage::Format_ARGB6666_Premultiplied>,
|
||||
qt_fetchPixel<QImage::Format_RGB555>,
|
||||
qt_fetchPixel<QImage::Format_ARGB8555_Premultiplied>,
|
||||
qt_fetchPixel<QImage::Format_RGB888>,
|
||||
qt_fetchPixel<QImage::Format_RGB444>,
|
||||
qt_fetchPixel<QImage::Format_ARGB4444_Premultiplied>
|
||||
};
|
||||
|
||||
enum TextureBlendType {
|
||||
|
@ -2473,25 +2457,19 @@ static const CompositionFunction functionForMode[] = {
|
|||
rasterop_SourceAndNotDestination
|
||||
};
|
||||
|
||||
static TextureBlendType getBlendType(const QSpanData *data)
|
||||
static inline TextureBlendType getBlendType(const QSpanData *data)
|
||||
{
|
||||
TextureBlendType ft;
|
||||
if (data->txop <= QTransform::TxTranslate)
|
||||
if (data->txop <= QTransform::TxTranslate) {
|
||||
if (data->texture.type == QTextureData::Tiled)
|
||||
ft = BlendTiled;
|
||||
else
|
||||
ft = BlendUntransformed;
|
||||
else if (data->bilinear)
|
||||
return TextureBlendType::BlendTiled;
|
||||
return TextureBlendType::BlendUntransformed;
|
||||
} else if (data->bilinear) {
|
||||
if (data->texture.type == QTextureData::Tiled)
|
||||
ft = BlendTransformedBilinearTiled;
|
||||
else
|
||||
ft = BlendTransformedBilinear;
|
||||
else
|
||||
if (data->texture.type == QTextureData::Tiled)
|
||||
ft = BlendTransformedTiled;
|
||||
else
|
||||
ft = BlendTransformed;
|
||||
return ft;
|
||||
return TextureBlendType::BlendTransformedBilinearTiled;
|
||||
return TextureBlendType::BlendTransformedBilinear;
|
||||
} else if (data->texture.type == QTextureData::Tiled)
|
||||
return TextureBlendType::BlendTransformedTiled;
|
||||
return TextureBlendType::BlendTransformed;
|
||||
}
|
||||
|
||||
static inline Operator getOperator(const QSpanData *data, const QSpan *spans, int spanCount)
|
||||
|
@ -3930,30 +3908,6 @@ void QT_FASTCALL blendUntransformed(int count, const QSpan *spans, void *userDat
|
|||
}
|
||||
}
|
||||
|
||||
static void blend_untransformed_rgb888(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_argb6666(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_rgb666(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_argb8565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_rgb565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
|
@ -3967,30 +3921,6 @@ static void blend_untransformed_rgb565(int count, const QSpan *spans,
|
|||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_argb8555(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_rgb555(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_argb4444(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_untransformed_rgb444(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_untransformed_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_generic(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
|
||||
|
@ -4190,26 +4120,6 @@ static void blendTiled(int count, const QSpan *spans, void *userData)
|
|||
}
|
||||
}
|
||||
|
||||
static void blend_tiled_rgb888(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_argb6666(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_rgb666(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_argb8565(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
|
||||
|
@ -4222,26 +4132,6 @@ static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
|
|||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_argb8555(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_rgb555(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_argb4444(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_tiled_rgb444(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_tiled_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
template <class DST, class SRC>
|
||||
static void blendTransformedBilinear(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
|
@ -4355,26 +4245,6 @@ static void blendTransformedBilinear(int count, const QSpan *spans,
|
|||
}
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_rgb888(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_argb6666(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_rgb666(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_argb8565(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_rgb565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
|
@ -4388,26 +4258,6 @@ static void blend_transformed_bilinear_rgb565(int count, const QSpan *spans,
|
|||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_argb8555(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_rgb555(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_argb4444(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_bilinear_rgb444(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_argb(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
|
||||
|
@ -4553,30 +4403,6 @@ static void blendTransformed(int count, const QSpan *spans, void *userData)
|
|||
}
|
||||
}
|
||||
|
||||
static void blend_transformed_rgb888(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_argb6666(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_rgb666(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_argb8565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_rgb565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
|
@ -4590,30 +4416,6 @@ static void blend_transformed_rgb565(int count, const QSpan *spans,
|
|||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_argb8555(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_rgb555(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_argb4444(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_rgb444(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_argb(int count, const QSpan *spans, void *userData)
|
||||
{
|
||||
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
|
||||
|
@ -4771,30 +4573,6 @@ static void blendTransformedTiled(int count, const QSpan *spans, void *userData)
|
|||
}
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_rgb888(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_argb6666(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_rgb666(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_argb8565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_rgb565(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
|
@ -4808,30 +4586,6 @@ static void blend_transformed_tiled_rgb565(int count, const QSpan *spans,
|
|||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_argb8555(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_rgb555(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_argb4444(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
static void blend_transformed_tiled_rgb444(int count, const QSpan *spans,
|
||||
void *userData)
|
||||
{
|
||||
blend_src_generic(count, spans, userData);
|
||||
}
|
||||
|
||||
/* Image formats here are target formats */
|
||||
static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats] = {
|
||||
// Untransformed
|
||||
|
@ -4844,14 +4598,14 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
|
|||
blend_untransformed_generic, // ARGB32
|
||||
blend_untransformed_argb, // ARGB32_Premultiplied
|
||||
blend_untransformed_rgb565,
|
||||
blend_untransformed_argb8565,
|
||||
blend_untransformed_rgb666,
|
||||
blend_untransformed_argb6666,
|
||||
blend_untransformed_rgb555,
|
||||
blend_untransformed_argb8555,
|
||||
blend_untransformed_rgb888,
|
||||
blend_untransformed_rgb444,
|
||||
blend_untransformed_argb4444,
|
||||
blend_untransformed_generic, // argb8565
|
||||
blend_untransformed_generic, // rgb666
|
||||
blend_untransformed_generic, // argb6666
|
||||
blend_untransformed_generic, // rgb555
|
||||
blend_untransformed_generic, // argb8555
|
||||
blend_untransformed_generic, // rgb888
|
||||
blend_untransformed_generic, // rgb444
|
||||
blend_untransformed_generic // argb4444
|
||||
},
|
||||
// Tiled
|
||||
{
|
||||
|
@ -4863,14 +4617,14 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
|
|||
blend_tiled_generic, // ARGB32
|
||||
blend_tiled_argb, // ARGB32_Premultiplied
|
||||
blend_tiled_rgb565,
|
||||
blend_tiled_argb8565,
|
||||
blend_tiled_rgb666,
|
||||
blend_tiled_argb6666,
|
||||
blend_tiled_rgb555,
|
||||
blend_tiled_argb8555,
|
||||
blend_tiled_rgb888,
|
||||
blend_tiled_rgb444,
|
||||
blend_tiled_argb4444,
|
||||
blend_tiled_generic, // argb8565
|
||||
blend_tiled_generic, // rgb666
|
||||
blend_tiled_generic, // argb6666
|
||||
blend_tiled_generic, // rgb555
|
||||
blend_tiled_generic, // argb8555
|
||||
blend_tiled_generic, // rgb888
|
||||
blend_tiled_generic, // rgb444
|
||||
blend_tiled_generic, // argb4444
|
||||
},
|
||||
// Transformed
|
||||
{
|
||||
|
@ -4882,14 +4636,14 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
|
|||
blend_src_generic, // ARGB32
|
||||
blend_transformed_argb, // ARGB32_Premultiplied
|
||||
blend_transformed_rgb565,
|
||||
blend_transformed_argb8565,
|
||||
blend_transformed_rgb666,
|
||||
blend_transformed_argb6666,
|
||||
blend_transformed_rgb555,
|
||||
blend_transformed_argb8555,
|
||||
blend_transformed_rgb888,
|
||||
blend_transformed_rgb444,
|
||||
blend_transformed_argb4444,
|
||||
blend_src_generic, // argb8565
|
||||
blend_src_generic, // rgb666
|
||||
blend_src_generic, // argb6666
|
||||
blend_src_generic, // rgb555
|
||||
blend_src_generic, // argb8555
|
||||
blend_src_generic, // rgb888
|
||||
blend_src_generic, // rgb444
|
||||
blend_src_generic // argb4444
|
||||
},
|
||||
// TransformedTiled
|
||||
{
|
||||
|
@ -4901,14 +4655,14 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
|
|||
blend_src_generic, // ARGB32
|
||||
blend_transformed_tiled_argb, // ARGB32_Premultiplied
|
||||
blend_transformed_tiled_rgb565,
|
||||
blend_transformed_tiled_argb8565,
|
||||
blend_transformed_tiled_rgb666,
|
||||
blend_transformed_tiled_argb6666,
|
||||
blend_transformed_tiled_rgb555,
|
||||
blend_transformed_tiled_argb8555,
|
||||
blend_transformed_tiled_rgb888,
|
||||
blend_transformed_tiled_rgb444,
|
||||
blend_transformed_tiled_argb4444
|
||||
blend_src_generic, // argb8565
|
||||
blend_src_generic, // rgb666
|
||||
blend_src_generic, // argb6666
|
||||
blend_src_generic, // rgb555
|
||||
blend_src_generic, // argb8555
|
||||
blend_src_generic, // rgb888
|
||||
blend_src_generic, // rgb444
|
||||
blend_src_generic // argb4444
|
||||
},
|
||||
// Bilinear
|
||||
{
|
||||
|
@ -4920,14 +4674,14 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
|
|||
blend_src_generic, // ARGB32
|
||||
blend_src_generic, // ARGB32_Premultiplied
|
||||
blend_transformed_bilinear_rgb565,
|
||||
blend_transformed_bilinear_argb8565,
|
||||
blend_transformed_bilinear_rgb666,
|
||||
blend_transformed_bilinear_argb6666,
|
||||
blend_transformed_bilinear_rgb555,
|
||||
blend_transformed_bilinear_argb8555,
|
||||
blend_transformed_bilinear_rgb888,
|
||||
blend_transformed_bilinear_rgb444,
|
||||
blend_transformed_bilinear_argb4444,
|
||||
blend_src_generic, // argb8565
|
||||
blend_src_generic, // rgb666
|
||||
blend_src_generic, // argb6666
|
||||
blend_src_generic, // rgb555
|
||||
blend_src_generic, // argb8555
|
||||
blend_src_generic, // rgb888
|
||||
blend_src_generic, // rgb444
|
||||
blend_src_generic, // argb4444
|
||||
},
|
||||
// BilinearTiled
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue