Use the C99 keyword "restrict" in compilers that support it

This allows the compiler to produce better / smaller code due to not
being required to deal with two pointers possibly aliasing each
other. This also enables vectorisation where otherwise the compiler
wouldn't be able to do.

Change-Id: Ie7db3a54a1ba22f87ac5283d5c43905707957549
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This commit is contained in:
Thiago Macieira 2011-12-29 16:36:46 -02:00 committed by Qt by Nokia
parent 1765329b8c
commit 29d2aad30a
2 changed files with 61 additions and 59 deletions

View File

@ -68,7 +68,6 @@
QT_BEGIN_NAMESPACE
#define MASK(src, a) src = BYTE_MUL(src, a)
/*
@ -316,7 +315,7 @@ FetchPixelFunc qFetchPixel[QPixelLayout::BPPCount] = {
static uint * QT_FASTCALL destFetchMono(uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
{
uchar *data = (uchar *)rasterBuffer->scanLine(y);
uchar *Q_DECL_RESTRICT data = (uchar *)rasterBuffer->scanLine(y);
uint *start = buffer;
const uint *end = buffer + length;
while (buffer < end) {
@ -329,7 +328,7 @@ static uint * QT_FASTCALL destFetchMono(uint *buffer, QRasterBuffer *rasterBuffe
static uint * QT_FASTCALL destFetchMonoLsb(uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
{
uchar *data = (uchar *)rasterBuffer->scanLine(y);
uchar *Q_DECL_RESTRICT data = (uchar *)rasterBuffer->scanLine(y);
uint *start = buffer;
const uint *end = buffer + length;
while (buffer < end) {
@ -347,7 +346,7 @@ static uint * QT_FASTCALL destFetchARGB32P(uint *, QRasterBuffer *rasterBuffer,
static uint * QT_FASTCALL destFetchRGB16(uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
{
const ushort *data = (const ushort *)rasterBuffer->scanLine(y) + x;
const ushort *Q_DECL_RESTRICT data = (const ushort *)rasterBuffer->scanLine(y) + x;
for (int i = 0; i < length; ++i)
buffer[i] = qConvertRgb16To32(data[i]);
return buffer;
@ -418,7 +417,7 @@ static inline QRgb findNearestColor(QRgb color, QRasterBuffer *rbuf)
static void QT_FASTCALL destStoreMono(QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
{
uchar *data = (uchar *)rasterBuffer->scanLine(y);
uchar *Q_DECL_RESTRICT data = (uchar *)rasterBuffer->scanLine(y);
if (rasterBuffer->monoDestinationWithClut) {
for (int i = 0; i < length; ++i) {
if (buffer[i] == rasterBuffer->destColor0) {
@ -445,7 +444,7 @@ static void QT_FASTCALL destStoreMono(QRasterBuffer *rasterBuffer, int x, int y,
static void QT_FASTCALL destStoreMonoLsb(QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
{
uchar *data = (uchar *)rasterBuffer->scanLine(y);
uchar *Q_DECL_RESTRICT data = (uchar *)rasterBuffer->scanLine(y);
if (rasterBuffer->monoDestinationWithClut) {
for (int i = 0; i < length; ++i) {
if (buffer[i] == rasterBuffer->destColor0) {
@ -2039,7 +2038,7 @@ void QT_FASTCALL comp_func_solid_Source(uint *dest, int length, uint color, uint
}
}
void QT_FASTCALL comp_func_Source(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Source(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255) {
::memcpy(dest, src, length * sizeof(uint));
@ -2082,7 +2081,7 @@ void QT_FASTCALL comp_func_solid_SourceOver(uint *dest, int length, uint color,
}
}
void QT_FASTCALL comp_func_SourceOver(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_SourceOver(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2120,7 +2119,7 @@ void QT_FASTCALL comp_func_solid_DestinationOver(uint *dest, int length, uint co
}
}
void QT_FASTCALL comp_func_DestinationOver(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_DestinationOver(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2162,7 +2161,7 @@ void QT_FASTCALL comp_func_solid_SourceIn(uint *dest, int length, uint color, ui
}
}
void QT_FASTCALL comp_func_SourceIn(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_SourceIn(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2199,7 +2198,7 @@ void QT_FASTCALL comp_func_solid_DestinationIn(uint *dest, int length, uint colo
}
}
void QT_FASTCALL comp_func_DestinationIn(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_DestinationIn(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2241,7 +2240,7 @@ void QT_FASTCALL comp_func_solid_SourceOut(uint *dest, int length, uint color, u
}
}
void QT_FASTCALL comp_func_SourceOut(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_SourceOut(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2277,7 +2276,7 @@ void QT_FASTCALL comp_func_solid_DestinationOut(uint *dest, int length, uint col
}
}
void QT_FASTCALL comp_func_DestinationOut(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_DestinationOut(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2314,7 +2313,7 @@ void QT_FASTCALL comp_func_solid_SourceAtop(uint *dest, int length, uint color,
}
}
void QT_FASTCALL comp_func_SourceAtop(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_SourceAtop(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2354,7 +2353,7 @@ void QT_FASTCALL comp_func_solid_DestinationAtop(uint *dest, int length, uint co
}
}
void QT_FASTCALL comp_func_DestinationAtop(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_DestinationAtop(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2396,7 +2395,7 @@ void QT_FASTCALL comp_func_solid_XOR(uint *dest, int length, uint color, uint co
}
}
void QT_FASTCALL comp_func_XOR(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_XOR(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
PRELOAD_INIT2(dest, src)
if (const_alpha == 255) {
@ -2472,7 +2471,7 @@ void QT_FASTCALL comp_func_solid_Plus(uint *dest, int length, uint color, uint c
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Plus_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Plus_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2486,7 +2485,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Plus_impl(uint *dest, const uin
}
}
void QT_FASTCALL comp_func_Plus(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Plus(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Plus_impl(dest, src, length, QFullCoverage());
@ -2536,7 +2535,7 @@ void QT_FASTCALL comp_func_solid_Multiply(uint *dest, int length, uint color, ui
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Multiply_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Multiply_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2558,7 +2557,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Multiply_impl(uint *dest, const
}
}
void QT_FASTCALL comp_func_Multiply(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Multiply(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Multiply_impl(dest, src, length, QFullCoverage());
@ -2604,7 +2603,7 @@ void QT_FASTCALL comp_func_solid_Screen(uint *dest, int length, uint color, uint
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Screen_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Screen_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2683,7 +2682,7 @@ void QT_FASTCALL comp_func_solid_Overlay(uint *dest, int length, uint color, uin
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Overlay_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Overlay_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2705,7 +2704,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Overlay_impl(uint *dest, const
}
}
void QT_FASTCALL comp_func_Overlay(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Overlay(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Overlay_impl(dest, src, length, QFullCoverage());
@ -2756,7 +2755,7 @@ void QT_FASTCALL comp_func_solid_Darken(uint *dest, int length, uint color, uint
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Darken_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Darken_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2778,7 +2777,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Darken_impl(uint *dest, const u
}
}
void QT_FASTCALL comp_func_Darken(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Darken(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Darken_impl(dest, src, length, QFullCoverage());
@ -2829,7 +2828,7 @@ void QT_FASTCALL comp_func_solid_Lighten(uint *dest, int length, uint color, uin
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Lighten_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Lighten_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2851,7 +2850,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Lighten_impl(uint *dest, const
}
}
void QT_FASTCALL comp_func_Lighten(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Lighten(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Lighten_impl(dest, src, length, QFullCoverage());
@ -2912,7 +2911,7 @@ void QT_FASTCALL comp_func_solid_ColorDodge(uint *dest, int length, uint color,
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_ColorDodge_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_ColorDodge_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -2934,7 +2933,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_ColorDodge_impl(uint *dest, con
}
}
void QT_FASTCALL comp_func_ColorDodge(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_ColorDodge(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_ColorDodge_impl(dest, src, length, QFullCoverage());
@ -2995,7 +2994,7 @@ void QT_FASTCALL comp_func_solid_ColorBurn(uint *dest, int length, uint color, u
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_ColorBurn_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_ColorBurn_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -3017,7 +3016,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_ColorBurn_impl(uint *dest, cons
}
}
void QT_FASTCALL comp_func_ColorBurn(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_ColorBurn(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_ColorBurn_impl(dest, src, length, QFullCoverage());
@ -3075,7 +3074,7 @@ void QT_FASTCALL comp_func_solid_HardLight(uint *dest, int length, uint color, u
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_HardLight_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_HardLight_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -3097,7 +3096,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_HardLight_impl(uint *dest, cons
}
}
void QT_FASTCALL comp_func_HardLight(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_HardLight(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_HardLight_impl(dest, src, length, QFullCoverage());
@ -3166,7 +3165,7 @@ void QT_FASTCALL comp_func_solid_SoftLight(uint *dest, int length, uint color, u
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_SoftLight_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_SoftLight_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -3188,7 +3187,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_SoftLight_impl(uint *dest, cons
}
}
void QT_FASTCALL comp_func_SoftLight(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_SoftLight(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_SoftLight_impl(dest, src, length, QFullCoverage());
@ -3239,7 +3238,7 @@ void QT_FASTCALL comp_func_solid_Difference(uint *dest, int length, uint color,
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Difference_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Difference_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -3261,7 +3260,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Difference_impl(uint *dest, con
}
}
void QT_FASTCALL comp_func_Difference(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Difference(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Difference_impl(dest, src, length, QFullCoverage());
@ -3306,7 +3305,7 @@ void QT_FASTCALL comp_func_solid_Exclusion(uint *dest, int length, uint color, u
}
template <typename T>
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Exclusion_impl(uint *dest, const uint *src, int length, const T &coverage)
Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Exclusion_impl(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, const T &coverage)
{
PRELOAD_INIT2(dest, src)
for (int i = 0; i < length; ++i) {
@ -3328,7 +3327,7 @@ Q_STATIC_TEMPLATE_FUNCTION inline void comp_func_Exclusion_impl(uint *dest, cons
}
}
void QT_FASTCALL comp_func_Exclusion(uint *dest, const uint *src, int length, uint const_alpha)
void QT_FASTCALL comp_func_Exclusion(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
{
if (const_alpha == 255)
comp_func_Exclusion_impl(dest, src, length, QFullCoverage());
@ -3351,8 +3350,8 @@ void QT_FASTCALL rasterop_solid_SourceOrDestination(uint *dest,
*dest++ |= color;
}
void QT_FASTCALL rasterop_SourceOrDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_SourceOrDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3372,8 +3371,8 @@ void QT_FASTCALL rasterop_solid_SourceAndDestination(uint *dest,
*dest++ &= color;
}
void QT_FASTCALL rasterop_SourceAndDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_SourceAndDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3395,8 +3394,8 @@ void QT_FASTCALL rasterop_solid_SourceXorDestination(uint *dest,
*dest++ ^= color;
}
void QT_FASTCALL rasterop_SourceXorDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_SourceXorDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3420,8 +3419,8 @@ void QT_FASTCALL rasterop_solid_NotSourceAndNotDestination(uint *dest,
}
}
void QT_FASTCALL rasterop_NotSourceAndNotDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_NotSourceAndNotDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3445,8 +3444,8 @@ void QT_FASTCALL rasterop_solid_NotSourceOrNotDestination(uint *dest,
}
}
void QT_FASTCALL rasterop_NotSourceOrNotDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_NotSourceOrNotDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3470,8 +3469,8 @@ void QT_FASTCALL rasterop_solid_NotSourceXorDestination(uint *dest,
}
}
void QT_FASTCALL rasterop_NotSourceXorDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_NotSourceXorDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3489,7 +3488,7 @@ void QT_FASTCALL rasterop_solid_NotSource(uint *dest, int length,
qt_memfill(dest, ~color | 0xff000000, length);
}
void QT_FASTCALL rasterop_NotSource(uint *dest, const uint *src,
void QT_FASTCALL rasterop_NotSource(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src,
int length, uint const_alpha)
{
Q_UNUSED(const_alpha);
@ -3510,8 +3509,8 @@ void QT_FASTCALL rasterop_solid_NotSourceAndDestination(uint *dest,
}
}
void QT_FASTCALL rasterop_NotSourceAndDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_NotSourceAndDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -3534,8 +3533,8 @@ void QT_FASTCALL rasterop_solid_SourceAndNotDestination(uint *dest,
}
}
void QT_FASTCALL rasterop_SourceAndNotDestination(uint *dest,
const uint *src,
void QT_FASTCALL rasterop_SourceAndNotDestination(uint *Q_DECL_RESTRICT dest,
const uint *Q_DECL_RESTRICT src,
int length,
uint const_alpha)
{
@ -4049,8 +4048,8 @@ static inline quint32 interpolate_pixel_rgb16x2_255(quint32 x, quint8 a,
return t;
}
static inline void blend_sourceOver_rgb16_rgb16(quint16 *dest,
const quint16 *src,
static inline void blend_sourceOver_rgb16_rgb16(quint16 *Q_DECL_RESTRICT dest,
const quint16 *Q_DECL_RESTRICT src,
int length,
const quint8 alpha,
const quint8 ialpha)

View File

@ -71,12 +71,15 @@ QT_BEGIN_NAMESPACE
// RVCT doesn't like static template functions
# define Q_STATIC_TEMPLATE_FUNCTION
# define Q_STATIC_INLINE_FUNCTION static __forceinline
# define Q_DECL_RESTRICT
#elif defined(Q_CC_GNU)
# define Q_STATIC_TEMPLATE_FUNCTION static __attribute__((always_inline))
# define Q_STATIC_INLINE_FUNCTION static inline __attribute__((always_inline))
# define Q_DECL_RESTRICT __restrict__
#else
# define Q_STATIC_TEMPLATE_FUNCTION static
# define Q_STATIC_INLINE_FUNCTION static inline
# define Q_DECL_RESTRICT
#endif
static const uint AMASK = 0xff000000;
@ -165,7 +168,7 @@ extern DrawHelper qDrawHelper[QImage::NImageFormats];
void qBlendTexture(int count, const QSpan *spans, void *userData);
typedef void (QT_FASTCALL *CompositionFunction)(uint *dest, const uint *src, int length, uint const_alpha);
typedef void (QT_FASTCALL *CompositionFunction)(uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha);
typedef void (QT_FASTCALL *CompositionFunctionSolid)(uint *dest, int length, uint color, uint const_alpha);
struct LinearGradientValues