X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpu_unai%2Fgpu_command.h;h=049b1462c3eb4f2123cfa1c52292b064afe604fd;hp=2dc7f5bf3513936fd36d20efbca7d74e70261244;hb=b78edec75aea5e9015e11dd71f7736d7e92b347b;hpb=86aad47b0418b1715a4d223adf8f59aa92619d15;ds=sidebyside diff --git a/plugins/gpu_unai/gpu_command.h b/plugins/gpu_unai/gpu_command.h index 2dc7f5bf..049b1462 100644 --- a/plugins/gpu_unai/gpu_command.h +++ b/plugins/gpu_unai/gpu_command.h @@ -352,6 +352,16 @@ void gpuSendPacketFunction(const int PRIM) break; case 0x7C: case 0x7D: +#ifdef __arm__ + if ((GPU_GP1 & 0x180) == 0 && (Masking | PixelMSB) == 0) + { + gpuSetCLUT (PacketBuffer.U4[2] >> 16); + gpuSetTexture (GPU_GP1); + gpuDrawS16(); + break; + } + // fallthrough +#endif case 0x7E: case 0x7F: if (!isSkip) @@ -373,7 +383,9 @@ void gpuSendPacketFunction(const int PRIM) break; case 0xA0: // sys ->vid gpuLoadImage(); // prim handles updateLace && skip +#ifndef isSkip // not a define if (alt_fps) isSkip=false; +#endif DO_LOG(("gpuLoadImage(0x%x)\n",PRIM)); break; case 0xC0: // vid -> sys @@ -400,7 +412,7 @@ void gpuSendPacketFunction(const int PRIM) TextureWindow[2] = TextureMask[(temp >> 0) & 0x1F]; TextureWindow[3] = TextureMask[(temp >> 5) & 0x1F]; gpuSetTexture(GPU_GP1); - isSkip = false; + //isSkip = false; DO_LOG(("TextureWindow(0x%x)\n",PRIM)); } break; @@ -409,7 +421,7 @@ void gpuSendPacketFunction(const int PRIM) const u32 temp = PacketBuffer.U4[0]; DrawingArea[0] = temp & 0x3FF; DrawingArea[1] = (temp >> 10) & 0x3FF; - isSkip = false; + //isSkip = false; DO_LOG(("DrawingArea_Pos(0x%x)\n",PRIM)); } break; @@ -418,7 +430,7 @@ void gpuSendPacketFunction(const int PRIM) const u32 temp = PacketBuffer.U4[0]; DrawingArea[2] = (temp & 0x3FF) + 1; DrawingArea[3] = ((temp >> 10) & 0x3FF) + 1; - isSkip = false; + //isSkip = false; DO_LOG(("DrawingArea_Size(0x%x)\n",PRIM)); } break; @@ -427,7 +439,7 @@ void gpuSendPacketFunction(const int PRIM) const u32 temp = PacketBuffer.U4[0]; DrawingOffset[0] = ((long)temp<<(32-11))>>(32-11); DrawingOffset[1] = ((long)temp<<(32-22))>>(32-11); - isSkip = false; + //isSkip = false; DO_LOG(("DrawingOffset(0x%x)\n",PRIM)); } break;