diff options
Diffstat (limited to 'sdm/include')
-rw-r--r-- | sdm/include/core/layer_buffer.h | 6 | ||||
-rw-r--r-- | sdm/include/core/layer_stack.h | 19 | ||||
-rw-r--r-- | sdm/include/private/hw_info_types.h | 1 | ||||
-rw-r--r-- | sdm/include/utils/debug.h | 3 | ||||
-rw-r--r-- | sdm/include/utils/rect.h | 2 |
5 files changed, 27 insertions, 4 deletions
diff --git a/sdm/include/core/layer_buffer.h b/sdm/include/core/layer_buffer.h index c437dab29..5ee441e4d 100644 --- a/sdm/include/core/layer_buffer.h +++ b/sdm/include/core/layer_buffer.h @@ -183,8 +183,10 @@ struct LayerBufferFlags { @sa LayerStack */ struct LayerBuffer { - uint32_t width = 0; //!< Actual width of the Layer that this buffer is for. - uint32_t height = 0; //!< Actual height of the Layer that this buffer is for. + uint32_t width = 0; //!< Aligned width of the Layer that this buffer is for. + uint32_t height = 0; //!< Aligned height of the Layer that this buffer is for. + uint32_t real_width = 0; //!< Real width of the Layer that this buffer is for. + uint32_t real_height = 0; //!< Real height of the Layer that this buffer is for. LayerBufferFormat format = kFormatRGBA8888; //!< Format of the buffer content. LayerBufferPlane planes[4]; //!< Array of planes that this buffer contains. RGB buffer formats //!< have 1 plane whereas YUV buffer formats may have upto 4 planes. diff --git a/sdm/include/core/layer_stack.h b/sdm/include/core/layer_stack.h index 2e3015f34..a73679506 100644 --- a/sdm/include/core/layer_stack.h +++ b/sdm/include/core/layer_stack.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014 - 2015, The Linux Foundation. All rights reserved. +* Copyright (c) 2014 - 2016, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted * provided that the following conditions are met: @@ -230,6 +230,20 @@ struct LayerRectArray { uint32_t count = 0; //!< Number of elements in the array. }; +/*! @brief This structure defines FRC info of display layer. + + @sa LayerFrcInfo +*/ + +struct LayerFrcInfo { + /* Deterministic Frame Rate Control (FRC) */ + int32_t enable; + /* video frame count */ + uint32_t frame_cnt; + /* video timestamp */ + int64_t timestamp; +}; + /*! @brief This structure defines display layer object which contains layer properties and a drawing buffer. @@ -294,6 +308,9 @@ struct Layer { LayerIGC igc = kIGCNotSpecified; //!< IGC that will be applied on this layer. + LayerFrcInfo frc_info; //!< FRC info which contains video frame count + //!< and timestamp of this layer. + uint32_t solid_fill_color = 0; //!< Solid color used to fill the layer when //!< no content is associated with the layer. diff --git a/sdm/include/private/hw_info_types.h b/sdm/include/private/hw_info_types.h index ec1b6e57e..8b5d4df29 100644 --- a/sdm/include/private/hw_info_types.h +++ b/sdm/include/private/hw_info_types.h @@ -310,6 +310,7 @@ struct HWLayersInfo { LayerRect right_partial_update; // Right ROI. bool use_hw_cursor = false; // Indicates that HWCursor pipe needs to be used for cursor layer + LayerFrcInfo frc_info; // FRC info of this layer stack }; struct HWLayers { diff --git a/sdm/include/utils/debug.h b/sdm/include/utils/debug.h index d34d282c3..50fdd717b 100644 --- a/sdm/include/utils/debug.h +++ b/sdm/include/utils/debug.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014 - 2015, The Linux Foundation. All rights reserved. +* Copyright (c) 2014 - 2016, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -73,6 +73,7 @@ class Debug { static bool IsRotatorSplitDisabled(); static bool IsScalarDisabled(); static bool IsUbwcTiledFrameBuffer(); + static bool IsFrcEnabled(); static bool GetProperty(const char *property_name, char *value); static bool SetProperty(const char *property_name, const char *value); diff --git a/sdm/include/utils/rect.h b/sdm/include/utils/rect.h index c19864560..7153f2b47 100644 --- a/sdm/include/utils/rect.h +++ b/sdm/include/utils/rect.h @@ -49,6 +49,8 @@ namespace sdm { bool flip_horizontal, LayerRect *out_rects); void SplitTopBottom(const LayerRect &in_rect, uint32_t split_count, uint32_t align_y, bool flip_horizontal, LayerRect *out_rects); + void MapRect(const LayerRect &src_domain, const LayerRect &dst_domain, const LayerRect &in_rect, + LayerRect *out_rect); } // namespace sdm #endif // __RECT_H__ |