tuxtxt: fix display with scaling FB, use hw accel if available

* Use a separate framebuffer and backbuffer on SPARK (the framebuffer
 is not big enough to have both buffers in it).
* make tuxtxt work correctly with scaling FB (1080 full-HD modes)
* improve performance by using the blitter to copy from back- to frame
 buffer if available (spark)


Origin commit data
------------------
Branch: ni/coolstream
Commit: 99952cb9d7
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2012-03-11 (Sun, 11 Mar 2012)

Origin message was:
------------------
tuxtxt: fix display with scaling FB, use hw accel if available

* Use a separate framebuffer and backbuffer on SPARK (the framebuffer
 is not big enough to have both buffers in it).
* make tuxtxt work correctly with scaling FB (1080 full-HD modes)
* improve performance by using the blitter to copy from back- to frame
 buffer if available (spark)


------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2012-03-11 18:47:57 +01:00
parent 93fbea3abc
commit 317f8b58b2
2 changed files with 99 additions and 37 deletions

View File

@@ -85,19 +85,18 @@ int tv_pip_y;
#define fontwidth_small_lcd 8
#define TV43STARTX (ex)
#define TVENDX (CFrameBuffer::getInstance()->getScreenX() + CFrameBuffer::getInstance()->getScreenWidth()) //ex
#define TVENDX (screen_x + screen_w) //ex
// #define TVENDY (StartY + 25*fontheight)
// #define TV43WIDTH (TVENDX - TV43STARTX)
// #define TV43HEIGHT (TV43WIDTH *9/16)
// #define TV43STARTY (TVENDY - TV43HEIGHT)
//#define TV169FULLSTARTX (sx+ 8*40) //(sx +(ex +1 - sx)/2)
#define TV169FULLSTARTX (CFrameBuffer::getInstance()->getScreenX() + CFrameBuffer::getInstance()->getScreenWidth()/2)
#define TV169FULLSTARTX (screen_x + screen_w / 2)
#define TV169FULLSTARTY sy
//#define TV169FULLWIDTH (ex - sx)/2
#define TV169FULLWIDTH (CFrameBuffer::getInstance()->getScreenWidth()/2)
#define TV169FULLWIDTH (screen_w / 2)
#define TV169FULLHEIGHT (ey - sy)
#define TOPMENUSTARTX TV43STARTX+2
//#define TOPMENUENDX TVENDX
#define TOPMENUSTARTY StartY
@@ -205,6 +204,7 @@ const char *ObjectType[] =
/* framebuffer stuff */
static unsigned char *lfb = 0;
static unsigned char *lbb = 0;
struct fb_var_screeninfo var_screeninfo;
struct fb_fix_screeninfo fix_screeninfo;