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

Commit 75088b0a authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 626 into donut

* changes:
  fix 1803886 android15 Translucent GLSurfaceView demo does not display properly
parents 3f0a4b97 2b42fa7f
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -573,7 +573,11 @@ void GPUHardware::binderDied(const wp<IBinder>& who)

sp<GPUHardwareInterface> GPUFactory::getGPU()
{
    return new GPUHardware();
    sp<GPUHardwareInterface> gpu;
    if (access("/dev/hw3d", F_OK) == 0) {
        gpu = new GPUHardware();
    }
    return gpu;
}

// ---------------------------------------------------------------------------
+1 −1
Original line number Diff line number Diff line
@@ -108,7 +108,7 @@ status_t Layer::setBuffers( Client* client,
    // we always force a 4-byte aligned bpr.
    uint32_t alignment = 1;

    if (flags & ISurfaceComposer::eGPU) {
    if ((flags & ISurfaceComposer::eGPU) && (mFlinger->getGPU() != 0)) {
        // FIXME: this value should come from the h/w
        alignment = 8; 
        // FIXME: this is msm7201A specific, as its GPU only supports
+12 −2
Original line number Diff line number Diff line
@@ -241,6 +241,9 @@ sp<IMemory> SurfaceFlinger::getCblk() const
status_t SurfaceFlinger::requestGPU(const sp<IGPUCallback>& callback,
        gpu_info_t* gpu)
{
    if (mGPU == 0)
        return INVALID_OPERATION;

    IPCThreadState* ipc = IPCThreadState::self();
    const int pid = ipc->getCallingPid();
    status_t err = mGPU->request(pid, callback, gpu);
@@ -249,6 +252,9 @@ status_t SurfaceFlinger::requestGPU(const sp<IGPUCallback>& callback,

status_t SurfaceFlinger::revokeGPU()
{
    if (mGPU == 0)
        return INVALID_OPERATION;

    return mGPU->friendlyRevoke();
}

@@ -1600,10 +1606,14 @@ status_t SurfaceFlinger::onTransact(
            }
            return NO_ERROR;
            case 1005: // ask GPU revoke
                if (mGPU != 0) {
                    mGPU->friendlyRevoke();
                }
                return NO_ERROR;
            case 1006: // revoke GPU
                if (mGPU != 0) {
                    mGPU->unconditionalRevoke();
                }
                return NO_ERROR;
            case 1007: // set mFreezeCount
                mFreezeCount = data.readInt32();
+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ sp<MemoryDealer> SurfaceHeapManager::createHeap(
        }
    }

    if (flags & ISurfaceComposer::eGPU) {
    if ((flags & ISurfaceComposer::eGPU) && (mFlinger->getGPU() != 0)) {
        // FIXME: this is msm7201A specific, where gpu surfaces may not be secure
        if (!(flags & ISurfaceComposer::eSecure)) {
            // if GPU doesn't work, we try eHardware