aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authornotaz2010-12-11 23:11:46 +0200
committernotaz2010-12-14 15:25:05 +0200
commit722285599b1ce45ca435f484b0f34a5e568487a1 (patch)
tree5f040ca6fe9e2f6bf84a1fefe4a658282e520a15 /plugins
parentd352cde27e89b1be21bf8f88c3ca79e0eb497165 (diff)
downloadpcsx_rearmed-722285599b1ce45ca435f484b0f34a5e568487a1.tar.gz
pcsx_rearmed-722285599b1ce45ca435f484b0f34a5e568487a1.tar.bz2
pcsx_rearmed-722285599b1ce45ca435f484b0f34a5e568487a1.zip
refactor OSD code and PCNT stuff
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfxvideo/draw_fb.c38
-rw-r--r--plugins/dfxvideo/gpu.c5
2 files changed, 11 insertions, 32 deletions
diff --git a/plugins/dfxvideo/draw_fb.c b/plugins/dfxvideo/draw_fb.c
index b39e2ee..af05dd2 100644
--- a/plugins/dfxvideo/draw_fb.c
+++ b/plugins/dfxvideo/draw_fb.c
@@ -16,6 +16,7 @@
#include "swap.h"
#include "plugin_lib.h"
+#include "pcnt.h"
// misc globals
int iResX;
@@ -36,9 +37,6 @@ PSXPoint_t ptCursorPoint[8];
unsigned short usCursorActive = 0;
char * pCaptionText;
-static int fbw, fbh, fb24bpp;
-static int flip_cnt, flips_per_sec;
-
#ifndef __arm__
#define bgr555_to_rgb565 memcpy
#define bgr888_to_rgb888 memcpy
@@ -81,50 +79,30 @@ static void blit(void)
{
bgr555_to_rgb565(dest, srcs, w * 2);
}
- pl_text_out16(2, fbh - 10, "%2d %2.1f", flips_per_sec, fps_cur);
}
}
-#include "pcnt.h"
-
void DoBufferSwap(void)
{
- static int fps_counter;
+ static int fbw, fb24bpp;
+
if (PSXDisplay.DisplayMode.x == 0 || PSXDisplay.DisplayMode.y == 0)
return;
/* careful if rearranging this code, we try to set mode and flip
* to get the hardware apply both changes at the same time */
- if (PSXDisplay.DisplayMode.x != fbw || PSXDisplay.DisplayMode.y != fbh
- || PSXDisplay.RGB24 != fb24bpp) {
+ if (PSXDisplay.DisplayMode.x != fbw || PSXDisplay.RGB24 != fb24bpp) {
+ int fbh = PSXDisplay.DisplayMode.y;
fbw = PSXDisplay.DisplayMode.x;
- fbh = PSXDisplay.DisplayMode.y;
fb24bpp = PSXDisplay.RGB24;
pl_fbdev_set_mode(fbw, fbh, fb24bpp ? 24 : 16);
}
+ pcnt_start(PCNT_BLIT);
blit();
- pl_fbdev_flip();
-
- pcnt_end(PCNT_ALL);
+ pcnt_end(PCNT_BLIT);
- {
- static int oldsec;
- struct timeval tv;
- flip_cnt++;
- gettimeofday(&tv, 0);
- if (tv.tv_sec != oldsec) {
- flips_per_sec = flip_cnt;
- flip_cnt = 0;
- oldsec = tv.tv_sec;
- }
- }
- if (++fps_counter == 60/6) {
- pcnt_print(fps_cur);
- fps_counter = 0;
- }
-
- pcnt_start(PCNT_ALL);
+ pl_fbdev_flip();
}
void DoClearScreenBuffer(void) // CLEAR DX BUFFER
diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c
index 20e5eef..45f5b38 100644
--- a/plugins/dfxvideo/gpu.c
+++ b/plugins/dfxvideo/gpu.c
@@ -788,8 +788,9 @@ void CALLBACK GPUupdateLace(void) // VSYNC
if(!(dwActFixes&1))
lGPUstatusRet^=0x80000000; // odd/even bit
- if(!(dwActFixes&32)) // std fps limitation?
- CheckFrameRate();
+ //if(!(dwActFixes&32)) // std fps limitation?
+ // CheckFrameRate();
+ pl_frame_limit();
if(PSXDisplay.Interlaced) // interlaced mode?
{