This commit is contained in:
twinaphex 2017-11-08 01:53:24 +01:00
parent c1f0fceb4f
commit dc664ff4f2
3 changed files with 7 additions and 12 deletions

View File

@ -87,14 +87,6 @@
static struct video_ortho default_ortho = {0, 1, 0, 1, -1, 1}; static struct video_ortho default_ortho = {0, 1, 0, 1, -1, 1};
#ifdef IOS
/* There is no default frame buffer on iOS. */
void cocoagl_bind_game_view_fbo(void);
#define gl_bind_backbuffer() cocoagl_bind_game_view_fbo()
#else
#define gl_bind_backbuffer() glBindFramebuffer(RARCH_GL_FRAMEBUFFER, 0)
#endif
/* Used for the last pass when rendering to the back buffer. */ /* Used for the last pass when rendering to the back buffer. */
static const GLfloat vertexes_flipped[] = { static const GLfloat vertexes_flipped[] = {
0, 1, 0, 1,
@ -1263,7 +1255,8 @@ static bool gl_frame(void *data, const void *frame,
gl_update_input_size(gl, frame_width, frame_height, pitch, false); gl_update_input_size(gl, frame_width, frame_height, pitch, false);
if (!gl->fbo_inited) if (!gl->fbo_inited)
{ {
gl_bind_backbuffer(); if (gl->renderchain_driver->bind_backbuffer)
gl->renderchain_driver->bind_backbuffer();
gl_set_viewport(gl, video_info, width, height, false, true); gl_set_viewport(gl, video_info, width, height, false, true);
} }

View File

@ -69,7 +69,7 @@ typedef struct gl2_renderchain
#define gl2_bind_fb(id) glBindFramebuffer(RARCH_GL_FRAMEBUFFER, id) #define gl2_bind_fb(id) glBindFramebuffer(RARCH_GL_FRAMEBUFFER, id)
static INLINE void gl2_bind_backbuffer(void) static void gl2_renderchain_bind_backbuffer(void)
{ {
#ifdef IOS #ifdef IOS
/* There is no default frame buffer on iOS. */ /* There is no default frame buffer on iOS. */
@ -358,7 +358,7 @@ static void gl2_renderchain_render(
fbo_tex_info_cnt++; fbo_tex_info_cnt++;
/* Render our FBO texture to back buffer. */ /* Render our FBO texture to back buffer. */
gl2_bind_backbuffer(); gl2_renderchain_bind_backbuffer();
shader_info.data = gl; shader_info.data = gl;
shader_info.idx = gl->fbo_pass + 1; shader_info.idx = gl->fbo_pass + 1;
@ -937,7 +937,7 @@ static bool gl2_renderchain_init_hw_render(
} }
} }
gl2_bind_backbuffer(); gl2_renderchain_bind_backbuffer();
gl->hw_render_fbo_init = true; gl->hw_render_fbo_init = true;
context_bind_hw_render(false); context_bind_hw_render(false);
@ -1111,6 +1111,7 @@ static void *gl2_renderchain_new(void)
} }
gl_renderchain_driver_t gl2_renderchain = { gl_renderchain_driver_t gl2_renderchain = {
gl2_renderchain_bind_backbuffer,
gl2_renderchain_deinit_fbo, gl2_renderchain_deinit_fbo,
gl2_renderchain_viewport_info, gl2_renderchain_viewport_info,
gl2_renderchain_read_viewport, gl2_renderchain_read_viewport,

View File

@ -827,6 +827,7 @@ typedef struct d3d_renderchain_driver
typedef struct gl_renderchain_driver typedef struct gl_renderchain_driver
{ {
void (*bind_backbuffer)(void);
void (*deinit_fbo)(void *data); void (*deinit_fbo)(void *data);
void (*viewport_info)( void (*viewport_info)(
void *data, struct video_viewport *vp); void *data, struct video_viewport *vp);