void evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int y2);
-extern void (*glsym_glGenFramebuffers) (GLsizei a, GLuint *b);
-extern void (*glsym_glBindFramebuffer) (GLenum a, GLuint b);
-extern void (*glsym_glFramebufferTexture2D) (GLenum a, GLenum b, GLenum c, GLuint d, GLint e);
-extern void (*glsym_glDeleteFramebuffers) (GLsizei a, const GLuint *b);
extern void (*glsym_glGetProgramBinary) (GLuint a, GLsizei b, GLsizei *c, GLenum *d, void *e);
extern void (*glsym_glProgramBinary) (GLuint a, GLenum b, const void *c, GLint d);
extern void (*glsym_glProgramParameteri) (GLuint a, GLuint b, GLint d);
# define glGetShaderiv(...) GL_ERROR_TRACE(glGetShaderiv, glGetShaderiv, #__VA_ARGS__, __VA_ARGS__)
# define glShaderSource(...) GL_ERROR_TRACE(glShaderSource, glShaderSource, #__VA_ARGS__, __VA_ARGS__)
# define glCompileShader(...) GL_ERROR_TRACE(glCompileShader, glCompileShader, #__VA_ARGS__, __VA_ARGS__)
-# define glsym_glGenFramebuffers(...) GL_ERROR_TRACE(glGenFramebuffers, glsym_glGenFramebuffers, #__VA_ARGS__, __VA_ARGS__)
-# define glsym_glBindFramebuffer(...) GL_ERROR_TRACE(glBindFramebuffer, glsym_glBindFramebuffer, #__VA_ARGS__, __VA_ARGS__)
-# define glsym_glFramebufferTexture2D(...) GL_ERROR_TRACE(glFramebufferTexture2D, glsym_glFramebufferTexture2D, #__VA_ARGS__, __VA_ARGS__)
-# define glsym_glDeleteFramebuffers(...) GL_ERROR_TRACE(glDeleteFramebuffers, glsym_glDeleteFramebuffers, #__VA_ARGS__, __VA_ARGS__)
+# define glGenFramebuffers(...) GL_ERROR_TRACE(glGenFramebuffers, glGenFramebuffers, #__VA_ARGS__, __VA_ARGS__)
+# define glBindFramebuffer(...) GL_ERROR_TRACE(glBindFramebuffer, glBindFramebuffer, #__VA_ARGS__, __VA_ARGS__)
+# define glFramebufferTexture2D(...) GL_ERROR_TRACE(glFramebufferTexture2D, glFramebufferTexture2D, #__VA_ARGS__, __VA_ARGS__)
+# define glDeleteFramebuffers(...) GL_ERROR_TRACE(glDeleteFramebuffers, glDeleteFramebuffers, #__VA_ARGS__, __VA_ARGS__)
# define glsym_glGetProgramBinary(...) GL_ERROR_TRACE(glGetProgramBinary, glsym_glGetProgramBinary, #__VA_ARGS__, __VA_ARGS__)
# define glsym_glProgramBinary(...) GL_ERROR_TRACE(glProgramBinary, glsym_glProgramBinary, #__VA_ARGS__, __VA_ARGS__)
# define glsym_glProgramParameteri(...) GL_ERROR_TRACE(glProgramParameteri, glsym_glProgramParameteri, #__VA_ARGS__, __VA_ARGS__)
typedef GLboolean (*glsym_func_boolean) ();
typedef const char *(*glsym_func_const_char_ptr) ();
-void (*glsym_glGenFramebuffers) (GLsizei a, GLuint *b) = NULL;
-void (*glsym_glBindFramebuffer) (GLenum a, GLuint b) = NULL;
-void (*glsym_glFramebufferTexture2D) (GLenum a, GLenum b, GLenum c, GLuint d, GLint e) = NULL;
-void (*glsym_glDeleteFramebuffers) (GLsizei a, const GLuint *b) = NULL;
void (*glsym_glGetProgramBinary) (GLuint a, GLsizei b, GLsizei *c, GLenum *d, void *e) = NULL;
void (*glsym_glProgramBinary) (GLuint a, GLenum b, const void *c, GLint d) = NULL;
void (*glsym_glProgramParameteri) (GLuint a, GLuint b, GLint d) = NULL;
*a = *b; \
*b = tmp;
-#ifdef GL_GLES
- FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
- FINDSYM2(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
- FALLBAK(glsym_glGenFramebuffers, glsym_func_void);
-#else
- FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersEXT", glsym_func_void);
- FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersARB", glsym_func_void);
- FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
- // nvidia tegra3 drivers seem to not expose via getprocaddress, but dlsym finds it
- FINDSYM2(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
- FALLBAK(glsym_glGenFramebuffers, glsym_func_void);
-#endif
-
-#ifdef GL_GLES
- FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
- FINDSYM2(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
- FALLBAK(glsym_glBindFramebuffer, glsym_func_void);
-#else
- FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferEXT", glsym_func_void);
- FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferARB", glsym_func_void);
- FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
- // nvidia tegra3 drivers seem to not expose via getprocaddress, but dlsym finds it
- FINDSYM2(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
- FALLBAK(glsym_glBindFramebuffer, glsym_func_void);
-#endif
-
- FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DEXT", glsym_func_void);
- FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DARB", glsym_func_void);
- FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2D", glsym_func_void);
- // nvidia tegra3 drivers seem to not expose via getprocaddress, but dlsym finds it
- FINDSYM2(glsym_glFramebufferTexture2D, "glFramebufferTexture2D", glsym_func_void);
- FALLBAK(glsym_glFramebufferTexture2D, glsym_func_void);
-
- FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffersEXT", glsym_func_void);
- FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffersARB", glsym_func_void);
- FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffers", glsym_func_void);
- // nvidia tegra3 drivers seem to not expose via getprocaddress, but dlsym finds it
- FINDSYM2(glsym_glDeleteFramebuffers, "glDeleteFramebuffers", glsym_func_void);
- FALLBAK(glsym_glDeleteFramebuffers, glsym_func_void);
-
FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryOES", glsym_func_void);
FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryKHR", glsym_func_void);
FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryEXT", glsym_func_void);
# endif
#endif
if (gc->pipe[0].shader.surface == gc->def_surface)
- GL_TH_CALL(glBindFramebuffer, glsym_glBindFramebuffer, GL_FRAMEBUFFER, 0);
+ GL_TH(glBindFramebuffer, GL_FRAMEBUFFER, 0);
else
- GL_TH_CALL(glBindFramebuffer, glsym_glBindFramebuffer, GL_FRAMEBUFFER, surface->tex->pt->fb);
+ GL_TH(glBindFramebuffer, GL_FRAMEBUFFER, surface->tex->pt->fb);
_evas_gl_common_viewport_set(gc, 0, 0);
}
if (ok)
{
- GL_TH_CALL(glGenFramebuffers, glsym_glGenFramebuffers, 1, &(pt->fb));
- GL_TH_CALL(glBindFramebuffer, glsym_glBindFramebuffer, GL_FRAMEBUFFER, pt->fb);
- GL_TH_CALL(glFramebufferTexture2D, glsym_glFramebufferTexture2D,
+ GL_TH(glGenFramebuffers, 1, &(pt->fb));
+ GL_TH(glBindFramebuffer, GL_FRAMEBUFFER, pt->fb);
+ GL_TH(glFramebufferTexture2D,
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, pt->texture, 0);
// note: should check fbo completeness
}
GL_TH(glFramebufferRenderbuffer, GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, pt->stencil);
}
- GL_TH_CALL(glBindFramebuffer, glsym_glBindFramebuffer, GL_FRAMEBUFFER, fnum);
+ GL_TH(glBindFramebuffer, GL_FRAMEBUFFER, fnum);
if (gc->state.current.tex_target)
GL_TH(glBindTexture, gc->state.current.tex_target, gc->state.current.cur_tex);
else
}
if (pt->fb)
{
- GL_TH_CALL(glDeleteFramebuffers, glsym_glDeleteFramebuffers, 1, &(pt->fb));
+ GL_TH(glDeleteFramebuffers, 1, &(pt->fb));
pt->fb = 0;
}
EINA_LIST_FREE(pt->allocations, apt)
GL_TH(glGetIntegerv, GL_FRAMEBUFFER_BINDING, &fbo);
if (fbo != (GLint) im->tex->pt->fb)
- GL_TH_CALL(glBindFramebuffer, glsym_glBindFramebuffer, GL_FRAMEBUFFER, im->tex->pt->fb);
+ GL_TH(glBindFramebuffer, GL_FRAMEBUFFER, im->tex->pt->fb);
GL_TH(glPixelStorei, GL_PACK_ALIGNMENT, 4);
// With GLX we will try to read BGRA even if the driver reports RGBA
}
if (fbo != (GLint) im->tex->pt->fb)
- GL_TH_CALL(glBindFramebuffer, glsym_glBindFramebuffer, GL_FRAMEBUFFER, fbo);
+ GL_TH(glBindFramebuffer, GL_FRAMEBUFFER, fbo);
return EINA_TRUE;
}