Files
vkd3d/tests/hlsl/return-semantics.shader_test

43 lines
1.5 KiB
Plaintext
Raw Permalink Normal View History

[require]
shader model >= 4.0
% The return semantic gets allocated before other output semantics.
[vertex shader]
// Output signature:
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SEMC 0 x 0 NONE float x
// SEMA 0 y 0 NONE float y
// SEMB 0 x 1 NONE float x
// SEMB 1 x 2 NONE float x
// SV_POSITION 0 xyzw 3 POS float xyzw
float main(float4 pos : POSITION, out float aa : SEMA,
out float bb[2] : SEMB, out float4 out_pos : SV_POSITION) : SEMC
{
out_pos = pos;
aa = 100;
bb[0] = 200;
bb[1] = 201;
return 300;
}
[pixel shader]
// Input signature:
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SEMC 0 x 0 NONE float x
// SEMA 0 y 0 NONE float y
// SEMB 0 x 1 NONE float x
// SEMB 1 x 2 NONE float x
float4 main(float cc : SEMC, float aa : SEMA, float bb[2] : SEMB) : sv_target
{
return float4(cc, aa, bb[0], bb[1]);
}
[test]
bug(mvk & sm>=6 | msl & sm>=6) draw quad
probe (0, 0) f32(300, 100, 200, 201)