More explicit logging of FBO errors.

This commit is contained in:
Themaister 2013-05-18 16:51:10 +01:00
parent e5ba936355
commit 9406b0a771
5 changed files with 18 additions and 6 deletions

View File

@ -694,11 +694,19 @@ bool gl_init_hw_render(gl_t *gl, unsigned width, unsigned height)
GLenum status = pglCheckFramebufferStatus(GL_FRAMEBUFFER); GLenum status = pglCheckFramebufferStatus(GL_FRAMEBUFFER);
if (status != GL_FRAMEBUFFER_COMPLETE) if (status != GL_FRAMEBUFFER_COMPLETE)
{ {
RARCH_ERR("[GL]: Failed to create HW render FBO.\n"); RARCH_ERR("[GL]: Failed to create HW render FBO #%u.\n", i);
const char *err = NULL;
switch (status)
{
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: err = "Incomplete Attachment"; break;
case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: err = "Incomplete Dimensions"; break;
case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: err = "Missing Attachment"; break;
case GL_FRAMEBUFFER_UNSUPPORTED: err = "Unsupported"; break;
default: err = "Unknown"; break;
}
RARCH_ERR("[GL]: Error: %s.\n", err);
return false; return false;
} }
else
RARCH_LOG("[GL]: HW render FBO #%u initialized.\n", i);
} }
gl_bind_backbuffer(); gl_bind_backbuffer();

View File

@ -174,7 +174,11 @@ typedef struct gl_shader_backend gl_shader_backend_t;
#define MAX_SHADERS 16 #define MAX_SHADERS 16
#if (defined(HAVE_GLSL) || defined(HAVE_CG)) #if (defined(HAVE_GLSL) || defined(HAVE_CG))
#ifdef HAVE_VIDEOCORE
#define TEXTURES 2 // Very little video RAM ...
#else
#define TEXTURES 8 #define TEXTURES 8
#endif
#else #else
#define TEXTURES 1 #define TEXTURES 1
#endif #endif

View File

@ -98,7 +98,7 @@ struct cg_fbo_params
#define MAX_TEXTURES 8 #define MAX_TEXTURES 8
#define MAX_VARIABLES 64 #define MAX_VARIABLES 64
#define PREV_TEXTURES 7 #define PREV_TEXTURES (TEXTURES - 1)
struct cg_program struct cg_program
{ {

View File

@ -118,7 +118,7 @@ static PFNGLVERTEXATTRIBPOINTERPROC pglVertexAttribPointer;
#define BORDER_FUNC GL_CLAMP_TO_BORDER #define BORDER_FUNC GL_CLAMP_TO_BORDER
#endif #endif
#define PREV_TEXTURES 7 #define PREV_TEXTURES (TEXTURES - 1)
static struct gfx_shader *glsl_shader; static struct gfx_shader *glsl_shader;

View File

@ -254,7 +254,7 @@ static void video_frame(const void *data, unsigned width, unsigned height, size_
g_extern.frame_cache.height = height; g_extern.frame_cache.height = height;
g_extern.frame_cache.pitch = pitch; g_extern.frame_cache.pitch = pitch;
if (g_extern.system.pix_fmt == RETRO_PIXEL_FORMAT_0RGB1555 && data) if (g_extern.system.pix_fmt == RETRO_PIXEL_FORMAT_0RGB1555 && data && data != RETRO_HW_FRAME_BUFFER_VALID)
{ {
RARCH_PERFORMANCE_INIT(video_frame_conv); RARCH_PERFORMANCE_INIT(video_frame_conv);
RARCH_PERFORMANCE_START(video_frame_conv); RARCH_PERFORMANCE_START(video_frame_conv);