Fix stall issue with 12bpp capture into an 8bpp frame buffer

pull/251/head
IanSB 2021-11-16 00:34:27 +00:00
rodzic a6f8fbee90
commit f4da323446
2 zmienionych plików z 4 dodań i 48 usunięć

Wyświetl plik

@ -53,31 +53,9 @@ loop_8bpp:
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8 WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_3 r6 // input in r8 CAPTURE_EIGHT_BITS_8BPP_3 r6 // input in r8
WRITE_R5_R6_IF_LAST WRITE_R5_R6
cmp r1, #1
popeq {r0, pc}
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8 subs r1, r1, #1
CAPTURE_EIGHT_BITS_8BPP_0 r11 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_1 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_2 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_3 r7 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_0 r12 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_1 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_2 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_3 r10 // input in r8
WRITE_R5_R6_R7_R10
subs r1, r1, #2
bne loop_8bpp bne loop_8bpp
pop {r0, pc} pop {r0, pc}

Wyświetl plik

@ -54,30 +54,8 @@ loop_8bpp:
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8 WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_3 r6 // input in r8 CAPTURE_EIGHT_BITS_8BPP_3 r6 // input in r8
cmp r1, #1 stmia r0!, {r5, r6}
stmeqia r0, {r5, r6} subs r1, r1, #1
popeq {r0, pc}
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_0 r11 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_1 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_2 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_3 r7 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_0 r12 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_1 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_2 // input in r8
WAIT_FOR_PSYNC_EDGE_FAST // expects GPLEV0 in r4, result in r8
CAPTURE_EIGHT_BITS_8BPP_3 r10 // input in r8
stmia r0!, {r5, r6, r7, r10}
subs r1, r1, #2
bne loop_8bpp bne loop_8bpp
pop {r0, pc} pop {r0, pc}