2023-04-30 23:31:33 -05:00
|
|
|
[sampler 0]
|
|
|
|
filter linear linear linear
|
|
|
|
address clamp clamp clamp
|
|
|
|
|
2024-01-24 16:11:17 -03:00
|
|
|
[srv 0]
|
|
|
|
size (2d, 2, 2)
|
2023-04-30 23:31:33 -05:00
|
|
|
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
|
|
|
|
|
|
|
|
[vertex shader]
|
2022-08-15 19:53:55 -05:00
|
|
|
void main(float4 pos : position, out float2 tex : texcoord, out float4 out_pos : sv_position)
|
2023-04-30 23:31:33 -05:00
|
|
|
{
|
|
|
|
tex = pos.xy;
|
2022-08-15 19:53:55 -05:00
|
|
|
out_pos = pos;
|
2023-04-30 23:31:33 -05:00
|
|
|
}
|
|
|
|
|
2023-11-15 17:41:33 -03:00
|
|
|
[pixel shader todo(sm<4)]
|
2023-04-30 23:31:33 -05:00
|
|
|
sampler s;
|
|
|
|
Texture2D t;
|
|
|
|
uniform float bias;
|
|
|
|
|
|
|
|
float4 main(float2 coord : texcoord) : sv_target
|
|
|
|
{
|
|
|
|
/* Choice of initial mipmap level is hardware-dependent, and in practice
|
|
|
|
* varies too much to be reasonably covered by ULPS. Quantize instead. */
|
|
|
|
return floor(t.SampleBias(s, coord, bias) * 10);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
|
|
|
uniform 0 float4 6.5 0.0 0.0 0.0
|
2024-10-21 22:23:27 +08:00
|
|
|
todo(sm<4 | msl) draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
probe (0, 0) rgba (10.0, 0.0, 10.0, 0.0)
|
2023-04-30 23:31:33 -05:00
|
|
|
|
|
|
|
uniform 0 float4 7.5 0.0 0.0 0.0
|
2024-10-21 22:23:27 +08:00
|
|
|
todo(sm<4 | msl) draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
probe (0, 0) rgba (4.0, 0.0, 10.0, 0.0)
|
2023-04-30 23:31:33 -05:00
|
|
|
|
|
|
|
uniform 0 float4 8.5 0.0 0.0 0.0
|
2024-10-21 22:23:27 +08:00
|
|
|
todo(sm<4 | msl) draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
probe (0, 0) rgba (0.0, 0.0, 10.0, 0.0)
|
2024-05-21 18:18:11 +02:00
|
|
|
|
|
|
|
[require]
|
|
|
|
shader model >= 3.0
|
|
|
|
options: backcompat
|
|
|
|
|
2024-05-21 21:42:42 +02:00
|
|
|
[pixel shader fail(sm>=6)]
|
2024-05-21 18:18:11 +02:00
|
|
|
sampler s;
|
|
|
|
float bias;
|
|
|
|
|
|
|
|
float4 main(float2 coord : texcoord) : sv_target
|
|
|
|
{
|
|
|
|
/* Choice of initial mipmap level is hardware-dependent, and in practice
|
|
|
|
* varies too much to be reasonably covered by ULPS. Quantize instead. */
|
|
|
|
return floor(tex2Dbias(s, float4(coord, 0, bias)) * 10);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
|
|
|
uniform 0 float4 6.5 0.0 0.0 0.0
|
2024-10-21 22:23:27 +08:00
|
|
|
todo(msl) draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
probe (0, 0) rgba (10.0, 0.0, 10.0, 0.0)
|
2024-05-21 18:18:11 +02:00
|
|
|
|
|
|
|
uniform 0 float4 7.5 0.0 0.0 0.0
|
2024-10-21 22:23:27 +08:00
|
|
|
todo(msl) draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
todo(sm<4) probe (0,0) rgba (4.0, 0.0, 10.0, 0.0)
|
2024-05-21 18:18:11 +02:00
|
|
|
|
|
|
|
uniform 0 float4 8.5 0.0 0.0 0.0
|
2024-10-21 22:23:27 +08:00
|
|
|
todo(msl) draw quad
|
2024-02-10 13:16:22 -06:00
|
|
|
todo(sm<4) probe (0,0) rgba (0.0, 0.0, 10.0, 0.0)
|