Commit graph

31 commits

Author SHA1 Message Date
Rom Lemarchand
4c2aa4c223 HAL test: statically test the size of HAL structs
Ensure none of the HAL structs change size over time.
Issues might arise when making changes without taking the different
pointer sizes for specific architectures into account.

Change-Id: I63f00004a23f09b2f46df01e7c69296766a5d03f
2013-11-21 15:52:05 -08:00
Jesse Hall
3f5b522ac9 Encode header version in api versions
Change-Id: I0216bef3ba0cfaed2fe908f735e546d0734c0b13
2012-08-29 10:36:36 -07:00
Dima Zavin
2fe3ae5ec9 hardware: add some guidance on providing version defines
Change-Id: I456cb209bc5d5eb739b6fd2e2f3e869caa363ff0
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-26 23:14:15 -07:00
Dima Zavin
02a5801af9 hardware: add hardware_device_api_version() macro
Change-Id: I79c4d65f6bab227364d5f271df9bd7bc565857c2
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-21 13:35:49 -07:00
Dima Zavin
65820e4d7a libhardware: add current HAL version and a module version macro
Change-Id: I30c67a6c5231f8b270b57f78bd6322c201b90859
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-20 23:23:06 -07:00
Dima Zavin
8dc4e710c0 hardware: provide temp version defines for source compatibility
This allows all the existing modules to have source level
compatibility until they are fixed to use the new field names.

Since the binary compatibility has not been altered, we do not
need to force all the implementors to rev their version numbers.

This change should be reverted when all the clients have been updated.

Change-Id: Ie543d3a972d8abe03ca5123e3000966f048d1771
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-20 12:30:20 -07:00
Dima Zavin
2b57780d88 hardware: rename version_major/minor to module/hal api version
The previous names and documentation were not clear as to how the
version fields should be used. As a result, they were often either
unused or used improperly.

It became clear that there were two version fields necessary. One
to version the implementing module and the other to version the
hw_module_t interface itself.

This change renames version_major and version_minor members of
hw_module_t to module_api_version and hal_api_version. It also
provides in-depth descriptions for all the fields and clarifies
the purpose of the version field in hw_device_t structure.

Change-Id: I3e33e5a922cdc17c5e3b1c30a00e211394f18e86
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-20 12:30:16 -07:00
Iliyan Malchev
c12d0e9240 libhardware: break pixel formats out of hardware.h
These definitions now live under system/core/include/android/graphics.h

Change-Id: I65ca8226cb42387748c3aaa1432423153d1dad33
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-05-03 15:49:54 -07:00
Dima Zavin
54921de415 libhardware: add concept of module classes
Needed for things like audio and audio effects. Provides a
new interface to loading modules named 'hw_get_module_by_class'.
This takes two parameters: 'class_id' and 'instance' which are
used to construct the filename for the module to be loaded. If
instance is NULL, then this function acts identically to
hw_get_module where 'class_id' == 'id' (and in fact the latter
implemented exactly this way).

For audio, this new mechanism allows us to load multiple audio
interfaces by doing:

hw_get_module_by_class("audio", "primary", &module);
hw_get_module_by_class("audio", "a2dp", &module);
hw_get_module_by_class("audio", "usb", &module);
...

In the future we will likely want to add the ability to load a set of
module instances based on a config file, which will have a standard
syntax and the mechanism will be provided by libhardware.

Change-Id: I9976cc6d59a85a414b18e7b398a36edfbce4abd8
Signed-off-by: Dima Zavin <dima@android.com>
2011-04-18 15:59:13 -07:00
Jamie Gennis
2ec2193365 Update the docs for the private pixel formats.
Change-Id: I337d9e7ba7f3a625294398790844c6d15ee75237
2010-11-22 15:28:58 -08:00
Mathias Agopian
2d1e978e32 improve hardware.h documentation
Change-Id: I637a1d8924af144a9c2cc4645659e9d23e9527d6
2010-10-25 17:55:55 -07:00
Mathias Agopian
a2df7ab5fe Fix (again) description of our interchange YV12 format
Change-Id: I8cd81654b51d50385cccec7b96f6e694fd372925
2010-09-10 14:33:16 -07:00
Mathias Agopian
2250f45ff0 revert pixelformat hack
Change-Id: Ia5e01b2b2f205f48ede1d29275094a64221df2d4
2010-08-19 13:14:46 -07:00
Mathias Agopian
67d8222063 temporary hack to allow compilation of adreno driver
Change-Id: Ib3c260df2c22e1c59c5380278ea470e34aedbd81
2010-07-30 17:57:02 -07:00
Mathias Agopian
80107f8e92 Remove the YV16 format.
Change-Id: I12f72cf91a66d78499983221925ac68ca646efc8
2010-07-14 15:16:12 -07:00
Mathias Agopian
6915eb345b remove h/w specific YUV formats from the HAL
we now only support 2 "standard" yuv format in the HAL.
there is a new reserved range 0x100-0x1FF for OEMs.

Change-Id: I171fb0f8d90ded64773ac9c1e5adcab1e1f25c7f
2010-07-01 21:18:32 -07:00
Mathias Agopian
28147965b4 remove unused YUV formats
Change-Id: I328cac1ed8bb2acb105ee118d8a87bdb39a545e6
2010-06-21 18:22:36 -07:00
Mathias Agopian
373a9c6efe Add some useful YUV formats. Add fourcc version of the definitions.
also removed incorrect 4:2:0 interleaved formats

Change-Id: Ib477de86504cc67861def16fc4dfdae0dd3eb59d
2010-06-15 17:32:16 -07:00
Mathias Agopian
9e149fc6e1 fix typo 2010-02-17 21:27:20 -08:00
Mathias Agopian
ad8322bfe4 renumber the YCbCr constants to keep binary compatiblity with previous releases 2010-02-17 17:51:06 -08:00
Mathias Agopian
662b534530 add missing yuv constants 2010-02-16 19:43:19 -08:00
Dima Zavin
38a0138caf hal: Add nv12_tiled/nv21 pixel format constants
Change-Id: I6a906cf9fb1539c1876f3737b409ed0598075c8e
Signed-off-by: Dima Zavin <dima@android.com>
2010-02-16 10:14:47 -08:00
Mathias Agopian
9d82c1a447 add typedefs to gralloc and hardware.h so it's more C friendly 2009-08-19 11:20:55 -07:00
Mathias Agopian
7d512e3dc3 add support for RGBX_8888 2009-08-07 20:55:37 -07:00
Benny Wong
49b02f75eb Color Format and Overlay Functions
Add hardware overlay related function declarations and more color format enums
2009-07-17 16:26:25 -07:00
Mathias Agopian
a8a75166a2 Integrate from //sandbox/mathias/donut/...@145728
SurfaceFlinger rework for new EGL driver model support.
2009-04-10 14:24:31 -07:00
The Android Open Source Project
f53ebec387 auto import from //depot/cupcake/@135843 2009-03-03 19:32:14 -08:00
The Android Open Source Project
d51f49a11d auto import from //depot/cupcake/@135843 2009-03-03 18:28:48 -08:00
The Android Open Source Project
a5d999ff17 auto import from //branches/cupcake/...@131421 2009-02-13 12:57:52 -08:00
The Android Open Source Project
b376203efb auto import from //branches/cupcake/...@130745 2009-02-10 15:44:04 -08:00
The Android Open Source Project
51704bed79 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:50 -08:00