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

Commit 549646d2 authored by Jesse Hall's avatar Jesse Hall Committed by Android (Google) Code Review
Browse files

Merge "Add support for HWC_DEVICE_API_VERSION_1_0"

parents 543ed967 5880cc57
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ const float defaultEndDelay = 2.0; // Default delay after rendering graphics
// Globals
static const int texUsage = GraphicBuffer::USAGE_HW_TEXTURE |
        GraphicBuffer::USAGE_SW_WRITE_RARELY;
static hwc_composer_device_t *hwcDevice;
static hwc_composer_device_1_t *hwcDevice;
static EGLDisplay dpy;
static EGLSurface surface;
static EGLint width, height;
@@ -344,16 +344,16 @@ main(int argc, char *argv[])
    hwcTestFillColorHBlend(equivFrame.get(), refFormat->format,
                           startRefColor, endRefColor);

    hwc_layer_list_t *list;
    size_t size = sizeof(hwc_layer_list) + numFrames * sizeof(hwc_layer_t);
    if ((list = (hwc_layer_list_t *) calloc(1, size)) == NULL) {
    hwc_layer_list_1_t *list;
    size_t size = sizeof(hwc_layer_list_1_t) + numFrames * sizeof(hwc_layer_1_t);
    if ((list = (hwc_layer_list_1_t *) calloc(1, size)) == NULL) {
        testPrintE("Allocate list failed");
        exit(11);
    }
    list->flags = HWC_GEOMETRY_CHANGED;
    list->numHwLayers = numFrames;

    hwc_layer_t *layer = &list->hwLayers[0];
    hwc_layer_1_t *layer = &list->hwLayers[0];
    layer->handle = refFrame->handle;
    layer->blending = HWC_BLENDING_NONE;
    layer->sourceCrop.left = 0;
+3 −3
Original line number Diff line number Diff line
@@ -230,7 +230,7 @@ private:
// Globals
static const int texUsage = GraphicBuffer::USAGE_HW_TEXTURE |
        GraphicBuffer::USAGE_SW_WRITE_RARELY;
static hwc_composer_device_t *hwcDevice;
static hwc_composer_device_1_t *hwcDevice;
static EGLDisplay dpy;
static EGLSurface surface;
static EGLint width, height;
@@ -1397,7 +1397,7 @@ void Rational::double2Rational(double f, Range nRange, Range dRange,
// Given a list of rectangles, determine how many HWC will commit to render
uint32_t numOverlays(list<Rectangle>& rectList)
{
    hwc_layer_list_t *hwcList;
    hwc_layer_list_1_t *hwcList;
    list<sp<GraphicBuffer> > buffers;

    hwcList = hwcTestCreateLayerList(rectList.size());
@@ -1406,7 +1406,7 @@ uint32_t numOverlays(list<Rectangle>& rectList)
        exit(30);
    }

    hwc_layer_t *layer = &hwcList->hwLayers[0];
    hwc_layer_1_t *layer = &hwcList->hwLayers[0];
    for (std::list<Rectangle>::iterator it = rectList.begin();
         it != rectList.end(); ++it, ++layer) {
        // Allocate the texture for the source frame
+3 −3
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ public:
list<Rectangle> rectangle;
static const int texUsage = GraphicBuffer::USAGE_HW_TEXTURE |
        GraphicBuffer::USAGE_SW_WRITE_RARELY;
static hwc_composer_device_t *hwcDevice;
static hwc_composer_device_1_t *hwcDevice;
static EGLDisplay dpy;
static EGLSurface surface;
static EGLint width, height;
@@ -307,14 +307,14 @@ main(int argc, char *argv[])
    }

    // Create list of frames
    hwc_layer_list_t *list;
    hwc_layer_list_1_t *list;
    list = hwcTestCreateLayerList(rectangle.size());
    if (list == NULL) {
        testPrintE("hwcTestCreateLayerList failed");
        exit(5);
    }

    hwc_layer_t *layer = &list->hwLayers[0];
    hwc_layer_1_t *layer = &list->hwLayers[0];
    for (std::list<Rectangle>::iterator it = rectangle.begin();
         it != rectangle.end(); ++it, ++layer) {
        layer->handle = it->texture->handle;
+4 −4
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ const vector<unsigned int> vecTransformFlags(transformFlags,
// File scope globals
static const int texUsage = GraphicBuffer::USAGE_HW_TEXTURE |
        GraphicBuffer::USAGE_SW_WRITE_RARELY;
static hwc_composer_device_t *hwcDevice;
static hwc_composer_device_1_t *hwcDevice;
static EGLDisplay dpy;
static EGLSurface surface;
static EGLint width, height;
@@ -409,7 +409,7 @@ main(int argc, char *argv[])
        // generated for this pass.
        srand48(pass);

        hwc_layer_list_t *list;
        hwc_layer_list_1_t *list;
        list = hwcTestCreateLayerList(testRandMod(frames.size()) + 1);
        if (list == NULL) {
            testPrintE("hwcTestCreateLayerList failed");
@@ -428,7 +428,7 @@ main(int argc, char *argv[])
        for (unsigned int n1 = 0; n1 < list->numHwLayers; n1++) {
            unsigned int idx = testRandMod(selectedFrames[n1].size());
            sp<GraphicBuffer> gBuf = selectedFrames[n1][idx];
            hwc_layer_t *layer = &list->hwLayers[n1];
            hwc_layer_1_t *layer = &list->hwLayers[n1];
            layer->handle = gBuf->handle;

            layer->blending = blendingOps[testRandMod(NUMA(blendingOps))];
@@ -497,7 +497,7 @@ main(int argc, char *argv[])
            for (unsigned int n1 = 0; n1 < list->numHwLayers; n1++) {
                unsigned int idx = testRandMod(selectedFrames[n1].size());
                sp<GraphicBuffer> gBuf = selectedFrames[n1][idx];
                hwc_layer_t *layer = &list->hwLayers[n1];
                hwc_layer_1_t *layer = &list->hwLayers[n1];
                layer->handle = (native_handle_t *) gBuf->handle;
            }

+10 −10
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ void hwcTestInitDisplay(bool verbose, EGLDisplay *dpy, EGLSurface *surface,
}

// Open Hardware Composer Device
void hwcTestOpenHwc(hwc_composer_device_t **hwcDevicePtr)
void hwcTestOpenHwc(hwc_composer_device_1_t **hwcDevicePtr)
{
    int rv;
    hw_module_t const *hwcModule;
@@ -145,7 +145,7 @@ void hwcTestOpenHwc(hwc_composer_device_t **hwcDevicePtr)
        perror(NULL);
        exit(77);
    }
    if ((rv = hwc_open(hwcModule, hwcDevicePtr)) != 0) {
    if ((rv = hwc_open_1(hwcModule, hwcDevicePtr)) != 0) {
        testPrintE("hwc_open failed, rv: %i", rv);
        errno = -rv;
        perror(NULL);
@@ -399,12 +399,12 @@ const char *hwcTestGraphicFormat2str(uint32_t format)
 * Dynamically creates layer list with numLayers worth
 * of hwLayers entries.
 */
hwc_layer_list_t *hwcTestCreateLayerList(size_t numLayers)
hwc_layer_list_1_t *hwcTestCreateLayerList(size_t numLayers)
{
    hwc_layer_list_t *list;
    hwc_layer_list_1_t *list;

    size_t size = sizeof(hwc_layer_list) + numLayers * sizeof(hwc_layer_t);
    if ((list = (hwc_layer_list_t *) calloc(1, size)) == NULL) {
    size_t size = sizeof(hwc_layer_list_1_t) + numLayers * sizeof(hwc_layer_1_t);
    if ((list = (hwc_layer_list_1_t *) calloc(1, size)) == NULL) {
        return NULL;
    }
    list->flags = HWC_GEOMETRY_CHANGED;
@@ -417,13 +417,13 @@ hwc_layer_list_t *hwcTestCreateLayerList(size_t numLayers)
 * hwcTestFreeLayerList
 * Frees memory previous allocated via hwcTestCreateLayerList().
 */
void hwcTestFreeLayerList(hwc_layer_list_t *list)
void hwcTestFreeLayerList(hwc_layer_list_1_t *list)
{
    free(list);
}

// Display the settings of the layer list pointed to by list
void hwcTestDisplayList(hwc_layer_list_t *list)
void hwcTestDisplayList(hwc_layer_list_1_t *list)
{
    testPrintI("  flags: %#x%s", list->flags,
               (list->flags & HWC_GEOMETRY_CHANGED) ? " GEOMETRY_CHANGED" : "");
@@ -494,7 +494,7 @@ void hwcTestDisplayList(hwc_layer_list_t *list)
 * Displays the portions of a list that are meant to be modified by
 * a prepare call.
 */
void hwcTestDisplayListPrepareModifiable(hwc_layer_list_t *list)
void hwcTestDisplayListPrepareModifiable(hwc_layer_list_1_t *list)
{
    uint32_t numOverlays = 0;
    for (unsigned int layer = 0; layer < list->numHwLayers; layer++) {
@@ -522,7 +522,7 @@ void hwcTestDisplayListPrepareModifiable(hwc_layer_list_t *list)
 *
 * Displays the handles of all the graphic buffers in the list.
 */
void hwcTestDisplayListHandles(hwc_layer_list_t *list)
void hwcTestDisplayListHandles(hwc_layer_list_1_t *list)
{
    const unsigned int maxLayersPerLine = 6;

Loading