diff options
author | Stanislav Vorobiov <s.vorobiov@samsung.com> | 2014-01-31 13:51:06 +0400 |
---|---|---|
committer | Stanislav Vorobiov <s.vorobiov@samsung.com> | 2014-01-31 13:51:06 +0400 |
commit | 9014c367c5ac7fdeb45f747ab0c15914f0180f07 (patch) | |
tree | 1e376a5a966ce7e7caeb475e2dddd7d699b54d59 /hw | |
parent | 903c1dd7e8e74dab9e25e468debdf33f479f0871 (diff) | |
download | qemu-9014c367c5ac7fdeb45f747ab0c15914f0180f07.tar.gz qemu-9014c367c5ac7fdeb45f747ab0c15914f0180f07.tar.bz2 qemu-9014c367c5ac7fdeb45f747ab0c15914f0180f07.zip |
YaGL: Implemented glUniformMatrixAxBfv
Change-Id: I5d9597d9862410d69b8058a5c16b970bc8af100a
Diffstat (limited to 'hw')
-rw-r--r-- | hw/yagl/yagl_apis/gles/yagl_gles_calls.c | 302 | ||||
-rw-r--r-- | hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c | 60 | ||||
-rw-r--r-- | hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h | 24 | ||||
-rw-r--r-- | hw/yagl/yagl_drivers/gles_ogl/yagl_gles_ogl.c | 6 | ||||
-rw-r--r-- | hw/yagl/yagl_gles_driver.h | 6 |
5 files changed, 307 insertions, 91 deletions
diff --git a/hw/yagl/yagl_apis/gles/yagl_gles_calls.c b/hw/yagl/yagl_apis/gles/yagl_gles_calls.c index 05040737dd..54ffff2a35 100644 --- a/hw/yagl/yagl_apis/gles/yagl_gles_calls.c +++ b/hw/yagl/yagl_apis/gles/yagl_gles_calls.c @@ -2764,7 +2764,121 @@ static void yagl_func_glUniform4uiv(struct yagl_transport *t) } /* - * glGetIntegerv dispatcher. id = 150 + * glUniformMatrix2x3fv dispatcher. id = 150 + */ +static void yagl_func_glUniformMatrix2x3fv(struct yagl_transport *t) +{ + GLboolean tl; + uint32_t location; + GLboolean transpose; + const GLfloat *value; + int32_t value_count; + tl = yagl_transport_get_out_GLboolean(t); + location = yagl_transport_get_out_uint32_t(t); + transpose = yagl_transport_get_out_GLboolean(t); + yagl_transport_get_out_array(t, sizeof(GLfloat), (const void**)&value, &value_count); + YAGL_LOG_FUNC_ENTER_SPLIT4(glUniformMatrix2x3fv, GLboolean, uint32_t, GLboolean, void*, tl, location, transpose, value); + (void)yagl_host_glUniformMatrix2x3fv(tl, location, transpose, value, value_count); + YAGL_LOG_FUNC_EXIT(NULL); +} + +/* + * glUniformMatrix2x4fv dispatcher. id = 151 + */ +static void yagl_func_glUniformMatrix2x4fv(struct yagl_transport *t) +{ + GLboolean tl; + uint32_t location; + GLboolean transpose; + const GLfloat *value; + int32_t value_count; + tl = yagl_transport_get_out_GLboolean(t); + location = yagl_transport_get_out_uint32_t(t); + transpose = yagl_transport_get_out_GLboolean(t); + yagl_transport_get_out_array(t, sizeof(GLfloat), (const void**)&value, &value_count); + YAGL_LOG_FUNC_ENTER_SPLIT4(glUniformMatrix2x4fv, GLboolean, uint32_t, GLboolean, void*, tl, location, transpose, value); + (void)yagl_host_glUniformMatrix2x4fv(tl, location, transpose, value, value_count); + YAGL_LOG_FUNC_EXIT(NULL); +} + +/* + * glUniformMatrix3x2fv dispatcher. id = 152 + */ +static void yagl_func_glUniformMatrix3x2fv(struct yagl_transport *t) +{ + GLboolean tl; + uint32_t location; + GLboolean transpose; + const GLfloat *value; + int32_t value_count; + tl = yagl_transport_get_out_GLboolean(t); + location = yagl_transport_get_out_uint32_t(t); + transpose = yagl_transport_get_out_GLboolean(t); + yagl_transport_get_out_array(t, sizeof(GLfloat), (const void**)&value, &value_count); + YAGL_LOG_FUNC_ENTER_SPLIT4(glUniformMatrix3x2fv, GLboolean, uint32_t, GLboolean, void*, tl, location, transpose, value); + (void)yagl_host_glUniformMatrix3x2fv(tl, location, transpose, value, value_count); + YAGL_LOG_FUNC_EXIT(NULL); +} + +/* + * glUniformMatrix3x4fv dispatcher. id = 153 + */ +static void yagl_func_glUniformMatrix3x4fv(struct yagl_transport *t) +{ + GLboolean tl; + uint32_t location; + GLboolean transpose; + const GLfloat *value; + int32_t value_count; + tl = yagl_transport_get_out_GLboolean(t); + location = yagl_transport_get_out_uint32_t(t); + transpose = yagl_transport_get_out_GLboolean(t); + yagl_transport_get_out_array(t, sizeof(GLfloat), (const void**)&value, &value_count); + YAGL_LOG_FUNC_ENTER_SPLIT4(glUniformMatrix3x4fv, GLboolean, uint32_t, GLboolean, void*, tl, location, transpose, value); + (void)yagl_host_glUniformMatrix3x4fv(tl, location, transpose, value, value_count); + YAGL_LOG_FUNC_EXIT(NULL); +} + +/* + * glUniformMatrix4x2fv dispatcher. id = 154 + */ +static void yagl_func_glUniformMatrix4x2fv(struct yagl_transport *t) +{ + GLboolean tl; + uint32_t location; + GLboolean transpose; + const GLfloat *value; + int32_t value_count; + tl = yagl_transport_get_out_GLboolean(t); + location = yagl_transport_get_out_uint32_t(t); + transpose = yagl_transport_get_out_GLboolean(t); + yagl_transport_get_out_array(t, sizeof(GLfloat), (const void**)&value, &value_count); + YAGL_LOG_FUNC_ENTER_SPLIT4(glUniformMatrix4x2fv, GLboolean, uint32_t, GLboolean, void*, tl, location, transpose, value); + (void)yagl_host_glUniformMatrix4x2fv(tl, location, transpose, value, value_count); + YAGL_LOG_FUNC_EXIT(NULL); +} + +/* + * glUniformMatrix4x3fv dispatcher. id = 155 + */ +static void yagl_func_glUniformMatrix4x3fv(struct yagl_transport *t) +{ + GLboolean tl; + uint32_t location; + GLboolean transpose; + const GLfloat *value; + int32_t value_count; + tl = yagl_transport_get_out_GLboolean(t); + location = yagl_transport_get_out_uint32_t(t); + transpose = yagl_transport_get_out_GLboolean(t); + yagl_transport_get_out_array(t, sizeof(GLfloat), (const void**)&value, &value_count); + YAGL_LOG_FUNC_ENTER_SPLIT4(glUniformMatrix4x3fv, GLboolean, uint32_t, GLboolean, void*, tl, location, transpose, value); + (void)yagl_host_glUniformMatrix4x3fv(tl, location, transpose, value, value_count); + YAGL_LOG_FUNC_EXIT(NULL); +} + +/* + * glGetIntegerv dispatcher. id = 156 */ static void yagl_func_glGetIntegerv(struct yagl_transport *t) { @@ -2781,7 +2895,7 @@ static void yagl_func_glGetIntegerv(struct yagl_transport *t) } /* - * glGetFloatv dispatcher. id = 151 + * glGetFloatv dispatcher. id = 157 */ static void yagl_func_glGetFloatv(struct yagl_transport *t) { @@ -2798,7 +2912,7 @@ static void yagl_func_glGetFloatv(struct yagl_transport *t) } /* - * glGetString dispatcher. id = 152 + * glGetString dispatcher. id = 158 */ static void yagl_func_glGetString(struct yagl_transport *t) { @@ -2815,7 +2929,7 @@ static void yagl_func_glGetString(struct yagl_transport *t) } /* - * glIsEnabled dispatcher. id = 153 + * glIsEnabled dispatcher. id = 159 */ static void yagl_func_glIsEnabled(struct yagl_transport *t) { @@ -2829,7 +2943,7 @@ static void yagl_func_glIsEnabled(struct yagl_transport *t) } /* - * glGenTransformFeedbacks dispatcher. id = 154 + * glGenTransformFeedbacks dispatcher. id = 160 */ static void yagl_func_glGenTransformFeedbacks(struct yagl_transport *t) { @@ -2842,7 +2956,7 @@ static void yagl_func_glGenTransformFeedbacks(struct yagl_transport *t) } /* - * glBindTransformFeedback dispatcher. id = 155 + * glBindTransformFeedback dispatcher. id = 161 */ static void yagl_func_glBindTransformFeedback(struct yagl_transport *t) { @@ -2856,7 +2970,7 @@ static void yagl_func_glBindTransformFeedback(struct yagl_transport *t) } /* - * glBeginTransformFeedback dispatcher. id = 156 + * glBeginTransformFeedback dispatcher. id = 162 */ static void yagl_func_glBeginTransformFeedback(struct yagl_transport *t) { @@ -2868,7 +2982,7 @@ static void yagl_func_glBeginTransformFeedback(struct yagl_transport *t) } /* - * glEndTransformFeedback dispatcher. id = 157 + * glEndTransformFeedback dispatcher. id = 163 */ static void yagl_func_glEndTransformFeedback(struct yagl_transport *t) { @@ -2878,7 +2992,7 @@ static void yagl_func_glEndTransformFeedback(struct yagl_transport *t) } /* - * glPauseTransformFeedback dispatcher. id = 158 + * glPauseTransformFeedback dispatcher. id = 164 */ static void yagl_func_glPauseTransformFeedback(struct yagl_transport *t) { @@ -2888,7 +3002,7 @@ static void yagl_func_glPauseTransformFeedback(struct yagl_transport *t) } /* - * glResumeTransformFeedback dispatcher. id = 159 + * glResumeTransformFeedback dispatcher. id = 165 */ static void yagl_func_glResumeTransformFeedback(struct yagl_transport *t) { @@ -2898,7 +3012,7 @@ static void yagl_func_glResumeTransformFeedback(struct yagl_transport *t) } /* - * glTransformFeedbackVaryings dispatcher. id = 160 + * glTransformFeedbackVaryings dispatcher. id = 166 */ static void yagl_func_glTransformFeedbackVaryings(struct yagl_transport *t) { @@ -2915,7 +3029,7 @@ static void yagl_func_glTransformFeedbackVaryings(struct yagl_transport *t) } /* - * glGetTransformFeedbackVaryings dispatcher. id = 161 + * glGetTransformFeedbackVaryings dispatcher. id = 167 */ static void yagl_func_glGetTransformFeedbackVaryings(struct yagl_transport *t) { @@ -2937,7 +3051,7 @@ static void yagl_func_glGetTransformFeedbackVaryings(struct yagl_transport *t) } /* - * glGenQueries dispatcher. id = 162 + * glGenQueries dispatcher. id = 168 */ static void yagl_func_glGenQueries(struct yagl_transport *t) { @@ -2950,7 +3064,7 @@ static void yagl_func_glGenQueries(struct yagl_transport *t) } /* - * glBeginQuery dispatcher. id = 163 + * glBeginQuery dispatcher. id = 169 */ static void yagl_func_glBeginQuery(struct yagl_transport *t) { @@ -2964,7 +3078,7 @@ static void yagl_func_glBeginQuery(struct yagl_transport *t) } /* - * glEndQuery dispatcher. id = 164 + * glEndQuery dispatcher. id = 170 */ static void yagl_func_glEndQuery(struct yagl_transport *t) { @@ -2976,7 +3090,7 @@ static void yagl_func_glEndQuery(struct yagl_transport *t) } /* - * glGetQueryObjectuiv dispatcher. id = 165 + * glGetQueryObjectuiv dispatcher. id = 171 */ static void yagl_func_glGetQueryObjectuiv(struct yagl_transport *t) { @@ -2992,7 +3106,7 @@ static void yagl_func_glGetQueryObjectuiv(struct yagl_transport *t) } /* - * glGenSamplers dispatcher. id = 166 + * glGenSamplers dispatcher. id = 172 */ static void yagl_func_glGenSamplers(struct yagl_transport *t) { @@ -3005,7 +3119,7 @@ static void yagl_func_glGenSamplers(struct yagl_transport *t) } /* - * glBindSampler dispatcher. id = 167 + * glBindSampler dispatcher. id = 173 */ static void yagl_func_glBindSampler(struct yagl_transport *t) { @@ -3019,7 +3133,7 @@ static void yagl_func_glBindSampler(struct yagl_transport *t) } /* - * glSamplerParameteri dispatcher. id = 168 + * glSamplerParameteri dispatcher. id = 174 */ static void yagl_func_glSamplerParameteri(struct yagl_transport *t) { @@ -3035,7 +3149,7 @@ static void yagl_func_glSamplerParameteri(struct yagl_transport *t) } /* - * glSamplerParameteriv dispatcher. id = 169 + * glSamplerParameteriv dispatcher. id = 175 */ static void yagl_func_glSamplerParameteriv(struct yagl_transport *t) { @@ -3052,7 +3166,7 @@ static void yagl_func_glSamplerParameteriv(struct yagl_transport *t) } /* - * glSamplerParameterf dispatcher. id = 170 + * glSamplerParameterf dispatcher. id = 176 */ static void yagl_func_glSamplerParameterf(struct yagl_transport *t) { @@ -3068,7 +3182,7 @@ static void yagl_func_glSamplerParameterf(struct yagl_transport *t) } /* - * glSamplerParameterfv dispatcher. id = 171 + * glSamplerParameterfv dispatcher. id = 177 */ static void yagl_func_glSamplerParameterfv(struct yagl_transport *t) { @@ -3085,7 +3199,7 @@ static void yagl_func_glSamplerParameterfv(struct yagl_transport *t) } /* - * glDeleteObjects dispatcher. id = 172 + * glDeleteObjects dispatcher. id = 178 */ static void yagl_func_glDeleteObjects(struct yagl_transport *t) { @@ -3098,7 +3212,7 @@ static void yagl_func_glDeleteObjects(struct yagl_transport *t) } /* - * glBlendEquation dispatcher. id = 173 + * glBlendEquation dispatcher. id = 179 */ static void yagl_func_glBlendEquation(struct yagl_transport *t) { @@ -3110,7 +3224,7 @@ static void yagl_func_glBlendEquation(struct yagl_transport *t) } /* - * glBlendEquationSeparate dispatcher. id = 174 + * glBlendEquationSeparate dispatcher. id = 180 */ static void yagl_func_glBlendEquationSeparate(struct yagl_transport *t) { @@ -3124,7 +3238,7 @@ static void yagl_func_glBlendEquationSeparate(struct yagl_transport *t) } /* - * glBlendFunc dispatcher. id = 175 + * glBlendFunc dispatcher. id = 181 */ static void yagl_func_glBlendFunc(struct yagl_transport *t) { @@ -3138,7 +3252,7 @@ static void yagl_func_glBlendFunc(struct yagl_transport *t) } /* - * glBlendFuncSeparate dispatcher. id = 176 + * glBlendFuncSeparate dispatcher. id = 182 */ static void yagl_func_glBlendFuncSeparate(struct yagl_transport *t) { @@ -3156,7 +3270,7 @@ static void yagl_func_glBlendFuncSeparate(struct yagl_transport *t) } /* - * glBlendColor dispatcher. id = 177 + * glBlendColor dispatcher. id = 183 */ static void yagl_func_glBlendColor(struct yagl_transport *t) { @@ -3174,7 +3288,7 @@ static void yagl_func_glBlendColor(struct yagl_transport *t) } /* - * glClear dispatcher. id = 178 + * glClear dispatcher. id = 184 */ static void yagl_func_glClear(struct yagl_transport *t) { @@ -3186,7 +3300,7 @@ static void yagl_func_glClear(struct yagl_transport *t) } /* - * glClearColor dispatcher. id = 179 + * glClearColor dispatcher. id = 185 */ static void yagl_func_glClearColor(struct yagl_transport *t) { @@ -3204,7 +3318,7 @@ static void yagl_func_glClearColor(struct yagl_transport *t) } /* - * glClearDepthf dispatcher. id = 180 + * glClearDepthf dispatcher. id = 186 */ static void yagl_func_glClearDepthf(struct yagl_transport *t) { @@ -3216,7 +3330,7 @@ static void yagl_func_glClearDepthf(struct yagl_transport *t) } /* - * glClearStencil dispatcher. id = 181 + * glClearStencil dispatcher. id = 187 */ static void yagl_func_glClearStencil(struct yagl_transport *t) { @@ -3228,7 +3342,7 @@ static void yagl_func_glClearStencil(struct yagl_transport *t) } /* - * glColorMask dispatcher. id = 182 + * glColorMask dispatcher. id = 188 */ static void yagl_func_glColorMask(struct yagl_transport *t) { @@ -3246,7 +3360,7 @@ static void yagl_func_glColorMask(struct yagl_transport *t) } /* - * glCullFace dispatcher. id = 183 + * glCullFace dispatcher. id = 189 */ static void yagl_func_glCullFace(struct yagl_transport *t) { @@ -3258,7 +3372,7 @@ static void yagl_func_glCullFace(struct yagl_transport *t) } /* - * glDepthFunc dispatcher. id = 184 + * glDepthFunc dispatcher. id = 190 */ static void yagl_func_glDepthFunc(struct yagl_transport *t) { @@ -3270,7 +3384,7 @@ static void yagl_func_glDepthFunc(struct yagl_transport *t) } /* - * glDepthMask dispatcher. id = 185 + * glDepthMask dispatcher. id = 191 */ static void yagl_func_glDepthMask(struct yagl_transport *t) { @@ -3282,7 +3396,7 @@ static void yagl_func_glDepthMask(struct yagl_transport *t) } /* - * glDepthRangef dispatcher. id = 186 + * glDepthRangef dispatcher. id = 192 */ static void yagl_func_glDepthRangef(struct yagl_transport *t) { @@ -3296,7 +3410,7 @@ static void yagl_func_glDepthRangef(struct yagl_transport *t) } /* - * glEnable dispatcher. id = 187 + * glEnable dispatcher. id = 193 */ static void yagl_func_glEnable(struct yagl_transport *t) { @@ -3308,7 +3422,7 @@ static void yagl_func_glEnable(struct yagl_transport *t) } /* - * glDisable dispatcher. id = 188 + * glDisable dispatcher. id = 194 */ static void yagl_func_glDisable(struct yagl_transport *t) { @@ -3320,7 +3434,7 @@ static void yagl_func_glDisable(struct yagl_transport *t) } /* - * glFlush dispatcher. id = 189 + * glFlush dispatcher. id = 195 */ static void yagl_func_glFlush(struct yagl_transport *t) { @@ -3330,7 +3444,7 @@ static void yagl_func_glFlush(struct yagl_transport *t) } /* - * glFrontFace dispatcher. id = 190 + * glFrontFace dispatcher. id = 196 */ static void yagl_func_glFrontFace(struct yagl_transport *t) { @@ -3342,7 +3456,7 @@ static void yagl_func_glFrontFace(struct yagl_transport *t) } /* - * glGenerateMipmap dispatcher. id = 191 + * glGenerateMipmap dispatcher. id = 197 */ static void yagl_func_glGenerateMipmap(struct yagl_transport *t) { @@ -3354,7 +3468,7 @@ static void yagl_func_glGenerateMipmap(struct yagl_transport *t) } /* - * glHint dispatcher. id = 192 + * glHint dispatcher. id = 198 */ static void yagl_func_glHint(struct yagl_transport *t) { @@ -3368,7 +3482,7 @@ static void yagl_func_glHint(struct yagl_transport *t) } /* - * glLineWidth dispatcher. id = 193 + * glLineWidth dispatcher. id = 199 */ static void yagl_func_glLineWidth(struct yagl_transport *t) { @@ -3380,7 +3494,7 @@ static void yagl_func_glLineWidth(struct yagl_transport *t) } /* - * glPixelStorei dispatcher. id = 194 + * glPixelStorei dispatcher. id = 200 */ static void yagl_func_glPixelStorei(struct yagl_transport *t) { @@ -3394,7 +3508,7 @@ static void yagl_func_glPixelStorei(struct yagl_transport *t) } /* - * glPolygonOffset dispatcher. id = 195 + * glPolygonOffset dispatcher. id = 201 */ static void yagl_func_glPolygonOffset(struct yagl_transport *t) { @@ -3408,7 +3522,7 @@ static void yagl_func_glPolygonOffset(struct yagl_transport *t) } /* - * glScissor dispatcher. id = 196 + * glScissor dispatcher. id = 202 */ static void yagl_func_glScissor(struct yagl_transport *t) { @@ -3426,7 +3540,7 @@ static void yagl_func_glScissor(struct yagl_transport *t) } /* - * glStencilFunc dispatcher. id = 197 + * glStencilFunc dispatcher. id = 203 */ static void yagl_func_glStencilFunc(struct yagl_transport *t) { @@ -3442,7 +3556,7 @@ static void yagl_func_glStencilFunc(struct yagl_transport *t) } /* - * glStencilMask dispatcher. id = 198 + * glStencilMask dispatcher. id = 204 */ static void yagl_func_glStencilMask(struct yagl_transport *t) { @@ -3454,7 +3568,7 @@ static void yagl_func_glStencilMask(struct yagl_transport *t) } /* - * glStencilOp dispatcher. id = 199 + * glStencilOp dispatcher. id = 205 */ static void yagl_func_glStencilOp(struct yagl_transport *t) { @@ -3470,7 +3584,7 @@ static void yagl_func_glStencilOp(struct yagl_transport *t) } /* - * glSampleCoverage dispatcher. id = 200 + * glSampleCoverage dispatcher. id = 206 */ static void yagl_func_glSampleCoverage(struct yagl_transport *t) { @@ -3484,7 +3598,7 @@ static void yagl_func_glSampleCoverage(struct yagl_transport *t) } /* - * glViewport dispatcher. id = 201 + * glViewport dispatcher. id = 207 */ static void yagl_func_glViewport(struct yagl_transport *t) { @@ -3502,7 +3616,7 @@ static void yagl_func_glViewport(struct yagl_transport *t) } /* - * glStencilFuncSeparate dispatcher. id = 202 + * glStencilFuncSeparate dispatcher. id = 208 */ static void yagl_func_glStencilFuncSeparate(struct yagl_transport *t) { @@ -3520,7 +3634,7 @@ static void yagl_func_glStencilFuncSeparate(struct yagl_transport *t) } /* - * glStencilMaskSeparate dispatcher. id = 203 + * glStencilMaskSeparate dispatcher. id = 209 */ static void yagl_func_glStencilMaskSeparate(struct yagl_transport *t) { @@ -3534,7 +3648,7 @@ static void yagl_func_glStencilMaskSeparate(struct yagl_transport *t) } /* - * glStencilOpSeparate dispatcher. id = 204 + * glStencilOpSeparate dispatcher. id = 210 */ static void yagl_func_glStencilOpSeparate(struct yagl_transport *t) { @@ -3552,7 +3666,7 @@ static void yagl_func_glStencilOpSeparate(struct yagl_transport *t) } /* - * glPointSize dispatcher. id = 205 + * glPointSize dispatcher. id = 211 */ static void yagl_func_glPointSize(struct yagl_transport *t) { @@ -3564,7 +3678,7 @@ static void yagl_func_glPointSize(struct yagl_transport *t) } /* - * glAlphaFunc dispatcher. id = 206 + * glAlphaFunc dispatcher. id = 212 */ static void yagl_func_glAlphaFunc(struct yagl_transport *t) { @@ -3578,7 +3692,7 @@ static void yagl_func_glAlphaFunc(struct yagl_transport *t) } /* - * glMatrixMode dispatcher. id = 207 + * glMatrixMode dispatcher. id = 213 */ static void yagl_func_glMatrixMode(struct yagl_transport *t) { @@ -3590,7 +3704,7 @@ static void yagl_func_glMatrixMode(struct yagl_transport *t) } /* - * glLoadIdentity dispatcher. id = 208 + * glLoadIdentity dispatcher. id = 214 */ static void yagl_func_glLoadIdentity(struct yagl_transport *t) { @@ -3600,7 +3714,7 @@ static void yagl_func_glLoadIdentity(struct yagl_transport *t) } /* - * glPopMatrix dispatcher. id = 209 + * glPopMatrix dispatcher. id = 215 */ static void yagl_func_glPopMatrix(struct yagl_transport *t) { @@ -3610,7 +3724,7 @@ static void yagl_func_glPopMatrix(struct yagl_transport *t) } /* - * glPushMatrix dispatcher. id = 210 + * glPushMatrix dispatcher. id = 216 */ static void yagl_func_glPushMatrix(struct yagl_transport *t) { @@ -3620,7 +3734,7 @@ static void yagl_func_glPushMatrix(struct yagl_transport *t) } /* - * glRotatef dispatcher. id = 211 + * glRotatef dispatcher. id = 217 */ static void yagl_func_glRotatef(struct yagl_transport *t) { @@ -3638,7 +3752,7 @@ static void yagl_func_glRotatef(struct yagl_transport *t) } /* - * glTranslatef dispatcher. id = 212 + * glTranslatef dispatcher. id = 218 */ static void yagl_func_glTranslatef(struct yagl_transport *t) { @@ -3654,7 +3768,7 @@ static void yagl_func_glTranslatef(struct yagl_transport *t) } /* - * glScalef dispatcher. id = 213 + * glScalef dispatcher. id = 219 */ static void yagl_func_glScalef(struct yagl_transport *t) { @@ -3670,7 +3784,7 @@ static void yagl_func_glScalef(struct yagl_transport *t) } /* - * glOrthof dispatcher. id = 214 + * glOrthof dispatcher. id = 220 */ static void yagl_func_glOrthof(struct yagl_transport *t) { @@ -3692,7 +3806,7 @@ static void yagl_func_glOrthof(struct yagl_transport *t) } /* - * glColor4f dispatcher. id = 215 + * glColor4f dispatcher. id = 221 */ static void yagl_func_glColor4f(struct yagl_transport *t) { @@ -3710,7 +3824,7 @@ static void yagl_func_glColor4f(struct yagl_transport *t) } /* - * glColor4ub dispatcher. id = 216 + * glColor4ub dispatcher. id = 222 */ static void yagl_func_glColor4ub(struct yagl_transport *t) { @@ -3728,7 +3842,7 @@ static void yagl_func_glColor4ub(struct yagl_transport *t) } /* - * glNormal3f dispatcher. id = 217 + * glNormal3f dispatcher. id = 223 */ static void yagl_func_glNormal3f(struct yagl_transport *t) { @@ -3744,7 +3858,7 @@ static void yagl_func_glNormal3f(struct yagl_transport *t) } /* - * glPointParameterf dispatcher. id = 218 + * glPointParameterf dispatcher. id = 224 */ static void yagl_func_glPointParameterf(struct yagl_transport *t) { @@ -3758,7 +3872,7 @@ static void yagl_func_glPointParameterf(struct yagl_transport *t) } /* - * glPointParameterfv dispatcher. id = 219 + * glPointParameterfv dispatcher. id = 225 */ static void yagl_func_glPointParameterfv(struct yagl_transport *t) { @@ -3773,7 +3887,7 @@ static void yagl_func_glPointParameterfv(struct yagl_transport *t) } /* - * glFogf dispatcher. id = 220 + * glFogf dispatcher. id = 226 */ static void yagl_func_glFogf(struct yagl_transport *t) { @@ -3787,7 +3901,7 @@ static void yagl_func_glFogf(struct yagl_transport *t) } /* - * glFogfv dispatcher. id = 221 + * glFogfv dispatcher. id = 227 */ static void yagl_func_glFogfv(struct yagl_transport *t) { @@ -3802,7 +3916,7 @@ static void yagl_func_glFogfv(struct yagl_transport *t) } /* - * glFrustumf dispatcher. id = 222 + * glFrustumf dispatcher. id = 228 */ static void yagl_func_glFrustumf(struct yagl_transport *t) { @@ -3824,7 +3938,7 @@ static void yagl_func_glFrustumf(struct yagl_transport *t) } /* - * glLightf dispatcher. id = 223 + * glLightf dispatcher. id = 229 */ static void yagl_func_glLightf(struct yagl_transport *t) { @@ -3840,7 +3954,7 @@ static void yagl_func_glLightf(struct yagl_transport *t) } /* - * glLightfv dispatcher. id = 224 + * glLightfv dispatcher. id = 230 */ static void yagl_func_glLightfv(struct yagl_transport *t) { @@ -3857,7 +3971,7 @@ static void yagl_func_glLightfv(struct yagl_transport *t) } /* - * glGetLightfv dispatcher. id = 225 + * glGetLightfv dispatcher. id = 231 */ static void yagl_func_glGetLightfv(struct yagl_transport *t) { @@ -3876,7 +3990,7 @@ static void yagl_func_glGetLightfv(struct yagl_transport *t) } /* - * glLightModelf dispatcher. id = 226 + * glLightModelf dispatcher. id = 232 */ static void yagl_func_glLightModelf(struct yagl_transport *t) { @@ -3890,7 +4004,7 @@ static void yagl_func_glLightModelf(struct yagl_transport *t) } /* - * glLightModelfv dispatcher. id = 227 + * glLightModelfv dispatcher. id = 233 */ static void yagl_func_glLightModelfv(struct yagl_transport *t) { @@ -3905,7 +4019,7 @@ static void yagl_func_glLightModelfv(struct yagl_transport *t) } /* - * glMaterialf dispatcher. id = 228 + * glMaterialf dispatcher. id = 234 */ static void yagl_func_glMaterialf(struct yagl_transport *t) { @@ -3921,7 +4035,7 @@ static void yagl_func_glMaterialf(struct yagl_transport *t) } /* - * glMaterialfv dispatcher. id = 229 + * glMaterialfv dispatcher. id = 235 */ static void yagl_func_glMaterialfv(struct yagl_transport *t) { @@ -3938,7 +4052,7 @@ static void yagl_func_glMaterialfv(struct yagl_transport *t) } /* - * glGetMaterialfv dispatcher. id = 230 + * glGetMaterialfv dispatcher. id = 236 */ static void yagl_func_glGetMaterialfv(struct yagl_transport *t) { @@ -3957,7 +4071,7 @@ static void yagl_func_glGetMaterialfv(struct yagl_transport *t) } /* - * glShadeModel dispatcher. id = 231 + * glShadeModel dispatcher. id = 237 */ static void yagl_func_glShadeModel(struct yagl_transport *t) { @@ -3969,7 +4083,7 @@ static void yagl_func_glShadeModel(struct yagl_transport *t) } /* - * glLogicOp dispatcher. id = 232 + * glLogicOp dispatcher. id = 238 */ static void yagl_func_glLogicOp(struct yagl_transport *t) { @@ -3981,7 +4095,7 @@ static void yagl_func_glLogicOp(struct yagl_transport *t) } /* - * glMultMatrixf dispatcher. id = 233 + * glMultMatrixf dispatcher. id = 239 */ static void yagl_func_glMultMatrixf(struct yagl_transport *t) { @@ -3994,7 +4108,7 @@ static void yagl_func_glMultMatrixf(struct yagl_transport *t) } /* - * glLoadMatrixf dispatcher. id = 234 + * glLoadMatrixf dispatcher. id = 240 */ static void yagl_func_glLoadMatrixf(struct yagl_transport *t) { @@ -4007,7 +4121,7 @@ static void yagl_func_glLoadMatrixf(struct yagl_transport *t) } /* - * glClipPlanef dispatcher. id = 235 + * glClipPlanef dispatcher. id = 241 */ static void yagl_func_glClipPlanef(struct yagl_transport *t) { @@ -4022,7 +4136,7 @@ static void yagl_func_glClipPlanef(struct yagl_transport *t) } /* - * glGetClipPlanef dispatcher. id = 236 + * glGetClipPlanef dispatcher. id = 242 */ static void yagl_func_glGetClipPlanef(struct yagl_transport *t) { @@ -4039,7 +4153,7 @@ static void yagl_func_glGetClipPlanef(struct yagl_transport *t) } /* - * glUpdateOffscreenImageYAGL dispatcher. id = 237 + * glUpdateOffscreenImageYAGL dispatcher. id = 243 */ static void yagl_func_glUpdateOffscreenImageYAGL(struct yagl_transport *t) { @@ -4060,7 +4174,7 @@ static void yagl_func_glUpdateOffscreenImageYAGL(struct yagl_transport *t) } /* - * glGenUniformLocationYAGL dispatcher. id = 238 + * glGenUniformLocationYAGL dispatcher. id = 244 */ static void yagl_func_glGenUniformLocationYAGL(struct yagl_transport *t) { @@ -4077,7 +4191,7 @@ static void yagl_func_glGenUniformLocationYAGL(struct yagl_transport *t) } /* - * glDeleteUniformLocationsYAGL dispatcher. id = 239 + * glDeleteUniformLocationsYAGL dispatcher. id = 245 */ static void yagl_func_glDeleteUniformLocationsYAGL(struct yagl_transport *t) { @@ -4089,7 +4203,7 @@ static void yagl_func_glDeleteUniformLocationsYAGL(struct yagl_transport *t) YAGL_LOG_FUNC_EXIT(NULL); } -const uint32_t yagl_gles_api_num_funcs = 239; +const uint32_t yagl_gles_api_num_funcs = 245; yagl_api_func yagl_gles_api_funcs[] = { &yagl_func_glDrawArrays, @@ -4241,6 +4355,12 @@ yagl_api_func yagl_gles_api_funcs[] = { &yagl_func_glUniform2uiv, &yagl_func_glUniform3uiv, &yagl_func_glUniform4uiv, + &yagl_func_glUniformMatrix2x3fv, + &yagl_func_glUniformMatrix2x4fv, + &yagl_func_glUniformMatrix3x2fv, + &yagl_func_glUniformMatrix3x4fv, + &yagl_func_glUniformMatrix4x2fv, + &yagl_func_glUniformMatrix4x3fv, &yagl_func_glGetIntegerv, &yagl_func_glGetFloatv, &yagl_func_glGetString, diff --git a/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c b/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c index 219e2b50ae..460b83574b 100644 --- a/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c +++ b/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c @@ -2310,6 +2310,66 @@ void yagl_host_glUniform4uiv(GLboolean tl, (v_count / 4), v); } +void yagl_host_glUniformMatrix2x3fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count) +{ + gles_api_ts->driver->UniformMatrix2x3fv( + yagl_gles_api_ps_translate_location(gles_api_ts->ps, tl, location), + value_count / (2 * 3), transpose, value); +} + +void yagl_host_glUniformMatrix2x4fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count) +{ + gles_api_ts->driver->UniformMatrix2x4fv( + yagl_gles_api_ps_translate_location(gles_api_ts->ps, tl, location), + value_count / (2 * 4), transpose, value); +} + +void yagl_host_glUniformMatrix3x2fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count) +{ + gles_api_ts->driver->UniformMatrix3x2fv( + yagl_gles_api_ps_translate_location(gles_api_ts->ps, tl, location), + value_count / (3 * 2), transpose, value); +} + +void yagl_host_glUniformMatrix3x4fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count) +{ + gles_api_ts->driver->UniformMatrix3x4fv( + yagl_gles_api_ps_translate_location(gles_api_ts->ps, tl, location), + value_count / (3 * 4), transpose, value); +} + +void yagl_host_glUniformMatrix4x2fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count) +{ + gles_api_ts->driver->UniformMatrix4x2fv( + yagl_gles_api_ps_translate_location(gles_api_ts->ps, tl, location), + value_count / (4 * 2), transpose, value); +} + +void yagl_host_glUniformMatrix4x3fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count) +{ + gles_api_ts->driver->UniformMatrix4x3fv( + yagl_gles_api_ps_translate_location(gles_api_ts->ps, tl, location), + value_count / (4 * 3), transpose, value); +} + void yagl_host_glGetIntegerv(GLenum pname, GLint *params, int32_t params_maxcount, int32_t *params_count) { diff --git a/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h b/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h index dcd897c265..ae6bdb7006 100644 --- a/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h +++ b/hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h @@ -590,6 +590,30 @@ void yagl_host_glUniform3uiv(GLboolean tl, void yagl_host_glUniform4uiv(GLboolean tl, uint32_t location, const GLuint *v, int32_t v_count); +void yagl_host_glUniformMatrix2x3fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count); +void yagl_host_glUniformMatrix2x4fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count); +void yagl_host_glUniformMatrix3x2fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count); +void yagl_host_glUniformMatrix3x4fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count); +void yagl_host_glUniformMatrix4x2fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count); +void yagl_host_glUniformMatrix4x3fv(GLboolean tl, + uint32_t location, + GLboolean transpose, + const GLfloat *value, int32_t value_count); void yagl_host_glGetIntegerv(GLenum pname, GLint *params, int32_t params_maxcount, int32_t *params_count); void yagl_host_glGetFloatv(GLenum pname, diff --git a/hw/yagl/yagl_drivers/gles_ogl/yagl_gles_ogl.c b/hw/yagl/yagl_drivers/gles_ogl/yagl_gles_ogl.c index cbe11354f8..b2b1afadf7 100644 --- a/hw/yagl/yagl_drivers/gles_ogl/yagl_gles_ogl.c +++ b/hw/yagl/yagl_drivers/gles_ogl/yagl_gles_ogl.c @@ -292,6 +292,12 @@ struct yagl_gles_driver *yagl_gles_ogl_create(struct yagl_dyn_lib *dyn_lib, YAGL_GLES_OGL_GET_PROC(driver, Uniform2uiv, glUniform2uiv); YAGL_GLES_OGL_GET_PROC(driver, Uniform3uiv, glUniform3uiv); YAGL_GLES_OGL_GET_PROC(driver, Uniform4uiv, glUniform4uiv); + YAGL_GLES_OGL_GET_PROC(driver, UniformMatrix2x3fv, glUniformMatrix2x3fv); + YAGL_GLES_OGL_GET_PROC(driver, UniformMatrix2x4fv, glUniformMatrix2x4fv); + YAGL_GLES_OGL_GET_PROC(driver, UniformMatrix3x2fv, glUniformMatrix3x2fv); + YAGL_GLES_OGL_GET_PROC(driver, UniformMatrix3x4fv, glUniformMatrix3x4fv); + YAGL_GLES_OGL_GET_PROC(driver, UniformMatrix4x2fv, glUniformMatrix4x2fv); + YAGL_GLES_OGL_GET_PROC(driver, UniformMatrix4x3fv, glUniformMatrix4x3fv); YAGL_GLES_OGL_GET_PROC(driver, ClearBufferiv, glClearBufferiv); YAGL_GLES_OGL_GET_PROC(driver, ClearBufferuiv, glClearBufferuiv); YAGL_GLES_OGL_GET_PROC(driver, ClearBufferfi, glClearBufferfi); diff --git a/hw/yagl/yagl_gles_driver.h b/hw/yagl/yagl_gles_driver.h index e09e9c6312..f515a5816d 100644 --- a/hw/yagl/yagl_gles_driver.h +++ b/hw/yagl/yagl_gles_driver.h @@ -365,6 +365,12 @@ struct yagl_gles_driver YAGL_GLES_DRIVER_FUNC3(Uniform2uiv, GLint, GLsizei, const GLuint*, location, count, v) YAGL_GLES_DRIVER_FUNC3(Uniform3uiv, GLint, GLsizei, const GLuint*, location, count, v) YAGL_GLES_DRIVER_FUNC3(Uniform4uiv, GLint, GLsizei, const GLuint*, location, count, v) + YAGL_GLES_DRIVER_FUNC4(UniformMatrix2x3fv, GLint, GLsizei, GLboolean, const GLfloat*, location, count, transpose, value); + YAGL_GLES_DRIVER_FUNC4(UniformMatrix2x4fv, GLint, GLsizei, GLboolean, const GLfloat*, location, count, transpose, value); + YAGL_GLES_DRIVER_FUNC4(UniformMatrix3x2fv, GLint, GLsizei, GLboolean, const GLfloat*, location, count, transpose, value); + YAGL_GLES_DRIVER_FUNC4(UniformMatrix3x4fv, GLint, GLsizei, GLboolean, const GLfloat*, location, count, transpose, value); + YAGL_GLES_DRIVER_FUNC4(UniformMatrix4x2fv, GLint, GLsizei, GLboolean, const GLfloat*, location, count, transpose, value); + YAGL_GLES_DRIVER_FUNC4(UniformMatrix4x3fv, GLint, GLsizei, GLboolean, const GLfloat*, location, count, transpose, value); YAGL_GLES_DRIVER_FUNC3(ClearBufferiv, GLenum, GLint, const GLint*, buffer, drawbuffer, value); YAGL_GLES_DRIVER_FUNC3(ClearBufferuiv, GLenum, GLint, const GLuint*, buffer, drawbuffer, value); YAGL_GLES_DRIVER_FUNC4(ClearBufferfi, GLenum, GLint, GLfloat, GLint, buffer, drawbuffer, depth, stencil); |