Shader "PathIteratorTesting/UniformAlbedoMetaPass"
{
    Properties {
        _Albedo ("Albedo", Color) = (.5, .5, .5, 1.0)
    }
    SubShader
    {
        Pass
        {
            Name "META"
            Tags { "LightMode" = "Meta" }
            Cull Off

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #pragma shader_feature _EMISSION

            #include "UnityCG.cginc"
            #include "UnityMetaPass.cginc"

            float4 _Albedo;

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv1 : TEXCOORD1;
                UNITY_VERTEX_INPUT_INSTANCE_ID
            };

            struct v2f
            {
                float4 pos : SV_POSITION;
                float2 uv1 : TEXCOORD1;
            };

            v2f vert(appdata v)
            {
                v2f o;
                if (unity_MetaVertexControl.x)
                {
                    o.pos.xy = v.uv1 * unity_LightmapST.xy + unity_LightmapST.zw;
                    o.pos.zw = 0;
                }
                else
                {
                    o.pos = mul(UNITY_MATRIX_VP, float4(v.vertex.xyz, 1.0));
                }
                o.uv1 = v.uv1;
                return o;
            }

            float4 frag(v2f i) : SV_Target
            {
                if (unity_MetaFragmentControl.x)
                {
                    return _Albedo;
                }
                if (unity_MetaFragmentControl.y)
                {
                    return 0;
                }
                return 0;
            }
            ENDCG
        }
    }
}