public void Fail_MergeCrossBoundary()
    {
        string        source;
        List <string> errors;

        bool success = CSharpToHLSL.GenerateHLSL(typeof(FailureTypes.MergeCrossBoundary), new GenerateHLSL(PackingRules.Aggressive), out source, out errors);

        Assert.IsFalse(success);
        Assert.IsTrue(HasErrorString(errors, "cross register boundary"));
    }
    public void Fail_NestedWithNonPrimitiveType()
    {
        string        source;
        List <string> errors;

        bool success = CSharpToHLSL.GenerateHLSL(typeof(FailureTypes.NestedWithNonPrimitiveType), new GenerateHLSL(PackingRules.Exact), out source, out errors);

        Assert.IsFalse(success);
        Assert.IsTrue(HasErrorString(errors, "contains a non-primitive field type"));
    }
    public void Fail_MergeIncompatibleTypes()
    {
        string        source;
        List <string> errors;

        bool success = CSharpToHLSL.GenerateHLSL(typeof(FailureTypes.MergeIncompatibleTypes), new GenerateHLSL(PackingRules.Aggressive), out source, out errors);

        Assert.IsFalse(success);
        Assert.IsTrue(HasErrorString(errors, "incompatible types"));
    }
    public void Fail_TooManyFields()
    {
        string        source;
        List <string> errors;

        bool success = CSharpToHLSL.GenerateHLSL(typeof(FailureTypes.TooManyFields), new GenerateHLSL(PackingRules.Exact), out source, out errors);

        Assert.IsFalse(success);
        Assert.IsTrue(HasErrorString(errors, "more than 4 fields"));
    }
    public void Fail_MixedTypesInNestedStruct()
    {
        string        source;
        List <string> errors;

        bool success = CSharpToHLSL.GenerateHLSL(typeof(FailureTypes.MixedTypesInNestedStruct), new GenerateHLSL(PackingRules.Exact), out source, out errors);

        Assert.IsFalse(success);
        Assert.IsTrue(HasErrorString(errors, "contains mixed basic types"));
    }
예제 #6
0
 static void GenerateShaderIncludes()
 {
     CSharpToHLSL.GenerateAll();
     UnityEditor.AssetDatabase.Refresh();
 }
 static void GenerateShaderIncludes()
 {
     CSharpToHLSL.GenerateAll();
 }