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

Commit 0928e31c authored by Mathias Agopian's avatar Mathias Agopian
Browse files

minor code clean-up

parent 8c12c7ae
Loading
Loading
Loading
Loading
+15 −36
Original line number Original line Diff line number Diff line
@@ -42,28 +42,6 @@


using namespace android;
using namespace android;


static __attribute__((noinline))
const char *egl_strerror(EGLint err)
{
    switch (err){
        case EGL_SUCCESS:           return "EGL_SUCCESS";
        case EGL_NOT_INITIALIZED:   return "EGL_NOT_INITIALIZED";
        case EGL_BAD_ACCESS:        return "EGL_BAD_ACCESS";
        case EGL_BAD_ALLOC:         return "EGL_BAD_ALLOC";
        case EGL_BAD_ATTRIBUTE:     return "EGL_BAD_ATTRIBUTE";
        case EGL_BAD_CONFIG:        return "EGL_BAD_CONFIG";
        case EGL_BAD_CONTEXT:       return "EGL_BAD_CONTEXT";
        case EGL_BAD_CURRENT_SURFACE: return "EGL_BAD_CURRENT_SURFACE";
        case EGL_BAD_DISPLAY:       return "EGL_BAD_DISPLAY";
        case EGL_BAD_MATCH:         return "EGL_BAD_MATCH";
        case EGL_BAD_NATIVE_PIXMAP: return "EGL_BAD_NATIVE_PIXMAP";
        case EGL_BAD_NATIVE_WINDOW: return "EGL_BAD_NATIVE_WINDOW";
        case EGL_BAD_PARAMETER:     return "EGL_BAD_PARAMETER";
        case EGL_BAD_SURFACE:       return "EGL_BAD_SURFACE";
        case EGL_CONTEXT_LOST:      return "EGL_CONTEXT_LOST";
        default: return "UNKNOWN";
    }
}


static __attribute__((noinline))
static __attribute__((noinline))
void checkGLErrors()
void checkGLErrors()
@@ -80,7 +58,7 @@ void checkEGLErrors(const char* token)
    // GLESonGL seems to be returning 0 when there is no errors?
    // GLESonGL seems to be returning 0 when there is no errors?
    if (error && error != EGL_SUCCESS)
    if (error && error != EGL_SUCCESS)
        LOGE("%s error 0x%04x (%s)",
        LOGE("%s error 0x%04x (%s)",
                token, int(error), egl_strerror(error));
                token, int(error), EGLUtils::strerror(error));
}
}




@@ -112,28 +90,22 @@ PixelFormat DisplayHardware::getFormat() const { return mFormat; }


void DisplayHardware::init(uint32_t dpy)
void DisplayHardware::init(uint32_t dpy)
{
{
    hw_module_t const* module;

    mNativeWindow = new FramebufferNativeWindow();
    mNativeWindow = new FramebufferNativeWindow();
    framebuffer_device_t const * fbDev = mNativeWindow->getDevice();


    mOverlayEngine = NULL;
    mOverlayEngine = NULL;
    hw_module_t const* module;
    if (hw_get_module(OVERLAY_HARDWARE_MODULE_ID, &module) == 0) {
    if (hw_get_module(OVERLAY_HARDWARE_MODULE_ID, &module) == 0) {
        overlay_control_open(module, &mOverlayEngine);
        overlay_control_open(module, &mOverlayEngine);
    }
    }


    framebuffer_device_t const * fbDev = mNativeWindow->getDevice();

    PixelFormatInfo fbFormatInfo;
    getPixelFormatInfo(PixelFormat(fbDev->format), &fbFormatInfo);

    // initialize EGL
    // initialize EGL
    const EGLint attribs[] = {
    const EGLint attribs[] = {
            EGL_BUFFER_SIZE,    fbFormatInfo.bitsPerPixel,
            EGL_SURFACE_TYPE,   EGL_WINDOW_BIT,
            EGL_DEPTH_SIZE,     0,
            EGL_NONE
            EGL_NONE
    };
    };
    EGLint w, h, dummy;
    EGLint w, h, dummy;
    EGLint numConfigs=0, n=0;
    EGLint numConfigs=0;
    EGLSurface surface;
    EGLSurface surface;
    EGLContext context;
    EGLContext context;
    mFlags = 0;
    mFlags = 0;
@@ -146,10 +118,16 @@ void DisplayHardware::init(uint32_t dpy)
    eglGetConfigs(display, NULL, 0, &numConfigs);
    eglGetConfigs(display, NULL, 0, &numConfigs);


    EGLConfig config;
    EGLConfig config;
    status_t err = EGLUtils::selectConfigForPixelFormat(
    status_t err = EGLUtils::selectConfigForNativeWindow(
            display, attribs, fbDev->format, &config);
            display, attribs, mNativeWindow.get(), &config);
    LOGE_IF(err, "couldn't find an EGLConfig matching the screen format");
    LOGE_IF(err, "couldn't find an EGLConfig matching the screen format");
    
    
    EGLint r,g,b,a;
    eglGetConfigAttrib(display, config, EGL_RED_SIZE,   &r);
    eglGetConfigAttrib(display, config, EGL_GREEN_SIZE, &g);
    eglGetConfigAttrib(display, config, EGL_BLUE_SIZE,  &b);
    eglGetConfigAttrib(display, config, EGL_ALPHA_SIZE, &a);

    /*
    /*
     * Gather EGL extensions
     * Gather EGL extensions
     */
     */
@@ -163,6 +141,7 @@ void DisplayHardware::init(uint32_t dpy)
    LOGI("version   : %s", eglQueryString(display, EGL_VERSION));
    LOGI("version   : %s", eglQueryString(display, EGL_VERSION));
    LOGI("extensions: %s", egl_extensions);
    LOGI("extensions: %s", egl_extensions);
    LOGI("Client API: %s", eglQueryString(display, EGL_CLIENT_APIS)?:"Not Supported");
    LOGI("Client API: %s", eglQueryString(display, EGL_CLIENT_APIS)?:"Not Supported");
    LOGI("EGLSurface: %d-%d-%d-%d, config=%p", r, g, b, a, config);
    
    


    if (mNativeWindow->isUpdateOnDemand()) {
    if (mNativeWindow->isUpdateOnDemand()) {
+101 −85
Original line number Original line Diff line number Diff line
@@ -15,8 +15,6 @@
 ** limitations under the License.
 ** limitations under the License.
 */
 */


#define LOG_TAG "fillrate"

#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>


@@ -33,7 +31,7 @@ using namespace android;
int main(int argc, char** argv)
int main(int argc, char** argv)
{
{
    EGLint configAttribs[] = {
    EGLint configAttribs[] = {
         EGL_DEPTH_SIZE, 0,
            EGL_SURFACE_TYPE,   EGL_WINDOW_BIT,
            EGL_NONE
            EGL_NONE
    };
    };


@@ -41,12 +39,15 @@ int main(int argc, char** argv)
    EGLint minorVersion;
    EGLint minorVersion;
    EGLContext context;
    EGLContext context;
    EGLConfig config;
    EGLConfig config;
    EGLint numConfigs=0;
    EGLSurface surface;
    EGLSurface surface;
    EGLint w, h;
    EGLint w, h;
    EGLDisplay dpy;
    EGLDisplay dpy;


    dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
    dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
     eglInitialize(dpy, &majorVersion, &minorVersion);
    eglInitialize(dpy, 0 ,0) ;//&majorVersion, &minorVersion);
    eglGetConfigs(dpy, NULL, 0, &numConfigs);
    printf("# configs = %d\n", numConfigs);
    
    
    EGLNativeWindowType window = android_createDisplaySurface();
    EGLNativeWindowType window = android_createDisplaySurface();


@@ -57,7 +58,22 @@ int main(int argc, char** argv)
        return 0;
        return 0;
    }
    }


    EGLint r,g,b,a;
    eglGetConfigAttrib(dpy, config, EGL_RED_SIZE,   &r);
    eglGetConfigAttrib(dpy, config, EGL_GREEN_SIZE, &g);
    eglGetConfigAttrib(dpy, config, EGL_BLUE_SIZE,  &b);
    eglGetConfigAttrib(dpy, config, EGL_ALPHA_SIZE, &a);

    surface = eglCreateWindowSurface(dpy, config, window, NULL);
    surface = eglCreateWindowSurface(dpy, config, window, NULL);
    if (surface == EGL_NO_SURFACE) {
        EGLint err = eglGetError();
        fprintf(stderr, "%s, config=%p, format = %d-%d-%d-%d\n",
                EGLUtils::strerror(err), config, r,g,b,a);
        return 0;
    } else {
        printf("config=%p, format = %d-%d-%d-%d\n", config, r,g,b,a);
    }

    context = eglCreateContext(dpy, config, NULL, NULL);
    context = eglCreateContext(dpy, config, NULL, NULL);
    eglMakeCurrent(dpy, surface, surface, context);   
    eglMakeCurrent(dpy, surface, surface, context);   
    eglQuerySurface(dpy, surface, EGL_WIDTH, &w);
    eglQuerySurface(dpy, surface, EGL_WIDTH, &w);