#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"
beq 1f
0:
+ vorr.u16 pixels, pixels, msb_mask
vorr.u16 draw_mask, draw_mask, write_mask
vbif.u16 fb_pixels, pixels, draw_mask
vst1.u16 { fb_pixels }, [ fb_ptr ]
bne 0b
1:
+ vorr.u16 pixels, pixels, msb_mask
vorr.u16 draw_mask, draw_mask, write_mask
vbif.u16 fb_pixels, pixels, draw_mask
vst1.u16 { fb_pixels }, [ fb_ptr ]
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 }