Commit Graph

26 Commits

Author SHA1 Message Date
Naseer Ahmed
4e3b559b23 msm7k: Add support for non-cached blit
Add support for the userspace to make MDP
avoid flushing the source image buffer
This change is needed if we are using
cached video buffers. Since the MDP driver
used to flush the entire source buffer before
the blit, it was a huge overhead in terms of CPU
usage for cases where the entire buffer didn't
really need flushing. Any clients that modify
the video buffers with CPU should now ensure that
they flush the region that they modified (if the
memory is cached)

Change-Id: I94572644ed5aefac3184b45df05d10be0f2c7660
2011-07-15 00:05:26 +05:30
Omprakash Dhyade
2a93efd233 hardware/msm7k: Add an api to copy bypass buffer.
Add an api to copy bypass buffer. De-couple
comp. bypass functions from HDMI feature defines.

Change-Id: I743a80518c29a04bcf61e48d189b07636026afc7
CRs-fixed: 288992
2011-06-17 12:12:17 -07:00
Naseer Ahmed
16e6f7da94 Revert "libgralloc-qsd8k: Align the framebuffer only for GPU or C2D composition"
This reverts commit 80df10595720594cf661b8812507ba75b2bafd1e.

Revert "libgralloc-qsd8k: Set the framebuffer offsets correctly"

This reverts commit 09a31858f42978c29e0c7014713748d413b3c587.

It is no longer a requirement for GPU to be 4k aligned, hence
reverting these 2 changes.

Change-Id: I39e6f6324353a3c19bfdf523f8862408ef9a4093
2011-06-10 12:29:15 +05:30
Saurabh Shah
dd6c395b86 Fix Tearing, stuttering for Original resolution surface.
Design now uses OverlayUI class. Flow goes through gralloc
to avoid race conditions with mirroring, when video is
played via Gallery.

Change-Id: If18c1f84a99aae38a6a4a20da7dff804ae05b8be
CRs-fixed: 285186, 286930, 286596
2011-05-26 13:28:00 -07:00
Saurabh Shah
9c9680462d Simplify call flow for action safe parameters.
Observed overscan in case of videos and UI
This change fixes all the paths and eliminates overscan
Adds a class to save user specified action safe parameters

Change-Id: I8c65b1142b086f5ff0d568c5f5c87fcde9642d5b
CRs-fixed: 285165
2011-05-17 04:34:14 -06:00
Naomi Luis
d314b7c703 libgralloc-qsd8k: Modify perform to use memory region
Modify the GRALLOC_MODULE_PERFORM_CREATE_HANDLE_FROM_BUFFER function
to take into account the memory region that the buffer has been
allocated from.

Change-Id: Ifac7b117956b39e54911b1b7693c0f4b959c630b
CRs-fixed: 284900
2011-05-04 12:45:44 -07:00
Naomi Luis
32a41ee5dc libgralloc-qsd8k: Set the framebuffer offsets correctly
The offsets for the framebuffer needs to start at a 4K aligned address.
Calculate the additional delta for the yoffset, the virtual address for flipping
as well as the total framebuffer size required to achieve this

Change-Id: Idfd70be10a24ac464ec820494b66d506a03a983b
CRs-fixed: 273888
2011-04-28 13:03:56 -07:00
Arun Kumar K.R
b88364eaa3 hardware/msm7k: Remove ioctl call from getOrientation
- The ioctl call from getOrientation is removed.
- In gralloc use getOrientation instead of storing the
  orientation.

Change-Id: Idb08568ff5d46ce99e0a9a8c6f492b90bb666f0c
2011-04-08 05:17:46 -06:00
Omprakash Dhyade
218ece992e gralloc-qsd8k: Add comp. bypass feature
Add comp. bypass post API. This api uses OverlayUI
class to post application surface to MDP.

Change-Id: I2b3d4caeee2681a189059dcac4ead85d17722379
2011-04-07 16:30:53 -07:00
Kinjal Bhavsar
64bd705607 liboverlay: Add TV detection and monoscopic display for S3D
Add the state machine for overlay configuration. When connected,
check whether the TV on HDMI is 3D capable or not using the EDID
info. Show L channel on primary panel; and R channel on 2D TV if
non 3DTV is connected via HDMI, else switch TV to 3D mode.

Change-Id: I3109f8b0b81a8f5ad542db038262fd668e225e96
2011-04-05 18:29:45 -06:00
Arun Kumar K.R
d46e0e1b44 liboverlay: Always use rotator for UI mirroring on HDMI
- Use rotator buffer for UI mirroring on HDMI
- Avoid ioctl calls on getPosition

CRs-fixed: 278858
Change-Id: Id390e2b85fe939d8388ed17f5f9c7fcd30499755
2011-04-04 12:46:52 -07:00
Harshad Bhutada
d372f2aa4c libgralloc-qsd8k: Add support for triple buffering
Change-Id: I15c0a2c76f4ee1a87a8b2be369c24ab8d4c38101
2011-02-07 17:53:26 -07:00
Naomi Luis
560dcdc4b8 overlay: Add support for additional S3D formats
Add support for Side-by-Side full, Side-By-Side-half formats in the overlay.
The Side by Side half formats could either be in Left-Right or Right-Left mode.

Change-Id: I1274529f75e69e10443705c863599936c45a7148
2011-01-27 12:23:06 -08:00
Naomi Luis
140db9dc03 Add support for S3D content over HDMI
Add support in the overlay to display 3D content on the HDMI.
The 3D input and out formats are passed along with the regular color format.

Change-Id: I85d96928f1fc43de8b8eafab8526af4e716099a5
2011-01-10 16:23:22 -08:00
Naomi Luis
736092e772 libgralloc-qsd8k: Update the gralloc HAL for Gingerbread
Update the gralloc HAL to match commit:
    commit 4d3c9ca6fabf2b0111ef6b567df7d244e124b9c2
    Author: Arun Kumar K.R <akkr@codeaurora.org>
    Date:   Fri Dec 17 13:14:58 2010 -0800

        libgralloc-qsd8k: Add support for non-aligned width on HDMI

        While creating overlay channel for HDMI consider the aligned
        width and set the crop rectangle to the actual width and height.

Change-Id: I36183bf1fa68e5c8ed80f1efbb5c535a060e0db0
2010-12-20 16:36:01 +05:30
Ajay Dudani
39a41afa0b hardware/msm7k: Initial changes to libgralloc-qsd8k
Change-Id: I59b23aac04b32c5a5ab09b920bdf93fdbbfcd7ce
2010-12-19 01:15:17 -08:00
Mathias Agopian
6abac7a69e add qcom specific pixelformats
Change-Id: I70395b93afc4dee13e805649ee2307ffe895aaf1
2010-08-19 13:15:39 -07:00
Jamie Gennis
253d8b6ec7 Refactor the qsd8k gralloc implementation.
The purpose of this change is to add support for allocating gralloc buffers
from either /dev/pmem or /dev/pmem_adsp depending on the usage flags.  It does
this by factoring out and abstracting the interactions with the pmem device.
For /dev/pmem allocations, the kernel allocator is not used, so a single master
fd is opened, and all the allocations are sub-allocated from that by gralloc.
For /dev/pmem_adsp the kernel allocator is used, so it simply opens a new fd
for each allocation.

A very basic unit test that can be run on the host is included.  It requires
gtest, so to run it on a host system gtest must (currently) be compiled with
BUILD_WITH_ASTL=true.

Change-Id: If2ae0151698fad8107e18e808a3fa012a846263f
2010-07-02 12:57:36 -07:00
Dima Zavin
9df504747b libgralloc-qsd8k: flush SW_WRITE cached pmem regions in unlock
Change-Id: I31d1257f031c6b9b8dae604c2c1a8aa246ce3b84
Signed-off-by: Dima Zavin <dima@android.com>
2010-03-02 15:14:57 -08:00
Dima Zavin
427b3ce634 libgralloc-qsd8k: Do not use the physical address of surfaces/framebuffer
The GPU now correctly maps everything throug hthe MMU so physical addresses
are no longer needed.

Change-Id: Id16a690f63d7141c8ee6694b246b1955f450b8ed
Signed-off-by: Dima Zavin <dima@android.com>
2009-12-02 21:15:33 -08:00
Mathias Agopian
c73e6963a9 part of fix [2186418] switch qsd8k devices to 24-bits framebuffer
Add support for 32 bits framebuffers
2009-11-23 23:19:54 -08:00
Mathias Agopian
173ba48dd3 fix gralloc qsd8k. we actually don't need to use /pmem/gpu1, since the gpu is now able to use regular PMEM.
this module is now closer to the generic gralloc module, although it will have to evolve in the near future.
2009-08-20 15:41:34 -07:00
Mathias Agopian
2261332f74 use the same magic value for native_handle in 7k and 8k, since the handles are actually identical 2009-08-19 15:16:48 -07:00
Mathias Agopian
e1ec76c16e make gralloc_priv.h for msm7k and qsd8k identical and C friendly 2009-08-19 14:17:17 -07:00
Mathias Agopian
2c911dc5b8 make gralloc-qsd8k closer to the generic gralloc so it's easier to maintain 2009-08-19 13:14:55 -07:00
Dima Zavin
463408155c qsd8k: add gralloc for 8k
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-13 16:43:18 -07:00