mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
tests/hlsl: Add effect CompileShader() tests.
This commit is contained in:
committed by
Henri Verbeet
parent
b17923b5ba
commit
b986bfa2fe
Notes:
Henri Verbeet
2025-12-09 17:21:49 +01:00
Approved-by: Francisco Casas (@fcasas) Approved-by: Nikolay Sivov (@nsivov) Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1340
@@ -284,3 +284,62 @@ technique10 T0
|
||||
PixelShader = compile ps_4_0 fun(4);
|
||||
}
|
||||
}
|
||||
|
||||
[effect todo]
|
||||
float4 vs( float4 Pos : POSITION ) : SV_POSITION { return Pos; }
|
||||
float4 ps( float4 Pos : SV_POSITION ) : SV_Target { return float4( 1.0f, 1.0f, 0.0f, 1.0f ); }
|
||||
|
||||
PixelShader p = CompileShader( ps_4_0, ps() );
|
||||
VertexShader v = CompileShader( vs_4_0, vs() ) ;
|
||||
|
||||
VertexShader v0 = NULL;
|
||||
|
||||
technique10 t0
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
PixelShader = p;
|
||||
VertexShader = v;
|
||||
}
|
||||
|
||||
pass p1
|
||||
{
|
||||
PixelShader = p;
|
||||
VertexShader = v0;
|
||||
}
|
||||
|
||||
pass p2
|
||||
{
|
||||
PixelShader = CompileShader( ps_4_0, ps() );
|
||||
VertexShader = CompileShader( vs_4_0, vs() ) ;
|
||||
}
|
||||
|
||||
pass p3
|
||||
{
|
||||
PixelShader = NULL;
|
||||
VertexShader = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
[effect todo]
|
||||
float4 vs( float4 pos : POSITION ) : SV_POSITION { return pos; }
|
||||
float4 vs2( float4 pos : POSITION ) : SV_POSITION { return pos + pos; }
|
||||
float4 ps( float4 pos : SV_POSITION ) : SV_Target { return float4( 1.0f, 1.0f, 0.0f, 1.0f ); }
|
||||
|
||||
VertexShader v[2] = { CompileShader( vs_4_0, vs() ), CompileShader( vs_4_0, vs2() ) };
|
||||
PixelShader p = CompileShader( ps_4_0, ps() );
|
||||
|
||||
technique10 t0
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
SetPixelShader(p);
|
||||
SetVertexShader(v[0]);
|
||||
}
|
||||
|
||||
pass p1
|
||||
{
|
||||
SetPixelShader(p);
|
||||
SetVertexShader(v[1]);
|
||||
}
|
||||
}
|
||||
|
||||
40
tests/hlsl/effect-constructgswithso-4.shader_test
Normal file
40
tests/hlsl/effect-constructgswithso-4.shader_test
Normal file
@@ -0,0 +1,40 @@
|
||||
[require]
|
||||
shader model >= 4.0
|
||||
shader model < 6.0
|
||||
|
||||
[effect todo]
|
||||
float4 main() : sv_position { return 0; }
|
||||
|
||||
VertexShader vs = CompileShader(vs_4_0, main());
|
||||
GeometryShader gs = ConstructGSWithSO(vs, "foo");
|
||||
|
||||
technique11
|
||||
{
|
||||
pass p1
|
||||
{
|
||||
SetGeometryShader(gs);
|
||||
}
|
||||
|
||||
pass p2
|
||||
{
|
||||
SetGeometryShader(ConstructGSWithSO(gs, "mew"));
|
||||
}
|
||||
}
|
||||
|
||||
[effect todo]
|
||||
float4 main() : sv_position { return 0; }
|
||||
GeometryShader chain = ConstructGSWithSO(CompileShader(vs_4_0, main()), "foo");
|
||||
GeometryShader chained = ConstructGSWithSO(ConstructGSWithSO(chain, "nya"), "mew");
|
||||
|
||||
technique11
|
||||
{
|
||||
pass p1
|
||||
{
|
||||
SetGeometryShader(chain);
|
||||
}
|
||||
|
||||
pass p2
|
||||
{
|
||||
SetGeometryShader(chained);
|
||||
}
|
||||
}
|
||||
26
tests/hlsl/effect-constructgswithso-5.shader_test
Normal file
26
tests/hlsl/effect-constructgswithso-5.shader_test
Normal file
@@ -0,0 +1,26 @@
|
||||
[require]
|
||||
shader model >= 5.0
|
||||
shader model < 6.0
|
||||
|
||||
[effect todo]
|
||||
float4 main() : sv_position { return 0; }
|
||||
|
||||
VertexShader vs = CompileShader(vs_4_0, main());
|
||||
GeometryShader gs = ConstructGSWithSO(vs, "foo", "nya", "mew", "boop", 1);
|
||||
|
||||
technique11
|
||||
{
|
||||
pass p1
|
||||
{
|
||||
SetGeometryShader(gs);
|
||||
}
|
||||
|
||||
pass p2
|
||||
{
|
||||
SetGeometryShader(ConstructGSWithSO(CompileShader(vs_4_0, main()), "foo", NULL, NULL, NULL, 5));
|
||||
}
|
||||
}
|
||||
|
||||
[effect todo]
|
||||
float4 main() : sv_position { return 0; }
|
||||
GeometryShader gs = ConstructGSWithSO(CompileShader(vs_4_0, main()), "foo", NULL, NULL, NULL, 3 + 4 - 2);
|
||||
Reference in New Issue
Block a user