Update renderchain driver for GL

This commit is contained in:
twinaphex 2017-11-07 10:10:52 +01:00
parent 1729bdd7bd
commit 9c6edaff30
3 changed files with 28 additions and 4 deletions

View File

@ -65,6 +65,11 @@ void cocoagl_bind_game_view_fbo(void);
#define gl_bind_backbuffer() glBindFramebuffer(RARCH_GL_FRAMEBUFFER, 0) #define gl_bind_backbuffer() glBindFramebuffer(RARCH_GL_FRAMEBUFFER, 0)
#endif #endif
typedef struct gl2_renderchain
{
void *empty;
} gl2_renderchain_t;
/* Prototypes */ /* Prototypes */
GLenum min_filter_to_mag(GLenum type); GLenum min_filter_to_mag(GLenum type);
void gl_set_viewport( void gl_set_viewport(
@ -1109,8 +1114,29 @@ error:
return false; return false;
} }
void gl2_renderchain_free_internal(void *data)
{
gl2_renderchain_t *cg_data = (gl2_renderchain_t*)data;
if (!cg_data)
return;
free(cg_data);
}
static void *gl2_renderchain_new(void)
{
gl2_renderchain_t *renderchain = (gl2_renderchain_t*)calloc(1, sizeof(*renderchain));
if (!renderchain)
return NULL;
return renderchain;
}
#ifdef HAVE_FBO #ifdef HAVE_FBO
gl_renderchain_driver_t gl2_renderchain = { gl_renderchain_driver_t gl2_renderchain = {
gl2_renderchain_free_internal,
gl2_renderchain_new,
gl2_renderchain_init, gl2_renderchain_init,
gl2_renderchain_init_hw_render, gl2_renderchain_init_hw_render,
gl2_renderchain_free, gl2_renderchain_free,

View File

@ -3444,11 +3444,7 @@ bool renderchain_gl_init_first(
for (i = 0; renderchain_gl_drivers[i]; i++) for (i = 0; renderchain_gl_drivers[i]; i++)
{ {
#if 0
void *data = renderchain_gl_drivers[i]->chain_new(); void *data = renderchain_gl_drivers[i]->chain_new();
#else
void *data = NULL;
#endif
if (!data) if (!data)
continue; continue;

View File

@ -827,6 +827,8 @@ typedef struct d3d_renderchain_driver
typedef struct gl_renderchain_driver typedef struct gl_renderchain_driver
{ {
void (*chain_free)(void *data);
void *(*chain_new)(void);
void (*init)(void *data, unsigned fbo_width, unsigned fbo_height); void (*init)(void *data, unsigned fbo_width, unsigned fbo_height);
bool (*init_hw_render)(void *data, unsigned width, unsigned height); bool (*init_hw_render)(void *data, unsigned width, unsigned height);
void (*free)(void *data); void (*free)(void *data);