mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
MSL doesn't seem to have any special handling for undefined values, differently from SPIR-V. Thus we just emit zeros. UNDEF registers are sometimes created by the DXIL parser, for example in sm6_parser_emit_composite_construct().
52 lines
679 B
Plaintext
52 lines
679 B
Plaintext
[require]
|
|
shader model >= 4.0
|
|
|
|
[srv 0]
|
|
size (2d, 2, 2)
|
|
levels 2
|
|
|
|
1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0
|
|
1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0
|
|
|
|
0.0 0.0 1.0 0.0
|
|
|
|
[pixel shader]
|
|
sampler s;
|
|
Texture2D t;
|
|
uniform uint level;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
return t.Load(uint3(0, 0, level));
|
|
}
|
|
|
|
[test]
|
|
uniform 0 uint 0
|
|
draw quad
|
|
probe (0, 0) f32(1.0, 0.0, 1.0, 0.0)
|
|
uniform 0 uint 1
|
|
draw quad
|
|
probe (0, 0) f32(0.0, 0.0, 1.0, 0.0)
|
|
|
|
[pixel shader fail]
|
|
sampler s;
|
|
Texture2D t;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
return t[uint3(0, 0, 0)];
|
|
}
|
|
|
|
[pixel shader]
|
|
sampler s;
|
|
Texture2D t;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
return t[uint2(0, 0)];
|
|
}
|
|
|
|
[test]
|
|
draw quad
|
|
probe (0, 0) f32(1.0, 0.0, 1.0, 0.0)
|