Merge branch 'uncool/dvbsi++' commit 3bbaddec39

Conflicts:
	src/driver/framebuffer.cpp
This commit is contained in:
Stefan Seyfried
2013-01-03 09:46:11 +01:00
14 changed files with 123 additions and 44 deletions

View File

@@ -774,7 +774,9 @@ void CFrameBuffer::paintBoxRel(const int x, const int y, const int dx, const int
char *c = (char *)&col;
dfbdest->SetColor(dfbdest, c[1], c[2], c[3], c[0]);
#else
#ifndef USE_NEVIS_GXA
#ifdef USE_NEVIS_GXA
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
#else
int swidth = stride / sizeof(fb_pixel_t);
fb_pixel_t *fbp = getFrameBufferPointer() + (swidth * y);
#endif
@@ -922,6 +924,7 @@ void CFrameBuffer::paintVLine(int x, int ya, int yb, const fb_pixel_t col)
return;
#ifdef USE_NEVIS_GXA
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
/* draw a single vertical line from point x/ya to x/yb */
unsigned int cmd = GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(2) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(2) | GXA_CMD_NOT_ALPHA;
@@ -947,6 +950,7 @@ void CFrameBuffer::paintVLineRel(int x, int y, int dy, const fb_pixel_t col)
return;
#ifdef USE_NEVIS_GXA
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
/* draw a single vertical line from point x/y with hight dx */
unsigned int cmd = GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(2) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(2) | GXA_CMD_NOT_ALPHA;
@@ -970,6 +974,7 @@ void CFrameBuffer::paintHLine(int xa, int xb, int y, const fb_pixel_t col)
return;
#ifdef USE_NEVIS_GXA
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
/* draw a single horizontal line from point xa/y to xb/y */
unsigned int cmd = GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(2) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(2) | GXA_CMD_NOT_ALPHA;
@@ -994,6 +999,7 @@ void CFrameBuffer::paintHLineRel(int x, int dx, int y, const fb_pixel_t col)
return;
#ifdef USE_NEVIS_GXA
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
/* draw a single horizontal line from point x/y with width dx */
unsigned int cmd = GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(2) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(2) | GXA_CMD_NOT_ALPHA;
@@ -1906,6 +1912,7 @@ void CFrameBuffer::blit2FB(void *fbbuff, uint32_t width, uint32_t height, uint32
//printf("CFrameBuffer::blit2FB: data %x Kva %x\n", (int) fbbuff, (int) uKva);
if(uKva != NULL) {
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
cmd = GXA_CMD_BLT | GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(1) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(3);
_write_gxa(gxa_base, GXA_BMP1_TYPE_REG, (3 << 16) | width);

View File

@@ -34,6 +34,8 @@
#include <string>
#include <map>
#include <OpenThreads/Mutex>
#include <OpenThreads/ScopedLock>
#define fb_pixel_t uint32_t
@@ -66,6 +68,7 @@ class CFrameBuffer
private:
CFrameBuffer();
OpenThreads::Mutex mutex;
struct rgbData
{