OSDN Git Service
Wei Wang [Wed, 12 Oct 2016 20:50:05 +0000 (20:50 +0000)]
Move atrace init into on fs trigger am:
23d0302561
am:
53389b089c
Change-Id: Id29974c68fbe8225b24182dd7e8e910e1921b44a
Wei Wang [Wed, 12 Oct 2016 20:42:58 +0000 (20:42 +0000)]
Move atrace init into on fs trigger
am:
23d0302561
Change-Id: I91ef42cb258552d75115632ce5d2df509e2cf35d
Wei Wang [Tue, 11 Oct 2016 22:26:06 +0000 (15:26 -0700)]
Move atrace init into on fs trigger
sysfs should be ready on ealier stage than boot
Bug:
32025203
Test: take systrace
Change-Id: Id73b6959f3075dc793d93551963193a211060da8
Elliott Hughes [Wed, 12 Oct 2016 00:48:50 +0000 (00:48 +0000)]
Merge "Rely on the platform -std default." am:
26989871a5
am:
35368f2475
Change-Id: I1dffb52b3f59a8fe42c4c42e10ff7c9287e81e63
Elliott Hughes [Wed, 12 Oct 2016 00:42:19 +0000 (00:42 +0000)]
Merge "Rely on the platform -std default."
am:
26989871a5
Change-Id: I1acbc09058a339d0df076e0fccb750bb57099e8d
Treehugger Robot [Wed, 12 Oct 2016 00:32:21 +0000 (00:32 +0000)]
Merge "Rely on the platform -std default."
Elliott Hughes [Tue, 11 Oct 2016 21:47:19 +0000 (14:47 -0700)]
Rely on the platform -std default.
Bug: http://b/
32019064
Test: builds
Change-Id: I88ea6b959b9d855a536e1475ed437105370203d0
Elliott Hughes [Mon, 10 Oct 2016 22:00:57 +0000 (22:00 +0000)]
Merge "Rely on the platform -std default." am:
53b6fc5ddc
am:
0ef01bab39
Change-Id: I11137b0f1327691fa88acee67d9270fe509aa353
Elliott Hughes [Mon, 10 Oct 2016 21:46:02 +0000 (21:46 +0000)]
Merge "Rely on the platform -std default."
am:
53b6fc5ddc
Change-Id: Ie70a8414a18c0f8b8bb4054545bc7dc74c99838c
Treehugger Robot [Mon, 10 Oct 2016 21:19:54 +0000 (21:19 +0000)]
Merge "Rely on the platform -std default."
Elliott Hughes [Fri, 7 Oct 2016 22:46:42 +0000 (15:46 -0700)]
Rely on the platform -std default.
Bug: http://b/
32019064
Test: builds
Change-Id: Ie2df259641889b3ce95648bd2be48d061108162c
Dan Albert [Thu, 6 Oct 2016 19:23:43 +0000 (19:23 +0000)]
Merge "Migrate libvulkan to ndk_library." am:
02affcd552
am:
425ae4a06a
Change-Id: Ie771d411939c583dd30dd1b753d9dfdf28f2fd74
Dan Albert [Thu, 6 Oct 2016 19:20:13 +0000 (19:20 +0000)]
Merge "Migrate libvulkan to ndk_library."
am:
02affcd552
Change-Id: I97d6f3e7ce8058c190ac38ad9214794ccea6def3
Treehugger Robot [Thu, 6 Oct 2016 19:14:10 +0000 (19:14 +0000)]
Merge "Migrate libvulkan to ndk_library."
Dan Albert [Wed, 5 Oct 2016 00:49:33 +0000 (17:49 -0700)]
Migrate libvulkan to ndk_library.
Test: make native
Bug: http://b/
30465923
Change-Id: I97199a600b71447fd14181e06be3f9221c2529f3
Dan Albert [Wed, 5 Oct 2016 23:18:28 +0000 (23:18 +0000)]
Merge "Migrate khrplatform.h to ndk_headers." am:
a0d616be74
am:
fea2cbbe39
Change-Id: If4cfe4aa468e50dd12c8f0c66bdfdbca8e0bf8f5
Dan Albert [Wed, 5 Oct 2016 23:15:59 +0000 (23:15 +0000)]
Merge "Migrate khrplatform.h to ndk_headers."
am:
a0d616be74
Change-Id: I659219ee179aac1d43e74dcdecde46c073c89436
Treehugger Robot [Wed, 5 Oct 2016 23:11:53 +0000 (23:11 +0000)]
Merge "Migrate khrplatform.h to ndk_headers."
Dan Albert [Wed, 5 Oct 2016 00:49:33 +0000 (17:49 -0700)]
Migrate khrplatform.h to ndk_headers.
Test: make native
Bug: http://b/
30465923
Change-Id: Idaf0eb973b7569f92b1f1575869d13b8c5e706fd
Dan Albert [Wed, 5 Oct 2016 20:40:19 +0000 (20:40 +0000)]
Merge changes I6a2f4df7,I62e108bd,Icd83a5ef am:
900da7b14a
am:
93c91c81fd
Change-Id: I4f4c9b668d019d8eae010b41755c8985b9c76b17
Dan Albert [Wed, 5 Oct 2016 20:40:09 +0000 (20:40 +0000)]
Migrate libGLESv3 to ndk_library. am:
d7d8efa471
am:
0238c63510
Change-Id: Ie8a699ed04e115de621f4b2d5ac5b904d39006bd
Dan Albert [Wed, 5 Oct 2016 20:39:59 +0000 (20:39 +0000)]
Migrate libGLESv2 to ndk_library. am:
00500c798a
am:
2cdf177bc1
Change-Id: Iff08c160dbe9f974672672ca453303aaac5487bc
Dan Albert [Wed, 5 Oct 2016 20:39:49 +0000 (20:39 +0000)]
Migrate libGLESv1_CM to ndk_library. am:
7facb1db6e
am:
ebe4ea9e88
Change-Id: I6639fc184bf99095a3bcb3d8b0e77d6a24d5b3b6
Dan Albert [Wed, 5 Oct 2016 20:37:09 +0000 (20:37 +0000)]
Merge changes I6a2f4df7,I62e108bd,Icd83a5ef
am:
900da7b14a
Change-Id: I8d50ffcdaff60b51a81c0648a0087d645e99ee1d
Dan Albert [Wed, 5 Oct 2016 20:37:08 +0000 (20:37 +0000)]
Migrate libGLESv3 to ndk_library.
am:
d7d8efa471
Change-Id: I86f06ebcaa1e2dd860d61ff9cd9b5503158735ba
Dan Albert [Wed, 5 Oct 2016 20:36:58 +0000 (20:36 +0000)]
Migrate libGLESv2 to ndk_library.
am:
00500c798a
Change-Id: I3031e4a938bbfbd97b51735707bf5fe0bc884b37
Dan Albert [Wed, 5 Oct 2016 20:36:49 +0000 (20:36 +0000)]
Migrate libGLESv1_CM to ndk_library.
am:
7facb1db6e
Change-Id: I777d5d8b08ff11491aabdb4166d7c0d38b09f20c
Treehugger Robot [Wed, 5 Oct 2016 20:31:38 +0000 (20:31 +0000)]
Merge changes I6a2f4df7,I62e108bd,Icd83a5ef
* changes:
Migrate libGLESv3 to ndk_library.
Migrate libGLESv2 to ndk_library.
Migrate libGLESv1_CM to ndk_library.
Colin Cross [Wed, 5 Oct 2016 18:59:41 +0000 (18:59 +0000)]
Merge "Fix anonymous struct and union warnings" am:
87e72cb237
am:
a3ac6c2b86
Change-Id: Iecd9d1b0b6a22d48a1cac59e028f7d31b50a3e3e
Colin Cross [Wed, 5 Oct 2016 18:56:41 +0000 (18:56 +0000)]
Merge "Fix anonymous struct and union warnings"
am:
87e72cb237
Change-Id: I1ace0ad7d2f175b6d6cc42a0ce6845c76ba032b3
Treehugger Robot [Wed, 5 Oct 2016 18:52:25 +0000 (18:52 +0000)]
Merge "Fix anonymous struct and union warnings"
Dan Albert [Wed, 5 Oct 2016 18:33:11 +0000 (18:33 +0000)]
Merge "Migrate libEGL to ndk_library." am:
ce1bc304a2
am:
183edbb062
Change-Id: Iff01a29d4b03a45a5b28a6f98f93eb4af3e00ad7
Dan Albert [Wed, 5 Oct 2016 18:30:40 +0000 (18:30 +0000)]
Merge "Migrate libEGL to ndk_library."
am:
ce1bc304a2
Change-Id: If048759fd60754bd0c7df9c02f33f28a800eaace
Treehugger Robot [Wed, 5 Oct 2016 18:24:16 +0000 (18:24 +0000)]
Merge "Migrate libEGL to ndk_library."
Colin Cross [Sat, 1 Oct 2016 00:24:06 +0000 (17:24 -0700)]
Fix anonymous struct and union warnings
gui/BufferItem.h and android/sensor.h uses anymous structs and nested
anonymous unions, which are GNU extensions. sensor.h uses them as part
of its API, so disable the warnings in libgui, the only module that
tries to use it with -Weverything. BufferItem.h only uses the unioned
fields inside libgui, remove the union and do the 64-bit to 32-bit
slicing manually so libvulkan doesn't need the warnings disabled.
Bug:
31752268
Test: m -j
Change-Id: I92d59b1202f4d6e5419edaa6d27b6e1c50ac0042
Dan Albert [Mon, 3 Oct 2016 19:36:00 +0000 (12:36 -0700)]
Migrate libGLESv3 to ndk_library.
Test: make checkbuild
Bug: http://b/
30465923
Change-Id: I6a2f4df7f409596f487879eb7d43a7774dced894
Dan Albert [Mon, 3 Oct 2016 19:36:00 +0000 (12:36 -0700)]
Migrate libGLESv2 to ndk_library.
Test: make checkbuild
Bug: http://b/
30465923
Change-Id: I62e108bdd27b6dc40fdf7ede7d579a286cbf3b9b
Dan Albert [Mon, 3 Oct 2016 19:36:00 +0000 (12:36 -0700)]
Migrate libGLESv1_CM to ndk_library.
Test: make checkbuild
Bug: http://b/
30465923
Change-Id: Icd83a5ef5d6afcde9441f49de14a8e645d15da2f
Dan Albert [Mon, 3 Oct 2016 19:36:00 +0000 (12:36 -0700)]
Migrate libEGL to ndk_library.
Test: make checkbuild
Bug: http://b/
30465923
Change-Id: I154a95c6fde9c34d770b6fe65bfd71ac51e05574
Colin Cross [Fri, 30 Sep 2016 23:46:46 +0000 (23:46 +0000)]
Merge "Rename dump methods to dumpState" am:
c72b9a3ce4
am:
219df2fd5b
Change-Id: I0597aa09cf66820708b125421e0814d1c1f6a4ac
Colin Cross [Fri, 30 Sep 2016 23:43:18 +0000 (23:43 +0000)]
Merge "Rename dump methods to dumpState"
am:
c72b9a3ce4
Change-Id: I41cc42a6838c6e42bf257d8304f99d5ca8d74ab0
Colin Cross [Fri, 30 Sep 2016 23:30:24 +0000 (23:30 +0000)]
Merge "Rename dump methods to dumpState"
Colin Cross [Fri, 30 Sep 2016 20:12:34 +0000 (20:12 +0000)]
Merge changes I2ce11db5,Idba8278b am:
dd3f863499
am:
198134666b
Change-Id: Ibe861546bc113889034ee9d0e37c4368e4e13eac
Colin Cross [Fri, 30 Sep 2016 20:12:26 +0000 (20:12 +0000)]
Fix logging implicit sign conversions am:
8bafabf1f6
am:
6b2749643f
Change-Id: I22582b46e7490c3a6aae4417628a2d585fd21460
Colin Cross [Fri, 30 Sep 2016 20:12:18 +0000 (20:12 +0000)]
Fix libgui warnings am:
6c5a17dd26
am:
972cce4cb9
Change-Id: I83e31cd57286bb8fc5a25f7a1f6d895176640a84
Colin Cross [Fri, 30 Sep 2016 20:09:27 +0000 (20:09 +0000)]
Merge changes I2ce11db5,Idba8278b
am:
dd3f863499
Change-Id: I811fb4b61aed0ee6324b48aff2a8b3dfa4581b86
Colin Cross [Fri, 30 Sep 2016 20:09:26 +0000 (20:09 +0000)]
Fix logging implicit sign conversions
am:
8bafabf1f6
Change-Id: I5bdd64dddd845b3ffc910bc2161363e27d4f83ba
Colin Cross [Fri, 30 Sep 2016 20:09:18 +0000 (20:09 +0000)]
Fix libgui warnings
am:
6c5a17dd26
Change-Id: I463a190d7830dbdc5817c753f57fa9b5cdecd404
Colin Cross [Tue, 27 Sep 2016 01:10:16 +0000 (18:10 -0700)]
Rename dump methods to dumpState
The dump methods shadow the IBinder dump method. The warnings were being
hidden by the use of -isystem to include frameworks/native/include.
Bug:
31752268
Test: m -j
Merged-in: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
Change-Id: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
Colin Cross [Fri, 30 Sep 2016 19:56:38 +0000 (19:56 +0000)]
Merge changes I2ce11db5,Idba8278b
* changes:
Fix logging implicit sign conversions
Fix libgui warnings
Dan Stoza [Fri, 30 Sep 2016 17:59:03 +0000 (17:59 +0000)]
Merge changes I1c6a271f,I1e41e5f5,Ib2f48895,Ia8af95d2,Ie966e37d, ... am:
2b23374b45
am:
ea8e8a2aa6
Change-Id: I9688b655a778ad5ea675af0286cc7050f7ccfb96
Dan Stoza [Fri, 30 Sep 2016 17:58:55 +0000 (17:58 +0000)]
SF: Fix a couple of Layer ref count issues am:
de84eb6b82
am:
1ce7c1d3aa
Change-Id: I2ff87a50409fcc244b2cb59286990f98affdedbc
Dan Stoza [Fri, 30 Sep 2016 17:58:45 +0000 (17:58 +0000)]
Build SF executable with USE_HWC2 when needed am:
f9f7f6931f
am:
58719ff766
Change-Id: I559a674184a0a08829b49dd90d85e75478385021
Dan Stoza [Fri, 30 Sep 2016 17:58:35 +0000 (17:58 +0000)]
HWC2: Clear transform for SolidColor layers am:
f1098abecf
am:
21200d1887
Change-Id: I1039e2ddcbc139e5234f996be343e4ba88c0e75d
Dan Stoza [Fri, 30 Sep 2016 17:58:26 +0000 (17:58 +0000)]
HWC2: Use SolidColor composition for DimLayer am:
0183f7acac
am:
b4365b8d0b
Change-Id: I89241809c69af21aa62a5af7562d8f3e6bb8dbd7
Dan Stoza [Fri, 30 Sep 2016 17:58:10 +0000 (17:58 +0000)]
HWC2: Kill logspam for non-HWC virtual displays am:
179533d107
am:
9853a795ab
Change-Id: I68c6c6a0bdefb7b196eacd95e486f275c21377df
Dan Stoza [Fri, 30 Sep 2016 17:57:49 +0000 (17:57 +0000)]
HWC2: Fix virtual displays am:
5450fe5268
am:
d6fb6ea07b
Change-Id: I11166b2d968bf8a4ba23b5ba86bf307a457e8ba9
Dan Stoza [Fri, 30 Sep 2016 17:57:30 +0000 (17:57 +0000)]
HWC2: Don't set null handle for client layers am:
6be002845f
am:
0fac961a58
Change-Id: I259c37bd7ba6cf57f07f494cce4bfda7f837d76c
Dan Stoza [Fri, 30 Sep 2016 17:57:15 +0000 (17:57 +0000)]
HWC2: Hook up to BoardConfig variable am:
8beb15f220
am:
608852e318
Change-Id: I91252f79de7035b958329a68e4172edb5b2c302a
Dan Stoza [Fri, 30 Sep 2016 17:57:07 +0000 (17:57 +0000)]
HWC2: Skip validate/present if display is off am:
00ac359a3b
am:
de79392408
Change-Id: I36810f4c2623591942bac447b2b118edc3104f9d
Dan Stoza [Fri, 30 Sep 2016 17:52:19 +0000 (17:52 +0000)]
Merge changes I1c6a271f,I1e41e5f5,Ib2f48895,Ia8af95d2,Ie966e37d, ...
am:
2b23374b45
Change-Id: Ic74060aa51fe814d5033e9014059791a1e5cdd8c
Dan Stoza [Fri, 30 Sep 2016 17:52:16 +0000 (17:52 +0000)]
SF: Fix a couple of Layer ref count issues
am:
de84eb6b82
Change-Id: I779b869d340ce5320f7924ccd6579cada3227899
Dan Stoza [Fri, 30 Sep 2016 17:52:02 +0000 (17:52 +0000)]
Build SF executable with USE_HWC2 when needed
am:
f9f7f6931f
Change-Id: Icda54608b691f84969709a20fa7272abc045bd04
Dan Stoza [Fri, 30 Sep 2016 17:51:54 +0000 (17:51 +0000)]
HWC2: Clear transform for SolidColor layers
am:
f1098abecf
Change-Id: Iff664310ed2275c0ce9b7afaf8041b8a30ea3a6c
Dan Stoza [Fri, 30 Sep 2016 17:51:47 +0000 (17:51 +0000)]
HWC2: Use SolidColor composition for DimLayer
am:
0183f7acac
Change-Id: If9accf1d6ce13c34892ca72bda1778a624542337
Dan Stoza [Fri, 30 Sep 2016 17:51:39 +0000 (17:51 +0000)]
HWC2: Kill logspam for non-HWC virtual displays
am:
179533d107
Change-Id: Ib8398383cb606990920033538938855eda248071
Dan Stoza [Fri, 30 Sep 2016 17:51:32 +0000 (17:51 +0000)]
HWC2: Fix virtual displays
am:
5450fe5268
Change-Id: I6710be1bb5c5fb998143b4ad898c94a6eee98382
Dan Stoza [Fri, 30 Sep 2016 17:51:24 +0000 (17:51 +0000)]
HWC2: Don't set null handle for client layers
am:
6be002845f
Change-Id: I1fc9959536c40511c4fc49fa613d6fd7a97d43ad
Dan Stoza [Fri, 30 Sep 2016 17:51:16 +0000 (17:51 +0000)]
HWC2: Hook up to BoardConfig variable
am:
8beb15f220
Change-Id: I012809dac02ab2d87ac1650be2fc619f2b68fbbf
Dan Stoza [Fri, 30 Sep 2016 17:51:07 +0000 (17:51 +0000)]
HWC2: Skip validate/present if display is off
am:
00ac359a3b
Change-Id: I31fad8a631fc6b52cb4b6b4cfc26185ebb0214f2
Colin Cross [Fri, 30 Sep 2016 17:48:56 +0000 (17:48 +0000)]
Merge "Fix struct vs. class mismatch in forward definitions" am:
1d6c149d89
am:
8806e2a789
Change-Id: Ib37b329e85dd3f72953b4f9b4eada5733976bead
Dan Stoza [Fri, 30 Sep 2016 17:44:52 +0000 (17:44 +0000)]
Merge changes I1c6a271f,I1e41e5f5,Ib2f48895,Ia8af95d2,Ie966e37d, ...
* changes:
SF: Fix a couple of Layer ref count issues
Build SF executable with USE_HWC2 when needed
HWC2: Clear transform for SolidColor layers
HWC2: Use SolidColor composition for DimLayer
HWC2: Kill logspam for non-HWC virtual displays
HWC2: Fix virtual displays
HWC2: Don't set null handle for client layers
HWC2: Hook up to BoardConfig variable
HWC2: Skip validate/present if display is off
Colin Cross [Fri, 30 Sep 2016 17:40:35 +0000 (17:40 +0000)]
Merge "Fix struct vs. class mismatch in forward definitions"
am:
1d6c149d89
Change-Id: Iba83f822a72416e0b63b796f16065e8a672d66d9
Colin Cross [Tue, 27 Sep 2016 21:08:19 +0000 (14:08 -0700)]
Fix logging implicit sign conversions
The warnings were being hidden by the use of -isystem to include
frameworks/native/include.
Bug:
31752268
Test: m -j
Merged-in: I2ce11db524ee9d8f846fdf3ed6fb882d5ef57956
Change-Id: I2ce11db524ee9d8f846fdf3ed6fb882d5ef57956
Colin Cross [Tue, 27 Sep 2016 21:12:48 +0000 (14:12 -0700)]
Fix libgui warnings
The warnings were being hidden by the use of -isystem to include
frameworks/native/include.
Bug:
31752268
Test: m -j
Merged-in: Idba8278bc0a73886ecb7978617854b433c0b5875
Change-Id: Idba8278bc0a73886ecb7978617854b433c0b5875
Colin Cross [Fri, 30 Sep 2016 17:33:29 +0000 (17:33 +0000)]
Merge "Fix struct vs. class mismatch in forward definitions"
Colin Cross [Fri, 30 Sep 2016 00:46:51 +0000 (17:46 -0700)]
Fix struct vs. class mismatch in forward definitions
The warnings were being hidden by the use of -isystem to include
frameworks/native/include.
Bug:
31752268
Test: m -j
Change-Id: I46208cec43599f775f7e2cb22b39d19b0ea762e1
Colin Cross [Thu, 29 Sep 2016 23:46:41 +0000 (23:46 +0000)]
Merge "Fix weak vtable warnings" am:
d93a40c920
am:
11a2bcad06
Change-Id: I1fd134d6eedb2f324de36b8e066b7d942fccd2eb
Colin Cross [Thu, 29 Sep 2016 23:46:31 +0000 (23:46 +0000)]
Merge "Rewrite multicharacter constant using constexpr" am:
991667ba8c
am:
3f6292ea81
Change-Id: I8ccf4b34cb9dc76c91ceac5f928918fa2e0b7ec0
Colin Cross [Thu, 29 Sep 2016 23:46:20 +0000 (23:46 +0000)]
Merge "Fix rule of three warnings" am:
dfd195160a
am:
52b3fe2fcc
Change-Id: I9737cdfceb1ba74211efc3fb7fb4d8657578cd25
Colin Cross [Thu, 29 Sep 2016 23:44:40 +0000 (23:44 +0000)]
Merge "Fix weak vtable warnings"
am:
d93a40c920
Change-Id: I54d2cad55131ac3a8786012d692d4627f188a0a7
Colin Cross [Thu, 29 Sep 2016 23:44:30 +0000 (23:44 +0000)]
Merge "Rewrite multicharacter constant using constexpr"
am:
991667ba8c
Change-Id: Iecaee1af6b787187f971e57d8ca3d4d223c79627
Colin Cross [Thu, 29 Sep 2016 23:44:19 +0000 (23:44 +0000)]
Merge "Fix rule of three warnings"
am:
dfd195160a
Change-Id: Ifcc0ef0c71f465ada5c62cbcccd40580df802a51
Colin Cross [Thu, 29 Sep 2016 23:36:22 +0000 (23:36 +0000)]
Merge "Fix weak vtable warnings"
Colin Cross [Mon, 26 Sep 2016 20:48:02 +0000 (13:48 -0700)]
Fix weak vtable warnings
Move virtual destructors into cpp file so that the compiler knows which
translation unit to put the vtable into. Hide the warning for
DeathRecipient, which has no virtual methods to move. The warnings were
being hidden by the use of -isystem to include
frameworks/native/include.
Bug:
31752268
Test: m -j
Change-Id: I25329d66bfc1f6a5064d05ce7d12ad9b090601f8
Colin Cross [Thu, 29 Sep 2016 23:35:54 +0000 (23:35 +0000)]
Merge "Rewrite multicharacter constant using constexpr"
Colin Cross [Tue, 27 Sep 2016 01:11:51 +0000 (18:11 -0700)]
Rewrite multicharacter constant using constexpr
Multi character constants are implementation defined behavior, use a
constexpr instead. The warnings were being hidden by the use of
-isystem to include frameworks/native/include.
Bug:
31752268
Test: m -j
Change-Id: I22435d1f66a073c303202da7a1940cb14b0b9fd8
Colin Cross [Thu, 29 Sep 2016 23:35:27 +0000 (23:35 +0000)]
Merge "Fix rule of three warnings"
Colin Cross [Tue, 27 Sep 2016 01:11:41 +0000 (18:11 -0700)]
Fix rule of three warnings
Sensor and BufferItem have destructors, the copy constructor and
assignment operators should not be implicit. The warnings were being
hidden by the use of -isystem to include frameworks/native/include.
Bug:
31752268
Test: m -j
Change-Id: If375d85cd3d6ded4ee6b27b841bf10f563254682
Dan Stoza [Tue, 9 Aug 2016 20:21:03 +0000 (13:21 -0700)]
SF: Fix a couple of Layer ref count issues
This is an attempt at fixing two reference counting issues for Layers.
The first issue is that since we were holding an sp<IBinder> (really a
reference to a LayerCleaner) inside the layer state for deferred
transactions, there was a possibility that it could end up being the
last strong reference to the LayerCleaner such that when it was
destroyed while applying a non-deferred transaction, it would attempt
to grab the SurfaceFlinger main lock to destroy its Layer. Since this
occurred in the main SurfaceFlinger loop, which was already holding
the lock to process transactions, this would cause a deadlock.
To fix this, the sp<IBinder> inside the layer state was changed to a
wp<IBinder>, only being promoted when it actually needs to be accessed
(i.e., when the deferred transaction is created).
The second issue is that we were promoting and holding a strong
reference to a Layer before calling into SurfaceFlinger to destroy it
on the onLayerDestroyed path (triggered when a LayerCleaner is
destroyed). After returning from the attempt to grab the SurfaceFlinger
main lock, it was possible that this strong reference was the last one
keeping the Layer alive, and destroying it at this point could cause
the HWC2 version of the layer to be destroyed at effectively any point,
even between validate/present.
To fix this, the promotion of the weak Layer reference was moved inside
the critical section where the SurfaceFlinger main lock is held.
Test: Cherry-pick from internal branch
Bug:
30503916
Bug:
30281222
Change-Id: I1c6a271f9a7b5d6eea9a9db61d971f262d0cfe84
Dan Stoza [Wed, 27 Jul 2016 22:05:38 +0000 (15:05 -0700)]
Build SF executable with USE_HWC2 when needed
The SurfaceFlinger executable wasn't picking up the USE_HWC2 flag when
enabled by the TARGET_USES_HWC2 BoardConfig, causing a mismatch in the
size of the SurfaceFlinger object. This fixes that by also passing
USE_HWC2 when building the executable.
Test: Cherry-pick from internal branch
Bug:
30302693
Change-Id: I1e41e5f548d4b8329590a082d9b69155ba365be9
Dan Stoza [Wed, 27 Jul 2016 17:16:52 +0000 (10:16 -0700)]
HWC2: Clear transform for SolidColor layers
Clears the transform for SolidColor layers, since it doesn't make sense
to transform layers without a buffer.
Test: Cherry-pick from internal branch
Bug:
30429522
Change-Id: Ib2f4889531556c7ab00e3b270319c321e9f32c84
Dan Stoza [Wed, 20 Jul 2016 19:52:38 +0000 (12:52 -0700)]
HWC2: Use SolidColor composition for DimLayer
Switches SurfaceFlinger to try to use SolidColor HWC device
composition for DimLayers instead of always falling back to client
composition.
Test: Cherry-pick from internal branch
Bug:
30216498
Change-Id: Ia8af95d214ba72b5657f32f7827a1e6278629f17
Dan Stoza [Thu, 21 Jul 2016 18:09:40 +0000 (11:09 -0700)]
HWC2: Kill logspam for non-HWC virtual displays
Removes some logspam and fixes some non-errors which were reported as
errors when running a virtual display that is not backed by hardware
composer.
Test: Cherry-pick from internal branch
Bug:
30022738
Change-Id: Ie966e37d95f53bcc050eef064d24bbe26748b7fd
Dan Stoza [Wed, 13 Jul 2016 22:48:58 +0000 (15:48 -0700)]
HWC2: Fix virtual displays
Close the output buffer release fence per the contract in
hwcomposer2.h.
Also changes the HWC2 device to hold a weak pointer to the display,
which allows it to properly remove it when it gets torn down.
Test: Cherry-pick from internal branch
Bug:
29945684
Change-Id: Ib1b5d81e42a63d0e65b189f7c6c62e661e0ab6ae
Dan Stoza [Tue, 21 Jun 2016 22:02:23 +0000 (15:02 -0700)]
HWC2: Don't set null handle for client layers
Removes the code that explicitly set a null buffer handle for client
layers.
Test: Cherry-pick from internal branch
Bug:
29463310
Change-Id: I570e6041ba72d64971bb6c364e8e7b6f84eeff08
Dan Stoza [Tue, 21 Jun 2016 17:00:37 +0000 (10:00 -0700)]
HWC2: Hook up to BoardConfig variable
Uses TARGET_USES_HWC2 to enable the HWC2 code path in SurfaceFlinger
Test: Cherry-pick from internal branch
Bug:
27211042
Change-Id: I7b7e3e3f7a918e74df0be27418196c81b4332564
Dan Stoza [Fri, 17 Jun 2016 18:29:01 +0000 (11:29 -0700)]
HWC2: Skip validate/present if display is off
Adds checks to ensure that the display is still on before attempting
to call into prepareFrame/commit (which in turn call into
validate/present).
Test: Cherry-pick from internal branch
Bug:
28596387
Change-Id: Iad87f02c3e44e86db43a15c258ee66b0cde14faa
Colin Cross [Thu, 29 Sep 2016 17:42:03 +0000 (17:42 +0000)]
Merge "Fix implicit sign casts in Parcel.h" am:
9984fa0ed0
am:
4901e7c070
Change-Id: Ic291dbf2eb8d6244b883c696756183ace21cfa46
Colin Cross [Thu, 29 Sep 2016 17:32:11 +0000 (17:32 +0000)]
Merge "Fix implicit sign casts in Parcel.h"
am:
9984fa0ed0
Change-Id: I7a5fb0652ccfd88094ceb2e48a8ff2291166f7f7