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

Commit ae74f598 authored by Romain Guy's avatar Romain Guy Committed by Android Git Automerger
Browse files

am eaadd123: Merge "Add internal API to query GL version number" into jb-mr2-dev

* commit 'eaadd123':
  Add internal API to query GL version number
parents 1e2c967b eaadd123
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -64,10 +64,32 @@ Extensions::Extensions(): Singleton<Extensions>() {
    mHas4BitStencil = hasExtension("GL_OES_stencil4");

    mExtensions = strdup(buffer);

    const char* version = (const char*) glGetString(GL_VERSION);
    mVersion = strdup(version);

    // Section 6.1.5 of the OpenGL ES specification indicates the GL version
    // string strictly follows this format:
    //
    // OpenGL<space>ES<space><version number><space><vendor-specific information>
    //
    // In addition section 6.1.5 describes the version number thusly:
    //
    // "The version number is either of the form major number.minor number or
    // major number.minor number.release number, where the numbers all have one
    // or more digits. The release number and vendor specific information are
    // optional."

    if (sscanf(version, "OpenGL ES %d.%d", &mVersionMajor, &mVersionMinor) !=2) {
        // If we cannot parse the version number, assume OpenGL ES 2.0
        mVersionMajor = 2;
        mVersionMinor = 0;
    }
}

Extensions::~Extensions() {
   free(mExtensions);
   free(mVersion);
}

///////////////////////////////////////////////////////////////////////////////
@@ -80,6 +102,7 @@ bool Extensions::hasExtension(const char* extension) const {
}

void Extensions::dump() const {
   ALOGD("%s", mVersion);
   ALOGD("Supported extensions:\n%s", mExtensions);
}

+7 −0
Original line number Diff line number Diff line
@@ -45,6 +45,9 @@ public:
    inline bool has1BitStencil() const { return mHas1BitStencil; }
    inline bool has4BitStencil() const { return mHas4BitStencil; }

    inline int getMajorGlVersion() const { return mVersionMajor; }
    inline int getMinorGlVersion() const { return mVersionMinor; }

    bool hasExtension(const char* extension) const;

    void dump() const;
@@ -55,6 +58,7 @@ private:
    SortedVector<String8> mExtensionList;

    char* mExtensions;
    char* mVersion;

    bool mHasNPot;
    bool mHasFramebufferFetch;
@@ -64,6 +68,9 @@ private:
    bool mHasTiledRendering;
    bool mHas1BitStencil;
    bool mHas4BitStencil;

    int mVersionMajor;
    int mVersionMinor;
}; // class Extensions

}; // namespace uirenderer