Put in infrastructure for tessellation, geometry, and compute stages, and partially flesh out with built-in functions.
Added the built-in functions EmitVertex(), EndPrimitive(), barrier(), memoryBarrier(), memoryBarrierAtomicCounter(), memoryBarrierBuffer(), memoryBarrierImage(), memoryBarrierShared(), and groupMemoryBarrier().
Have not added any new built-in variables.
Also changed the linear performance relateToOperator() to a high-performance version.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22659 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-08-09 17:14:49 +00:00
|
|
|
#version 400 core
|
|
|
|
|
2013-12-11 18:57:40 +00:00
|
|
|
layout(vertices = 4) out; // ERROR
|
|
|
|
layout(quads, cw) in;
|
|
|
|
layout(triangles) in; // ERROR
|
|
|
|
layout(isolines) in; // ERROR
|
|
|
|
|
|
|
|
layout(ccw) in; // ERROR
|
2013-12-18 03:06:24 +00:00
|
|
|
layout(cw) in;
|
2013-12-11 18:57:40 +00:00
|
|
|
|
|
|
|
layout(fractional_odd_spacing) in;
|
|
|
|
layout(equal_spacing) in; // ERROR
|
|
|
|
layout(fractional_even_spacing) in; // ERROR
|
|
|
|
|
|
|
|
layout(point_mode) in;
|
|
|
|
|
2013-12-12 01:25:37 +00:00
|
|
|
patch in vec4 patchIn;
|
|
|
|
patch out vec4 patchOut; // ERROR
|
|
|
|
|
Put in infrastructure for tessellation, geometry, and compute stages, and partially flesh out with built-in functions.
Added the built-in functions EmitVertex(), EndPrimitive(), barrier(), memoryBarrier(), memoryBarrierAtomicCounter(), memoryBarrierBuffer(), memoryBarrierImage(), memoryBarrierShared(), and groupMemoryBarrier().
Have not added any new built-in variables.
Also changed the linear performance relateToOperator() to a high-performance version.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22659 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-08-09 17:14:49 +00:00
|
|
|
void main()
|
|
|
|
{
|
|
|
|
barrier(); // ERROR
|
2013-12-11 18:57:40 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
float cd = gl_in[1].gl_ClipDistance[2];
|
|
|
|
|
|
|
|
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;
|
|
|
|
gl_ClipDistance[2] = cd;
|
Put in infrastructure for tessellation, geometry, and compute stages, and partially flesh out with built-in functions.
Added the built-in functions EmitVertex(), EndPrimitive(), barrier(), memoryBarrier(), memoryBarrierAtomicCounter(), memoryBarrierBuffer(), memoryBarrierImage(), memoryBarrierShared(), and groupMemoryBarrier().
Have not added any new built-in variables.
Also changed the linear performance relateToOperator() to a high-performance version.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22659 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-08-09 17:14:49 +00:00
|
|
|
}
|
2013-12-12 01:25:37 +00:00
|
|
|
|
|
|
|
smooth patch in vec4 badp1; // ERROR
|
|
|
|
flat patch in vec4 badp2; // ERROR
|
|
|
|
noperspective patch in vec4 badp3; // ERROR
|
|
|
|
patch sample in vec3 badp4; // ERROR
|
2013-12-13 19:26:54 +00:00
|
|
|
|
|
|
|
#extension GL_ARB_separate_shader_objects : enable
|
|
|
|
|
2018-04-20 01:42:50 +00:00
|
|
|
in gl_PerVertex
|
2014-02-12 05:15:49 +00:00
|
|
|
{
|
2015-06-19 23:03:32 +00:00
|
|
|
float gl_ClipDistance[1];
|
|
|
|
} gl_in[];
|
2014-02-12 05:15:49 +00:00
|
|
|
|
2015-06-19 23:03:32 +00:00
|
|
|
in gl_PerVertex // ERROR, second redeclaration of gl_in
|
2014-02-12 05:15:49 +00:00
|
|
|
{
|
2015-06-19 23:03:32 +00:00
|
|
|
float gl_ClipDistance[1];
|
2014-02-12 05:15:49 +00:00
|
|
|
} gl_in[];
|
|
|
|
|
2013-12-18 03:06:24 +00:00
|
|
|
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
|
|
|
|
|
2013-12-20 18:36:27 +00:00
|
|
|
in vec2 ina; // ERROR, not array
|
|
|
|
in vec2 inb[];
|
|
|
|
in vec2 inc[18]; // ERROR, wrong size
|
|
|
|
in vec2 ind[gl_MaxPatchVertices];
|
|
|
|
|
|
|
|
in testbla {
|
|
|
|
int f;
|
|
|
|
} bla; // ERROR, not array
|
|
|
|
|
|
|
|
in testblb {
|
|
|
|
int f;
|
|
|
|
} blb[];
|
|
|
|
|
|
|
|
in testblc {
|
|
|
|
int f;
|
|
|
|
} blc[18]; // ERROR wrong size
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
layout(location = 23) out vec4 ovla[2];
|
|
|
|
layout(location = 24) out vec4 ovlb[2]; // ERROR
|
2014-05-06 22:58:55 +00:00
|
|
|
|
2015-06-19 23:03:32 +00:00
|
|
|
in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
|
2014-10-08 21:57:17 +00:00
|
|
|
|
|
|
|
patch in pinbn {
|
|
|
|
int a;
|
|
|
|
} pinbi;
|
2017-03-14 22:45:30 +00:00
|
|
|
|
|
|
|
void devi()
|
|
|
|
{
|
|
|
|
gl_DeviceIndex; // ERROR, no extension
|
|
|
|
gl_ViewIndex; // ERROR, no extension
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef GL_EXT_device_group
|
|
|
|
#extension GL_EXT_device_group : enable
|
|
|
|
#endif
|
|
|
|
|
2019-05-28 19:23:19 +00:00
|
|
|
#ifdef GL_EXT_multiview
|
2017-03-14 22:45:30 +00:00
|
|
|
#extension GL_EXT_multiview : enable
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void devie()
|
|
|
|
{
|
|
|
|
gl_DeviceIndex;
|
|
|
|
gl_ViewIndex;
|
|
|
|
}
|