tests: Bring shaders up to version 400
diff --git a/tests/render_tests.cpp b/tests/render_tests.cpp
index 05ed38a..5e1039b 100644
--- a/tests/render_tests.cpp
+++ b/tests/render_tests.cpp
@@ -553,7 +553,7 @@
TEST_F(VkRenderTest, VKTriangle_FragColor)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
@@ -564,6 +564,9 @@
"} ubuf;\n"
"\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"\n"
"void main() \n"
"{\n"
@@ -572,7 +575,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
@@ -591,7 +594,7 @@
TEST_F(VkRenderTest, VKTriangle_OutputLocation)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
@@ -602,6 +605,9 @@
"} ubuf;\n"
"\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"\n"
"void main() \n"
"{\n"
@@ -610,7 +616,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
@@ -630,7 +636,7 @@
TEST_F(VkRenderTest, SPV_VKTriangle)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
@@ -641,6 +647,9 @@
"} ubuf;\n"
"\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"\n"
"void main() \n"
"{\n"
@@ -649,7 +658,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
@@ -669,8 +678,13 @@
TEST_F(VkRenderTest, SPV_GreenTriangle)
{
static const char *vertShaderText =
- "#version 130\n"
+ "#version 400\n"
+ "#extension GL_ARB_separate_shader_objects : enable\n"
+ "#extension GL_ARB_shading_language_420pack : enable\n"
"vec2 vertices[3];\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vertices[0] = vec2(-1.0, -1.0);\n"
" vertices[1] = vec2( 1.0, -1.0);\n"
@@ -679,7 +693,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 outColor;\n"
@@ -695,7 +709,12 @@
TEST_F(VkRenderTest, YellowTriangle)
{
static const char *vertShaderText =
- "#version 130\n"
+ "#version 400\n"
+ "#extension GL_ARB_separate_shader_objects : enable\n"
+ "#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -709,7 +728,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 outColor;\n"
@@ -723,7 +742,7 @@
TEST_F(VkRenderTest, QuadWithVertexFetch)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//XYZ1( -1, -1, -1 )
@@ -731,6 +750,9 @@
//XYZ1( 0.f, 0.f, 0.f )
"layout (location = 1) in vec4 inColor;\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" outColor = inColor;\n"
" gl_Position = pos;\n"
@@ -738,7 +760,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 color;\n"
@@ -806,16 +828,19 @@
TEST_F(VkRenderTest, TriangleMRT)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 pos;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" gl_Position = pos;\n"
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 uFragData0;\n"
@@ -892,12 +917,15 @@
TEST_F(VkRenderTest, QuadWithIndexedVertexFetch)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout(location = 0) in vec4 pos;\n"
"layout(location = 1) in vec4 inColor;\n"
"layout(location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" outColor = inColor;\n"
" gl_Position = pos;\n"
@@ -905,7 +933,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout(location = 0) in vec4 color;\n"
@@ -1001,12 +1029,15 @@
// This tests gl_FragCoord
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 pos;\n"
"layout (location = 0) out vec4 outColor;\n"
"layout (location = 1) out vec4 outColor2;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" gl_Position = pos;\n"
" outColor = vec4(0.9, 0.9, 0.9, 1.0);\n"
@@ -1014,7 +1045,7 @@
"}\n";
static const char *fragShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//"#extension GL_ARB_fragment_coord_conventions : enable\n"
@@ -1089,12 +1120,15 @@
// This tests that we correctly handle unread fragment inputs
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 pos;\n"
"layout (location = 0) out vec4 outColor;\n"
"layout (location = 1) out vec4 outColor2;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" gl_Position = pos;\n"
" outColor = vec4(0.9, 0.9, 0.9, 1.0);\n"
@@ -1102,7 +1136,7 @@
"}\n";
static const char *fragShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//"#extension GL_ARB_fragment_coord_conventions : enable\n"
@@ -1175,8 +1209,7 @@
// This tests reading gl_ClipDistance from FS
static const char *vertShaderText =
- //"#version 140\n"
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"out gl_PerVertex {\n"
@@ -1199,8 +1232,7 @@
static const char *fragShaderText =
- "#version 140\n"
- //"#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//"#extension GL_ARB_fragment_coord_conventions : enable\n"
@@ -1273,12 +1305,15 @@
TEST_F(VkRenderTest, GreyCirclesonBlueDiscard)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 pos;\n"
"layout (location = 0) out vec4 outColor;\n"
"layout (location = 1) out vec4 outColor2;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" gl_Position = pos;\n"
" outColor = vec4(0.9, 0.9, 0.9, 1.0);\n"
@@ -1287,7 +1322,7 @@
static const char *fragShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//"#extension GL_ARB_fragment_coord_conventions : enable\n"
@@ -1363,13 +1398,16 @@
TEST_F(VkRenderTest, TriangleVSUniform)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"\n"
"layout(binding = 0) uniform buf {\n"
" mat4 MVP;\n"
"} ubuf;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -1379,7 +1417,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 outColor;\n"
@@ -1443,12 +1481,15 @@
// and bar in the FS. The triangle should be blended with red, green and blue
// corners.
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location=0) out vec4 bar;\n"
"layout (location=1) out vec4 foo;\n"
"layout (location=2) out float scale;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"vec2 vertices[3];\n"
"void main() {\n"
" vertices[0] = vec2(-1.0, -1.0);\n"
@@ -1465,7 +1506,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 1) in vec4 bar;\n"
@@ -1516,7 +1557,7 @@
// This tests that attributes work in the presence of gl_VertexID
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//XYZ1( -1, -1, -1 )
@@ -1524,6 +1565,9 @@
//XYZ1( 0.f, 0.f, 0.f )
"layout (location = 1) in vec4 inColor;\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" outColor = inColor;\n"
" vec4 vertices[3];"
@@ -1533,7 +1577,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 color;\n"
@@ -1605,7 +1649,7 @@
// This tests that attributes work in the presence of gl_VertexID
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//XYZ1( -1, -1, -1 )
@@ -1613,6 +1657,9 @@
"layout (location = 4) in vec4 inColor;\n"
//XYZ1( 0.f, 0.f, 0.f )
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" outColor = inColor;\n"
" gl_Position = pos;\n"
@@ -1620,7 +1667,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 color;\n"
@@ -1710,7 +1757,7 @@
// red and green corners, starting at top and going clockwise.
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
//XYZ1( -1, -1, -1 )
@@ -1718,6 +1765,9 @@
//XYZ1( 0.f, 0.f, 0.f )
"layout (location = 1) in vec4 inColor;\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" outColor = inColor;\n"
" vec2 vertices[3];"
@@ -1729,7 +1779,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 color;\n"
@@ -1799,7 +1849,7 @@
TEST_F(VkRenderTest, CubeWithVertexFetchAndMVP)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding = 0) uniform bufferVals {\n"
@@ -1808,6 +1858,9 @@
"layout (location = 0) in vec4 pos;\n"
"layout (location = 1) in vec4 inColor;\n"
"layout (location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" outColor = inColor;\n"
" gl_Position = myBufferVals.mvp * pos;\n"
@@ -1816,7 +1869,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 color;\n"
@@ -1918,11 +1971,14 @@
// The expected result from this test is a green and red triangle;
// one red vertex on the left, two green vertices on the right.
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 texColor;\n"
"uniform sampler2D surface;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -1938,7 +1994,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 texColor;\n"
@@ -1989,10 +2045,13 @@
{
// The expected result from this test is a red and green checkered triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec2 samplePos;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2007,7 +2066,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec2 samplePos;\n"
@@ -2056,7 +2115,7 @@
{
// The expected result from this test is a red and green checkered triangle
static const char *vertShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec2 samplePos;\n"
@@ -2083,7 +2142,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec2 samplePos;\n"
@@ -2135,10 +2194,13 @@
{
// The expected result from this test is a red and green checkered triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec2 samplePos;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2153,7 +2215,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec2 samplePos;\n"
@@ -2208,10 +2270,13 @@
// number set up by the application.
// This test will result in a blue triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 samplePos;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2226,7 +2291,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 samplePos;\n"
@@ -2291,7 +2356,7 @@
// The expected result from this test is a blue triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 outColor;\n"
@@ -2301,6 +2366,9 @@
" vec4 blue;\n"
" vec4 white;\n"
"} myBufferVals;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2311,7 +2379,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 inColor;\n"
@@ -2377,9 +2445,12 @@
// The expected result from this test is a purple triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2389,7 +2460,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding = 0) uniform redVal { vec4 color; } myRedVal\n;"
@@ -2472,9 +2543,12 @@
// The expected result from this test is a purple triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2566,9 +2640,12 @@
// The expected result from this test is a purple triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2680,7 +2757,7 @@
TEST_F(VkRenderTest, CubeWithVertexFetchAndMVPAndTexture)
{
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding=0) uniform bufferVals {\n"
@@ -2689,6 +2766,9 @@
"layout (location=0) in vec4 pos;\n"
"layout (location=1) in vec2 input_uv;\n"
"layout (location=0) out vec2 UV;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" UV = input_uv;\n"
" gl_Position = myBufferVals.mvp * pos;\n"
@@ -2697,7 +2777,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (binding=1) uniform sampler2D surface;\n"
@@ -2813,9 +2893,12 @@
// you can modify it to move the desired result around.
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -2925,9 +3008,12 @@
// you can modify it to move the desired result around.
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -3030,7 +3116,7 @@
// The expected result from this test is a green triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding = 0) uniform mixedBuffer {\n"
@@ -3067,6 +3153,9 @@
" vec4 uvOffsets[4];\n"
"};\n"
"layout (location = 0) out vec4 color;"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec4 right = vec4(0.0, 1.0, 0.0, 1.0);\n"
@@ -3100,7 +3189,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding = 0) uniform mixedBuffer {\n"
@@ -3286,9 +3375,12 @@
}
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec2 vertices[3];"
" vertices[0] = vec2(-0.5, -0.5);\n"
@@ -3385,10 +3477,13 @@
// changes the color of each vertex to red, green, blue
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) out vec4 color;"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
// VS writes out red
@@ -3410,13 +3505,16 @@
"}\n";
static const char *geomShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout( triangles ) in;\n"
"layout( triangle_strip, max_vertices = 3 ) out;\n"
"layout( location = 0 ) in vec4 inColor[3];\n"
"layout( location = 0 ) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main()\n"
"{\n"
@@ -3441,7 +3539,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (location = 0) in vec4 color;\n"
@@ -3490,7 +3588,7 @@
// The expected result from this test is a green triangle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding = 0) uniform mixedBuffer {\n"
@@ -3527,6 +3625,9 @@
" vec4 uvOffsets[4];\n"
"};\n"
"layout (location = 0) out vec4 color;"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
" vec4 right = vec4(0.0, 1.0, 0.0, 1.0);\n"
@@ -3560,7 +3661,7 @@
"}\n";
static const char *geomShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
@@ -3605,7 +3706,9 @@
" vec3 fOneZeroZero;\n"
" vec4 uvOffsets[4];\n"
"};\n"
-
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main()\n"
"{\n"
@@ -3662,7 +3765,7 @@
"}\n";
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout (std140, binding = 0) uniform mixedBuffer {\n"
@@ -3840,13 +3943,16 @@
// Expected result is white triangle with weird positions
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout(location = 0) out vec3 out_a;\n"
"layout(location = 1) out vec3 out_b;\n"
"layout(location = 2) out vec3 out_c;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
"void main() {\n"
@@ -3871,7 +3977,7 @@
"}\n";
static const char *geomShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout( triangles ) in;\n"
@@ -3885,6 +3991,10 @@
"layout(location = 1) out vec3 out_b;\n"
"layout(location = 2) out vec3 out_c;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
+
"void main()\n"
"{\n"
@@ -3914,7 +4024,7 @@
static const char *fragShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
@@ -3965,10 +4075,14 @@
// Correct result is an multicolor circle
static const char *vertShaderText =
- "#version 140\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
+
"void main() {\n"
// generic position stuff
@@ -3987,7 +4101,7 @@
"}\n";
static const char *geomShaderText =
- "#version 330\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"
"layout( triangles ) in;\n"
@@ -3995,6 +4109,10 @@
"layout(location = 0) out vec4 outColor;\n"
+ "out gl_PerVertex {\n"
+ " vec4 gl_Position;\n"
+ "};\n"
+
"void main()\n"
"{\n"
// init with first position to get zw
@@ -4032,7 +4150,7 @@
static const char *fragShaderText =
- "#version 150\n"
+ "#version 400\n"
"#extension GL_ARB_separate_shader_objects : enable\n"
"#extension GL_ARB_shading_language_420pack : enable\n"