summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorDaekwang Ryu <dkdk.ryu@samsung.com>2017-05-17 05:46:51 +0000
committerCedric BAIL <cedric.bail@free.fr>2019-08-01 10:42:55 -0700
commitcf818a84be26cd5e2f57cca4b4a8ae9d5b3715f4 (patch)
tree5ddd492300d3b9cc540bf82fa2086f0697fba77a /src/modules
parent1c5fa59ee87866ccecfd7529827211e9b3ebf388 (diff)
evas_gl: implement EvasGL ES 3.2
add a wrapper function for glFramebufferTexture. some bugs were fixed. I tested on Ubuntu 14.04(x64) and nVidia 375 driver with VK-GL-CTS Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D4831
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api.c848
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_gles3_def.h47
2 files changed, 566 insertions, 329 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api.c b/src/modules/evas/engines/gl_common/evas_gl_api.c
index 05ec7ee02c..1494a881bc 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api.c
@@ -801,6 +801,66 @@ _evgl_glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
801} 801}
802 802
803static void 803static void
804_evgl_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
805{
806 EVGL_Resource *rsc;
807 EVGL_Context *ctx;
808
809 if (!(rsc=_evgl_tls_resource_get()))
810 {
811 ERR("Unable to execute GL command. Error retrieving tls");
812 return;
813 }
814
815 if (!rsc->current_eng)
816 {
817 ERR("Unable to retrive Current Engine");
818 return;
819 }
820
821 ctx = rsc->current_ctx;
822 if (!ctx)
823 {
824 ERR("Unable to retrive Current Context");
825 return;
826 }
827
828 if (!_evgl_direct_enabled())
829 {
830 if (ctx->version == EVAS_GL_GLES_2_X)
831 {
832 if (target == GL_FRAMEBUFFER && ctx->current_fbo == 0)
833 {
834 SET_GL_ERROR(GL_INVALID_OPERATION);
835 return;
836 }
837 }
838 else if (ctx->version == EVAS_GL_GLES_3_X)
839 {
840 if (target == GL_DRAW_FRAMEBUFFER || target == GL_FRAMEBUFFER)
841 {
842 if (ctx->current_draw_fbo == 0)
843 {
844 SET_GL_ERROR(GL_INVALID_OPERATION);
845 return;
846 }
847 }
848 else if (target == GL_READ_FRAMEBUFFER)
849 {
850 if (ctx->current_read_fbo == 0)
851 {
852 SET_GL_ERROR(GL_INVALID_OPERATION);
853 return;
854 }
855 }
856 }
857 }
858
859 _gles3_api.glFramebufferTexture(target, attachment, texture, level);
860}
861
862
863static void
804_evgl_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 864_evgl_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
805{ 865{
806 EVGL_Resource *rsc; 866 EVGL_Resource *rsc;
@@ -2724,114 +2784,54 @@ _normal_gles3_api_get(Evas_GL_API *funcs, int minor_version)
2724 2784
2725// GLES 3.0 NEW APIs 2785// GLES 3.0 NEW APIs
2726#define ORD(name) EVAS_API_OVERRIDE(name, funcs, evgl_gles3_) 2786#define ORD(name) EVAS_API_OVERRIDE(name, funcs, evgl_gles3_)
2727 ORD(glBeginQuery); 2787 switch (minor_version)
2728 ORD(glBeginTransformFeedback); 2788 {
2729 ORD(glBindBufferBase); 2789 case 2:
2730 ORD(glBindBufferRange); 2790 ORD(glBlendBarrier);
2731 ORD(glBindSampler); 2791 ORD(glCopyImageSubData);
2732 ORD(glBindTransformFeedback); 2792 ORD(glDebugMessageControl);
2733 ORD(glBindVertexArray); 2793 ORD(glDebugMessageInsert);
2734 ORD(glBlitFramebuffer); 2794 ORD(glDebugMessageCallback);
2735 ORD(glClearBufferfi); 2795 ORD(glGetDebugMessageLog);
2736 ORD(glClearBufferfv); 2796 ORD(glPushDebugGroup);
2737 ORD(glClearBufferiv); 2797 ORD(glPopDebugGroup);
2738 ORD(glClearBufferuiv); 2798 ORD(glObjectLabel);
2739 ORD(glClientWaitSync); 2799 ORD(glGetObjectLabel);
2740 ORD(glCompressedTexImage3D); 2800 ORD(glObjectPtrLabel);
2741 ORD(glCompressedTexSubImage3D); 2801 ORD(glGetObjectPtrLabel);
2742 ORD(glCopyBufferSubData); 2802 ORD(glGetPointerv);
2743 ORD(glCopyTexSubImage3D); 2803 ORD(glEnablei);
2744 ORD(glDeleteQueries); 2804 ORD(glDisablei);
2745 ORD(glDeleteSamplers); 2805 ORD(glBlendEquationi);
2746 ORD(glDeleteSync); 2806 ORD(glBlendEquationSeparatei);
2747 ORD(glDeleteTransformFeedbacks); 2807 ORD(glBlendFunci);
2748 ORD(glDeleteVertexArrays); 2808 ORD(glBlendFuncSeparatei);
2749 ORD(glDrawArraysInstanced); 2809 ORD(glColorMaski);
2750 ORD(glDrawBuffers); 2810 ORD(glIsEnabledi);
2751 ORD(glDrawElementsInstanced); 2811 ORD(glDrawElementsBaseVertex);
2752 ORD(glDrawRangeElements); 2812 ORD(glDrawRangeElementsBaseVertex);
2753 ORD(glEndQuery); 2813 ORD(glDrawElementsInstancedBaseVertex);
2754 ORD(glEndTransformFeedback); 2814 ORD(glFramebufferTexture);
2755 ORD(glFenceSync); 2815 ORD(glPrimitiveBoundingBox);
2756 ORD(glFlushMappedBufferRange); 2816 ORD(glGetGraphicsResetStatus);
2757 ORD(glFramebufferTextureLayer); 2817 ORD(glReadnPixels);
2758 ORD(glGenQueries); 2818 ORD(glGetnUniformfv);
2759 ORD(glGenSamplers); 2819 ORD(glGetnUniformiv);
2760 ORD(glGenTransformFeedbacks); 2820 ORD(glGetnUniformuiv);
2761 ORD(glGenVertexArrays); 2821 ORD(glMinSampleShading);
2762 ORD(glGetActiveUniformBlockiv); 2822 ORD(glPatchParameteri);
2763 ORD(glGetActiveUniformBlockName); 2823 ORD(glTexParameterIiv);
2764 ORD(glGetActiveUniformsiv); 2824 ORD(glTexParameterIuiv);
2765 ORD(glGetBufferParameteri64v); 2825 ORD(glGetTexParameterIiv);
2766 ORD(glGetBufferPointerv); 2826 ORD(glGetTexParameterIuiv);
2767 ORD(glGetFragDataLocation); 2827 ORD(glSamplerParameterIiv);
2768 ORD(glGetInteger64i_v); 2828 ORD(glSamplerParameterIuiv);
2769 ORD(glGetInteger64v); 2829 ORD(glGetSamplerParameterIiv);
2770 ORD(glGetIntegeri_v); 2830 ORD(glGetSamplerParameterIuiv);
2771 ORD(glGetInternalformativ); 2831 ORD(glTexBuffer);
2772 ORD(glGetProgramBinary); 2832 ORD(glTexBufferRange);
2773 ORD(glGetQueryiv); 2833 ORD(glTexStorage3DMultisample);
2774 ORD(glGetQueryObjectuiv); 2834 case 1:
2775 ORD(glGetSamplerParameterfv);
2776 ORD(glGetSamplerParameteriv);
2777 ORD(glGetStringi);
2778 ORD(glGetSynciv);
2779 ORD(glGetTransformFeedbackVarying);
2780 ORD(glGetUniformBlockIndex);
2781 ORD(glGetUniformIndices);
2782 ORD(glGetUniformuiv);
2783 ORD(glGetVertexAttribIiv);
2784 ORD(glGetVertexAttribIuiv);
2785 ORD(glInvalidateFramebuffer);
2786 ORD(glInvalidateSubFramebuffer);
2787 ORD(glIsQuery);
2788 ORD(glIsSampler);
2789 ORD(glIsSync);
2790 ORD(glIsTransformFeedback);
2791 ORD(glIsVertexArray);
2792 ORD(glMapBufferRange);
2793 ORD(glPauseTransformFeedback);
2794 ORD(glProgramBinary);
2795 ORD(glProgramParameteri);
2796 ORD(glReadBuffer);
2797 ORD(glRenderbufferStorageMultisample);
2798 ORD(glResumeTransformFeedback);
2799 ORD(glSamplerParameterf);
2800 ORD(glSamplerParameterfv);
2801 ORD(glSamplerParameteri);
2802 ORD(glSamplerParameteriv);
2803 ORD(glTexImage3D);
2804 ORD(glTexStorage2D);
2805 ORD(glTexStorage3D);
2806 ORD(glTexSubImage3D);
2807 ORD(glTransformFeedbackVaryings);
2808 ORD(glUniform1ui);
2809 ORD(glUniform1uiv);
2810 ORD(glUniform2ui);
2811 ORD(glUniform2uiv);
2812 ORD(glUniform3ui);
2813 ORD(glUniform3uiv);
2814 ORD(glUniform4ui);
2815 ORD(glUniform4uiv);
2816 ORD(glUniformBlockBinding);
2817 ORD(glUniformMatrix2x3fv);
2818 ORD(glUniformMatrix3x2fv);
2819 ORD(glUniformMatrix2x4fv);
2820 ORD(glUniformMatrix4x2fv);
2821 ORD(glUniformMatrix3x4fv);
2822 ORD(glUniformMatrix4x3fv);
2823 ORD(glUnmapBuffer);
2824 ORD(glVertexAttribDivisor);
2825 ORD(glVertexAttribI4i);
2826 ORD(glVertexAttribI4iv);
2827 ORD(glVertexAttribI4ui);
2828 ORD(glVertexAttribI4uiv);
2829 ORD(glVertexAttribIPointer);
2830 ORD(glWaitSync);
2831
2832 if (minor_version > 0)
2833 {
2834 //GLES 3.1
2835 ORD(glDispatchCompute); 2835 ORD(glDispatchCompute);
2836 ORD(glDispatchComputeIndirect); 2836 ORD(glDispatchComputeIndirect);
2837 ORD(glDrawArraysIndirect); 2837 ORD(glDrawArraysIndirect);
@@ -2900,6 +2900,111 @@ _normal_gles3_api_get(Evas_GL_API *funcs, int minor_version)
2900 ORD(glVertexAttribIFormat); 2900 ORD(glVertexAttribIFormat);
2901 ORD(glVertexAttribBinding); 2901 ORD(glVertexAttribBinding);
2902 ORD(glVertexBindingDivisor); 2902 ORD(glVertexBindingDivisor);
2903 case 0:
2904 ORD(glBeginQuery);
2905 ORD(glBeginTransformFeedback);
2906 ORD(glBindBufferBase);
2907 ORD(glBindBufferRange);
2908 ORD(glBindSampler);
2909 ORD(glBindTransformFeedback);
2910 ORD(glBindVertexArray);
2911 ORD(glBlitFramebuffer);
2912 ORD(glClearBufferfi);
2913 ORD(glClearBufferfv);
2914 ORD(glClearBufferiv);
2915 ORD(glClearBufferuiv);
2916 ORD(glClientWaitSync);
2917 ORD(glCompressedTexImage3D);
2918 ORD(glCompressedTexSubImage3D);
2919 ORD(glCopyBufferSubData);
2920 ORD(glCopyTexSubImage3D);
2921 ORD(glDeleteQueries);
2922 ORD(glDeleteSamplers);
2923 ORD(glDeleteSync);
2924 ORD(glDeleteTransformFeedbacks);
2925 ORD(glDeleteVertexArrays);
2926 ORD(glDrawArraysInstanced);
2927 ORD(glDrawBuffers);
2928 ORD(glDrawElementsInstanced);
2929 ORD(glDrawRangeElements);
2930 ORD(glEndQuery);
2931 ORD(glEndTransformFeedback);
2932 ORD(glFenceSync);
2933 ORD(glFlushMappedBufferRange);
2934 ORD(glFramebufferTextureLayer);
2935 ORD(glGenQueries);
2936 ORD(glGenSamplers);
2937 ORD(glGenTransformFeedbacks);
2938 ORD(glGenVertexArrays);
2939 ORD(glGetActiveUniformBlockiv);
2940 ORD(glGetActiveUniformBlockName);
2941 ORD(glGetActiveUniformsiv);
2942 ORD(glGetBufferParameteri64v);
2943 ORD(glGetBufferPointerv);
2944 ORD(glGetFragDataLocation);
2945 ORD(glGetInteger64i_v);
2946 ORD(glGetInteger64v);
2947 ORD(glGetIntegeri_v);
2948 ORD(glGetInternalformativ);
2949 ORD(glGetProgramBinary);
2950 ORD(glGetQueryiv);
2951 ORD(glGetQueryObjectuiv);
2952 ORD(glGetSamplerParameterfv);
2953 ORD(glGetSamplerParameteriv);
2954 ORD(glGetStringi);
2955 ORD(glGetSynciv);
2956 ORD(glGetTransformFeedbackVarying);
2957 ORD(glGetUniformBlockIndex);
2958 ORD(glGetUniformIndices);
2959 ORD(glGetUniformuiv);
2960 ORD(glGetVertexAttribIiv);
2961 ORD(glGetVertexAttribIuiv);
2962 ORD(glInvalidateFramebuffer);
2963 ORD(glInvalidateSubFramebuffer);
2964 ORD(glIsQuery);
2965 ORD(glIsSampler);
2966 ORD(glIsSync);
2967 ORD(glIsTransformFeedback);
2968 ORD(glIsVertexArray);
2969 ORD(glMapBufferRange);
2970 ORD(glPauseTransformFeedback);
2971 ORD(glProgramBinary);
2972 ORD(glProgramParameteri);
2973 ORD(glReadBuffer);
2974 ORD(glRenderbufferStorageMultisample);
2975 ORD(glResumeTransformFeedback);
2976 ORD(glSamplerParameterf);
2977 ORD(glSamplerParameterfv);
2978 ORD(glSamplerParameteri);
2979 ORD(glSamplerParameteriv);
2980 ORD(glTexImage3D);
2981 ORD(glTexStorage2D);
2982 ORD(glTexStorage3D);
2983 ORD(glTexSubImage3D);
2984 ORD(glTransformFeedbackVaryings);
2985 ORD(glUniform1ui);
2986 ORD(glUniform1uiv);
2987 ORD(glUniform2ui);
2988 ORD(glUniform2uiv);
2989 ORD(glUniform3ui);
2990 ORD(glUniform3uiv);
2991 ORD(glUniform4ui);
2992 ORD(glUniform4uiv);
2993 ORD(glUniformBlockBinding);
2994 ORD(glUniformMatrix2x3fv);
2995 ORD(glUniformMatrix3x2fv);
2996 ORD(glUniformMatrix2x4fv);
2997 ORD(glUniformMatrix4x2fv);
2998 ORD(glUniformMatrix3x4fv);
2999 ORD(glUniformMatrix4x3fv);
3000 ORD(glUnmapBuffer);
3001 ORD(glVertexAttribDivisor);
3002 ORD(glVertexAttribI4i);
3003 ORD(glVertexAttribI4iv);
3004 ORD(glVertexAttribI4ui);
3005 ORD(glVertexAttribI4uiv);
3006 ORD(glVertexAttribIPointer);
3007 ORD(glWaitSync);
2903 } 3008 }
2904 3009
2905#undef ORD 3010#undef ORD
@@ -3057,115 +3162,54 @@ _debug_gles3_api_get(Evas_GL_API *funcs, int minor_version)
3057 ORD(glBindFramebuffer); 3162 ORD(glBindFramebuffer);
3058 ORD(glBindRenderbuffer); 3163 ORD(glBindRenderbuffer);
3059 3164
3060 // GLES 3.0 new APIs 3165 switch (minor_version)
3061 ORD(glBeginQuery); 3166 {
3062 ORD(glBeginTransformFeedback); 3167 case 2:
3063 ORD(glBindBufferBase); 3168 ORD(glBlendBarrier);
3064 ORD(glBindBufferRange); 3169 ORD(glCopyImageSubData);
3065 ORD(glBindSampler); 3170 ORD(glDebugMessageControl);
3066 ORD(glBindTransformFeedback); 3171 ORD(glDebugMessageInsert);
3067 ORD(glBindVertexArray); 3172 ORD(glDebugMessageCallback);
3068 ORD(glBlitFramebuffer); 3173 ORD(glGetDebugMessageLog);
3069 ORD(glClearBufferfi); 3174 ORD(glPushDebugGroup);
3070 ORD(glClearBufferfv); 3175 ORD(glPopDebugGroup);
3071 ORD(glClearBufferiv); 3176 ORD(glObjectLabel);
3072 ORD(glClearBufferuiv); 3177 ORD(glGetObjectLabel);
3073 ORD(glClientWaitSync); 3178 ORD(glObjectPtrLabel);
3074 ORD(glCompressedTexImage3D); 3179 ORD(glGetObjectPtrLabel);
3075 ORD(glCompressedTexSubImage3D); 3180 ORD(glGetPointerv);
3076 ORD(glCopyBufferSubData); 3181 ORD(glEnablei);
3077 ORD(glCopyTexSubImage3D); 3182 ORD(glDisablei);
3078 ORD(glDeleteQueries); 3183 ORD(glBlendEquationi);
3079 ORD(glDeleteSamplers); 3184 ORD(glBlendEquationSeparatei);
3080 ORD(glDeleteSync); 3185 ORD(glBlendFunci);
3081 ORD(glDeleteTransformFeedbacks); 3186 ORD(glBlendFuncSeparatei);
3082 ORD(glDeleteVertexArrays); 3187 ORD(glColorMaski);
3083 ORD(glDrawArraysInstanced); 3188 ORD(glIsEnabledi);
3084 ORD(glDrawBuffers); 3189 ORD(glDrawElementsBaseVertex);
3085 ORD(glDrawElementsInstanced); 3190 ORD(glDrawRangeElementsBaseVertex);
3086 ORD(glDrawRangeElements); 3191 ORD(glDrawElementsInstancedBaseVertex);
3087 ORD(glEndQuery); 3192 ORD(glFramebufferTexture);
3088 ORD(glEndTransformFeedback); 3193 ORD(glPrimitiveBoundingBox);
3089 ORD(glFenceSync); 3194 ORD(glGetGraphicsResetStatus);
3090 ORD(glFlushMappedBufferRange); 3195 ORD(glReadnPixels);
3091 ORD(glFramebufferTextureLayer); 3196 ORD(glGetnUniformfv);
3092 ORD(glGenQueries); 3197 ORD(glGetnUniformiv);
3093 ORD(glGenSamplers); 3198 ORD(glGetnUniformuiv);
3094 ORD(glGenTransformFeedbacks); 3199 ORD(glMinSampleShading);
3095 ORD(glGenVertexArrays); 3200 ORD(glPatchParameteri);
3096 ORD(glGetActiveUniformBlockiv); 3201 ORD(glTexParameterIiv);
3097 ORD(glGetActiveUniformBlockName); 3202 ORD(glTexParameterIuiv);
3098 ORD(glGetActiveUniformsiv); 3203 ORD(glGetTexParameterIiv);
3099 ORD(glGetBufferParameteri64v); 3204 ORD(glGetTexParameterIuiv);
3100 ORD(glGetBufferPointerv); 3205 ORD(glSamplerParameterIiv);
3101 ORD(glGetFragDataLocation); 3206 ORD(glSamplerParameterIuiv);
3102 ORD(glGetInteger64i_v); 3207 ORD(glGetSamplerParameterIiv);
3103 ORD(glGetInteger64v); 3208 ORD(glGetSamplerParameterIuiv);
3104 ORD(glGetIntegeri_v); 3209 ORD(glTexBuffer);
3105 ORD(glGetInternalformativ); 3210 ORD(glTexBufferRange);
3106 ORD(glGetProgramBinary); 3211 ORD(glTexStorage3DMultisample);
3107 ORD(glGetQueryiv); 3212 case 1:
3108 ORD(glGetQueryObjectuiv);
3109 ORD(glGetSamplerParameterfv);
3110 ORD(glGetSamplerParameteriv);
3111 ORD(glGetStringi);
3112 ORD(glGetSynciv);
3113 ORD(glGetTransformFeedbackVarying);
3114 ORD(glGetUniformBlockIndex);
3115 ORD(glGetUniformIndices);
3116 ORD(glGetUniformuiv);
3117 ORD(glGetVertexAttribIiv);
3118 ORD(glGetVertexAttribIuiv);
3119 ORD(glInvalidateFramebuffer);
3120 ORD(glInvalidateSubFramebuffer);
3121 ORD(glIsQuery);
3122 ORD(glIsSampler);
3123 ORD(glIsSync);
3124 ORD(glIsTransformFeedback);
3125 ORD(glIsVertexArray);
3126 ORD(glMapBufferRange);
3127 ORD(glPauseTransformFeedback);
3128 ORD(glProgramBinary);
3129 ORD(glProgramParameteri);
3130 ORD(glReadBuffer);
3131 ORD(glRenderbufferStorageMultisample);
3132 ORD(glResumeTransformFeedback);
3133 ORD(glSamplerParameterf);
3134 ORD(glSamplerParameterfv);
3135 ORD(glSamplerParameteri);
3136 ORD(glSamplerParameteriv);
3137 ORD(glTexImage3D);
3138 ORD(glTexStorage2D);
3139 ORD(glTexStorage3D);
3140 ORD(glTexSubImage3D);
3141 ORD(glTransformFeedbackVaryings);
3142 ORD(glUniform1ui);
3143 ORD(glUniform1uiv);
3144 ORD(glUniform2ui);
3145 ORD(glUniform2uiv);
3146 ORD(glUniform3ui);
3147 ORD(glUniform3uiv);
3148 ORD(glUniform4ui);
3149 ORD(glUniform4uiv);
3150 ORD(glUniformBlockBinding);
3151 ORD(glUniformMatrix2x3fv);
3152 ORD(glUniformMatrix3x2fv);
3153 ORD(glUniformMatrix2x4fv);
3154 ORD(glUniformMatrix4x2fv);
3155 ORD(glUniformMatrix3x4fv);
3156 ORD(glUniformMatrix4x3fv);
3157 ORD(glUnmapBuffer);
3158 ORD(glVertexAttribDivisor);
3159 ORD(glVertexAttribI4i);
3160 ORD(glVertexAttribI4iv);
3161 ORD(glVertexAttribI4ui);
3162 ORD(glVertexAttribI4uiv);
3163 ORD(glVertexAttribIPointer);
3164 ORD(glWaitSync);
3165
3166 if (minor_version > 0)
3167 {
3168 //GLES 3.1
3169 ORD(glDispatchCompute); 3213 ORD(glDispatchCompute);
3170 ORD(glDispatchComputeIndirect); 3214 ORD(glDispatchComputeIndirect);
3171 ORD(glDrawArraysIndirect); 3215 ORD(glDrawArraysIndirect);
@@ -3234,6 +3278,111 @@ _debug_gles3_api_get(Evas_GL_API *funcs, int minor_version)
3234 ORD(glVertexAttribIFormat); 3278 ORD(glVertexAttribIFormat);
3235 ORD(glVertexAttribBinding); 3279 ORD(glVertexAttribBinding);
3236 ORD(glVertexBindingDivisor); 3280 ORD(glVertexBindingDivisor);
3281 case 0:
3282 ORD(glBeginQuery);
3283 ORD(glBeginTransformFeedback);
3284 ORD(glBindBufferBase);
3285 ORD(glBindBufferRange);
3286 ORD(glBindSampler);
3287 ORD(glBindTransformFeedback);
3288 ORD(glBindVertexArray);
3289 ORD(glBlitFramebuffer);
3290 ORD(glClearBufferfi);
3291 ORD(glClearBufferfv);
3292 ORD(glClearBufferiv);
3293 ORD(glClearBufferuiv);
3294 ORD(glClientWaitSync);
3295 ORD(glCompressedTexImage3D);
3296 ORD(glCompressedTexSubImage3D);
3297 ORD(glCopyBufferSubData);
3298 ORD(glCopyTexSubImage3D);
3299 ORD(glDeleteQueries);
3300 ORD(glDeleteSamplers);
3301 ORD(glDeleteSync);
3302 ORD(glDeleteTransformFeedbacks);
3303 ORD(glDeleteVertexArrays);
3304 ORD(glDrawArraysInstanced);
3305 ORD(glDrawBuffers);
3306 ORD(glDrawElementsInstanced);
3307 ORD(glDrawRangeElements);
3308 ORD(glEndQuery);
3309 ORD(glEndTransformFeedback);
3310 ORD(glFenceSync);
3311 ORD(glFlushMappedBufferRange);
3312 ORD(glFramebufferTextureLayer);
3313 ORD(glGenQueries);
3314 ORD(glGenSamplers);
3315 ORD(glGenTransformFeedbacks);
3316 ORD(glGenVertexArrays);
3317 ORD(glGetActiveUniformBlockiv);
3318 ORD(glGetActiveUniformBlockName);
3319 ORD(glGetActiveUniformsiv);
3320 ORD(glGetBufferParameteri64v);
3321 ORD(glGetBufferPointerv);
3322 ORD(glGetFragDataLocation);
3323 ORD(glGetInteger64i_v);
3324 ORD(glGetInteger64v);
3325 ORD(glGetIntegeri_v);
3326 ORD(glGetInternalformativ);
3327 ORD(glGetProgramBinary);
3328 ORD(glGetQueryiv);
3329 ORD(glGetQueryObjectuiv);
3330 ORD(glGetSamplerParameterfv);
3331 ORD(glGetSamplerParameteriv);
3332 ORD(glGetStringi);
3333 ORD(glGetSynciv);
3334 ORD(glGetTransformFeedbackVarying);
3335 ORD(glGetUniformBlockIndex);
3336 ORD(glGetUniformIndices);
3337 ORD(glGetUniformuiv);
3338 ORD(glGetVertexAttribIiv);
3339 ORD(glGetVertexAttribIuiv);
3340 ORD(glInvalidateFramebuffer);
3341 ORD(glInvalidateSubFramebuffer);
3342 ORD(glIsQuery);
3343 ORD(glIsSampler);
3344 ORD(glIsSync);
3345 ORD(glIsTransformFeedback);
3346 ORD(glIsVertexArray);
3347 ORD(glMapBufferRange);
3348 ORD(glPauseTransformFeedback);
3349 ORD(glProgramBinary);
3350 ORD(glProgramParameteri);
3351 ORD(glReadBuffer);
3352 ORD(glRenderbufferStorageMultisample);
3353 ORD(glResumeTransformFeedback);
3354 ORD(glSamplerParameterf);
3355 ORD(glSamplerParameterfv);
3356 ORD(glSamplerParameteri);
3357 ORD(glSamplerParameteriv);
3358 ORD(glTexImage3D);
3359 ORD(glTexStorage2D);
3360 ORD(glTexStorage3D);
3361 ORD(glTexSubImage3D);
3362 ORD(glTransformFeedbackVaryings);
3363 ORD(glUniform1ui);
3364 ORD(glUniform1uiv);
3365 ORD(glUniform2ui);
3366 ORD(glUniform2uiv);
3367 ORD(glUniform3ui);
3368 ORD(glUniform3uiv);
3369 ORD(glUniform4ui);
3370 ORD(glUniform4uiv);
3371 ORD(glUniformBlockBinding);
3372 ORD(glUniformMatrix2x3fv);
3373 ORD(glUniformMatrix3x2fv);
3374 ORD(glUniformMatrix2x4fv);
3375 ORD(glUniformMatrix4x2fv);
3376 ORD(glUniformMatrix3x4fv);
3377 ORD(glUniformMatrix4x3fv);
3378 ORD(glUnmapBuffer);
3379 ORD(glVertexAttribDivisor);
3380 ORD(glVertexAttribI4i);
3381 ORD(glVertexAttribI4iv);
3382 ORD(glVertexAttribI4ui);
3383 ORD(glVertexAttribI4uiv);
3384 ORD(glVertexAttribIPointer);
3385 ORD(glWaitSync);
3237 } 3386 }
3238 3387
3239#undef ORD 3388#undef ORD
@@ -3259,118 +3408,54 @@ _evgl_load_gles3_apis(void *dl_handle, Evas_GL_API *funcs, int minor_version,
3259 // Used to update extensions 3408 // Used to update extensions
3260 ORD(glGetString); 3409 ORD(glGetString);
3261 3410
3262 // GLES 3.0 new APIs 3411 switch (minor_version)
3263 ORD(glBeginQuery); 3412 {
3264 ORD(glBeginTransformFeedback); 3413 case 2:
3265 ORD(glBindBufferBase); 3414 ORD(glBlendBarrier);
3266 ORD(glBindBufferRange); 3415 ORD(glCopyImageSubData);
3267 ORD(glBindSampler); 3416 ORD(glDebugMessageControl);
3268 ORD(glBindTransformFeedback); 3417 ORD(glDebugMessageInsert);
3269 ORD(glBindVertexArray); 3418 ORD(glDebugMessageCallback);
3270 ORD(glBlitFramebuffer); 3419 ORD(glGetDebugMessageLog);
3271 ORD(glClearBufferfi); 3420 ORD(glPushDebugGroup);
3272 ORD(glClearBufferfv); 3421 ORD(glPopDebugGroup);
3273 ORD(glClearBufferiv); 3422 ORD(glObjectLabel);
3274 ORD(glClearBufferuiv); 3423 ORD(glGetObjectLabel);
3275 ORD(glClientWaitSync); 3424 ORD(glObjectPtrLabel);
3276 ORD(glCompressedTexImage3D); 3425 ORD(glGetObjectPtrLabel);
3277 ORD(glCompressedTexSubImage3D); 3426 ORD(glGetPointerv);
3278 ORD(glCopyBufferSubData); 3427 ORD(glEnablei);
3279 ORD(glCopyTexSubImage3D); 3428 ORD(glDisablei);
3280 ORD(glDeleteQueries); 3429 ORD(glBlendEquationi);
3281 ORD(glDeleteSamplers); 3430 ORD(glBlendEquationSeparatei);
3282 ORD(glDeleteSync); 3431 ORD(glBlendFunci);
3283 ORD(glDeleteTransformFeedbacks); 3432 ORD(glBlendFuncSeparatei);
3284 ORD(glDeleteVertexArrays); 3433 ORD(glColorMaski);
3285 ORD(glDrawArraysInstanced); 3434 ORD(glIsEnabledi);
3286 ORD(glDrawBuffers); 3435 ORD(glDrawElementsBaseVertex);
3287 ORD(glDrawElementsInstanced); 3436 ORD(glDrawRangeElementsBaseVertex);
3288 ORD(glDrawRangeElements); 3437 ORD(glDrawElementsInstancedBaseVertex);
3289 ORD(glEndQuery); 3438 ORD(glFramebufferTexture);
3290 ORD(glEndTransformFeedback); 3439 ORD(glPrimitiveBoundingBox);
3291 ORD(glFenceSync); 3440 ORD(glGetGraphicsResetStatus);
3292 ORD(glFlushMappedBufferRange); 3441 ORD(glReadnPixels);
3293 ORD(glFramebufferTextureLayer); 3442 ORD(glGetnUniformfv);
3294 ORD(glGenQueries); 3443 ORD(glGetnUniformiv);
3295 ORD(glGenSamplers); 3444 ORD(glGetnUniformuiv);
3296 ORD(glGenTransformFeedbacks); 3445 ORD(glMinSampleShading);
3297 ORD(glGenVertexArrays); 3446 ORD(glPatchParameteri);
3298 ORD(glGetActiveUniformBlockiv); 3447 ORD(glTexParameterIiv);
3299 ORD(glGetActiveUniformBlockName); 3448 ORD(glTexParameterIuiv);
3300 ORD(glGetActiveUniformsiv); 3449 ORD(glGetTexParameterIiv);
3301 ORD(glGetBufferParameteri64v); 3450 ORD(glGetTexParameterIuiv);
3302 ORD(glGetBufferPointerv); 3451 ORD(glSamplerParameterIiv);
3303 ORD(glGetFragDataLocation); 3452 ORD(glSamplerParameterIuiv);
3304 ORD(glGetInteger64i_v); 3453 ORD(glGetSamplerParameterIiv);
3305 ORD(glGetInteger64v); 3454 ORD(glGetSamplerParameterIuiv);
3306 ORD(glGetIntegeri_v); 3455 ORD(glTexBuffer);
3307 ORD(glGetInternalformativ); 3456 ORD(glTexBufferRange);
3308 ORD(glGetProgramBinary); 3457 ORD(glTexStorage3DMultisample);
3309 ORD(glGetQueryiv); 3458 case 1:
3310 ORD(glGetQueryObjectuiv);
3311 ORD(glGetSamplerParameterfv);
3312 ORD(glGetSamplerParameteriv);
3313 ORD(glGetStringi);
3314 ORD(glGetSynciv);
3315 ORD(glGetTransformFeedbackVarying);
3316 ORD(glGetUniformBlockIndex);
3317 ORD(glGetUniformIndices);
3318 ORD(glGetUniformuiv);
3319 ORD(glGetVertexAttribIiv);
3320 ORD(glGetVertexAttribIuiv);
3321 ORD(glInvalidateFramebuffer);
3322 ORD(glInvalidateSubFramebuffer);
3323 ORD(glIsQuery);
3324 ORD(glIsSampler);
3325 ORD(glIsSync);
3326 ORD(glIsTransformFeedback);
3327 ORD(glIsVertexArray);
3328 ORD(glMapBufferRange);
3329 ORD(glPauseTransformFeedback);
3330 ORD(glProgramBinary);
3331 ORD(glProgramParameteri);
3332 ORD(glReadBuffer);
3333 ORD(glRenderbufferStorageMultisample);
3334 ORD(glResumeTransformFeedback);
3335 ORD(glSamplerParameterf);
3336 ORD(glSamplerParameterfv);
3337 ORD(glSamplerParameteri);
3338 ORD(glSamplerParameteriv);
3339 ORD(glTexImage3D);
3340 ORD(glTexStorage2D);
3341 ORD(glTexStorage3D);
3342 ORD(glTexSubImage3D);
3343 ORD(glTransformFeedbackVaryings);
3344 ORD(glUniform1ui);
3345 ORD(glUniform1uiv);
3346 ORD(glUniform2ui);
3347 ORD(glUniform2uiv);
3348 ORD(glUniform3ui);
3349 ORD(glUniform3uiv);
3350 ORD(glUniform4ui);
3351 ORD(glUniform4uiv);
3352 ORD(glUniformBlockBinding);
3353 ORD(glUniformMatrix2x3fv);
3354 ORD(glUniformMatrix3x2fv);
3355 ORD(glUniformMatrix2x4fv);
3356 ORD(glUniformMatrix4x2fv);
3357 ORD(glUniformMatrix3x4fv);
3358 ORD(glUniformMatrix4x3fv);
3359 ORD(glUnmapBuffer);
3360 ORD(glVertexAttribDivisor);
3361 ORD(glVertexAttribI4i);
3362 ORD(glVertexAttribI4iv);
3363 ORD(glVertexAttribI4ui);
3364 ORD(glVertexAttribI4uiv);
3365 ORD(glVertexAttribIPointer);
3366 ORD(glWaitSync);
3367
3368 if (minor_version > 0)
3369 {
3370 // OpenGL ES 3.0 is supported, return true even if 3.1 isn't there
3371 ret_value = EINA_TRUE;
3372
3373 // OpenGL ES 3.1
3374 ORD(glDispatchCompute); 3459 ORD(glDispatchCompute);
3375 ORD(glDispatchComputeIndirect); 3460 ORD(glDispatchComputeIndirect);
3376 ORD(glDrawArraysIndirect); 3461 ORD(glDrawArraysIndirect);
@@ -3439,6 +3524,111 @@ _evgl_load_gles3_apis(void *dl_handle, Evas_GL_API *funcs, int minor_version,
3439 ORD(glVertexAttribIFormat); 3524 ORD(glVertexAttribIFormat);
3440 ORD(glVertexAttribBinding); 3525 ORD(glVertexAttribBinding);
3441 ORD(glVertexBindingDivisor); 3526 ORD(glVertexBindingDivisor);
3527 case 0:
3528 ORD(glBeginQuery);
3529 ORD(glBeginTransformFeedback);
3530 ORD(glBindBufferBase);
3531 ORD(glBindBufferRange);
3532 ORD(glBindSampler);
3533 ORD(glBindTransformFeedback);
3534 ORD(glBindVertexArray);
3535 ORD(glBlitFramebuffer);
3536 ORD(glClearBufferfi);
3537 ORD(glClearBufferfv);
3538 ORD(glClearBufferiv);
3539 ORD(glClearBufferuiv);
3540 ORD(glClientWaitSync);
3541 ORD(glCompressedTexImage3D);
3542 ORD(glCompressedTexSubImage3D);
3543 ORD(glCopyBufferSubData);
3544 ORD(glCopyTexSubImage3D);
3545 ORD(glDeleteQueries);
3546 ORD(glDeleteSamplers);
3547 ORD(glDeleteSync);
3548 ORD(glDeleteTransformFeedbacks);
3549 ORD(glDeleteVertexArrays);
3550 ORD(glDrawArraysInstanced);
3551 ORD(glDrawBuffers);
3552 ORD(glDrawElementsInstanced);
3553 ORD(glDrawRangeElements);
3554 ORD(glEndQuery);
3555 ORD(glEndTransformFeedback);
3556 ORD(glFenceSync);
3557 ORD(glFlushMappedBufferRange);
3558 ORD(glFramebufferTextureLayer);
3559 ORD(glGenQueries);
3560 ORD(glGenSamplers);
3561 ORD(glGenTransformFeedbacks);
3562 ORD(glGenVertexArrays);
3563 ORD(glGetActiveUniformBlockiv);
3564 ORD(glGetActiveUniformBlockName);
3565 ORD(glGetActiveUniformsiv);
3566 ORD(glGetBufferParameteri64v);
3567 ORD(glGetBufferPointerv);
3568 ORD(glGetFragDataLocation);
3569 ORD(glGetInteger64i_v);
3570 ORD(glGetInteger64v);
3571 ORD(glGetIntegeri_v);
3572 ORD(glGetInternalformativ);
3573 ORD(glGetProgramBinary);
3574 ORD(glGetQueryiv);
3575 ORD(glGetQueryObjectuiv);
3576 ORD(glGetSamplerParameterfv);
3577 ORD(glGetSamplerParameteriv);
3578 ORD(glGetStringi);
3579 ORD(glGetSynciv);
3580 ORD(glGetTransformFeedbackVarying);
3581 ORD(glGetUniformBlockIndex);
3582 ORD(glGetUniformIndices);
3583 ORD(glGetUniformuiv);
3584 ORD(glGetVertexAttribIiv);
3585 ORD(glGetVertexAttribIuiv);
3586 ORD(glInvalidateFramebuffer);
3587 ORD(glInvalidateSubFramebuffer);
3588 ORD(glIsQuery);
3589 ORD(glIsSampler);
3590 ORD(glIsSync);
3591 ORD(glIsTransformFeedback);
3592 ORD(glIsVertexArray);
3593 ORD(glMapBufferRange);
3594 ORD(glPauseTransformFeedback);
3595 ORD(glProgramBinary);
3596 ORD(glProgramParameteri);
3597 ORD(glReadBuffer);
3598 ORD(glRenderbufferStorageMultisample);
3599 ORD(glResumeTransformFeedback);
3600 ORD(glSamplerParameterf);
3601 ORD(glSamplerParameterfv);
3602 ORD(glSamplerParameteri);
3603 ORD(glSamplerParameteriv);
3604 ORD(glTexImage3D);
3605 ORD(glTexStorage2D);
3606 ORD(glTexStorage3D);
3607 ORD(glTexSubImage3D);
3608 ORD(glTransformFeedbackVaryings);
3609 ORD(glUniform1ui);
3610 ORD(glUniform1uiv);
3611 ORD(glUniform2ui);
3612 ORD(glUniform2uiv);
3613 ORD(glUniform3ui);
3614 ORD(glUniform3uiv);
3615 ORD(glUniform4ui);
3616 ORD(glUniform4uiv);
3617 ORD(glUniformBlockBinding);
3618 ORD(glUniformMatrix2x3fv);
3619 ORD(glUniformMatrix3x2fv);
3620 ORD(glUniformMatrix2x4fv);
3621 ORD(glUniformMatrix4x2fv);
3622 ORD(glUniformMatrix3x4fv);
3623 ORD(glUniformMatrix4x3fv);
3624 ORD(glUnmapBuffer);
3625 ORD(glVertexAttribDivisor);
3626 ORD(glVertexAttribI4i);
3627 ORD(glVertexAttribI4iv);
3628 ORD(glVertexAttribI4ui);
3629 ORD(glVertexAttribI4uiv);
3630 ORD(glVertexAttribIPointer);
3631 ORD(glWaitSync);
3442 } 3632 }
3443#undef ORD 3633#undef ORD
3444 3634
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_gles3_def.h b/src/modules/evas/engines/gl_common/evas_gl_api_gles3_def.h
index 8d852d67ac..ebd8c5ec22 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_gles3_def.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_gles3_def.h
@@ -4,6 +4,8 @@ _EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glReadBuffer, (GLenum src), (src))
4//GLES 3.1 4//GLES 3.1
5_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glFramebufferParameteri, (GLenum target, GLenum pname, GLint param), (target, pname, param)) 5_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glFramebufferParameteri, (GLenum target, GLenum pname, GLint param), (target, pname, param))
6_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetFramebufferParameteriv, (GLenum target, GLenum pname, GLint *params), (target, pname, params)) 6_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetFramebufferParameteriv, (GLenum target, GLenum pname, GLint *params), (target, pname, params))
7//GLES 3.2
8_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glFramebufferTexture, (GLenum target, GLenum attachment, GLuint texture, GLint level), (target, attachment, texture, level))
7 9
8_EVASGL_FUNCTION_BEGIN_VOID( glBeginQuery, (GLenum target, GLuint id), (target, id)) 10_EVASGL_FUNCTION_BEGIN_VOID( glBeginQuery, (GLenum target, GLuint id), (target, id))
9_EVASGL_FUNCTION_BEGIN_VOID( glBeginTransformFeedback, (GLenum primitiveMode), (primitiveMode)) 11_EVASGL_FUNCTION_BEGIN_VOID( glBeginTransformFeedback, (GLenum primitiveMode), (primitiveMode))
@@ -175,3 +177,48 @@ _EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribFormat, (GLuint attribindex, GLint si
175_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), (attribindex, size, type, relativeoffset)) 177_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), (attribindex, size, type, relativeoffset))
176_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribBinding, (GLuint attribindex, GLuint bindingindex), (attribindex, bindingindex)) 178_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribBinding, (GLuint attribindex, GLuint bindingindex), (attribindex, bindingindex))
177_EVASGL_FUNCTION_BEGIN_VOID( glVertexBindingDivisor, (GLuint bindingindex, GLuint divisor), (bindingindex, divisor)) 179_EVASGL_FUNCTION_BEGIN_VOID( glVertexBindingDivisor, (GLuint bindingindex, GLuint divisor), (bindingindex, divisor))
180
181//GLES 3.2
182_EVASGL_FUNCTION_BEGIN_VOID( glBlendBarrier, (void), ())
183_EVASGL_FUNCTION_BEGIN_VOID( glCopyImageSubData, (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth), (srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth))
184_EVASGL_FUNCTION_BEGIN_VOID( glDebugMessageControl, (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled), (source, type, severity, count, ids, enabled))
185_EVASGL_FUNCTION_BEGIN_VOID( glDebugMessageInsert, (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf), (source, type, id, severity, length, buf))
186_EVASGL_FUNCTION_BEGIN_VOID( glDebugMessageCallback, (void (*callback)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam), const void *userParam), (callback, userParam))
187_EVASGL_FUNCTION_BEGIN (GLuint, glGetDebugMessageLog, (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog), (count, bufSize, sources, types, ids, severities, lengths, messageLog))
188_EVASGL_FUNCTION_BEGIN_VOID( glPushDebugGroup, (GLenum source, GLuint id, GLsizei length, const GLchar *message),(source, id, length, message))
189_EVASGL_FUNCTION_BEGIN_VOID( glPopDebugGroup, (void), ())
190_EVASGL_FUNCTION_BEGIN_VOID( glObjectLabel, (GLenum identifier, GLuint name, GLsizei length, const GLchar *label),(identifier, name, length, label))
191_EVASGL_FUNCTION_BEGIN_VOID( glGetObjectLabel, (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label), (identifier, name, bufSize, length, label))
192_EVASGL_FUNCTION_BEGIN_VOID( glObjectPtrLabel, (const void *ptr, GLsizei length, const GLchar *label), (ptr, length, label))
193_EVASGL_FUNCTION_BEGIN_VOID( glGetObjectPtrLabel, (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label), (ptr, bufSize, length, label))
194_EVASGL_FUNCTION_BEGIN_VOID( glGetPointerv, (GLenum pname, void **params), (pname, params))
195_EVASGL_FUNCTION_BEGIN_VOID( glEnablei, (GLenum target, GLuint index), (target, index))
196_EVASGL_FUNCTION_BEGIN_VOID( glDisablei, (GLenum target, GLuint index), (target, index))
197_EVASGL_FUNCTION_BEGIN_VOID( glBlendEquationi, (GLuint buf, GLenum mode), (buf, mode))
198_EVASGL_FUNCTION_BEGIN_VOID( glBlendEquationSeparatei, (GLuint buf, GLenum modeRGB, GLenum modeAlpha), (buf, modeRGB, modeAlpha))
199_EVASGL_FUNCTION_BEGIN_VOID( glBlendFunci, (GLuint buf, GLenum src, GLenum dst), (buf, src, dst))
200_EVASGL_FUNCTION_BEGIN_VOID( glBlendFuncSeparatei, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), (buf, srcRGB, dstRGB, srcAlpha, dstAlpha))
201_EVASGL_FUNCTION_BEGIN_VOID( glColorMaski, (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a), (index, r, g, b, a))
202_EVASGL_FUNCTION_BEGIN(GLboolean, glIsEnabledi, (GLenum target, GLuint index), (target, index))
203_EVASGL_FUNCTION_BEGIN_VOID( glDrawElementsBaseVertex, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex), (mode, count, type, indices, basevertex))
204_EVASGL_FUNCTION_BEGIN_VOID( glDrawRangeElementsBaseVertex, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex), (mode, start, end, count, type, indices, basevertex))
205_EVASGL_FUNCTION_BEGIN_VOID( glDrawElementsInstancedBaseVertex, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex), (mode, count, type, indices, instancecount, basevertex))
206_EVASGL_FUNCTION_BEGIN_VOID( glPrimitiveBoundingBox, (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW), (minX, minY, minZ, minW, maxX, maxY, maxZ, maxW))
207_EVASGL_FUNCTION_BEGIN(GLenum, glGetGraphicsResetStatus, (void), ())
208_EVASGL_FUNCTION_BEGIN_VOID( glReadnPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data), (x, y, width, height, format, type, bufSize, data))
209_EVASGL_FUNCTION_BEGIN_VOID( glGetnUniformfv, (GLuint program, GLint location, GLsizei bufSize, GLfloat *params), (program, location, bufSize, params))
210_EVASGL_FUNCTION_BEGIN_VOID( glGetnUniformiv, (GLuint program, GLint location, GLsizei bufSize, GLint *params), (program, location, bufSize, params))
211_EVASGL_FUNCTION_BEGIN_VOID( glGetnUniformuiv, (GLuint program, GLint location, GLsizei bufSize, GLuint *params), (program, location, bufSize, params))
212_EVASGL_FUNCTION_BEGIN_VOID( glMinSampleShading, (GLfloat value), (value))
213_EVASGL_FUNCTION_BEGIN_VOID( glPatchParameteri, (GLenum pname, GLint value), (pname, value))
214_EVASGL_FUNCTION_BEGIN_VOID( glTexParameterIiv, (GLenum target, GLenum pname, const GLint *params), (target, pname, params))
215_EVASGL_FUNCTION_BEGIN_VOID( glTexParameterIuiv, (GLenum target, GLenum pname, const GLuint *params), (target, pname, params))
216_EVASGL_FUNCTION_BEGIN_VOID( glGetTexParameterIiv, (GLenum target, GLenum pname, GLint *params), (target, pname, params))
217_EVASGL_FUNCTION_BEGIN_VOID( glGetTexParameterIuiv, (GLenum target, GLenum pname, GLuint *params), (target, pname, params))
218_EVASGL_FUNCTION_BEGIN_VOID( glSamplerParameterIiv, (GLuint sampler, GLenum pname, const GLint *param), (sampler, pname, param))
219_EVASGL_FUNCTION_BEGIN_VOID( glSamplerParameterIuiv, (GLuint sampler, GLenum pname, const GLuint *param), (sampler, pname, param))
220_EVASGL_FUNCTION_BEGIN_VOID( glGetSamplerParameterIiv, (GLuint sampler, GLenum pname, GLint *params), (sampler, pname, params))
221_EVASGL_FUNCTION_BEGIN_VOID( glGetSamplerParameterIuiv, (GLuint sampler, GLenum pname, GLuint *params), (sampler, pname, params))
222_EVASGL_FUNCTION_BEGIN_VOID( glTexBuffer, (GLenum target, GLenum internalformat, GLuint buffer), (target, internalformat, buffer))
223_EVASGL_FUNCTION_BEGIN_VOID( glTexBufferRange, (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size), (target, internalformat, buffer, offset, size))
224_EVASGL_FUNCTION_BEGIN_VOID( glTexStorage3DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations), (target, samples, internalformat, width, height, depth, fixedsamplelocations))