YaGL: More uniform APIs implemented 44/13144/1
authorStanislav Vorobiov <s.vorobiov@samsung.com>
Mon, 11 Nov 2013 10:25:59 +0000 (14:25 +0400)
committerStanislav Vorobiov <s.vorobiov@samsung.com>
Mon, 11 Nov 2013 10:25:59 +0000 (14:25 +0400)
glGetUniformBlockIndex and glUniformBlockBinding implemented

Change-Id: Ia9f3bdefe1208ea7d0216a1367a1be279fd962ae

hw/yagl_apis/gles/yagl_gles_calls.c
hw/yagl_apis/gles/yagl_host_gles_calls.c
hw/yagl_apis/gles/yagl_host_gles_calls.h
hw/yagl_drivers/gles_ogl/yagl_gles_ogl.c
hw/yagl_gles_driver.h

index 7ff2d5419cb501be21a92ff45dfb3c2eae90cf60..bbb19ae0cdc7ee4d9b0d96a3acff67ddaf1102f6 100644 (file)
@@ -474,7 +474,47 @@ static bool yagl_func_glBufferSubData(struct yagl_transport *t)
 }
 
 /*
- * glGenTextures dispatcher. id = 24
+ * glBindBufferBase dispatcher. id = 24
+ */
+static bool yagl_func_glBindBufferBase(struct yagl_transport *t)
+{
+    GLenum target;
+    GLuint index;
+    GLuint buffer;
+    target = yagl_transport_get_out_GLenum(t);
+    index = yagl_transport_get_out_GLuint(t);
+    buffer = yagl_transport_get_out_GLuint(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT3(glBindBufferBase, GLenum, GLuint, GLuint, target, index, buffer);
+    (void)yagl_host_glBindBufferBase(target, index, buffer);
+    YAGL_LOG_FUNC_EXIT(NULL);
+
+    return true;
+}
+
+/*
+ * glBindBufferRange dispatcher. id = 25
+ */
+static bool yagl_func_glBindBufferRange(struct yagl_transport *t)
+{
+    GLenum target;
+    GLuint index;
+    GLuint buffer;
+    GLint offset;
+    GLsizei size;
+    target = yagl_transport_get_out_GLenum(t);
+    index = yagl_transport_get_out_GLuint(t);
+    buffer = yagl_transport_get_out_GLuint(t);
+    offset = yagl_transport_get_out_GLint(t);
+    size = yagl_transport_get_out_GLsizei(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT5(glBindBufferRange, GLenum, GLuint, GLuint, GLint, GLsizei, target, index, buffer, offset, size);
+    (void)yagl_host_glBindBufferRange(target, index, buffer, offset, size);
+    YAGL_LOG_FUNC_EXIT(NULL);
+
+    return true;
+}
+
+/*
+ * glGenTextures dispatcher. id = 26
  */
 static bool yagl_func_glGenTextures(struct yagl_transport *t)
 {
@@ -491,7 +531,7 @@ static bool yagl_func_glGenTextures(struct yagl_transport *t)
 }
 
 /*
- * glBindTexture dispatcher. id = 25
+ * glBindTexture dispatcher. id = 27
  */
 static bool yagl_func_glBindTexture(struct yagl_transport *t)
 {
@@ -507,7 +547,7 @@ static bool yagl_func_glBindTexture(struct yagl_transport *t)
 }
 
 /*
- * glActiveTexture dispatcher. id = 26
+ * glActiveTexture dispatcher. id = 28
  */
 static bool yagl_func_glActiveTexture(struct yagl_transport *t)
 {
@@ -521,7 +561,7 @@ static bool yagl_func_glActiveTexture(struct yagl_transport *t)
 }
 
 /*
- * glCompressedTexImage2D dispatcher. id = 27
+ * glCompressedTexImage2D dispatcher. id = 29
  */
 static bool yagl_func_glCompressedTexImage2D(struct yagl_transport *t)
 {
@@ -550,7 +590,7 @@ static bool yagl_func_glCompressedTexImage2D(struct yagl_transport *t)
 }
 
 /*
- * glCompressedTexSubImage2D dispatcher. id = 28
+ * glCompressedTexSubImage2D dispatcher. id = 30
  */
 static bool yagl_func_glCompressedTexSubImage2D(struct yagl_transport *t)
 {
@@ -581,7 +621,7 @@ static bool yagl_func_glCompressedTexSubImage2D(struct yagl_transport *t)
 }
 
 /*
- * glCopyTexImage2D dispatcher. id = 29
+ * glCopyTexImage2D dispatcher. id = 31
  */
 static bool yagl_func_glCopyTexImage2D(struct yagl_transport *t)
 {
@@ -609,7 +649,7 @@ static bool yagl_func_glCopyTexImage2D(struct yagl_transport *t)
 }
 
 /*
- * glCopyTexSubImage2D dispatcher. id = 30
+ * glCopyTexSubImage2D dispatcher. id = 32
  */
 static bool yagl_func_glCopyTexSubImage2D(struct yagl_transport *t)
 {
@@ -637,7 +677,7 @@ static bool yagl_func_glCopyTexSubImage2D(struct yagl_transport *t)
 }
 
 /*
- * glGetTexParameterfv dispatcher. id = 31
+ * glGetTexParameterfv dispatcher. id = 33
  */
 static bool yagl_func_glGetTexParameterfv(struct yagl_transport *t)
 {
@@ -655,7 +695,7 @@ static bool yagl_func_glGetTexParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glGetTexParameteriv dispatcher. id = 32
+ * glGetTexParameteriv dispatcher. id = 34
  */
 static bool yagl_func_glGetTexParameteriv(struct yagl_transport *t)
 {
@@ -673,7 +713,7 @@ static bool yagl_func_glGetTexParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glTexImage2D dispatcher. id = 33
+ * glTexImage2D dispatcher. id = 35
  */
 static bool yagl_func_glTexImage2D(struct yagl_transport *t)
 {
@@ -706,7 +746,7 @@ static bool yagl_func_glTexImage2D(struct yagl_transport *t)
 }
 
 /*
- * glTexParameterf dispatcher. id = 34
+ * glTexParameterf dispatcher. id = 36
  */
 static bool yagl_func_glTexParameterf(struct yagl_transport *t)
 {
@@ -724,7 +764,7 @@ static bool yagl_func_glTexParameterf(struct yagl_transport *t)
 }
 
 /*
- * glTexParameterfv dispatcher. id = 35
+ * glTexParameterfv dispatcher. id = 37
  */
 static bool yagl_func_glTexParameterfv(struct yagl_transport *t)
 {
@@ -745,7 +785,7 @@ static bool yagl_func_glTexParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glTexParameteri dispatcher. id = 36
+ * glTexParameteri dispatcher. id = 38
  */
 static bool yagl_func_glTexParameteri(struct yagl_transport *t)
 {
@@ -763,7 +803,7 @@ static bool yagl_func_glTexParameteri(struct yagl_transport *t)
 }
 
 /*
- * glTexParameteriv dispatcher. id = 37
+ * glTexParameteriv dispatcher. id = 39
  */
 static bool yagl_func_glTexParameteriv(struct yagl_transport *t)
 {
@@ -784,7 +824,7 @@ static bool yagl_func_glTexParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glTexSubImage2D dispatcher. id = 38
+ * glTexSubImage2D dispatcher. id = 40
  */
 static bool yagl_func_glTexSubImage2D(struct yagl_transport *t)
 {
@@ -817,7 +857,7 @@ static bool yagl_func_glTexSubImage2D(struct yagl_transport *t)
 }
 
 /*
- * glClientActiveTexture dispatcher. id = 39
+ * glClientActiveTexture dispatcher. id = 41
  */
 static bool yagl_func_glClientActiveTexture(struct yagl_transport *t)
 {
@@ -831,7 +871,7 @@ static bool yagl_func_glClientActiveTexture(struct yagl_transport *t)
 }
 
 /*
- * glTexEnvi dispatcher. id = 40
+ * glTexEnvi dispatcher. id = 42
  */
 static bool yagl_func_glTexEnvi(struct yagl_transport *t)
 {
@@ -849,7 +889,7 @@ static bool yagl_func_glTexEnvi(struct yagl_transport *t)
 }
 
 /*
- * glTexEnvf dispatcher. id = 41
+ * glTexEnvf dispatcher. id = 43
  */
 static bool yagl_func_glTexEnvf(struct yagl_transport *t)
 {
@@ -867,7 +907,7 @@ static bool yagl_func_glTexEnvf(struct yagl_transport *t)
 }
 
 /*
- * glMultiTexCoord4f dispatcher. id = 42
+ * glMultiTexCoord4f dispatcher. id = 44
  */
 static bool yagl_func_glMultiTexCoord4f(struct yagl_transport *t)
 {
@@ -889,7 +929,7 @@ static bool yagl_func_glMultiTexCoord4f(struct yagl_transport *t)
 }
 
 /*
- * glTexEnviv dispatcher. id = 43
+ * glTexEnviv dispatcher. id = 45
  */
 static bool yagl_func_glTexEnviv(struct yagl_transport *t)
 {
@@ -910,7 +950,7 @@ static bool yagl_func_glTexEnviv(struct yagl_transport *t)
 }
 
 /*
- * glTexEnvfv dispatcher. id = 44
+ * glTexEnvfv dispatcher. id = 46
  */
 static bool yagl_func_glTexEnvfv(struct yagl_transport *t)
 {
@@ -931,7 +971,7 @@ static bool yagl_func_glTexEnvfv(struct yagl_transport *t)
 }
 
 /*
- * glGetTexEnviv dispatcher. id = 45
+ * glGetTexEnviv dispatcher. id = 47
  */
 static bool yagl_func_glGetTexEnviv(struct yagl_transport *t)
 {
@@ -954,7 +994,7 @@ static bool yagl_func_glGetTexEnviv(struct yagl_transport *t)
 }
 
 /*
- * glGetTexEnvfv dispatcher. id = 46
+ * glGetTexEnvfv dispatcher. id = 48
  */
 static bool yagl_func_glGetTexEnvfv(struct yagl_transport *t)
 {
@@ -977,7 +1017,7 @@ static bool yagl_func_glGetTexEnvfv(struct yagl_transport *t)
 }
 
 /*
- * glGenFramebuffers dispatcher. id = 47
+ * glGenFramebuffers dispatcher. id = 49
  */
 static bool yagl_func_glGenFramebuffers(struct yagl_transport *t)
 {
@@ -994,7 +1034,7 @@ static bool yagl_func_glGenFramebuffers(struct yagl_transport *t)
 }
 
 /*
- * glBindFramebuffer dispatcher. id = 48
+ * glBindFramebuffer dispatcher. id = 50
  */
 static bool yagl_func_glBindFramebuffer(struct yagl_transport *t)
 {
@@ -1010,7 +1050,7 @@ static bool yagl_func_glBindFramebuffer(struct yagl_transport *t)
 }
 
 /*
- * glFramebufferTexture2D dispatcher. id = 49
+ * glFramebufferTexture2D dispatcher. id = 51
  */
 static bool yagl_func_glFramebufferTexture2D(struct yagl_transport *t)
 {
@@ -1032,7 +1072,7 @@ static bool yagl_func_glFramebufferTexture2D(struct yagl_transport *t)
 }
 
 /*
- * glFramebufferRenderbuffer dispatcher. id = 50
+ * glFramebufferRenderbuffer dispatcher. id = 52
  */
 static bool yagl_func_glFramebufferRenderbuffer(struct yagl_transport *t)
 {
@@ -1052,7 +1092,7 @@ static bool yagl_func_glFramebufferRenderbuffer(struct yagl_transport *t)
 }
 
 /*
- * glBlitFramebuffer dispatcher. id = 51
+ * glBlitFramebuffer dispatcher. id = 53
  */
 static bool yagl_func_glBlitFramebuffer(struct yagl_transport *t)
 {
@@ -1084,7 +1124,7 @@ static bool yagl_func_glBlitFramebuffer(struct yagl_transport *t)
 }
 
 /*
- * glDrawBuffers dispatcher. id = 52
+ * glDrawBuffers dispatcher. id = 54
  */
 static bool yagl_func_glDrawBuffers(struct yagl_transport *t)
 {
@@ -1101,7 +1141,7 @@ static bool yagl_func_glDrawBuffers(struct yagl_transport *t)
 }
 
 /*
- * glGenRenderbuffers dispatcher. id = 53
+ * glGenRenderbuffers dispatcher. id = 55
  */
 static bool yagl_func_glGenRenderbuffers(struct yagl_transport *t)
 {
@@ -1118,7 +1158,7 @@ static bool yagl_func_glGenRenderbuffers(struct yagl_transport *t)
 }
 
 /*
- * glBindRenderbuffer dispatcher. id = 54
+ * glBindRenderbuffer dispatcher. id = 56
  */
 static bool yagl_func_glBindRenderbuffer(struct yagl_transport *t)
 {
@@ -1134,7 +1174,7 @@ static bool yagl_func_glBindRenderbuffer(struct yagl_transport *t)
 }
 
 /*
- * glRenderbufferStorage dispatcher. id = 55
+ * glRenderbufferStorage dispatcher. id = 57
  */
 static bool yagl_func_glRenderbufferStorage(struct yagl_transport *t)
 {
@@ -1154,7 +1194,7 @@ static bool yagl_func_glRenderbufferStorage(struct yagl_transport *t)
 }
 
 /*
- * glGetRenderbufferParameteriv dispatcher. id = 56
+ * glGetRenderbufferParameteriv dispatcher. id = 58
  */
 static bool yagl_func_glGetRenderbufferParameteriv(struct yagl_transport *t)
 {
@@ -1172,7 +1212,7 @@ static bool yagl_func_glGetRenderbufferParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glCreateProgram dispatcher. id = 57
+ * glCreateProgram dispatcher. id = 59
  */
 static bool yagl_func_glCreateProgram(struct yagl_transport *t)
 {
@@ -1186,7 +1226,7 @@ static bool yagl_func_glCreateProgram(struct yagl_transport *t)
 }
 
 /*
- * glCreateShader dispatcher. id = 58
+ * glCreateShader dispatcher. id = 60
  */
 static bool yagl_func_glCreateShader(struct yagl_transport *t)
 {
@@ -1202,7 +1242,7 @@ static bool yagl_func_glCreateShader(struct yagl_transport *t)
 }
 
 /*
- * glShaderSource dispatcher. id = 59
+ * glShaderSource dispatcher. id = 61
  */
 static bool yagl_func_glShaderSource(struct yagl_transport *t)
 {
@@ -1221,7 +1261,7 @@ static bool yagl_func_glShaderSource(struct yagl_transport *t)
 }
 
 /*
- * glAttachShader dispatcher. id = 60
+ * glAttachShader dispatcher. id = 62
  */
 static bool yagl_func_glAttachShader(struct yagl_transport *t)
 {
@@ -1237,7 +1277,7 @@ static bool yagl_func_glAttachShader(struct yagl_transport *t)
 }
 
 /*
- * glDetachShader dispatcher. id = 61
+ * glDetachShader dispatcher. id = 63
  */
 static bool yagl_func_glDetachShader(struct yagl_transport *t)
 {
@@ -1253,7 +1293,7 @@ static bool yagl_func_glDetachShader(struct yagl_transport *t)
 }
 
 /*
- * glCompileShader dispatcher. id = 62
+ * glCompileShader dispatcher. id = 64
  */
 static bool yagl_func_glCompileShader(struct yagl_transport *t)
 {
@@ -1267,7 +1307,7 @@ static bool yagl_func_glCompileShader(struct yagl_transport *t)
 }
 
 /*
- * glBindAttribLocation dispatcher. id = 63
+ * glBindAttribLocation dispatcher. id = 65
  */
 static bool yagl_func_glBindAttribLocation(struct yagl_transport *t)
 {
@@ -1288,7 +1328,7 @@ static bool yagl_func_glBindAttribLocation(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveAttrib dispatcher. id = 64
+ * glGetActiveAttrib dispatcher. id = 66
  */
 static bool yagl_func_glGetActiveAttrib(struct yagl_transport *t)
 {
@@ -1315,7 +1355,7 @@ static bool yagl_func_glGetActiveAttrib(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveUniform dispatcher. id = 65
+ * glGetActiveUniform dispatcher. id = 67
  */
 static bool yagl_func_glGetActiveUniform(struct yagl_transport *t)
 {
@@ -1342,7 +1382,7 @@ static bool yagl_func_glGetActiveUniform(struct yagl_transport *t)
 }
 
 /*
- * glGetAttribLocation dispatcher. id = 66
+ * glGetAttribLocation dispatcher. id = 68
  */
 static bool yagl_func_glGetAttribLocation(struct yagl_transport *t)
 {
@@ -1363,7 +1403,7 @@ static bool yagl_func_glGetAttribLocation(struct yagl_transport *t)
 }
 
 /*
- * glGetProgramiv dispatcher. id = 67
+ * glGetProgramiv dispatcher. id = 69
  */
 static bool yagl_func_glGetProgramiv(struct yagl_transport *t)
 {
@@ -1381,7 +1421,7 @@ static bool yagl_func_glGetProgramiv(struct yagl_transport *t)
 }
 
 /*
- * glGetProgramInfoLog dispatcher. id = 68
+ * glGetProgramInfoLog dispatcher. id = 70
  */
 static bool yagl_func_glGetProgramInfoLog(struct yagl_transport *t)
 {
@@ -1404,7 +1444,7 @@ static bool yagl_func_glGetProgramInfoLog(struct yagl_transport *t)
 }
 
 /*
- * glGetShaderiv dispatcher. id = 69
+ * glGetShaderiv dispatcher. id = 71
  */
 static bool yagl_func_glGetShaderiv(struct yagl_transport *t)
 {
@@ -1422,7 +1462,7 @@ static bool yagl_func_glGetShaderiv(struct yagl_transport *t)
 }
 
 /*
- * glGetShaderInfoLog dispatcher. id = 70
+ * glGetShaderInfoLog dispatcher. id = 72
  */
 static bool yagl_func_glGetShaderInfoLog(struct yagl_transport *t)
 {
@@ -1445,7 +1485,7 @@ static bool yagl_func_glGetShaderInfoLog(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformfv dispatcher. id = 71
+ * glGetUniformfv dispatcher. id = 73
  */
 static bool yagl_func_glGetUniformfv(struct yagl_transport *t)
 {
@@ -1470,7 +1510,7 @@ static bool yagl_func_glGetUniformfv(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformiv dispatcher. id = 72
+ * glGetUniformiv dispatcher. id = 74
  */
 static bool yagl_func_glGetUniformiv(struct yagl_transport *t)
 {
@@ -1495,7 +1535,7 @@ static bool yagl_func_glGetUniformiv(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformLocation dispatcher. id = 73
+ * glGetUniformLocation dispatcher. id = 75
  */
 static bool yagl_func_glGetUniformLocation(struct yagl_transport *t)
 {
@@ -1516,7 +1556,7 @@ static bool yagl_func_glGetUniformLocation(struct yagl_transport *t)
 }
 
 /*
- * glGetVertexAttribfv dispatcher. id = 74
+ * glGetVertexAttribfv dispatcher. id = 76
  */
 static bool yagl_func_glGetVertexAttribfv(struct yagl_transport *t)
 {
@@ -1539,7 +1579,7 @@ static bool yagl_func_glGetVertexAttribfv(struct yagl_transport *t)
 }
 
 /*
- * glGetVertexAttribiv dispatcher. id = 75
+ * glGetVertexAttribiv dispatcher. id = 77
  */
 static bool yagl_func_glGetVertexAttribiv(struct yagl_transport *t)
 {
@@ -1562,7 +1602,7 @@ static bool yagl_func_glGetVertexAttribiv(struct yagl_transport *t)
 }
 
 /*
- * glLinkProgram dispatcher. id = 76
+ * glLinkProgram dispatcher. id = 78
  */
 static bool yagl_func_glLinkProgram(struct yagl_transport *t)
 {
@@ -1583,7 +1623,7 @@ static bool yagl_func_glLinkProgram(struct yagl_transport *t)
 }
 
 /*
- * glUniform1f dispatcher. id = 77
+ * glUniform1f dispatcher. id = 79
  */
 static bool yagl_func_glUniform1f(struct yagl_transport *t)
 {
@@ -1601,7 +1641,7 @@ static bool yagl_func_glUniform1f(struct yagl_transport *t)
 }
 
 /*
- * glUniform1fv dispatcher. id = 78
+ * glUniform1fv dispatcher. id = 80
  */
 static bool yagl_func_glUniform1fv(struct yagl_transport *t)
 {
@@ -1622,7 +1662,7 @@ static bool yagl_func_glUniform1fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform1i dispatcher. id = 79
+ * glUniform1i dispatcher. id = 81
  */
 static bool yagl_func_glUniform1i(struct yagl_transport *t)
 {
@@ -1640,7 +1680,7 @@ static bool yagl_func_glUniform1i(struct yagl_transport *t)
 }
 
 /*
- * glUniform1iv dispatcher. id = 80
+ * glUniform1iv dispatcher. id = 82
  */
 static bool yagl_func_glUniform1iv(struct yagl_transport *t)
 {
@@ -1661,7 +1701,7 @@ static bool yagl_func_glUniform1iv(struct yagl_transport *t)
 }
 
 /*
- * glUniform2f dispatcher. id = 81
+ * glUniform2f dispatcher. id = 83
  */
 static bool yagl_func_glUniform2f(struct yagl_transport *t)
 {
@@ -1681,7 +1721,7 @@ static bool yagl_func_glUniform2f(struct yagl_transport *t)
 }
 
 /*
- * glUniform2fv dispatcher. id = 82
+ * glUniform2fv dispatcher. id = 84
  */
 static bool yagl_func_glUniform2fv(struct yagl_transport *t)
 {
@@ -1702,7 +1742,7 @@ static bool yagl_func_glUniform2fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform2i dispatcher. id = 83
+ * glUniform2i dispatcher. id = 85
  */
 static bool yagl_func_glUniform2i(struct yagl_transport *t)
 {
@@ -1722,7 +1762,7 @@ static bool yagl_func_glUniform2i(struct yagl_transport *t)
 }
 
 /*
- * glUniform2iv dispatcher. id = 84
+ * glUniform2iv dispatcher. id = 86
  */
 static bool yagl_func_glUniform2iv(struct yagl_transport *t)
 {
@@ -1743,7 +1783,7 @@ static bool yagl_func_glUniform2iv(struct yagl_transport *t)
 }
 
 /*
- * glUniform3f dispatcher. id = 85
+ * glUniform3f dispatcher. id = 87
  */
 static bool yagl_func_glUniform3f(struct yagl_transport *t)
 {
@@ -1765,7 +1805,7 @@ static bool yagl_func_glUniform3f(struct yagl_transport *t)
 }
 
 /*
- * glUniform3fv dispatcher. id = 86
+ * glUniform3fv dispatcher. id = 88
  */
 static bool yagl_func_glUniform3fv(struct yagl_transport *t)
 {
@@ -1786,7 +1826,7 @@ static bool yagl_func_glUniform3fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform3i dispatcher. id = 87
+ * glUniform3i dispatcher. id = 89
  */
 static bool yagl_func_glUniform3i(struct yagl_transport *t)
 {
@@ -1808,7 +1848,7 @@ static bool yagl_func_glUniform3i(struct yagl_transport *t)
 }
 
 /*
- * glUniform3iv dispatcher. id = 88
+ * glUniform3iv dispatcher. id = 90
  */
 static bool yagl_func_glUniform3iv(struct yagl_transport *t)
 {
@@ -1829,7 +1869,7 @@ static bool yagl_func_glUniform3iv(struct yagl_transport *t)
 }
 
 /*
- * glUniform4f dispatcher. id = 89
+ * glUniform4f dispatcher. id = 91
  */
 static bool yagl_func_glUniform4f(struct yagl_transport *t)
 {
@@ -1853,7 +1893,7 @@ static bool yagl_func_glUniform4f(struct yagl_transport *t)
 }
 
 /*
- * glUniform4fv dispatcher. id = 90
+ * glUniform4fv dispatcher. id = 92
  */
 static bool yagl_func_glUniform4fv(struct yagl_transport *t)
 {
@@ -1874,7 +1914,7 @@ static bool yagl_func_glUniform4fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform4i dispatcher. id = 91
+ * glUniform4i dispatcher. id = 93
  */
 static bool yagl_func_glUniform4i(struct yagl_transport *t)
 {
@@ -1898,7 +1938,7 @@ static bool yagl_func_glUniform4i(struct yagl_transport *t)
 }
 
 /*
- * glUniform4iv dispatcher. id = 92
+ * glUniform4iv dispatcher. id = 94
  */
 static bool yagl_func_glUniform4iv(struct yagl_transport *t)
 {
@@ -1919,7 +1959,7 @@ static bool yagl_func_glUniform4iv(struct yagl_transport *t)
 }
 
 /*
- * glUniformMatrix2fv dispatcher. id = 93
+ * glUniformMatrix2fv dispatcher. id = 95
  */
 static bool yagl_func_glUniformMatrix2fv(struct yagl_transport *t)
 {
@@ -1942,7 +1982,7 @@ static bool yagl_func_glUniformMatrix2fv(struct yagl_transport *t)
 }
 
 /*
- * glUniformMatrix3fv dispatcher. id = 94
+ * glUniformMatrix3fv dispatcher. id = 96
  */
 static bool yagl_func_glUniformMatrix3fv(struct yagl_transport *t)
 {
@@ -1965,7 +2005,7 @@ static bool yagl_func_glUniformMatrix3fv(struct yagl_transport *t)
 }
 
 /*
- * glUniformMatrix4fv dispatcher. id = 95
+ * glUniformMatrix4fv dispatcher. id = 97
  */
 static bool yagl_func_glUniformMatrix4fv(struct yagl_transport *t)
 {
@@ -1988,7 +2028,7 @@ static bool yagl_func_glUniformMatrix4fv(struct yagl_transport *t)
 }
 
 /*
- * glUseProgram dispatcher. id = 96
+ * glUseProgram dispatcher. id = 98
  */
 static bool yagl_func_glUseProgram(struct yagl_transport *t)
 {
@@ -2002,7 +2042,7 @@ static bool yagl_func_glUseProgram(struct yagl_transport *t)
 }
 
 /*
- * glValidateProgram dispatcher. id = 97
+ * glValidateProgram dispatcher. id = 99
  */
 static bool yagl_func_glValidateProgram(struct yagl_transport *t)
 {
@@ -2016,7 +2056,7 @@ static bool yagl_func_glValidateProgram(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib1f dispatcher. id = 98
+ * glVertexAttrib1f dispatcher. id = 100
  */
 static bool yagl_func_glVertexAttrib1f(struct yagl_transport *t)
 {
@@ -2032,7 +2072,7 @@ static bool yagl_func_glVertexAttrib1f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib1fv dispatcher. id = 99
+ * glVertexAttrib1fv dispatcher. id = 101
  */
 static bool yagl_func_glVertexAttrib1fv(struct yagl_transport *t)
 {
@@ -2051,7 +2091,7 @@ static bool yagl_func_glVertexAttrib1fv(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib2f dispatcher. id = 100
+ * glVertexAttrib2f dispatcher. id = 102
  */
 static bool yagl_func_glVertexAttrib2f(struct yagl_transport *t)
 {
@@ -2069,7 +2109,7 @@ static bool yagl_func_glVertexAttrib2f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib2fv dispatcher. id = 101
+ * glVertexAttrib2fv dispatcher. id = 103
  */
 static bool yagl_func_glVertexAttrib2fv(struct yagl_transport *t)
 {
@@ -2088,7 +2128,7 @@ static bool yagl_func_glVertexAttrib2fv(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib3f dispatcher. id = 102
+ * glVertexAttrib3f dispatcher. id = 104
  */
 static bool yagl_func_glVertexAttrib3f(struct yagl_transport *t)
 {
@@ -2108,7 +2148,7 @@ static bool yagl_func_glVertexAttrib3f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib3fv dispatcher. id = 103
+ * glVertexAttrib3fv dispatcher. id = 105
  */
 static bool yagl_func_glVertexAttrib3fv(struct yagl_transport *t)
 {
@@ -2127,7 +2167,7 @@ static bool yagl_func_glVertexAttrib3fv(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib4f dispatcher. id = 104
+ * glVertexAttrib4f dispatcher. id = 106
  */
 static bool yagl_func_glVertexAttrib4f(struct yagl_transport *t)
 {
@@ -2149,7 +2189,7 @@ static bool yagl_func_glVertexAttrib4f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib4fv dispatcher. id = 105
+ * glVertexAttrib4fv dispatcher. id = 107
  */
 static bool yagl_func_glVertexAttrib4fv(struct yagl_transport *t)
 {
@@ -2168,7 +2208,7 @@ static bool yagl_func_glVertexAttrib4fv(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveUniformsiv dispatcher. id = 106
+ * glGetActiveUniformsiv dispatcher. id = 108
  */
 static bool yagl_func_glGetActiveUniformsiv(struct yagl_transport *t)
 {
@@ -2194,7 +2234,7 @@ static bool yagl_func_glGetActiveUniformsiv(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformIndices dispatcher. id = 107
+ * glGetUniformIndices dispatcher. id = 109
  */
 static bool yagl_func_glGetUniformIndices(struct yagl_transport *t)
 {
@@ -2220,7 +2260,46 @@ static bool yagl_func_glGetUniformIndices(struct yagl_transport *t)
 }
 
 /*
- * glGetIntegerv dispatcher. id = 108
+ * glGetUniformBlockIndex dispatcher. id = 110
+ */
+static bool yagl_func_glGetUniformBlockIndex(struct yagl_transport *t)
+{
+    GLuint program;
+    const GLchar *uniformBlockName;
+    int32_t uniformBlockName_count;
+    GLuint *retval;
+    program = yagl_transport_get_out_GLuint(t);
+    if (!yagl_transport_get_out_array(t, sizeof(GLchar), (const void**)&uniformBlockName, &uniformBlockName_count)) {
+        return false;
+    }
+    yagl_transport_get_in_arg(t, (void**)&retval);
+    YAGL_LOG_FUNC_ENTER_SPLIT2(glGetUniformBlockIndex, GLuint, void*, program, uniformBlockName);
+    *retval = yagl_host_glGetUniformBlockIndex(program, uniformBlockName, uniformBlockName_count);
+    YAGL_LOG_FUNC_EXIT_SPLIT(GLuint, *retval);
+
+    return true;
+}
+
+/*
+ * glUniformBlockBinding dispatcher. id = 111
+ */
+static bool yagl_func_glUniformBlockBinding(struct yagl_transport *t)
+{
+    GLuint program;
+    GLuint uniformBlockIndex;
+    GLuint uniformBlockBinding;
+    program = yagl_transport_get_out_GLuint(t);
+    uniformBlockIndex = yagl_transport_get_out_GLuint(t);
+    uniformBlockBinding = yagl_transport_get_out_GLuint(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT3(glUniformBlockBinding, GLuint, GLuint, GLuint, program, uniformBlockIndex, uniformBlockBinding);
+    (void)yagl_host_glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
+    YAGL_LOG_FUNC_EXIT(NULL);
+
+    return true;
+}
+
+/*
+ * glGetIntegerv dispatcher. id = 112
  */
 static bool yagl_func_glGetIntegerv(struct yagl_transport *t)
 {
@@ -2241,7 +2320,7 @@ static bool yagl_func_glGetIntegerv(struct yagl_transport *t)
 }
 
 /*
- * glGetFloatv dispatcher. id = 109
+ * glGetFloatv dispatcher. id = 113
  */
 static bool yagl_func_glGetFloatv(struct yagl_transport *t)
 {
@@ -2262,7 +2341,7 @@ static bool yagl_func_glGetFloatv(struct yagl_transport *t)
 }
 
 /*
- * glGetString dispatcher. id = 110
+ * glGetString dispatcher. id = 114
  */
 static bool yagl_func_glGetString(struct yagl_transport *t)
 {
@@ -2283,7 +2362,7 @@ static bool yagl_func_glGetString(struct yagl_transport *t)
 }
 
 /*
- * glIsEnabled dispatcher. id = 111
+ * glIsEnabled dispatcher. id = 115
  */
 static bool yagl_func_glIsEnabled(struct yagl_transport *t)
 {
@@ -2299,7 +2378,7 @@ static bool yagl_func_glIsEnabled(struct yagl_transport *t)
 }
 
 /*
- * glDeleteObjects dispatcher. id = 112
+ * glDeleteObjects dispatcher. id = 116
  */
 static bool yagl_func_glDeleteObjects(struct yagl_transport *t)
 {
@@ -2316,7 +2395,7 @@ static bool yagl_func_glDeleteObjects(struct yagl_transport *t)
 }
 
 /*
- * glBlendEquation dispatcher. id = 113
+ * glBlendEquation dispatcher. id = 117
  */
 static bool yagl_func_glBlendEquation(struct yagl_transport *t)
 {
@@ -2330,7 +2409,7 @@ static bool yagl_func_glBlendEquation(struct yagl_transport *t)
 }
 
 /*
- * glBlendEquationSeparate dispatcher. id = 114
+ * glBlendEquationSeparate dispatcher. id = 118
  */
 static bool yagl_func_glBlendEquationSeparate(struct yagl_transport *t)
 {
@@ -2346,7 +2425,7 @@ static bool yagl_func_glBlendEquationSeparate(struct yagl_transport *t)
 }
 
 /*
- * glBlendFunc dispatcher. id = 115
+ * glBlendFunc dispatcher. id = 119
  */
 static bool yagl_func_glBlendFunc(struct yagl_transport *t)
 {
@@ -2362,7 +2441,7 @@ static bool yagl_func_glBlendFunc(struct yagl_transport *t)
 }
 
 /*
- * glBlendFuncSeparate dispatcher. id = 116
+ * glBlendFuncSeparate dispatcher. id = 120
  */
 static bool yagl_func_glBlendFuncSeparate(struct yagl_transport *t)
 {
@@ -2382,7 +2461,7 @@ static bool yagl_func_glBlendFuncSeparate(struct yagl_transport *t)
 }
 
 /*
- * glBlendColor dispatcher. id = 117
+ * glBlendColor dispatcher. id = 121
  */
 static bool yagl_func_glBlendColor(struct yagl_transport *t)
 {
@@ -2402,7 +2481,7 @@ static bool yagl_func_glBlendColor(struct yagl_transport *t)
 }
 
 /*
- * glClear dispatcher. id = 118
+ * glClear dispatcher. id = 122
  */
 static bool yagl_func_glClear(struct yagl_transport *t)
 {
@@ -2416,7 +2495,7 @@ static bool yagl_func_glClear(struct yagl_transport *t)
 }
 
 /*
- * glClearColor dispatcher. id = 119
+ * glClearColor dispatcher. id = 123
  */
 static bool yagl_func_glClearColor(struct yagl_transport *t)
 {
@@ -2436,7 +2515,7 @@ static bool yagl_func_glClearColor(struct yagl_transport *t)
 }
 
 /*
- * glClearDepthf dispatcher. id = 120
+ * glClearDepthf dispatcher. id = 124
  */
 static bool yagl_func_glClearDepthf(struct yagl_transport *t)
 {
@@ -2450,7 +2529,7 @@ static bool yagl_func_glClearDepthf(struct yagl_transport *t)
 }
 
 /*
- * glClearStencil dispatcher. id = 121
+ * glClearStencil dispatcher. id = 125
  */
 static bool yagl_func_glClearStencil(struct yagl_transport *t)
 {
@@ -2464,7 +2543,7 @@ static bool yagl_func_glClearStencil(struct yagl_transport *t)
 }
 
 /*
- * glColorMask dispatcher. id = 122
+ * glColorMask dispatcher. id = 126
  */
 static bool yagl_func_glColorMask(struct yagl_transport *t)
 {
@@ -2484,7 +2563,7 @@ static bool yagl_func_glColorMask(struct yagl_transport *t)
 }
 
 /*
- * glCullFace dispatcher. id = 123
+ * glCullFace dispatcher. id = 127
  */
 static bool yagl_func_glCullFace(struct yagl_transport *t)
 {
@@ -2498,7 +2577,7 @@ static bool yagl_func_glCullFace(struct yagl_transport *t)
 }
 
 /*
- * glDepthFunc dispatcher. id = 124
+ * glDepthFunc dispatcher. id = 128
  */
 static bool yagl_func_glDepthFunc(struct yagl_transport *t)
 {
@@ -2512,7 +2591,7 @@ static bool yagl_func_glDepthFunc(struct yagl_transport *t)
 }
 
 /*
- * glDepthMask dispatcher. id = 125
+ * glDepthMask dispatcher. id = 129
  */
 static bool yagl_func_glDepthMask(struct yagl_transport *t)
 {
@@ -2526,7 +2605,7 @@ static bool yagl_func_glDepthMask(struct yagl_transport *t)
 }
 
 /*
- * glDepthRangef dispatcher. id = 126
+ * glDepthRangef dispatcher. id = 130
  */
 static bool yagl_func_glDepthRangef(struct yagl_transport *t)
 {
@@ -2542,7 +2621,7 @@ static bool yagl_func_glDepthRangef(struct yagl_transport *t)
 }
 
 /*
- * glEnable dispatcher. id = 127
+ * glEnable dispatcher. id = 131
  */
 static bool yagl_func_glEnable(struct yagl_transport *t)
 {
@@ -2556,7 +2635,7 @@ static bool yagl_func_glEnable(struct yagl_transport *t)
 }
 
 /*
- * glDisable dispatcher. id = 128
+ * glDisable dispatcher. id = 132
  */
 static bool yagl_func_glDisable(struct yagl_transport *t)
 {
@@ -2570,7 +2649,7 @@ static bool yagl_func_glDisable(struct yagl_transport *t)
 }
 
 /*
- * glFlush dispatcher. id = 129
+ * glFlush dispatcher. id = 133
  */
 static bool yagl_func_glFlush(struct yagl_transport *t)
 {
@@ -2582,7 +2661,7 @@ static bool yagl_func_glFlush(struct yagl_transport *t)
 }
 
 /*
- * glFrontFace dispatcher. id = 130
+ * glFrontFace dispatcher. id = 134
  */
 static bool yagl_func_glFrontFace(struct yagl_transport *t)
 {
@@ -2596,7 +2675,7 @@ static bool yagl_func_glFrontFace(struct yagl_transport *t)
 }
 
 /*
- * glGenerateMipmap dispatcher. id = 131
+ * glGenerateMipmap dispatcher. id = 135
  */
 static bool yagl_func_glGenerateMipmap(struct yagl_transport *t)
 {
@@ -2610,7 +2689,7 @@ static bool yagl_func_glGenerateMipmap(struct yagl_transport *t)
 }
 
 /*
- * glHint dispatcher. id = 132
+ * glHint dispatcher. id = 136
  */
 static bool yagl_func_glHint(struct yagl_transport *t)
 {
@@ -2626,7 +2705,7 @@ static bool yagl_func_glHint(struct yagl_transport *t)
 }
 
 /*
- * glLineWidth dispatcher. id = 133
+ * glLineWidth dispatcher. id = 137
  */
 static bool yagl_func_glLineWidth(struct yagl_transport *t)
 {
@@ -2640,7 +2719,7 @@ static bool yagl_func_glLineWidth(struct yagl_transport *t)
 }
 
 /*
- * glPixelStorei dispatcher. id = 134
+ * glPixelStorei dispatcher. id = 138
  */
 static bool yagl_func_glPixelStorei(struct yagl_transport *t)
 {
@@ -2656,7 +2735,7 @@ static bool yagl_func_glPixelStorei(struct yagl_transport *t)
 }
 
 /*
- * glPolygonOffset dispatcher. id = 135
+ * glPolygonOffset dispatcher. id = 139
  */
 static bool yagl_func_glPolygonOffset(struct yagl_transport *t)
 {
@@ -2672,7 +2751,7 @@ static bool yagl_func_glPolygonOffset(struct yagl_transport *t)
 }
 
 /*
- * glScissor dispatcher. id = 136
+ * glScissor dispatcher. id = 140
  */
 static bool yagl_func_glScissor(struct yagl_transport *t)
 {
@@ -2692,7 +2771,7 @@ static bool yagl_func_glScissor(struct yagl_transport *t)
 }
 
 /*
- * glStencilFunc dispatcher. id = 137
+ * glStencilFunc dispatcher. id = 141
  */
 static bool yagl_func_glStencilFunc(struct yagl_transport *t)
 {
@@ -2710,7 +2789,7 @@ static bool yagl_func_glStencilFunc(struct yagl_transport *t)
 }
 
 /*
- * glStencilMask dispatcher. id = 138
+ * glStencilMask dispatcher. id = 142
  */
 static bool yagl_func_glStencilMask(struct yagl_transport *t)
 {
@@ -2724,7 +2803,7 @@ static bool yagl_func_glStencilMask(struct yagl_transport *t)
 }
 
 /*
- * glStencilOp dispatcher. id = 139
+ * glStencilOp dispatcher. id = 143
  */
 static bool yagl_func_glStencilOp(struct yagl_transport *t)
 {
@@ -2742,7 +2821,7 @@ static bool yagl_func_glStencilOp(struct yagl_transport *t)
 }
 
 /*
- * glSampleCoverage dispatcher. id = 140
+ * glSampleCoverage dispatcher. id = 144
  */
 static bool yagl_func_glSampleCoverage(struct yagl_transport *t)
 {
@@ -2758,7 +2837,7 @@ static bool yagl_func_glSampleCoverage(struct yagl_transport *t)
 }
 
 /*
- * glViewport dispatcher. id = 141
+ * glViewport dispatcher. id = 145
  */
 static bool yagl_func_glViewport(struct yagl_transport *t)
 {
@@ -2778,7 +2857,7 @@ static bool yagl_func_glViewport(struct yagl_transport *t)
 }
 
 /*
- * glStencilFuncSeparate dispatcher. id = 142
+ * glStencilFuncSeparate dispatcher. id = 146
  */
 static bool yagl_func_glStencilFuncSeparate(struct yagl_transport *t)
 {
@@ -2798,7 +2877,7 @@ static bool yagl_func_glStencilFuncSeparate(struct yagl_transport *t)
 }
 
 /*
- * glStencilMaskSeparate dispatcher. id = 143
+ * glStencilMaskSeparate dispatcher. id = 147
  */
 static bool yagl_func_glStencilMaskSeparate(struct yagl_transport *t)
 {
@@ -2814,7 +2893,7 @@ static bool yagl_func_glStencilMaskSeparate(struct yagl_transport *t)
 }
 
 /*
- * glStencilOpSeparate dispatcher. id = 144
+ * glStencilOpSeparate dispatcher. id = 148
  */
 static bool yagl_func_glStencilOpSeparate(struct yagl_transport *t)
 {
@@ -2834,7 +2913,7 @@ static bool yagl_func_glStencilOpSeparate(struct yagl_transport *t)
 }
 
 /*
- * glPointSize dispatcher. id = 145
+ * glPointSize dispatcher. id = 149
  */
 static bool yagl_func_glPointSize(struct yagl_transport *t)
 {
@@ -2848,7 +2927,7 @@ static bool yagl_func_glPointSize(struct yagl_transport *t)
 }
 
 /*
- * glAlphaFunc dispatcher. id = 146
+ * glAlphaFunc dispatcher. id = 150
  */
 static bool yagl_func_glAlphaFunc(struct yagl_transport *t)
 {
@@ -2864,7 +2943,7 @@ static bool yagl_func_glAlphaFunc(struct yagl_transport *t)
 }
 
 /*
- * glMatrixMode dispatcher. id = 147
+ * glMatrixMode dispatcher. id = 151
  */
 static bool yagl_func_glMatrixMode(struct yagl_transport *t)
 {
@@ -2878,7 +2957,7 @@ static bool yagl_func_glMatrixMode(struct yagl_transport *t)
 }
 
 /*
- * glLoadIdentity dispatcher. id = 148
+ * glLoadIdentity dispatcher. id = 152
  */
 static bool yagl_func_glLoadIdentity(struct yagl_transport *t)
 {
@@ -2890,7 +2969,7 @@ static bool yagl_func_glLoadIdentity(struct yagl_transport *t)
 }
 
 /*
- * glPopMatrix dispatcher. id = 149
+ * glPopMatrix dispatcher. id = 153
  */
 static bool yagl_func_glPopMatrix(struct yagl_transport *t)
 {
@@ -2902,7 +2981,7 @@ static bool yagl_func_glPopMatrix(struct yagl_transport *t)
 }
 
 /*
- * glPushMatrix dispatcher. id = 150
+ * glPushMatrix dispatcher. id = 154
  */
 static bool yagl_func_glPushMatrix(struct yagl_transport *t)
 {
@@ -2914,7 +2993,7 @@ static bool yagl_func_glPushMatrix(struct yagl_transport *t)
 }
 
 /*
- * glRotatef dispatcher. id = 151
+ * glRotatef dispatcher. id = 155
  */
 static bool yagl_func_glRotatef(struct yagl_transport *t)
 {
@@ -2934,7 +3013,7 @@ static bool yagl_func_glRotatef(struct yagl_transport *t)
 }
 
 /*
- * glTranslatef dispatcher. id = 152
+ * glTranslatef dispatcher. id = 156
  */
 static bool yagl_func_glTranslatef(struct yagl_transport *t)
 {
@@ -2952,7 +3031,7 @@ static bool yagl_func_glTranslatef(struct yagl_transport *t)
 }
 
 /*
- * glScalef dispatcher. id = 153
+ * glScalef dispatcher. id = 157
  */
 static bool yagl_func_glScalef(struct yagl_transport *t)
 {
@@ -2970,7 +3049,7 @@ static bool yagl_func_glScalef(struct yagl_transport *t)
 }
 
 /*
- * glOrthof dispatcher. id = 154
+ * glOrthof dispatcher. id = 158
  */
 static bool yagl_func_glOrthof(struct yagl_transport *t)
 {
@@ -2994,7 +3073,7 @@ static bool yagl_func_glOrthof(struct yagl_transport *t)
 }
 
 /*
- * glColor4f dispatcher. id = 155
+ * glColor4f dispatcher. id = 159
  */
 static bool yagl_func_glColor4f(struct yagl_transport *t)
 {
@@ -3014,7 +3093,7 @@ static bool yagl_func_glColor4f(struct yagl_transport *t)
 }
 
 /*
- * glColor4ub dispatcher. id = 156
+ * glColor4ub dispatcher. id = 160
  */
 static bool yagl_func_glColor4ub(struct yagl_transport *t)
 {
@@ -3034,7 +3113,7 @@ static bool yagl_func_glColor4ub(struct yagl_transport *t)
 }
 
 /*
- * glNormal3f dispatcher. id = 157
+ * glNormal3f dispatcher. id = 161
  */
 static bool yagl_func_glNormal3f(struct yagl_transport *t)
 {
@@ -3052,7 +3131,7 @@ static bool yagl_func_glNormal3f(struct yagl_transport *t)
 }
 
 /*
- * glPointParameterf dispatcher. id = 158
+ * glPointParameterf dispatcher. id = 162
  */
 static bool yagl_func_glPointParameterf(struct yagl_transport *t)
 {
@@ -3068,7 +3147,7 @@ static bool yagl_func_glPointParameterf(struct yagl_transport *t)
 }
 
 /*
- * glPointParameterfv dispatcher. id = 159
+ * glPointParameterfv dispatcher. id = 163
  */
 static bool yagl_func_glPointParameterfv(struct yagl_transport *t)
 {
@@ -3087,7 +3166,7 @@ static bool yagl_func_glPointParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glFogf dispatcher. id = 160
+ * glFogf dispatcher. id = 164
  */
 static bool yagl_func_glFogf(struct yagl_transport *t)
 {
@@ -3103,7 +3182,7 @@ static bool yagl_func_glFogf(struct yagl_transport *t)
 }
 
 /*
- * glFogfv dispatcher. id = 161
+ * glFogfv dispatcher. id = 165
  */
 static bool yagl_func_glFogfv(struct yagl_transport *t)
 {
@@ -3122,7 +3201,7 @@ static bool yagl_func_glFogfv(struct yagl_transport *t)
 }
 
 /*
- * glFrustumf dispatcher. id = 162
+ * glFrustumf dispatcher. id = 166
  */
 static bool yagl_func_glFrustumf(struct yagl_transport *t)
 {
@@ -3146,7 +3225,7 @@ static bool yagl_func_glFrustumf(struct yagl_transport *t)
 }
 
 /*
- * glLightf dispatcher. id = 163
+ * glLightf dispatcher. id = 167
  */
 static bool yagl_func_glLightf(struct yagl_transport *t)
 {
@@ -3164,7 +3243,7 @@ static bool yagl_func_glLightf(struct yagl_transport *t)
 }
 
 /*
- * glLightfv dispatcher. id = 164
+ * glLightfv dispatcher. id = 168
  */
 static bool yagl_func_glLightfv(struct yagl_transport *t)
 {
@@ -3185,7 +3264,7 @@ static bool yagl_func_glLightfv(struct yagl_transport *t)
 }
 
 /*
- * glGetLightfv dispatcher. id = 165
+ * glGetLightfv dispatcher. id = 169
  */
 static bool yagl_func_glGetLightfv(struct yagl_transport *t)
 {
@@ -3208,7 +3287,7 @@ static bool yagl_func_glGetLightfv(struct yagl_transport *t)
 }
 
 /*
- * glLightModelf dispatcher. id = 166
+ * glLightModelf dispatcher. id = 170
  */
 static bool yagl_func_glLightModelf(struct yagl_transport *t)
 {
@@ -3224,7 +3303,7 @@ static bool yagl_func_glLightModelf(struct yagl_transport *t)
 }
 
 /*
- * glLightModelfv dispatcher. id = 167
+ * glLightModelfv dispatcher. id = 171
  */
 static bool yagl_func_glLightModelfv(struct yagl_transport *t)
 {
@@ -3243,7 +3322,7 @@ static bool yagl_func_glLightModelfv(struct yagl_transport *t)
 }
 
 /*
- * glMaterialf dispatcher. id = 168
+ * glMaterialf dispatcher. id = 172
  */
 static bool yagl_func_glMaterialf(struct yagl_transport *t)
 {
@@ -3261,7 +3340,7 @@ static bool yagl_func_glMaterialf(struct yagl_transport *t)
 }
 
 /*
- * glMaterialfv dispatcher. id = 169
+ * glMaterialfv dispatcher. id = 173
  */
 static bool yagl_func_glMaterialfv(struct yagl_transport *t)
 {
@@ -3282,7 +3361,7 @@ static bool yagl_func_glMaterialfv(struct yagl_transport *t)
 }
 
 /*
- * glGetMaterialfv dispatcher. id = 170
+ * glGetMaterialfv dispatcher. id = 174
  */
 static bool yagl_func_glGetMaterialfv(struct yagl_transport *t)
 {
@@ -3305,7 +3384,7 @@ static bool yagl_func_glGetMaterialfv(struct yagl_transport *t)
 }
 
 /*
- * glShadeModel dispatcher. id = 171
+ * glShadeModel dispatcher. id = 175
  */
 static bool yagl_func_glShadeModel(struct yagl_transport *t)
 {
@@ -3319,7 +3398,7 @@ static bool yagl_func_glShadeModel(struct yagl_transport *t)
 }
 
 /*
- * glLogicOp dispatcher. id = 172
+ * glLogicOp dispatcher. id = 176
  */
 static bool yagl_func_glLogicOp(struct yagl_transport *t)
 {
@@ -3333,7 +3412,7 @@ static bool yagl_func_glLogicOp(struct yagl_transport *t)
 }
 
 /*
- * glMultMatrixf dispatcher. id = 173
+ * glMultMatrixf dispatcher. id = 177
  */
 static bool yagl_func_glMultMatrixf(struct yagl_transport *t)
 {
@@ -3350,7 +3429,7 @@ static bool yagl_func_glMultMatrixf(struct yagl_transport *t)
 }
 
 /*
- * glLoadMatrixf dispatcher. id = 174
+ * glLoadMatrixf dispatcher. id = 178
  */
 static bool yagl_func_glLoadMatrixf(struct yagl_transport *t)
 {
@@ -3367,7 +3446,7 @@ static bool yagl_func_glLoadMatrixf(struct yagl_transport *t)
 }
 
 /*
- * glClipPlanef dispatcher. id = 175
+ * glClipPlanef dispatcher. id = 179
  */
 static bool yagl_func_glClipPlanef(struct yagl_transport *t)
 {
@@ -3386,7 +3465,7 @@ static bool yagl_func_glClipPlanef(struct yagl_transport *t)
 }
 
 /*
- * glGetClipPlanef dispatcher. id = 176
+ * glGetClipPlanef dispatcher. id = 180
  */
 static bool yagl_func_glGetClipPlanef(struct yagl_transport *t)
 {
@@ -3407,7 +3486,7 @@ static bool yagl_func_glGetClipPlanef(struct yagl_transport *t)
 }
 
 /*
- * glUpdateOffscreenImageYAGL dispatcher. id = 177
+ * glUpdateOffscreenImageYAGL dispatcher. id = 181
  */
 static bool yagl_func_glUpdateOffscreenImageYAGL(struct yagl_transport *t)
 {
@@ -3432,7 +3511,7 @@ static bool yagl_func_glUpdateOffscreenImageYAGL(struct yagl_transport *t)
 }
 
 /*
- * glGenUniformLocationYAGL dispatcher. id = 178
+ * glGenUniformLocationYAGL dispatcher. id = 182
  */
 static bool yagl_func_glGenUniformLocationYAGL(struct yagl_transport *t)
 {
@@ -3453,7 +3532,7 @@ static bool yagl_func_glGenUniformLocationYAGL(struct yagl_transport *t)
 }
 
 /*
- * glDeleteUniformLocationsYAGL dispatcher. id = 179
+ * glDeleteUniformLocationsYAGL dispatcher. id = 183
  */
 static bool yagl_func_glDeleteUniformLocationsYAGL(struct yagl_transport *t)
 {
@@ -3469,7 +3548,7 @@ static bool yagl_func_glDeleteUniformLocationsYAGL(struct yagl_transport *t)
     return true;
 }
 
-const uint32_t yagl_gles_api_num_funcs = 179;
+const uint32_t yagl_gles_api_num_funcs = 183;
 
 yagl_api_func yagl_gles_api_funcs[] = {
     &yagl_func_glDrawArrays,
@@ -3495,6 +3574,8 @@ yagl_api_func yagl_gles_api_funcs[] = {
     &yagl_func_glBindBuffer,
     &yagl_func_glBufferData,
     &yagl_func_glBufferSubData,
+    &yagl_func_glBindBufferBase,
+    &yagl_func_glBindBufferRange,
     &yagl_func_glGenTextures,
     &yagl_func_glBindTexture,
     &yagl_func_glActiveTexture,
@@ -3579,6 +3660,8 @@ yagl_api_func yagl_gles_api_funcs[] = {
     &yagl_func_glVertexAttrib4fv,
     &yagl_func_glGetActiveUniformsiv,
     &yagl_func_glGetUniformIndices,
+    &yagl_func_glGetUniformBlockIndex,
+    &yagl_func_glUniformBlockBinding,
     &yagl_func_glGetIntegerv,
     &yagl_func_glGetFloatv,
     &yagl_func_glGetString,
index 8f87ebe134f58cf8500f8550cb032eaa39bf259c..927d817b7a457dc152f7350a2b41cc34a09dc518 100644 (file)
@@ -644,6 +644,25 @@ void yagl_host_glBufferSubData(GLenum target,
     gles_api_ts->driver->BufferSubData(target, offset, data_count, data);
 }
 
+void yagl_host_glBindBufferBase(GLenum target,
+    GLuint index,
+    GLuint buffer)
+{
+    gles_api_ts->driver->BindBufferBase(target, index,
+                                        yagl_gles_object_get(buffer));
+}
+
+void yagl_host_glBindBufferRange(GLenum target,
+    GLuint index,
+    GLuint buffer,
+    GLint offset,
+    GLsizei size)
+{
+    gles_api_ts->driver->BindBufferRange(target, index,
+                                         yagl_gles_object_get(buffer),
+                                         offset, size);
+}
+
 void yagl_host_glGenTextures(const GLuint *textures, int32_t textures_count)
 {
     int i;
@@ -1632,6 +1651,22 @@ void yagl_host_glGetUniformIndices(GLuint program,
     *uniformIndices_count = uniformIndices_maxcount;
 }
 
+GLuint yagl_host_glGetUniformBlockIndex(GLuint program,
+    const GLchar *uniformBlockName, int32_t uniformBlockName_count)
+{
+    return gles_api_ts->driver->GetUniformBlockIndex(yagl_gles_object_get(program),
+                                                     uniformBlockName);
+}
+
+void yagl_host_glUniformBlockBinding(GLuint program,
+    GLuint uniformBlockIndex,
+    GLuint uniformBlockBinding)
+{
+    gles_api_ts->driver->UniformBlockBinding(yagl_gles_object_get(program),
+                                             uniformBlockIndex,
+                                             uniformBlockBinding);
+}
+
 void yagl_host_glGetIntegerv(GLenum pname,
     GLint *params, int32_t params_maxcount, int32_t *params_count)
 {
index bec066c4e9fb41bf3cd19cd9154a4e6ddadd78c4..0df5be75f9beb2d2ac0d1693cf30babe94f7678f 100644 (file)
@@ -83,6 +83,14 @@ void yagl_host_glBufferData(GLenum target,
 void yagl_host_glBufferSubData(GLenum target,
     GLsizei offset,
     const GLvoid *data, int32_t data_count);
+void yagl_host_glBindBufferBase(GLenum target,
+    GLuint index,
+    GLuint buffer);
+void yagl_host_glBindBufferRange(GLenum target,
+    GLuint index,
+    GLuint buffer,
+    GLint offset,
+    GLsizei size);
 void yagl_host_glGenTextures(const GLuint *textures, int32_t textures_count);
 void yagl_host_glBindTexture(GLenum target,
     GLuint texture);
@@ -366,6 +374,11 @@ void yagl_host_glGetActiveUniformsiv(GLuint program,
 void yagl_host_glGetUniformIndices(GLuint program,
     const GLchar *uniformNames, int32_t uniformNames_count,
     GLuint *uniformIndices, int32_t uniformIndices_maxcount, int32_t *uniformIndices_count);
+GLuint yagl_host_glGetUniformBlockIndex(GLuint program,
+    const GLchar *uniformBlockName, int32_t uniformBlockName_count);
+void yagl_host_glUniformBlockBinding(GLuint program,
+    GLuint uniformBlockIndex,
+    GLuint uniformBlockBinding);
 void yagl_host_glGetIntegerv(GLenum pname,
     GLint *params, int32_t params_maxcount, int32_t *params_count);
 void yagl_host_glGetFloatv(GLenum pname,
index a6d788b15c4b7fd843bd1a482ef0eeae62ae3e7c..8593a5bcfaa51701e29a87af8fd6a931fd820103 100644 (file)
@@ -211,6 +211,10 @@ struct yagl_gles_driver *yagl_gles_ogl_create(struct yagl_dyn_lib *dyn_lib,
         YAGL_GLES_OGL_GET_PROC(driver, DeleteVertexArrays, glDeleteVertexArrays);
         YAGL_GLES_OGL_GET_PROC(driver, GetActiveUniformsiv, glGetActiveUniformsiv);
         YAGL_GLES_OGL_GET_PROC(driver, GetUniformIndices, glGetUniformIndices);
+        YAGL_GLES_OGL_GET_PROC(driver, GetUniformBlockIndex, glGetUniformBlockIndex);
+        YAGL_GLES_OGL_GET_PROC(driver, UniformBlockBinding, glUniformBlockBinding);
+        YAGL_GLES_OGL_GET_PROC(driver, BindBufferBase, glBindBufferBase);
+        YAGL_GLES_OGL_GET_PROC(driver, BindBufferRange, glBindBufferRange);
     }
 
     driver->destroy = &yagl_gles_ogl_destroy;
index fe5cd5809adb001e5b520dd9854e7392b921c1d9..72c1326309c9aa837b8fd47a95c3d78b8b8a892e 100644 (file)
@@ -91,6 +91,8 @@ struct yagl_gles_driver
     YAGL_GLES_DRIVER_FUNC4(BufferData, GLenum, GLsizeiptr, const GLvoid*, GLenum, target, size, data, usage)
     YAGL_GLES_DRIVER_FUNC4(BufferSubData, GLenum, GLintptr, GLsizeiptr, const GLvoid*, target, offset, size, data)
     YAGL_GLES_DRIVER_FUNC2(DeleteBuffers, GLsizei, const GLuint*, n, buffers)
+    YAGL_GLES_DRIVER_FUNC3(BindBufferBase, GLenum, GLuint, GLuint, target, index, buffer)
+    YAGL_GLES_DRIVER_FUNC5(BindBufferRange, GLenum, GLuint, GLuint, GLintptr, GLsizeiptr, target, index, buffer, offset, size)
     YAGL_GLES_DRIVER_FUNC2(GenTextures, GLsizei, GLuint*, n, textures)
     YAGL_GLES_DRIVER_FUNC2(BindTexture, GLenum, GLuint, target, texture)
     YAGL_GLES_DRIVER_FUNC2(DeleteTextures, GLsizei, const GLuint*, n, textures)
@@ -180,6 +182,8 @@ struct yagl_gles_driver
     YAGL_GLES_DRIVER_FUNC2(VertexAttrib4fv, GLuint, const GLfloat*, indx, values)
     YAGL_GLES_DRIVER_FUNC5(GetActiveUniformsiv, GLuint, GLsizei, const GLuint*, GLenum, GLint*, program, uniformCount, uniformIndices, pname, params)
     YAGL_GLES_DRIVER_FUNC4(GetUniformIndices, GLuint, GLsizei, const GLchar* const*, GLuint*, program, uniformCount, uniformNames, uniformIndices)
+    YAGL_GLES_DRIVER_FUNC_RET2(GLuint, GetUniformBlockIndex, GLuint, const GLchar*, program, uniformBlockName);
+    YAGL_GLES_DRIVER_FUNC3(UniformBlockBinding, GLuint, GLuint, GLuint, program, uniformBlockIndex, uniformBlockBinding);
     YAGL_GLES_DRIVER_FUNC2(GetIntegerv, GLenum, GLint*, pname, params)
     YAGL_GLES_DRIVER_FUNC2(GetFloatv, GLenum, GLfloat*, pname, params)
     YAGL_GLES_DRIVER_FUNC_RET1(const GLubyte*, GetString, GLenum, name)