X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpu_unai%2Fgpu.cpp;h=3515814322239f6a18f6ff7798e6760beb46cd9b;hp=5152327aaa30ad5954a3df1adb7a225f0d038098;hb=76f7048eff4f5357df048268e40b5bc6b9387fe5;hpb=495eab932257c0925a4ab89071c43249ec1d1698 diff --git a/plugins/gpu_unai/gpu.cpp b/plugins/gpu_unai/gpu.cpp index 5152327a..35158143 100644 --- a/plugins/gpu_unai/gpu.cpp +++ b/plugins/gpu_unai/gpu.cpp @@ -331,7 +331,7 @@ INLINE int CheckForEndlessLoop(u32 *laddr) } /////////////////////////////////////////////////////////////////////////////// -void GPU_dmaChain(u32* baseAddr, u32 dmaVAddr) +long GPU_dmaChain(u32* baseAddr, u32 dmaVAddr) { #ifdef DEBUG_ANALYSIS dbg_anacnt_GPU_dmaChain++; @@ -339,6 +339,7 @@ void GPU_dmaChain(u32* baseAddr, u32 dmaVAddr) pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); u32 data, *address, count, offset; unsigned int DMACommandCounter = 0; + long dma_words = 0; GPU_GP1 &= ~0x14000000; lUsedAddr[0]=lUsedAddr[1]=lUsedAddr[2]=(u32*)0x1fffff; @@ -355,9 +356,12 @@ void GPU_dmaChain(u32* baseAddr, u32 dmaVAddr) else dmaVAddr = 0x1FFFFF; if(count>0) GPU_writeDataMem(address,count); + dma_words += 1 + count; } GPU_GP1 = (GPU_GP1 | 0x14000000) & ~0x60000000; pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); + + return dma_words; } /////////////////////////////////////////////////////////////////////////////// @@ -879,7 +883,7 @@ static void blit(void) u16 *srcs; u8 *dest; - x0 = DisplayArea[0] & ~3; // alignment needed by blitter + x0 = DisplayArea[0] & ~1; // alignment needed by blitter y0 = DisplayArea[1]; srcs = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0,y0)]; @@ -897,7 +901,7 @@ static void blit(void) old_res_horz = w0; old_res_vert = h1; old_rgb24 = (s16)isRGB24; - screen_buf = cbs->pl_fbdev_set_mode(w0, h1, isRGB24 ? 24 : 16); + screen_buf = cbs->pl_vout_set_mode(w0, h1, isRGB24 ? 24 : 16); } dest = (u8 *)screen_buf; @@ -923,7 +927,7 @@ static void blit(void) } } - screen_buf = cbs->pl_fbdev_flip(); + screen_buf = cbs->pl_vout_flip(); } void GPU_updateLace(void) @@ -938,7 +942,7 @@ void GPU_updateLace(void) blit(); fb_dirty = false; - if (*cbs->fskip_option) + if (cbs->fskip_advice) isSkip = true; } else @@ -947,14 +951,14 @@ void GPU_updateLace(void) long GPUopen(unsigned long *, char *, char *) { - cbs->pl_fbdev_open(); - screen_buf = cbs->pl_fbdev_flip(); + cbs->pl_vout_open(); + screen_buf = cbs->pl_vout_flip(); return 0; } long GPUclose(void) { - cbs->pl_fbdev_close(); + cbs->pl_vout_close(); return 0; }