Fix MIPS32 processor detection
Gcc defines neither _MIPS_ARCH_MIPS32 nor __mips32 on MIPS32 architectures, instead __mips is defined to 32. This fix exposed bit-rot in qdrawhelper where qt_memfill32 was set as a function pointer despite not being one since Qt4. Change-Id: I87461823e54fa3166223ebf97175fd05d2f2fd16 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
74819c4ed9
commit
b0649df7d6
|
|
@ -231,9 +231,6 @@
|
|||
# if defined(_MIPS_ARCH_MIPS2) || (defined(__mips) && __mips - 0 >= 2)
|
||||
# define Q_PROCESSOR_MIPS_II
|
||||
# endif
|
||||
# if defined(_MIPS_ARCH_MIPS32) || defined(__mips32)
|
||||
# define Q_PROCESSOR_MIPS_32
|
||||
# endif
|
||||
# if defined(_MIPS_ARCH_MIPS3) || (defined(__mips) && __mips - 0 >= 3)
|
||||
# define Q_PROCESSOR_MIPS_III
|
||||
# endif
|
||||
|
|
@ -243,6 +240,9 @@
|
|||
# if defined(_MIPS_ARCH_MIPS5) || (defined(__mips) && __mips - 0 >= 5)
|
||||
# define Q_PROCESSOR_MIPS_V
|
||||
# endif
|
||||
# if defined(_MIPS_ARCH_MIPS32) || defined(__mips32) || (defined(__mips) && __mips - 0 >= 32)
|
||||
# define Q_PROCESSOR_MIPS_32
|
||||
# endif
|
||||
# if defined(_MIPS_ARCH_MIPS64) || defined(__mips64)
|
||||
# define Q_PROCESSOR_MIPS_64
|
||||
# define Q_PROCESSOR_WORDSIZE 8
|
||||
|
|
|
|||
|
|
@ -6030,18 +6030,10 @@ void qt_memfill16(quint16 *dest, quint16 color, int count)
|
|||
qt_memfill_template<quint16>(dest, color, count);
|
||||
}
|
||||
#endif
|
||||
#if !defined(__SSE2__) && !defined(__ARM_NEON__)
|
||||
# ifdef QT_COMPILER_SUPPORTS_MIPS_DSP
|
||||
extern "C" void qt_memfill32_asm_mips_dsp(quint32 *, quint32, int);
|
||||
# endif
|
||||
|
||||
#if !defined(__SSE2__) && !defined(__ARM_NEON__) && !defined(__mips_dsp)
|
||||
void qt_memfill32(quint32 *dest, quint32 color, int count)
|
||||
{
|
||||
# ifdef QT_COMPILER_SUPPORTS_MIPS_DSP
|
||||
qt_memfill32_asm_mips_dsp(dest, color, count);
|
||||
# else
|
||||
qt_memfill_template<quint32>(dest, color, count);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -6233,10 +6225,6 @@ static void qInitDrawhelperFunctions()
|
|||
|
||||
#endif
|
||||
|
||||
#if defined(Q_PROCESSOR_MIPS_32) && defined(QT_COMPILER_SUPPORTS_MIPS_DSP)
|
||||
qt_memfill32 = qt_memfill32_asm_mips_dsp;
|
||||
#endif // Q_PROCESSOR_MIPS_32
|
||||
|
||||
#if defined(QT_COMPILER_SUPPORTS_MIPS_DSP) || defined(QT_COMPILER_SUPPORTS_MIPS_DSPR2)
|
||||
if (qCpuHasFeature(DSP) && qCpuHasFeature(DSPR2)) {
|
||||
// Composition functions are all DSP r1
|
||||
|
|
|
|||
|
|
@ -43,6 +43,11 @@
|
|||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
void qt_memfill32(quint32 *dest, quint32 color, int count)
|
||||
{
|
||||
qt_memfill32_asm_mips_dsp(dest, color, count);
|
||||
}
|
||||
|
||||
void qt_blend_argb32_on_argb32_mips_dsp(uchar *destPixels, int dbpl,
|
||||
const uchar *srcPixels, int sbpl,
|
||||
int w, int h,
|
||||
|
|
|
|||
Loading…
Reference in New Issue