optimization speed;
passes {
    forward {
        vertex {
            vk BEGIN
#include "common.hlsl"

struct VSInput
{
};

struct VSOutput
{
    float4 Pos : SV_POSITION;
};

VSOutput VsMain(VSInput input, uint vertexIndex : SV_VertexID) {
    VSOutput output = (VSOutput)0;
    return output;
}
            END
            
            
            dx11 BEGIN
#include "common.hlsl"

struct VSInput
{
    float3 Position : POSITION0;
    float3 Normal : NORMAL0;
    float3 Tangent : TANGENT0;
    float2 TexCoord : TEXCOORD0;
};

struct VSOutput
{
    float4 Pos : SV_POSITION;
};

VSOutput VsMain(VSInput input, uint vertexIndex : SV_VertexID) {
    VSOutput output;
    output.Pos = float4(input.Position, 0.1);
    return output;
}
            END
        }

        fragment {
            vk BEGIN
struct PSOutput {
float4 Color : SV_TARGET0;
};

PSOutput PsMain(void) {
    PSOutput output = (PSOutput)0;
    output.Color[0] = 0;
    output.Color[1] = 0;
    output.Color[2] = 0;
    output.Color[3] = 0;
    return output;
}
            END
            
            dx11 BEGIN
struct PSOutput {
    float4 Color : SV_TARGET0;
};

PSOutput PsMain(void) {
    PSOutput output;
    output.Color = float4(1, 1, 1, 1);
    return output;
}
            END
        }
    }
}
