summaryrefslogtreecommitdiffstats
path: root/sdm/include
diff options
context:
space:
mode:
Diffstat (limited to 'sdm/include')
-rw-r--r--sdm/include/core/layer_buffer.h6
-rw-r--r--sdm/include/core/layer_stack.h19
-rw-r--r--sdm/include/private/hw_info_types.h1
-rw-r--r--sdm/include/utils/debug.h3
-rw-r--r--sdm/include/utils/rect.h2
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__