Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b3f48d2 authored by Ben Clayton's avatar Ben Clayton
Browse files

Use the count parameter to store all the uniform vectors, not just the first one. DO NOT MERGE.

Change-Id: Ib56d859051f0b895de5c12ffa371cd4b2b65ac0b
(cherry picked from commit 31b0aec6)
parent c6414d13
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -297,14 +297,18 @@ void fixup_glShaderSource(GLMessage *glmsg, void *pointersToFixup[]) {
    arg_strpp->add_charvalue(src);
}

void fixup_glUniformGenericInteger(int argIndex, int nIntegers, GLMessage *glmsg,
void fixup_glUniformGenericInteger(int argIndex, int nElemsPerVector, GLMessage *glmsg,
                                                                    void *pointersToFixup[]) {
    /* void glUniform?iv(GLint location, GLsizei count, const GLint *value); */
    fixup_GenericIntArray(argIndex, nIntegers, glmsg, pointersToFixup[0]);
    GLMessage_DataType arg_count  = glmsg->args(1);
    int n_vectors = arg_count.intvalue(0);
    fixup_GenericIntArray(argIndex, nElemsPerVector * n_vectors, glmsg, pointersToFixup[0]);
}

void fixup_glUniformGeneric(int argIndex, int nFloats, GLMessage *glmsg, void *src) {
    fixup_GenericFloatArray(argIndex, nFloats, glmsg, src);
void fixup_glUniformGeneric(int argIndex, int nElemsPerVector, GLMessage *glmsg, void *src) {
    GLMessage_DataType arg_count  = glmsg->args(1);
    int n_vectors = arg_count.intvalue(0);
    fixup_GenericFloatArray(argIndex, nElemsPerVector * n_vectors, glmsg, src);
}

void fixup_glUniformMatrixGeneric(int matrixSize, GLMessage *glmsg, void *pointersToFixup[]) {