summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuane Sand2014-06-28 20:55:26 -0500
committerDuane Sand2014-07-31 18:21:16 -0500
commit734f50c2fe5b8778370b687c29401effcb254862 (patch)
treec1c4b1ad8cdcd79eb2d015e8d5da80f778788482 /libpixelflinger
parentcddc97cb3a927d179a42e0fec77f0d267fcd74d1 (diff)
downloadplatform-system-core-734f50c2fe5b8778370b687c29401effcb254862.tar.gz
platform-system-core-734f50c2fe5b8778370b687c29401effcb254862.tar.xz
platform-system-core-734f50c2fe5b8778370b687c29401effcb254862.zip
[MIPSR6] Skip pixelflinger, memset assembler code on mips32r6
Temporarily use generic C-coded libpixelflinger & memset on mips32r6. Change-Id: I629b11ba955eaba323cba1df96c39f75f4d24d62
Diffstat (limited to 'libpixelflinger')
-rw-r--r--libpixelflinger/Android.mk2
-rw-r--r--libpixelflinger/scanline.cpp12
-rw-r--r--libpixelflinger/tests/codegen/codegen.cpp8
3 files changed, 13 insertions, 9 deletions
diff --git a/libpixelflinger/Android.mk b/libpixelflinger/Android.mk
index 484cf5054..6a3a58f8b 100644
--- a/libpixelflinger/Android.mk
+++ b/libpixelflinger/Android.mk
@@ -44,11 +44,13 @@ PIXELFLINGER_SRC_FILES_arm64 := \
44 arch-arm64/col32cb16blend.S \ 44 arch-arm64/col32cb16blend.S \
45 arch-arm64/t32cb16blend.S \ 45 arch-arm64/t32cb16blend.S \
46 46
47ifndef ARCH_MIPS_REV6
47PIXELFLINGER_SRC_FILES_mips := \ 48PIXELFLINGER_SRC_FILES_mips := \
48 codeflinger/MIPSAssembler.cpp \ 49 codeflinger/MIPSAssembler.cpp \
49 codeflinger/mips_disassem.c \ 50 codeflinger/mips_disassem.c \
50 arch-mips/t32cb16blend.S \ 51 arch-mips/t32cb16blend.S \
51 52
53endif
52# 54#
53# Shared library 55# Shared library
54# 56#
diff --git a/libpixelflinger/scanline.cpp b/libpixelflinger/scanline.cpp
index 26b9a3e45..3d145319a 100644
--- a/libpixelflinger/scanline.cpp
+++ b/libpixelflinger/scanline.cpp
@@ -39,7 +39,7 @@
39#include "codeflinger/ARMAssembler.h" 39#include "codeflinger/ARMAssembler.h"
40#elif defined(__aarch64__) 40#elif defined(__aarch64__)
41#include "codeflinger/Arm64Assembler.h" 41#include "codeflinger/Arm64Assembler.h"
42#elif defined(__mips__) && !defined(__LP64__) 42#elif defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6
43#include "codeflinger/MIPSAssembler.h" 43#include "codeflinger/MIPSAssembler.h"
44#endif 44#endif
45//#include "codeflinger/ARMAssemblerOptimizer.h" 45//#include "codeflinger/ARMAssemblerOptimizer.h"
@@ -59,7 +59,7 @@
59# define ANDROID_CODEGEN ANDROID_CODEGEN_GENERATED 59# define ANDROID_CODEGEN ANDROID_CODEGEN_GENERATED
60#endif 60#endif
61 61
62#if defined(__arm__) || (defined(__mips__) && !defined(__LP64__)) || defined(__aarch64__) 62#if defined(__arm__) || (defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6) || defined(__aarch64__)
63# define ANDROID_ARM_CODEGEN 1 63# define ANDROID_ARM_CODEGEN 1
64#else 64#else
65# define ANDROID_ARM_CODEGEN 0 65# define ANDROID_ARM_CODEGEN 0
@@ -73,7 +73,7 @@
73 */ 73 */
74#define DEBUG_NEEDS 0 74#define DEBUG_NEEDS 0
75 75
76#if defined( __mips__) && !defined(__LP64__) 76#if defined( __mips__) && !defined(__LP64__) && __mips_isa_rev < 6
77#define ASSEMBLY_SCRATCH_SIZE 4096 77#define ASSEMBLY_SCRATCH_SIZE 4096
78#elif defined(__aarch64__) 78#elif defined(__aarch64__)
79#define ASSEMBLY_SCRATCH_SIZE 8192 79#define ASSEMBLY_SCRATCH_SIZE 8192
@@ -134,7 +134,7 @@ extern "C" void scanline_col32cb16blend_arm(uint16_t *dst, uint32_t col, size_t
134#elif defined(__aarch64__) 134#elif defined(__aarch64__)
135extern "C" void scanline_t32cb16blend_arm64(uint16_t*, uint32_t*, size_t); 135extern "C" void scanline_t32cb16blend_arm64(uint16_t*, uint32_t*, size_t);
136extern "C" void scanline_col32cb16blend_arm64(uint16_t *dst, uint32_t col, size_t ct); 136extern "C" void scanline_col32cb16blend_arm64(uint16_t *dst, uint32_t col, size_t ct);
137#elif defined(__mips__) && !defined(__LP64__) 137#elif defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6
138extern "C" void scanline_t32cb16blend_mips(uint16_t*, uint32_t*, size_t); 138extern "C" void scanline_t32cb16blend_mips(uint16_t*, uint32_t*, size_t);
139#endif 139#endif
140 140
@@ -286,7 +286,7 @@ static const needs_filter_t fill16noblend = {
286 286
287#if ANDROID_ARM_CODEGEN 287#if ANDROID_ARM_CODEGEN
288 288
289#if defined(__mips__) 289#if defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6
290static CodeCache gCodeCache(32 * 1024); 290static CodeCache gCodeCache(32 * 1024);
291#elif defined(__aarch64__) 291#elif defined(__aarch64__)
292static CodeCache gCodeCache(48 * 1024); 292static CodeCache gCodeCache(48 * 1024);
@@ -2175,7 +2175,7 @@ last_one:
2175 2175
2176void scanline_t32cb16blend(context_t* c) 2176void scanline_t32cb16blend(context_t* c)
2177{ 2177{
2178#if ((ANDROID_CODEGEN >= ANDROID_CODEGEN_ASM) && (defined(__arm__) || (defined(__mips__) && !defined(__LP64__)) || defined(__aarch64__))) 2178#if ((ANDROID_CODEGEN >= ANDROID_CODEGEN_ASM) && (defined(__arm__) || (defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6) || defined(__aarch64__)))
2179 int32_t x = c->iterators.xl; 2179 int32_t x = c->iterators.xl;
2180 size_t ct = c->iterators.xr - x; 2180 size_t ct = c->iterators.xr - x;
2181 int32_t y = c->iterators.y; 2181 int32_t y = c->iterators.y;
diff --git a/libpixelflinger/tests/codegen/codegen.cpp b/libpixelflinger/tests/codegen/codegen.cpp
index 46c1cccaf..148b6f44d 100644
--- a/libpixelflinger/tests/codegen/codegen.cpp
+++ b/libpixelflinger/tests/codegen/codegen.cpp
@@ -9,16 +9,18 @@
9#include "codeflinger/CodeCache.h" 9#include "codeflinger/CodeCache.h"
10#include "codeflinger/GGLAssembler.h" 10#include "codeflinger/GGLAssembler.h"
11#include "codeflinger/ARMAssembler.h" 11#include "codeflinger/ARMAssembler.h"
12#if defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6
12#include "codeflinger/MIPSAssembler.h" 13#include "codeflinger/MIPSAssembler.h"
14#endif
13#include "codeflinger/Arm64Assembler.h" 15#include "codeflinger/Arm64Assembler.h"
14 16
15#if defined(__arm__) || defined(__mips__) || defined(__aarch64__) 17#if defined(__arm__) || (defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6) || defined(__aarch64__)
16# define ANDROID_ARM_CODEGEN 1 18# define ANDROID_ARM_CODEGEN 1
17#else 19#else
18# define ANDROID_ARM_CODEGEN 0 20# define ANDROID_ARM_CODEGEN 0
19#endif 21#endif
20 22
21#if defined (__mips__) 23#if defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6
22#define ASSEMBLY_SCRATCH_SIZE 4096 24#define ASSEMBLY_SCRATCH_SIZE 4096
23#elif defined(__aarch64__) 25#elif defined(__aarch64__)
24#define ASSEMBLY_SCRATCH_SIZE 8192 26#define ASSEMBLY_SCRATCH_SIZE 8192
@@ -52,7 +54,7 @@ static void ggl_test_codegen(uint32_t n, uint32_t p, uint32_t t0, uint32_t t1)
52 GGLAssembler assembler( new ARMAssembler(a) ); 54 GGLAssembler assembler( new ARMAssembler(a) );
53#endif 55#endif
54 56
55#if defined(__mips__) && !defined(__LP64__) 57#if defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6
56 GGLAssembler assembler( new ArmToMipsAssembler(a) ); 58 GGLAssembler assembler( new ArmToMipsAssembler(a) );
57#endif 59#endif
58 60