Commit Graph

1150 Commits

Author SHA1 Message Date
Linux Build Service Account
1698fbaa95 Merge changes I5283613c,I9377584e,I788e411f,I5172a825 into ics
* changes:
  libgralloc: Invoke genlock during gralloc_lock/gralloc_unlock
  libgralloc: Map buffers during registration
  libgralloc: Create, attach and release genlock locks
  Add a generic buffer locking API.
2011-11-25 05:20:31 -08:00
Linux Build Service Account
0a01ff6907 Merge "display: Ashmem: use MAP_POPULATE when mapping" into ics 2011-11-25 05:20:31 -08:00
Naomi Luis
be1b5f3d66 libhwcomposer: Use genlock to lock/unlock buffers for composition.
For copybit composition, aquire a read lock on the buffer, before
the blit operation and release the lock after the blit operation.

For overlay, aquire a read lock on buffer N that is sent to the
overlay. After the play call for buffer N returns, unlock the lock
held by buffer (N-1).

Change-Id: I3ff178d8ed8e3a289c199237dbec501afdb7e717
2011-11-25 16:27:59 +05:30
Linux Build Service Account
8e61389886 Merge "copybit: Do not do in-place conversion for YV12" into ics 2011-11-24 04:18:08 -08:00
Naseer Ahmed
95ab7ecd2c copybit: Do not do in-place conversion for YV12
Change-Id: I7e53f44baa6e924c6923d4e1d1af9454f51a7357
2011-11-23 18:12:56 -08:00
Naseer Ahmed
dce3b38f58 display: Ashmem: use MAP_POPULATE when mapping
If the flag is not used, it causes errors with
mapping the page tables in the kgsl driver

Change-Id: Iaa29eb764aff8a9af4b14fff9fdab60b50759e45
2011-11-23 17:33:02 -08:00
Naseer Ahmed
229856bedf HWC: Fix for non-overlay targets
Do not call prepareOverlay, instead
use copybit to compose video frames

Change-Id: I5e85b0b65009de37ab792e59d259d8f1879fb0c4
2011-11-23 17:22:36 -07:00
Naomi Luis
1e74639826 libgralloc: Invoke genlock during gralloc_lock/gralloc_unlock
gralloc_lock and gralloc_unlock invokes genlock to perform the buffer
locking operation.
Remove unused gralloc handle variables.

Change-Id: I5283613c5f67f708123916653af1b2d1ec155577
2011-11-23 15:06:47 -08:00
Naomi Luis
09367ef6e8 libgralloc: Map buffers during registration
Map the gralloc buffer during the register_buffer phase. This allows
the clients to obtain the virtual address without the need to call an
additional mmap.

Change-Id: I9377584ee564ad5113fd353b727793f16d7b9b94
2011-11-23 15:04:40 -08:00
Naomi Luis
1b5f80522b libgralloc: Create, attach and release genlock locks
Add support in the gralloc to:
- Create a lock during buffer allocation.
- Release a lock when the buffer is freed or unregistered.
- Attach a lock when the buffer is registered.

Change-Id: I788e411f43d5fcf88d7dcf39c530559a12d6361c
2011-11-23 14:58:23 -08:00
Naomi Luis
aa4994d543 Add a generic buffer locking API.
Add libgenlock which is a cross-process buffer locking API. libgenlock
provides the ability to create, attach, release locks. It also provides
a mechanism to lock and unlock buffers for read/write purposes.

Change-Id: I5172a82539b83bcb1226e3fd4f7b80a5c7f31016
2011-11-23 14:39:28 -08:00
Naseer Ahmed
d047ca874d Display: Use flush instead of clean for ashmem
Change-Id: I9a4b8f4685620a8c650e03dd8c1a0203fa3b91e1
2011-11-22 11:44:58 -08:00
Naseer Ahmed
7f94fa6694 Display: Use new APIs for pmem in overlay
Change-Id: I021abfd4500c5cf24891e2b7e4335d65033b8b50
2011-11-22 11:36:49 -08:00
Sushil Chauhan
ef62685ddd Enable Composition Bypass.
1. Enable composition bypass for 1 or 2 non-overlapping layers.
2. Open bypass only if video playback status is CLOSED.
3. Close bypass immediately if Video or Camera needs VG pipe.

Change-Id: I1bef030b32ff2721d00b61f7717027d4d9219d04
2011-11-21 11:36:58 -08:00
Harshad Bhutada
cfd5850e6a copybit: Enable copybit for 7K targets
Change-Id: Ie88f36d54d2eac51bcb5ea6c1793b41e4573ca53
2011-11-21 18:50:46 +05:30
Naseer Ahmed
a6bda75e59 display: Enable triple FrameBuffering
Change-Id: Iab7ea670a940438f83dd7130933cceafd15b29a6
2011-11-20 21:44:03 -08:00
Naseer Ahmed
b0d4ae5c3a libcopybit: Enable copybit in new location
- Enabled copybit HAL
- Remove copybit support for 8k targets from Makefile.

Change-Id: I15ea4851c677bc9338159a8db667056655dddc13
2011-11-20 21:43:45 -08:00
Jeykumar Sankaran
4d5323cc6d libhwcomposer: Enable c2d composition in HWC
This change enables c2d composition in HWC by removing the temporary
flag added in the following commit:

    commit 7b814382ad

Change-Id: Ia6705c369090b14f3a00678c4e82078bd6e58847
2011-11-20 21:43:22 -08:00
Naseer Ahmed
d92f2df0ea Display: Enable HDMI in gralloc
Change-Id: Ifff15f3ff1eb2bb40ffe5c8a743ec5852652f45f
2011-11-20 21:43:08 -08:00
Prabhanjan Kandula
96dd6a36b9 Display: Overlay HAL changes needed for HDMI
-Add overlay defines needed by framebuffer
-enable compile time flag for HDMI

Change-Id: I5b9a8412c579a3a8cd0e0283dc5fd7e26266c170
2011-11-20 21:42:53 -08:00
Naseer Ahmed
78ec9e4e53 display: Add support for pmem in the new gralloc
Change-Id: Ice6f436a01c3344a6d859ee0afc77673f151dbe4
2011-11-20 21:42:37 -08:00
Naseer Ahmed
96311b0091 Display: Compile gralloc for ICS
This disables certain features for compilation

Change-Id: I7e7533fa7db940a106b3520bef48c9fc2860707c
2011-11-19 21:16:20 -08:00
Naomi Luis
48cedc6ddf libcopybit: Add copybit header file.
Add the copybit header file in the libcopybit directory. Modify the
copybit source files to read from the correct header file.

Change-Id: I8d2f6758c7d1fbbb6ffc513d899b62b3c0013f5e
2011-11-18 05:29:58 -08:00
Jeykumar Sankaran
7b814382ad libhwcomposer: HWC change to accomodate HAL changes
-- Enable HWC
-- handle overlay as lib rather than HAL
-- move copybit changes under COPYBIT_ENABLE flag (temporary)

Change-Id: I36d8f9688cd7cbd838e288e5f482d8ee5c9b2df6
2011-11-18 02:04:19 -08:00
Jeykumar Sankaran
e61c2f0a86 liboverlay: change in overlay due to overlay HAL removal
-- remove overlay.cpp and overlayState.cpp
-- change setParameter to setTransform

Change-Id: I6ec591810cbfe53e51b0c88ef547a2e687ea69b3
2011-11-18 02:04:18 -08:00
Naseer Ahmed
cb2b8ef287 copybit: Change gralloc header location
Change-Id: I7f4ffed723d2a84d832ec52fd25fe9636f2885a2
2011-11-16 16:57:33 -08:00
Naseer Ahmed
c2b402de13 Merge new display HAL
Change-Id: Ia937a122d5d22df243e31d7eef8762a532094684
2011-11-16 14:51:53 -08:00
Naseer Ahmed
9c050e95ec gralloc: Refactor, ion support
- Add ION support
- Refactor the design

Change-Id: I5b067b0aca1235ee8c01c256e025f416bb56f560
2011-11-16 13:43:12 -08:00
Naseer Ahmed
cbb0b78679 display: Move HALs to new location
Change-Id: Ib1d843b4cfd71f5bbb0e5184277cbe7497180f8e
2011-11-16 13:39:21 -08:00
Naseer Ahmed
dd6a62c9dd hwc: Change Android.mk to point to new display gralloc
Change-Id: Ie7c08fb55339c2c7b7bf2c28576291a5a1e1d809
2011-11-16 12:46:41 -08:00
Naseer Ahmed
b4684bce38 overlay: Enable ION for rotator
Change-Id: I08f1cd0f8d49812ba8723a137913e386365c946a
2011-11-16 12:46:35 -08:00
Naseer Ahmed
049cef0c8c C2D HAL: Enable ION
Change-Id: Ibfd124d620bab018bc89dd37e4471270c93aa58d
2011-11-16 12:46:17 -08:00
Naseer Ahmed
e8525339bc hardware/msm7k: When ION is enabled use the new gralloc
Change-Id: Id0644da2aa4d55bed7c6c41a2c6e58e860475274
2011-11-16 12:45:59 -08:00
Naseer Ahmed
b2f68b6190 copybit: Check for invalid handle
Change-Id: I3b0bcb3b464aaa15994add3b2f8d6feea3becc68
2011-11-16 12:45:50 -08:00
Linux Build Service Account
c30a98c79d Merge "Overlay: Change MDP format for YV12 buffers" into honeycomb_mr2_mainline 2011-11-14 16:20:49 -08:00
Linux Build Service Account
acd6180ea2 Merge "Multi layer composition bypass" into honeycomb_mr2_mainline 2011-11-14 15:23:53 -08:00
Chetan Kalyan
7ab3fc97e0 Overlay: Change MDP format for YV12 buffers
Android uses different alignments for YV12 buffers.
Hence, introduce a new format (MDP_Y_CR_CB_GH2V2) for
such buffers.

Change-Id: I50ba8baf2696252fce513e455d94bfde460b0e51
CRs-fixed: 302752
2011-11-14 14:39:10 -08:00
Naseer Ahmed
724b651320 overlay: Add FB flag for UI mirroring
When the source for rotator is the
framebuffer, the FB flag needs to be set
to identify the type of memory to be used.

Change-Id: I4fc6112832ad42eb7092be5243653b9baf8a241a
2011-11-11 13:57:26 -08:00
Naseer Ahmed
3ddc61d2d0 gralloc: Disable new gralloc
Change-Id: I8b6066ee5b81e3a249800857c33671c314fd373f
2011-11-08 15:21:53 -08:00
Naseer Ahmed
4057df1d8d gralloc: Disable new gralloc
Change-Id: I8b6066ee5b81e3a249800857c33671c314fd373f
2011-11-08 15:21:53 -08:00
Naseer Ahmed
0856a1cf2f gralloc: header change for ION support
Change-Id: Ibbb81034c1c4cbc6ddc79719c7d47ded97bd816e
2011-11-08 10:57:43 -08:00
Saurabh Shah
e62cceadf6 Multi layer composition bypass
Allow 1 or 2 non overlapping layers to use composition bypass.
This is an enhancement to the previous approach which uses
bypass strictly for 2 layers.

Change-Id: I879903db44cb1fddbe3e428ffa77eb67e95e0886
2011-11-04 18:47:51 -07:00
Naseer Ahmed
7aa97f87d1 gralloc: header change for ION support
Change-Id: I64ecf3ef5ea6974b2c155013c686444501939b9e
2011-11-01 18:08:25 -07:00
Naseer Ahmed
2c89689534 gralloc: header change for ION support
Change-Id: I64ecf3ef5ea6974b2c155013c686444501939b9e
2011-11-01 18:08:25 -07:00
Kinjal Bhavsar
6eb041de80 msm7k: Detect display type and mark layers
Mark layers for convert to S3D when playing S3D content on a 3DTV.

Change-Id: I355a73753682134b8ec5544a03d55ae40793e897
2011-10-25 12:23:11 -07:00
Rajulu Ponnada
802829be05 hardware/msm7k/libgralloc-qsd8k - framebuffer.cpp fps calaculation for a time interval
Change-Id: I11ee7973e192e5cc3cf5086b865632eec46eaf8c
2011-10-18 13:22:49 -07:00
Saurabh Shah
f3353ad328 Bypass: Fix source dimensions
Since the RGB buffer could be 32 aligned, use actual source dimensions.

Change-Id: Ice615e34a304c864cbe8fef044e14e9f835f9359
2011-10-18 13:22:45 -07:00
Naomi Luis
38fa4f72ff libhwcomposer: Close overlay channels in HWC set
Close overlay channels in the next HWC set phase. This allows the
framebuffer to be composed prior to the closing of channels.

CRs-fixed: 305070
Change-Id: I8719381136c20c0febbd4f7bf5b935b92f6508ec
2011-10-18 13:22:41 -07:00
Naomi Luis
376ed9acd9 Enable overlay NOWAIT when there is UI update.
When composing UI along with video, enable the overlay NOWAIT option.
If there is no UI during overlay playback, use the WAIT flag.

Change-Id: Idc538e4412c790fc295a3aff1d1f23a6e4767fce
2011-10-18 13:22:35 -07:00
Naomi Luis
8afdc162ea Upgrades to the updateOverlay functionality.
Update the overlay when we have a channel up. Previously, we did updates
only when the width and height changed. Now, we always update the overlay
when the channel is open, and not close the channel to update parameters
such as orientation change, flags etc.

Change-Id: I0b2ef8b19bd860d5361c391e040ff497f1023ae3
2011-10-18 13:22:31 -07:00