1627 {
1628
1630
1632 "Error",
1633 { },
1635 { },
1636 kErrorName,
1637 GenerateDefaultExpression,
1638 GenerateDefaultPreamble,
1640 };
1642 "PassthroughShader",
1643 { },
1645 { },
1646 kPassthroughShaderName,
1647 GenerateDefaultExpression,
1648 GenerateDefaultPreamble,
1650 };
1652 "SolidColor",
1653 SkSpan(kSolidShaderUniforms),
1655 { },
1656 kSolidShaderName,
1657 GenerateDefaultExpression,
1658 GenerateDefaultPreamble,
1660 };
1662 "RGBPaintColor",
1663 SkSpan(kPaintColorUniforms),
1665 { },
1666 kRGBPaintColorName,
1667 GenerateDefaultExpression,
1668 GenerateDefaultPreamble,
1670 };
1672 "AlphaOnlyPaintColor",
1673 SkSpan(kPaintColorUniforms),
1675 { },
1676 kAlphaOnlyPaintColorName,
1677 GenerateDefaultExpression,
1678 GenerateDefaultPreamble,
1680 };
1682 "LinearGradient4",
1683 SkSpan(kLinearGradientUniforms4),
1685 { },
1686 kLinearGradient4Name,
1687 GenerateDefaultExpression,
1688 GenerateDefaultPreamble,
1690 };
1692 "LinearGradient8",
1693 SkSpan(kLinearGradientUniforms8),
1695 { },
1696 kLinearGradient8Name,
1697 GenerateDefaultExpression,
1698 GenerateDefaultPreamble,
1700 };
1702 "LinearGradientTexture",
1703 SkSpan(kLinearGradientUniformsTexture),
1705 SkSpan(kTextureGradientTexturesAndSamplers),
1706 kLinearGradientTextureName,
1707 GenerateDefaultExpression,
1708 GenerateDefaultPreamble,
1710 };
1712 "RadialGradient4",
1713 SkSpan(kRadialGradientUniforms4),
1715 { },
1716 kRadialGradient4Name,
1717 GenerateDefaultExpression,
1718 GenerateDefaultPreamble,
1720 };
1722 "RadialGradient8",
1723 SkSpan(kRadialGradientUniforms8),
1725 { },
1726 kRadialGradient8Name,
1727 GenerateDefaultExpression,
1728 GenerateDefaultPreamble,
1730 };
1732 "RadialGradientTexture",
1733 SkSpan(kRadialGradientUniformsTexture),
1735 SkSpan(kTextureGradientTexturesAndSamplers),
1736 kRadialGradientTextureName,
1737 GenerateDefaultExpression,
1738 GenerateDefaultPreamble,
1740 };
1742 "SweepGradient4",
1743 SkSpan(kSweepGradientUniforms4),
1745 { },
1746 kSweepGradient4Name,
1747 GenerateDefaultExpression,
1748 GenerateDefaultPreamble,
1750 };
1752 "SweepGradient8",
1753 SkSpan(kSweepGradientUniforms8),
1755 { },
1756 kSweepGradient8Name,
1757 GenerateDefaultExpression,
1758 GenerateDefaultPreamble,
1760 };
1762 "SweepGradientTexture",
1763 SkSpan(kSweepGradientUniformsTexture),
1765 SkSpan(kTextureGradientTexturesAndSamplers),
1766 kSweepGradientTextureName,
1767 GenerateDefaultExpression,
1768 GenerateDefaultPreamble,
1770 };
1772 "ConicalGradient4",
1773 SkSpan(kConicalGradientUniforms4),
1775 { },
1776 kConicalGradient4Name,
1777 GenerateDefaultExpression,
1778 GenerateDefaultPreamble,
1780 };
1782 "ConicalGradient8",
1783 SkSpan(kConicalGradientUniforms8),
1785 { },
1786 kConicalGradient8Name,
1787 GenerateDefaultExpression,
1788 GenerateDefaultPreamble,
1790 };
1792 "ConicalGradientTexture",
1793 SkSpan(kConicalGradientUniformsTexture),
1795 SkSpan(kTextureGradientTexturesAndSamplers),
1796 kConicalGradientTextureName,
1797 GenerateDefaultExpression,
1798 GenerateDefaultPreamble,
1800 };
1802 "LocalMatrixShader",
1803 SkSpan(kLocalMatrixShaderUniforms),
1806 { },
1807 kLocalMatrixShaderName,
1808 GenerateDefaultExpression,
1809 GenerateLocalMatrixPreamble,
1810 kNumLocalMatrixShaderChildren
1811 };
1813 "ImageShader",
1814 SkSpan(kImageShaderUniforms),
1816 SkSpan(kISTexturesAndSamplers),
1817 kImageShaderName,
1818 GenerateDefaultExpression,
1819 GenerateDefaultPreamble,
1821 };
1823 "CubicImageShader",
1824 SkSpan(kCubicImageShaderUniforms),
1826 SkSpan(kISTexturesAndSamplers),
1827 kCubicImageShaderName,
1828 GenerateDefaultExpression,
1829 GenerateDefaultPreamble,
1831 };
1833 "HardwareImageShader",
1834 SkSpan(kHWImageShaderUniforms),
1836 SkSpan(kISTexturesAndSamplers),
1837 kHWImageShaderName,
1838 GenerateDefaultExpression,
1839 GenerateDefaultPreamble,
1841 };
1843 "YUVImageShader",
1844 SkSpan(kYUVImageShaderUniforms),
1846 SkSpan(kYUVISTexturesAndSamplers),
1847 kYUVImageShaderName,
1848 GenerateDefaultExpression,
1849 GenerateDefaultPreamble,
1851 };
1853 "CubicYUVImageShader",
1854 SkSpan(kCubicYUVImageShaderUniforms),
1856 SkSpan(kYUVISTexturesAndSamplers),
1857 kCubicYUVImageShaderName,
1858 GenerateDefaultExpression,
1859 GenerateDefaultPreamble,
1861 };
1863 "CoordClampShader",
1864 SkSpan(kCoordClampShaderUniforms),
1866 { },
1867 kCoordClampShaderName,
1868 GenerateDefaultExpression,
1869 GenerateCoordClampPreamble,
1870 kNumCoordClampShaderChildren
1871 };
1873 "DitherShader",
1874 SkSpan(kDitherShaderUniforms),
1876 SkSpan(kDitherTexturesAndSamplers),
1877 kDitherShaderName,
1878 GenerateDefaultExpression,
1879 GenerateDefaultPreamble,
1881 };
1883 "PerlinNoiseShader",
1884 SkSpan(kPerlinNoiseShaderUniforms),
1886 SkSpan(kPerlinNoiseShaderTexturesAndSamplers),
1887 kPerlinNoiseShaderName,
1888 GenerateDefaultExpression,
1889 GenerateDefaultPreamble,
1891 };
1892
1894 "MatrixColorFilter",
1895 SkSpan(kMatrixColorFilterUniforms),
1897 { },
1898 kMatrixColorFilterName,
1899 GenerateDefaultExpression,
1900 GenerateDefaultPreamble,
1902 };
1904 "TableColorFilter",
1905 { },
1907 SkSpan(kTableColorFilterTexturesAndSamplers),
1908 kTableColorFilterName,
1909 GenerateDefaultExpression,
1910 GenerateDefaultPreamble,
1912 };
1914 "GaussianColorFilter",
1915 { },
1917 { },
1918 kGaussianColorFilterName,
1919 GenerateDefaultExpression,
1920 GenerateDefaultPreamble,
1922 };
1924 "ColorSpaceTransform",
1925 SkSpan(kColorSpaceTransformUniforms),
1927 { },
1928 kColorSpaceTransformName,
1929 GenerateDefaultExpression,
1930 GenerateDefaultPreamble,
1932 };
1933
1935 "BlendShader",
1936 { },
1938 { },
1939 "BlendShader",
1940 GenerateDefaultExpression,
1941 GenerateBlendShaderPreamble,
1942 kNumBlendShaderChildren
1943 };
1945 "CoeffBlender",
1946 SkSpan(CoeffBlendderUniforms),
1948 { },
1949 kCoeffBlenderName,
1950 GenerateDefaultExpression,
1951 GenerateDefaultPreamble,
1953 };
1955 "BlendModeBlender",
1956 SkSpan(kBlendModeBlenderUniforms),
1958 { },
1959 kBlendModeBlenderName,
1960 GenerateDefaultExpression,
1961 GenerateDefaultPreamble,
1963 };
1964
1966 "PrimitiveColor",
1967 { },
1969 { },
1970 "primitive color",
1971 GeneratePrimitiveColorExpression,
1972 GenerateDefaultPreamble,
1974 };
1975
1977 "DstReadSample",
1978 SkSpan(kDstReadSampleUniforms),
1980 SkSpan(kDstReadSampleTexturesAndSamplers),
1981 "InitSurfaceColor",
1982 GenerateDstReadSampleExpression,
1983 GenerateDstReadSamplePreamble,
1985 };
1987 "DstReadFetch",
1988 { },
1990 { },
1991 "InitSurfaceColor",
1992 GenerateDstReadFetchExpression,
1993 GenerateDstReadFetchPreamble,
1995 };
1996
1998 "ClipShader",
1999 { },
2001 { },
2002 "clip shader",
2003 GenerateClipShaderExpression,
2004 GenerateClipShaderPreamble,
2005 kNumClipShaderChildren
2006 };
2007
2009 "Compose",
2010 { },
2012 { },
2013 kComposeName,
2014 GenerateDefaultExpression,
2015 GenerateNestedChildrenPreamble,
2016 kNumComposeChildren
2017 };
2018
2019
2020
2023 fBuiltInCodeSnippets[ffBlendModeID] = {
2025 { },
2028 { },
2030 GenerateDefaultExpression,
2031 GenerateDefaultPreamble,
2033 };
2034 }
2035}
SK_API const char * SkBlendMode_Name(SkBlendMode blendMode)
@ kLastCoeffMode
last porter duff blend mode
Type::kYUV Type::kRGBA() int(0.7 *637)
static constexpr PaintParamsKey Invalid()
static constexpr int kFixedFunctionBlendModeIDOffset
@ kConicalGradientShader8
@ kSweepGradientShaderTexture
@ kConicalGradientShader4
@ kLinearGradientShaderTexture
@ kColorSpaceXformColorFilter
@ kConicalGradientShaderTexture
@ kRadialGradientShaderTexture
static constexpr int kNoChildren
const char * BlendFuncName(SkBlendMode mode)