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

Commit 11777e9a authored by Mathias Agopian's avatar Mathias Agopian
Browse files

DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn't work with height <= 16

don't use glDrawTexi() anymore

Change-Id: If71334de39114b0edce7771366f8d8dc26f6911e
parent 27316b62
Loading
Loading
Loading
Loading
+39 −54
Original line number Diff line number Diff line
@@ -437,9 +437,7 @@ void LayerBase::drawWithOpenGL(const Region& clip, const Texture& texture) const

    Region::const_iterator it = clip.begin();
    Region::const_iterator const end = clip.end();
    if (UNLIKELY(transformed()
            || !(mFlags & DisplayHardware::DRAW_TEXTURE_EXTENSION) )) 
    {

    //StopWatch watch("GL transformed");
    const GLfixed texCoords[4][2] = {
            { 0,        0 },
@@ -482,19 +480,6 @@ void LayerBase::drawWithOpenGL(const Region& clip, const Texture& texture) const
        glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
    }
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    } else {
        GLint crop[4] = { 0, height, width, -height };
        glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, crop);
        int x = tx();
        int y = ty();
        y = fbHeight - (y + height);
        while (it != end) {
            const Rect& r = *it++;
            const GLint sy = fbHeight - (r.top + r.height());
            glScissor(r.left, sy, r.width(), r.height());
            glDrawTexiOES(x, y, 0, width, height);
        }
    }
}

void LayerBase::validateTexture(GLint textureName) const