GLenum format;
GLenum type;
const void* pixels;
+ int command_allocated;
+ GLTEXIMAGE2D_COPY_VARIABLE; /* TODO */
} EVGL_API_Thread_Command_glTexImage2D;
thread_data->type,
thread_data->pixels);
+ GLTEXIMAGE2D_COPY_VARIABLE_FREE; /* TODO */
+
+ if (thread_data->command_allocated)
+ eina_mempool_free(_mp_command, thread_data);
}
EAPI void
EVGL_API_Thread_Command_glTexImage2D thread_data_local;
EVGL_API_Thread_Command_glTexImage2D *thread_data = &thread_data_local;
+ /* command_allocated flag init. */
+ thread_data->command_allocated = 0;
+
+ if (!evas_gl_thread_force_finish())
+ { /* _flush */
+ EVGL_API_Thread_Command_glTexImage2D *thread_data_new;
+ thread_data_new = eina_mempool_malloc(_mp_command,
+ sizeof(EVGL_API_Thread_Command_glTexImage2D));
+ if (thread_data_new)
+ {
+ thread_data = thread_data_new;
+ thread_data->command_allocated = 1;
+ thread_mode = EVAS_GL_THREAD_MODE_FLUSH;
+ }
+ }
+
thread_data->target = target;
thread_data->level = level;
thread_data->internalformat = internalformat;
thread_data->type = type;
thread_data->pixels = pixels;
+ GLTEXIMAGE2D_COPY_VARIABLE_INIT; /* TODO */
+
+ if (thread_mode == EVAS_GL_THREAD_MODE_FINISH)
+ goto finish;
+
+ GLTEXIMAGE2D_COPY_TO_MEMPOOL; /* TODO */
+
+finish:
evas_gl_thread_cmd_enqueue(EVAS_GL_THREAD_TYPE_EVGL,
_evgl_api_thread_glTexImage2D,
thread_data,
GLenum format;
GLenum type;
const void *pixels;
+ int command_allocated;
+ GLTEXIMAGE2D_COPY_VARIABLE; /* TODO */
} EVGL_Thread_Command_glTexImage2D;
thread_data->type,
thread_data->pixels);
+ GLTEXIMAGE2D_COPY_VARIABLE_FREE; /* TODO */
+
+ if (thread_data->command_allocated)
+ eina_mempool_free(_mp_command, thread_data);
}
EAPI void
EVGL_Thread_Command_glTexImage2D thread_data_local;
EVGL_Thread_Command_glTexImage2D *thread_data = &thread_data_local;
+ /* command_allocated flag init. */
+ thread_data->command_allocated = 0;
+
+ if (!evas_gl_thread_force_finish())
+ { /* _flush */
+ EVGL_Thread_Command_glTexImage2D *thread_data_new;
+ thread_data_new = eina_mempool_malloc(_mp_command,
+ sizeof(EVGL_Thread_Command_glTexImage2D));
+ if (thread_data_new)
+ {
+ thread_data = thread_data_new;
+ thread_data->command_allocated = 1;
+ thread_mode = EVAS_GL_THREAD_MODE_FLUSH;
+ }
+ }
+
thread_data->target = target;
thread_data->level = level;
thread_data->internalformat = internalformat;
thread_data->type = type;
thread_data->pixels = pixels;
+ GLTEXIMAGE2D_COPY_VARIABLE_INIT; /* TODO */
+
+ if (thread_mode == EVAS_GL_THREAD_MODE_FINISH)
+ goto finish;
+
+ GLTEXIMAGE2D_COPY_TO_MEMPOOL; /* TODO */
+
+finish:
evas_gl_thread_cmd_enqueue(EVAS_GL_THREAD_TYPE_EVGL,
_evgl_thread_glTexImage2D,
thread_data,
GLenum format;
GLenum type;
const void *pixels;
+ int command_allocated;
+ GLTEXIMAGE2D_COPY_VARIABLE; /* TODO */
} Evas_Thread_Command_glTexImage2D;
thread_data->type,
thread_data->pixels);
+ GLTEXIMAGE2D_COPY_VARIABLE_FREE; /* TODO */
+
+ if (thread_data->command_allocated)
+ eina_mempool_free(_mp_command, thread_data);
}
EAPI void
Evas_Thread_Command_glTexImage2D thread_data_local;
Evas_Thread_Command_glTexImage2D *thread_data = &thread_data_local;
+ /* command_allocated flag init. */
+ thread_data->command_allocated = 0;
+
+ if (!evas_gl_thread_force_finish())
+ { /* _flush */
+ Evas_Thread_Command_glTexImage2D *thread_data_new;
+ thread_data_new = eina_mempool_malloc(_mp_command,
+ sizeof(Evas_Thread_Command_glTexImage2D));
+ if (thread_data_new)
+ {
+ thread_data = thread_data_new;
+ thread_data->command_allocated = 1;
+ thread_mode = EVAS_GL_THREAD_MODE_FLUSH;
+ }
+ }
+
thread_data->target = target;
thread_data->level = level;
thread_data->internalformat = internalformat;
thread_data->type = type;
thread_data->pixels = pixels;
+ GLTEXIMAGE2D_COPY_VARIABLE_INIT; /* TODO */
+
+ if (thread_mode == EVAS_GL_THREAD_MODE_FINISH)
+ goto finish;
+
+ GLTEXIMAGE2D_COPY_TO_MEMPOOL; /* TODO */
+
+finish:
evas_gl_thread_cmd_enqueue(EVAS_GL_THREAD_TYPE_GL,
_gl_thread_glTexImage2D,
thread_data,
# Texture Image Specification
-| EVAS | void | glTexImage2D | GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const void *pixels | finish | noext | userDefined | |
+| EVAS | void | glTexImage2D | GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const void *pixels | flush | noext | userDefined | |
| EVAS | void | glTexSubImage2D | GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,const void *pixels | flush | noext | userDefined | |
# Compressed Texture Images
# Texture Image Specification
-| EVAS GL | void | glTexImage2D | GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const void *pixels | finish | noext | userDefined | |
+| EVAS GL | void | glTexImage2D | GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const void *pixels | flush | noext | userDefined | |
| EVAS GL | void | glTexSubImage2D | GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,const void *pixels | flush | noext | userDefined | |
# Compressed Texture Images
| EVAS GL API | void | glStencilMaskSeparate | GLenum face, GLuint mask | finish | noext | | |
| EVAS GL API | void | glStencilOp | GLenum fail, GLenum zfail, GLenum zpass | finish | noext | | |
| EVAS GL API | void | glStencilOpSeparate | GLenum face, GLenum fail, GLenum zfail, GLenum zpass | finish | noext | | |
-| EVAS GL API | void | glTexImage2D | GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels | finish | noext | userDefined | |
+| EVAS GL API | void | glTexImage2D | GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels | flush | noext | userDefined | |
| EVAS GL API | void | glTexParameterf | GLenum target, GLenum pname, GLfloat param | flush | noext | | |
| EVAS GL API | void | glTexParameterfv | GLenum target, GLenum pname, const GLfloat* params | flush | noext | _mp_default, sizeof(GLfloat), params | |
| EVAS GL API | void | glTexParameteri | GLenum target, GLenum pname, GLint param | flush | noext | | |