Commit Graph

22 Commits

Author SHA1 Message Date
Andrew Sutherland
7493d7c6cc libqcomui: convert *FormatInHW to a switch and ifdef it
caf removed this hack when the mdp driver was updated
for the YAMATO format. We dont have that yet so keep it around
but make it optional.
depends on BOARD_ADRENO_DECIDE_TEXTURE_TARGET
enable with BOARD_ADRENO_AVOID_EXTERNAL_TEXTURE:= true

Change-Id: I99b9a60d76d4515682db9717e3cb68bc17aff800
2012-06-04 22:08:52 -05:00
Andrew Sutherland
3c6ccbef6d qcomui: ifdef decideTextureTarget
caf removed the decideTextureTarget function, however it is still useful for
old devices (8x50)

Change-Id: I8d5c7a821b1f2f75819cbcd6d7c65e17f1c1b0b1
2012-06-03 02:54:58 -05:00
Kyong Hwa Bae
e1ea460dc4 HWComposer: Set the transform value correctly
When using the bypass, read only last 4 bits of
the transfrom value regarding the change of
transform value in Layer::setGeometry().

(cherry picked from commit 7689940bec6440b78418cb15a9888312ab96ea04)

Change-Id: Ida5781e3e92929b8024947a41e5521f83164a4f7

Conflicts:
	libhwcomposer/hwcomposer.cpp
2012-06-03 02:49:06 -05:00
Ramakrishna Prasad N
5875b20445 libgralloc: Add API's to synchronize framebuffer update.
This change introduces API's in gralloc to allow clients
to synchronize with framebuffer posts.

CRs-fixed: 348953

(cherry picked from commit f81de75b1adb78018c0bd54b7f27901ba467defd)

Conflicts:

	libgralloc/framebuffer.cpp
	libqcomui/qcom_ui.h

Change-Id: I98b6a2b3243f520138cb5d1c76493cdfa3af60b6
2012-06-03 02:49:05 -05:00
Arun Kumar K.R
ac786968e3 qcom/display: add perform function to fb/hwc HALS
- Add perform function to framebuffer and HWComposer HALS
- This will be used communicate custom events(external display,
  video overlay, orientation, etc.,) to HALS
- remove setActionsafe API(not used)

CRs-Fixed: 341947
(cherry picked from commit 31999628ddd4a6c0996e22e9fbf1f311d6efb160)

Change-Id: I221f2ab49770e8db7602bb1881ef9972567b7780
2012-06-03 02:49:04 -05:00
Arun Kumar K.R
17e503c9b1 libQcomUI: handle WFD and HDMI concurrency.
- Add external_display_type to differentiate WFD and HDMI
- based on the display type, handle wifi display and HDMI
  concurrency

Change-Id: I2bf928dcd232f2ea39c4fa8dca812a26112076b2
(cherry picked from commit 8e7490026832d8df6758f4aa615039f91ac0f5ff)
(cherry picked from commit 7c6b7979bf2d7ab12ff528be75b5e008405acbda)
2012-05-22 17:03:47 -05:00
Jeykumar Sankaran
6d56f14dff libqcomUI: Add utils folder to libqcomUI
-Introduce utils folder in qcomUI lib for all Qcom
 implemented utility classes.
-Move FPS calculation profiler class into utils
 folder.

CRs-Fixed: 342060
(cherry picked from commit e9469022741642cfd8483839de96e809f4d94f1e)

Change-Id: Ie0af0c0cc10b5304814b4f26aed581ea93ce7f5f
2012-05-22 17:03:47 -05:00
Mathew Karimpanal
0f6ca9f6c9 libQcomUI/libhwcomposer: Log and dump layers of screen frames.
Log a frame-by-frame succession of HWComposer layers' data and write
their buffers, if any, into raw or png files based on system property
values.

CRs-fixed: 339748

Change-Id: I171a9891a0867548b34d45c0561f25f66cf0580c
(cherry picked from commit 8166b062df4765af0b0d9f95d55fa14dd4b75b8d)
2012-03-30 20:34:06 -05:00
Jeff Boody
6ee9758eb8 libhwcomposer/libqcomui: disable composition bypass for asynchronous mode
The current composition bypass implementation prevents the app frame rate from
being decoupled with vsync. As a result when a graphics application requests
EGL swap interval zero it is still limited by vsync. This change disables
composition bypass if any layers being composited for the frame are in
asynchronous mode.

CRs-Fixed: 335498
(cherry picked from commit 8e1a74ffff6a07ac9ef649347b7ac23be143f2ea)

Change-Id: Ia0b6b14fbc953b04616667a494d98fcca99932f9
2012-03-16 23:30:29 -05:00
Saurabh Shah
e15d259d8c hardware/qcom/display: External-only display.
Add support for external-only display. Layer buffers
marked with GRALLOC_USAGE_EXTERNAL_ONLY will be
displayed on external panel only, if available.

In addition if the layer buffer also has the flag
GRALLOC_USAGE_EXTERNAL_BLOCK then only that layer
will be displayed on external (During suspend).

When this mode is on, the default mirror mode for
external is stopped.

Conflicts:

	libhwcomposer/hwcomposer.cpp

Change-Id: I8ea2920384c5b68311ee3fe00707d01ab6568b52
2012-03-16 23:29:57 -05:00
Zhoulu Luo
84961f81a5 libhwcomposer: Add support for 3 layer bypass
This change allows 3 or less layer use cases to get bypassed completely via MDP pipes.
If more than 3 layers, all of them gets composited on FB.

Intended FB fallback cases:
  1) 4 or more layers
  2) Any MDP pipe is in use
  3) Any layer needs rotation
  4) Any layer is allocated from non-pmem

Change-Id: Ieb2b30b8ab9893fd68c7fc61ec889ac9a01cb7dd
(cherry picked from commit 001ffcfef1d63948926b1be67c4977d13ae1b159)

Conflicts:

	libhwcomposer/hwcomposer.cpp
2012-03-16 23:16:24 -05:00
Arun Kumar K.R
37c2692006 qcom/display: Add support for WFD
- HDMI has priority over Wifi display, if HDMI is connected during
  Wifi, close the session for Wifi and start one for HDMI.
- the enableHDMIOutput parameter externaltype - HDMI/WIFI/OFF

Change-Id: If2cd9143fc7a953db49f38a6c166f9425ba5266e

Conflicts:

	libqcomui/qcom_ui.cpp
2012-03-16 23:13:28 -05:00
Neti Ravi Kumar
4952f4297b libqcomui : Compose UI in S3D format
The new class QCBaseLayer has been added. It implementsthe composition
of S3D UI when 3D video is playing. HWC adds hints to UIlayers for
composing them in S3D format when running S3D video.
Compose them in requested format.

(cherry picked from commit 080e303a70f89a1b0601a45c0815042addb7ac63)

Change-Id: I1d33a1419914b8e06618acd335f89808dc692742
2012-03-16 21:34:47 -05:00
Paras Morabia
6fd8923a96 QCommUI/HWComposer: Allow application to set 3D format
This change allows the application to set the S3D format for the surface.
With this change application would be specifying 3D format and that would
be handled by hwcomposer would handle it appropriately.

Change-Id: I6b7b33712ab85b8a94231bd65a19709b3c2cd606

Conflicts:

	libqcomui/qcom_ui.cpp
2012-03-16 21:28:48 -05:00
Rajulu Ponnada
e17722b895 hardware/qcom/display: Add debug feature to display FPS for both bypass,fb
Change-Id: Ib4991200db9bc64c823c57ed1fba43f836142957
(cherry picked from commit cc57c2f34b936636e9c52dc43689d9386bcd0e35)

Conflicts:

	libgralloc/Android.mk
	libhwcomposer/Android.mk
	libqcomui/Android.mk
2012-03-16 20:51:30 -05:00
Neti Ravi Kumar
08e0b71c29 libqcomui: Select texture target based on pixel format
Do not choose GL_EXTERNAL_TEXTURE_OES for all formats, instead,
select between GL_EXTERNAL_TEXTURE_OES, and GL_TEXTURE_2D based
on the pixel format.

This change is done to reduce composition times.

Change-Id: I17edd78cdfa051f88ed6bd4e585c7a9b0705aa3a
CRs-fixed: 328074
2012-03-11 01:18:50 -06:00
Harshad Bhutada
23f2ec2103 libqcomui: add function to find if GPU supports a format in hardware
This is a helper function that will return false if the given format is
supported by adreno drivers but not supported in GPU HW. For these
formats, adreno will use software color conversion routines to convert
them to acceptable format by the GPU HW. This may be required if we
want to avoid creating texture for certain formats when not absolutely
necessary. Could be defaulted to return true depending on a compile
time flag.

Change-Id: Idb2200b5ed13bb8c184288d44340ed1aefeaa8df
2012-02-27 01:56:28 -06:00
Naomi Luis
4438e2f942 libQcomUI: Implement clearRegion for C2D/MDP/CPU composition.
Implement clearRegion for C2D/MDP/CPU composition. This prevents
glClear and therefore the glFinish from being called, thus
improving performance.

Change-Id: I03d9230e03cce11d9fe7e2bd34e4df8328ad2e00
2011-12-26 16:46:02 -05:00
Jeykumar Sankaran
5312f7f48e Display: Add support in libqcomui to check FB update
This change adds support in libqcomui to check if FB is updated
by a composition type

Change-Id: Ic23f24d95166cb9b1a03614f1c0fd562f321a1fd
2011-12-22 21:44:07 -05:00
Naomi Luis
8d7ff87f5c libQcomUI: Add support for qcom specific layer flags.
Add support for updating the qcom specific layer flags. Add support for
getting the per frame HWC flags based on the layer flags.

Change-Id: I5f7759a6a7fae6d4f70dd26f380a9b08e48e9475
2011-12-11 16:19:48 -08:00
Naomi Luis
be32078a40 libQcomUI: Add support for updating the buffer geometry
Add support for updating the buffer geometry without any reallocation
of memory. The buffer geometry is updated in the GraphicBuffer as well
as in the buffer handle.

Change-Id: I3fdb4f6a737277ab63fcbdb42e9c955ea7471760
2011-12-10 21:52:41 -08:00
Naomi Luis
18e73bc5c7 Display: Add libQcomUI
Add libQComUI which is used to perform operations specified by
SurfaceTextures.
The operation currently supported by this library is SET_BUFFER_SIZE
which deallocates and reallocates memory if the size allocated for the
buffer does not match the size requested by the client.

Change-Id: I370b94a91f5acf373f7040742aad7c2e7bb586fe
2011-12-10 21:52:29 -08:00