diff options
Diffstat (limited to 'plugins/gpu_neon')
-rw-r--r-- | plugins/gpu_neon/psx_gpu/psx_gpu.c | 3 | ||||
-rw-r--r-- | plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu.c b/plugins/gpu_neon/psx_gpu/psx_gpu.c index 2cba878..396d274 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu.c +++ b/plugins/gpu_neon/psx_gpu/psx_gpu.c @@ -4031,7 +4031,8 @@ void setup_sprite_untextured(psx_gpu_struct *psx_gpu, s32 x, s32 y, s32 u, s32 v, s32 width, s32 height, u32 color) { if((psx_gpu->render_state & (RENDER_STATE_MASK_EVALUATE | - RENDER_FLAGS_MODULATE_TEXELS | RENDER_FLAGS_BLEND)) == 0) + RENDER_FLAGS_MODULATE_TEXELS | RENDER_FLAGS_BLEND)) == 0 && + (psx_gpu->render_mode & RENDER_INTERLACE_ENABLED) == 0) { setup_sprite_untextured_simple(psx_gpu, x, y, u, v, width, height, color); return; 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 4e1e403..344331d 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S +++ b/plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S @@ -20,6 +20,7 @@ #define RENDER_STATE_MASK_EVALUATE 0x20 #define RENDER_FLAGS_MODULATE_TEXELS 0x1 #define RENDER_FLAGS_BLEND 0x2 +#define RENDER_INTERLACE_ENABLED 0x1 #include "psx_gpu_offsets.h" @@ -5757,6 +5758,8 @@ function(setup_sprite_untextured) ldrh r12, [ psx_gpu, #psx_gpu_render_state_offset ] tst r12, #(RENDER_STATE_MASK_EVALUATE | RENDER_FLAGS_MODULATE_TEXELS \ | RENDER_FLAGS_BLEND) + ldreqb r12, [ psx_gpu, #psx_gpu_render_mode_offset ] + tsteq r12, #RENDER_INTERLACE_ENABLED beq setup_sprite_untextured_simple stmdb sp!, { r4 - r11, r14 } |