sde-drm: Add support for V6 IGC & GAMUT LUTs for VIG
Add support for V6 1D-LUT for IGC and 3D-LUT for GAMUT in VIG pipes.
CRs-Fixed: 2419275
Change-Id: I4add98efb35f1ff26eef9417ced3394b16d9ca04
diff --git a/sde-drm/drm_plane.cpp b/sde-drm/drm_plane.cpp
index 69c4e3f..39d1db6 100644
--- a/sde-drm/drm_plane.cpp
+++ b/sde-drm/drm_plane.cpp
@@ -523,12 +523,12 @@
((uint32_t)prop_enum - (uint32_t)DRMProperty::SDE_DGM_1D_LUT_GC_V5 + 5);
}
if ((uint32_t)prop_enum >= (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V5 &&
- (uint32_t)prop_enum <= (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V5) {
+ (uint32_t)prop_enum <= (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V6) {
plane_type_info_.tonemap_lut_version_map[DRMTonemapLutType::VIG_1D_IGC] =
((uint32_t)prop_enum - (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V5 + 5);
}
if ((uint32_t)prop_enum >= (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V5 &&
- (uint32_t)prop_enum <= (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V5) {
+ (uint32_t)prop_enum <= (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V6) {
plane_type_info_.tonemap_lut_version_map[DRMTonemapLutType::VIG_3D_GAMUT] =
((uint32_t)prop_enum - (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V5 + 5);
}
diff --git a/sde-drm/drm_pp_manager.cpp b/sde-drm/drm_pp_manager.cpp
index dee76de..a4a2411 100644
--- a/sde-drm/drm_pp_manager.cpp
+++ b/sde-drm/drm_pp_manager.cpp
@@ -159,14 +159,14 @@
DRM_LOGI("PP dither version %d, prop_id %d", pp_prop_map_[kFeatureDither].version,
pp_prop_map_[kFeatureDither].prop_id);
} else if (i >= (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V5 &&
- i <= (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V5) {
+ i <= (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V6) {
pp_prop_map_[kFeatureVigGamut].prop_enum = (DRMProperty)i;
pp_prop_map_[kFeatureVigGamut].prop_id = pm.GetPropertyId((DRMProperty)i);
pp_prop_map_[kFeatureVigGamut].version = i - (uint32_t)DRMProperty::SDE_VIG_3D_LUT_GAMUT_V5 + 5;
DRM_LOGI("Vig Gamut version %d, prop_id %d", pp_prop_map_[kFeatureVigGamut].version,
pp_prop_map_[kFeatureVigGamut].prop_id);
} else if (i >= (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V5 &&
- i <= (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V5) {
+ i <= (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V6) {
pp_prop_map_[kFeatureVigIgc].prop_enum = (DRMProperty)i;
pp_prop_map_[kFeatureVigIgc].prop_id = pm.GetPropertyId((DRMProperty)i);
pp_prop_map_[kFeatureVigIgc].version = i - (uint32_t)DRMProperty::SDE_VIG_1D_LUT_IGC_V5 + 5;
diff --git a/sde-drm/drm_property.cpp b/sde-drm/drm_property.cpp
index 94b6017..3439c19 100644
--- a/sde-drm/drm_property.cpp
+++ b/sde-drm/drm_property.cpp
@@ -155,6 +155,8 @@
if (name == "SDE_DSPP_LTM_SET_BUF_V1") { return DRMProperty::SDE_LTM_BUFFER_CTRL; }
if (name == "SDE_DSPP_LTM_QUEUE_BUF_V1") { return DRMProperty::SDE_LTM_QUEUE_BUFFER; }
if (name == "SDE_DSPP_LTM_VLUT_V1") { return DRMProperty::SDE_LTM_VLUT; }
+ if (name == "SDE_VIG_1D_LUT_IGC_V6") { return DRMProperty::SDE_VIG_1D_LUT_IGC_V6; }
+ if (name == "SDE_VIG_3D_LUT_GAMUT_V6") { return DRMProperty::SDE_VIG_3D_LUT_GAMUT_V6; }
return DRMProperty::INVALID;
}
diff --git a/sde-drm/drm_property.h b/sde-drm/drm_property.h
index 843771b..f1077d0 100644
--- a/sde-drm/drm_property.h
+++ b/sde-drm/drm_property.h
@@ -133,7 +133,9 @@
SDE_DGM_1D_LUT_IGC_V5,
SDE_DGM_1D_LUT_GC_V5,
SDE_VIG_1D_LUT_IGC_V5,
+ SDE_VIG_1D_LUT_IGC_V6,
SDE_VIG_3D_LUT_GAMUT_V5,
+ SDE_VIG_3D_LUT_GAMUT_V6,
SDE_DSPP_AD4_MODE,
SDE_DSPP_AD4_INIT,
SDE_DSPP_AD4_CFG,