Lines Matching full:alpha
1800 static bool is_opaque(u16 alpha) in is_opaque() argument
1802 return (alpha >> 8) == 0xff; in is_opaque()
1806 struct vop2_alpha *alpha) in vop2_parse_alpha() argument
1815 alpha->src_color_ctrl.val = 0; in vop2_parse_alpha()
1816 alpha->dst_color_ctrl.val = 0; in vop2_parse_alpha()
1817 alpha->src_alpha_ctrl.val = 0; in vop2_parse_alpha()
1818 alpha->dst_alpha_ctrl.val = 0; in vop2_parse_alpha()
1821 alpha->src_color_ctrl.bits.blend_mode = ALPHA_GLOBAL; in vop2_parse_alpha()
1823 alpha->src_color_ctrl.bits.blend_mode = ALPHA_PER_PIX; in vop2_parse_alpha()
1825 alpha->src_color_ctrl.bits.blend_mode = ALPHA_PER_PIX_GLOBAL; in vop2_parse_alpha()
1827 alpha->src_color_ctrl.bits.alpha_en = 1; in vop2_parse_alpha()
1829 if (alpha->src_color_ctrl.bits.blend_mode == ALPHA_GLOBAL) { in vop2_parse_alpha()
1830 alpha->src_color_ctrl.bits.color_mode = src_color_mode; in vop2_parse_alpha()
1831 alpha->src_color_ctrl.bits.factor_mode = SRC_FAC_ALPHA_SRC_GLOBAL; in vop2_parse_alpha()
1832 } else if (alpha->src_color_ctrl.bits.blend_mode == ALPHA_PER_PIX) { in vop2_parse_alpha()
1833 alpha->src_color_ctrl.bits.color_mode = src_color_mode; in vop2_parse_alpha()
1834 alpha->src_color_ctrl.bits.factor_mode = SRC_FAC_ALPHA_ONE; in vop2_parse_alpha()
1836 alpha->src_color_ctrl.bits.color_mode = ALPHA_SRC_PRE_MUL; in vop2_parse_alpha()
1837 alpha->src_color_ctrl.bits.factor_mode = SRC_FAC_ALPHA_SRC_GLOBAL; in vop2_parse_alpha()
1839 alpha->src_color_ctrl.bits.glb_alpha = alpha_config->src_glb_alpha_value >> 8; in vop2_parse_alpha()
1840 alpha->src_color_ctrl.bits.alpha_mode = ALPHA_STRAIGHT; in vop2_parse_alpha()
1841 alpha->src_color_ctrl.bits.alpha_cal_mode = ALPHA_SATURATION; in vop2_parse_alpha()
1843 alpha->dst_color_ctrl.bits.alpha_mode = ALPHA_STRAIGHT; in vop2_parse_alpha()
1844 alpha->dst_color_ctrl.bits.alpha_cal_mode = ALPHA_SATURATION; in vop2_parse_alpha()
1845 alpha->dst_color_ctrl.bits.blend_mode = ALPHA_GLOBAL; in vop2_parse_alpha()
1846 alpha->dst_color_ctrl.bits.glb_alpha = alpha_config->dst_glb_alpha_value >> 8; in vop2_parse_alpha()
1847 alpha->dst_color_ctrl.bits.color_mode = dst_color_mode; in vop2_parse_alpha()
1848 alpha->dst_color_ctrl.bits.factor_mode = ALPHA_SRC_INVERSE; in vop2_parse_alpha()
1850 alpha->src_alpha_ctrl.bits.alpha_mode = ALPHA_STRAIGHT; in vop2_parse_alpha()
1851 alpha->src_alpha_ctrl.bits.blend_mode = alpha->src_color_ctrl.bits.blend_mode; in vop2_parse_alpha()
1852 alpha->src_alpha_ctrl.bits.alpha_cal_mode = ALPHA_SATURATION; in vop2_parse_alpha()
1853 alpha->src_alpha_ctrl.bits.factor_mode = ALPHA_ONE; in vop2_parse_alpha()
1855 alpha->dst_alpha_ctrl.bits.alpha_mode = ALPHA_STRAIGHT; in vop2_parse_alpha()
1857 alpha->dst_alpha_ctrl.bits.blend_mode = ALPHA_PER_PIX; in vop2_parse_alpha()
1859 alpha->dst_alpha_ctrl.bits.blend_mode = ALPHA_PER_PIX_GLOBAL; in vop2_parse_alpha()
1860 alpha->dst_alpha_ctrl.bits.alpha_cal_mode = ALPHA_NO_SATURATION; in vop2_parse_alpha()
1861 alpha->dst_alpha_ctrl.bits.factor_mode = ALPHA_SRC_INVERSE; in vop2_parse_alpha()
1897 struct vop2_alpha alpha; in vop2_setup_cluster_alpha() local
1909 dst_glb_alpha_val = main_win->base.state->alpha; in vop2_setup_cluster_alpha()
1917 alpha_config.dst_pixel_alpha_en = true; /* alpha value need transfer to next mix */ in vop2_setup_cluster_alpha()
1920 vop2_parse_alpha(&alpha_config, &alpha); in vop2_setup_cluster_alpha()
1922 alpha.src_color_ctrl.bits.src_dst_swap = swap; in vop2_setup_cluster_alpha()
1951 vop2_writel(vop2, src_color_ctrl_reg + offset, alpha.src_color_ctrl.val); in vop2_setup_cluster_alpha()
1952 vop2_writel(vop2, dst_color_ctrl_reg + offset, alpha.dst_color_ctrl.val); in vop2_setup_cluster_alpha()
1953 vop2_writel(vop2, src_alpha_ctrl_reg + offset, alpha.src_alpha_ctrl.val); in vop2_setup_cluster_alpha()
1954 vop2_writel(vop2, dst_alpha_ctrl_reg + offset, alpha.dst_alpha_ctrl.val); in vop2_setup_cluster_alpha()
1962 struct vop2_alpha alpha; in vop2_setup_alpha() local
1977 alpha_config.dst_pixel_alpha_en = true; /* alpha value need transfer to next mix */ in vop2_setup_alpha()
1983 !is_opaque(plane->state->alpha) && in vop2_setup_alpha()
1986 * If bottom layer have global alpha effect [except cluster layer, in vop2_setup_alpha()
1987 * because cluster have deal with bottom layer global alpha value in vop2_setup_alpha()
1988 * at cluster mix], bottom layer mix need deal with global alpha. in vop2_setup_alpha()
1991 dst_global_alpha = plane->state->alpha; in vop2_setup_alpha()
2012 * Need to configure alpha from second layer. in vop2_setup_alpha()
2034 alpha_config.src_glb_alpha_value = plane->state->alpha; in vop2_setup_alpha()
2037 /* Mix output data only have pixel alpha */ in vop2_setup_alpha()
2046 alpha_config.src_glb_alpha_value = plane->state->alpha; in vop2_setup_alpha()
2050 vop2_parse_alpha(&alpha_config, &alpha); in vop2_setup_alpha()
2054 vop2_writel(vop2, src_color_ctrl_reg + offset, alpha.src_color_ctrl.val); in vop2_setup_alpha()
2055 vop2_writel(vop2, dst_color_ctrl_reg + offset, alpha.dst_color_ctrl.val); in vop2_setup_alpha()
2056 vop2_writel(vop2, src_alpha_ctrl_reg + offset, alpha.src_alpha_ctrl.val); in vop2_setup_alpha()
2057 vop2_writel(vop2, dst_alpha_ctrl_reg + offset, alpha.dst_alpha_ctrl.val); in vop2_setup_alpha()
2074 /* Transfer pixel alpha to hdr mix */ in vop2_setup_alpha()
2081 vop2_parse_alpha(&alpha_config, &alpha); in vop2_setup_alpha()
2083 vop2_writel(vop2, src_color_ctrl_reg, alpha.src_color_ctrl.val); in vop2_setup_alpha()
2084 vop2_writel(vop2, dst_color_ctrl_reg, alpha.dst_color_ctrl.val); in vop2_setup_alpha()
2085 vop2_writel(vop2, src_alpha_ctrl_reg, alpha.src_alpha_ctrl.val); in vop2_setup_alpha()
2086 vop2_writel(vop2, dst_alpha_ctrl_reg, alpha.dst_alpha_ctrl.val); in vop2_setup_alpha()