Go to file
Jeff Brown 4c05dd175e Ensure that viewport and frame are initialized.
onInitializeDisplays() was posting a transaction with changes
to the display projection.  Unfortunately, it only set the
display orientation field and left viewport and frame
uninitialized.

The uninitialized values flowed downstream and found themselves
baked into a bogus DisplayDevice mGlobalTransform.  That transform
was then applied to some Rects which were turned into Regions
that were them combined with other Regions.

Under certain situations, the uninitialized data might have
a largish value, resulting in the creation of Regions with
components in excess of the Region max-value limit of 0x7ffffff
(note that this is not INT_MAX).  Later when performing a
binary operation using the Region, the Spanner would loop
indefinitely trying to figure out how to stuff a humongous
region inside of a max-value region.  Not content to try
just once, the Spanner would continue trying again and
again, pegging the CPU and hanging surface flinger during boot.

Insanity soon followed.

Bug: 7130713
Change-Id: I0016f0c9662185be833474c212a1dd408096ae23
2012-09-09 00:07:17 -07:00
build Dalvik heap size for a 10" xhdpi tablet. 2012-08-01 18:14:45 -07:00
cmds add /d/sync to dumpstate 2012-08-08 15:32:02 -07:00
data/etc Move com.nxp.mifare to frameworks/native. 2012-04-12 21:24:08 -07:00
include libgui: move fence handling into ConsumerBase 2012-09-06 17:54:53 -07:00
libs libgui: move fence handling into ConsumerBase 2012-09-06 17:54:53 -07:00
opengl EGL: add the native_fence_sync extension 2012-09-06 16:11:37 -07:00
services Ensure that viewport and frame are initialized. 2012-09-09 00:07:17 -07:00
MODULE_LICENSE_APACHE2
NOTICE resolved conflicts for merge of adee6b35 to honeycomb-plus-aosp 2011-01-17 14:17:12 -08:00