[require]
shader model >= 4.0
shader model < 6.0

[effect]
struct s
{
    Texture t;
    float4 f;
};

[effect fail]
struct s
{
    Texture t;
    float4 f;
};

s var;

[effect]
Texture t1;
Texture1D t2;
Texture1DArray t3;
Texture2D t4;
Texture2DArray t5;
Texture2DMS<float4, 4> t6;
Texture2DMSArray <float4, 4> t7;
Texture3D t8;
TextureCube t9;
TextureCubeArray t10;

SamplerState sampler1 { Texture = t1; };
SamplerState sampler2 { Texture = t2; };
SamplerState sampler3 { Texture = t3; };
SamplerState sampler4 { Texture = t4; };
SamplerState sampler5 { Texture = t5; };
SamplerState sampler6 { Texture = t6; };
SamplerState sampler7 { Texture = t7; };
SamplerState sampler8 { Texture = t8; };
SamplerState sampler9 { Texture = t9; };
SamplerState sampler10 { Texture = t10; };

[effect]
BlendState bs
{
    BlendEnable[7] = true;
    BlendEnable[6] = false;
    BlendEnable[5] = fAlse;
    RenderTargetWriteMask[2] = 0x12;
    SrcBlend = one;
    DestBlend = zero;
    BlendOp = min;
    SrcBlendAlpha = dest_color;
    DestBlendAlpha = src1_alpha;
    BlendOpAlpha = add;
};

[effect]
cbuffer cb1
{
    float a1;
};
cbuffer cb2
{
    struct
    {
        float a2;
    } s1;
};

[effect fail]
BlendState bs
{
    SrcBlend[0] = one;
};
