mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 16:31:11 +02:00
glthread: blit OSD manually
to help debugging of framebuffer issues, only blit the openGL framebuffer after an explicit blit() call
This commit is contained in:
@@ -30,6 +30,9 @@
|
||||
#endif
|
||||
|
||||
#include <driver/framebuffer.h>
|
||||
#ifdef USE_OPENGL
|
||||
#include "glthread.h"
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
@@ -821,6 +824,10 @@ void CFbAccel::blit()
|
||||
/* not azbox and not spark -> no blit() needed */
|
||||
void CFbAccel::blit()
|
||||
{
|
||||
#ifdef USE_OPENGL
|
||||
if (fb->mpGLThreadObj)
|
||||
fb->mpGLThreadObj->blit();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -338,7 +338,12 @@ void GLThreadObj::render() {
|
||||
}
|
||||
|
||||
// bltDisplayBuffer(); /* decoded video stream */
|
||||
bltOSDBuffer(); /* OSD */
|
||||
if (mState.blit) {
|
||||
/* only blit manually after fb->blit(), this helps to find missed blit() calls */
|
||||
mState.blit = false;
|
||||
//fprintf(stderr, "blit!\n");
|
||||
bltOSDBuffer(); /* OSD */
|
||||
}
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, mState.osdtex);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include <GL/glew.h>
|
||||
#include <GL/freeglut.h>
|
||||
#include <GL/gl.h>
|
||||
#include "rcinput.h"
|
||||
|
||||
//class SWDecoder;
|
||||
|
||||
@@ -51,6 +52,7 @@ public:
|
||||
|
||||
int getOSDWidth() { return mState.width; }
|
||||
int getOSDHeight() { return mState.height; }
|
||||
void blit() { mState.blit = true; }
|
||||
|
||||
void clear();
|
||||
|
||||
@@ -92,6 +94,7 @@ private:
|
||||
// GLuint displaytex; /* holds the display texture */
|
||||
// GLuint displaypbo;
|
||||
int go3d;
|
||||
bool blit;
|
||||
} mState;
|
||||
|
||||
// boost::shared_ptr<SWDecoder>mpSWDecoder; /* our Decoder-Object that runs in its own thread */
|
||||
|
Reference in New Issue
Block a user