File: glsl-fs-shadow2D-clamp-z.shader_test

package info (click to toggle)
piglit 0~git20200212-f4710c51b-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 106,972 kB
  • sloc: ansic: 263,763; xml: 48,941; python: 29,918; lisp: 19,789; cpp: 12,142; sh: 22; makefile: 20; pascal: 5
file content (44 lines) | stat: -rw-r--r-- 934 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Test that the Z texture coordinate is clamped to [0,1] prior to the comparison.
#
# From the GL 3.3 core specification, section 3.8.16 "Texture Comparison
# Modes":
#
#     If the texture’s internal format indicates a fixed-point depth
#     texture, then Dt and Dref are clamped to the range [0, 1];
#     otherwise no clamping is performed.

[require]
GLSL >= 1.10

[vertex shader]
#version 110

varying vec4 texcoords;

void main() {
	gl_Position = gl_Vertex;
	texcoords = (gl_Vertex + 1.0) / 2.0;
}

[fragment shader]
uniform vec3 texcoords;
uniform sampler2DShadow tex;

void main()
{
	gl_FragColor = shadow2D(tex, texcoords.xyz);
}

[test]
uniform int tex 0
texture shadow2D 0 (32, 32)
texparameter 2D compare_func equal

uniform vec3 texcoords 0 0 -1
draw rect -1 -1 1 2

uniform vec3 texcoords 1 0 2
draw rect 0 -1 1 2

relative probe rgba (0.25, 0) (1.0, 1.0, 1.0, 1.0)
relative probe rgba (0.75, 0) (1.0, 1.0, 1.0, 1.0)