mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
GLSL: Implement version 320 for ES.
This commit is contained in:
parent
9353f1afab
commit
53863a3a90
5
Test/320.comp
Normal file
5
Test/320.comp
Normal file
@ -0,0 +1,5 @@
|
||||
#version 320 es
|
||||
|
||||
void main()
|
||||
{
|
||||
}
|
225
Test/320.frag
Normal file
225
Test/320.frag
Normal file
@ -0,0 +1,225 @@
|
||||
#version 320 es
|
||||
|
||||
out outbname { int a; } outbinst; // ERROR, not out block in fragment shader
|
||||
|
||||
in inbname {
|
||||
int a;
|
||||
vec4 v;
|
||||
struct { int b; } s; // ERROR, nested struct definition
|
||||
} inbinst;
|
||||
|
||||
in inbname2 {
|
||||
layout(location = 12) int aAnon;
|
||||
layout(location = 13) centroid in vec4 vAnon;
|
||||
};
|
||||
|
||||
in layout(location = 13) vec4 aliased; // ERROR, aliased
|
||||
|
||||
in inbname2 { // ERROR, reuse of block name
|
||||
int aAnon;
|
||||
centroid in vec4 vAnon;
|
||||
};
|
||||
|
||||
in badmember { // ERROR, aAnon already in global scope
|
||||
int aAnon;
|
||||
};
|
||||
|
||||
int inbname; // ERROR, redefinition of block name
|
||||
|
||||
vec4 vAnon; // ERROR, anon in global scope; redefinition
|
||||
|
||||
in arrayed {
|
||||
float f;
|
||||
} arrayedInst[4];
|
||||
uniform int i;
|
||||
void fooIO()
|
||||
{
|
||||
vec4 v = inbinst.v + vAnon;
|
||||
v *= arrayedInst[2].f;
|
||||
v *= arrayedInst[i].f;
|
||||
}
|
||||
|
||||
in vec4 gl_FragCoord;
|
||||
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; // ERROR, non-ES
|
||||
|
||||
layout(early_fragment_tests) in;
|
||||
out float gl_FragDepth;
|
||||
layout(depth_any) out float gl_FragDepth; // ERROR, non-ES
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragDepth = 0.2; // ERROR, early_fragment_tests declared
|
||||
bool f = gl_FrontFacing;
|
||||
}
|
||||
|
||||
out float gl_FragDepth;
|
||||
|
||||
void foo_GS()
|
||||
{
|
||||
highp int l = gl_Layer;
|
||||
highp int p = gl_PrimitiveID;
|
||||
}
|
||||
|
||||
in vec2 inf, ing;
|
||||
uniform ivec2 offsets[4];
|
||||
uniform sampler2D sArray[4];
|
||||
uniform int sIndex;
|
||||
layout(binding = 0) uniform atomic_uint auArray[2];
|
||||
uniform ubName { int i; } ubInst[4];
|
||||
buffer bbName { int i; } bbInst[4];
|
||||
highp uniform writeonly image2D iArray[5];
|
||||
const ivec2 constOffsets[4] = ivec2[4](ivec2(0.1), ivec2(0.2), ivec2(0.3), ivec2(0.4));
|
||||
|
||||
void pfoo()
|
||||
{
|
||||
precise vec2 h;
|
||||
h = fma(inf, ing, h);
|
||||
textureGatherOffset(sArray[0], vec2(0.1), ivec2(inf));
|
||||
textureGatherOffsets(sArray[0], vec2(0.1), constOffsets);
|
||||
textureGatherOffsets(sArray[0], vec2(0.1), offsets); // ERROR, offset not constant
|
||||
}
|
||||
|
||||
precision highp imageCubeArray ;
|
||||
precision highp iimageCubeArray ;
|
||||
precision highp uimageCubeArray ;
|
||||
|
||||
precision highp samplerCubeArray ;
|
||||
precision highp samplerCubeArrayShadow;
|
||||
precision highp isamplerCubeArray ;
|
||||
precision highp usamplerCubeArray ;
|
||||
|
||||
uniform writeonly imageCubeArray CA1;
|
||||
uniform writeonly iimageCubeArray CA2;
|
||||
uniform writeonly uimageCubeArray CA3;
|
||||
|
||||
#ifdef GL_EXT_texture_cube_map_array
|
||||
uniform samplerCubeArray CA4;
|
||||
uniform samplerCubeArrayShadow CA5;
|
||||
uniform isamplerCubeArray CA6;
|
||||
uniform usamplerCubeArray CA7;
|
||||
#endif
|
||||
|
||||
void CAT()
|
||||
{
|
||||
highp vec4 b4 = texture(CA4, vec4(0.5), 0.24);
|
||||
highp ivec4 b6 = texture(CA6, vec4(0.5), 0.26);
|
||||
highp uvec4 b7 = texture(CA7, vec4(0.5), 0.27);
|
||||
}
|
||||
|
||||
void goodSample()
|
||||
{
|
||||
lowp int a1 = gl_SampleID;
|
||||
mediump vec2 a2 = gl_SamplePosition;
|
||||
highp int a3 = gl_SampleMaskIn[0];
|
||||
gl_SampleMask[0] = a3;
|
||||
mediump int n1 = gl_MaxSamples;
|
||||
mediump int n2 = gl_NumSamples;
|
||||
}
|
||||
|
||||
uniform layout(r32f) highp image2D im2Df;
|
||||
uniform layout(r32ui) highp uimage2D im2Du;
|
||||
uniform layout(r32i) highp iimage2D im2Di;
|
||||
uniform ivec2 P;
|
||||
|
||||
uniform layout(rgba32f) highp image2D badIm2Df; // ERROR, needs readonly or writeonly
|
||||
uniform layout(rgba8ui) highp uimage2D badIm2Du; // ERROR, needs readonly or writeonly
|
||||
uniform layout(rgba16i) highp iimage2D badIm2Di; // ERROR, needs readonly or writeonly
|
||||
|
||||
void goodImageAtom()
|
||||
{
|
||||
float datf;
|
||||
int dati;
|
||||
uint datu;
|
||||
|
||||
imageAtomicAdd( im2Di, P, dati);
|
||||
imageAtomicAdd( im2Du, P, datu);
|
||||
imageAtomicMin( im2Di, P, dati);
|
||||
imageAtomicMin( im2Du, P, datu);
|
||||
imageAtomicMax( im2Di, P, dati);
|
||||
imageAtomicMax( im2Du, P, datu);
|
||||
imageAtomicAnd( im2Di, P, dati);
|
||||
imageAtomicAnd( im2Du, P, datu);
|
||||
imageAtomicOr( im2Di, P, dati);
|
||||
imageAtomicOr( im2Du, P, datu);
|
||||
imageAtomicXor( im2Di, P, dati);
|
||||
imageAtomicXor( im2Du, P, datu);
|
||||
imageAtomicExchange(im2Di, P, dati);
|
||||
imageAtomicExchange(im2Du, P, datu);
|
||||
imageAtomicExchange(im2Df, P, datf);
|
||||
imageAtomicCompSwap(im2Di, P, 3, dati);
|
||||
imageAtomicCompSwap(im2Du, P, 5u, datu);
|
||||
|
||||
imageAtomicMax(badIm2Di, P, dati); // ERROR, not an allowed layout() on the image
|
||||
imageAtomicMax(badIm2Du, P, datu); // ERROR, not an allowed layout() on the image
|
||||
imageAtomicExchange(badIm2Df, P, datf); // ERROR, not an allowed layout() on the image
|
||||
}
|
||||
|
||||
centroid out vec4 colorCentroidBad; // ERROR
|
||||
flat out vec4 colorBadFlat; // ERROR
|
||||
smooth out vec4 colorBadSmooth; // ERROR
|
||||
noperspective out vec4 colorBadNo; // ERROR
|
||||
flat centroid in vec2 colorfc;
|
||||
in float scalarIn;
|
||||
|
||||
sample in vec4 colorSampIn;
|
||||
sample out vec4 colorSampleBad; // ERROR
|
||||
flat sample in vec4 colorfsi;
|
||||
sample in vec3 sampInArray[4];
|
||||
|
||||
void interp()
|
||||
{
|
||||
float res;
|
||||
vec2 res2;
|
||||
vec3 res3;
|
||||
vec4 res4;
|
||||
|
||||
res2 = interpolateAtCentroid(colorfc);
|
||||
res4 = interpolateAtCentroid(colorSampIn);
|
||||
res4 = interpolateAtCentroid(colorfsi);
|
||||
res = interpolateAtCentroid(scalarIn);
|
||||
res3 = interpolateAtCentroid(sampInArray); // ERROR
|
||||
res3 = interpolateAtCentroid(sampInArray[2]);
|
||||
res2 = interpolateAtCentroid(sampInArray[2].xy); // ERROR
|
||||
|
||||
res3 = interpolateAtSample(sampInArray, 1); // ERROR
|
||||
res3 = interpolateAtSample(sampInArray[i], 0);
|
||||
res2 = interpolateAtSample(sampInArray[2].xy, 2); // ERROR
|
||||
res = interpolateAtSample(scalarIn, 1);
|
||||
|
||||
res3 = interpolateAtOffset(sampInArray, vec2(0.2)); // ERROR
|
||||
res3 = interpolateAtOffset(sampInArray[2], vec2(0.2));
|
||||
res2 = interpolateAtOffset(sampInArray[2].xy, vec2(0.2)); // ERROR, no swizzle
|
||||
res = interpolateAtOffset(scalarIn + scalarIn, vec2(0.2)); // ERROR, no binary ops other than dereference
|
||||
res = interpolateAtOffset(scalarIn, vec2(0.2));
|
||||
|
||||
float f;
|
||||
res = interpolateAtCentroid(f); // ERROR, not interpolant
|
||||
res4 = interpolateAtSample(outp, 0); // ERROR, not interpolant
|
||||
}
|
||||
|
||||
layout(blend_support_multiply) out;
|
||||
layout(blend_support_screen) out;
|
||||
layout(blend_support_overlay) out;
|
||||
layout(blend_support_darken, blend_support_lighten) out;
|
||||
layout(blend_support_colordodge) layout(blend_support_colorburn) out;
|
||||
layout(blend_support_hardlight) out;
|
||||
layout(blend_support_softlight) out;
|
||||
layout(blend_support_difference) out;
|
||||
layout(blend_support_exclusion) out;
|
||||
layout(blend_support_hsl_hue) out;
|
||||
layout(blend_support_hsl_saturation) out;
|
||||
layout(blend_support_hsl_color) out;
|
||||
layout(blend_support_hsl_luminosity) out;
|
||||
layout(blend_support_all_equations) out;
|
||||
|
||||
layout(blend_support_hsl_luminosity) out; // okay to repeat
|
||||
|
||||
layout(blend_support_hsl_luminosity) in; // ERROR, only on "out"
|
||||
layout(blend_support_hsl_luminosity) out vec4; // ERROR, only on standalone
|
||||
layout(blend_support_hsl_luminosity) out vec4 badout; // ERROR, only on standalone
|
||||
layout(blend_support_hsl_luminosity) struct badS {int i;}; // ERROR, only on standalone
|
||||
layout(blend_support_hsl_luminosity) void blendFoo() { } // ERROR, only on standalone
|
||||
void blendFoo(layout(blend_support_hsl_luminosity) vec3 v) { } // ERROR, only on standalone
|
||||
layout(blend_support_flizbit) out; // ERROR, no flizbit
|
||||
|
||||
out vec4 outAA[2][2]; // ERROR
|
134
Test/320.geom
Normal file
134
Test/320.geom
Normal file
@ -0,0 +1,134 @@
|
||||
#version 320 es
|
||||
|
||||
precision mediump float;
|
||||
|
||||
in fromVertex {
|
||||
in vec3 color;
|
||||
} fromV[];
|
||||
|
||||
in vec4 nonBlockUnsized[];
|
||||
|
||||
out toFragment {
|
||||
out vec3 color;
|
||||
} toF;
|
||||
|
||||
out fromVertex { // okay to reuse a block name for another block name
|
||||
vec3 color;
|
||||
};
|
||||
|
||||
out fooB { // ERROR, cannot reuse block name as block instance
|
||||
vec2 color;
|
||||
} fromVertex;
|
||||
|
||||
int fromVertex; // ERROR, cannot reuse a block name for something else
|
||||
|
||||
out fooC { // ERROR, cannot have same name for block and instance name
|
||||
vec2 color;
|
||||
} fooC;
|
||||
|
||||
void main()
|
||||
{
|
||||
EmitVertex();
|
||||
EndPrimitive();
|
||||
EmitStreamVertex(1); // ERROR
|
||||
EndStreamPrimitive(0); // ERROR
|
||||
|
||||
color = fromV[0].color;
|
||||
gl_ClipDistance[3] = // ERROR, no ClipDistance
|
||||
gl_in[1].gl_ClipDistance[2]; // ERROR, no ClipDistance
|
||||
gl_Position = gl_in[0].gl_Position;
|
||||
|
||||
gl_PrimitiveID = gl_PrimitiveIDIn;
|
||||
gl_Layer = 2;
|
||||
}
|
||||
|
||||
layout(stream = 4) out vec4 ov4; // ERROR, no streams
|
||||
|
||||
layout(line_strip, points, triangle_strip, points, triangle_strip) out; // just means triangle_strip"
|
||||
|
||||
out ooutb { vec4 a; } ouuaa6;
|
||||
|
||||
layout(max_vertices = 200) out;
|
||||
layout(max_vertices = 300) out; // ERROR, too big
|
||||
void foo(layout(max_vertices = 4) int a) // ERROR
|
||||
{
|
||||
ouuaa6.a = vec4(1.0);
|
||||
}
|
||||
|
||||
layout(line_strip, points, triangle_strip, points) out; // ERROR, changing output primitive
|
||||
layout(line_strip, points) out; // ERROR, changing output primitive
|
||||
layout(triangle_strip) in; // ERROR, not an input primitive
|
||||
layout(triangle_strip) uniform; // ERROR
|
||||
layout(triangle_strip) out vec4 badv4; // ERROR, not on a variable
|
||||
layout(triangle_strip) in vec4 bad2v4[]; // ERROR, not on a variable or input
|
||||
layout(invocations = 3) out outbn { int a; }; // 2 ERROR, not on a block, not until 4.0
|
||||
out outbn2 {
|
||||
layout(invocations = 3) int a; // 2 ERRORs, not on a block member, not until 4.0
|
||||
layout(max_vertices = 3) int b; // ERROR, not on a block member
|
||||
layout(triangle_strip) int c; // ERROR, not on a block member
|
||||
} outbi;
|
||||
|
||||
layout(lines) out; // ERROR, not on output
|
||||
layout(lines_adjacency) in;
|
||||
layout(triangles) in; // ERROR, can't change it
|
||||
layout(triangles_adjacency) in; // ERROR, can't change it
|
||||
layout(invocations = 4) in;
|
||||
|
||||
in sameName {
|
||||
int a15;
|
||||
} insn[];
|
||||
|
||||
out sameName {
|
||||
float f15;
|
||||
};
|
||||
|
||||
uniform sameName {
|
||||
bool b15;
|
||||
};
|
||||
|
||||
const int summ = gl_MaxVertexAttribs +
|
||||
gl_MaxGeometryInputComponents +
|
||||
gl_MaxGeometryOutputComponents +
|
||||
gl_MaxGeometryImageUniforms +
|
||||
gl_MaxGeometryTextureImageUnits +
|
||||
gl_MaxGeometryOutputVertices +
|
||||
gl_MaxGeometryTotalOutputComponents +
|
||||
gl_MaxGeometryUniformComponents +
|
||||
gl_MaxGeometryAtomicCounters +
|
||||
gl_MaxGeometryAtomicCounterBuffers +
|
||||
gl_MaxVertexTextureImageUnits +
|
||||
gl_MaxCombinedTextureImageUnits +
|
||||
gl_MaxTextureImageUnits +
|
||||
gl_MaxDrawBuffers;
|
||||
|
||||
void fooe1()
|
||||
{
|
||||
gl_ViewportIndex; // ERROR, not in ES
|
||||
gl_MaxViewports; // ERROR, not in ES
|
||||
insn.length(); // 4: lines_adjacency
|
||||
int inv = gl_InvocationID;
|
||||
}
|
||||
|
||||
in vec4 explArray[4];
|
||||
in vec4 explArrayBad[5]; // ERROR, wrong size
|
||||
in vec4 nonArrayed; // ERROR, not an array
|
||||
flat out vec3 myColor1;
|
||||
centroid out vec3 myColor2;
|
||||
centroid in vec3 centr[];
|
||||
sample out vec4 perSampleColor; // ERROR without sample extensions
|
||||
|
||||
layout(max_vertices = 200) out; // matching redecl
|
||||
|
||||
layout(location = 7, component = 2) in float comp[]; // ERROR, es has no component
|
||||
|
||||
void notHere()
|
||||
{
|
||||
gl_MaxGeometryVaryingComponents; // ERROR, not in ES
|
||||
gl_VerticesIn; // ERROR, not in ES
|
||||
}
|
||||
|
||||
void pointSize2()
|
||||
{
|
||||
highp float ps = gl_in[3].gl_PointSize; // ERROR, need extension
|
||||
gl_PointSize = ps; // ERROR, need extension
|
||||
}
|
150
Test/320.tesc
Normal file
150
Test/320.tesc
Normal file
@ -0,0 +1,150 @@
|
||||
#version 320 es
|
||||
|
||||
layout(vertices = 4) out;
|
||||
out int outa[gl_out.length()];
|
||||
|
||||
layout(quads) in; // ERROR
|
||||
layout(ccw) out; // ERROR
|
||||
layout(fractional_even_spacing) in; // ERROR
|
||||
|
||||
patch in vec4 patchIn; // ERROR
|
||||
patch out vec4 patchOut;
|
||||
|
||||
void main()
|
||||
{
|
||||
barrier();
|
||||
|
||||
int a = gl_MaxTessControlInputComponents +
|
||||
gl_MaxTessControlOutputComponents +
|
||||
gl_MaxTessControlTextureImageUnits +
|
||||
gl_MaxTessControlUniformComponents +
|
||||
gl_MaxTessControlTotalOutputComponents;
|
||||
|
||||
vec4 p = gl_in[1].gl_Position;
|
||||
float ps = gl_in[1].gl_PointSize; // ERROR, need point_size extension
|
||||
float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES
|
||||
|
||||
int pvi = gl_PatchVerticesIn;
|
||||
int pid = gl_PrimitiveID;
|
||||
int iid = gl_InvocationID;
|
||||
|
||||
gl_out[gl_InvocationID].gl_Position = p;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps; // ERROR, need point_size extension
|
||||
gl_out[gl_InvocationID].gl_ClipDistance[1] = cd; // ERROR, not in ES
|
||||
|
||||
gl_TessLevelOuter[3] = 3.2;
|
||||
gl_TessLevelInner[1] = 1.3;
|
||||
|
||||
if (a > 10)
|
||||
barrier(); // ERROR
|
||||
else
|
||||
barrier(); // ERROR
|
||||
|
||||
barrier();
|
||||
|
||||
do {
|
||||
barrier(); // ERROR
|
||||
} while (a > 10);
|
||||
|
||||
switch (a) {
|
||||
default:
|
||||
barrier(); // ERROR
|
||||
break;
|
||||
}
|
||||
a < 12 ? a : (barrier(), a); // ERROR
|
||||
{
|
||||
barrier();
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
barrier(); // ERROR
|
||||
}
|
||||
|
||||
layout(vertices = 4) in; // ERROR, not on in
|
||||
layout(vertices = 5) out; // ERROR, changing #
|
||||
|
||||
void foo()
|
||||
{
|
||||
gl_out[4].gl_Position; // ERROR, out of range
|
||||
|
||||
barrier(); // ERROR, not in main
|
||||
}
|
||||
|
||||
in vec2 ina; // ERROR, not array
|
||||
in vec2 inb[];
|
||||
in vec2 inc[18]; // ERROR, wrong size
|
||||
in vec2 ind[gl_MaxPatchVertices];
|
||||
patch out float implA[]; // ERROR, not sized
|
||||
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
layout(location = 3) in vec4 ivla[];
|
||||
layout(location = 4) in vec4 ivlb[];
|
||||
layout(location = 4) in vec4 ivlc[]; // ERROR, overlapping
|
||||
|
||||
layout(location = 3) out vec4 ovla[];
|
||||
layout(location = 4) out vec4 ovlb[];
|
||||
layout(location = 4) out vec4 ovlc[]; // ERROR, overlapping
|
||||
|
||||
patch out pinbn {
|
||||
int a;
|
||||
} pinbi;
|
||||
|
||||
centroid out vec3 myColor2[];
|
||||
centroid in vec3 centr[];
|
||||
sample out vec4 perSampleColor[];
|
||||
|
||||
layout(vertices = 4) out float badlay[]; // ERROR, not on a variable
|
||||
out float misSized[5]; // ERROR, size doesn't match
|
||||
out float okaySize[4];
|
||||
|
||||
void pointSize2()
|
||||
{
|
||||
float ps = gl_in[1].gl_PointSize; // ERROR, need point_size extension
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps; // ERROR, need point_size extension
|
||||
}
|
||||
|
||||
precise vec3 pv3;
|
||||
|
||||
void goodfoop()
|
||||
{
|
||||
precise float d;
|
||||
|
||||
pv3 *= pv3;
|
||||
pv3 = fma(pv3, pv3, pv3);
|
||||
d = fma(d, d, d);
|
||||
}
|
||||
|
||||
void bb()
|
||||
{
|
||||
gl_BoundingBoxOES[0] = vec4(0.0);
|
||||
gl_BoundingBoxOES[1] = vec4(1.0);
|
||||
gl_BoundingBoxOES[2] = vec4(2.0); // ERROR, overflow
|
||||
}
|
||||
|
||||
out patch badpatchBName { // ERROR, array size required
|
||||
float f;
|
||||
} badpatchIName[];
|
||||
|
||||
out patch patchBName {
|
||||
float f;
|
||||
} patchIName[4];
|
||||
|
||||
void outputtingOutparam(out int a)
|
||||
{
|
||||
a = 2;
|
||||
}
|
||||
|
||||
void outputting()
|
||||
{
|
||||
outa[gl_InvocationID] = 2;
|
||||
outa[1] = 2; // ERROR, not gl_InvocationID
|
||||
gl_out[0].gl_Position = vec4(1.0); // ERROR, not gl_InvocationID
|
||||
outa[1];
|
||||
gl_out[0];
|
||||
outputtingOutparam(outa[0]); // ERROR, not gl_InvocationID
|
||||
outputtingOutparam(outa[gl_InvocationID]);
|
||||
patchIName[1].f = 3.14;
|
||||
outa[(gl_InvocationID)] = 2;
|
||||
}
|
114
Test/320.tese
Normal file
114
Test/320.tese
Normal file
@ -0,0 +1,114 @@
|
||||
#version 320 es
|
||||
|
||||
layout(vertices = 4) out; // ERROR
|
||||
layout(quads, cw) in;
|
||||
layout(triangles) in; // ERROR
|
||||
layout(isolines) in; // ERROR
|
||||
|
||||
layout(ccw) in; // ERROR
|
||||
layout(cw) in;
|
||||
|
||||
layout(fractional_odd_spacing) in;
|
||||
layout(equal_spacing) in; // ERROR
|
||||
layout(fractional_even_spacing) in; // ERROR
|
||||
|
||||
layout(point_mode) in;
|
||||
|
||||
patch in vec4 patchIn;
|
||||
patch out vec4 patchOut; // ERROR
|
||||
|
||||
void main()
|
||||
{
|
||||
barrier(); // ERROR
|
||||
|
||||
int a = gl_MaxTessEvaluationInputComponents +
|
||||
gl_MaxTessEvaluationOutputComponents +
|
||||
gl_MaxTessEvaluationTextureImageUnits +
|
||||
gl_MaxTessEvaluationUniformComponents +
|
||||
gl_MaxTessPatchComponents +
|
||||
gl_MaxPatchVertices +
|
||||
gl_MaxTessGenLevel;
|
||||
|
||||
vec4 p = gl_in[1].gl_Position;
|
||||
float ps = gl_in[1].gl_PointSize; // ERROR, need point_size extension
|
||||
float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES
|
||||
|
||||
int pvi = gl_PatchVerticesIn;
|
||||
int pid = gl_PrimitiveID;
|
||||
vec3 tc = gl_TessCoord;
|
||||
float tlo = gl_TessLevelOuter[3];
|
||||
float tli = gl_TessLevelInner[1];
|
||||
|
||||
gl_Position = p;
|
||||
gl_PointSize = ps; // ERROR, need point_size extension
|
||||
gl_ClipDistance[2] = cd; // ERROR, not in ES
|
||||
}
|
||||
|
||||
smooth patch in vec4 badp1; // ERROR
|
||||
flat patch in vec4 badp2; // ERROR
|
||||
noperspective patch in vec4 badp3; // ERROR
|
||||
patch sample in vec3 badp4; // ERROR
|
||||
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
in gl_PerVertex // ERROR, no size
|
||||
{
|
||||
vec4 gl_Position;
|
||||
} gl_in[];
|
||||
|
||||
in gl_PerVertex // ERROR, second redeclaration of gl_in
|
||||
{
|
||||
vec4 gl_Position;
|
||||
} gl_in[];
|
||||
|
||||
layout(quads, cw) out; // ERROR
|
||||
layout(triangles) out; // ERROR
|
||||
layout(isolines) out; // ERROR
|
||||
layout(cw) out; // ERROR
|
||||
layout(fractional_odd_spacing) out; // ERROR
|
||||
layout(equal_spacing) out; // ERROR
|
||||
layout(fractional_even_spacing) out; // ERROR
|
||||
layout(point_mode) out; // ERROR
|
||||
|
||||
in vec2 ina; // ERROR, not array
|
||||
in vec2 inb[];
|
||||
in vec2 inc[18]; // ERROR, wrong size
|
||||
in vec2 ind[gl_MaxPatchVertices];
|
||||
|
||||
in testbla { // ERROR, not array
|
||||
int f;
|
||||
} bla;
|
||||
|
||||
in testblb {
|
||||
int f;
|
||||
} blb[];
|
||||
|
||||
in testblc { // ERROR wrong size
|
||||
int f;
|
||||
} blc[18];
|
||||
|
||||
in testbld {
|
||||
int f;
|
||||
} bld[gl_MaxPatchVertices];
|
||||
|
||||
layout(location = 23) in vec4 ivla[];
|
||||
layout(location = 24) in vec4 ivlb[];
|
||||
layout(location = 24) in vec4 ivlc[]; // ERROR, overlap
|
||||
|
||||
layout(location = 23) out vec4 ovla[2];
|
||||
layout(location = 24) out vec4 ovlb[2]; // ERROR, overlap
|
||||
|
||||
in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
|
||||
|
||||
patch in pinbn {
|
||||
int a;
|
||||
} pinbi;
|
||||
|
||||
centroid out vec3 myColor2;
|
||||
centroid in vec3 centr[];
|
||||
sample out vec4 perSampleColor;
|
||||
|
||||
void bbbad()
|
||||
{
|
||||
gl_BoundingBoxOES; // ERROR, wrong stage
|
||||
}
|
255
Test/320.vert
Normal file
255
Test/320.vert
Normal file
@ -0,0 +1,255 @@
|
||||
#version 320 es
|
||||
|
||||
out outbname {
|
||||
int a;
|
||||
out vec4 v;
|
||||
highp sampler2D s; // ERROR, opaque type
|
||||
} outbinst;
|
||||
|
||||
out outbname2 {
|
||||
layout(location = 12) int aAnon;
|
||||
layout(location = 13) vec4 vAnon;
|
||||
};
|
||||
|
||||
layout(location = 12) out highp int aliased; // ERROR, aliasing location
|
||||
|
||||
in inbname { int a; } inbinst; // ERROR, no in block in vertex shader
|
||||
|
||||
out gl_PerVertex { // ERROR, has extra member
|
||||
highp vec4 gl_Position;
|
||||
highp vec4 t;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
int sum = gl_VertexID +
|
||||
gl_InstanceID;
|
||||
gl_Position = vec4(1.0);
|
||||
gl_PointSize = 2.0; // ERROR, removed by redeclaration
|
||||
}
|
||||
|
||||
out gl_PerVertex { // ERROR, already used and already redeclared
|
||||
highp vec4 gl_Position;
|
||||
highp vec4 t;
|
||||
};
|
||||
|
||||
smooth out smo { // ERROR, no smooth on a block
|
||||
int i;
|
||||
} smon;
|
||||
|
||||
flat out fmo { // ERROR, no flat on a block
|
||||
int i;
|
||||
} fmon;
|
||||
|
||||
centroid out cmo { // ERROR, no centroid on a block
|
||||
int i;
|
||||
} cmon;
|
||||
|
||||
invariant out imo { // ERROR, no invariant on a block
|
||||
int i;
|
||||
} imon;
|
||||
|
||||
in vec2 inf, ing;
|
||||
uniform ivec2 offsets[4];
|
||||
uniform sampler2D sArray[4];
|
||||
uniform int sIndex;
|
||||
layout(binding = 0) uniform atomic_uint auArray[2];
|
||||
uniform ubName { int i; } ubInst[4];
|
||||
buffer bbName { int i; } bbInst[4];
|
||||
highp uniform writeonly image2D iArray[5];
|
||||
const ivec2 constOffsets[4] = ivec2[4](ivec2(0.1), ivec2(0.2), ivec2(0.3), ivec2(0.4));
|
||||
|
||||
void pfoo()
|
||||
{
|
||||
precise vec2 h;
|
||||
h = fma(inf, ing, h);
|
||||
sArray[sIndex + 1];
|
||||
ubInst[sIndex + 1];
|
||||
bbInst[sIndex - 2]; // ERROR, still not supported
|
||||
iArray[2];
|
||||
iArray[sIndex - 2];
|
||||
textureGatherOffset(sArray[0], vec2(0.1), ivec2(inf));
|
||||
textureGatherOffsets(sArray[0], vec2(0.1), constOffsets);
|
||||
textureGatherOffsets(sArray[0], vec2(0.1), offsets); // ERROR, offset not constant
|
||||
}
|
||||
|
||||
uniform samplerBuffer noPreSamp1; // ERROR, no default precision
|
||||
uniform isamplerBuffer noPreSamp2; // ERROR, no default precision
|
||||
uniform usamplerBuffer noPreSamp3; // ERROR, no default precision
|
||||
uniform writeonly imageBuffer noPreSamp4; // ERROR, no default precision
|
||||
uniform writeonly iimageBuffer noPreSamp5; // ERROR, no default precision
|
||||
uniform writeonly uimageBuffer noPreSamp6; // ERROR, no default precision
|
||||
|
||||
precision highp samplerBuffer;
|
||||
precision highp isamplerBuffer;
|
||||
precision highp usamplerBuffer;
|
||||
precision highp imageBuffer;
|
||||
precision highp iimageBuffer;
|
||||
precision highp uimageBuffer;
|
||||
|
||||
#ifdef GL_OES_texture_buffer
|
||||
uniform samplerBuffer bufSamp1;
|
||||
uniform isamplerBuffer bufSamp2;
|
||||
uniform usamplerBuffer bufSamp3;
|
||||
#endif
|
||||
#ifdef GL_EXT_texture_buffer
|
||||
uniform writeonly imageBuffer bufSamp4;
|
||||
uniform writeonly iimageBuffer bufSamp5;
|
||||
uniform writeonly uimageBuffer bufSamp6;
|
||||
#endif
|
||||
|
||||
void bufferT()
|
||||
{
|
||||
highp int s1 = textureSize(bufSamp1);
|
||||
highp int s2 = textureSize(bufSamp2);
|
||||
highp int s3 = textureSize(bufSamp3);
|
||||
|
||||
highp int s4 = imageSize(bufSamp4);
|
||||
highp int s5 = imageSize(bufSamp5);
|
||||
highp int s6 = imageSize(bufSamp6);
|
||||
|
||||
highp vec4 f1 = texelFetch(bufSamp1, s1);
|
||||
highp ivec4 f2 = texelFetch(bufSamp2, s2);
|
||||
highp uvec4 f3 = texelFetch(bufSamp3, s3);
|
||||
}
|
||||
|
||||
uniform writeonly imageCubeArray noPreCA1; // ERROR, no default precision
|
||||
uniform writeonly iimageCubeArray noPreCA2; // ERROR, no default precision
|
||||
uniform writeonly uimageCubeArray noPreCA3; // ERROR, no default precision
|
||||
|
||||
uniform samplerCubeArray noPreCA4; // ERROR, no default precision
|
||||
uniform samplerCubeArrayShadow noPreCA5; // ERROR, no default precision
|
||||
uniform isamplerCubeArray noPreCA6; // ERROR, no default precision
|
||||
uniform usamplerCubeArray noPreCA7; // ERROR, no default precision
|
||||
|
||||
precision highp imageCubeArray ;
|
||||
precision highp iimageCubeArray ;
|
||||
precision highp uimageCubeArray ;
|
||||
|
||||
precision highp samplerCubeArray ;
|
||||
precision highp samplerCubeArrayShadow;
|
||||
precision highp isamplerCubeArray ;
|
||||
precision highp usamplerCubeArray ;
|
||||
|
||||
uniform writeonly imageCubeArray CA1;
|
||||
uniform writeonly iimageCubeArray CA2;
|
||||
uniform writeonly uimageCubeArray CA3;
|
||||
|
||||
layout(rgba16f) uniform readonly imageCubeArray rCA1;
|
||||
layout(rgba32i) uniform readonly iimageCubeArray rCA2;
|
||||
layout(r32ui) uniform readonly uimageCubeArray rCA3;
|
||||
|
||||
#ifdef GL_OES_texture_cube_map_array
|
||||
uniform samplerCubeArray CA4;
|
||||
uniform samplerCubeArrayShadow CA5;
|
||||
uniform isamplerCubeArray CA6;
|
||||
uniform usamplerCubeArray CA7;
|
||||
#endif
|
||||
|
||||
void CAT()
|
||||
{
|
||||
highp ivec3 s4 = textureSize(CA4, 1);
|
||||
highp ivec3 s5 = textureSize(CA5, 1);
|
||||
highp ivec3 s6 = textureSize(CA6, 1);
|
||||
highp ivec3 s7 = textureSize(CA7, 1);
|
||||
|
||||
highp vec4 t4 = texture(CA4, vec4(0.5));
|
||||
highp float t5 = texture(CA5, vec4(0.5), 3.0);
|
||||
highp ivec4 t6 = texture(CA6, vec4(0.5));
|
||||
highp uvec4 t7 = texture(CA7, vec4(0.5));
|
||||
|
||||
highp vec4 L4 = textureLod(CA4, vec4(0.5), 0.24);
|
||||
highp ivec4 L6 = textureLod(CA6, vec4(0.5), 0.26);
|
||||
highp uvec4 L7 = textureLod(CA7, vec4(0.5), 0.27);
|
||||
|
||||
highp vec4 g4 = textureGrad(CA4, vec4(0.5), vec3(0.1), vec3(0.2));
|
||||
highp ivec4 g6 = textureGrad(CA6, vec4(0.5), vec3(0.1), vec3(0.2));
|
||||
highp uvec4 g7 = textureGrad(CA7, vec4(0.5), vec3(0.1), vec3(0.2));
|
||||
|
||||
highp vec4 gath4 = textureGather(CA4, vec4(0.5));
|
||||
highp vec4 gathC4 = textureGather(CA4, vec4(0.5), 2);
|
||||
highp ivec4 gath6 = textureGather(CA6, vec4(0.5));
|
||||
highp ivec4 gathC6 = textureGather(CA6, vec4(0.5), 1);
|
||||
highp uvec4 gath7 = textureGather(CA7, vec4(0.5));
|
||||
highp uvec4 gathC7 = textureGather(CA7, vec4(0.5), 0);
|
||||
|
||||
highp vec4 gath5 = textureGather(CA5, vec4(0.5), 2.5);
|
||||
|
||||
highp ivec3 s1 = imageSize(CA1);
|
||||
highp ivec3 s2 = imageSize(CA2);
|
||||
highp ivec3 s3 = imageSize(CA3);
|
||||
|
||||
imageStore(CA1, s3, vec4(1));
|
||||
imageStore(CA2, s3, ivec4(1));
|
||||
imageStore(CA3, s3, uvec4(1));
|
||||
|
||||
highp vec4 cl1 = imageLoad(rCA1, s3);
|
||||
highp ivec4 cl2 = imageLoad(rCA2, s3);
|
||||
highp uvec4 cl3 = imageLoad(rCA3, s3);
|
||||
}
|
||||
|
||||
uniform sampler2DMSArray noPrec2DMS; // ERROR, no default
|
||||
uniform isampler2DMSArray noPrec2DMSi; // ERROR, no default
|
||||
uniform usampler2DMSArray noPrec2DMSu; // ERROR, no default
|
||||
|
||||
precision highp sampler2DMSArray;
|
||||
precision highp isampler2DMSArray;
|
||||
precision highp usampler2DMSArray;
|
||||
|
||||
uniform sampler2DMSArray samp2DMSA;
|
||||
uniform isampler2DMSArray samp2DMSAi;
|
||||
uniform usampler2DMSArray samp2DMSAu;
|
||||
|
||||
void MSA()
|
||||
{
|
||||
vec4 tf = texelFetch(samp2DMSA, ivec3(5), 2);
|
||||
ivec4 tfi = texelFetch(samp2DMSAi, ivec3(5), 2);
|
||||
uvec4 tfu = texelFetch(samp2DMSAu, ivec3(5), 2);
|
||||
|
||||
ivec3 tfs = textureSize(samp2DMSA);
|
||||
ivec3 tfsi = textureSize(samp2DMSAi);
|
||||
ivec3 tfsb = textureSize(samp2DMSAi, 4); // ERROR, no lod
|
||||
ivec3 tfsu = textureSize(samp2DMSAu);
|
||||
}
|
||||
|
||||
uniform layout(r32f) highp image2D im2Df;
|
||||
uniform layout(r32ui) highp uimage2D im2Du;
|
||||
uniform layout(r32i) highp iimage2D im2Di;
|
||||
uniform ivec2 P;
|
||||
|
||||
void goodImageAtom()
|
||||
{
|
||||
float datf;
|
||||
int dati;
|
||||
uint datu;
|
||||
|
||||
imageAtomicAdd( im2Di, P, dati);
|
||||
imageAtomicAdd( im2Du, P, datu);
|
||||
imageAtomicMin( im2Di, P, dati);
|
||||
imageAtomicMin( im2Du, P, datu);
|
||||
imageAtomicMax( im2Di, P, dati);
|
||||
imageAtomicMax( im2Du, P, datu);
|
||||
imageAtomicAnd( im2Di, P, dati);
|
||||
imageAtomicAnd( im2Du, P, datu);
|
||||
imageAtomicOr( im2Di, P, dati);
|
||||
imageAtomicOr( im2Du, P, datu);
|
||||
imageAtomicXor( im2Di, P, dati);
|
||||
imageAtomicXor( im2Du, P, datu);
|
||||
imageAtomicExchange(im2Di, P, dati);
|
||||
imageAtomicExchange(im2Du, P, datu);
|
||||
imageAtomicExchange(im2Df, P, datf);
|
||||
imageAtomicCompSwap(im2Di, P, 3, dati);
|
||||
imageAtomicCompSwap(im2Du, P, 5u, datu);
|
||||
}
|
||||
|
||||
sample out vec4 colorSample;
|
||||
flat sample out vec4 colorfsi;
|
||||
sample out vec3 sampInArray[4];
|
||||
in vec4 inv4;
|
||||
|
||||
void badInterp()
|
||||
{
|
||||
interpolateAtCentroid(inv4); // ERROR, wrong stage
|
||||
interpolateAtSample(inv4, 1); // ERROR, need extension
|
||||
interpolateAtOffset(inv4, vec2(0.2)); // ERROR, need extension
|
||||
}
|
@ -123,7 +123,7 @@ ERROR: 0:391: 'interpolateAtOffset' : first argument must be an interpolant, or
|
||||
ERROR: 0:392: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:396: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:397: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:400: 'blend equation' : required extension not requested: GL_KHR_blend_equation_advanced
|
||||
ERROR: 0:400: 'blend equation' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:423: 'blend equation' : can only apply to 'out'
|
||||
ERROR: 0:424: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:425: 'blend equation' : can only apply to a standalone qualifier
|
||||
|
19
Test/baseResults/320.comp.out
Executable file
19
Test/baseResults/320.comp.out
Executable file
@ -0,0 +1,19 @@
|
||||
320.comp
|
||||
Shader version: 320
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:3 Function Definition: main( ( global void)
|
||||
0:3 Function Parameters:
|
||||
0:? Linker Objects
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
|
||||
Shader version: 320
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:3 Function Definition: main( ( global void)
|
||||
0:3 Function Parameters:
|
||||
0:? Linker Objects
|
||||
|
576
Test/baseResults/320.frag.out
Executable file
576
Test/baseResults/320.frag.out
Executable file
@ -0,0 +1,576 @@
|
||||
320.frag
|
||||
ERROR: 0:3: 'output block' : not supported in this stage: fragment
|
||||
ERROR: 0:7: 'float' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:8: '' : cannot nest a structure definition inside a structure or block
|
||||
ERROR: 0:16: 'location' : overlapping use of location 13
|
||||
ERROR: 0:18: 'inbname2' : Cannot reuse block name within the same interface: in
|
||||
ERROR: 0:23: 'badmember' : nameless block contains a member that already has a name at global scope
|
||||
ERROR: 0:27: 'inbname' : redefinition
|
||||
ERROR: 0:29: 'vAnon' : redefinition
|
||||
ERROR: 0:43: 'origin_upper_left' : not supported with this profile: es
|
||||
ERROR: 0:43: 'pixel_center_integer' : not supported with this profile: es
|
||||
ERROR: 0:43: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
|
||||
ERROR: 0:47: 'depth layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:51: 'assign' : l-value required "gl_FragDepth" (can't modify gl_FragDepth if using early_fragment_tests)
|
||||
ERROR: 0:79: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
|
||||
ERROR: 0:124: 'rgba32f' : format requires readonly or writeonly memory qualifier
|
||||
ERROR: 0:125: 'rgba8ui' : format requires readonly or writeonly memory qualifier
|
||||
ERROR: 0:126: 'rgba16i' : format requires readonly or writeonly memory qualifier
|
||||
ERROR: 0:152: 'imageAtomicMax' : only supported on image with format r32i or r32ui
|
||||
ERROR: 0:153: 'imageAtomicMax' : only supported on image with format r32i or r32ui
|
||||
ERROR: 0:154: 'imageAtomicExchange' : only supported on image with format r32f
|
||||
ERROR: 0:157: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
|
||||
ERROR: 0:158: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
|
||||
ERROR: 0:159: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
|
||||
ERROR: 0:160: 'noperspective' : Reserved word.
|
||||
ERROR: 0:160: 'noperspective' : not supported with this profile: es
|
||||
ERROR: 0:160: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
|
||||
ERROR: 0:165: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
|
||||
ERROR: 0:180: 'interpolateAtCentroid' : no matching overloaded function found
|
||||
ERROR: 0:180: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
|
||||
ERROR: 0:182: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:184: 'interpolateAtSample' : no matching overloaded function found
|
||||
ERROR: 0:184: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
|
||||
ERROR: 0:186: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:189: 'interpolateAtOffset' : no matching overloaded function found
|
||||
ERROR: 0:189: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
|
||||
ERROR: 0:191: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:192: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:196: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:197: 'outp' : undeclared identifier
|
||||
ERROR: 0:197: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
|
||||
ERROR: 0:197: 'assign' : cannot convert from ' global float' to ' temp mediump 4-component vector of float'
|
||||
ERROR: 0:217: 'blend equation' : can only apply to 'out'
|
||||
ERROR: 0:218: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:219: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:220: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:221: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:222: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:223: 'blend_support' : unknown blend equation
|
||||
ERROR: 0:225: 'fragment-shader array-of-array output' : not supported with this profile: es
|
||||
ERROR: 49 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 320
|
||||
gl_FragCoord pixel center is integer
|
||||
gl_FragCoord origin is upper left
|
||||
using early_fragment_tests
|
||||
using depth_any
|
||||
using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
|
||||
ERROR: node is still EOpNull!
|
||||
0:35 Function Definition: fooIO( ( global void)
|
||||
0:35 Function Parameters:
|
||||
0:37 Sequence
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:37 'v' ( temp mediump 4-component vector of float)
|
||||
0:37 add ( temp mediump 4-component vector of float)
|
||||
0:37 v: direct index for structure ( in mediump 4-component vector of float)
|
||||
0:37 'inbinst' ( in block{ in mediump int a, in mediump 4-component vector of float v, in structure{ global mediump int b} s})
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 vAnon: direct index for structure (layout( location=13) centroid in mediump 4-component vector of float)
|
||||
0:37 'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon})
|
||||
0:37 Constant:
|
||||
0:37 1 (const uint)
|
||||
0:38 vector scale second child into first child ( temp mediump 4-component vector of float)
|
||||
0:38 'v' ( temp mediump 4-component vector of float)
|
||||
0:38 f: direct index for structure ( in mediump float)
|
||||
0:38 direct index ( temp block{ in mediump float f})
|
||||
0:38 'arrayedInst' ( in 4-element array of block{ in mediump float f})
|
||||
0:38 Constant:
|
||||
0:38 2 (const int)
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:39 vector scale second child into first child ( temp mediump 4-component vector of float)
|
||||
0:39 'v' ( temp mediump 4-component vector of float)
|
||||
0:39 f: direct index for structure ( in mediump float)
|
||||
0:39 indirect index ( temp block{ in mediump float f})
|
||||
0:39 'arrayedInst' ( in 4-element array of block{ in mediump float f})
|
||||
0:39 'i' ( uniform mediump int)
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:49 Function Definition: main( ( global void)
|
||||
0:49 Function Parameters:
|
||||
0:51 Sequence
|
||||
0:51 move second child to first child ( temp highp float)
|
||||
0:51 'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
|
||||
0:51 Constant:
|
||||
0:51 0.200000
|
||||
0:52 Sequence
|
||||
0:52 move second child to first child ( temp bool)
|
||||
0:52 'f' ( temp bool)
|
||||
0:52 'gl_FrontFacing' ( gl_FrontFacing bool Face)
|
||||
0:57 Function Definition: foo_GS( ( global void)
|
||||
0:57 Function Parameters:
|
||||
0:59 Sequence
|
||||
0:59 Sequence
|
||||
0:59 move second child to first child ( temp highp int)
|
||||
0:59 'l' ( temp highp int)
|
||||
0:59 'gl_Layer' ( flat in highp int Layer)
|
||||
0:60 Sequence
|
||||
0:60 move second child to first child ( temp highp int)
|
||||
0:60 'p' ( temp highp int)
|
||||
0:60 'gl_PrimitiveID' ( flat in highp int PrimitiveID)
|
||||
0:73 Function Definition: pfoo( ( global void)
|
||||
0:73 Function Parameters:
|
||||
0:? Sequence
|
||||
0:76 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:76 'h' ( noContraction temp mediump 2-component vector of float)
|
||||
0:76 fma ( global mediump 2-component vector of float)
|
||||
0:76 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:76 'ing' ( smooth in mediump 2-component vector of float)
|
||||
0:76 'h' ( noContraction temp mediump 2-component vector of float)
|
||||
0:77 textureGatherOffset ( global lowp 4-component vector of float)
|
||||
0:77 direct index ( temp lowp sampler2D)
|
||||
0:77 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:77 Constant:
|
||||
0:77 0 (const int)
|
||||
0:77 Constant:
|
||||
0:77 0.100000
|
||||
0:77 0.100000
|
||||
0:77 Convert float to int ( temp lowp 2-component vector of int)
|
||||
0:77 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:78 textureGatherOffsets ( global lowp 4-component vector of float, operation at mediump)
|
||||
0:78 direct index ( temp lowp sampler2D)
|
||||
0:78 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:78 Constant:
|
||||
0:78 0 (const int)
|
||||
0:78 Constant:
|
||||
0:78 0.100000
|
||||
0:78 0.100000
|
||||
0:78 Constant:
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:78 0 (const int)
|
||||
0:79 textureGatherOffsets ( global lowp 4-component vector of float, operation at mediump)
|
||||
0:79 direct index ( temp lowp sampler2D)
|
||||
0:79 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:79 Constant:
|
||||
0:79 0 (const int)
|
||||
0:79 Constant:
|
||||
0:79 0.100000
|
||||
0:79 0.100000
|
||||
0:79 'offsets' ( uniform 4-element array of mediump 2-component vector of int)
|
||||
0:102 Function Definition: CAT( ( global void)
|
||||
0:102 Function Parameters:
|
||||
0:104 Sequence
|
||||
0:104 Sequence
|
||||
0:104 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:104 'b4' ( temp highp 4-component vector of float)
|
||||
0:104 texture ( global highp 4-component vector of float)
|
||||
0:104 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:104 Constant:
|
||||
0:104 0.500000
|
||||
0:104 0.500000
|
||||
0:104 0.500000
|
||||
0:104 0.500000
|
||||
0:104 Constant:
|
||||
0:104 0.240000
|
||||
0:105 Sequence
|
||||
0:105 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:105 'b6' ( temp highp 4-component vector of int)
|
||||
0:105 texture ( global highp 4-component vector of int)
|
||||
0:105 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:105 Constant:
|
||||
0:105 0.500000
|
||||
0:105 0.500000
|
||||
0:105 0.500000
|
||||
0:105 0.500000
|
||||
0:105 Constant:
|
||||
0:105 0.260000
|
||||
0:106 Sequence
|
||||
0:106 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:106 'b7' ( temp highp 4-component vector of uint)
|
||||
0:106 texture ( global highp 4-component vector of uint)
|
||||
0:106 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:106 Constant:
|
||||
0:106 0.500000
|
||||
0:106 0.500000
|
||||
0:106 0.500000
|
||||
0:106 0.500000
|
||||
0:106 Constant:
|
||||
0:106 0.270000
|
||||
0:109 Function Definition: goodSample( ( global void)
|
||||
0:109 Function Parameters:
|
||||
0:111 Sequence
|
||||
0:111 Sequence
|
||||
0:111 move second child to first child ( temp lowp int)
|
||||
0:111 'a1' ( temp lowp int)
|
||||
0:111 'gl_SampleID' ( flat in lowp int SampleId)
|
||||
0:112 Sequence
|
||||
0:112 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:112 'a2' ( temp mediump 2-component vector of float)
|
||||
0:112 'gl_SamplePosition' ( smooth in mediump 2-component vector of float SamplePosition)
|
||||
0:113 Sequence
|
||||
0:113 move second child to first child ( temp highp int)
|
||||
0:113 'a3' ( temp highp int)
|
||||
0:113 direct index ( flat temp highp int SampleMaskIn)
|
||||
0:113 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:113 Constant:
|
||||
0:113 0 (const int)
|
||||
0:114 move second child to first child ( temp highp int)
|
||||
0:114 direct index ( temp highp int SampleMaskIn)
|
||||
0:114 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:114 Constant:
|
||||
0:114 0 (const int)
|
||||
0:114 'a3' ( temp highp int)
|
||||
0:115 Sequence
|
||||
0:115 move second child to first child ( temp mediump int)
|
||||
0:115 'n1' ( temp mediump int)
|
||||
0:115 Constant:
|
||||
0:115 4 (const int)
|
||||
0:116 Sequence
|
||||
0:116 move second child to first child ( temp mediump int)
|
||||
0:116 'n2' ( temp mediump int)
|
||||
0:116 'gl_NumSamples' ( uniform lowp int)
|
||||
0:128 Function Definition: goodImageAtom( ( global void)
|
||||
0:128 Function Parameters:
|
||||
0:? Sequence
|
||||
0:134 imageAtomicAdd ( global highp int)
|
||||
0:134 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:134 'P' ( uniform mediump 2-component vector of int)
|
||||
0:134 'dati' ( temp mediump int)
|
||||
0:135 imageAtomicAdd ( global highp uint)
|
||||
0:135 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:135 'P' ( uniform mediump 2-component vector of int)
|
||||
0:135 'datu' ( temp mediump uint)
|
||||
0:136 imageAtomicMin ( global highp int)
|
||||
0:136 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:136 'P' ( uniform mediump 2-component vector of int)
|
||||
0:136 'dati' ( temp mediump int)
|
||||
0:137 imageAtomicMin ( global highp uint)
|
||||
0:137 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:137 'P' ( uniform mediump 2-component vector of int)
|
||||
0:137 'datu' ( temp mediump uint)
|
||||
0:138 imageAtomicMax ( global highp int)
|
||||
0:138 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:138 'P' ( uniform mediump 2-component vector of int)
|
||||
0:138 'dati' ( temp mediump int)
|
||||
0:139 imageAtomicMax ( global highp uint)
|
||||
0:139 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:139 'P' ( uniform mediump 2-component vector of int)
|
||||
0:139 'datu' ( temp mediump uint)
|
||||
0:140 imageAtomicAnd ( global highp int)
|
||||
0:140 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:140 'P' ( uniform mediump 2-component vector of int)
|
||||
0:140 'dati' ( temp mediump int)
|
||||
0:141 imageAtomicAnd ( global highp uint)
|
||||
0:141 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:141 'P' ( uniform mediump 2-component vector of int)
|
||||
0:141 'datu' ( temp mediump uint)
|
||||
0:142 imageAtomicOr ( global highp int)
|
||||
0:142 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:142 'P' ( uniform mediump 2-component vector of int)
|
||||
0:142 'dati' ( temp mediump int)
|
||||
0:143 imageAtomicOr ( global highp uint)
|
||||
0:143 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:143 'P' ( uniform mediump 2-component vector of int)
|
||||
0:143 'datu' ( temp mediump uint)
|
||||
0:144 imageAtomicXor ( global highp int)
|
||||
0:144 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:144 'P' ( uniform mediump 2-component vector of int)
|
||||
0:144 'dati' ( temp mediump int)
|
||||
0:145 imageAtomicXor ( global highp uint)
|
||||
0:145 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:145 'P' ( uniform mediump 2-component vector of int)
|
||||
0:145 'datu' ( temp mediump uint)
|
||||
0:146 imageAtomicExchange ( global highp int)
|
||||
0:146 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:146 'P' ( uniform mediump 2-component vector of int)
|
||||
0:146 'dati' ( temp mediump int)
|
||||
0:147 imageAtomicExchange ( global highp uint)
|
||||
0:147 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:147 'P' ( uniform mediump 2-component vector of int)
|
||||
0:147 'datu' ( temp mediump uint)
|
||||
0:148 imageAtomicExchange ( global highp float)
|
||||
0:148 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:148 'P' ( uniform mediump 2-component vector of int)
|
||||
0:148 'datf' ( temp mediump float)
|
||||
0:149 imageAtomicCompSwap ( global highp int)
|
||||
0:149 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:149 'P' ( uniform mediump 2-component vector of int)
|
||||
0:149 Constant:
|
||||
0:149 3 (const int)
|
||||
0:149 'dati' ( temp mediump int)
|
||||
0:150 imageAtomicCompSwap ( global highp uint)
|
||||
0:150 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:150 'P' ( uniform mediump 2-component vector of int)
|
||||
0:150 Constant:
|
||||
0:150 5 (const uint)
|
||||
0:150 'datu' ( temp mediump uint)
|
||||
0:152 imageAtomicMax ( global highp int)
|
||||
0:152 'badIm2Di' (layout( rgba16i) uniform highp iimage2D)
|
||||
0:152 'P' ( uniform mediump 2-component vector of int)
|
||||
0:152 'dati' ( temp mediump int)
|
||||
0:153 imageAtomicMax ( global highp uint)
|
||||
0:153 'badIm2Du' (layout( rgba8ui) uniform highp uimage2D)
|
||||
0:153 'P' ( uniform mediump 2-component vector of int)
|
||||
0:153 'datu' ( temp mediump uint)
|
||||
0:154 imageAtomicExchange ( global highp float)
|
||||
0:154 'badIm2Df' (layout( rgba32f) uniform highp image2D)
|
||||
0:154 'P' ( uniform mediump 2-component vector of int)
|
||||
0:154 'datf' ( temp mediump float)
|
||||
0:169 Function Definition: interp( ( global void)
|
||||
0:169 Function Parameters:
|
||||
0:? Sequence
|
||||
0:176 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:176 'res2' ( temp mediump 2-component vector of float)
|
||||
0:176 interpolateAtCentroid ( global mediump 2-component vector of float)
|
||||
0:176 'colorfc' ( centroid flat in mediump 2-component vector of float)
|
||||
0:177 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:177 'res4' ( temp mediump 4-component vector of float)
|
||||
0:177 interpolateAtCentroid ( global mediump 4-component vector of float)
|
||||
0:177 'colorSampIn' ( smooth sample in mediump 4-component vector of float)
|
||||
0:178 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:178 'res4' ( temp mediump 4-component vector of float)
|
||||
0:178 interpolateAtCentroid ( global mediump 4-component vector of float)
|
||||
0:178 'colorfsi' ( flat sample in mediump 4-component vector of float)
|
||||
0:179 move second child to first child ( temp mediump float)
|
||||
0:179 'res' ( temp mediump float)
|
||||
0:179 interpolateAtCentroid ( global mediump float)
|
||||
0:179 'scalarIn' ( smooth in mediump float)
|
||||
0:180 'res3' ( temp mediump 3-component vector of float)
|
||||
0:181 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:181 'res3' ( temp mediump 3-component vector of float)
|
||||
0:181 interpolateAtCentroid ( global mediump 3-component vector of float)
|
||||
0:181 direct index ( smooth sample temp mediump 3-component vector of float)
|
||||
0:181 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:181 Constant:
|
||||
0:181 2 (const int)
|
||||
0:182 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:182 'res2' ( temp mediump 2-component vector of float)
|
||||
0:182 interpolateAtCentroid ( global mediump 2-component vector of float)
|
||||
0:182 vector swizzle ( temp mediump 2-component vector of float)
|
||||
0:182 direct index ( smooth sample temp mediump 3-component vector of float)
|
||||
0:182 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:182 Constant:
|
||||
0:182 2 (const int)
|
||||
0:182 Sequence
|
||||
0:182 Constant:
|
||||
0:182 0 (const int)
|
||||
0:182 Constant:
|
||||
0:182 1 (const int)
|
||||
0:184 'res3' ( temp mediump 3-component vector of float)
|
||||
0:185 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:185 'res3' ( temp mediump 3-component vector of float)
|
||||
0:185 interpolateAtSample ( global mediump 3-component vector of float)
|
||||
0:185 indirect index ( smooth sample temp mediump 3-component vector of float)
|
||||
0:185 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:185 'i' ( uniform mediump int)
|
||||
0:185 Constant:
|
||||
0:185 0 (const int)
|
||||
0:186 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:186 'res2' ( temp mediump 2-component vector of float)
|
||||
0:186 interpolateAtSample ( global mediump 2-component vector of float)
|
||||
0:186 vector swizzle ( temp mediump 2-component vector of float)
|
||||
0:186 direct index ( smooth sample temp mediump 3-component vector of float)
|
||||
0:186 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:186 Constant:
|
||||
0:186 2 (const int)
|
||||
0:186 Sequence
|
||||
0:186 Constant:
|
||||
0:186 0 (const int)
|
||||
0:186 Constant:
|
||||
0:186 1 (const int)
|
||||
0:186 Constant:
|
||||
0:186 2 (const int)
|
||||
0:187 move second child to first child ( temp mediump float)
|
||||
0:187 'res' ( temp mediump float)
|
||||
0:187 interpolateAtSample ( global mediump float)
|
||||
0:187 'scalarIn' ( smooth in mediump float)
|
||||
0:187 Constant:
|
||||
0:187 1 (const int)
|
||||
0:189 'res3' ( temp mediump 3-component vector of float)
|
||||
0:190 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:190 'res3' ( temp mediump 3-component vector of float)
|
||||
0:190 interpolateAtOffset ( global mediump 3-component vector of float)
|
||||
0:190 direct index ( smooth sample temp mediump 3-component vector of float)
|
||||
0:190 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:190 Constant:
|
||||
0:190 2 (const int)
|
||||
0:190 Constant:
|
||||
0:190 0.200000
|
||||
0:190 0.200000
|
||||
0:191 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:191 'res2' ( temp mediump 2-component vector of float)
|
||||
0:191 interpolateAtOffset ( global mediump 2-component vector of float)
|
||||
0:191 vector swizzle ( temp mediump 2-component vector of float)
|
||||
0:191 direct index ( smooth sample temp mediump 3-component vector of float)
|
||||
0:191 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:191 Constant:
|
||||
0:191 2 (const int)
|
||||
0:191 Sequence
|
||||
0:191 Constant:
|
||||
0:191 0 (const int)
|
||||
0:191 Constant:
|
||||
0:191 1 (const int)
|
||||
0:191 Constant:
|
||||
0:191 0.200000
|
||||
0:191 0.200000
|
||||
0:192 move second child to first child ( temp mediump float)
|
||||
0:192 'res' ( temp mediump float)
|
||||
0:192 interpolateAtOffset ( global mediump float)
|
||||
0:192 add ( temp mediump float)
|
||||
0:192 'scalarIn' ( smooth in mediump float)
|
||||
0:192 'scalarIn' ( smooth in mediump float)
|
||||
0:192 Constant:
|
||||
0:192 0.200000
|
||||
0:192 0.200000
|
||||
0:193 move second child to first child ( temp mediump float)
|
||||
0:193 'res' ( temp mediump float)
|
||||
0:193 interpolateAtOffset ( global mediump float)
|
||||
0:193 'scalarIn' ( smooth in mediump float)
|
||||
0:193 Constant:
|
||||
0:193 0.200000
|
||||
0:193 0.200000
|
||||
0:196 move second child to first child ( temp mediump float)
|
||||
0:196 'res' ( temp mediump float)
|
||||
0:196 interpolateAtCentroid ( global mediump float)
|
||||
0:196 'f' ( temp mediump float)
|
||||
0:197 'res4' ( temp mediump 4-component vector of float)
|
||||
0:221 Function Definition: blendFoo( ( temp void)
|
||||
0:221 Function Parameters:
|
||||
0:222 Function Definition: blendFoo(vf3; ( global void)
|
||||
0:222 Function Parameters:
|
||||
0:222 'v' ( in mediump 3-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'outbinst' ( out block{ out mediump int a})
|
||||
0:? 'inbinst' ( in block{ in mediump int a, in mediump 4-component vector of float v, in structure{ global mediump int b} s})
|
||||
0:? 'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=13) smooth in mediump 4-component vector of float)
|
||||
0:? 'arrayedInst' ( in 4-element array of block{ in mediump float f})
|
||||
0:? 'i' ( uniform mediump int)
|
||||
0:? 'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
|
||||
0:? 'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
|
||||
0:? 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:? 'ing' ( smooth in mediump 2-component vector of float)
|
||||
0:? 'offsets' ( uniform 4-element array of mediump 2-component vector of int)
|
||||
0:? 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:? 'sIndex' ( uniform mediump int)
|
||||
0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint)
|
||||
0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump int i})
|
||||
0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer mediump int i})
|
||||
0:? 'iArray' ( writeonly uniform 5-element array of highp image2D)
|
||||
0:? 'constOffsets' ( const 4-element array of mediump 2-component vector of int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 'CA1' ( writeonly uniform highp imageCubeArray)
|
||||
0:? 'CA2' ( writeonly uniform highp iimageCubeArray)
|
||||
0:? 'CA3' ( writeonly uniform highp uimageCubeArray)
|
||||
0:? 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:? 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:? 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:? 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:? 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:? 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:? 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:? 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:? 'P' ( uniform mediump 2-component vector of int)
|
||||
0:? 'badIm2Df' (layout( rgba32f) uniform highp image2D)
|
||||
0:? 'badIm2Du' (layout( rgba8ui) uniform highp uimage2D)
|
||||
0:? 'badIm2Di' (layout( rgba16i) uniform highp iimage2D)
|
||||
0:? 'colorCentroidBad' ( centroid out mediump 4-component vector of float)
|
||||
0:? 'colorBadFlat' ( flat out mediump 4-component vector of float)
|
||||
0:? 'colorBadSmooth' ( smooth out mediump 4-component vector of float)
|
||||
0:? 'colorBadNo' ( noperspective out mediump 4-component vector of float)
|
||||
0:? 'colorfc' ( centroid flat in mediump 2-component vector of float)
|
||||
0:? 'scalarIn' ( smooth in mediump float)
|
||||
0:? 'colorSampIn' ( smooth sample in mediump 4-component vector of float)
|
||||
0:? 'colorSampleBad' ( sample out mediump 4-component vector of float)
|
||||
0:? 'colorfsi' ( flat sample in mediump 4-component vector of float)
|
||||
0:? 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:? 'badout' ( out mediump 4-component vector of float)
|
||||
0:? 'outAA' ( out 2-element array of 2-element array of mediump 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
|
||||
|
||||
Shader version: 320
|
||||
gl_FragCoord pixel center is integer
|
||||
gl_FragCoord origin is upper left
|
||||
using early_fragment_tests
|
||||
using depth_any
|
||||
using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
|
||||
ERROR: node is still EOpNull!
|
||||
0:49 Function Definition: main( ( global void)
|
||||
0:49 Function Parameters:
|
||||
0:51 Sequence
|
||||
0:51 move second child to first child ( temp highp float)
|
||||
0:51 'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
|
||||
0:51 Constant:
|
||||
0:51 0.200000
|
||||
0:52 Sequence
|
||||
0:52 move second child to first child ( temp bool)
|
||||
0:52 'f' ( temp bool)
|
||||
0:52 'gl_FrontFacing' ( gl_FrontFacing bool Face)
|
||||
0:? Linker Objects
|
||||
0:? 'outbinst' ( out block{ out mediump int a})
|
||||
0:? 'inbinst' ( in block{ in mediump int a, in mediump 4-component vector of float v, in structure{ global mediump int b} s})
|
||||
0:? 'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=13) smooth in mediump 4-component vector of float)
|
||||
0:? 'arrayedInst' ( in 4-element array of block{ in mediump float f})
|
||||
0:? 'i' ( uniform mediump int)
|
||||
0:? 'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
|
||||
0:? 'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
|
||||
0:? 'inf' ( smooth in mediump 2-component vector of float)
|
||||
0:? 'ing' ( smooth in mediump 2-component vector of float)
|
||||
0:? 'offsets' ( uniform 4-element array of mediump 2-component vector of int)
|
||||
0:? 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:? 'sIndex' ( uniform mediump int)
|
||||
0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint)
|
||||
0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump int i})
|
||||
0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer mediump int i})
|
||||
0:? 'iArray' ( writeonly uniform 5-element array of highp image2D)
|
||||
0:? 'constOffsets' ( const 4-element array of mediump 2-component vector of int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 'CA1' ( writeonly uniform highp imageCubeArray)
|
||||
0:? 'CA2' ( writeonly uniform highp iimageCubeArray)
|
||||
0:? 'CA3' ( writeonly uniform highp uimageCubeArray)
|
||||
0:? 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:? 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:? 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:? 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:? 'gl_SampleMaskIn' ( flat in 1-element array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMask' ( out 1-element array of highp int SampleMaskIn)
|
||||
0:? 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:? 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:? 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:? 'P' ( uniform mediump 2-component vector of int)
|
||||
0:? 'badIm2Df' (layout( rgba32f) uniform highp image2D)
|
||||
0:? 'badIm2Du' (layout( rgba8ui) uniform highp uimage2D)
|
||||
0:? 'badIm2Di' (layout( rgba16i) uniform highp iimage2D)
|
||||
0:? 'colorCentroidBad' ( centroid out mediump 4-component vector of float)
|
||||
0:? 'colorBadFlat' ( flat out mediump 4-component vector of float)
|
||||
0:? 'colorBadSmooth' ( smooth out mediump 4-component vector of float)
|
||||
0:? 'colorBadNo' ( noperspective out mediump 4-component vector of float)
|
||||
0:? 'colorfc' ( centroid flat in mediump 2-component vector of float)
|
||||
0:? 'scalarIn' ( smooth in mediump float)
|
||||
0:? 'colorSampIn' ( smooth sample in mediump 4-component vector of float)
|
||||
0:? 'colorSampleBad' ( sample out mediump 4-component vector of float)
|
||||
0:? 'colorfsi' ( flat sample in mediump 4-component vector of float)
|
||||
0:? 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
|
||||
0:? 'badout' ( out mediump 4-component vector of float)
|
||||
0:? 'outAA' ( out 2-element array of 2-element array of mediump 4-component vector of float)
|
||||
|
251
Test/baseResults/320.geom.out
Executable file
251
Test/baseResults/320.geom.out
Executable file
@ -0,0 +1,251 @@
|
||||
320.geom
|
||||
ERROR: 0:19: 'fromVertex' : block instance name redefinition
|
||||
ERROR: 0:23: 'fromVertex' : redefinition
|
||||
ERROR: 0:25: 'fooC' : block instance name redefinition
|
||||
ERROR: 0:33: 'EmitStreamVertex' : no matching overloaded function found
|
||||
ERROR: 0:34: 'EndStreamPrimitive' : no matching overloaded function found
|
||||
ERROR: 0:37: 'gl_ClipDistance' : undeclared identifier
|
||||
ERROR: 0:37: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:38: 'gl_ClipDistance' : no such field in structure
|
||||
ERROR: 0:38: 'expression' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:37: 'assign' : l-value required (can't modify a const)
|
||||
ERROR: 0:45: 'selecting output stream' : not supported with this profile: es
|
||||
ERROR: 0:52: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
|
||||
ERROR: 0:52: 'max_vertices' : cannot change previously set layout value
|
||||
ERROR: 0:53: 'max_vertices' : can only apply to a standalone qualifier
|
||||
ERROR: 0:58: 'points' : cannot change previously set output primitive
|
||||
ERROR: 0:59: 'points' : cannot change previously set output primitive
|
||||
ERROR: 0:60: 'triangle_strip' : cannot apply to input
|
||||
ERROR: 0:61: 'triangle_strip' : cannot apply to: uniform
|
||||
ERROR: 0:62: 'triangle_strip' : can only apply to a standalone qualifier
|
||||
ERROR: 0:63: 'triangle_strip' : can only apply to a standalone qualifier
|
||||
ERROR: 0:64: 'invocations' : can only apply to a standalone qualifier
|
||||
ERROR: 0:66: 'invocations' : can only apply to a standalone qualifier
|
||||
ERROR: 0:67: 'max_vertices' : can only apply to a standalone qualifier
|
||||
ERROR: 0:68: 'triangle_strip' : can only apply to a standalone qualifier
|
||||
ERROR: 0:71: 'lines' : cannot apply to 'out'
|
||||
ERROR: 0:73: 'triangles' : cannot change previously set input primitive
|
||||
ERROR: 0:74: 'triangles_adjacency' : cannot change previously set input primitive
|
||||
ERROR: 0:106: 'gl_ViewportIndex' : undeclared identifier
|
||||
ERROR: 0:107: 'gl_MaxViewports' : undeclared identifier
|
||||
ERROR: 0:113: 'lines_adjacency' : inconsistent input primitive for array size of explArrayBad
|
||||
ERROR: 0:114: 'in' : type must be an array: nonArrayed
|
||||
ERROR: 0:122: 'component' : not supported with this profile: es
|
||||
ERROR: 0:126: 'gl_MaxGeometryVaryingComponents' : undeclared identifier
|
||||
ERROR: 0:127: 'gl_VerticesIn' : undeclared identifier
|
||||
ERROR: 0:132: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_geometry_point_size
|
||||
GL_OES_geometry_point_size
|
||||
ERROR: 0:133: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_geometry_point_size
|
||||
GL_OES_geometry_point_size
|
||||
ERROR: 36 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 320
|
||||
invocations = 4
|
||||
max_vertices = 200
|
||||
input primitive = lines_adjacency
|
||||
output primitive = triangle_strip
|
||||
ERROR: node is still EOpNull!
|
||||
0:29 Function Definition: main( ( global void)
|
||||
0:29 Function Parameters:
|
||||
0:31 Sequence
|
||||
0:31 EmitVertex ( global void)
|
||||
0:32 EndPrimitive ( global void)
|
||||
0:33 Constant:
|
||||
0:33 0.000000
|
||||
0:34 Constant:
|
||||
0:34 0.000000
|
||||
0:36 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:36 color: direct index for structure (layout( stream=0) out mediump 3-component vector of float)
|
||||
0:36 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 color: direct index for structure ( in mediump 3-component vector of float)
|
||||
0:36 direct index ( temp block{ in mediump 3-component vector of float color})
|
||||
0:36 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color})
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:37 move second child to first child ( temp float)
|
||||
0:37 Constant:
|
||||
0:37 0.000000
|
||||
0:38 Constant:
|
||||
0:38 0.000000
|
||||
0:39 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:39 gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position)
|
||||
0:39 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:39 Constant:
|
||||
0:39 0 (const uint)
|
||||
0:39 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:39 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:39 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:41 move second child to first child ( temp highp int)
|
||||
0:41 'gl_PrimitiveID' (layout( stream=0) out highp int PrimitiveID)
|
||||
0:41 'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
|
||||
0:42 move second child to first child ( temp highp int)
|
||||
0:42 'gl_Layer' (layout( stream=0) out highp int Layer)
|
||||
0:42 Constant:
|
||||
0:42 2 (const int)
|
||||
0:53 Function Definition: foo(i1; ( global void)
|
||||
0:53 Function Parameters:
|
||||
0:53 'a' ( in highp int)
|
||||
0:55 Sequence
|
||||
0:55 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:55 a: direct index for structure (layout( stream=0) out mediump 4-component vector of float)
|
||||
0:55 'ouuaa6' (layout( stream=0) out block{layout( stream=0) out mediump 4-component vector of float a})
|
||||
0:55 Constant:
|
||||
0:55 0 (const int)
|
||||
0:55 Constant:
|
||||
0:55 1.000000
|
||||
0:55 1.000000
|
||||
0:55 1.000000
|
||||
0:55 1.000000
|
||||
0:104 Function Definition: fooe1( ( global void)
|
||||
0:104 Function Parameters:
|
||||
0:106 Sequence
|
||||
0:106 'gl_ViewportIndex' ( temp float)
|
||||
0:107 'gl_MaxViewports' ( temp float)
|
||||
0:108 Constant:
|
||||
0:108 4 (const int)
|
||||
0:109 Sequence
|
||||
0:109 move second child to first child ( temp highp int)
|
||||
0:109 'inv' ( temp highp int)
|
||||
0:109 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:124 Function Definition: notHere( ( global void)
|
||||
0:124 Function Parameters:
|
||||
0:126 Sequence
|
||||
0:126 'gl_MaxGeometryVaryingComponents' ( temp float)
|
||||
0:127 'gl_VerticesIn' ( temp float)
|
||||
0:130 Function Definition: pointSize2( ( global void)
|
||||
0:130 Function Parameters:
|
||||
0:132 Sequence
|
||||
0:132 Sequence
|
||||
0:132 move second child to first child ( temp highp float)
|
||||
0:132 'ps' ( temp highp float)
|
||||
0:132 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:132 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:132 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:132 Constant:
|
||||
0:132 3 (const int)
|
||||
0:132 Constant:
|
||||
0:132 1 (const int)
|
||||
0:133 move second child to first child ( temp highp float)
|
||||
0:133 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize highp float PointSize)
|
||||
0:133 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:133 Constant:
|
||||
0:133 1 (const uint)
|
||||
0:133 'ps' ( temp highp float)
|
||||
0:? Linker Objects
|
||||
0:? 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color})
|
||||
0:? 'nonBlockUnsized' ( in 4-element array of mediump 4-component vector of float)
|
||||
0:? 'toF' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color})
|
||||
0:? 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:? 'ov4' (layout( stream=4) out mediump 4-component vector of float)
|
||||
0:? 'ouuaa6' (layout( stream=0) out block{layout( stream=0) out mediump 4-component vector of float a})
|
||||
0:? 'badv4' (layout( stream=0) out mediump 4-component vector of float)
|
||||
0:? 'bad2v4' ( in 4-element array of mediump 4-component vector of float)
|
||||
0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) out highp int a})
|
||||
0:? 'outbi' (layout( stream=0) out block{layout( stream=0) out highp int a, layout( stream=0) out highp int b, layout( stream=0) out highp int c})
|
||||
0:? 'insn' ( in 4-element array of block{ in highp int a15})
|
||||
0:? 'anon@2' (layout( stream=0) out block{layout( stream=0) out mediump float f15})
|
||||
0:? 'anon@3' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b15})
|
||||
0:? 'summ' ( const highp int)
|
||||
0:? 2752 (const int)
|
||||
0:? 'explArray' ( in 4-element array of mediump 4-component vector of float)
|
||||
0:? 'explArrayBad' ( in 5-element array of mediump 4-component vector of float)
|
||||
0:? 'nonArrayed' ( in mediump 4-component vector of float)
|
||||
0:? 'myColor1' (layout( stream=0) flat out mediump 3-component vector of float)
|
||||
0:? 'myColor2' (layout( stream=0) centroid out mediump 3-component vector of float)
|
||||
0:? 'centr' ( centroid in 4-element array of mediump 3-component vector of float)
|
||||
0:? 'perSampleColor' (layout( stream=0) sample out mediump 4-component vector of float)
|
||||
0:? 'comp' (layout( location=7 component=2) in 4-element array of mediump float)
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
Shader version: 320
|
||||
invocations = 4
|
||||
max_vertices = 200
|
||||
input primitive = lines_adjacency
|
||||
output primitive = triangle_strip
|
||||
ERROR: node is still EOpNull!
|
||||
0:29 Function Definition: main( ( global void)
|
||||
0:29 Function Parameters:
|
||||
0:31 Sequence
|
||||
0:31 EmitVertex ( global void)
|
||||
0:32 EndPrimitive ( global void)
|
||||
0:33 Constant:
|
||||
0:33 0.000000
|
||||
0:34 Constant:
|
||||
0:34 0.000000
|
||||
0:36 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:36 color: direct index for structure (layout( stream=0) out mediump 3-component vector of float)
|
||||
0:36 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 color: direct index for structure ( in mediump 3-component vector of float)
|
||||
0:36 direct index ( temp block{ in mediump 3-component vector of float color})
|
||||
0:36 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color})
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:37 move second child to first child ( temp float)
|
||||
0:37 Constant:
|
||||
0:37 0.000000
|
||||
0:38 Constant:
|
||||
0:38 0.000000
|
||||
0:39 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:39 gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position)
|
||||
0:39 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:39 Constant:
|
||||
0:39 0 (const uint)
|
||||
0:39 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:39 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:39 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:41 move second child to first child ( temp highp int)
|
||||
0:41 'gl_PrimitiveID' (layout( stream=0) out highp int PrimitiveID)
|
||||
0:41 'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
|
||||
0:42 move second child to first child ( temp highp int)
|
||||
0:42 'gl_Layer' (layout( stream=0) out highp int Layer)
|
||||
0:42 Constant:
|
||||
0:42 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color})
|
||||
0:? 'nonBlockUnsized' ( in 4-element array of mediump 4-component vector of float)
|
||||
0:? 'toF' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color})
|
||||
0:? 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
|
||||
0:? 'ov4' (layout( stream=4) out mediump 4-component vector of float)
|
||||
0:? 'ouuaa6' (layout( stream=0) out block{layout( stream=0) out mediump 4-component vector of float a})
|
||||
0:? 'badv4' (layout( stream=0) out mediump 4-component vector of float)
|
||||
0:? 'bad2v4' ( in 4-element array of mediump 4-component vector of float)
|
||||
0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) out highp int a})
|
||||
0:? 'outbi' (layout( stream=0) out block{layout( stream=0) out highp int a, layout( stream=0) out highp int b, layout( stream=0) out highp int c})
|
||||
0:? 'insn' ( in 4-element array of block{ in highp int a15})
|
||||
0:? 'anon@2' (layout( stream=0) out block{layout( stream=0) out mediump float f15})
|
||||
0:? 'anon@3' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b15})
|
||||
0:? 'summ' ( const highp int)
|
||||
0:? 2752 (const int)
|
||||
0:? 'explArray' ( in 4-element array of mediump 4-component vector of float)
|
||||
0:? 'explArrayBad' ( in 5-element array of mediump 4-component vector of float)
|
||||
0:? 'nonArrayed' ( in mediump 4-component vector of float)
|
||||
0:? 'myColor1' (layout( stream=0) flat out mediump 3-component vector of float)
|
||||
0:? 'myColor2' (layout( stream=0) centroid out mediump 3-component vector of float)
|
||||
0:? 'centr' ( centroid in 4-element array of mediump 3-component vector of float)
|
||||
0:? 'perSampleColor' (layout( stream=0) sample out mediump 4-component vector of float)
|
||||
0:? 'comp' (layout( location=7 component=2) in 4-element array of mediump float)
|
||||
|
516
Test/baseResults/320.tesc.out
Executable file
516
Test/baseResults/320.tesc.out
Executable file
@ -0,0 +1,516 @@
|
||||
320.tesc
|
||||
ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
|
||||
ERROR: 0:24: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_tessellation_point_size
|
||||
GL_OES_tessellation_point_size
|
||||
ERROR: 0:25: 'gl_ClipDistance' : no such field in structure
|
||||
ERROR: 0:25: 'expression' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:32: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_tessellation_point_size
|
||||
GL_OES_tessellation_point_size
|
||||
ERROR: 0:33: 'gl_ClipDistance' : no such field in structure
|
||||
ERROR: 0:33: 'expression' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:33: 'assign' : l-value required (can't modify a const)
|
||||
ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
|
||||
ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
|
||||
ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
|
||||
ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
|
||||
ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
|
||||
ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
|
||||
ERROR: 0:64: 'vertices' : can only apply to 'out'
|
||||
ERROR: 0:65: 'vertices' : cannot change previously set layout value
|
||||
ERROR: 0:69: '[' : array index out of range '4'
|
||||
ERROR: 0:71: '' : tessellation control barrier() must be in main()
|
||||
ERROR: 0:74: 'in' : type must be an array: ina
|
||||
ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
|
||||
ERROR: 0:78: '' : array size required
|
||||
ERROR: 0:84: 'location' : overlapping use of location 4
|
||||
ERROR: 0:88: 'location' : overlapping use of location 4
|
||||
ERROR: 0:98: 'vertices' : can only apply to a standalone qualifier
|
||||
ERROR: 0:99: 'vertices' : inconsistent output number of vertices for array size of misSized
|
||||
ERROR: 0:104: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_tessellation_point_size
|
||||
GL_OES_tessellation_point_size
|
||||
ERROR: 0:105: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_tessellation_point_size
|
||||
GL_OES_tessellation_point_size
|
||||
ERROR: 0:123: '[' : array index out of range '2'
|
||||
ERROR: 0:126: '' : array size required
|
||||
ERROR: 0:142: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
|
||||
ERROR: 0:143: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
|
||||
ERROR: 0:146: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
|
||||
ERROR: 35 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 320
|
||||
Requested GL_ARB_separate_shader_objects
|
||||
vertices = 4
|
||||
ERROR: node is still EOpNull!
|
||||
0:13 Function Definition: main( ( global void)
|
||||
0:13 Function Parameters:
|
||||
0:15 Sequence
|
||||
0:15 Barrier ( global void)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp highp int)
|
||||
0:17 'a' ( temp highp int)
|
||||
0:17 Constant:
|
||||
0:17 5392 (const int)
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:23 'p' ( temp highp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp highp float)
|
||||
0:24 'ps' ( temp highp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp highp float)
|
||||
0:25 'cd' ( temp highp float)
|
||||
0:25 Constant:
|
||||
0:25 0.000000
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child ( temp highp int)
|
||||
0:27 'pvi' ( temp highp int)
|
||||
0:27 'gl_PatchVerticesIn' ( in highp int PatchVertices)
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child ( temp highp int)
|
||||
0:28 'pid' ( temp highp int)
|
||||
0:28 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child ( temp highp int)
|
||||
0:29 'iid' ( temp highp int)
|
||||
0:29 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:31 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure ( out highp 4-component vector of float Position)
|
||||
0:31 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:31 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:31 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' ( temp highp 4-component vector of float)
|
||||
0:32 move second child to first child ( temp highp float)
|
||||
0:32 gl_PointSize: direct index for structure ( out highp float PointSize)
|
||||
0:32 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:32 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:32 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' ( temp highp float)
|
||||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 Constant:
|
||||
0:33 0.000000
|
||||
0:33 'cd' ( temp highp float)
|
||||
0:35 move second child to first child ( temp highp float)
|
||||
0:35 direct index ( patch temp highp float TessLevelOuter)
|
||||
0:35 'gl_TessLevelOuter' ( patch out 4-element array of highp float TessLevelOuter)
|
||||
0:35 Constant:
|
||||
0:35 3 (const int)
|
||||
0:35 Constant:
|
||||
0:35 3.200000
|
||||
0:36 move second child to first child ( temp highp float)
|
||||
0:36 direct index ( patch temp highp float TessLevelInner)
|
||||
0:36 'gl_TessLevelInner' ( patch out 2-element array of highp float TessLevelInner)
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
0:36 1.300000
|
||||
0:38 Test condition and select ( temp void)
|
||||
0:38 Condition
|
||||
0:38 Compare Greater Than ( temp bool)
|
||||
0:38 'a' ( temp highp int)
|
||||
0:38 Constant:
|
||||
0:38 10 (const int)
|
||||
0:38 true case
|
||||
0:39 Barrier ( global void)
|
||||
0:38 false case
|
||||
0:41 Barrier ( global void)
|
||||
0:43 Barrier ( global void)
|
||||
0:47 Loop with condition not tested first
|
||||
0:47 Loop Condition
|
||||
0:47 Compare Greater Than ( temp bool)
|
||||
0:47 'a' ( temp highp int)
|
||||
0:47 Constant:
|
||||
0:47 10 (const int)
|
||||
0:47 Loop Body
|
||||
0:46 Sequence
|
||||
0:46 Barrier ( global void)
|
||||
0:49 switch
|
||||
0:49 condition
|
||||
0:49 'a' ( temp highp int)
|
||||
0:49 body
|
||||
0:49 Sequence
|
||||
0:50 default:
|
||||
0:? Sequence
|
||||
0:51 Barrier ( global void)
|
||||
0:52 Branch: Break
|
||||
0:54 Test condition and select ( temp highp int)
|
||||
0:54 Condition
|
||||
0:54 Compare Less Than ( temp bool)
|
||||
0:54 'a' ( temp highp int)
|
||||
0:54 Constant:
|
||||
0:54 12 (const int)
|
||||
0:54 true case
|
||||
0:54 'a' ( temp highp int)
|
||||
0:54 false case
|
||||
0:54 Comma ( temp highp int)
|
||||
0:54 Barrier ( global void)
|
||||
0:54 'a' ( temp highp int)
|
||||
0:56 Sequence
|
||||
0:56 Barrier ( global void)
|
||||
0:59 Branch: Return
|
||||
0:61 Barrier ( global void)
|
||||
0:67 Function Definition: foo( ( global void)
|
||||
0:67 Function Parameters:
|
||||
0:69 Sequence
|
||||
0:69 gl_Position: direct index for structure ( out highp 4-component vector of float Position)
|
||||
0:69 direct index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:69 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:69 Constant:
|
||||
0:69 4 (const int)
|
||||
0:69 Constant:
|
||||
0:69 0 (const int)
|
||||
0:71 Barrier ( global void)
|
||||
0:102 Function Definition: pointSize2( ( global void)
|
||||
0:102 Function Parameters:
|
||||
0:104 Sequence
|
||||
0:104 Sequence
|
||||
0:104 move second child to first child ( temp highp float)
|
||||
0:104 'ps' ( temp highp float)
|
||||
0:104 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 Constant:
|
||||
0:104 1 (const int)
|
||||
0:104 Constant:
|
||||
0:104 1 (const int)
|
||||
0:105 move second child to first child ( temp highp float)
|
||||
0:105 gl_PointSize: direct index for structure ( out highp float PointSize)
|
||||
0:105 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:105 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:105 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:105 Constant:
|
||||
0:105 1 (const int)
|
||||
0:105 'ps' ( temp highp float)
|
||||
0:110 Function Definition: goodfoop( ( global void)
|
||||
0:110 Function Parameters:
|
||||
0:? Sequence
|
||||
0:114 multiply second child into first child ( temp highp 3-component vector of float)
|
||||
0:114 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:114 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:115 move second child to first child ( temp highp 3-component vector of float)
|
||||
0:115 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:115 fma ( global highp 3-component vector of float)
|
||||
0:115 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:115 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:115 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:116 move second child to first child ( temp highp float)
|
||||
0:116 'd' ( noContraction temp highp float)
|
||||
0:116 fma ( global highp float)
|
||||
0:116 'd' ( noContraction temp highp float)
|
||||
0:116 'd' ( noContraction temp highp float)
|
||||
0:116 'd' ( noContraction temp highp float)
|
||||
0:119 Function Definition: bb( ( global void)
|
||||
0:119 Function Parameters:
|
||||
0:121 Sequence
|
||||
0:121 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:121 direct index ( patch temp highp 4-component vector of float BoundingBox)
|
||||
0:121 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
|
||||
0:121 Constant:
|
||||
0:121 0 (const int)
|
||||
0:121 Constant:
|
||||
0:121 0.000000
|
||||
0:121 0.000000
|
||||
0:121 0.000000
|
||||
0:121 0.000000
|
||||
0:122 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:122 direct index ( patch temp highp 4-component vector of float BoundingBox)
|
||||
0:122 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
|
||||
0:122 Constant:
|
||||
0:122 1 (const int)
|
||||
0:122 Constant:
|
||||
0:122 1.000000
|
||||
0:122 1.000000
|
||||
0:122 1.000000
|
||||
0:122 1.000000
|
||||
0:123 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:123 direct index ( patch temp highp 4-component vector of float BoundingBox)
|
||||
0:123 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
|
||||
0:123 Constant:
|
||||
0:123 2 (const int)
|
||||
0:123 Constant:
|
||||
0:123 2.000000
|
||||
0:123 2.000000
|
||||
0:123 2.000000
|
||||
0:123 2.000000
|
||||
0:134 Function Definition: outputtingOutparam(i1; ( global void)
|
||||
0:134 Function Parameters:
|
||||
0:134 'a' ( out highp int)
|
||||
0:136 Sequence
|
||||
0:136 move second child to first child ( temp highp int)
|
||||
0:136 'a' ( out highp int)
|
||||
0:136 Constant:
|
||||
0:136 2 (const int)
|
||||
0:139 Function Definition: outputting( ( global void)
|
||||
0:139 Function Parameters:
|
||||
0:141 Sequence
|
||||
0:141 move second child to first child ( temp highp int)
|
||||
0:141 indirect index ( temp highp int)
|
||||
0:141 'outa' ( out 4-element array of highp int)
|
||||
0:141 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:141 Constant:
|
||||
0:141 2 (const int)
|
||||
0:142 move second child to first child ( temp highp int)
|
||||
0:142 direct index ( temp highp int)
|
||||
0:142 'outa' ( out 4-element array of highp int)
|
||||
0:142 Constant:
|
||||
0:142 1 (const int)
|
||||
0:142 Constant:
|
||||
0:142 2 (const int)
|
||||
0:143 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:143 gl_Position: direct index for structure ( out highp 4-component vector of float Position)
|
||||
0:143 direct index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:143 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:143 Constant:
|
||||
0:143 0 (const int)
|
||||
0:143 Constant:
|
||||
0:143 0 (const int)
|
||||
0:143 Constant:
|
||||
0:143 1.000000
|
||||
0:143 1.000000
|
||||
0:143 1.000000
|
||||
0:143 1.000000
|
||||
0:144 direct index ( temp highp int)
|
||||
0:144 'outa' ( out 4-element array of highp int)
|
||||
0:144 Constant:
|
||||
0:144 1 (const int)
|
||||
0:145 direct index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:145 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:145 Constant:
|
||||
0:145 0 (const int)
|
||||
0:146 Function Call: outputtingOutparam(i1; ( global void)
|
||||
0:146 direct index ( temp highp int)
|
||||
0:146 'outa' ( out 4-element array of highp int)
|
||||
0:146 Constant:
|
||||
0:146 0 (const int)
|
||||
0:147 Function Call: outputtingOutparam(i1; ( global void)
|
||||
0:147 indirect index ( temp highp int)
|
||||
0:147 'outa' ( out 4-element array of highp int)
|
||||
0:147 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:148 move second child to first child ( temp highp float)
|
||||
0:148 f: direct index for structure ( out highp float)
|
||||
0:148 direct index ( patch temp block{ out highp float f})
|
||||
0:148 'patchIName' ( patch out 4-element array of block{ out highp float f})
|
||||
0:148 Constant:
|
||||
0:148 1 (const int)
|
||||
0:148 Constant:
|
||||
0:148 0 (const int)
|
||||
0:148 Constant:
|
||||
0:148 3.140000
|
||||
0:149 move second child to first child ( temp highp int)
|
||||
0:149 indirect index ( temp highp int)
|
||||
0:149 'outa' ( out 4-element array of highp int)
|
||||
0:149 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:149 Constant:
|
||||
0:149 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:? 'outa' ( out 4-element array of highp int)
|
||||
0:? 'patchIn' ( patch in highp 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out highp 4-component vector of float)
|
||||
0:? 'ina' ( in highp 2-component vector of float)
|
||||
0:? 'inb' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'inc' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'ind' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'implA' ( patch out implicitly-sized array of highp float)
|
||||
0:? 'ivla' (layout( location=3) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlb' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlc' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ovla' (layout( location=3) out 4-element array of highp 4-component vector of float)
|
||||
0:? 'ovlb' (layout( location=4) out 4-element array of highp 4-component vector of float)
|
||||
0:? 'ovlc' (layout( location=4) out 4-element array of highp 4-component vector of float)
|
||||
0:? 'pinbi' ( patch out block{ out highp int a})
|
||||
0:? 'myColor2' ( centroid out 4-element array of highp 3-component vector of float)
|
||||
0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float)
|
||||
0:? 'perSampleColor' ( sample out 4-element array of highp 4-component vector of float)
|
||||
0:? 'badlay' ( out 4-element array of highp float)
|
||||
0:? 'misSized' ( out 5-element array of highp float)
|
||||
0:? 'okaySize' ( out 4-element array of highp float)
|
||||
0:? 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:? 'badpatchIName' ( patch out implicitly-sized array of block{ out highp float f})
|
||||
0:? 'patchIName' ( patch out 4-element array of block{ out highp float f})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
||||
|
||||
Shader version: 320
|
||||
Requested GL_ARB_separate_shader_objects
|
||||
vertices = 4
|
||||
ERROR: node is still EOpNull!
|
||||
0:13 Function Definition: main( ( global void)
|
||||
0:13 Function Parameters:
|
||||
0:15 Sequence
|
||||
0:15 Barrier ( global void)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp highp int)
|
||||
0:17 'a' ( temp highp int)
|
||||
0:17 Constant:
|
||||
0:17 5392 (const int)
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:23 'p' ( temp highp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp highp float)
|
||||
0:24 'ps' ( temp highp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp highp float)
|
||||
0:25 'cd' ( temp highp float)
|
||||
0:25 Constant:
|
||||
0:25 0.000000
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child ( temp highp int)
|
||||
0:27 'pvi' ( temp highp int)
|
||||
0:27 'gl_PatchVerticesIn' ( in highp int PatchVertices)
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child ( temp highp int)
|
||||
0:28 'pid' ( temp highp int)
|
||||
0:28 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child ( temp highp int)
|
||||
0:29 'iid' ( temp highp int)
|
||||
0:29 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:31 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure ( out highp 4-component vector of float Position)
|
||||
0:31 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:31 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:31 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' ( temp highp 4-component vector of float)
|
||||
0:32 move second child to first child ( temp highp float)
|
||||
0:32 gl_PointSize: direct index for structure ( out highp float PointSize)
|
||||
0:32 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:32 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:32 'gl_InvocationID' ( in highp int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' ( temp highp float)
|
||||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 Constant:
|
||||
0:33 0.000000
|
||||
0:33 'cd' ( temp highp float)
|
||||
0:35 move second child to first child ( temp highp float)
|
||||
0:35 direct index ( patch temp highp float TessLevelOuter)
|
||||
0:35 'gl_TessLevelOuter' ( patch out 4-element array of highp float TessLevelOuter)
|
||||
0:35 Constant:
|
||||
0:35 3 (const int)
|
||||
0:35 Constant:
|
||||
0:35 3.200000
|
||||
0:36 move second child to first child ( temp highp float)
|
||||
0:36 direct index ( patch temp highp float TessLevelInner)
|
||||
0:36 'gl_TessLevelInner' ( patch out 2-element array of highp float TessLevelInner)
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
0:36 1.300000
|
||||
0:38 Test condition and select ( temp void)
|
||||
0:38 Condition
|
||||
0:38 Compare Greater Than ( temp bool)
|
||||
0:38 'a' ( temp highp int)
|
||||
0:38 Constant:
|
||||
0:38 10 (const int)
|
||||
0:38 true case
|
||||
0:39 Barrier ( global void)
|
||||
0:38 false case
|
||||
0:41 Barrier ( global void)
|
||||
0:43 Barrier ( global void)
|
||||
0:47 Loop with condition not tested first
|
||||
0:47 Loop Condition
|
||||
0:47 Compare Greater Than ( temp bool)
|
||||
0:47 'a' ( temp highp int)
|
||||
0:47 Constant:
|
||||
0:47 10 (const int)
|
||||
0:47 Loop Body
|
||||
0:46 Sequence
|
||||
0:46 Barrier ( global void)
|
||||
0:49 switch
|
||||
0:49 condition
|
||||
0:49 'a' ( temp highp int)
|
||||
0:49 body
|
||||
0:49 Sequence
|
||||
0:50 default:
|
||||
0:? Sequence
|
||||
0:51 Barrier ( global void)
|
||||
0:52 Branch: Break
|
||||
0:54 Test condition and select ( temp highp int)
|
||||
0:54 Condition
|
||||
0:54 Compare Less Than ( temp bool)
|
||||
0:54 'a' ( temp highp int)
|
||||
0:54 Constant:
|
||||
0:54 12 (const int)
|
||||
0:54 true case
|
||||
0:54 'a' ( temp highp int)
|
||||
0:54 false case
|
||||
0:54 Comma ( temp highp int)
|
||||
0:54 Barrier ( global void)
|
||||
0:54 'a' ( temp highp int)
|
||||
0:56 Sequence
|
||||
0:56 Barrier ( global void)
|
||||
0:59 Branch: Return
|
||||
0:61 Barrier ( global void)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:? 'outa' ( out 4-element array of highp int)
|
||||
0:? 'patchIn' ( patch in highp 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out highp 4-component vector of float)
|
||||
0:? 'ina' ( in highp 2-component vector of float)
|
||||
0:? 'inb' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'inc' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'ind' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'implA' ( patch out 1-element array of highp float)
|
||||
0:? 'ivla' (layout( location=3) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlb' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlc' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ovla' (layout( location=3) out 4-element array of highp 4-component vector of float)
|
||||
0:? 'ovlb' (layout( location=4) out 4-element array of highp 4-component vector of float)
|
||||
0:? 'ovlc' (layout( location=4) out 4-element array of highp 4-component vector of float)
|
||||
0:? 'pinbi' ( patch out block{ out highp int a})
|
||||
0:? 'myColor2' ( centroid out 4-element array of highp 3-component vector of float)
|
||||
0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float)
|
||||
0:? 'perSampleColor' ( sample out 4-element array of highp 4-component vector of float)
|
||||
0:? 'badlay' ( out 4-element array of highp float)
|
||||
0:? 'misSized' ( out 5-element array of highp float)
|
||||
0:? 'okaySize' ( out 4-element array of highp float)
|
||||
0:? 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:? 'badpatchIName' ( patch out 1-element array of block{ out highp float f})
|
||||
0:? 'patchIName' ( patch out 4-element array of block{ out highp float f})
|
||||
|
276
Test/baseResults/320.tese.out
Executable file
276
Test/baseResults/320.tese.out
Executable file
@ -0,0 +1,276 @@
|
||||
320.tese
|
||||
ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
|
||||
ERROR: 0:5: 'triangles' : cannot change previously set input primitive
|
||||
ERROR: 0:6: 'isolines' : cannot change previously set input primitive
|
||||
ERROR: 0:8: 'ccw' : cannot change previously set vertex order
|
||||
ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
|
||||
ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
|
||||
ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
|
||||
ERROR: 0:22: 'barrier' : no matching overloaded function found
|
||||
ERROR: 0:33: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_tessellation_point_size
|
||||
GL_OES_tessellation_point_size
|
||||
ERROR: 0:34: 'gl_ClipDistance' : no such field in structure
|
||||
ERROR: 0:34: 'expression' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:43: 'gl_PointSize' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_tessellation_point_size
|
||||
GL_OES_tessellation_point_size
|
||||
ERROR: 0:44: 'gl_ClipDistance' : undeclared identifier
|
||||
ERROR: 0:44: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:44: 'assign' : l-value required (can't modify a const)
|
||||
ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:49: 'noperspective' : Reserved word.
|
||||
ERROR: 0:49: 'noperspective' : not supported with this profile: es
|
||||
ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
|
||||
ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:64: 'quads' : cannot apply to 'out'
|
||||
ERROR: 0:64: 'cw' : can only apply to 'in'
|
||||
ERROR: 0:65: 'triangles' : cannot apply to 'out'
|
||||
ERROR: 0:66: 'isolines' : cannot apply to 'out'
|
||||
ERROR: 0:67: 'cw' : can only apply to 'in'
|
||||
ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
|
||||
ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
|
||||
ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
|
||||
ERROR: 0:71: 'point_mode' : can only apply to 'in'
|
||||
ERROR: 0:73: 'in' : type must be an array: ina
|
||||
ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
|
||||
ERROR: 0:78: 'in' : type must be an array: bla
|
||||
ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
|
||||
ERROR: 0:96: 'location' : overlapping use of location 24
|
||||
ERROR: 0:99: 'location' : overlapping use of location 24
|
||||
ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
|
||||
ERROR: 0:113: 'gl_BoundingBoxOES' : undeclared identifier
|
||||
ERROR: 40 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 320
|
||||
Requested GL_ARB_separate_shader_objects
|
||||
input primitive = quads
|
||||
vertex spacing = fractional_odd_spacing
|
||||
triangle order = cw
|
||||
using point mode
|
||||
ERROR: node is still EOpNull!
|
||||
0:20 Function Definition: main( ( global void)
|
||||
0:20 Function Parameters:
|
||||
0:22 Sequence
|
||||
0:22 Constant:
|
||||
0:22 0.000000
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp highp int)
|
||||
0:24 'a' ( temp highp int)
|
||||
0:24 Constant:
|
||||
0:24 1512 (const int)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:32 'p' ( temp highp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 'ps' ( temp highp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child ( temp highp float)
|
||||
0:34 'cd' ( temp highp float)
|
||||
0:34 Constant:
|
||||
0:34 0.000000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child ( temp highp int)
|
||||
0:36 'pvi' ( temp highp int)
|
||||
0:36 'gl_PatchVerticesIn' ( in highp int PatchVertices)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp highp int)
|
||||
0:37 'pid' ( temp highp int)
|
||||
0:37 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child ( temp highp 3-component vector of float)
|
||||
0:38 'tc' ( temp highp 3-component vector of float)
|
||||
0:38 'gl_TessCoord' ( in highp 3-component vector of float TessCoord)
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child ( temp highp float)
|
||||
0:39 'tlo' ( temp highp float)
|
||||
0:39 direct index ( patch temp highp float TessLevelOuter)
|
||||
0:39 'gl_TessLevelOuter' ( patch in 4-element array of highp float TessLevelOuter)
|
||||
0:39 Constant:
|
||||
0:39 3 (const int)
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child ( temp highp float)
|
||||
0:40 'tli' ( temp highp float)
|
||||
0:40 direct index ( patch temp highp float TessLevelInner)
|
||||
0:40 'gl_TessLevelInner' ( patch in 2-element array of highp float TessLevelInner)
|
||||
0:40 Constant:
|
||||
0:40 1 (const int)
|
||||
0:42 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:42 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:42 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'p' ( temp highp 4-component vector of float)
|
||||
0:43 move second child to first child ( temp highp float)
|
||||
0:43 gl_PointSize: direct index for structure ( gl_PointSize highp float PointSize)
|
||||
0:43 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:43 Constant:
|
||||
0:43 1 (const uint)
|
||||
0:43 'ps' ( temp highp float)
|
||||
0:44 move second child to first child ( temp highp float)
|
||||
0:44 Constant:
|
||||
0:44 0.000000
|
||||
0:44 'cd' ( temp highp float)
|
||||
0:111 Function Definition: bbbad( ( global void)
|
||||
0:111 Function Parameters:
|
||||
0:113 Sequence
|
||||
0:113 'gl_BoundingBoxOES' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'patchIn' ( patch in highp 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out highp 4-component vector of float)
|
||||
0:? 'badp1' ( smooth patch in highp 4-component vector of float)
|
||||
0:? 'badp2' ( flat patch in highp 4-component vector of float)
|
||||
0:? 'badp3' ( noperspective patch in highp 4-component vector of float)
|
||||
0:? 'badp4' ( patch sample in highp 3-component vector of float)
|
||||
0:? 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position})
|
||||
0:? 'ina' ( in highp 2-component vector of float)
|
||||
0:? 'inb' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'inc' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'ind' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'bla' ( in block{ in highp int f})
|
||||
0:? 'blb' ( in 32-element array of block{ in highp int f})
|
||||
0:? 'blc' ( in 32-element array of block{ in highp int f})
|
||||
0:? 'bld' ( in 32-element array of block{ in highp int f})
|
||||
0:? 'ivla' (layout( location=23) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlb' (layout( location=24) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlc' (layout( location=24) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ovla' (layout( location=23) out 2-element array of highp 4-component vector of float)
|
||||
0:? 'ovlb' (layout( location=24) out 2-element array of highp 4-component vector of float)
|
||||
0:? 'pinbi' ( patch in block{ in highp int a})
|
||||
0:? 'myColor2' ( centroid out highp 3-component vector of float)
|
||||
0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float)
|
||||
0:? 'perSampleColor' ( sample out highp 4-component vector of float)
|
||||
|
||||
|
||||
Linked tessellation evaluation stage:
|
||||
|
||||
|
||||
Shader version: 320
|
||||
Requested GL_ARB_separate_shader_objects
|
||||
input primitive = quads
|
||||
vertex spacing = fractional_odd_spacing
|
||||
triangle order = cw
|
||||
using point mode
|
||||
ERROR: node is still EOpNull!
|
||||
0:20 Function Definition: main( ( global void)
|
||||
0:20 Function Parameters:
|
||||
0:22 Sequence
|
||||
0:22 Constant:
|
||||
0:22 0.000000
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp highp int)
|
||||
0:24 'a' ( temp highp int)
|
||||
0:24 Constant:
|
||||
0:24 1512 (const int)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:32 'p' ( temp highp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 'ps' ( temp highp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child ( temp highp float)
|
||||
0:34 'cd' ( temp highp float)
|
||||
0:34 Constant:
|
||||
0:34 0.000000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child ( temp highp int)
|
||||
0:36 'pvi' ( temp highp int)
|
||||
0:36 'gl_PatchVerticesIn' ( in highp int PatchVertices)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp highp int)
|
||||
0:37 'pid' ( temp highp int)
|
||||
0:37 'gl_PrimitiveID' ( in highp int PrimitiveID)
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child ( temp highp 3-component vector of float)
|
||||
0:38 'tc' ( temp highp 3-component vector of float)
|
||||
0:38 'gl_TessCoord' ( in highp 3-component vector of float TessCoord)
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child ( temp highp float)
|
||||
0:39 'tlo' ( temp highp float)
|
||||
0:39 direct index ( patch temp highp float TessLevelOuter)
|
||||
0:39 'gl_TessLevelOuter' ( patch in 4-element array of highp float TessLevelOuter)
|
||||
0:39 Constant:
|
||||
0:39 3 (const int)
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child ( temp highp float)
|
||||
0:40 'tli' ( temp highp float)
|
||||
0:40 direct index ( patch temp highp float TessLevelInner)
|
||||
0:40 'gl_TessLevelInner' ( patch in 2-element array of highp float TessLevelInner)
|
||||
0:40 Constant:
|
||||
0:40 1 (const int)
|
||||
0:42 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:42 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:42 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'p' ( temp highp 4-component vector of float)
|
||||
0:43 move second child to first child ( temp highp float)
|
||||
0:43 gl_PointSize: direct index for structure ( gl_PointSize highp float PointSize)
|
||||
0:43 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
|
||||
0:43 Constant:
|
||||
0:43 1 (const uint)
|
||||
0:43 'ps' ( temp highp float)
|
||||
0:44 move second child to first child ( temp highp float)
|
||||
0:44 Constant:
|
||||
0:44 0.000000
|
||||
0:44 'cd' ( temp highp float)
|
||||
0:? Linker Objects
|
||||
0:? 'patchIn' ( patch in highp 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out highp 4-component vector of float)
|
||||
0:? 'badp1' ( smooth patch in highp 4-component vector of float)
|
||||
0:? 'badp2' ( flat patch in highp 4-component vector of float)
|
||||
0:? 'badp3' ( noperspective patch in highp 4-component vector of float)
|
||||
0:? 'badp4' ( patch sample in highp 3-component vector of float)
|
||||
0:? 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position})
|
||||
0:? 'ina' ( in highp 2-component vector of float)
|
||||
0:? 'inb' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'inc' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'ind' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'bla' ( in block{ in highp int f})
|
||||
0:? 'blb' ( in 32-element array of block{ in highp int f})
|
||||
0:? 'blc' ( in 32-element array of block{ in highp int f})
|
||||
0:? 'bld' ( in 32-element array of block{ in highp int f})
|
||||
0:? 'ivla' (layout( location=23) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlb' (layout( location=24) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlc' (layout( location=24) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ovla' (layout( location=23) out 2-element array of highp 4-component vector of float)
|
||||
0:? 'ovlb' (layout( location=24) out 2-element array of highp 4-component vector of float)
|
||||
0:? 'pinbi' ( patch in block{ in highp int a})
|
||||
0:? 'myColor2' ( centroid out highp 3-component vector of float)
|
||||
0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float)
|
||||
0:? 'perSampleColor' ( sample out highp 4-component vector of float)
|
||||
|
797
Test/baseResults/320.vert.out
Executable file
797
Test/baseResults/320.vert.out
Executable file
@ -0,0 +1,797 @@
|
||||
320.vert
|
||||
ERROR: 0:6: 's' : member of block cannot be or contain a sampler, image, or atomic_uint type
|
||||
ERROR: 0:14: 'location' : overlapping use of location 12
|
||||
ERROR: 0:16: 'input block' : not supported in this stage: vertex
|
||||
ERROR: 0:18: 'gl_PerVertex' : block redeclaration has extra members
|
||||
ERROR: 0:28: 'gl_PointSize' : member of nameless block was not redeclared
|
||||
ERROR: 0:28: 'assign' : cannot convert from ' const float' to ' gl_PointSize highp void PointSize'
|
||||
ERROR: 0:31: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:36: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
|
||||
ERROR: 0:40: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
|
||||
ERROR: 0:44: 'centroid' : cannot use centroid qualifier on an interface block
|
||||
ERROR: 0:48: 'invariant' : cannot use invariant qualifier on an interface block
|
||||
ERROR: 0:68: 'variable indexing buffer block array' : not supported with this profile: es
|
||||
ERROR: 0:73: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
|
||||
ERROR: 0:76: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:77: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:78: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:79: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:80: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:81: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:116: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:117: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:118: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:120: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:121: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:122: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:123: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:191: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:192: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:193: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:211: 'textureSize' : no matching overloaded function found
|
||||
ERROR: 0:211: '=' : cannot convert from ' const float' to ' temp highp 3-component vector of int'
|
||||
ERROR: 0:252: 'interpolateAtCentroid' : no matching overloaded function found
|
||||
ERROR: 0:253: 'interpolateAtSample' : no matching overloaded function found
|
||||
ERROR: 0:254: 'interpolateAtOffset' : no matching overloaded function found
|
||||
ERROR: 34 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 320
|
||||
ERROR: node is still EOpNull!
|
||||
0:23 Function Definition: main( ( global void)
|
||||
0:23 Function Parameters:
|
||||
0:25 Sequence
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp highp int)
|
||||
0:25 'sum' ( temp highp int)
|
||||
0:25 add ( temp highp int)
|
||||
0:25 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
0:27 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:27 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:27 Constant:
|
||||
0:27 0 (const uint)
|
||||
0:27 Constant:
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
|
||||
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:28 Constant:
|
||||
0:28 1 (const uint)
|
||||
0:62 Function Definition: pfoo( ( global void)
|
||||
0:62 Function Parameters:
|
||||
0:? Sequence
|
||||
0:65 move second child to first child ( temp highp 2-component vector of float)
|
||||
0:65 'h' ( noContraction temp highp 2-component vector of float)
|
||||
0:65 fma ( global highp 2-component vector of float)
|
||||
0:65 'inf' ( in highp 2-component vector of float)
|
||||
0:65 'ing' ( in highp 2-component vector of float)
|
||||
0:65 'h' ( noContraction temp highp 2-component vector of float)
|
||||
0:66 indirect index ( temp lowp sampler2D)
|
||||
0:66 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:66 add ( temp highp int)
|
||||
0:66 'sIndex' ( uniform highp int)
|
||||
0:66 Constant:
|
||||
0:66 1 (const int)
|
||||
0:67 indirect index (layout( column_major shared) temp block{layout( column_major shared) uniform highp int i})
|
||||
0:67 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i})
|
||||
0:67 add ( temp highp int)
|
||||
0:67 'sIndex' ( uniform highp int)
|
||||
0:67 Constant:
|
||||
0:67 1 (const int)
|
||||
0:68 indirect index (layout( column_major shared) temp block{layout( column_major shared) buffer highp int i})
|
||||
0:68 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i})
|
||||
0:68 subtract ( temp highp int)
|
||||
0:68 'sIndex' ( uniform highp int)
|
||||
0:68 Constant:
|
||||
0:68 2 (const int)
|
||||
0:69 direct index ( writeonly temp highp image2D)
|
||||
0:69 'iArray' ( writeonly uniform 5-element array of highp image2D)
|
||||
0:69 Constant:
|
||||
0:69 2 (const int)
|
||||
0:70 indirect index ( writeonly temp highp image2D)
|
||||
0:70 'iArray' ( writeonly uniform 5-element array of highp image2D)
|
||||
0:70 subtract ( temp highp int)
|
||||
0:70 'sIndex' ( uniform highp int)
|
||||
0:70 Constant:
|
||||
0:70 2 (const int)
|
||||
0:71 textureGatherOffset ( global lowp 4-component vector of float)
|
||||
0:71 direct index ( temp lowp sampler2D)
|
||||
0:71 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:71 Constant:
|
||||
0:71 0 (const int)
|
||||
0:71 Constant:
|
||||
0:71 0.100000
|
||||
0:71 0.100000
|
||||
0:71 Convert float to int ( temp lowp 2-component vector of int)
|
||||
0:71 'inf' ( in highp 2-component vector of float)
|
||||
0:72 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
|
||||
0:72 direct index ( temp lowp sampler2D)
|
||||
0:72 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:72 Constant:
|
||||
0:72 0 (const int)
|
||||
0:72 Constant:
|
||||
0:72 0.100000
|
||||
0:72 0.100000
|
||||
0:72 Constant:
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:72 0 (const int)
|
||||
0:73 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
|
||||
0:73 direct index ( temp lowp sampler2D)
|
||||
0:73 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:73 Constant:
|
||||
0:73 0 (const int)
|
||||
0:73 Constant:
|
||||
0:73 0.100000
|
||||
0:73 0.100000
|
||||
0:73 'offsets' ( uniform 4-element array of highp 2-component vector of int)
|
||||
0:101 Function Definition: bufferT( ( global void)
|
||||
0:101 Function Parameters:
|
||||
0:103 Sequence
|
||||
0:103 Sequence
|
||||
0:103 move second child to first child ( temp highp int)
|
||||
0:103 's1' ( temp highp int)
|
||||
0:103 textureSize ( global highp int)
|
||||
0:103 'bufSamp1' ( uniform highp samplerBuffer)
|
||||
0:104 Sequence
|
||||
0:104 move second child to first child ( temp highp int)
|
||||
0:104 's2' ( temp highp int)
|
||||
0:104 textureSize ( global highp int)
|
||||
0:104 'bufSamp2' ( uniform highp isamplerBuffer)
|
||||
0:105 Sequence
|
||||
0:105 move second child to first child ( temp highp int)
|
||||
0:105 's3' ( temp highp int)
|
||||
0:105 textureSize ( global highp int)
|
||||
0:105 'bufSamp3' ( uniform highp usamplerBuffer)
|
||||
0:107 Sequence
|
||||
0:107 move second child to first child ( temp highp int)
|
||||
0:107 's4' ( temp highp int)
|
||||
0:107 imageQuerySize ( global highp int)
|
||||
0:107 'bufSamp4' ( writeonly uniform highp imageBuffer)
|
||||
0:108 Sequence
|
||||
0:108 move second child to first child ( temp highp int)
|
||||
0:108 's5' ( temp highp int)
|
||||
0:108 imageQuerySize ( global highp int)
|
||||
0:108 'bufSamp5' ( writeonly uniform highp iimageBuffer)
|
||||
0:109 Sequence
|
||||
0:109 move second child to first child ( temp highp int)
|
||||
0:109 's6' ( temp highp int)
|
||||
0:109 imageQuerySize ( global highp int)
|
||||
0:109 'bufSamp6' ( writeonly uniform highp uimageBuffer)
|
||||
0:111 Sequence
|
||||
0:111 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:111 'f1' ( temp highp 4-component vector of float)
|
||||
0:111 textureFetch ( global highp 4-component vector of float)
|
||||
0:111 'bufSamp1' ( uniform highp samplerBuffer)
|
||||
0:111 's1' ( temp highp int)
|
||||
0:112 Sequence
|
||||
0:112 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:112 'f2' ( temp highp 4-component vector of int)
|
||||
0:112 textureFetch ( global highp 4-component vector of int)
|
||||
0:112 'bufSamp2' ( uniform highp isamplerBuffer)
|
||||
0:112 's2' ( temp highp int)
|
||||
0:113 Sequence
|
||||
0:113 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:113 'f3' ( temp highp 4-component vector of uint)
|
||||
0:113 textureFetch ( global highp 4-component vector of uint)
|
||||
0:113 'bufSamp3' ( uniform highp usamplerBuffer)
|
||||
0:113 's3' ( temp highp int)
|
||||
0:149 Function Definition: CAT( ( global void)
|
||||
0:149 Function Parameters:
|
||||
0:151 Sequence
|
||||
0:151 Sequence
|
||||
0:151 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:151 's4' ( temp highp 3-component vector of int)
|
||||
0:151 textureSize ( global highp 3-component vector of int)
|
||||
0:151 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:151 Constant:
|
||||
0:151 1 (const int)
|
||||
0:152 Sequence
|
||||
0:152 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:152 's5' ( temp highp 3-component vector of int)
|
||||
0:152 textureSize ( global highp 3-component vector of int)
|
||||
0:152 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:152 Constant:
|
||||
0:152 1 (const int)
|
||||
0:153 Sequence
|
||||
0:153 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:153 's6' ( temp highp 3-component vector of int)
|
||||
0:153 textureSize ( global highp 3-component vector of int)
|
||||
0:153 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:153 Constant:
|
||||
0:153 1 (const int)
|
||||
0:154 Sequence
|
||||
0:154 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:154 's7' ( temp highp 3-component vector of int)
|
||||
0:154 textureSize ( global highp 3-component vector of int)
|
||||
0:154 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:154 Constant:
|
||||
0:154 1 (const int)
|
||||
0:156 Sequence
|
||||
0:156 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:156 't4' ( temp highp 4-component vector of float)
|
||||
0:156 texture ( global highp 4-component vector of float)
|
||||
0:156 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:156 Constant:
|
||||
0:156 0.500000
|
||||
0:156 0.500000
|
||||
0:156 0.500000
|
||||
0:156 0.500000
|
||||
0:157 Sequence
|
||||
0:157 move second child to first child ( temp highp float)
|
||||
0:157 't5' ( temp highp float)
|
||||
0:157 texture ( global highp float)
|
||||
0:157 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:157 Constant:
|
||||
0:157 0.500000
|
||||
0:157 0.500000
|
||||
0:157 0.500000
|
||||
0:157 0.500000
|
||||
0:157 Constant:
|
||||
0:157 3.000000
|
||||
0:158 Sequence
|
||||
0:158 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:158 't6' ( temp highp 4-component vector of int)
|
||||
0:158 texture ( global highp 4-component vector of int)
|
||||
0:158 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:158 Constant:
|
||||
0:158 0.500000
|
||||
0:158 0.500000
|
||||
0:158 0.500000
|
||||
0:158 0.500000
|
||||
0:159 Sequence
|
||||
0:159 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:159 't7' ( temp highp 4-component vector of uint)
|
||||
0:159 texture ( global highp 4-component vector of uint)
|
||||
0:159 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:159 Constant:
|
||||
0:159 0.500000
|
||||
0:159 0.500000
|
||||
0:159 0.500000
|
||||
0:159 0.500000
|
||||
0:161 Sequence
|
||||
0:161 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:161 'L4' ( temp highp 4-component vector of float)
|
||||
0:161 textureLod ( global highp 4-component vector of float)
|
||||
0:161 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:161 Constant:
|
||||
0:161 0.500000
|
||||
0:161 0.500000
|
||||
0:161 0.500000
|
||||
0:161 0.500000
|
||||
0:161 Constant:
|
||||
0:161 0.240000
|
||||
0:162 Sequence
|
||||
0:162 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:162 'L6' ( temp highp 4-component vector of int)
|
||||
0:162 textureLod ( global highp 4-component vector of int)
|
||||
0:162 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:162 Constant:
|
||||
0:162 0.500000
|
||||
0:162 0.500000
|
||||
0:162 0.500000
|
||||
0:162 0.500000
|
||||
0:162 Constant:
|
||||
0:162 0.260000
|
||||
0:163 Sequence
|
||||
0:163 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:163 'L7' ( temp highp 4-component vector of uint)
|
||||
0:163 textureLod ( global highp 4-component vector of uint)
|
||||
0:163 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:163 Constant:
|
||||
0:163 0.500000
|
||||
0:163 0.500000
|
||||
0:163 0.500000
|
||||
0:163 0.500000
|
||||
0:163 Constant:
|
||||
0:163 0.270000
|
||||
0:165 Sequence
|
||||
0:165 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:165 'g4' ( temp highp 4-component vector of float)
|
||||
0:165 textureGrad ( global highp 4-component vector of float)
|
||||
0:165 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:165 Constant:
|
||||
0:165 0.500000
|
||||
0:165 0.500000
|
||||
0:165 0.500000
|
||||
0:165 0.500000
|
||||
0:165 Constant:
|
||||
0:165 0.100000
|
||||
0:165 0.100000
|
||||
0:165 0.100000
|
||||
0:165 Constant:
|
||||
0:165 0.200000
|
||||
0:165 0.200000
|
||||
0:165 0.200000
|
||||
0:166 Sequence
|
||||
0:166 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:166 'g6' ( temp highp 4-component vector of int)
|
||||
0:166 textureGrad ( global highp 4-component vector of int)
|
||||
0:166 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:166 Constant:
|
||||
0:166 0.500000
|
||||
0:166 0.500000
|
||||
0:166 0.500000
|
||||
0:166 0.500000
|
||||
0:166 Constant:
|
||||
0:166 0.100000
|
||||
0:166 0.100000
|
||||
0:166 0.100000
|
||||
0:166 Constant:
|
||||
0:166 0.200000
|
||||
0:166 0.200000
|
||||
0:166 0.200000
|
||||
0:167 Sequence
|
||||
0:167 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:167 'g7' ( temp highp 4-component vector of uint)
|
||||
0:167 textureGrad ( global highp 4-component vector of uint)
|
||||
0:167 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:167 Constant:
|
||||
0:167 0.500000
|
||||
0:167 0.500000
|
||||
0:167 0.500000
|
||||
0:167 0.500000
|
||||
0:167 Constant:
|
||||
0:167 0.100000
|
||||
0:167 0.100000
|
||||
0:167 0.100000
|
||||
0:167 Constant:
|
||||
0:167 0.200000
|
||||
0:167 0.200000
|
||||
0:167 0.200000
|
||||
0:169 Sequence
|
||||
0:169 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:169 'gath4' ( temp highp 4-component vector of float)
|
||||
0:169 textureGather ( global highp 4-component vector of float)
|
||||
0:169 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:169 Constant:
|
||||
0:169 0.500000
|
||||
0:169 0.500000
|
||||
0:169 0.500000
|
||||
0:169 0.500000
|
||||
0:170 Sequence
|
||||
0:170 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:170 'gathC4' ( temp highp 4-component vector of float)
|
||||
0:170 textureGather ( global highp 4-component vector of float)
|
||||
0:170 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:170 Constant:
|
||||
0:170 0.500000
|
||||
0:170 0.500000
|
||||
0:170 0.500000
|
||||
0:170 0.500000
|
||||
0:170 Constant:
|
||||
0:170 2 (const int)
|
||||
0:171 Sequence
|
||||
0:171 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:171 'gath6' ( temp highp 4-component vector of int)
|
||||
0:171 textureGather ( global highp 4-component vector of int)
|
||||
0:171 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:171 Constant:
|
||||
0:171 0.500000
|
||||
0:171 0.500000
|
||||
0:171 0.500000
|
||||
0:171 0.500000
|
||||
0:172 Sequence
|
||||
0:172 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:172 'gathC6' ( temp highp 4-component vector of int)
|
||||
0:172 textureGather ( global highp 4-component vector of int)
|
||||
0:172 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:172 Constant:
|
||||
0:172 0.500000
|
||||
0:172 0.500000
|
||||
0:172 0.500000
|
||||
0:172 0.500000
|
||||
0:172 Constant:
|
||||
0:172 1 (const int)
|
||||
0:173 Sequence
|
||||
0:173 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:173 'gath7' ( temp highp 4-component vector of uint)
|
||||
0:173 textureGather ( global highp 4-component vector of uint)
|
||||
0:173 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:173 Constant:
|
||||
0:173 0.500000
|
||||
0:173 0.500000
|
||||
0:173 0.500000
|
||||
0:173 0.500000
|
||||
0:174 Sequence
|
||||
0:174 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:174 'gathC7' ( temp highp 4-component vector of uint)
|
||||
0:174 textureGather ( global highp 4-component vector of uint)
|
||||
0:174 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:174 Constant:
|
||||
0:174 0.500000
|
||||
0:174 0.500000
|
||||
0:174 0.500000
|
||||
0:174 0.500000
|
||||
0:174 Constant:
|
||||
0:174 0 (const int)
|
||||
0:176 Sequence
|
||||
0:176 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:176 'gath5' ( temp highp 4-component vector of float)
|
||||
0:176 textureGather ( global highp 4-component vector of float)
|
||||
0:176 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:176 Constant:
|
||||
0:176 0.500000
|
||||
0:176 0.500000
|
||||
0:176 0.500000
|
||||
0:176 0.500000
|
||||
0:176 Constant:
|
||||
0:176 2.500000
|
||||
0:178 Sequence
|
||||
0:178 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:178 's1' ( temp highp 3-component vector of int)
|
||||
0:178 imageQuerySize ( global highp 3-component vector of int)
|
||||
0:178 'CA1' ( writeonly uniform highp imageCubeArray)
|
||||
0:179 Sequence
|
||||
0:179 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:179 's2' ( temp highp 3-component vector of int)
|
||||
0:179 imageQuerySize ( global highp 3-component vector of int)
|
||||
0:179 'CA2' ( writeonly uniform highp iimageCubeArray)
|
||||
0:180 Sequence
|
||||
0:180 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:180 's3' ( temp highp 3-component vector of int)
|
||||
0:180 imageQuerySize ( global highp 3-component vector of int)
|
||||
0:180 'CA3' ( writeonly uniform highp uimageCubeArray)
|
||||
0:182 imageStore ( global highp void)
|
||||
0:182 'CA1' ( writeonly uniform highp imageCubeArray)
|
||||
0:182 's3' ( temp highp 3-component vector of int)
|
||||
0:182 Constant:
|
||||
0:182 1.000000
|
||||
0:182 1.000000
|
||||
0:182 1.000000
|
||||
0:182 1.000000
|
||||
0:183 imageStore ( global highp void)
|
||||
0:183 'CA2' ( writeonly uniform highp iimageCubeArray)
|
||||
0:183 's3' ( temp highp 3-component vector of int)
|
||||
0:183 Constant:
|
||||
0:183 1 (const int)
|
||||
0:183 1 (const int)
|
||||
0:183 1 (const int)
|
||||
0:183 1 (const int)
|
||||
0:184 imageStore ( global highp void)
|
||||
0:184 'CA3' ( writeonly uniform highp uimageCubeArray)
|
||||
0:184 's3' ( temp highp 3-component vector of int)
|
||||
0:184 Constant:
|
||||
0:184 1 (const uint)
|
||||
0:184 1 (const uint)
|
||||
0:184 1 (const uint)
|
||||
0:184 1 (const uint)
|
||||
0:186 Sequence
|
||||
0:186 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:186 'cl1' ( temp highp 4-component vector of float)
|
||||
0:186 imageLoad ( global highp 4-component vector of float)
|
||||
0:186 'rCA1' (layout( rgba16f) readonly uniform highp imageCubeArray)
|
||||
0:186 's3' ( temp highp 3-component vector of int)
|
||||
0:187 Sequence
|
||||
0:187 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:187 'cl2' ( temp highp 4-component vector of int)
|
||||
0:187 imageLoad ( global highp 4-component vector of int)
|
||||
0:187 'rCA2' (layout( rgba32i) readonly uniform highp iimageCubeArray)
|
||||
0:187 's3' ( temp highp 3-component vector of int)
|
||||
0:188 Sequence
|
||||
0:188 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:188 'cl3' ( temp highp 4-component vector of uint)
|
||||
0:188 imageLoad ( global highp 4-component vector of uint)
|
||||
0:188 'rCA3' (layout( r32ui) readonly uniform highp uimageCubeArray)
|
||||
0:188 's3' ( temp highp 3-component vector of int)
|
||||
0:203 Function Definition: MSA( ( global void)
|
||||
0:203 Function Parameters:
|
||||
0:205 Sequence
|
||||
0:205 Sequence
|
||||
0:205 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:205 'tf' ( temp highp 4-component vector of float)
|
||||
0:205 textureFetch ( global highp 4-component vector of float)
|
||||
0:205 'samp2DMSA' ( uniform highp sampler2DMSArray)
|
||||
0:205 Constant:
|
||||
0:205 5 (const int)
|
||||
0:205 5 (const int)
|
||||
0:205 5 (const int)
|
||||
0:205 Constant:
|
||||
0:205 2 (const int)
|
||||
0:206 Sequence
|
||||
0:206 move second child to first child ( temp highp 4-component vector of int)
|
||||
0:206 'tfi' ( temp highp 4-component vector of int)
|
||||
0:206 textureFetch ( global highp 4-component vector of int)
|
||||
0:206 'samp2DMSAi' ( uniform highp isampler2DMSArray)
|
||||
0:206 Constant:
|
||||
0:206 5 (const int)
|
||||
0:206 5 (const int)
|
||||
0:206 5 (const int)
|
||||
0:206 Constant:
|
||||
0:206 2 (const int)
|
||||
0:207 Sequence
|
||||
0:207 move second child to first child ( temp highp 4-component vector of uint)
|
||||
0:207 'tfu' ( temp highp 4-component vector of uint)
|
||||
0:207 textureFetch ( global highp 4-component vector of uint)
|
||||
0:207 'samp2DMSAu' ( uniform highp usampler2DMSArray)
|
||||
0:207 Constant:
|
||||
0:207 5 (const int)
|
||||
0:207 5 (const int)
|
||||
0:207 5 (const int)
|
||||
0:207 Constant:
|
||||
0:207 2 (const int)
|
||||
0:209 Sequence
|
||||
0:209 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:209 'tfs' ( temp highp 3-component vector of int)
|
||||
0:209 textureSize ( global highp 3-component vector of int)
|
||||
0:209 'samp2DMSA' ( uniform highp sampler2DMSArray)
|
||||
0:210 Sequence
|
||||
0:210 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:210 'tfsi' ( temp highp 3-component vector of int)
|
||||
0:210 textureSize ( global highp 3-component vector of int)
|
||||
0:210 'samp2DMSAi' ( uniform highp isampler2DMSArray)
|
||||
0:212 Sequence
|
||||
0:212 move second child to first child ( temp highp 3-component vector of int)
|
||||
0:212 'tfsu' ( temp highp 3-component vector of int)
|
||||
0:212 textureSize ( global highp 3-component vector of int)
|
||||
0:212 'samp2DMSAu' ( uniform highp usampler2DMSArray)
|
||||
0:220 Function Definition: goodImageAtom( ( global void)
|
||||
0:220 Function Parameters:
|
||||
0:? Sequence
|
||||
0:226 imageAtomicAdd ( global highp int)
|
||||
0:226 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:226 'P' ( uniform highp 2-component vector of int)
|
||||
0:226 'dati' ( temp highp int)
|
||||
0:227 imageAtomicAdd ( global highp uint)
|
||||
0:227 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:227 'P' ( uniform highp 2-component vector of int)
|
||||
0:227 'datu' ( temp highp uint)
|
||||
0:228 imageAtomicMin ( global highp int)
|
||||
0:228 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:228 'P' ( uniform highp 2-component vector of int)
|
||||
0:228 'dati' ( temp highp int)
|
||||
0:229 imageAtomicMin ( global highp uint)
|
||||
0:229 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:229 'P' ( uniform highp 2-component vector of int)
|
||||
0:229 'datu' ( temp highp uint)
|
||||
0:230 imageAtomicMax ( global highp int)
|
||||
0:230 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:230 'P' ( uniform highp 2-component vector of int)
|
||||
0:230 'dati' ( temp highp int)
|
||||
0:231 imageAtomicMax ( global highp uint)
|
||||
0:231 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:231 'P' ( uniform highp 2-component vector of int)
|
||||
0:231 'datu' ( temp highp uint)
|
||||
0:232 imageAtomicAnd ( global highp int)
|
||||
0:232 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:232 'P' ( uniform highp 2-component vector of int)
|
||||
0:232 'dati' ( temp highp int)
|
||||
0:233 imageAtomicAnd ( global highp uint)
|
||||
0:233 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:233 'P' ( uniform highp 2-component vector of int)
|
||||
0:233 'datu' ( temp highp uint)
|
||||
0:234 imageAtomicOr ( global highp int)
|
||||
0:234 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:234 'P' ( uniform highp 2-component vector of int)
|
||||
0:234 'dati' ( temp highp int)
|
||||
0:235 imageAtomicOr ( global highp uint)
|
||||
0:235 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:235 'P' ( uniform highp 2-component vector of int)
|
||||
0:235 'datu' ( temp highp uint)
|
||||
0:236 imageAtomicXor ( global highp int)
|
||||
0:236 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:236 'P' ( uniform highp 2-component vector of int)
|
||||
0:236 'dati' ( temp highp int)
|
||||
0:237 imageAtomicXor ( global highp uint)
|
||||
0:237 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:237 'P' ( uniform highp 2-component vector of int)
|
||||
0:237 'datu' ( temp highp uint)
|
||||
0:238 imageAtomicExchange ( global highp int)
|
||||
0:238 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:238 'P' ( uniform highp 2-component vector of int)
|
||||
0:238 'dati' ( temp highp int)
|
||||
0:239 imageAtomicExchange ( global highp uint)
|
||||
0:239 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:239 'P' ( uniform highp 2-component vector of int)
|
||||
0:239 'datu' ( temp highp uint)
|
||||
0:240 imageAtomicExchange ( global highp float)
|
||||
0:240 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:240 'P' ( uniform highp 2-component vector of int)
|
||||
0:240 'datf' ( temp highp float)
|
||||
0:241 imageAtomicCompSwap ( global highp int)
|
||||
0:241 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:241 'P' ( uniform highp 2-component vector of int)
|
||||
0:241 Constant:
|
||||
0:241 3 (const int)
|
||||
0:241 'dati' ( temp highp int)
|
||||
0:242 imageAtomicCompSwap ( global highp uint)
|
||||
0:242 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:242 'P' ( uniform highp 2-component vector of int)
|
||||
0:242 Constant:
|
||||
0:242 5 (const uint)
|
||||
0:242 'datu' ( temp highp uint)
|
||||
0:250 Function Definition: badInterp( ( global void)
|
||||
0:250 Function Parameters:
|
||||
0:252 Sequence
|
||||
0:252 Constant:
|
||||
0:252 0.000000
|
||||
0:253 Constant:
|
||||
0:253 0.000000
|
||||
0:254 Constant:
|
||||
0:254 0.000000
|
||||
0:? Linker Objects
|
||||
0:? 'outbinst' ( out block{ out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
|
||||
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=12) smooth out highp int)
|
||||
0:? 'inbinst' ( in block{ in highp int a})
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:? 'smon' ( smooth out block{ out highp int i})
|
||||
0:? 'fmon' ( flat out block{ out highp int i})
|
||||
0:? 'cmon' ( centroid out block{ out highp int i})
|
||||
0:? 'imon' ( invariant out block{ out highp int i})
|
||||
0:? 'inf' ( in highp 2-component vector of float)
|
||||
0:? 'ing' ( in highp 2-component vector of float)
|
||||
0:? 'offsets' ( uniform 4-element array of highp 2-component vector of int)
|
||||
0:? 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:? 'sIndex' ( uniform highp int)
|
||||
0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint)
|
||||
0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i})
|
||||
0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i})
|
||||
0:? 'iArray' ( writeonly uniform 5-element array of highp image2D)
|
||||
0:? 'constOffsets' ( const 4-element array of highp 2-component vector of int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 'noPreSamp1' ( uniform mediump samplerBuffer)
|
||||
0:? 'noPreSamp2' ( uniform mediump isamplerBuffer)
|
||||
0:? 'noPreSamp3' ( uniform mediump usamplerBuffer)
|
||||
0:? 'noPreSamp4' ( writeonly uniform mediump imageBuffer)
|
||||
0:? 'noPreSamp5' ( writeonly uniform mediump iimageBuffer)
|
||||
0:? 'noPreSamp6' ( writeonly uniform mediump uimageBuffer)
|
||||
0:? 'bufSamp1' ( uniform highp samplerBuffer)
|
||||
0:? 'bufSamp2' ( uniform highp isamplerBuffer)
|
||||
0:? 'bufSamp3' ( uniform highp usamplerBuffer)
|
||||
0:? 'bufSamp4' ( writeonly uniform highp imageBuffer)
|
||||
0:? 'bufSamp5' ( writeonly uniform highp iimageBuffer)
|
||||
0:? 'bufSamp6' ( writeonly uniform highp uimageBuffer)
|
||||
0:? 'noPreCA1' ( writeonly uniform mediump imageCubeArray)
|
||||
0:? 'noPreCA2' ( writeonly uniform mediump iimageCubeArray)
|
||||
0:? 'noPreCA3' ( writeonly uniform mediump uimageCubeArray)
|
||||
0:? 'noPreCA4' ( uniform mediump samplerCubeArray)
|
||||
0:? 'noPreCA5' ( uniform mediump samplerCubeArrayShadow)
|
||||
0:? 'noPreCA6' ( uniform mediump isamplerCubeArray)
|
||||
0:? 'noPreCA7' ( uniform mediump usamplerCubeArray)
|
||||
0:? 'CA1' ( writeonly uniform highp imageCubeArray)
|
||||
0:? 'CA2' ( writeonly uniform highp iimageCubeArray)
|
||||
0:? 'CA3' ( writeonly uniform highp uimageCubeArray)
|
||||
0:? 'rCA1' (layout( rgba16f) readonly uniform highp imageCubeArray)
|
||||
0:? 'rCA2' (layout( rgba32i) readonly uniform highp iimageCubeArray)
|
||||
0:? 'rCA3' (layout( r32ui) readonly uniform highp uimageCubeArray)
|
||||
0:? 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:? 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:? 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:? 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:? 'noPrec2DMS' ( uniform mediump sampler2DMSArray)
|
||||
0:? 'noPrec2DMSi' ( uniform mediump isampler2DMSArray)
|
||||
0:? 'noPrec2DMSu' ( uniform mediump usampler2DMSArray)
|
||||
0:? 'samp2DMSA' ( uniform highp sampler2DMSArray)
|
||||
0:? 'samp2DMSAi' ( uniform highp isampler2DMSArray)
|
||||
0:? 'samp2DMSAu' ( uniform highp usampler2DMSArray)
|
||||
0:? 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:? 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:? 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:? 'P' ( uniform highp 2-component vector of int)
|
||||
0:? 'colorSample' ( smooth sample out highp 4-component vector of float)
|
||||
0:? 'colorfsi' ( flat sample out highp 4-component vector of float)
|
||||
0:? 'sampInArray' ( smooth sample out 4-element array of highp 3-component vector of float)
|
||||
0:? 'inv4' ( in highp 4-component vector of float)
|
||||
0:? 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 320
|
||||
ERROR: node is still EOpNull!
|
||||
0:23 Function Definition: main( ( global void)
|
||||
0:23 Function Parameters:
|
||||
0:25 Sequence
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp highp int)
|
||||
0:25 'sum' ( temp highp int)
|
||||
0:25 add ( temp highp int)
|
||||
0:25 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
0:27 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:27 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:27 Constant:
|
||||
0:27 0 (const uint)
|
||||
0:27 Constant:
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
|
||||
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:28 Constant:
|
||||
0:28 1 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'outbinst' ( out block{ out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
|
||||
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=12) smooth out highp int)
|
||||
0:? 'inbinst' ( in block{ in highp int a})
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:? 'smon' ( smooth out block{ out highp int i})
|
||||
0:? 'fmon' ( flat out block{ out highp int i})
|
||||
0:? 'cmon' ( centroid out block{ out highp int i})
|
||||
0:? 'imon' ( invariant out block{ out highp int i})
|
||||
0:? 'inf' ( in highp 2-component vector of float)
|
||||
0:? 'ing' ( in highp 2-component vector of float)
|
||||
0:? 'offsets' ( uniform 4-element array of highp 2-component vector of int)
|
||||
0:? 'sArray' ( uniform 4-element array of lowp sampler2D)
|
||||
0:? 'sIndex' ( uniform highp int)
|
||||
0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint)
|
||||
0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i})
|
||||
0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i})
|
||||
0:? 'iArray' ( writeonly uniform 5-element array of highp image2D)
|
||||
0:? 'constOffsets' ( const 4-element array of highp 2-component vector of int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 0 (const int)
|
||||
0:? 'noPreSamp1' ( uniform mediump samplerBuffer)
|
||||
0:? 'noPreSamp2' ( uniform mediump isamplerBuffer)
|
||||
0:? 'noPreSamp3' ( uniform mediump usamplerBuffer)
|
||||
0:? 'noPreSamp4' ( writeonly uniform mediump imageBuffer)
|
||||
0:? 'noPreSamp5' ( writeonly uniform mediump iimageBuffer)
|
||||
0:? 'noPreSamp6' ( writeonly uniform mediump uimageBuffer)
|
||||
0:? 'bufSamp1' ( uniform highp samplerBuffer)
|
||||
0:? 'bufSamp2' ( uniform highp isamplerBuffer)
|
||||
0:? 'bufSamp3' ( uniform highp usamplerBuffer)
|
||||
0:? 'bufSamp4' ( writeonly uniform highp imageBuffer)
|
||||
0:? 'bufSamp5' ( writeonly uniform highp iimageBuffer)
|
||||
0:? 'bufSamp6' ( writeonly uniform highp uimageBuffer)
|
||||
0:? 'noPreCA1' ( writeonly uniform mediump imageCubeArray)
|
||||
0:? 'noPreCA2' ( writeonly uniform mediump iimageCubeArray)
|
||||
0:? 'noPreCA3' ( writeonly uniform mediump uimageCubeArray)
|
||||
0:? 'noPreCA4' ( uniform mediump samplerCubeArray)
|
||||
0:? 'noPreCA5' ( uniform mediump samplerCubeArrayShadow)
|
||||
0:? 'noPreCA6' ( uniform mediump isamplerCubeArray)
|
||||
0:? 'noPreCA7' ( uniform mediump usamplerCubeArray)
|
||||
0:? 'CA1' ( writeonly uniform highp imageCubeArray)
|
||||
0:? 'CA2' ( writeonly uniform highp iimageCubeArray)
|
||||
0:? 'CA3' ( writeonly uniform highp uimageCubeArray)
|
||||
0:? 'rCA1' (layout( rgba16f) readonly uniform highp imageCubeArray)
|
||||
0:? 'rCA2' (layout( rgba32i) readonly uniform highp iimageCubeArray)
|
||||
0:? 'rCA3' (layout( r32ui) readonly uniform highp uimageCubeArray)
|
||||
0:? 'CA4' ( uniform highp samplerCubeArray)
|
||||
0:? 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:? 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:? 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:? 'noPrec2DMS' ( uniform mediump sampler2DMSArray)
|
||||
0:? 'noPrec2DMSi' ( uniform mediump isampler2DMSArray)
|
||||
0:? 'noPrec2DMSu' ( uniform mediump usampler2DMSArray)
|
||||
0:? 'samp2DMSA' ( uniform highp sampler2DMSArray)
|
||||
0:? 'samp2DMSAi' ( uniform highp isampler2DMSArray)
|
||||
0:? 'samp2DMSAu' ( uniform highp usampler2DMSArray)
|
||||
0:? 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:? 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:? 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
0:? 'P' ( uniform highp 2-component vector of int)
|
||||
0:? 'colorSample' ( smooth sample out highp 4-component vector of float)
|
||||
0:? 'colorfsi' ( flat sample out highp 4-component vector of float)
|
||||
0:? 'sampInArray' ( smooth sample out 4-element array of highp 3-component vector of float)
|
||||
0:? 'inv4' ( in highp 4-component vector of float)
|
||||
0:? 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
|
@ -5316,13 +5316,14 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
||||
symbolTable.setFunctionExtensions("texture2DGradEXT", 1, &E_GL_EXT_shader_texture_lod);
|
||||
symbolTable.setFunctionExtensions("texture2DProjGradEXT", 1, &E_GL_EXT_shader_texture_lod);
|
||||
symbolTable.setFunctionExtensions("textureCubeGradEXT", 1, &E_GL_EXT_shader_texture_lod);
|
||||
symbolTable.setFunctionExtensions("textureGatherOffsets", Num_AEP_gpu_shader5, AEP_gpu_shader5);
|
||||
if (version == 310)
|
||||
symbolTable.setFunctionExtensions("textureGatherOffsets", Num_AEP_gpu_shader5, AEP_gpu_shader5);
|
||||
}
|
||||
if (version >= 310)
|
||||
if (version == 310)
|
||||
symbolTable.setFunctionExtensions("fma", Num_AEP_gpu_shader5, AEP_gpu_shader5);
|
||||
}
|
||||
|
||||
if (profile == EEsProfile) {
|
||||
if (profile == EEsProfile && version < 320) {
|
||||
symbolTable.setFunctionExtensions("imageAtomicAdd", 1, &E_GL_OES_shader_image_atomic);
|
||||
symbolTable.setFunctionExtensions("imageAtomicMin", 1, &E_GL_OES_shader_image_atomic);
|
||||
symbolTable.setFunctionExtensions("imageAtomicMax", 1, &E_GL_OES_shader_image_atomic);
|
||||
@ -5357,8 +5358,10 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
||||
|
||||
case EShLangTessControl:
|
||||
if (profile == EEsProfile && version >= 310) {
|
||||
symbolTable.setVariableExtensions("gl_BoundingBoxOES", Num_AEP_primitive_bounding_box, AEP_primitive_bounding_box);
|
||||
BuiltInVariable("gl_BoundingBoxOES", EbvBoundingBox, symbolTable);
|
||||
if (version < 320)
|
||||
symbolTable.setVariableExtensions("gl_BoundingBoxOES", Num_AEP_primitive_bounding_box,
|
||||
AEP_primitive_bounding_box);
|
||||
}
|
||||
|
||||
// Fall through
|
||||
@ -5505,7 +5508,7 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
||||
BuiltInVariable("gl_SamplePosition", EbvSamplePosition, symbolTable);
|
||||
BuiltInVariable("gl_SampleMaskIn", EbvSampleMask, symbolTable);
|
||||
BuiltInVariable("gl_SampleMask", EbvSampleMask, symbolTable);
|
||||
if (profile == EEsProfile) {
|
||||
if (profile == EEsProfile && version < 320) {
|
||||
symbolTable.setVariableExtensions("gl_SampleID", 1, &E_GL_OES_sample_variables);
|
||||
symbolTable.setVariableExtensions("gl_SamplePosition", 1, &E_GL_OES_sample_variables);
|
||||
symbolTable.setVariableExtensions("gl_SampleMaskIn", 1, &E_GL_OES_sample_variables);
|
||||
@ -5539,14 +5542,15 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
||||
symbolTable.setFunctionExtensions("texture2DGradEXT", 1, &E_GL_EXT_shader_texture_lod);
|
||||
symbolTable.setFunctionExtensions("texture2DProjGradEXT", 1, &E_GL_EXT_shader_texture_lod);
|
||||
symbolTable.setFunctionExtensions("textureCubeGradEXT", 1, &E_GL_EXT_shader_texture_lod);
|
||||
symbolTable.setFunctionExtensions("textureGatherOffsets", Num_AEP_gpu_shader5, AEP_gpu_shader5);
|
||||
if (version < 320)
|
||||
symbolTable.setFunctionExtensions("textureGatherOffsets", Num_AEP_gpu_shader5, AEP_gpu_shader5);
|
||||
}
|
||||
if (version == 100) {
|
||||
symbolTable.setFunctionExtensions("dFdx", 1, &E_GL_OES_standard_derivatives);
|
||||
symbolTable.setFunctionExtensions("dFdy", 1, &E_GL_OES_standard_derivatives);
|
||||
symbolTable.setFunctionExtensions("fwidth", 1, &E_GL_OES_standard_derivatives);
|
||||
}
|
||||
if (version >= 310) {
|
||||
if (version == 310) {
|
||||
symbolTable.setFunctionExtensions("fma", Num_AEP_gpu_shader5, AEP_gpu_shader5);
|
||||
symbolTable.setFunctionExtensions("interpolateAtCentroid", 1, &E_GL_OES_shader_multisample_interpolation);
|
||||
symbolTable.setFunctionExtensions("interpolateAtSample", 1, &E_GL_OES_shader_multisample_interpolation);
|
||||
@ -5675,12 +5679,12 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
||||
|
||||
symbolTable.setVariableExtensions("gl_FragDepthEXT", 1, &E_GL_EXT_frag_depth);
|
||||
|
||||
if (profile == EEsProfile) {
|
||||
if (profile == EEsProfile && version < 320) {
|
||||
symbolTable.setVariableExtensions("gl_PrimitiveID", Num_AEP_geometry_shader, AEP_geometry_shader);
|
||||
symbolTable.setVariableExtensions("gl_Layer", Num_AEP_geometry_shader, AEP_geometry_shader);
|
||||
}
|
||||
|
||||
if (profile == EEsProfile) {
|
||||
if (profile == EEsProfile && version < 320) {
|
||||
symbolTable.setFunctionExtensions("imageAtomicAdd", 1, &E_GL_OES_shader_image_atomic);
|
||||
symbolTable.setFunctionExtensions("imageAtomicMin", 1, &E_GL_OES_shader_image_atomic);
|
||||
symbolTable.setFunctionExtensions("imageAtomicMax", 1, &E_GL_OES_shader_image_atomic);
|
||||
|
@ -383,7 +383,8 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
|
||||
if (base->getQualifier().storage == EvqBuffer)
|
||||
requireProfile(base->getLoc(), ~EEsProfile, "variable indexing buffer block array");
|
||||
else if (base->getQualifier().storage == EvqUniform)
|
||||
profileRequires(base->getLoc(), EEsProfile, 0, Num_AEP_gpu_shader5, AEP_gpu_shader5, "variable indexing uniform block array");
|
||||
profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5,
|
||||
"variable indexing uniform block array");
|
||||
else {
|
||||
// input/output blocks either don't exist or can be variable indexed
|
||||
}
|
||||
@ -392,7 +393,7 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
|
||||
else if (base->getBasicType() == EbtSampler && version >= 130) {
|
||||
const char* explanation = "variable indexing sampler array";
|
||||
requireProfile(base->getLoc(), EEsProfile | ECoreProfile | ECompatibilityProfile, explanation);
|
||||
profileRequires(base->getLoc(), EEsProfile, 0, Num_AEP_gpu_shader5, AEP_gpu_shader5, explanation);
|
||||
profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, explanation);
|
||||
profileRequires(base->getLoc(), ECoreProfile | ECompatibilityProfile, 400, nullptr, explanation);
|
||||
}
|
||||
|
||||
@ -1417,7 +1418,8 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
|
||||
else
|
||||
profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature);
|
||||
if (! (*argp)[fnCandidate[0].type->getSampler().shadow ? 3 : 2]->getAsConstantUnion())
|
||||
profileRequires(loc, EEsProfile, 0, Num_AEP_gpu_shader5, AEP_gpu_shader5, "non-constant offset argument");
|
||||
profileRequires(loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5,
|
||||
"non-constant offset argument");
|
||||
if (! fnCandidate[0].type->getSampler().shadow)
|
||||
compArg = 3;
|
||||
break;
|
||||
@ -1631,7 +1633,8 @@ void TParseContext::nonOpBuiltInCheck(const TSourceLoc& loc, const TFunction& fn
|
||||
profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature);
|
||||
int offsetArg = fnCandidate[0].type->getSampler().shadow ? 3 : 2;
|
||||
if (! callNode.getSequence()[offsetArg]->getAsConstantUnion())
|
||||
profileRequires(loc, EEsProfile, 0, Num_AEP_gpu_shader5, AEP_gpu_shader5, "non-constant offset argument");
|
||||
profileRequires(loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5,
|
||||
"non-constant offset argument");
|
||||
if (! fnCandidate[0].type->getSampler().shadow)
|
||||
compArg = 3;
|
||||
} else if (fnCandidate.getName().compare("textureGatherOffsets") == 0) {
|
||||
@ -3016,19 +3019,22 @@ void TParseContext::arraySizesCheck(const TSourceLoc& loc, const TQualifier& qua
|
||||
switch (language) {
|
||||
case EShLangGeometry:
|
||||
if (qualifier.storage == EvqVaryingIn)
|
||||
if (extensionsTurnedOn(Num_AEP_geometry_shader, AEP_geometry_shader))
|
||||
if ((profile == EEsProfile && version >= 320) ||
|
||||
extensionsTurnedOn(Num_AEP_geometry_shader, AEP_geometry_shader))
|
||||
return;
|
||||
break;
|
||||
case EShLangTessControl:
|
||||
if ( qualifier.storage == EvqVaryingIn ||
|
||||
(qualifier.storage == EvqVaryingOut && ! qualifier.patch))
|
||||
if (extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader))
|
||||
if ((profile == EEsProfile && version >= 320) ||
|
||||
extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader))
|
||||
return;
|
||||
break;
|
||||
case EShLangTessEvaluation:
|
||||
if ((qualifier.storage == EvqVaryingIn && ! qualifier.patch) ||
|
||||
qualifier.storage == EvqVaryingOut)
|
||||
if (extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader))
|
||||
if ((profile == EEsProfile && version >= 320) ||
|
||||
extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader))
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
@ -3267,7 +3273,8 @@ TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TS
|
||||
return nullptr;
|
||||
|
||||
bool nonEsRedecls = (profile != EEsProfile && (version >= 130 || identifier == "gl_TexCoord"));
|
||||
bool esRedecls = (profile == EEsProfile && extensionsTurnedOn(Num_AEP_shader_io_blocks, AEP_shader_io_blocks));
|
||||
bool esRedecls = (profile == EEsProfile &&
|
||||
(version >= 320 || extensionsTurnedOn(Num_AEP_shader_io_blocks, AEP_shader_io_blocks)));
|
||||
if (! esRedecls && ! nonEsRedecls)
|
||||
return nullptr;
|
||||
|
||||
@ -3406,7 +3413,7 @@ TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TS
|
||||
void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newTypeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes)
|
||||
{
|
||||
const char* feature = "built-in block redeclaration";
|
||||
profileRequires(loc, EEsProfile, 0, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature);
|
||||
profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature);
|
||||
profileRequires(loc, ~EEsProfile, 410, E_GL_ARB_separate_shader_objects, feature);
|
||||
|
||||
if (blockName != "gl_PerVertex" && blockName != "gl_PerFragment") {
|
||||
@ -4040,7 +4047,8 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
|
||||
bool found = false;
|
||||
for (TBlendEquationShift be = (TBlendEquationShift)0; be < EBlendCount; be = (TBlendEquationShift)(be + 1)) {
|
||||
if (id == TQualifier::getBlendEquationString(be)) {
|
||||
requireExtensions(loc, 1, &E_GL_KHR_blend_equation_advanced, "blend equation");
|
||||
profileRequires(loc, EEsProfile, 320, E_GL_KHR_blend_equation_advanced, "blend equation");
|
||||
profileRequires(loc, ~EEsProfile, 0, E_GL_KHR_blend_equation_advanced, "blend equation");
|
||||
intermediate.addBlendEquation(be);
|
||||
publicType.shaderQualifiers.blendEquation = true;
|
||||
found = true;
|
||||
@ -5807,7 +5815,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
|
||||
case EvqVaryingOut:
|
||||
requireProfile(memberLoc, ECoreProfile | ECompatibilityProfile | EEsProfile, feature);
|
||||
profileRequires(memberLoc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, feature);
|
||||
profileRequires(memberLoc, EEsProfile, 0, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature);
|
||||
profileRequires(memberLoc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature);
|
||||
memberWithLocation = true;
|
||||
break;
|
||||
default:
|
||||
@ -5931,14 +5939,14 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q
|
||||
// "Compute shaders do not permit user-defined input variables..."
|
||||
requireStage(loc, (EShLanguageMask)(EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask|EShLangFragmentMask), "input block");
|
||||
if (language == EShLangFragment)
|
||||
profileRequires(loc, EEsProfile, 0, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "fragment input block");
|
||||
profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "fragment input block");
|
||||
break;
|
||||
case EvqVaryingOut:
|
||||
profileRequires(loc, ~EEsProfile, 150, E_GL_ARB_separate_shader_objects, "output block");
|
||||
requireStage(loc, (EShLanguageMask)(EShLangVertexMask|EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask), "output block");
|
||||
// ES 310 can have a block before shader_io is turned on, so skip this test for built-ins
|
||||
if (language == EShLangVertex && ! parsingBuiltins)
|
||||
profileRequires(loc, EEsProfile, 0, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "vertex output block");
|
||||
profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "vertex output block");
|
||||
break;
|
||||
default:
|
||||
error(loc, "only uniform, buffer, in, or out blocks are supported", blockName->c_str(), "");
|
||||
|
@ -864,14 +864,17 @@ int TScanContext::tokenizeIdentifier()
|
||||
|
||||
case PATCH:
|
||||
if (parseContext.symbolTable.atBuiltInLevel() ||
|
||||
(parseContext.profile == EEsProfile && parseContext.extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader)) ||
|
||||
(parseContext.profile == EEsProfile &&
|
||||
(parseContext.version >= 320 ||
|
||||
parseContext.extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader))) ||
|
||||
(parseContext.profile != EEsProfile && parseContext.extensionTurnedOn(E_GL_ARB_tessellation_shader)))
|
||||
return keyword;
|
||||
|
||||
return es30ReservedFromGLSL(400);
|
||||
|
||||
case SAMPLE:
|
||||
if (parseContext.extensionsTurnedOn(1, &E_GL_OES_shader_multisample_interpolation))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(1, &E_GL_OES_shader_multisample_interpolation))
|
||||
return keyword;
|
||||
return es30ReservedFromGLSL(400);
|
||||
|
||||
@ -925,7 +928,8 @@ int TScanContext::tokenizeIdentifier()
|
||||
case IIMAGEBUFFER:
|
||||
case UIMAGEBUFFER:
|
||||
afterType = true;
|
||||
if (parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
|
||||
return keyword;
|
||||
return firstGenerationImage(false);
|
||||
|
||||
@ -948,7 +952,8 @@ int TScanContext::tokenizeIdentifier()
|
||||
case IIMAGECUBEARRAY:
|
||||
case UIMAGECUBEARRAY:
|
||||
afterType = true;
|
||||
if (parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array))
|
||||
return keyword;
|
||||
return secondGenerationImage();
|
||||
|
||||
@ -1030,7 +1035,8 @@ int TScanContext::tokenizeIdentifier()
|
||||
case ISAMPLERCUBEARRAY:
|
||||
case USAMPLERCUBEARRAY:
|
||||
afterType = true;
|
||||
if (parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array))
|
||||
return keyword;
|
||||
if (parseContext.profile == EEsProfile || (parseContext.version < 400 && ! parseContext.extensionTurnedOn(E_GL_ARB_texture_cube_map_array)))
|
||||
reservedWord();
|
||||
@ -1069,14 +1075,16 @@ int TScanContext::tokenizeIdentifier()
|
||||
|
||||
case SAMPLERBUFFER:
|
||||
afterType = true;
|
||||
if (parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
|
||||
return keyword;
|
||||
return es30ReservedFromGLSL(130);
|
||||
|
||||
case ISAMPLERBUFFER:
|
||||
case USAMPLERBUFFER:
|
||||
afterType = true;
|
||||
if (parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
|
||||
return keyword;
|
||||
return es30ReservedFromGLSL(140);
|
||||
|
||||
@ -1092,7 +1100,8 @@ int TScanContext::tokenizeIdentifier()
|
||||
case ISAMPLER2DMSARRAY:
|
||||
case USAMPLER2DMSARRAY:
|
||||
afterType = true;
|
||||
if (parseContext.extensionsTurnedOn(1, &E_GL_OES_texture_storage_multisample_2d_array))
|
||||
if ((parseContext.profile == EEsProfile && parseContext.version >= 320) ||
|
||||
parseContext.extensionsTurnedOn(1, &E_GL_OES_texture_storage_multisample_2d_array))
|
||||
return keyword;
|
||||
return es30ReservedFromGLSL(150);
|
||||
|
||||
@ -1228,7 +1237,8 @@ int TScanContext::tokenizeIdentifier()
|
||||
return keyword;
|
||||
|
||||
case PRECISE:
|
||||
if ((parseContext.profile == EEsProfile && parseContext.extensionsTurnedOn(Num_AEP_gpu_shader5, AEP_gpu_shader5)) ||
|
||||
if ((parseContext.profile == EEsProfile &&
|
||||
(parseContext.version >= 320 || parseContext.extensionsTurnedOn(Num_AEP_gpu_shader5, AEP_gpu_shader5))) ||
|
||||
(parseContext.profile != EEsProfile && parseContext.version >= 400))
|
||||
return keyword;
|
||||
if (parseContext.profile == EEsProfile && parseContext.version == 310) {
|
||||
|
@ -116,7 +116,7 @@ TParseContextBase* CreateParseContext(TSymbolTable& symbolTable, TIntermediate&
|
||||
|
||||
// Local mapping functions for making arrays of symbol tables....
|
||||
|
||||
const int VersionCount = 15; // index range in MapVersionToIndex
|
||||
const int VersionCount = 16; // index range in MapVersionToIndex
|
||||
|
||||
int MapVersionToIndex(int version)
|
||||
{
|
||||
@ -139,6 +139,7 @@ int MapVersionToIndex(int version)
|
||||
case 310: index = 13; break;
|
||||
case 450: index = 14; break;
|
||||
case 500: index = 0; break; // HLSL
|
||||
case 320: index = 15; break;
|
||||
default: assert(0); break;
|
||||
}
|
||||
|
||||
@ -456,9 +457,9 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
|
||||
|
||||
// Get a good profile...
|
||||
if (profile == ENoProfile) {
|
||||
if (version == 300 || version == 310) {
|
||||
if (version == 300 || version == 310 || version == 320) {
|
||||
correct = false;
|
||||
infoSink.info.message(EPrefixError, "#version: versions 300 and 310 require specifying the 'es' profile");
|
||||
infoSink.info.message(EPrefixError, "#version: versions 300, 310, and 320 require specifying the 'es' profile");
|
||||
profile = EEsProfile;
|
||||
} else if (version == 100)
|
||||
profile = EEsProfile;
|
||||
@ -475,16 +476,16 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
|
||||
profile = EEsProfile;
|
||||
else
|
||||
profile = ENoProfile;
|
||||
} else if (version == 300 || version == 310) {
|
||||
} else if (version == 300 || version == 310 || version == 320) {
|
||||
if (profile != EEsProfile) {
|
||||
correct = false;
|
||||
infoSink.info.message(EPrefixError, "#version: versions 300 and 310 support only the es profile");
|
||||
infoSink.info.message(EPrefixError, "#version: versions 300, 310, and 320 support only the es profile");
|
||||
}
|
||||
profile = EEsProfile;
|
||||
} else {
|
||||
if (profile == EEsProfile) {
|
||||
correct = false;
|
||||
infoSink.info.message(EPrefixError, "#version: only version 300 and 310 support the es profile");
|
||||
infoSink.info.message(EPrefixError, "#version: only version 300, 310, and 320 support the es profile");
|
||||
if (version >= FirstProfileVersion)
|
||||
profile = ECoreProfile;
|
||||
else
|
||||
@ -500,6 +501,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
|
||||
case 100: break;
|
||||
case 300: break;
|
||||
case 310: break;
|
||||
case 320: break;
|
||||
|
||||
// desktop versions
|
||||
case 110: break;
|
||||
|
@ -101,6 +101,12 @@ INSTANTIATE_TEST_CASE_P(
|
||||
"310.tese",
|
||||
"310implicitSizeArrayError.vert",
|
||||
"310AofA.vert",
|
||||
"320.comp",
|
||||
"320.vert",
|
||||
"320.geom",
|
||||
"320.frag",
|
||||
"320.tesc",
|
||||
"320.tese",
|
||||
"330.frag",
|
||||
"330comp.frag",
|
||||
"constErrors.frag",
|
||||
|
Loading…
Reference in New Issue
Block a user