aboutsummaryrefslogtreecommitdiff
path: root/pixman
diff options
context:
space:
mode:
Diffstat (limited to 'pixman')
-rw-r--r--pixman/pixman/pixman-fast-path.c2
-rw-r--r--pixman/pixman/pixman-mips.c16
2 files changed, 14 insertions, 4 deletions
diff --git a/pixman/pixman/pixman-fast-path.c b/pixman/pixman/pixman-fast-path.c
index 22bfd301c..a12c6cf6f 100644
--- a/pixman/pixman/pixman-fast-path.c
+++ b/pixman/pixman/pixman-fast-path.c
@@ -90,7 +90,7 @@ over (uint32_t src,
return dest;
}
-static uint32_t
+static force_inline uint32_t
in (uint32_t x,
uint8_t y)
{
diff --git a/pixman/pixman/pixman-mips.c b/pixman/pixman/pixman-mips.c
index 2b280c6f1..304881383 100644
--- a/pixman/pixman/pixman-mips.c
+++ b/pixman/pixman/pixman-mips.c
@@ -75,9 +75,19 @@ _pixman_mips_get_implementations (pixman_implementation_t *imp)
#endif
#ifdef USE_MIPS_DSPR2
- /* Only currently available MIPS core that supports DSPr2 is 74K. */
- if (!_pixman_disabled ("mips-dspr2") && have_feature ("MIPS 74K"))
- imp = _pixman_implementation_create_mips_dspr2 (imp);
+ if (!_pixman_disabled ("mips-dspr2"))
+ {
+ int already_compiling_everything_for_dspr2 = 0;
+#if defined(__mips_dsp) && (__mips_dsp_rev >= 2)
+ already_compiling_everything_for_dspr2 = 1;
+#endif
+ if (already_compiling_everything_for_dspr2 ||
+ /* Only currently available MIPS core that supports DSPr2 is 74K. */
+ have_feature ("MIPS 74K"))
+ {
+ imp = _pixman_implementation_create_mips_dspr2 (imp);
+ }
+ }
#endif
return imp;