#include <stdlib.h>
#include <string.h>
#include "../gpulib/gpu.h"
+#include "arm_features.h"
#define u8 uint8_t
#define s8 int8_t
unsigned int *list_end = list + list_len;
linesInterlace = force_interlace;
-#ifndef __ARM_ARCH_7A__ /* XXX */
+#ifdef HAVE_PRE_ARMV7 /* XXX */
linesInterlace |= gpu.status.interlace;
#endif
gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]);
num_vertexes++;
- if((*list_position & 0xf000f000) == 0x50005000 || list_position >= list_end)
+ if(list_position >= list_end) {
+ cmd = -1;
+ goto breakloop;
+ }
+ if((*list_position & 0xf000f000) == 0x50005000)
break;
}
gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]);
num_vertexes++;
- if((*list_position & 0xf000f000) == 0x50005000 || list_position >= list_end)
+ if(list_position >= list_end) {
+ cmd = -1;
+ goto breakloop;
+ }
+ if((*list_position & 0xf000f000) == 0x50005000)
break;
}
}
case 0xE5: {
const u32 temp = PacketBuffer.U4[0];
- DrawingOffset[0] = ((long)temp<<(32-11))>>(32-11);
- DrawingOffset[1] = ((long)temp<<(32-22))>>(32-11);
+ DrawingOffset[0] = ((s32)temp<<(32-11))>>(32-11);
+ DrawingOffset[1] = ((s32)temp<<(32-22))>>(32-11);
gpu.ex_regs[5] = temp;
break;
}