const int start2 = 5;\r
layout(location = start2 * start2 - 2 - 4) in vec4 v6;\r
\r
-layout(location = 28) in inblock2 {\r
+layout(location = 28) in inblock2 { // ERROR, input block in vertex shader, other errors are valid checks still...\r
bool b1;\r
float f1;\r
layout(location = 25) float f2;\r
} ininst2;\r
\r
-in ublock4 {\r
+in ublock4 { // ERROR, input block in vertex shader, other errors are valid checks still...\r
layout(location = 50) float f1;\r
layout(location = 51) float f2;\r
} in4;\r
layout(xfb_stride=80, xfb_buffer=1, xfb_offset=64) vec4 bbv2;\r
} bbinst5;\r
\r
-shared vec4 sharedv;\r
+shared vec4 sharedv; // ERROR\r
\r
void fooBarrier()\r
{\r
}\r
\r
buffer vec4 v; // ERROR\r
+\r
+uniform sampler2DMS s2dms;\r
+uniform usampler2DMSArray us2dmsa;\r
+layout(rgba32i) uniform iimage2DMS ii2dms;\r
+layout(rgba32f) uniform image2DMSArray i2dmsa;\r
+\r
+void fooq()\r
+{\r
+ int s = textureSamples(s2dms); // ERROR\r
+ s += textureSamples(us2dmsa); // ERROR\r
+ s += imageSamples(ii2dms); // ERROR\r
+ s += imageSamples(i2dmsa); // ERROR\r
+}\r
+\r
+#extension GL_ARB_shader_texture_image_samples : enable\r
+\r
+void fooq2()\r
+{\r
+ int s = textureSamples(s2dms);\r
+ s += textureSamples(us2dmsa); \r
+ s += imageSamples(ii2dms); \r
+ s += imageSamples(i2dmsa); \r
+}\r
+\r
+uniform sampler1D samp1D;\r
+uniform usampler2D usamp2D;\r
+uniform isampler3D isamp3D;\r
+uniform isamplerCube isampCube; \r
+uniform isampler1DArray isamp1DA;\r
+uniform sampler2DArray samp2DA;\r
+uniform usamplerCubeArray usampCubeA;\r
+\r
+uniform sampler1DShadow samp1Ds;\r
+uniform sampler2DShadow samp2Ds;\r
+uniform samplerCubeShadow sampCubes;\r
+uniform sampler1DArrayShadow samp1DAs;\r
+uniform sampler2DArrayShadow samp2DAs;\r
+uniform samplerCubeArrayShadow sampCubeAs;\r
+\r
+uniform samplerBuffer sampBuf;\r
+uniform sampler2DRect sampRect;\r
+\r
+void qlod()\r
+{\r
+ int levels;\r
+\r
+ levels = textureQueryLevels(samp1D);\r
+ levels = textureQueryLevels(usamp2D);\r
+ levels = textureQueryLevels(isamp3D);\r
+ levels = textureQueryLevels(isampCube);\r
+ levels = textureQueryLevels(isamp1DA);\r
+ levels = textureQueryLevels(samp2DA);\r
+ levels = textureQueryLevels(usampCubeA);\r
+\r
+ levels = textureQueryLevels(samp1Ds);\r
+ levels = textureQueryLevels(samp2Ds);\r
+ levels = textureQueryLevels(sampCubes);\r
+ levels = textureQueryLevels(samp1DAs);\r
+ levels = textureQueryLevels(samp2DAs);\r
+ levels = textureQueryLevels(sampCubeAs);\r
+\r
+ levels = textureQueryLevels(sampBuf); // ERROR\r
+ levels = textureQueryLevels(sampRect); // ERROR\r
+}\r