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

Commit d052b701 authored by Daniel Hillenbrand's avatar Daniel Hillenbrand Committed by Gerrit Code Review
Browse files

Merge "hwc: Pull in updates from exynos3 hwc" into mr1-staging

parents 04470b7f e6a23d77
Loading
Loading
Loading
Loading
+49 −33
Original line number Diff line number Diff line
@@ -527,12 +527,17 @@ static void get_hwc_ui_lay_skipdraw_decision(struct hwc_context_t* ctx,
static int hwc_prepare(hwc_composer_device_1_t *dev, size_t numDisplays, hwc_display_contents_1_t** displays)
{

    for (uint32_t i = 0; i < numDisplays; i++) {
        hwc_display_contents_1_t *list = displays[i];  
    struct hwc_context_t* ctx = (struct hwc_context_t*)dev;
    int overlay_win_cnt = 0;
    int compositionType = 0;
    int ret;

    // Compat
    hwc_display_contents_1_t* list = NULL;
    if (numDisplays > 0) {
        list = displays[0];
    }

#if defined(BOARD_USES_HDMI)
    android::SecHdmiClient *mHdmiClient = android::SecHdmiClient::getInstance();
    int hdmi_cable_status = (int)mHdmiClient->getHdmiCableStatus();
@@ -656,7 +661,7 @@ static int hwc_prepare(hwc_composer_device_1_t *dev, size_t numDisplays, hwc_dis
            reset_win_rect_info(&ctx->win[i]);
        }
    }
    }

    return 0;
}

@@ -675,8 +680,6 @@ static int hwc_set(hwc_composer_device_1_t *dev,
    struct sec_rect src_work_rect;
    struct sec_rect dst_work_rect;
    bool need_swap_buffers = ctx->num_of_fb_layer > 0;
    for (uint32_t i = 0; i < numDisplays; i++) {
        hwc_display_contents_1_t* list = displays[i];      

    memset(&src_img, 0, sizeof(src_img));
    memset(&dst_img, 0, sizeof(dst_img));
@@ -688,6 +691,9 @@ static int hwc_set(hwc_composer_device_1_t *dev,
    int rotVal = 0;
#endif

    // Only support one display
    hwc_display_contents_1_t* list = displays[0];

    if (!list) {
        //turn off the all windows
        for (int i = 0; i < NUM_OF_WIN; i++) {
@@ -887,7 +893,7 @@ static int hwc_set(hwc_composer_device_1_t *dev,
        }
    }
#endif
    }

    return 0;
}

@@ -1036,12 +1042,22 @@ static int hwc_device_close(struct hw_device_t *dev)
    }
    return ret;
}

static int hwc_blank(struct hwc_composer_device_1 *dev, int dpy, int blank)
{
    // We're using an older method of screen blanking based on
    // early_suspend in the kernel.  No need to do anything here.
    struct hwc_context_t* ctx = (struct hwc_context_t*)dev;
    if (blank) {
        // release our resources, the screen is turning off
        // in our case, there is nothing to do.
        ctx->num_of_fb_layer_prev = 0;
        return 0;
    }
    else {
        // No need to unblank, will unblank on set()
        return 0;
    }
}

static int hwc_device_open(const struct hw_module_t* module, const char* name,
        struct hw_device_t** device)
{