YaGL: glMapBuffer implemented 98/15498/1
authorStanislav Vorobiov <s.vorobiov@samsung.com>
Wed, 22 Jan 2014 09:16:18 +0000 (13:16 +0400)
committerStanislav Vorobiov <s.vorobiov@samsung.com>
Wed, 22 Jan 2014 09:16:18 +0000 (13:16 +0400)
To fully support GL_NV_pixel_buffer_object on
target

Change-Id: I74e3d47ec5b16242fb9213b1383e8c303c80e95f

hw/yagl/yagl_apis/gles/yagl_gles_calls.c
hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c
hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h

index 0caa123..1737f03 100644 (file)
@@ -548,7 +548,27 @@ static void yagl_func_glBindBufferRange(struct yagl_transport *t)
 }
 
 /*
- * glGenTextures dispatcher. id = 30
+ * glMapBuffer dispatcher. id = 30
+ */
+static void yagl_func_glMapBuffer(struct yagl_transport *t)
+{
+    GLuint buffer;
+    const GLuint *ranges;
+    int32_t ranges_count;
+    GLvoid *data;
+    int32_t data_maxcount;
+    int32_t *data_count;
+    buffer = yagl_transport_get_out_GLuint(t);
+    yagl_transport_get_out_array(t, sizeof(GLuint), (const void**)&ranges, &ranges_count);
+    yagl_transport_get_in_array(t, 1, (void**)&data, &data_maxcount, &data_count);
+    YAGL_LOG_FUNC_ENTER_SPLIT3(glMapBuffer, GLuint, void*, void*, buffer, ranges, data);
+    *data_count = 0;
+    (void)yagl_host_glMapBuffer(buffer, ranges, ranges_count, data, data_maxcount, data_count);
+    YAGL_LOG_FUNC_EXIT(NULL);
+}
+
+/*
+ * glGenTextures dispatcher. id = 31
  */
 static void yagl_func_glGenTextures(struct yagl_transport *t)
 {
@@ -561,7 +581,7 @@ static void yagl_func_glGenTextures(struct yagl_transport *t)
 }
 
 /*
- * glBindTexture dispatcher. id = 31
+ * glBindTexture dispatcher. id = 32
  */
 static void yagl_func_glBindTexture(struct yagl_transport *t)
 {
@@ -575,7 +595,7 @@ static void yagl_func_glBindTexture(struct yagl_transport *t)
 }
 
 /*
- * glActiveTexture dispatcher. id = 32
+ * glActiveTexture dispatcher. id = 33
  */
 static void yagl_func_glActiveTexture(struct yagl_transport *t)
 {
@@ -587,7 +607,7 @@ static void yagl_func_glActiveTexture(struct yagl_transport *t)
 }
 
 /*
- * glCopyTexImage2D dispatcher. id = 33
+ * glCopyTexImage2D dispatcher. id = 34
  */
 static void yagl_func_glCopyTexImage2D(struct yagl_transport *t)
 {
@@ -613,7 +633,7 @@ static void yagl_func_glCopyTexImage2D(struct yagl_transport *t)
 }
 
 /*
- * glCopyTexSubImage2D dispatcher. id = 34
+ * glCopyTexSubImage2D dispatcher. id = 35
  */
 static void yagl_func_glCopyTexSubImage2D(struct yagl_transport *t)
 {
@@ -639,7 +659,7 @@ static void yagl_func_glCopyTexSubImage2D(struct yagl_transport *t)
 }
 
 /*
- * glGetTexParameterfv dispatcher. id = 35
+ * glGetTexParameterfv dispatcher. id = 36
  */
 static void yagl_func_glGetTexParameterfv(struct yagl_transport *t)
 {
@@ -655,7 +675,7 @@ static void yagl_func_glGetTexParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glGetTexParameteriv dispatcher. id = 36
+ * glGetTexParameteriv dispatcher. id = 37
  */
 static void yagl_func_glGetTexParameteriv(struct yagl_transport *t)
 {
@@ -671,7 +691,7 @@ static void yagl_func_glGetTexParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glTexImage2DData dispatcher. id = 37
+ * glTexImage2DData dispatcher. id = 38
  */
 static void yagl_func_glTexImage2DData(struct yagl_transport *t)
 {
@@ -700,7 +720,7 @@ static void yagl_func_glTexImage2DData(struct yagl_transport *t)
 }
 
 /*
- * glTexImage2DOffset dispatcher. id = 38
+ * glTexImage2DOffset dispatcher. id = 39
  */
 static void yagl_func_glTexImage2DOffset(struct yagl_transport *t)
 {
@@ -728,7 +748,7 @@ static void yagl_func_glTexImage2DOffset(struct yagl_transport *t)
 }
 
 /*
- * glTexParameterf dispatcher. id = 39
+ * glTexParameterf dispatcher. id = 40
  */
 static void yagl_func_glTexParameterf(struct yagl_transport *t)
 {
@@ -744,7 +764,7 @@ static void yagl_func_glTexParameterf(struct yagl_transport *t)
 }
 
 /*
- * glTexParameterfv dispatcher. id = 40
+ * glTexParameterfv dispatcher. id = 41
  */
 static void yagl_func_glTexParameterfv(struct yagl_transport *t)
 {
@@ -761,7 +781,7 @@ static void yagl_func_glTexParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glTexParameteri dispatcher. id = 41
+ * glTexParameteri dispatcher. id = 42
  */
 static void yagl_func_glTexParameteri(struct yagl_transport *t)
 {
@@ -777,7 +797,7 @@ static void yagl_func_glTexParameteri(struct yagl_transport *t)
 }
 
 /*
- * glTexParameteriv dispatcher. id = 42
+ * glTexParameteriv dispatcher. id = 43
  */
 static void yagl_func_glTexParameteriv(struct yagl_transport *t)
 {
@@ -794,7 +814,7 @@ static void yagl_func_glTexParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glTexSubImage2DData dispatcher. id = 43
+ * glTexSubImage2DData dispatcher. id = 44
  */
 static void yagl_func_glTexSubImage2DData(struct yagl_transport *t)
 {
@@ -823,7 +843,7 @@ static void yagl_func_glTexSubImage2DData(struct yagl_transport *t)
 }
 
 /*
- * glTexSubImage2DOffset dispatcher. id = 44
+ * glTexSubImage2DOffset dispatcher. id = 45
  */
 static void yagl_func_glTexSubImage2DOffset(struct yagl_transport *t)
 {
@@ -851,7 +871,7 @@ static void yagl_func_glTexSubImage2DOffset(struct yagl_transport *t)
 }
 
 /*
- * glClientActiveTexture dispatcher. id = 45
+ * glClientActiveTexture dispatcher. id = 46
  */
 static void yagl_func_glClientActiveTexture(struct yagl_transport *t)
 {
@@ -863,7 +883,7 @@ static void yagl_func_glClientActiveTexture(struct yagl_transport *t)
 }
 
 /*
- * glTexEnvi dispatcher. id = 46
+ * glTexEnvi dispatcher. id = 47
  */
 static void yagl_func_glTexEnvi(struct yagl_transport *t)
 {
@@ -879,7 +899,7 @@ static void yagl_func_glTexEnvi(struct yagl_transport *t)
 }
 
 /*
- * glTexEnvf dispatcher. id = 47
+ * glTexEnvf dispatcher. id = 48
  */
 static void yagl_func_glTexEnvf(struct yagl_transport *t)
 {
@@ -895,7 +915,7 @@ static void yagl_func_glTexEnvf(struct yagl_transport *t)
 }
 
 /*
- * glMultiTexCoord4f dispatcher. id = 48
+ * glMultiTexCoord4f dispatcher. id = 49
  */
 static void yagl_func_glMultiTexCoord4f(struct yagl_transport *t)
 {
@@ -915,7 +935,7 @@ static void yagl_func_glMultiTexCoord4f(struct yagl_transport *t)
 }
 
 /*
- * glTexEnviv dispatcher. id = 49
+ * glTexEnviv dispatcher. id = 50
  */
 static void yagl_func_glTexEnviv(struct yagl_transport *t)
 {
@@ -932,7 +952,7 @@ static void yagl_func_glTexEnviv(struct yagl_transport *t)
 }
 
 /*
- * glTexEnvfv dispatcher. id = 50
+ * glTexEnvfv dispatcher. id = 51
  */
 static void yagl_func_glTexEnvfv(struct yagl_transport *t)
 {
@@ -949,7 +969,7 @@ static void yagl_func_glTexEnvfv(struct yagl_transport *t)
 }
 
 /*
- * glGetTexEnviv dispatcher. id = 51
+ * glGetTexEnviv dispatcher. id = 52
  */
 static void yagl_func_glGetTexEnviv(struct yagl_transport *t)
 {
@@ -968,7 +988,7 @@ static void yagl_func_glGetTexEnviv(struct yagl_transport *t)
 }
 
 /*
- * glGetTexEnvfv dispatcher. id = 52
+ * glGetTexEnvfv dispatcher. id = 53
  */
 static void yagl_func_glGetTexEnvfv(struct yagl_transport *t)
 {
@@ -987,7 +1007,7 @@ static void yagl_func_glGetTexEnvfv(struct yagl_transport *t)
 }
 
 /*
- * glTexImage3DData dispatcher. id = 53
+ * glTexImage3DData dispatcher. id = 54
  */
 static void yagl_func_glTexImage3DData(struct yagl_transport *t)
 {
@@ -1018,7 +1038,7 @@ static void yagl_func_glTexImage3DData(struct yagl_transport *t)
 }
 
 /*
- * glTexImage3DOffset dispatcher. id = 54
+ * glTexImage3DOffset dispatcher. id = 55
  */
 static void yagl_func_glTexImage3DOffset(struct yagl_transport *t)
 {
@@ -1048,7 +1068,7 @@ static void yagl_func_glTexImage3DOffset(struct yagl_transport *t)
 }
 
 /*
- * glTexSubImage3DData dispatcher. id = 55
+ * glTexSubImage3DData dispatcher. id = 56
  */
 static void yagl_func_glTexSubImage3DData(struct yagl_transport *t)
 {
@@ -1081,7 +1101,7 @@ static void yagl_func_glTexSubImage3DData(struct yagl_transport *t)
 }
 
 /*
- * glTexSubImage3DOffset dispatcher. id = 56
+ * glTexSubImage3DOffset dispatcher. id = 57
  */
 static void yagl_func_glTexSubImage3DOffset(struct yagl_transport *t)
 {
@@ -1113,7 +1133,7 @@ static void yagl_func_glTexSubImage3DOffset(struct yagl_transport *t)
 }
 
 /*
- * glCopyTexSubImage3D dispatcher. id = 57
+ * glCopyTexSubImage3D dispatcher. id = 58
  */
 static void yagl_func_glCopyTexSubImage3D(struct yagl_transport *t)
 {
@@ -1141,7 +1161,7 @@ static void yagl_func_glCopyTexSubImage3D(struct yagl_transport *t)
 }
 
 /*
- * glGenFramebuffers dispatcher. id = 58
+ * glGenFramebuffers dispatcher. id = 59
  */
 static void yagl_func_glGenFramebuffers(struct yagl_transport *t)
 {
@@ -1154,7 +1174,7 @@ static void yagl_func_glGenFramebuffers(struct yagl_transport *t)
 }
 
 /*
- * glBindFramebuffer dispatcher. id = 59
+ * glBindFramebuffer dispatcher. id = 60
  */
 static void yagl_func_glBindFramebuffer(struct yagl_transport *t)
 {
@@ -1168,7 +1188,7 @@ static void yagl_func_glBindFramebuffer(struct yagl_transport *t)
 }
 
 /*
- * glFramebufferTexture2D dispatcher. id = 60
+ * glFramebufferTexture2D dispatcher. id = 61
  */
 static void yagl_func_glFramebufferTexture2D(struct yagl_transport *t)
 {
@@ -1188,7 +1208,7 @@ static void yagl_func_glFramebufferTexture2D(struct yagl_transport *t)
 }
 
 /*
- * glFramebufferRenderbuffer dispatcher. id = 61
+ * glFramebufferRenderbuffer dispatcher. id = 62
  */
 static void yagl_func_glFramebufferRenderbuffer(struct yagl_transport *t)
 {
@@ -1206,7 +1226,7 @@ static void yagl_func_glFramebufferRenderbuffer(struct yagl_transport *t)
 }
 
 /*
- * glBlitFramebuffer dispatcher. id = 62
+ * glBlitFramebuffer dispatcher. id = 63
  */
 static void yagl_func_glBlitFramebuffer(struct yagl_transport *t)
 {
@@ -1236,7 +1256,7 @@ static void yagl_func_glBlitFramebuffer(struct yagl_transport *t)
 }
 
 /*
- * glDrawBuffers dispatcher. id = 63
+ * glDrawBuffers dispatcher. id = 64
  */
 static void yagl_func_glDrawBuffers(struct yagl_transport *t)
 {
@@ -1249,7 +1269,7 @@ static void yagl_func_glDrawBuffers(struct yagl_transport *t)
 }
 
 /*
- * glFramebufferTexture3D dispatcher. id = 64
+ * glFramebufferTexture3D dispatcher. id = 65
  */
 static void yagl_func_glFramebufferTexture3D(struct yagl_transport *t)
 {
@@ -1271,7 +1291,7 @@ static void yagl_func_glFramebufferTexture3D(struct yagl_transport *t)
 }
 
 /*
- * glFramebufferTextureLayer dispatcher. id = 65
+ * glFramebufferTextureLayer dispatcher. id = 66
  */
 static void yagl_func_glFramebufferTextureLayer(struct yagl_transport *t)
 {
@@ -1291,7 +1311,7 @@ static void yagl_func_glFramebufferTextureLayer(struct yagl_transport *t)
 }
 
 /*
- * glGenRenderbuffers dispatcher. id = 66
+ * glGenRenderbuffers dispatcher. id = 67
  */
 static void yagl_func_glGenRenderbuffers(struct yagl_transport *t)
 {
@@ -1304,7 +1324,7 @@ static void yagl_func_glGenRenderbuffers(struct yagl_transport *t)
 }
 
 /*
- * glBindRenderbuffer dispatcher. id = 67
+ * glBindRenderbuffer dispatcher. id = 68
  */
 static void yagl_func_glBindRenderbuffer(struct yagl_transport *t)
 {
@@ -1318,7 +1338,7 @@ static void yagl_func_glBindRenderbuffer(struct yagl_transport *t)
 }
 
 /*
- * glRenderbufferStorage dispatcher. id = 68
+ * glRenderbufferStorage dispatcher. id = 69
  */
 static void yagl_func_glRenderbufferStorage(struct yagl_transport *t)
 {
@@ -1336,7 +1356,7 @@ static void yagl_func_glRenderbufferStorage(struct yagl_transport *t)
 }
 
 /*
- * glGetRenderbufferParameteriv dispatcher. id = 69
+ * glGetRenderbufferParameteriv dispatcher. id = 70
  */
 static void yagl_func_glGetRenderbufferParameteriv(struct yagl_transport *t)
 {
@@ -1352,7 +1372,7 @@ static void yagl_func_glGetRenderbufferParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glCreateProgram dispatcher. id = 70
+ * glCreateProgram dispatcher. id = 71
  */
 static void yagl_func_glCreateProgram(struct yagl_transport *t)
 {
@@ -1364,7 +1384,7 @@ static void yagl_func_glCreateProgram(struct yagl_transport *t)
 }
 
 /*
- * glCreateShader dispatcher. id = 71
+ * glCreateShader dispatcher. id = 72
  */
 static void yagl_func_glCreateShader(struct yagl_transport *t)
 {
@@ -1378,7 +1398,7 @@ static void yagl_func_glCreateShader(struct yagl_transport *t)
 }
 
 /*
- * glShaderSource dispatcher. id = 72
+ * glShaderSource dispatcher. id = 73
  */
 static void yagl_func_glShaderSource(struct yagl_transport *t)
 {
@@ -1393,7 +1413,7 @@ static void yagl_func_glShaderSource(struct yagl_transport *t)
 }
 
 /*
- * glAttachShader dispatcher. id = 73
+ * glAttachShader dispatcher. id = 74
  */
 static void yagl_func_glAttachShader(struct yagl_transport *t)
 {
@@ -1407,7 +1427,7 @@ static void yagl_func_glAttachShader(struct yagl_transport *t)
 }
 
 /*
- * glDetachShader dispatcher. id = 74
+ * glDetachShader dispatcher. id = 75
  */
 static void yagl_func_glDetachShader(struct yagl_transport *t)
 {
@@ -1421,7 +1441,7 @@ static void yagl_func_glDetachShader(struct yagl_transport *t)
 }
 
 /*
- * glCompileShader dispatcher. id = 75
+ * glCompileShader dispatcher. id = 76
  */
 static void yagl_func_glCompileShader(struct yagl_transport *t)
 {
@@ -1433,7 +1453,7 @@ static void yagl_func_glCompileShader(struct yagl_transport *t)
 }
 
 /*
- * glBindAttribLocation dispatcher. id = 76
+ * glBindAttribLocation dispatcher. id = 77
  */
 static void yagl_func_glBindAttribLocation(struct yagl_transport *t)
 {
@@ -1450,7 +1470,7 @@ static void yagl_func_glBindAttribLocation(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveAttrib dispatcher. id = 77
+ * glGetActiveAttrib dispatcher. id = 78
  */
 static void yagl_func_glGetActiveAttrib(struct yagl_transport *t)
 {
@@ -1473,7 +1493,7 @@ static void yagl_func_glGetActiveAttrib(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveUniform dispatcher. id = 78
+ * glGetActiveUniform dispatcher. id = 79
  */
 static void yagl_func_glGetActiveUniform(struct yagl_transport *t)
 {
@@ -1496,7 +1516,7 @@ static void yagl_func_glGetActiveUniform(struct yagl_transport *t)
 }
 
 /*
- * glGetAttribLocation dispatcher. id = 79
+ * glGetAttribLocation dispatcher. id = 80
  */
 static void yagl_func_glGetAttribLocation(struct yagl_transport *t)
 {
@@ -1513,7 +1533,7 @@ static void yagl_func_glGetAttribLocation(struct yagl_transport *t)
 }
 
 /*
- * glGetProgramiv dispatcher. id = 80
+ * glGetProgramiv dispatcher. id = 81
  */
 static void yagl_func_glGetProgramiv(struct yagl_transport *t)
 {
@@ -1529,7 +1549,7 @@ static void yagl_func_glGetProgramiv(struct yagl_transport *t)
 }
 
 /*
- * glGetProgramInfoLog dispatcher. id = 81
+ * glGetProgramInfoLog dispatcher. id = 82
  */
 static void yagl_func_glGetProgramInfoLog(struct yagl_transport *t)
 {
@@ -1548,7 +1568,7 @@ static void yagl_func_glGetProgramInfoLog(struct yagl_transport *t)
 }
 
 /*
- * glGetShaderiv dispatcher. id = 82
+ * glGetShaderiv dispatcher. id = 83
  */
 static void yagl_func_glGetShaderiv(struct yagl_transport *t)
 {
@@ -1564,7 +1584,7 @@ static void yagl_func_glGetShaderiv(struct yagl_transport *t)
 }
 
 /*
- * glGetShaderInfoLog dispatcher. id = 83
+ * glGetShaderInfoLog dispatcher. id = 84
  */
 static void yagl_func_glGetShaderInfoLog(struct yagl_transport *t)
 {
@@ -1583,7 +1603,7 @@ static void yagl_func_glGetShaderInfoLog(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformfv dispatcher. id = 84
+ * glGetUniformfv dispatcher. id = 85
  */
 static void yagl_func_glGetUniformfv(struct yagl_transport *t)
 {
@@ -1604,7 +1624,7 @@ static void yagl_func_glGetUniformfv(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformiv dispatcher. id = 85
+ * glGetUniformiv dispatcher. id = 86
  */
 static void yagl_func_glGetUniformiv(struct yagl_transport *t)
 {
@@ -1625,7 +1645,7 @@ static void yagl_func_glGetUniformiv(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformLocation dispatcher. id = 86
+ * glGetUniformLocation dispatcher. id = 87
  */
 static void yagl_func_glGetUniformLocation(struct yagl_transport *t)
 {
@@ -1642,7 +1662,7 @@ static void yagl_func_glGetUniformLocation(struct yagl_transport *t)
 }
 
 /*
- * glGetVertexAttribfv dispatcher. id = 87
+ * glGetVertexAttribfv dispatcher. id = 88
  */
 static void yagl_func_glGetVertexAttribfv(struct yagl_transport *t)
 {
@@ -1661,7 +1681,7 @@ static void yagl_func_glGetVertexAttribfv(struct yagl_transport *t)
 }
 
 /*
- * glGetVertexAttribiv dispatcher. id = 88
+ * glGetVertexAttribiv dispatcher. id = 89
  */
 static void yagl_func_glGetVertexAttribiv(struct yagl_transport *t)
 {
@@ -1680,7 +1700,7 @@ static void yagl_func_glGetVertexAttribiv(struct yagl_transport *t)
 }
 
 /*
- * glLinkProgram dispatcher. id = 89
+ * glLinkProgram dispatcher. id = 90
  */
 static void yagl_func_glLinkProgram(struct yagl_transport *t)
 {
@@ -1697,7 +1717,7 @@ static void yagl_func_glLinkProgram(struct yagl_transport *t)
 }
 
 /*
- * glUniform1f dispatcher. id = 90
+ * glUniform1f dispatcher. id = 91
  */
 static void yagl_func_glUniform1f(struct yagl_transport *t)
 {
@@ -1713,7 +1733,7 @@ static void yagl_func_glUniform1f(struct yagl_transport *t)
 }
 
 /*
- * glUniform1fv dispatcher. id = 91
+ * glUniform1fv dispatcher. id = 92
  */
 static void yagl_func_glUniform1fv(struct yagl_transport *t)
 {
@@ -1730,7 +1750,7 @@ static void yagl_func_glUniform1fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform1i dispatcher. id = 92
+ * glUniform1i dispatcher. id = 93
  */
 static void yagl_func_glUniform1i(struct yagl_transport *t)
 {
@@ -1746,7 +1766,7 @@ static void yagl_func_glUniform1i(struct yagl_transport *t)
 }
 
 /*
- * glUniform1iv dispatcher. id = 93
+ * glUniform1iv dispatcher. id = 94
  */
 static void yagl_func_glUniform1iv(struct yagl_transport *t)
 {
@@ -1763,7 +1783,7 @@ static void yagl_func_glUniform1iv(struct yagl_transport *t)
 }
 
 /*
- * glUniform2f dispatcher. id = 94
+ * glUniform2f dispatcher. id = 95
  */
 static void yagl_func_glUniform2f(struct yagl_transport *t)
 {
@@ -1781,7 +1801,7 @@ static void yagl_func_glUniform2f(struct yagl_transport *t)
 }
 
 /*
- * glUniform2fv dispatcher. id = 95
+ * glUniform2fv dispatcher. id = 96
  */
 static void yagl_func_glUniform2fv(struct yagl_transport *t)
 {
@@ -1798,7 +1818,7 @@ static void yagl_func_glUniform2fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform2i dispatcher. id = 96
+ * glUniform2i dispatcher. id = 97
  */
 static void yagl_func_glUniform2i(struct yagl_transport *t)
 {
@@ -1816,7 +1836,7 @@ static void yagl_func_glUniform2i(struct yagl_transport *t)
 }
 
 /*
- * glUniform2iv dispatcher. id = 97
+ * glUniform2iv dispatcher. id = 98
  */
 static void yagl_func_glUniform2iv(struct yagl_transport *t)
 {
@@ -1833,7 +1853,7 @@ static void yagl_func_glUniform2iv(struct yagl_transport *t)
 }
 
 /*
- * glUniform3f dispatcher. id = 98
+ * glUniform3f dispatcher. id = 99
  */
 static void yagl_func_glUniform3f(struct yagl_transport *t)
 {
@@ -1853,7 +1873,7 @@ static void yagl_func_glUniform3f(struct yagl_transport *t)
 }
 
 /*
- * glUniform3fv dispatcher. id = 99
+ * glUniform3fv dispatcher. id = 100
  */
 static void yagl_func_glUniform3fv(struct yagl_transport *t)
 {
@@ -1870,7 +1890,7 @@ static void yagl_func_glUniform3fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform3i dispatcher. id = 100
+ * glUniform3i dispatcher. id = 101
  */
 static void yagl_func_glUniform3i(struct yagl_transport *t)
 {
@@ -1890,7 +1910,7 @@ static void yagl_func_glUniform3i(struct yagl_transport *t)
 }
 
 /*
- * glUniform3iv dispatcher. id = 101
+ * glUniform3iv dispatcher. id = 102
  */
 static void yagl_func_glUniform3iv(struct yagl_transport *t)
 {
@@ -1907,7 +1927,7 @@ static void yagl_func_glUniform3iv(struct yagl_transport *t)
 }
 
 /*
- * glUniform4f dispatcher. id = 102
+ * glUniform4f dispatcher. id = 103
  */
 static void yagl_func_glUniform4f(struct yagl_transport *t)
 {
@@ -1929,7 +1949,7 @@ static void yagl_func_glUniform4f(struct yagl_transport *t)
 }
 
 /*
- * glUniform4fv dispatcher. id = 103
+ * glUniform4fv dispatcher. id = 104
  */
 static void yagl_func_glUniform4fv(struct yagl_transport *t)
 {
@@ -1946,7 +1966,7 @@ static void yagl_func_glUniform4fv(struct yagl_transport *t)
 }
 
 /*
- * glUniform4i dispatcher. id = 104
+ * glUniform4i dispatcher. id = 105
  */
 static void yagl_func_glUniform4i(struct yagl_transport *t)
 {
@@ -1968,7 +1988,7 @@ static void yagl_func_glUniform4i(struct yagl_transport *t)
 }
 
 /*
- * glUniform4iv dispatcher. id = 105
+ * glUniform4iv dispatcher. id = 106
  */
 static void yagl_func_glUniform4iv(struct yagl_transport *t)
 {
@@ -1985,7 +2005,7 @@ static void yagl_func_glUniform4iv(struct yagl_transport *t)
 }
 
 /*
- * glUniformMatrix2fv dispatcher. id = 106
+ * glUniformMatrix2fv dispatcher. id = 107
  */
 static void yagl_func_glUniformMatrix2fv(struct yagl_transport *t)
 {
@@ -2004,7 +2024,7 @@ static void yagl_func_glUniformMatrix2fv(struct yagl_transport *t)
 }
 
 /*
- * glUniformMatrix3fv dispatcher. id = 107
+ * glUniformMatrix3fv dispatcher. id = 108
  */
 static void yagl_func_glUniformMatrix3fv(struct yagl_transport *t)
 {
@@ -2023,7 +2043,7 @@ static void yagl_func_glUniformMatrix3fv(struct yagl_transport *t)
 }
 
 /*
- * glUniformMatrix4fv dispatcher. id = 108
+ * glUniformMatrix4fv dispatcher. id = 109
  */
 static void yagl_func_glUniformMatrix4fv(struct yagl_transport *t)
 {
@@ -2042,7 +2062,7 @@ static void yagl_func_glUniformMatrix4fv(struct yagl_transport *t)
 }
 
 /*
- * glUseProgram dispatcher. id = 109
+ * glUseProgram dispatcher. id = 110
  */
 static void yagl_func_glUseProgram(struct yagl_transport *t)
 {
@@ -2054,7 +2074,7 @@ static void yagl_func_glUseProgram(struct yagl_transport *t)
 }
 
 /*
- * glValidateProgram dispatcher. id = 110
+ * glValidateProgram dispatcher. id = 111
  */
 static void yagl_func_glValidateProgram(struct yagl_transport *t)
 {
@@ -2066,7 +2086,7 @@ static void yagl_func_glValidateProgram(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib1f dispatcher. id = 111
+ * glVertexAttrib1f dispatcher. id = 112
  */
 static void yagl_func_glVertexAttrib1f(struct yagl_transport *t)
 {
@@ -2080,7 +2100,7 @@ static void yagl_func_glVertexAttrib1f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib1fv dispatcher. id = 112
+ * glVertexAttrib1fv dispatcher. id = 113
  */
 static void yagl_func_glVertexAttrib1fv(struct yagl_transport *t)
 {
@@ -2095,7 +2115,7 @@ static void yagl_func_glVertexAttrib1fv(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib2f dispatcher. id = 113
+ * glVertexAttrib2f dispatcher. id = 114
  */
 static void yagl_func_glVertexAttrib2f(struct yagl_transport *t)
 {
@@ -2111,7 +2131,7 @@ static void yagl_func_glVertexAttrib2f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib2fv dispatcher. id = 114
+ * glVertexAttrib2fv dispatcher. id = 115
  */
 static void yagl_func_glVertexAttrib2fv(struct yagl_transport *t)
 {
@@ -2126,7 +2146,7 @@ static void yagl_func_glVertexAttrib2fv(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib3f dispatcher. id = 115
+ * glVertexAttrib3f dispatcher. id = 116
  */
 static void yagl_func_glVertexAttrib3f(struct yagl_transport *t)
 {
@@ -2144,7 +2164,7 @@ static void yagl_func_glVertexAttrib3f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib3fv dispatcher. id = 116
+ * glVertexAttrib3fv dispatcher. id = 117
  */
 static void yagl_func_glVertexAttrib3fv(struct yagl_transport *t)
 {
@@ -2159,7 +2179,7 @@ static void yagl_func_glVertexAttrib3fv(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib4f dispatcher. id = 117
+ * glVertexAttrib4f dispatcher. id = 118
  */
 static void yagl_func_glVertexAttrib4f(struct yagl_transport *t)
 {
@@ -2179,7 +2199,7 @@ static void yagl_func_glVertexAttrib4f(struct yagl_transport *t)
 }
 
 /*
- * glVertexAttrib4fv dispatcher. id = 118
+ * glVertexAttrib4fv dispatcher. id = 119
  */
 static void yagl_func_glVertexAttrib4fv(struct yagl_transport *t)
 {
@@ -2194,7 +2214,7 @@ static void yagl_func_glVertexAttrib4fv(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveUniformsiv dispatcher. id = 119
+ * glGetActiveUniformsiv dispatcher. id = 120
  */
 static void yagl_func_glGetActiveUniformsiv(struct yagl_transport *t)
 {
@@ -2214,7 +2234,7 @@ static void yagl_func_glGetActiveUniformsiv(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformIndices dispatcher. id = 120
+ * glGetUniformIndices dispatcher. id = 121
  */
 static void yagl_func_glGetUniformIndices(struct yagl_transport *t)
 {
@@ -2234,7 +2254,7 @@ static void yagl_func_glGetUniformIndices(struct yagl_transport *t)
 }
 
 /*
- * glGetUniformBlockIndex dispatcher. id = 121
+ * glGetUniformBlockIndex dispatcher. id = 122
  */
 static void yagl_func_glGetUniformBlockIndex(struct yagl_transport *t)
 {
@@ -2251,7 +2271,7 @@ static void yagl_func_glGetUniformBlockIndex(struct yagl_transport *t)
 }
 
 /*
- * glUniformBlockBinding dispatcher. id = 122
+ * glUniformBlockBinding dispatcher. id = 123
  */
 static void yagl_func_glUniformBlockBinding(struct yagl_transport *t)
 {
@@ -2267,7 +2287,7 @@ static void yagl_func_glUniformBlockBinding(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveUniformBlockName dispatcher. id = 123
+ * glGetActiveUniformBlockName dispatcher. id = 124
  */
 static void yagl_func_glGetActiveUniformBlockName(struct yagl_transport *t)
 {
@@ -2286,7 +2306,7 @@ static void yagl_func_glGetActiveUniformBlockName(struct yagl_transport *t)
 }
 
 /*
- * glGetActiveUniformBlockiv dispatcher. id = 124
+ * glGetActiveUniformBlockiv dispatcher. id = 125
  */
 static void yagl_func_glGetActiveUniformBlockiv(struct yagl_transport *t)
 {
@@ -2307,7 +2327,7 @@ static void yagl_func_glGetActiveUniformBlockiv(struct yagl_transport *t)
 }
 
 /*
- * glGetIntegerv dispatcher. id = 125
+ * glGetIntegerv dispatcher. id = 126
  */
 static void yagl_func_glGetIntegerv(struct yagl_transport *t)
 {
@@ -2324,7 +2344,7 @@ static void yagl_func_glGetIntegerv(struct yagl_transport *t)
 }
 
 /*
- * glGetFloatv dispatcher. id = 126
+ * glGetFloatv dispatcher. id = 127
  */
 static void yagl_func_glGetFloatv(struct yagl_transport *t)
 {
@@ -2341,7 +2361,7 @@ static void yagl_func_glGetFloatv(struct yagl_transport *t)
 }
 
 /*
- * glGetString dispatcher. id = 127
+ * glGetString dispatcher. id = 128
  */
 static void yagl_func_glGetString(struct yagl_transport *t)
 {
@@ -2358,7 +2378,7 @@ static void yagl_func_glGetString(struct yagl_transport *t)
 }
 
 /*
- * glIsEnabled dispatcher. id = 128
+ * glIsEnabled dispatcher. id = 129
  */
 static void yagl_func_glIsEnabled(struct yagl_transport *t)
 {
@@ -2372,7 +2392,7 @@ static void yagl_func_glIsEnabled(struct yagl_transport *t)
 }
 
 /*
- * glGenTransformFeedbacks dispatcher. id = 129
+ * glGenTransformFeedbacks dispatcher. id = 130
  */
 static void yagl_func_glGenTransformFeedbacks(struct yagl_transport *t)
 {
@@ -2385,7 +2405,7 @@ static void yagl_func_glGenTransformFeedbacks(struct yagl_transport *t)
 }
 
 /*
- * glBindTransformFeedback dispatcher. id = 130
+ * glBindTransformFeedback dispatcher. id = 131
  */
 static void yagl_func_glBindTransformFeedback(struct yagl_transport *t)
 {
@@ -2399,7 +2419,7 @@ static void yagl_func_glBindTransformFeedback(struct yagl_transport *t)
 }
 
 /*
- * glBeginTransformFeedback dispatcher. id = 131
+ * glBeginTransformFeedback dispatcher. id = 132
  */
 static void yagl_func_glBeginTransformFeedback(struct yagl_transport *t)
 {
@@ -2411,7 +2431,7 @@ static void yagl_func_glBeginTransformFeedback(struct yagl_transport *t)
 }
 
 /*
- * glEndTransformFeedback dispatcher. id = 132
+ * glEndTransformFeedback dispatcher. id = 133
  */
 static void yagl_func_glEndTransformFeedback(struct yagl_transport *t)
 {
@@ -2421,7 +2441,7 @@ static void yagl_func_glEndTransformFeedback(struct yagl_transport *t)
 }
 
 /*
- * glPauseTransformFeedback dispatcher. id = 133
+ * glPauseTransformFeedback dispatcher. id = 134
  */
 static void yagl_func_glPauseTransformFeedback(struct yagl_transport *t)
 {
@@ -2431,7 +2451,7 @@ static void yagl_func_glPauseTransformFeedback(struct yagl_transport *t)
 }
 
 /*
- * glResumeTransformFeedback dispatcher. id = 134
+ * glResumeTransformFeedback dispatcher. id = 135
  */
 static void yagl_func_glResumeTransformFeedback(struct yagl_transport *t)
 {
@@ -2441,7 +2461,7 @@ static void yagl_func_glResumeTransformFeedback(struct yagl_transport *t)
 }
 
 /*
- * glTransformFeedbackVaryings dispatcher. id = 135
+ * glTransformFeedbackVaryings dispatcher. id = 136
  */
 static void yagl_func_glTransformFeedbackVaryings(struct yagl_transport *t)
 {
@@ -2458,7 +2478,7 @@ static void yagl_func_glTransformFeedbackVaryings(struct yagl_transport *t)
 }
 
 /*
- * glGetTransformFeedbackVaryings dispatcher. id = 136
+ * glGetTransformFeedbackVaryings dispatcher. id = 137
  */
 static void yagl_func_glGetTransformFeedbackVaryings(struct yagl_transport *t)
 {
@@ -2480,7 +2500,7 @@ static void yagl_func_glGetTransformFeedbackVaryings(struct yagl_transport *t)
 }
 
 /*
- * glGenQueries dispatcher. id = 137
+ * glGenQueries dispatcher. id = 138
  */
 static void yagl_func_glGenQueries(struct yagl_transport *t)
 {
@@ -2493,7 +2513,7 @@ static void yagl_func_glGenQueries(struct yagl_transport *t)
 }
 
 /*
- * glBeginQuery dispatcher. id = 138
+ * glBeginQuery dispatcher. id = 139
  */
 static void yagl_func_glBeginQuery(struct yagl_transport *t)
 {
@@ -2507,7 +2527,7 @@ static void yagl_func_glBeginQuery(struct yagl_transport *t)
 }
 
 /*
- * glEndQuery dispatcher. id = 139
+ * glEndQuery dispatcher. id = 140
  */
 static void yagl_func_glEndQuery(struct yagl_transport *t)
 {
@@ -2519,7 +2539,7 @@ static void yagl_func_glEndQuery(struct yagl_transport *t)
 }
 
 /*
- * glGetQueryObjectuiv dispatcher. id = 140
+ * glGetQueryObjectuiv dispatcher. id = 141
  */
 static void yagl_func_glGetQueryObjectuiv(struct yagl_transport *t)
 {
@@ -2535,7 +2555,7 @@ static void yagl_func_glGetQueryObjectuiv(struct yagl_transport *t)
 }
 
 /*
- * glGenSamplers dispatcher. id = 141
+ * glGenSamplers dispatcher. id = 142
  */
 static void yagl_func_glGenSamplers(struct yagl_transport *t)
 {
@@ -2548,7 +2568,7 @@ static void yagl_func_glGenSamplers(struct yagl_transport *t)
 }
 
 /*
- * glBindSampler dispatcher. id = 142
+ * glBindSampler dispatcher. id = 143
  */
 static void yagl_func_glBindSampler(struct yagl_transport *t)
 {
@@ -2562,7 +2582,7 @@ static void yagl_func_glBindSampler(struct yagl_transport *t)
 }
 
 /*
- * glSamplerParameteri dispatcher. id = 143
+ * glSamplerParameteri dispatcher. id = 144
  */
 static void yagl_func_glSamplerParameteri(struct yagl_transport *t)
 {
@@ -2578,7 +2598,7 @@ static void yagl_func_glSamplerParameteri(struct yagl_transport *t)
 }
 
 /*
- * glSamplerParameteriv dispatcher. id = 144
+ * glSamplerParameteriv dispatcher. id = 145
  */
 static void yagl_func_glSamplerParameteriv(struct yagl_transport *t)
 {
@@ -2595,7 +2615,7 @@ static void yagl_func_glSamplerParameteriv(struct yagl_transport *t)
 }
 
 /*
- * glSamplerParameterf dispatcher. id = 145
+ * glSamplerParameterf dispatcher. id = 146
  */
 static void yagl_func_glSamplerParameterf(struct yagl_transport *t)
 {
@@ -2611,7 +2631,7 @@ static void yagl_func_glSamplerParameterf(struct yagl_transport *t)
 }
 
 /*
- * glSamplerParameterfv dispatcher. id = 146
+ * glSamplerParameterfv dispatcher. id = 147
  */
 static void yagl_func_glSamplerParameterfv(struct yagl_transport *t)
 {
@@ -2628,7 +2648,7 @@ static void yagl_func_glSamplerParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glDeleteObjects dispatcher. id = 147
+ * glDeleteObjects dispatcher. id = 148
  */
 static void yagl_func_glDeleteObjects(struct yagl_transport *t)
 {
@@ -2641,7 +2661,7 @@ static void yagl_func_glDeleteObjects(struct yagl_transport *t)
 }
 
 /*
- * glBlendEquation dispatcher. id = 148
+ * glBlendEquation dispatcher. id = 149
  */
 static void yagl_func_glBlendEquation(struct yagl_transport *t)
 {
@@ -2653,7 +2673,7 @@ static void yagl_func_glBlendEquation(struct yagl_transport *t)
 }
 
 /*
- * glBlendEquationSeparate dispatcher. id = 149
+ * glBlendEquationSeparate dispatcher. id = 150
  */
 static void yagl_func_glBlendEquationSeparate(struct yagl_transport *t)
 {
@@ -2667,7 +2687,7 @@ static void yagl_func_glBlendEquationSeparate(struct yagl_transport *t)
 }
 
 /*
- * glBlendFunc dispatcher. id = 150
+ * glBlendFunc dispatcher. id = 151
  */
 static void yagl_func_glBlendFunc(struct yagl_transport *t)
 {
@@ -2681,7 +2701,7 @@ static void yagl_func_glBlendFunc(struct yagl_transport *t)
 }
 
 /*
- * glBlendFuncSeparate dispatcher. id = 151
+ * glBlendFuncSeparate dispatcher. id = 152
  */
 static void yagl_func_glBlendFuncSeparate(struct yagl_transport *t)
 {
@@ -2699,7 +2719,7 @@ static void yagl_func_glBlendFuncSeparate(struct yagl_transport *t)
 }
 
 /*
- * glBlendColor dispatcher. id = 152
+ * glBlendColor dispatcher. id = 153
  */
 static void yagl_func_glBlendColor(struct yagl_transport *t)
 {
@@ -2717,7 +2737,7 @@ static void yagl_func_glBlendColor(struct yagl_transport *t)
 }
 
 /*
- * glClear dispatcher. id = 153
+ * glClear dispatcher. id = 154
  */
 static void yagl_func_glClear(struct yagl_transport *t)
 {
@@ -2729,7 +2749,7 @@ static void yagl_func_glClear(struct yagl_transport *t)
 }
 
 /*
- * glClearColor dispatcher. id = 154
+ * glClearColor dispatcher. id = 155
  */
 static void yagl_func_glClearColor(struct yagl_transport *t)
 {
@@ -2747,7 +2767,7 @@ static void yagl_func_glClearColor(struct yagl_transport *t)
 }
 
 /*
- * glClearDepthf dispatcher. id = 155
+ * glClearDepthf dispatcher. id = 156
  */
 static void yagl_func_glClearDepthf(struct yagl_transport *t)
 {
@@ -2759,7 +2779,7 @@ static void yagl_func_glClearDepthf(struct yagl_transport *t)
 }
 
 /*
- * glClearStencil dispatcher. id = 156
+ * glClearStencil dispatcher. id = 157
  */
 static void yagl_func_glClearStencil(struct yagl_transport *t)
 {
@@ -2771,7 +2791,7 @@ static void yagl_func_glClearStencil(struct yagl_transport *t)
 }
 
 /*
- * glColorMask dispatcher. id = 157
+ * glColorMask dispatcher. id = 158
  */
 static void yagl_func_glColorMask(struct yagl_transport *t)
 {
@@ -2789,7 +2809,7 @@ static void yagl_func_glColorMask(struct yagl_transport *t)
 }
 
 /*
- * glCullFace dispatcher. id = 158
+ * glCullFace dispatcher. id = 159
  */
 static void yagl_func_glCullFace(struct yagl_transport *t)
 {
@@ -2801,7 +2821,7 @@ static void yagl_func_glCullFace(struct yagl_transport *t)
 }
 
 /*
- * glDepthFunc dispatcher. id = 159
+ * glDepthFunc dispatcher. id = 160
  */
 static void yagl_func_glDepthFunc(struct yagl_transport *t)
 {
@@ -2813,7 +2833,7 @@ static void yagl_func_glDepthFunc(struct yagl_transport *t)
 }
 
 /*
- * glDepthMask dispatcher. id = 160
+ * glDepthMask dispatcher. id = 161
  */
 static void yagl_func_glDepthMask(struct yagl_transport *t)
 {
@@ -2825,7 +2845,7 @@ static void yagl_func_glDepthMask(struct yagl_transport *t)
 }
 
 /*
- * glDepthRangef dispatcher. id = 161
+ * glDepthRangef dispatcher. id = 162
  */
 static void yagl_func_glDepthRangef(struct yagl_transport *t)
 {
@@ -2839,7 +2859,7 @@ static void yagl_func_glDepthRangef(struct yagl_transport *t)
 }
 
 /*
- * glEnable dispatcher. id = 162
+ * glEnable dispatcher. id = 163
  */
 static void yagl_func_glEnable(struct yagl_transport *t)
 {
@@ -2851,7 +2871,7 @@ static void yagl_func_glEnable(struct yagl_transport *t)
 }
 
 /*
- * glDisable dispatcher. id = 163
+ * glDisable dispatcher. id = 164
  */
 static void yagl_func_glDisable(struct yagl_transport *t)
 {
@@ -2863,7 +2883,7 @@ static void yagl_func_glDisable(struct yagl_transport *t)
 }
 
 /*
- * glFlush dispatcher. id = 164
+ * glFlush dispatcher. id = 165
  */
 static void yagl_func_glFlush(struct yagl_transport *t)
 {
@@ -2873,7 +2893,7 @@ static void yagl_func_glFlush(struct yagl_transport *t)
 }
 
 /*
- * glFrontFace dispatcher. id = 165
+ * glFrontFace dispatcher. id = 166
  */
 static void yagl_func_glFrontFace(struct yagl_transport *t)
 {
@@ -2885,7 +2905,7 @@ static void yagl_func_glFrontFace(struct yagl_transport *t)
 }
 
 /*
- * glGenerateMipmap dispatcher. id = 166
+ * glGenerateMipmap dispatcher. id = 167
  */
 static void yagl_func_glGenerateMipmap(struct yagl_transport *t)
 {
@@ -2897,7 +2917,7 @@ static void yagl_func_glGenerateMipmap(struct yagl_transport *t)
 }
 
 /*
- * glHint dispatcher. id = 167
+ * glHint dispatcher. id = 168
  */
 static void yagl_func_glHint(struct yagl_transport *t)
 {
@@ -2911,7 +2931,7 @@ static void yagl_func_glHint(struct yagl_transport *t)
 }
 
 /*
- * glLineWidth dispatcher. id = 168
+ * glLineWidth dispatcher. id = 169
  */
 static void yagl_func_glLineWidth(struct yagl_transport *t)
 {
@@ -2923,7 +2943,7 @@ static void yagl_func_glLineWidth(struct yagl_transport *t)
 }
 
 /*
- * glPixelStorei dispatcher. id = 169
+ * glPixelStorei dispatcher. id = 170
  */
 static void yagl_func_glPixelStorei(struct yagl_transport *t)
 {
@@ -2937,7 +2957,7 @@ static void yagl_func_glPixelStorei(struct yagl_transport *t)
 }
 
 /*
- * glPolygonOffset dispatcher. id = 170
+ * glPolygonOffset dispatcher. id = 171
  */
 static void yagl_func_glPolygonOffset(struct yagl_transport *t)
 {
@@ -2951,7 +2971,7 @@ static void yagl_func_glPolygonOffset(struct yagl_transport *t)
 }
 
 /*
- * glScissor dispatcher. id = 171
+ * glScissor dispatcher. id = 172
  */
 static void yagl_func_glScissor(struct yagl_transport *t)
 {
@@ -2969,7 +2989,7 @@ static void yagl_func_glScissor(struct yagl_transport *t)
 }
 
 /*
- * glStencilFunc dispatcher. id = 172
+ * glStencilFunc dispatcher. id = 173
  */
 static void yagl_func_glStencilFunc(struct yagl_transport *t)
 {
@@ -2985,7 +3005,7 @@ static void yagl_func_glStencilFunc(struct yagl_transport *t)
 }
 
 /*
- * glStencilMask dispatcher. id = 173
+ * glStencilMask dispatcher. id = 174
  */
 static void yagl_func_glStencilMask(struct yagl_transport *t)
 {
@@ -2997,7 +3017,7 @@ static void yagl_func_glStencilMask(struct yagl_transport *t)
 }
 
 /*
- * glStencilOp dispatcher. id = 174
+ * glStencilOp dispatcher. id = 175
  */
 static void yagl_func_glStencilOp(struct yagl_transport *t)
 {
@@ -3013,7 +3033,7 @@ static void yagl_func_glStencilOp(struct yagl_transport *t)
 }
 
 /*
- * glSampleCoverage dispatcher. id = 175
+ * glSampleCoverage dispatcher. id = 176
  */
 static void yagl_func_glSampleCoverage(struct yagl_transport *t)
 {
@@ -3027,7 +3047,7 @@ static void yagl_func_glSampleCoverage(struct yagl_transport *t)
 }
 
 /*
- * glViewport dispatcher. id = 176
+ * glViewport dispatcher. id = 177
  */
 static void yagl_func_glViewport(struct yagl_transport *t)
 {
@@ -3045,7 +3065,7 @@ static void yagl_func_glViewport(struct yagl_transport *t)
 }
 
 /*
- * glStencilFuncSeparate dispatcher. id = 177
+ * glStencilFuncSeparate dispatcher. id = 178
  */
 static void yagl_func_glStencilFuncSeparate(struct yagl_transport *t)
 {
@@ -3063,7 +3083,7 @@ static void yagl_func_glStencilFuncSeparate(struct yagl_transport *t)
 }
 
 /*
- * glStencilMaskSeparate dispatcher. id = 178
+ * glStencilMaskSeparate dispatcher. id = 179
  */
 static void yagl_func_glStencilMaskSeparate(struct yagl_transport *t)
 {
@@ -3077,7 +3097,7 @@ static void yagl_func_glStencilMaskSeparate(struct yagl_transport *t)
 }
 
 /*
- * glStencilOpSeparate dispatcher. id = 179
+ * glStencilOpSeparate dispatcher. id = 180
  */
 static void yagl_func_glStencilOpSeparate(struct yagl_transport *t)
 {
@@ -3095,7 +3115,7 @@ static void yagl_func_glStencilOpSeparate(struct yagl_transport *t)
 }
 
 /*
- * glPointSize dispatcher. id = 180
+ * glPointSize dispatcher. id = 181
  */
 static void yagl_func_glPointSize(struct yagl_transport *t)
 {
@@ -3107,7 +3127,7 @@ static void yagl_func_glPointSize(struct yagl_transport *t)
 }
 
 /*
- * glAlphaFunc dispatcher. id = 181
+ * glAlphaFunc dispatcher. id = 182
  */
 static void yagl_func_glAlphaFunc(struct yagl_transport *t)
 {
@@ -3121,7 +3141,7 @@ static void yagl_func_glAlphaFunc(struct yagl_transport *t)
 }
 
 /*
- * glMatrixMode dispatcher. id = 182
+ * glMatrixMode dispatcher. id = 183
  */
 static void yagl_func_glMatrixMode(struct yagl_transport *t)
 {
@@ -3133,7 +3153,7 @@ static void yagl_func_glMatrixMode(struct yagl_transport *t)
 }
 
 /*
- * glLoadIdentity dispatcher. id = 183
+ * glLoadIdentity dispatcher. id = 184
  */
 static void yagl_func_glLoadIdentity(struct yagl_transport *t)
 {
@@ -3143,7 +3163,7 @@ static void yagl_func_glLoadIdentity(struct yagl_transport *t)
 }
 
 /*
- * glPopMatrix dispatcher. id = 184
+ * glPopMatrix dispatcher. id = 185
  */
 static void yagl_func_glPopMatrix(struct yagl_transport *t)
 {
@@ -3153,7 +3173,7 @@ static void yagl_func_glPopMatrix(struct yagl_transport *t)
 }
 
 /*
- * glPushMatrix dispatcher. id = 185
+ * glPushMatrix dispatcher. id = 186
  */
 static void yagl_func_glPushMatrix(struct yagl_transport *t)
 {
@@ -3163,7 +3183,7 @@ static void yagl_func_glPushMatrix(struct yagl_transport *t)
 }
 
 /*
- * glRotatef dispatcher. id = 186
+ * glRotatef dispatcher. id = 187
  */
 static void yagl_func_glRotatef(struct yagl_transport *t)
 {
@@ -3181,7 +3201,7 @@ static void yagl_func_glRotatef(struct yagl_transport *t)
 }
 
 /*
- * glTranslatef dispatcher. id = 187
+ * glTranslatef dispatcher. id = 188
  */
 static void yagl_func_glTranslatef(struct yagl_transport *t)
 {
@@ -3197,7 +3217,7 @@ static void yagl_func_glTranslatef(struct yagl_transport *t)
 }
 
 /*
- * glScalef dispatcher. id = 188
+ * glScalef dispatcher. id = 189
  */
 static void yagl_func_glScalef(struct yagl_transport *t)
 {
@@ -3213,7 +3233,7 @@ static void yagl_func_glScalef(struct yagl_transport *t)
 }
 
 /*
- * glOrthof dispatcher. id = 189
+ * glOrthof dispatcher. id = 190
  */
 static void yagl_func_glOrthof(struct yagl_transport *t)
 {
@@ -3235,7 +3255,7 @@ static void yagl_func_glOrthof(struct yagl_transport *t)
 }
 
 /*
- * glColor4f dispatcher. id = 190
+ * glColor4f dispatcher. id = 191
  */
 static void yagl_func_glColor4f(struct yagl_transport *t)
 {
@@ -3253,7 +3273,7 @@ static void yagl_func_glColor4f(struct yagl_transport *t)
 }
 
 /*
- * glColor4ub dispatcher. id = 191
+ * glColor4ub dispatcher. id = 192
  */
 static void yagl_func_glColor4ub(struct yagl_transport *t)
 {
@@ -3271,7 +3291,7 @@ static void yagl_func_glColor4ub(struct yagl_transport *t)
 }
 
 /*
- * glNormal3f dispatcher. id = 192
+ * glNormal3f dispatcher. id = 193
  */
 static void yagl_func_glNormal3f(struct yagl_transport *t)
 {
@@ -3287,7 +3307,7 @@ static void yagl_func_glNormal3f(struct yagl_transport *t)
 }
 
 /*
- * glPointParameterf dispatcher. id = 193
+ * glPointParameterf dispatcher. id = 194
  */
 static void yagl_func_glPointParameterf(struct yagl_transport *t)
 {
@@ -3301,7 +3321,7 @@ static void yagl_func_glPointParameterf(struct yagl_transport *t)
 }
 
 /*
- * glPointParameterfv dispatcher. id = 194
+ * glPointParameterfv dispatcher. id = 195
  */
 static void yagl_func_glPointParameterfv(struct yagl_transport *t)
 {
@@ -3316,7 +3336,7 @@ static void yagl_func_glPointParameterfv(struct yagl_transport *t)
 }
 
 /*
- * glFogf dispatcher. id = 195
+ * glFogf dispatcher. id = 196
  */
 static void yagl_func_glFogf(struct yagl_transport *t)
 {
@@ -3330,7 +3350,7 @@ static void yagl_func_glFogf(struct yagl_transport *t)
 }
 
 /*
- * glFogfv dispatcher. id = 196
+ * glFogfv dispatcher. id = 197
  */
 static void yagl_func_glFogfv(struct yagl_transport *t)
 {
@@ -3345,7 +3365,7 @@ static void yagl_func_glFogfv(struct yagl_transport *t)
 }
 
 /*
- * glFrustumf dispatcher. id = 197
+ * glFrustumf dispatcher. id = 198
  */
 static void yagl_func_glFrustumf(struct yagl_transport *t)
 {
@@ -3367,7 +3387,7 @@ static void yagl_func_glFrustumf(struct yagl_transport *t)
 }
 
 /*
- * glLightf dispatcher. id = 198
+ * glLightf dispatcher. id = 199
  */
 static void yagl_func_glLightf(struct yagl_transport *t)
 {
@@ -3383,7 +3403,7 @@ static void yagl_func_glLightf(struct yagl_transport *t)
 }
 
 /*
- * glLightfv dispatcher. id = 199
+ * glLightfv dispatcher. id = 200
  */
 static void yagl_func_glLightfv(struct yagl_transport *t)
 {
@@ -3400,7 +3420,7 @@ static void yagl_func_glLightfv(struct yagl_transport *t)
 }
 
 /*
- * glGetLightfv dispatcher. id = 200
+ * glGetLightfv dispatcher. id = 201
  */
 static void yagl_func_glGetLightfv(struct yagl_transport *t)
 {
@@ -3419,7 +3439,7 @@ static void yagl_func_glGetLightfv(struct yagl_transport *t)
 }
 
 /*
- * glLightModelf dispatcher. id = 201
+ * glLightModelf dispatcher. id = 202
  */
 static void yagl_func_glLightModelf(struct yagl_transport *t)
 {
@@ -3433,7 +3453,7 @@ static void yagl_func_glLightModelf(struct yagl_transport *t)
 }
 
 /*
- * glLightModelfv dispatcher. id = 202
+ * glLightModelfv dispatcher. id = 203
  */
 static void yagl_func_glLightModelfv(struct yagl_transport *t)
 {
@@ -3448,7 +3468,7 @@ static void yagl_func_glLightModelfv(struct yagl_transport *t)
 }
 
 /*
- * glMaterialf dispatcher. id = 203
+ * glMaterialf dispatcher. id = 204
  */
 static void yagl_func_glMaterialf(struct yagl_transport *t)
 {
@@ -3464,7 +3484,7 @@ static void yagl_func_glMaterialf(struct yagl_transport *t)
 }
 
 /*
- * glMaterialfv dispatcher. id = 204
+ * glMaterialfv dispatcher. id = 205
  */
 static void yagl_func_glMaterialfv(struct yagl_transport *t)
 {
@@ -3481,7 +3501,7 @@ static void yagl_func_glMaterialfv(struct yagl_transport *t)
 }
 
 /*
- * glGetMaterialfv dispatcher. id = 205
+ * glGetMaterialfv dispatcher. id = 206
  */
 static void yagl_func_glGetMaterialfv(struct yagl_transport *t)
 {
@@ -3500,7 +3520,7 @@ static void yagl_func_glGetMaterialfv(struct yagl_transport *t)
 }
 
 /*
- * glShadeModel dispatcher. id = 206
+ * glShadeModel dispatcher. id = 207
  */
 static void yagl_func_glShadeModel(struct yagl_transport *t)
 {
@@ -3512,7 +3532,7 @@ static void yagl_func_glShadeModel(struct yagl_transport *t)
 }
 
 /*
- * glLogicOp dispatcher. id = 207
+ * glLogicOp dispatcher. id = 208
  */
 static void yagl_func_glLogicOp(struct yagl_transport *t)
 {
@@ -3524,7 +3544,7 @@ static void yagl_func_glLogicOp(struct yagl_transport *t)
 }
 
 /*
- * glMultMatrixf dispatcher. id = 208
+ * glMultMatrixf dispatcher. id = 209
  */
 static void yagl_func_glMultMatrixf(struct yagl_transport *t)
 {
@@ -3537,7 +3557,7 @@ static void yagl_func_glMultMatrixf(struct yagl_transport *t)
 }
 
 /*
- * glLoadMatrixf dispatcher. id = 209
+ * glLoadMatrixf dispatcher. id = 210
  */
 static void yagl_func_glLoadMatrixf(struct yagl_transport *t)
 {
@@ -3550,7 +3570,7 @@ static void yagl_func_glLoadMatrixf(struct yagl_transport *t)
 }
 
 /*
- * glClipPlanef dispatcher. id = 210
+ * glClipPlanef dispatcher. id = 211
  */
 static void yagl_func_glClipPlanef(struct yagl_transport *t)
 {
@@ -3565,7 +3585,7 @@ static void yagl_func_glClipPlanef(struct yagl_transport *t)
 }
 
 /*
- * glGetClipPlanef dispatcher. id = 211
+ * glGetClipPlanef dispatcher. id = 212
  */
 static void yagl_func_glGetClipPlanef(struct yagl_transport *t)
 {
@@ -3582,7 +3602,7 @@ static void yagl_func_glGetClipPlanef(struct yagl_transport *t)
 }
 
 /*
- * glUpdateOffscreenImageYAGL dispatcher. id = 212
+ * glUpdateOffscreenImageYAGL dispatcher. id = 213
  */
 static void yagl_func_glUpdateOffscreenImageYAGL(struct yagl_transport *t)
 {
@@ -3603,7 +3623,7 @@ static void yagl_func_glUpdateOffscreenImageYAGL(struct yagl_transport *t)
 }
 
 /*
- * glGenUniformLocationYAGL dispatcher. id = 213
+ * glGenUniformLocationYAGL dispatcher. id = 214
  */
 static void yagl_func_glGenUniformLocationYAGL(struct yagl_transport *t)
 {
@@ -3620,7 +3640,7 @@ static void yagl_func_glGenUniformLocationYAGL(struct yagl_transport *t)
 }
 
 /*
- * glDeleteUniformLocationsYAGL dispatcher. id = 214
+ * glDeleteUniformLocationsYAGL dispatcher. id = 215
  */
 static void yagl_func_glDeleteUniformLocationsYAGL(struct yagl_transport *t)
 {
@@ -3632,7 +3652,7 @@ static void yagl_func_glDeleteUniformLocationsYAGL(struct yagl_transport *t)
     YAGL_LOG_FUNC_EXIT(NULL);
 }
 
-const uint32_t yagl_gles_api_num_funcs = 214;
+const uint32_t yagl_gles_api_num_funcs = 215;
 
 yagl_api_func yagl_gles_api_funcs[] = {
     &yagl_func_glDrawArrays,
@@ -3664,6 +3684,7 @@ yagl_api_func yagl_gles_api_funcs[] = {
     &yagl_func_glBufferSubData,
     &yagl_func_glBindBufferBase,
     &yagl_func_glBindBufferRange,
+    &yagl_func_glMapBuffer,
     &yagl_func_glGenTextures,
     &yagl_func_glBindTexture,
     &yagl_func_glActiveTexture,
index 0b43897..51c22df 100644 (file)
@@ -800,6 +800,56 @@ void yagl_host_glBindBufferRange(GLenum target,
                                          offset, size);
 }
 
+void yagl_host_glMapBuffer(GLuint buffer,
+    const GLuint *ranges, int32_t ranges_count,
+    GLvoid *data, int32_t data_maxcount, int32_t *data_count)
+{
+    GLuint current_pbo;
+    GLvoid *data_ptr = data, *map_ptr;
+    GLint i;
+
+    YAGL_LOG_FUNC_SET(glMapBuffer);
+
+    gles_api_ts->driver->GetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING_ARB,
+                                     (GLint*)&current_pbo);
+
+    gles_api_ts->driver->BindBuffer(GL_PIXEL_PACK_BUFFER_ARB, yagl_gles_object_get(buffer));
+
+    map_ptr = gles_api_ts->driver->MapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY);
+
+    if (!map_ptr) {
+        YAGL_LOG_ERROR("glMapBuffer failed");
+        goto out1;
+    }
+
+    for (i = 0; i < (ranges_count / 2); ++i) {
+        GLuint offset = ranges[(i * 2) + 0];
+        GLuint size = ranges[(i * 2) + 1];
+
+        map_ptr += offset;
+
+        if (i > 0) {
+            data_ptr += offset;
+        }
+
+        if ((data_ptr + size) > (data + data_maxcount)) {
+            YAGL_LOG_ERROR("read out of range");
+            goto out2;
+        }
+
+        memcpy(data_ptr, map_ptr, size);
+
+        data_ptr += size;
+    }
+
+    *data_count = data_ptr - data;
+
+out2:
+    gles_api_ts->driver->UnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB);
+out1:
+    gles_api_ts->driver->BindBuffer(GL_PIXEL_PACK_BUFFER_ARB, current_pbo);
+}
+
 void yagl_host_glGenTextures(const GLuint *textures, int32_t textures_count)
 {
     int i;
index cc607ec..332e205 100644 (file)
@@ -138,6 +138,9 @@ void yagl_host_glBindBufferRange(GLenum target,
     GLuint buffer,
     GLint offset,
     GLsizei size);
+void yagl_host_glMapBuffer(GLuint buffer,
+    const GLuint *ranges, int32_t ranges_count,
+    GLvoid *data, int32_t data_maxcount, int32_t *data_count);
 void yagl_host_glGenTextures(const GLuint *textures, int32_t textures_count);
 void yagl_host_glBindTexture(GLenum target,
     GLuint texture);