aboutsummaryrefslogtreecommitdiff
path: root/plugins/gpu_neon
diff options
context:
space:
mode:
authornotaz2017-05-03 02:52:15 +0300
committernotaz2017-05-03 02:52:15 +0300
commit0e4ad31902f206e2c6945632bb1f558eae941ff1 (patch)
tree81435eaaac3be5d685132259f79794fb556bd431 /plugins/gpu_neon
parent25e52b2c51afd3609aa2a0e218036d27520af510 (diff)
downloadpcsx_rearmed-0e4ad31902f206e2c6945632bb1f558eae941ff1.tar.gz
pcsx_rearmed-0e4ad31902f206e2c6945632bb1f558eae941ff1.tar.bz2
pcsx_rearmed-0e4ad31902f206e2c6945632bb1f558eae941ff1.zip
use pc-relative offsets for PIC too
Diffstat (limited to 'plugins/gpu_neon')
-rw-r--r--plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S21
1 files changed, 6 insertions, 15 deletions
diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S b/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
index 110c868..7c820d2 100644
--- a/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
+++ b/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
@@ -194,26 +194,18 @@
.align 4
-#ifndef __MACH__
+#include "arm_features.h"
-#define function(name) \
- .global name; \
- .type name, %function; \
- name: \
+#define function(name) FUNCTION(name):
+
+#ifndef TEXRELS_FORBIDDEN
#define JT_OP_REL(table_label, index_reg, temp)
#define JT_OP(x...) x
#define JTE(start, target) target
-#define EXTRA_UNSAVED_REGS
-
#else
-#define function(name) \
- .globl _##name; \
- name: \
- _##name: \
-
#define JT_OP_REL(table_label, index_reg, temp) \
adr temp, table_label; \
ldr temp, [temp, index_reg, lsl #2]; \
@@ -222,13 +214,12 @@
#define JT_OP(x...)
#define JTE(start, target) (target - start)
-// r7 is preserved, but add it for EABI alignment..
-#define EXTRA_UNSAVED_REGS r7, r9,
+#endif
+#ifdef __MACH__
#define flush_render_block_buffer _flush_render_block_buffer
#define setup_sprite_untextured_simple _setup_sprite_untextured_simple
#define update_texture_8bpp_cache _update_texture_8bpp_cache
-
#endif
@ r0: psx_gpu