Loading libs/surfaceflinger/GPUHardware/GPUHardware.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -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; } // --------------------------------------------------------------------------- Loading libs/surfaceflinger/Layer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading libs/surfaceflinger/SurfaceFlinger.cpp +12 −2 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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(); } Loading Loading @@ -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(); Loading libs/surfaceflinger/VRamHeap.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
libs/surfaceflinger/GPUHardware/GPUHardware.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -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; } // --------------------------------------------------------------------------- Loading
libs/surfaceflinger/Layer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
libs/surfaceflinger/SurfaceFlinger.cpp +12 −2 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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(); } Loading Loading @@ -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(); Loading
libs/surfaceflinger/VRamHeap.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading