Add new option 'COREGL_TRACE_CTX_FORCE=1' for chasing every context changes (with CORGEL_TRACE_CTX=1)
int trace_api_flag = 0;
int trace_ctx_flag = 0;
+int trace_ctx_force_flag = 0;
int trace_state_flag = 0;
int debug_nofp = 0;
#ifdef COREGL_TRACE_CONTEXT_INFO
trace_ctx_flag = atoi(get_env_setting("COREGL_TRACE_CTX"));
#endif
+#ifdef COREGL_TRACE_CONTEXT_INFO
+ trace_ctx_force_flag = atoi(get_env_setting("COREGL_TRACE_CTX_FORCE"));
+#endif
#ifdef COREGL_TRACE_STATE_INFO
trace_state_flag = atoi(get_env_setting("COREGL_TRACE_STATE"));
#endif
AST(mutex_lock(&ctx_list_access_mutex) == 1);
AST(mutex_lock(&general_trace_lists_access_mutex) == 1);
- if (!force_output)
+ if (!force_output && !trace_ctx_force_flag)
{
struct timeval tv_now = { 0, 0 };
AST(gettimeofday(&tv_now, NULL) == 0);
#define INIT_FAST_GL_FUNC() \
tstate = get_current_thread_state(); \
- AST(tstate != NULL); \
- AST(tstate->cstate != NULL); \
+ if (tstate == NULL || tstate->cstate == NULL) \
+ { \
+ ERR("\E[0;31;1mWARNING : '%s' called when GLES2 context is not binded (Check MakeCurrent)!\E[0m\n", __func__); \
+ goto finish; \
+ } \
current_ctx = (GLGlueContext *)tstate->cstate->data; \
AST(current_ctx != NULL);
{
current_ctx->gl_error = error;
}
+ goto finish;
+
+finish:
+ return;
}
GLenum
GLboolean
fpgl_glIsTexture(GLuint texture)
{
- GLboolean ret;
+ GLboolean ret = GL_FALSE;
GLuint real_obj;
DEFINE_FAST_GL_FUNC();
GLboolean
fpgl_glIsBuffer(GLuint buffer)
{
- GLboolean ret;
+ GLboolean ret = GL_FALSE;
GLuint real_obj;
DEFINE_FAST_GL_FUNC();
GLboolean
fpgl_glIsFramebuffer(GLuint framebuffer)
{
- GLboolean ret;
+ GLboolean ret = GL_FALSE;
GLuint real_obj;
DEFINE_FAST_GL_FUNC();
GLboolean
fpgl_glIsRenderbuffer(GLuint renderbuffer)
{
- GLboolean ret;
+ GLboolean ret = GL_FALSE;
GLuint real_obj;
DEFINE_FAST_GL_FUNC();
GLboolean
fpgl_glIsShader(GLuint shader)
{
- GLboolean ret;
+ GLboolean ret = GL_FALSE;
GLuint real_obj;
DEFINE_FAST_GL_FUNC();
GLboolean
fpgl_glIsProgram(GLuint program)
{
- GLboolean ret;
+ GLboolean ret = GL_FALSE;
GLuint real_obj;
DEFINE_FAST_GL_FUNC();
extern int trace_api_flag;
extern int trace_ctx_flag;
+extern int trace_ctx_force_flag;
extern int trace_state_flag;
extern int debug_nofp;
{
static struct timeval tv_last = { 0, 0 };
- if (trace_ctx_flag != 1) return;
+ if (trace_state_flag != 1) return;
_sym_glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, (GLint *)initial_fake_ctx->gl_num_tex_units);
_sym_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, (GLint *)initial_fake_ctx->gl_num_vertex_attribs);