summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-10-24 22:56:51 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-11-14 10:43:00 +0900
commitd2aee4e5caf8765923ca5ff41676195a2fed3146 (patch)
tree1275ce9f2b79396e7e3a5d99dea5d5f119fc7105
parent56a64756eb727393092aacb0ce48429fab4a5591 (diff)
Evas GL: Add support for some required extensions
- debug - debug_label - debug_marker
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext.c6
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h107
2 files changed, 108 insertions, 5 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_ext.c b/src/modules/evas/engines/gl_common/evas_gl_api_ext.c
index 69175a67a9..e39224132c 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_ext.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_ext.c
@@ -325,8 +325,14 @@ re->info->info.screen);
325 } \ 325 } \
326 else evgl_safe_extension_add(name, NULL); 326 else evgl_safe_extension_add(name, NULL);
327 327
328#ifdef _EVASGL_EXT_FUNCTION_WHITELIST
329# undef _EVASGL_EXT_FUNCTION_WHITELIST
330#endif
331#define _EVASGL_EXT_FUNCTION_WHITELIST(name) evgl_safe_extension_add(name, NULL);
332
328#include "evas_gl_api_ext_def.h" 333#include "evas_gl_api_ext_def.h"
329 334
335#undef _EVASGL_EXT_FUNCTION_WHITELIST
330#undef _EVASGL_EXT_CHECK_SUPPORT 336#undef _EVASGL_EXT_CHECK_SUPPORT
331#undef _EVASGL_EXT_DISCARD_SUPPORT 337#undef _EVASGL_EXT_DISCARD_SUPPORT
332#undef _EVASGL_EXT_BEGIN 338#undef _EVASGL_EXT_BEGIN
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h b/src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h
index 637f2972af..3e48845027 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h
@@ -51,6 +51,10 @@
51# define _EVASGL_EXT_WHITELIST_ONLY 1 51# define _EVASGL_EXT_WHITELIST_ONLY 1
52#endif 52#endif
53 53
54#ifndef _EVASGL_EXT_FUNCTION_WHITELIST
55# define _EVASGL_EXT_FUNCTION_WHITELIST(name)
56#endif
57
54/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 58///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
55// GL/GLES EXTENSIONS 59// GL/GLES EXTENSIONS
56/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 60///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1092,16 +1096,109 @@ _EVASGL_EXT_END()
1092#if _EVASGL_EXT_WHITELIST_ONLY 1096#if _EVASGL_EXT_WHITELIST_ONLY
1093 1097
1094// TODO: Remove this function. Not actually supported. Just for debugging. 1098// TODO: Remove this function. Not actually supported. Just for debugging.
1095_EVASGL_EXT_BEGIN(ARB_blend_func_extended) 1099_EVASGL_EXT_BEGIN(debug)
1096 _EVASGL_EXT_DRVNAME(GL_ARB_blend_func_extended) 1100_EVASGL_EXT_DRVNAME(GL_KHR_debug)
1101
1102_EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageControl")
1103_EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageControlKHR")
1104
1105_EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageInsert")
1106_EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageInsertKHR")
1107
1108_EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageCallback")
1109_EVASGL_EXT_FUNCTION_WHITELIST("glDebugMessageCallbackKHR")
1110
1111_EVASGL_EXT_FUNCTION_WHITELIST("glGetDebugMessageLog")
1112_EVASGL_EXT_FUNCTION_WHITELIST("glGetDebugMessageLogKHR")
1113
1114_EVASGL_EXT_FUNCTION_WHITELIST("glGetPointerv")
1115_EVASGL_EXT_FUNCTION_WHITELIST("glGetPointervKHR")
1116
1117_EVASGL_EXT_FUNCTION_WHITELIST("glPushDebugGroup")
1118_EVASGL_EXT_FUNCTION_WHITELIST("glPushDebugGroupKHR")
1119
1120_EVASGL_EXT_FUNCTION_WHITELIST("glPopDebugGroup")
1121_EVASGL_EXT_FUNCTION_WHITELIST("glPopDebugGroupKHR")
1122
1123_EVASGL_EXT_FUNCTION_WHITELIST("glObjectLabel")
1124_EVASGL_EXT_FUNCTION_WHITELIST("glObjectLabelKHR")
1125
1126_EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabel")
1127_EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabelKHR")
1128
1129_EVASGL_EXT_FUNCTION_WHITELIST("glObjectPtrLabel")
1130_EVASGL_EXT_FUNCTION_WHITELIST("glObjectPtrLabelKHR")
1131
1132_EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectPtrLabel")
1133_EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectPtrLabelKHR")
1134
1135_EVASGL_EXT_END()
1136
1137
1138_EVASGL_EXT_BEGIN(debug_label)
1139_EVASGL_EXT_DRVNAME(GL_EXT_debug_label)
1140
1141_EVASGL_EXT_FUNCTION_WHITELIST("glLabelObject")
1142_EVASGL_EXT_FUNCTION_WHITELIST("glLabelObjectEXT")
1143
1144_EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabel")
1145_EVASGL_EXT_FUNCTION_WHITELIST("glGetObjectLabelEXT")
1146
1147_EVASGL_EXT_END()
1148
1149
1150_EVASGL_EXT_BEGIN(debug_marker)
1151_EVASGL_EXT_DRVNAME(GL_EXT_debug_marker)
1152
1153_EVASGL_EXT_FUNCTION_WHITELIST("glInsertEventMarker")
1154_EVASGL_EXT_FUNCTION_WHITELIST("glInsertEventMarkerEXT")
1155
1156_EVASGL_EXT_FUNCTION_WHITELIST("glPushGroupMarker")
1157_EVASGL_EXT_FUNCTION_WHITELIST("glPushGroupMarkerEXT")
1158
1159_EVASGL_EXT_FUNCTION_WHITELIST("glPopGroupMarker")
1160_EVASGL_EXT_FUNCTION_WHITELIST("glPopGroupMarkerEXT")
1097 1161
1098 _EVASGL_EXT_FUNCTION_BEGIN(int, glGetFragDataIndex, (uint program, const char * name))
1099 _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR("glGetFragDataIndex")
1100 _EVASGL_EXT_FUNCTION_END()
1101_EVASGL_EXT_END() 1162_EVASGL_EXT_END()
1102 1163
1103#endif // _EVASGL_EXT_WHITELIST_ONLY ("safe" extensions) 1164#endif // _EVASGL_EXT_WHITELIST_ONLY ("safe" extensions)
1104 1165
1166#if 0
1167// requested extensions
1168/* GL_EXT_debug_marker */
1169void (*glPushGroupMarkerEXT)(int len, const char* name);
1170void (*glPopGroupMarkerEXT)();
1171
1172
1173/* GL_QCOM_alpha_test */
1174void (*glAlphaFuncQCOM)(GLenum func, GLfloat ref);
1175
1176
1177/* GL_EXT_disjoint_timer_query */
1178void (*glQueryCounterEXT)(GLuint target, GLuint id);
1179void (*glGetQueryObjectui64vEXT)(GLuint id, GLuint pname, EvasGLuint64* params);
1180
1181
1182/* GL_EXT_occlusion_query_boolean */
1183void (*glGenQueriesEXT)(GLsizei n, GLuint* ids);
1184void (*glDeleteQueriesEXT)(GLsizei n, const GLuint* ids);
1185void (*glBeginQueryEXT) (GLenum target, GLuint id);
1186void (*glEndQueryEXT) (GLenum target);
1187void (*glGetQueryObjectuivEXT)(GLuint id, GLenum pname, GLuint* params);
1188
1189
1190/* GL_NV_draw_buffers */
1191void (*glDrawBuffersNV)(GLsizei n, const GLenum* bufs);
1192
1193
1194/* GL_NV_read_buffer */
1195void (*glReadBufferNV) (GLenum mode);
1196
1197
1198/* GL_NV_framebuffer_blit */
1199void (*glBlitFramebufferNV) (int srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1200#endif
1201
1105/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 1202///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1106 1203
1107 1204