[Title] Added a new option 'COREGL_TRACE_MEM_ALL'
authorHaegeun Park <haegeun.park@samsung.com>
Wed, 16 Jan 2013 10:01:34 +0000 (02:01 -0800)
committerHaegeun Park <haegeun.park@samsung.com>
Wed, 16 Jan 2013 12:42:32 +0000 (04:42 -0800)
[Issue#]
[Problem]
[Cause]
[Solution]
- This option enables memory logs at ALL memory allocation/removal.
- The patch includes some modifications to eleminate the 'prevent defects'.

src/coregl_internal.h
src/coregl_trace.c
src/headers/sym_gl.h [changed mode: 0755->0644]
src/modules/fastpath/coregl_fastpath.c [changed mode: 0755->0644]
src/modules/fastpath/coregl_fastpath_gl.c [changed mode: 0755->0644]
src/modules/tracepath/coregl_tracepath.c
src/modules/tracepath/coregl_tracepath_egl.c [changed mode: 0755->0644]
src/modules/tracepath/coregl_tracepath_gl.c [changed mode: 0755->0644]
src/wraps/coregl_egl.c

index fea902c..dc02569 100644 (file)
@@ -83,6 +83,7 @@ extern FILE               *trace_fp;
 extern int                 trace_api_flag;
 extern int                 trace_api_all_flag;
 extern int                 trace_mem_flag;
+extern int                 trace_mem_all_flag;
 extern int                 trace_ctx_flag;
 extern int                 trace_ctx_force_flag;
 extern int                 trace_state_flag;
index 88141ff..9a3c72c 100644 (file)
@@ -9,6 +9,7 @@ int                 trace_api_all_flag = 0;
 int                 trace_ctx_flag = 0;
 int                 trace_ctx_force_flag = 0;
 int                 trace_mem_flag = 0;
+int                 trace_mem_all_flag = 0;
 int                 trace_state_flag = 0;
 
 General_Trace_List *thread_trace_list = NULL;
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 060d140..7c58700 100644 (file)
@@ -100,6 +100,7 @@ init_modules_tracepath()
 #endif
 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
        trace_mem_flag = atoi(get_env_setting("COREGL_TRACE_MEM"));
+       trace_mem_all_flag = atoi(get_env_setting("COREGL_TRACE_MEM_ALL"));
 #endif
 #ifdef COREGL_TRACEPATH_TRACE_CONTEXT_INFO
        trace_ctx_flag = atoi(get_env_setting("COREGL_TRACE_CTX"));
@@ -126,6 +127,7 @@ init_modules_tracepath()
                if (trace_mem_flag == 1)
                {
                        LOG("\E[40;35;1m(MEM)\E[0m ");
+                       if (trace_mem_all_flag == 1) LOG("\E[40;35;1m(MEM-ALL)\E[0m ");
                }
 
                LOG("\E[40;37;1menabled\E[0m\n");
@@ -398,6 +400,9 @@ tracepath_mem_trace_add(const char *desc, int alloc_size)
                AST(mtd->memsize == alloc_size);
 
                AST(mutex_unlock(&mtd_access_mutex) == 1);
+
+               if (trace_mem_all_flag == 1)
+                       _COREGL_TRACE_MEM_OUTPUT(1);
        }
 
 }
@@ -425,6 +430,9 @@ tracepath_mem_trace_remove(const char *desc, int alloc_size)
                mtd->remove_count++;
 
                AST(mutex_unlock(&mtd_access_mutex) == 1);
+
+               if (trace_mem_all_flag == 1)
+                       _COREGL_TRACE_MEM_OUTPUT(1);
        }
 }
 
@@ -528,7 +536,7 @@ tracepath_api_trace_end(const char *funcname, void *hint, int trace_total_time)
                _add_timeval(&ftd->elapsed_time, elapsed_time);
 
                if (elapsed_time.tv_sec >= ftd->elapsed_time_max.tv_sec &&
-                       elapsed_time.tv_usec > ftd->elapsed_time_max.tv_usec)
+                   elapsed_time.tv_usec > ftd->elapsed_time_max.tv_usec)
                {
                        ftd->elapsed_time_max.tv_sec = elapsed_time.tv_sec;
                        ftd->elapsed_time_max.tv_usec = elapsed_time.tv_usec;
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 351e337..45c9f5f
@@ -55,6 +55,7 @@ __removehash_glbuf_object(Glbuf_Data **glbuf, Glbuf_Data **target)
                        *target = NULL;
                        break;
                }
+               prev = data;
                data = data->next;
        }
        goto finish;
index b3f02de..54f1284 100644 (file)
@@ -21,12 +21,12 @@ typedef void (*_eng_fn) (void);
 
 #define INIT_EXPORT()
 
+void *lib_handle = NULL;
+
 __attribute__((constructor))
 int
 coregl_glwrap_init()
 {
-       void *lib_handle = NULL;
-
        lib_handle = dlopen("libCOREGL.so", RTLD_NOW);
        if (!lib_handle)
        {