Fixed building for arm64 (iOS)
authorGlenn <glenn.hevey@gmail.com>
Sun, 10 Dec 2017 12:25:01 +0000 (23:25 +1100)
committerGlenn <glenn.hevey@gmail.com>
Sun, 10 Dec 2017 12:25:01 +0000 (23:25 +1100)
Makefile.libretro
frontend/cspace.c

index fb13657..de818aa 100644 (file)
@@ -53,6 +53,13 @@ else ifeq ($(platform), osx)
        fpic += -mmacosx-version-min=10.1
 
 # iOS
+else ifeq ($(platform),$(filter $(platform),ios9 ios-arm64))
+    ARCH := arm64
+    USE_DYNAREC = 0
+    HAVE_NEON = 0
+    BUILTIN_GPU = peops
+    TARGET := $(TARGET_NAME)_libretro_ios.dylib
+
 else ifneq (,$(findstring ios,$(platform)))
        ARCH := arm
        USE_DYNAREC ?= 1
index 33a981d..26f311f 100644 (file)
@@ -34,6 +34,28 @@ void bgr555_to_rgb565(void *dst_, const void *src_, int bytes)
 
 #endif
 
+#ifndef __ARM64__
+
+void bgr888_to_rgb565(void *dst_, const void *src_, int bytes)
+{
+    const unsigned char *src = src_;
+    unsigned int *dst = dst_;
+    unsigned int r1, g1, b1, r2, g2, b2;
+
+    for (; bytes >= 6; bytes -= 6, src += 6, dst++) {
+        r1 = src[0] & 0xf8;
+        g1 = src[1] & 0xfc;
+        b1 = src[2] & 0xf8;
+        r2 = src[3] & 0xf8;
+        g2 = src[4] & 0xfc;
+        b2 = src[5] & 0xf8;
+        *dst = (r2 << 24) | (g2 << 19) | (b2 << 13) |
+               (r1 << 8) | (g1 << 3) | (b1 >> 3);
+    }
+}
+
+#endif
+
 #ifndef __ARM_NEON__
 
 void bgr888_to_rgb565(void *dst_, const void *src_, int bytes)