all repos — mgba @ 4ecf64a41c15851ba8ffc60adcdd2ecf41316948

mGBA Game Boy Advance Emulator

Remove arm-algo.S and references

It wasn't fully optimized and it doesn't even compile anymore.
easyaspi314 (Devin) easyaspi314@users.noreply.github.com
Fri, 18 Dec 2020 19:00:58 -0500
commit

4ecf64a41c15851ba8ffc60adcdd2ecf41316948

parent

2770b654f5f1fe70ac5ddcf1d0742ef004345781

5 files changed, 1 insertions(+), 101 deletions(-)

jump to
D include/mgba-util/arm-algo.h

@@ -1,16 +0,0 @@

-/* Copyright (c) 2013-2015 Jeffrey Pfau - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#ifndef ARM_ALGO_H -#define ARM_ALGO_H - -#ifdef __arm__ -#if defined(__ARM_NEON) -void _neon2x(void* dest, void* src, int width, int height); -void _neon4x(void* dest, void* src, int width, int height); -#endif -#endif - -#endif
M src/gba/renderers/video-software.csrc/gba/renderers/video-software.c

@@ -10,7 +10,6 @@ #include <mgba/internal/arm/macros.h>

#include <mgba/internal/gba/io.h> #include <mgba/internal/gba/renderers/cache-set.h> -#include <mgba-util/arm-algo.h> #include <mgba-util/memory.h> #define DIRTY_SCANLINE(R, Y) R->scanlineDirty[Y >> 5] |= (1U << (Y & 0x1F))
M src/platform/sdl/sw-sdl1.csrc/platform/sdl/sw-sdl1.c

@@ -8,7 +8,6 @@

#include <mgba/core/core.h> #include <mgba/core/thread.h> #include <mgba/core/version.h> -#include <mgba-util/arm-algo.h> static bool mSDLSWInit(struct mSDLRenderer* renderer); static void mSDLSWRunloop(struct mSDLRenderer* renderer, void* user);

@@ -83,18 +82,7 @@ 0, 0, 0, 0, 0, 0,

renderer->viewportWidth, renderer->viewportHeight); } #else - switch (renderer->ratio) { -#if defined(__ARM_NEON) && COLOR_16_BIT - case 2: - _neon2x(surface->pixels, renderer->outputBuffer, width, height); - break; - case 4: - _neon4x(surface->pixels, renderer->outputBuffer, width, height); - break; -#endif - case 1: - break; - default: + if (renderer->ratio != 1) { abort(); } #endif
M src/platform/sdl/sw-sdl2.csrc/platform/sdl/sw-sdl2.c

@@ -8,7 +8,6 @@

#include <mgba/core/core.h> #include <mgba/core/thread.h> #include <mgba/core/version.h> -#include <mgba-util/arm-algo.h> static bool mSDLSWInit(struct mSDLRenderer* renderer); static void mSDLSWRunloop(struct mSDLRenderer* renderer, void* user);
D src/util/arm-algo.S

@@ -1,70 +0,0 @@

-# Copyright (c) 2013-2015 Jeffrey Pfau -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -#if defined(__ARM_NEON) && !defined(PSP2) -# r0: Destination -# r1: Source -# r2: Width -# r3: Height -.global _neon2x -_neon2x: -push {r4-r5} -lsl r4, r2, #2 -.n20: -mov r2, r4, lsr #4 -add r5, r0, r4 -.n21: -vld2.32 {d0[], d1[]}, [r1]! -vmov d2, d0 -vmov d3, d1 -vzip.16 d0, d2 -vzip.16 d1, d3 -vst1.32 {q0}, [r0]! -vst1.32 {q0}, [r5]! -subs r2, #1 -bne .n21 -subs r3, #1 -mov r0, r5 -bne .n20 -pop {r4-r5} -bx lr - -.global _neon4x -_neon4x: -push {r4-r7} -lsl r4, r2, #3 -.n40: -mov r2, r4, lsr #5 -add r5, r0, r4 -add r6, r5, r4 -add r7, r6, r4 -.n41: -vld4.16 {d0[], d1[], d2[], d3[]}, [r1]! -vst1.16 {d0}, [r0]! -vst1.16 {d0}, [r5]! -vst1.16 {d0}, [r6]! -vst1.16 {d0}, [r7]! -vst1.16 {d1}, [r0]! -vst1.16 {d1}, [r5]! -vst1.16 {d1}, [r6]! -vst1.16 {d1}, [r7]! -vst1.16 {d2}, [r0]! -vst1.16 {d2}, [r5]! -vst1.16 {d2}, [r6]! -vst1.16 {d2}, [r7]! -vst1.16 {d3}, [r0]! -vst1.16 {d3}, [r5]! -vst1.16 {d3}, [r6]! -vst1.16 {d3}, [r7]! -subs r2, #1 -bne .n41 -subs r3, #1 -mov r0, r7 -bne .n40 -pop {r4-r7} -bx lr -#endif - -.section .note.GNU-stack,"",%progbits