Merge "sdm: Add support for minimum encryption level settings for HDCP." into dev-1.0
diff --git a/sdm/include/private/resource_interface.h b/sdm/include/private/resource_interface.h
index bc1a37d..260bcf4 100644
--- a/sdm/include/private/resource_interface.h
+++ b/sdm/include/private/resource_interface.h
@@ -45,7 +45,8 @@
virtual void Purge(Handle display_ctx) = 0;
virtual DisplayError SetMaxMixerStages(Handle display_ctx, uint32_t max_mixer_stages) = 0;
virtual DisplayError ValidateScaling(const LayerRect &crop, const LayerRect &dst,
- bool rotate90, bool ubwc_tiled) = 0;
+ bool rotate90, bool ubwc_tiled,
+ bool use_rotator_downscale) = 0;
virtual DisplayError ValidateCursorConfig(Handle display_ctx, const Layer &layer,
bool is_top) = 0;
virtual DisplayError ValidateCursorPosition(Handle display_ctx, HWLayers *hw_layers,
diff --git a/sdm/libs/core/comp_manager.cpp b/sdm/libs/core/comp_manager.cpp
index 9e1b277..2c64875 100644
--- a/sdm/libs/core/comp_manager.cpp
+++ b/sdm/libs/core/comp_manager.cpp
@@ -393,7 +393,8 @@
DisplayError CompManager::ValidateScaling(const LayerRect &crop, const LayerRect &dst,
bool rotate90) {
- return resource_intf_->ValidateScaling(crop, dst, rotate90, Debug::IsUbwcTiledFrameBuffer());
+ return resource_intf_->ValidateScaling(crop, dst, rotate90, Debug::IsUbwcTiledFrameBuffer(),
+ true /* use_rotator_downscale */);
}
DisplayError CompManager::ValidateCursorPosition(Handle display_ctx, HWLayers *hw_layers,
diff --git a/sdm/libs/core/resource_default.cpp b/sdm/libs/core/resource_default.cpp
index 8c67b82..6efe078 100644
--- a/sdm/libs/core/resource_default.cpp
+++ b/sdm/libs/core/resource_default.cpp
@@ -546,7 +546,8 @@
}
bool ubwc_tiled = IsUBWCFormat(layer.input_buffer->format);
- error = ValidateScaling(src_rect, dst_rect, false, ubwc_tiled);
+ error = ValidateScaling(src_rect, dst_rect, false /*rotated90 */, ubwc_tiled,
+ false /* use_rotator_downscale */);
if (error != kErrorNone) {
return error;
}
@@ -705,7 +706,8 @@
return error;
}
- error = ValidateScaling(src_rect, dst_rect, false, ubwc_tiled);
+ error = ValidateScaling(src_rect, dst_rect, false /* rotated90 */, ubwc_tiled,
+ false /* use_rotator_downscale */);
if (error != kErrorNone) {
return error;
}
@@ -714,7 +716,8 @@
}
DisplayError ResourceDefault::ValidateScaling(const LayerRect &crop, const LayerRect &dst,
- bool rotate90, bool ubwc_tiled) {
+ bool rotate90, bool ubwc_tiled,
+ bool use_rotator_downscale) {
DisplayError error = kErrorNone;
float scale_x = 1.0f;
diff --git a/sdm/libs/core/resource_default.h b/sdm/libs/core/resource_default.h
index a4549b0..5c81332 100644
--- a/sdm/libs/core/resource_default.h
+++ b/sdm/libs/core/resource_default.h
@@ -50,7 +50,7 @@
virtual void Purge(Handle display_ctx);
virtual DisplayError SetMaxMixerStages(Handle display_ctx, uint32_t max_mixer_stages);
virtual DisplayError ValidateScaling(const LayerRect &crop, const LayerRect &dst,
- bool rotate90, bool ubwc_tiled);
+ bool rotate90, bool ubwc_tiled, bool use_rotator_downscale);
DisplayError ValidateCursorConfig(Handle display_ctx, const Layer& layer, bool is_top);
DisplayError ValidateCursorPosition(Handle display_ctx, HWLayers *hw_layers, int x, int y);
@@ -84,7 +84,7 @@
// todo: retrieve all these from kernel
enum {
- kMaxDecimationDownScaleRatio = 8,
+ kMaxDecimationDownScaleRatio = 16,
};
struct SourcePipe {