示例#1
0
        static void RunPixelUnitTest(GenericUnitTest unitTest, ShaderType shaderType)
        {
            if (TestSpecificShader)
            {
                var methodOverrides = GetMethodOverrides(shaderType);
                var overrides       = GetOverrides(shaderType);

                unitTest.TestAllPixelShaders(overrides, StageOverrides, methodOverrides);

                var stages = (StageOverrides.Count > 0) ? StageOverrides : unitTest.GetAllShaderStages();

                foreach (var stage in stages)
                {
                    foreach (var methods in overrides)
                    {
                        TestPixelShader(shaderType, stage, methods);
                    }
                }
            }

            if (UnitTest)
            {
                unitTest.TestAllPixelShaders(ShaderTests, null, null);
            }
        }
示例#2
0
        static void RunSharedPixelUnitTest(GenericUnitTest unitTest, ShaderType shaderType)
        {
            if (TestSpecificShader)
            {
                unitTest.TestAllSharedPixelShaders(StageOverrides);

                var stages = (StageOverrides.Count > 0) ? StageOverrides : unitTest.GetAllShaderStages();
                foreach (var stage in stages)
                {
                    TestSharedPixelShader(shaderType, stage, -1, -1);
                }
            }

            if (UnitTest)
            {
                unitTest.TestAllSharedPixelShaders(null);
            }
        }
示例#3
0
        static void RunSharedVertexUnitTest(GenericUnitTest unitTest, ShaderType shaderType)
        {
            if (TestSpecificShader)
            {
                unitTest.TestAllSharedVertexShaders(VertexOverrides, StageOverrides);

                var stages   = (StageOverrides.Count > 0) ? StageOverrides : unitTest.GetAllShaderStages();
                var vertices = (VertexOverrides.Count > 0) ? VertexOverrides : unitTest.GetAllVertexFormats();
                foreach (var vertex in vertices)
                {
                    foreach (var stage in stages)
                    {
                        TestSharedVertexShader(shaderType, vertex, stage);
                    }
                }
            }

            if (UnitTest)
            {
                unitTest.TestAllSharedVertexShaders(null, null);
            }
        }