drm: Don't use DEGAMMA_TF + SHAPER_TF when we don't need scaling
Introduces weird banding artifacts rn, ugh.
This commit is contained in:
parent
8a39621d3a
commit
ef7642faae
1 changed files with 4 additions and 2 deletions
|
@ -1880,9 +1880,11 @@ drm_prepare_liftoff( struct drm_t *drm, const struct FrameInfo_t *frameInfo, boo
|
|||
liftoff_layer_unset_property( drm->lo_layers[ i ], "COLOR_RANGE" );
|
||||
if ( drm_supports_color_mgmt( drm ) )
|
||||
{
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_DEGAMMA_TF", convert_colorspace_to_valve1_drm( entry.layerState[i].colorspace ) );
|
||||
bool needs_scaling = frameInfo->layers[ i ].scale.x != 1.0f && frameInfo->layers[ i ].scale.y != 1.0f;
|
||||
drm_valve1_transfer_function scale_tf = needs_scaling ? convert_colorspace_to_valve1_drm( entry.layerState[i].colorspace ) : DRM_VALVE1_TRANSFER_FUNCTION_DEFAULT;
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_DEGAMMA_TF", scale_tf );
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_SHAPER_LUT", drm->pending.shaperlut_id[ ColorSpaceToEOTFIndex( entry.layerState[i].colorspace ) ] );
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_SHAPER_TF", convert_colorspace_to_valve1_drm( entry.layerState[i].colorspace ) );
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_SHAPER_TF", scale_tf );
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_LUT3D", drm->pending.lut3d_id[ ColorSpaceToEOTFIndex( entry.layerState[i].colorspace ) ] );
|
||||
liftoff_layer_set_property( drm->lo_layers[ i ], "VALVE1_PLANE_BLEND_TF", drm->pending.output_tf );
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue