summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/450.frag
blob: e9c67466f265d67d877eca95300ba5dd5001acea (plain)
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
45
46
47
48
49
50
51
52
53
54
55
56
#version 450 core

in float in1;
in vec2 in2;
in vec3 in3;
in vec4 in4;

void main()
{
    vec2 v2 = dFdxFine(in2);
    vec3 v3 = dFdyCoarse(in3);
    vec4 v4 = fwidth(in4);
    v4 = dFdyFine(in4);
    v3 = dFdyFine(in3);
    float f = dFdx(in1) + dFdxFine(in1) + dFdxCoarse(in1);
    v4 = fwidthCoarse(in4) + fwidthFine(in4);

    float cull = gl_CullDistance[2];
    float consts = gl_MaxCullDistances + gl_MaxCombinedClipAndCullDistances + gl_MaxSamples;

    if (gl_HelperInvocation)
        ++v4;

    int sum = gl_MaxVertexImageUniforms +
              gl_MaxFragmentImageUniforms +
              gl_MaxComputeImageUniforms +
              gl_MaxCombinedImageUniforms +
              gl_MaxCombinedShaderOutputResources;

    bool b1, b3, b;
    uint uin;
    bvec2 b2 = mix(bvec2(b1), bvec2(b3), bvec2(b));
    uint um = mix(uin, uin, b);
    ivec3 im3 = mix(ivec3(uin), ivec3(uin), bvec3(b));
}

uniform sampler2DMS s2dms;
uniform usampler2DMSArray us2dmsa;
layout(rgba32i) uniform iimage2DMS ii2dms;
layout(rgba32f) uniform image2DMSArray i2dmsa;

void foo()
{
    int s = textureSamples(s2dms);
    s += textureSamples(us2dmsa);
    s += imageSamples(ii2dms);
    s += imageSamples(i2dmsa);
    float f = imageAtomicExchange(i2dmsa, ivec3(in3), 2, 4.5);
}

in float gl_CullDistance[6];

float cull(int i)
{
    return (i >= 6) ? gl_CullDistance[5] : gl_CullDistance[i];
}