2023-04-30 21:31:33 -07:00
|
|
|
[sampler 0]
|
|
|
|
filter linear linear linear
|
|
|
|
address clamp clamp clamp
|
|
|
|
|
2024-01-24 11:11:17 -08:00
|
|
|
[srv 0]
|
|
|
|
size (2d, 2, 2)
|
2023-04-30 21:31:33 -07: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 17:53:55 -07:00
|
|
|
void main(float4 pos : position, out float2 tex : texcoord, out float4 out_pos : sv_position)
|
2023-04-30 21:31:33 -07:00
|
|
|
{
|
|
|
|
tex = pos.xy;
|
2022-08-15 17:53:55 -07:00
|
|
|
out_pos = pos;
|
2023-04-30 21:31:33 -07:00
|
|
|
}
|
|
|
|
|
2023-11-15 12:41:33 -08:00
|
|
|
[pixel shader todo(sm<4)]
|
2023-04-30 21:31:33 -07: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-03-19 04:36:23 -07:00
|
|
|
todo(sm<4 | glsl) draw quad
|
2023-04-30 21:31:33 -07:00
|
|
|
probe all rgba (10.0, 0.0, 10.0, 0.0)
|
|
|
|
|
|
|
|
uniform 0 float4 7.5 0.0 0.0 0.0
|
2024-03-19 04:36:23 -07:00
|
|
|
todo(sm<4 | glsl) draw quad
|
2023-04-30 21:31:33 -07:00
|
|
|
probe all rgba (4.0, 0.0, 10.0, 0.0)
|
|
|
|
|
|
|
|
uniform 0 float4 8.5 0.0 0.0 0.0
|
2024-03-19 04:36:23 -07:00
|
|
|
todo(sm<4 | glsl) draw quad
|
2023-04-30 21:31:33 -07:00
|
|
|
probe all rgba (0.0, 0.0, 10.0, 0.0)
|
2024-05-21 09:18:11 -07:00
|
|
|
|
|
|
|
[require]
|
|
|
|
shader model >= 3.0
|
|
|
|
options: backcompat
|
|
|
|
|
|
|
|
[pixel shader todo(sm<4) fail(sm>=6)]
|
|
|
|
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
|
|
|
|
todo(sm<4 | glsl) draw quad
|
|
|
|
probe all rgba (10.0, 0.0, 10.0, 0.0)
|
|
|
|
|
|
|
|
uniform 0 float4 7.5 0.0 0.0 0.0
|
|
|
|
todo(sm<4 | glsl) draw quad
|
|
|
|
probe all rgba (4.0, 0.0, 10.0, 0.0)
|
|
|
|
|
|
|
|
uniform 0 float4 8.5 0.0 0.0 0.0
|
|
|
|
todo(sm<4 | glsl) draw quad
|
|
|
|
probe all rgba (0.0, 0.0, 10.0, 0.0)
|