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

Commit cd843caa authored by Chris Craik's avatar Chris Craik Committed by Android Git Automerger
Browse files

am 230d8243: am 9f43ac77: am e2a5c184: am 941bcedb: Merge "Fix unsafety in...

am 230d8243: am 9f43ac77: am e2a5c184: am 941bcedb: Merge "Fix unsafety in SkiaShader storage, and texture unit accounting" into mnc-dev

* commit '230d8243':
  Fix unsafety in SkiaShader storage, and texture unit accounting
parents 0c1df463 230d8243
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -370,7 +370,11 @@ void SkiaShader::store(Caches& caches, const SkShader& shader, const Matrix4& mo
    if (tryStoreLayer(caches, shader, modelViewMatrix,
            textureUnit, description, &outData->layerData)) {
        outData->skiaShaderType = kLayer_SkiaShaderType;
        return;
    }

    // Unknown/unsupported type, so explicitly ignore shader
    outData->skiaShaderType = kNone_SkiaShaderType;
}

void SkiaShader::apply(Caches& caches, const SkiaShaderData& data) {
+6 −2
Original line number Diff line number Diff line
@@ -22,7 +22,8 @@ namespace uirenderer {
const GLenum kTextureUnits[] = {
    GL_TEXTURE0,
    GL_TEXTURE1,
    GL_TEXTURE2
    GL_TEXTURE2,
    GL_TEXTURE3
};

TextureState::TextureState()
@@ -37,6 +38,9 @@ TextureState::TextureState()
}

void TextureState::activateTexture(GLuint textureUnit) {
    LOG_ALWAYS_FATAL_IF(textureUnit >= kTextureUnitsCount,
            "Tried to use texture unit index %d, only %d exist",
            textureUnit, kTextureUnitsCount);
    if (mTextureUnit != textureUnit) {
        glActiveTexture(kTextureUnits[textureUnit]);
        mTextureUnit = textureUnit;
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ public:
    void unbindTexture(GLuint texture);
private:
    // total number of texture units available for use
    static const int kTextureUnitsCount = 3;
    static const int kTextureUnitsCount = 4;

    TextureState();
    GLuint mTextureUnit;