amd/vpelib: adding blend gamma bypass

- added bypass blend
- bypass blnd

Reviewed-by: Jesse Agate <jesse.agate@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Tiberiu Visan <tvisan@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
This commit is contained in:
chiachih 2024-04-27 14:27:59 +08:00 committed by Marge Bot
parent 0e6df4d458
commit 0df1054d06
4 changed files with 27 additions and 15 deletions

View file

@ -337,6 +337,7 @@ struct vpe_debug_options {
uint32_t bypass_ogam : 1;
uint32_t bypass_dpp_gamut_remap : 1;
uint32_t bypass_post_csc : 1;
uint32_t bypass_blndgam : 1;
uint32_t clamping_setting : 1;
uint32_t expansion_mode : 1;
uint32_t bypass_per_pixel_alpha : 1;
@ -361,6 +362,7 @@ struct vpe_debug_options {
uint32_t bypass_ogam : 1;
uint32_t bypass_dpp_gamut_remap : 1;
uint32_t bypass_post_csc : 1;
uint32_t bypass_blndgam : 1;
uint32_t clamping_setting : 1;
uint32_t bypass_per_pixel_alpha : 1;
uint32_t dpp_crc_ctrl : 1;

View file

@ -1142,7 +1142,8 @@ void vpe10_mpc_program_1dlut(struct mpc *mpc, const struct pwl_params *params, e
{
PROGRAM_ENTRY();
if (params == NULL) {
if ((params == NULL) || (vpe_priv == NULL) ||
(vpe_priv->init.debug.bypass_blndgam == true)) { // the bypass flag is used in debug mode to skip this block entirely
REG_SET(VPMPCC_MCM_1DLUT_CONTROL, REG_DEFAULT(VPMPCC_MCM_1DLUT_CONTROL),
VPMPCC_MCM_1DLUT_MODE, 0);

View file

@ -36,20 +36,20 @@
#endif
static const struct vpe_debug_options debug_defaults = {
.flags = {0},
.cm_in_bypass = 0,
.vpcnvc_bypass = 0,
.mpc_bypass = 0,
.identity_3dlut = 0,
.sce_3dlut = 0,
.disable_reuse_bit = 0,
.bg_bit_depth = 0,
.bypass_gamcor = 0,
.bypass_ogam = 0,
.bypass_dpp_gamut_remap = 0,
.bypass_post_csc = 0,
.bg_color_fill_only = 0,
.assert_when_not_support = 0,
.flags = {0},
.cm_in_bypass = 0,
.vpcnvc_bypass = 0,
.mpc_bypass = 0,
.identity_3dlut = 0,
.sce_3dlut = 0,
.disable_reuse_bit = 0,
.bg_bit_depth = 0,
.bypass_gamcor = 0,
.bypass_ogam = 0,
.bypass_dpp_gamut_remap = 0,
.bypass_post_csc = 0,
.bg_color_fill_only = 0,
.assert_when_not_support = 0,
.enable_mem_low_power =
{
.bits =
@ -77,6 +77,7 @@ static const struct vpe_debug_options debug_defaults = {
.mpc_crc_ctrl = 0,
.visual_confirm_params = {{{0}}},
.skip_optimal_tap_check = 0,
.bypass_blndgam = 0
};
enum vpe_ip_level vpe_resource_parse_ip_version(

View file

@ -41,6 +41,10 @@
static void override_debug_option(
struct vpe_debug_options *debug, const struct vpe_debug_options *user_debug)
{
if ((debug == NULL) || (user_debug == NULL)) {
return;
}
if (user_debug->flags.bg_bit_depth)
debug->bg_bit_depth = user_debug->bg_bit_depth;
@ -114,6 +118,10 @@ static void override_debug_option(
if (user_debug->flags.skip_optimal_tap_check)
debug->skip_optimal_tap_check = user_debug->skip_optimal_tap_check;
if (user_debug->flags.bypass_blndgam)
debug->bypass_blndgam = user_debug->flags.bypass_blndgam;
}
#ifdef VPE_BUILD_1_1