Loading cmds/installd/migrate_legacy_obb_data.sh +13 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,19 @@ # See the License for the specific language governing permissions and # limitations under the License. rm -rf /sdcard/Android/obb/test_probe mkdir -p /sdcard/Android/obb/ touch /sdcard/Android/obb/test_probe if ! test -f /data/media/0/Android/obb/test_probe ; then log -p i -t migrate_legacy_obb_data "No support for 'unshared_obb'. Not migrating" rm -rf /sdcard/Android/obb/test_probe exit 0 fi # Delete the test file, and remove the obb folder if it is empty rm -rf /sdcard/Android/obb/test_probe rmdir /data/media/obb if ! test -d /data/media/obb ; then log -p i -t migrate_legacy_obb_data "No legacy obb data to migrate." exit 0 Loading libs/gui/SurfaceComposerClient.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -365,6 +365,9 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::merge(Tr mContainsBuffer = other.mContainsBuffer; other.mContainsBuffer = false; mEarlyWakeup = mEarlyWakeup || other.mEarlyWakeup; other.mEarlyWakeup = false; return *this; } Loading libs/renderengine/gl/ProgramCache.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -575,10 +575,11 @@ String8 ProgramCache::generateFragmentShader(const Key& needs) { float applyCornerRadius(vec2 cropCoords) { vec2 position = cropCoords - cropCenter; // Increase precision here so that a large corner radius doesn't // cause floating point error highp vec2 dist = abs(position) + vec2(cornerRadius) - cropCenter; float plane = length(max(dist, vec2(0.0))); // Scale down the dist vector here, as otherwise large corner // radii can cause floating point issues when computing the norm vec2 dist = (abs(position) - cropCenter + vec2(cornerRadius)) / 16.0; // Once we've found the norm, then scale back up. float plane = length(max(dist, vec2(0.0))) * 16.0; return 1.0 - clamp(plane - cornerRadius, 0.0, 1.0); } )__SHADER__"; Loading services/surfaceflinger/SurfaceFlinger.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -353,6 +353,11 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI mPropagateBackpressure = !atoi(value); ALOGI_IF(!mPropagateBackpressure, "Disabling backpressure propagation"); property_get("debug.sf.enable_gl_backpressure", value, "0"); mPropagateBackpressureClientComposition = atoi(value); ALOGI_IF(mPropagateBackpressureClientComposition, "Enabling backpressure propagation for Client Composition"); property_get("debug.sf.enable_hwc_vds", value, "0"); mUseHwcVirtualDisplays = atoi(value); ALOGI_IF(mUseHwcVirtualDisplays, "Enabling HWC virtual displays"); Loading Loading @@ -1670,9 +1675,9 @@ void SurfaceFlinger::onMessageReceived(int32_t what) NO_THREAD_SAFETY_ANALYSIS { break; } // For now, only propagate backpressure when missing a hwc frame. if (hwcFrameMissed && !gpuFrameMissed) { if (mPropagateBackpressure) { if (frameMissed && mPropagateBackpressure) { if ((hwcFrameMissed && !gpuFrameMissed) || mPropagateBackpressureClientComposition) { signalLayerUpdate(); break; } Loading services/surfaceflinger/SurfaceFlinger.h +1 −0 Original line number Diff line number Diff line Loading @@ -1003,6 +1003,7 @@ private: volatile nsecs_t mDebugInTransaction = 0; bool mForceFullDamage = false; bool mPropagateBackpressure = true; bool mPropagateBackpressureClientComposition = false; std::unique_ptr<SurfaceInterceptor> mInterceptor; SurfaceTracing mTracing{*this}; bool mTracingEnabled = false; Loading Loading
cmds/installd/migrate_legacy_obb_data.sh +13 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,19 @@ # See the License for the specific language governing permissions and # limitations under the License. rm -rf /sdcard/Android/obb/test_probe mkdir -p /sdcard/Android/obb/ touch /sdcard/Android/obb/test_probe if ! test -f /data/media/0/Android/obb/test_probe ; then log -p i -t migrate_legacy_obb_data "No support for 'unshared_obb'. Not migrating" rm -rf /sdcard/Android/obb/test_probe exit 0 fi # Delete the test file, and remove the obb folder if it is empty rm -rf /sdcard/Android/obb/test_probe rmdir /data/media/obb if ! test -d /data/media/obb ; then log -p i -t migrate_legacy_obb_data "No legacy obb data to migrate." exit 0 Loading
libs/gui/SurfaceComposerClient.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -365,6 +365,9 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::merge(Tr mContainsBuffer = other.mContainsBuffer; other.mContainsBuffer = false; mEarlyWakeup = mEarlyWakeup || other.mEarlyWakeup; other.mEarlyWakeup = false; return *this; } Loading
libs/renderengine/gl/ProgramCache.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -575,10 +575,11 @@ String8 ProgramCache::generateFragmentShader(const Key& needs) { float applyCornerRadius(vec2 cropCoords) { vec2 position = cropCoords - cropCenter; // Increase precision here so that a large corner radius doesn't // cause floating point error highp vec2 dist = abs(position) + vec2(cornerRadius) - cropCenter; float plane = length(max(dist, vec2(0.0))); // Scale down the dist vector here, as otherwise large corner // radii can cause floating point issues when computing the norm vec2 dist = (abs(position) - cropCenter + vec2(cornerRadius)) / 16.0; // Once we've found the norm, then scale back up. float plane = length(max(dist, vec2(0.0))) * 16.0; return 1.0 - clamp(plane - cornerRadius, 0.0, 1.0); } )__SHADER__"; Loading
services/surfaceflinger/SurfaceFlinger.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -353,6 +353,11 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI mPropagateBackpressure = !atoi(value); ALOGI_IF(!mPropagateBackpressure, "Disabling backpressure propagation"); property_get("debug.sf.enable_gl_backpressure", value, "0"); mPropagateBackpressureClientComposition = atoi(value); ALOGI_IF(mPropagateBackpressureClientComposition, "Enabling backpressure propagation for Client Composition"); property_get("debug.sf.enable_hwc_vds", value, "0"); mUseHwcVirtualDisplays = atoi(value); ALOGI_IF(mUseHwcVirtualDisplays, "Enabling HWC virtual displays"); Loading Loading @@ -1670,9 +1675,9 @@ void SurfaceFlinger::onMessageReceived(int32_t what) NO_THREAD_SAFETY_ANALYSIS { break; } // For now, only propagate backpressure when missing a hwc frame. if (hwcFrameMissed && !gpuFrameMissed) { if (mPropagateBackpressure) { if (frameMissed && mPropagateBackpressure) { if ((hwcFrameMissed && !gpuFrameMissed) || mPropagateBackpressureClientComposition) { signalLayerUpdate(); break; } Loading
services/surfaceflinger/SurfaceFlinger.h +1 −0 Original line number Diff line number Diff line Loading @@ -1003,6 +1003,7 @@ private: volatile nsecs_t mDebugInTransaction = 0; bool mForceFullDamage = false; bool mPropagateBackpressure = true; bool mPropagateBackpressureClientComposition = false; std::unique_ptr<SurfaceInterceptor> mInterceptor; SurfaceTracing mTracing{*this}; bool mTracingEnabled = false; Loading