layout(location=27, index=0) in vec4 indexIn; // ERROR, not on in
layout(location=0, index=0) in; // ERROR, not just on in
layout(location=0, index=0) out; // ERROR, need a variable
-layout(location=26, index=0) out indexBlock { int a; } indexBlockI; // ERROR, not on a block
\ No newline at end of file
+layout(location=26, index=0) out indexBlock { int a; } indexBlockI; // ERROR, not on a block
+\r
+uniform sampler1D samp1D;\r
+uniform sampler2DShadow samp2Ds;\r
+\r
+void qlod()\r
+{\r
+ vec2 lod;\r
+ float pf;\r
+ vec2 pf2;\r
+ vec3 pf3;\r
+\r
+ lod = textureQueryLod(samp1D, pf); // ERROR, not until 400\r
+ lod = textureQueryLod(samp2Ds, pf2); // ERROR, not until 400\r
+}\r
float f;\r
interpolateAtCentroid(f); // ERROR, not interpolant\r
interpolateAtSample(outp, 0); // ERROR, not interpolant\r
-}
\ No newline at end of file
+}\r
+\r
+uniform sampler1D samp1D;\r
+uniform isampler2D isamp2D;\r
+uniform usampler3D usamp3D;\r
+uniform samplerCube sampCube; \r
+uniform isampler1DArray isamp1DA;\r
+uniform usampler2DArray usamp2DA;\r
+uniform isamplerCubeArray isampCubeA;\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
+ vec2 lod;\r
+ float pf;\r
+ vec2 pf2;\r
+ vec3 pf3;\r
+\r
+ lod = textureQueryLod(samp1D, pf);\r
+ lod = textureQueryLod(isamp2D, pf2);\r
+ lod = textureQueryLod(usamp3D, pf3);\r
+ lod = textureQueryLod(sampCube, pf3);\r
+ lod = textureQueryLod(isamp1DA, pf);\r
+ lod = textureQueryLod(usamp2DA, pf2);\r
+ lod = textureQueryLod(isampCubeA, pf3);\r
+\r
+ lod = textureQueryLod(samp1Ds, pf);\r
+ lod = textureQueryLod(samp2Ds, pf2);\r
+ lod = textureQueryLod(sampCubes, pf3);\r
+ lod = textureQueryLod(samp1DAs, pf);\r
+ lod = textureQueryLod(samp2DAs, pf2);\r
+ lod = textureQueryLod(sampCubeAs, pf3);\r
+\r
+ lod = textureQueryLod(sampBuf, pf); // ERROR\r
+ lod = textureQueryLod(sampRect, pf2); // ERROR\r
+}\r
}\r
\r
layout(location = 7, index = 1) out vec4 indexedOut;\r
+\r
+uniform sampler1D samp1D;\r
+uniform sampler2DShadow samp2Ds;\r
+\r
+void qlod()\r
+{\r
+ vec2 lod;\r
+ float pf;\r
+ vec2 pf2;\r
+ vec3 pf3;\r
+\r
+ lod = textureQueryLod(samp1D, pf); // ERROR, only in fragment\r
+ lod = textureQueryLod(samp2Ds, pf2); // ERROR, only in fragment\r
+}\r
uniform offcheck {
layout(offset = 16) int foo; // ERROR
} offcheckI;
+
+uniform sampler1D samp1D;\r
+uniform sampler1DShadow samp1Ds;\r
+\r
+void qlod()\r
+{\r
+ int levels;\r
+\r
+ levels = textureQueryLevels(samp1D); // ERROR, not until 430\r
+ levels = textureQueryLevels(samp1Ds); // ERROR, not until 430\r
+}
\ No newline at end of file
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
ERROR: 0:126: 'location/component/index' : cannot declare a default, use a full declaration \r
ERROR: 0:127: 'location/component/index' : cannot declare a default, use a full declaration \r
ERROR: 0:128: 'output block' : not supported in this stage: fragment\r
-ERROR: 34 compilation errors. No code generated.\r
+ERROR: 0:140: 'textureQueryLod' : no matching overloaded function found \r
+ERROR: 0:140: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'\r
+ERROR: 0:141: 'textureQueryLod' : no matching overloaded function found \r
+ERROR: 0:141: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'\r
+ERROR: 38 compilation errors. No code generated.\r
\r
\r
Shader version: 330\r
0:24 move second child to first child (temp 4-component vector of float)\r
0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)\r
0:24 'inVar' (smooth in 4-component vector of float)\r
+0:133 Function Definition: qlod( (global void)\r
+0:133 Function Parameters: \r
+0:? Sequence\r
+0:140 'lod' (temp 2-component vector of float)\r
+0:141 'lod' (temp 2-component vector of float)\r
0:? Linker Objects\r
0:? 'inVar' (smooth in 4-component vector of float)\r
0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)\r
0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)\r
0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)\r
0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
\r
\r
Linked fragment stage:\r
0:24 move second child to first child (temp 4-component vector of float)\r
0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)\r
0:24 'inVar' (smooth in 4-component vector of float)\r
+0:133 Function Definition: qlod( (global void)\r
+0:133 Function Parameters: \r
+0:? Sequence\r
+0:140 'lod' (temp 2-component vector of float)\r
+0:141 'lod' (temp 2-component vector of float)\r
0:? Linker Objects\r
0:? 'inVar' (smooth in 4-component vector of float)\r
0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)\r
0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)\r
0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)\r
0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
\r
ERROR: 0:136: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element \r
ERROR: 0:139: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element \r
ERROR: 0:140: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element \r
-ERROR: 30 compilation errors. No code generated.\r
+ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found \r
+ERROR: 0:183: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'\r
+ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found \r
+ERROR: 0:184: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'\r
+ERROR: 34 compilation errors. No code generated.\r
\r
\r
Shader version: 400\r
0:140 'outp' (out 4-component vector of float)\r
0:140 Constant:\r
0:140 0 (const int)\r
+0:161 Function Definition: qlod( (global void)\r
+0:161 Function Parameters: \r
+0:? Sequence\r
+0:168 move second child to first child (temp 2-component vector of float)\r
+0:168 'lod' (temp 2-component vector of float)\r
+0:168 textureQueryLod (global 2-component vector of float)\r
+0:168 'samp1D' (uniform sampler1D)\r
+0:168 'pf' (temp float)\r
+0:169 move second child to first child (temp 2-component vector of float)\r
+0:169 'lod' (temp 2-component vector of float)\r
+0:169 textureQueryLod (global 2-component vector of float)\r
+0:169 'isamp2D' (uniform isampler2D)\r
+0:169 'pf2' (temp 2-component vector of float)\r
+0:170 move second child to first child (temp 2-component vector of float)\r
+0:170 'lod' (temp 2-component vector of float)\r
+0:170 textureQueryLod (global 2-component vector of float)\r
+0:170 'usamp3D' (uniform usampler3D)\r
+0:170 'pf3' (temp 3-component vector of float)\r
+0:171 move second child to first child (temp 2-component vector of float)\r
+0:171 'lod' (temp 2-component vector of float)\r
+0:171 textureQueryLod (global 2-component vector of float)\r
+0:171 'sampCube' (uniform samplerCube)\r
+0:171 'pf3' (temp 3-component vector of float)\r
+0:172 move second child to first child (temp 2-component vector of float)\r
+0:172 'lod' (temp 2-component vector of float)\r
+0:172 textureQueryLod (global 2-component vector of float)\r
+0:172 'isamp1DA' (uniform isampler1DArray)\r
+0:172 'pf' (temp float)\r
+0:173 move second child to first child (temp 2-component vector of float)\r
+0:173 'lod' (temp 2-component vector of float)\r
+0:173 textureQueryLod (global 2-component vector of float)\r
+0:173 'usamp2DA' (uniform usampler2DArray)\r
+0:173 'pf2' (temp 2-component vector of float)\r
+0:174 move second child to first child (temp 2-component vector of float)\r
+0:174 'lod' (temp 2-component vector of float)\r
+0:174 textureQueryLod (global 2-component vector of float)\r
+0:174 'isampCubeA' (uniform isamplerCubeArray)\r
+0:174 'pf3' (temp 3-component vector of float)\r
+0:176 move second child to first child (temp 2-component vector of float)\r
+0:176 'lod' (temp 2-component vector of float)\r
+0:176 textureQueryLod (global 2-component vector of float)\r
+0:176 'samp1Ds' (uniform sampler1DShadow)\r
+0:176 'pf' (temp float)\r
+0:177 move second child to first child (temp 2-component vector of float)\r
+0:177 'lod' (temp 2-component vector of float)\r
+0:177 textureQueryLod (global 2-component vector of float)\r
+0:177 'samp2Ds' (uniform sampler2DShadow)\r
+0:177 'pf2' (temp 2-component vector of float)\r
+0:178 move second child to first child (temp 2-component vector of float)\r
+0:178 'lod' (temp 2-component vector of float)\r
+0:178 textureQueryLod (global 2-component vector of float)\r
+0:178 'sampCubes' (uniform samplerCubeShadow)\r
+0:178 'pf3' (temp 3-component vector of float)\r
+0:179 move second child to first child (temp 2-component vector of float)\r
+0:179 'lod' (temp 2-component vector of float)\r
+0:179 textureQueryLod (global 2-component vector of float)\r
+0:179 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:179 'pf' (temp float)\r
+0:180 move second child to first child (temp 2-component vector of float)\r
+0:180 'lod' (temp 2-component vector of float)\r
+0:180 textureQueryLod (global 2-component vector of float)\r
+0:180 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:180 'pf2' (temp 2-component vector of float)\r
+0:181 move second child to first child (temp 2-component vector of float)\r
+0:181 'lod' (temp 2-component vector of float)\r
+0:181 textureQueryLod (global 2-component vector of float)\r
+0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:181 'pf3' (temp 3-component vector of float)\r
+0:183 'lod' (temp 2-component vector of float)\r
+0:184 'lod' (temp 2-component vector of float)\r
0:? Linker Objects\r
0:? 'c2D' (smooth in 2-component vector of float)\r
0:? 'i' (flat in int)\r
0:? 'colorfc' (centroid flat in 2-component vector of float)\r
0:? 's1' (smooth in structure{global float x})\r
0:? 's2' (sample temp structure{global float x})\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'isamp2D' (uniform isampler2D)\r
+0:? 'usamp3D' (uniform usampler3D)\r
+0:? 'sampCube' (uniform samplerCube)\r
+0:? 'isamp1DA' (uniform isampler1DArray)\r
+0:? 'usamp2DA' (uniform usampler2DArray)\r
+0:? 'isampCubeA' (uniform isamplerCubeArray)\r
+0:? 'samp1Ds' (uniform sampler1DShadow)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
+0:? 'sampCubes' (uniform samplerCubeShadow)\r
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:? 'sampBuf' (uniform samplerBuffer)\r
+0:? 'sampRect' (uniform sampler2DRect)\r
\r
\r
Linked fragment stage:\r
0:140 'outp' (out 4-component vector of float)\r
0:140 Constant:\r
0:140 0 (const int)\r
+0:161 Function Definition: qlod( (global void)\r
+0:161 Function Parameters: \r
+0:? Sequence\r
+0:168 move second child to first child (temp 2-component vector of float)\r
+0:168 'lod' (temp 2-component vector of float)\r
+0:168 textureQueryLod (global 2-component vector of float)\r
+0:168 'samp1D' (uniform sampler1D)\r
+0:168 'pf' (temp float)\r
+0:169 move second child to first child (temp 2-component vector of float)\r
+0:169 'lod' (temp 2-component vector of float)\r
+0:169 textureQueryLod (global 2-component vector of float)\r
+0:169 'isamp2D' (uniform isampler2D)\r
+0:169 'pf2' (temp 2-component vector of float)\r
+0:170 move second child to first child (temp 2-component vector of float)\r
+0:170 'lod' (temp 2-component vector of float)\r
+0:170 textureQueryLod (global 2-component vector of float)\r
+0:170 'usamp3D' (uniform usampler3D)\r
+0:170 'pf3' (temp 3-component vector of float)\r
+0:171 move second child to first child (temp 2-component vector of float)\r
+0:171 'lod' (temp 2-component vector of float)\r
+0:171 textureQueryLod (global 2-component vector of float)\r
+0:171 'sampCube' (uniform samplerCube)\r
+0:171 'pf3' (temp 3-component vector of float)\r
+0:172 move second child to first child (temp 2-component vector of float)\r
+0:172 'lod' (temp 2-component vector of float)\r
+0:172 textureQueryLod (global 2-component vector of float)\r
+0:172 'isamp1DA' (uniform isampler1DArray)\r
+0:172 'pf' (temp float)\r
+0:173 move second child to first child (temp 2-component vector of float)\r
+0:173 'lod' (temp 2-component vector of float)\r
+0:173 textureQueryLod (global 2-component vector of float)\r
+0:173 'usamp2DA' (uniform usampler2DArray)\r
+0:173 'pf2' (temp 2-component vector of float)\r
+0:174 move second child to first child (temp 2-component vector of float)\r
+0:174 'lod' (temp 2-component vector of float)\r
+0:174 textureQueryLod (global 2-component vector of float)\r
+0:174 'isampCubeA' (uniform isamplerCubeArray)\r
+0:174 'pf3' (temp 3-component vector of float)\r
+0:176 move second child to first child (temp 2-component vector of float)\r
+0:176 'lod' (temp 2-component vector of float)\r
+0:176 textureQueryLod (global 2-component vector of float)\r
+0:176 'samp1Ds' (uniform sampler1DShadow)\r
+0:176 'pf' (temp float)\r
+0:177 move second child to first child (temp 2-component vector of float)\r
+0:177 'lod' (temp 2-component vector of float)\r
+0:177 textureQueryLod (global 2-component vector of float)\r
+0:177 'samp2Ds' (uniform sampler2DShadow)\r
+0:177 'pf2' (temp 2-component vector of float)\r
+0:178 move second child to first child (temp 2-component vector of float)\r
+0:178 'lod' (temp 2-component vector of float)\r
+0:178 textureQueryLod (global 2-component vector of float)\r
+0:178 'sampCubes' (uniform samplerCubeShadow)\r
+0:178 'pf3' (temp 3-component vector of float)\r
+0:179 move second child to first child (temp 2-component vector of float)\r
+0:179 'lod' (temp 2-component vector of float)\r
+0:179 textureQueryLod (global 2-component vector of float)\r
+0:179 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:179 'pf' (temp float)\r
+0:180 move second child to first child (temp 2-component vector of float)\r
+0:180 'lod' (temp 2-component vector of float)\r
+0:180 textureQueryLod (global 2-component vector of float)\r
+0:180 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:180 'pf2' (temp 2-component vector of float)\r
+0:181 move second child to first child (temp 2-component vector of float)\r
+0:181 'lod' (temp 2-component vector of float)\r
+0:181 textureQueryLod (global 2-component vector of float)\r
+0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:181 'pf3' (temp 3-component vector of float)\r
+0:183 'lod' (temp 2-component vector of float)\r
+0:184 'lod' (temp 2-component vector of float)\r
0:? Linker Objects\r
0:? 'c2D' (smooth in 2-component vector of float)\r
0:? 'i' (flat in int)\r
0:? 'colorfc' (centroid flat in 2-component vector of float)\r
0:? 's1' (smooth in structure{global float x})\r
0:? 's2' (sample temp structure{global float x})\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'isamp2D' (uniform isampler2D)\r
+0:? 'usamp3D' (uniform usampler3D)\r
+0:? 'sampCube' (uniform samplerCube)\r
+0:? 'isamp1DA' (uniform isampler1DArray)\r
+0:? 'usamp2DA' (uniform usampler2DArray)\r
+0:? 'isampCubeA' (uniform isamplerCubeArray)\r
+0:? 'samp1Ds' (uniform sampler1DShadow)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
+0:? 'sampCubes' (uniform samplerCubeShadow)\r
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:? 'sampBuf' (uniform samplerBuffer)\r
+0:? 'sampRect' (uniform sampler2DRect)\r
\r
ERROR: 0:67: 'in' : type must be an array: inbls\r
ERROR: 0:71: 'triangles' : inconsistent input primitive for array size of inbla\r
ERROR: 0:103: 'index' : there is no such layout identifier for this stage taking an assigned value \r
-ERROR: 19 compilation errors. No code generated.\r
+ERROR: 0:115: 'textureQueryLod' : no matching overloaded function found \r
+ERROR: 0:115: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'\r
+ERROR: 0:116: 'textureQueryLod' : no matching overloaded function found \r
+ERROR: 0:116: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'\r
+ERROR: 23 compilation errors. No code generated.\r
\r
\r
Shader version: 400\r
0:100 'i2' (temp 2-component vector of int)\r
0:100 findMSB (global 2-component vector of int)\r
0:100 'u2' (temp 2-component vector of uint)\r
+0:108 Function Definition: qlod( (global void)\r
+0:108 Function Parameters: \r
+0:? Sequence\r
+0:115 'lod' (temp 2-component vector of float)\r
+0:116 'lod' (temp 2-component vector of float)\r
0:? Linker Objects\r
0:? 'bn' (in 3-element array of block{in int a})\r
0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})\r
0:? 'inbls' (in block{in int a})\r
0:? 'inbla' (in 17-element array of block{in int a})\r
0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
\r
\r
Linked geometry stage:\r
0:100 'i2' (temp 2-component vector of int)\r
0:100 findMSB (global 2-component vector of int)\r
0:100 'u2' (temp 2-component vector of uint)\r
+0:108 Function Definition: qlod( (global void)\r
+0:108 Function Parameters: \r
+0:? Sequence\r
+0:115 'lod' (temp 2-component vector of float)\r
+0:116 'lod' (temp 2-component vector of float)\r
0:? Linker Objects\r
0:? 'bn' (in 3-element array of block{in int a})\r
0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})\r
0:? 'inbls' (in block{in int a})\r
0:? 'inbla' (in 17-element array of block{in int a})\r
0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
\r
ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images \r
ERROR: 0:144: 'r8ui' : does not apply to signed integer images \r
ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions \r
-ERROR: 48 compilation errors. No code generated.\r
+ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found \r
+ERROR: 0:157: 'assign' : cannot convert from 'const float' to 'temp int'\r
+ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found \r
+ERROR: 0:158: 'assign' : cannot convert from 'const float' to 'temp int'\r
+ERROR: 52 compilation errors. No code generated.\r
\r
\r
Shader version: 420\r
0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)\r
0:136 Function Call: passr(iI21; (global void)\r
0:136 'iimg2D' (layout(r32i ) uniform iimage2D)\r
+0:153 Function Definition: qlod( (global void)\r
+0:153 Function Parameters: \r
+0:? Sequence\r
+0:157 'levels' (temp int)\r
+0:158 'levels' (temp int)\r
0:? Linker Objects\r
0:? 'v2' (smooth out 2-component vector of float)\r
0:? 'bad' (in 10-element array of 4-component vector of float)\r
0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)\r
0:? 'i6bad' (layout(r8ui ) uniform iimage2D)\r
0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'samp1Ds' (uniform sampler1DShadow)\r
0:? 'gl_VertexID' (gl_VertexId int VertexId)\r
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)\r
\r
0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)\r
0:136 Function Call: passr(iI21; (global void)\r
0:136 'iimg2D' (layout(r32i ) uniform iimage2D)\r
+0:153 Function Definition: qlod( (global void)\r
+0:153 Function Parameters: \r
+0:? Sequence\r
+0:157 'levels' (temp int)\r
+0:158 'levels' (temp int)\r
0:? Linker Objects\r
0:? 'v2' (smooth out 2-component vector of float)\r
0:? 'bad' (in 10-element array of 4-component vector of float)\r
0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)\r
0:? 'i6bad' (layout(r8ui ) uniform iimage2D)\r
0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'samp1Ds' (uniform sampler1DShadow)\r
0:? 'gl_VertexID' (gl_VertexId int VertexId)\r
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)\r
\r
ERROR: 0:169: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions \r
ERROR: 0:170: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions \r
ERROR: 0:171: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions \r
-ERROR: 59 compilation errors. No code generated.\r
+ERROR: 0:221: 'textureQueryLevels' : no matching overloaded function found \r
+ERROR: 0:221: 'assign' : cannot convert from 'const float' to 'temp int'\r
+ERROR: 0:222: 'textureQueryLevels' : no matching overloaded function found \r
+ERROR: 0:222: 'assign' : cannot convert from 'const float' to 'temp int'\r
+ERROR: 63 compilation errors. No code generated.\r
\r
\r
Shader version: 430\r
0:181 's' (temp int)\r
0:181 imageQuerySamples (global int)\r
0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
+0:202 Function Definition: qlod( (global void)\r
+0:202 Function Parameters: \r
+0:? Sequence\r
+0:206 move second child to first child (temp int)\r
+0:206 'levels' (temp int)\r
+0:206 textureQueryLevels (global int)\r
+0:206 'samp1D' (uniform sampler1D)\r
+0:207 move second child to first child (temp int)\r
+0:207 'levels' (temp int)\r
+0:207 textureQueryLevels (global int)\r
+0:207 'usamp2D' (uniform usampler2D)\r
+0:208 move second child to first child (temp int)\r
+0:208 'levels' (temp int)\r
+0:208 textureQueryLevels (global int)\r
+0:208 'isamp3D' (uniform isampler3D)\r
+0:209 move second child to first child (temp int)\r
+0:209 'levels' (temp int)\r
+0:209 textureQueryLevels (global int)\r
+0:209 'isampCube' (uniform isamplerCube)\r
+0:210 move second child to first child (temp int)\r
+0:210 'levels' (temp int)\r
+0:210 textureQueryLevels (global int)\r
+0:210 'isamp1DA' (uniform isampler1DArray)\r
+0:211 move second child to first child (temp int)\r
+0:211 'levels' (temp int)\r
+0:211 textureQueryLevels (global int)\r
+0:211 'samp2DA' (uniform sampler2DArray)\r
+0:212 move second child to first child (temp int)\r
+0:212 'levels' (temp int)\r
+0:212 textureQueryLevels (global int)\r
+0:212 'usampCubeA' (uniform usamplerCubeArray)\r
+0:214 move second child to first child (temp int)\r
+0:214 'levels' (temp int)\r
+0:214 textureQueryLevels (global int)\r
+0:214 'samp1Ds' (uniform sampler1DShadow)\r
+0:215 move second child to first child (temp int)\r
+0:215 'levels' (temp int)\r
+0:215 textureQueryLevels (global int)\r
+0:215 'samp2Ds' (uniform sampler2DShadow)\r
+0:216 move second child to first child (temp int)\r
+0:216 'levels' (temp int)\r
+0:216 textureQueryLevels (global int)\r
+0:216 'sampCubes' (uniform samplerCubeShadow)\r
+0:217 move second child to first child (temp int)\r
+0:217 'levels' (temp int)\r
+0:217 textureQueryLevels (global int)\r
+0:217 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:218 move second child to first child (temp int)\r
+0:218 'levels' (temp int)\r
+0:218 textureQueryLevels (global int)\r
+0:218 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:219 move second child to first child (temp int)\r
+0:219 'levels' (temp int)\r
+0:219 textureQueryLevels (global int)\r
+0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:221 'levels' (temp int)\r
+0:222 'levels' (temp int)\r
0:? Linker Objects\r
0:? 'v4' (layout(location=3 ) temp 4-component vector of float)\r
0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)\r
0:? 'us2dmsa' (uniform usampler2DMSArray)\r
0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'usamp2D' (uniform usampler2D)\r
+0:? 'isamp3D' (uniform isampler3D)\r
+0:? 'isampCube' (uniform isamplerCube)\r
+0:? 'isamp1DA' (uniform isampler1DArray)\r
+0:? 'samp2DA' (uniform sampler2DArray)\r
+0:? 'usampCubeA' (uniform usamplerCubeArray)\r
+0:? 'samp1Ds' (uniform sampler1DShadow)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
+0:? 'sampCubes' (uniform samplerCubeShadow)\r
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:? 'sampBuf' (uniform samplerBuffer)\r
+0:? 'sampRect' (uniform sampler2DRect)\r
0:? 'gl_VertexID' (gl_VertexId int VertexId)\r
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)\r
\r
0:181 's' (temp int)\r
0:181 imageQuerySamples (global int)\r
0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
+0:202 Function Definition: qlod( (global void)\r
+0:202 Function Parameters: \r
+0:? Sequence\r
+0:206 move second child to first child (temp int)\r
+0:206 'levels' (temp int)\r
+0:206 textureQueryLevels (global int)\r
+0:206 'samp1D' (uniform sampler1D)\r
+0:207 move second child to first child (temp int)\r
+0:207 'levels' (temp int)\r
+0:207 textureQueryLevels (global int)\r
+0:207 'usamp2D' (uniform usampler2D)\r
+0:208 move second child to first child (temp int)\r
+0:208 'levels' (temp int)\r
+0:208 textureQueryLevels (global int)\r
+0:208 'isamp3D' (uniform isampler3D)\r
+0:209 move second child to first child (temp int)\r
+0:209 'levels' (temp int)\r
+0:209 textureQueryLevels (global int)\r
+0:209 'isampCube' (uniform isamplerCube)\r
+0:210 move second child to first child (temp int)\r
+0:210 'levels' (temp int)\r
+0:210 textureQueryLevels (global int)\r
+0:210 'isamp1DA' (uniform isampler1DArray)\r
+0:211 move second child to first child (temp int)\r
+0:211 'levels' (temp int)\r
+0:211 textureQueryLevels (global int)\r
+0:211 'samp2DA' (uniform sampler2DArray)\r
+0:212 move second child to first child (temp int)\r
+0:212 'levels' (temp int)\r
+0:212 textureQueryLevels (global int)\r
+0:212 'usampCubeA' (uniform usamplerCubeArray)\r
+0:214 move second child to first child (temp int)\r
+0:214 'levels' (temp int)\r
+0:214 textureQueryLevels (global int)\r
+0:214 'samp1Ds' (uniform sampler1DShadow)\r
+0:215 move second child to first child (temp int)\r
+0:215 'levels' (temp int)\r
+0:215 textureQueryLevels (global int)\r
+0:215 'samp2Ds' (uniform sampler2DShadow)\r
+0:216 move second child to first child (temp int)\r
+0:216 'levels' (temp int)\r
+0:216 textureQueryLevels (global int)\r
+0:216 'sampCubes' (uniform samplerCubeShadow)\r
+0:217 move second child to first child (temp int)\r
+0:217 'levels' (temp int)\r
+0:217 textureQueryLevels (global int)\r
+0:217 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:218 move second child to first child (temp int)\r
+0:218 'levels' (temp int)\r
+0:218 textureQueryLevels (global int)\r
+0:218 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:219 move second child to first child (temp int)\r
+0:219 'levels' (temp int)\r
+0:219 textureQueryLevels (global int)\r
+0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:221 'levels' (temp int)\r
+0:222 'levels' (temp int)\r
0:? Linker Objects\r
0:? 'v4' (layout(location=3 ) temp 4-component vector of float)\r
0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)\r
0:? 'us2dmsa' (uniform usampler2DMSArray)\r
0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
+0:? 'samp1D' (uniform sampler1D)\r
+0:? 'usamp2D' (uniform usampler2D)\r
+0:? 'isamp3D' (uniform isampler3D)\r
+0:? 'isampCube' (uniform isamplerCube)\r
+0:? 'isamp1DA' (uniform isampler1DArray)\r
+0:? 'samp2DA' (uniform sampler2DArray)\r
+0:? 'usampCubeA' (uniform usamplerCubeArray)\r
+0:? 'samp1Ds' (uniform sampler1DShadow)\r
+0:? 'samp2Ds' (uniform sampler2DShadow)\r
+0:? 'sampCubes' (uniform samplerCubeShadow)\r
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)\r
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)\r
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)\r
+0:? 'sampBuf' (uniform samplerBuffer)\r
+0:? 'sampRect' (uniform sampler2DRect)\r
0:? 'gl_VertexID' (gl_VertexId int VertexId)\r
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)\r
\r
--- /dev/null
+spv.queryL.frag\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
+\r
+\r
+Linked fragment stage:\r
+\r
+\r
+// Module Version 99\r
+// Generated by (magic number): 51a00bb\r
+// Id's are bound by 211\r
+\r
+ Source GLSL 430\r
+ Capability Shader\r
+ 1: ExtInstImport "GLSL.std.450"\r
+ MemoryModel Logical GLSL450\r
+ EntryPoint Fragment 4 "main"\r
+ ExecutionMode 4 OriginLowerLeft\r
+ Name 4 "main"\r
+ Name 9 "lod"\r
+ Name 13 "samp1D"\r
+ Name 16 "pf"\r
+ Name 23 "isamp2D"\r
+ Name 25 "pf2"\r
+ Name 34 "usamp3D"\r
+ Name 38 "pf3"\r
+ Name 46 "sampCube"\r
+ Name 55 "isamp1DA"\r
+ Name 64 "usamp2DA"\r
+ Name 73 "isampCubeA"\r
+ Name 82 "samp1Ds"\r
+ Name 91 "samp2Ds"\r
+ Name 100 "sampCubes"\r
+ Name 109 "samp1DAs"\r
+ Name 118 "samp2DAs"\r
+ Name 127 "sampCubeAs"\r
+ Name 134 "levels"\r
+ Name 140 "usamp2D"\r
+ Name 148 "isamp3D"\r
+ Name 156 "isampCube"\r
+ Name 168 "samp2DA"\r
+ Name 176 "usampCubeA"\r
+ Name 206 "sampBuf"\r
+ Name 210 "sampRect"\r
+ Decorate 206(sampBuf) NoStaticUse\r
+ Decorate 210(sampRect) NoStaticUse\r
+ 2: TypeVoid\r
+ 3: TypeFunction 2\r
+ 6: TypeFloat 32\r
+ 7: TypeVector 6(float) 2\r
+ 8: TypePointer Function 7(fvec2)\r
+ 10: TypeImage 6(float) 1D sampled format:Unknown\r
+ 11: TypeSampledImage 10\r
+ 12: TypePointer UniformConstant 11\r
+ 13(samp1D): 12(ptr) Variable UniformConstant\r
+ 15: TypePointer Function 6(float)\r
+ 19: TypeInt 32 1\r
+ 20: TypeImage 19(int) 2D sampled format:Unknown\r
+ 21: TypeSampledImage 20\r
+ 22: TypePointer UniformConstant 21\r
+ 23(isamp2D): 22(ptr) Variable UniformConstant\r
+ 30: TypeInt 32 0\r
+ 31: TypeImage 30(int) 3D sampled format:Unknown\r
+ 32: TypeSampledImage 31\r
+ 33: TypePointer UniformConstant 32\r
+ 34(usamp3D): 33(ptr) Variable UniformConstant\r
+ 36: TypeVector 6(float) 3\r
+ 37: TypePointer Function 36(fvec3)\r
+ 43: TypeImage 6(float) Cube sampled format:Unknown\r
+ 44: TypeSampledImage 43\r
+ 45: TypePointer UniformConstant 44\r
+ 46(sampCube): 45(ptr) Variable UniformConstant\r
+ 52: TypeImage 19(int) 1D array sampled format:Unknown\r
+ 53: TypeSampledImage 52\r
+ 54: TypePointer UniformConstant 53\r
+ 55(isamp1DA): 54(ptr) Variable UniformConstant\r
+ 61: TypeImage 30(int) 2D array sampled format:Unknown\r
+ 62: TypeSampledImage 61\r
+ 63: TypePointer UniformConstant 62\r
+ 64(usamp2DA): 63(ptr) Variable UniformConstant\r
+ 70: TypeImage 19(int) Cube array sampled format:Unknown\r
+ 71: TypeSampledImage 70\r
+ 72: TypePointer UniformConstant 71\r
+ 73(isampCubeA): 72(ptr) Variable UniformConstant\r
+ 79: TypeImage 6(float) 1D depth sampled format:Unknown\r
+ 80: TypeSampledImage 79\r
+ 81: TypePointer UniformConstant 80\r
+ 82(samp1Ds): 81(ptr) Variable UniformConstant\r
+ 88: TypeImage 6(float) 2D depth sampled format:Unknown\r
+ 89: TypeSampledImage 88\r
+ 90: TypePointer UniformConstant 89\r
+ 91(samp2Ds): 90(ptr) Variable UniformConstant\r
+ 97: TypeImage 6(float) Cube depth sampled format:Unknown\r
+ 98: TypeSampledImage 97\r
+ 99: TypePointer UniformConstant 98\r
+ 100(sampCubes): 99(ptr) Variable UniformConstant\r
+ 106: TypeImage 6(float) 1D depth array sampled format:Unknown\r
+ 107: TypeSampledImage 106\r
+ 108: TypePointer UniformConstant 107\r
+ 109(samp1DAs): 108(ptr) Variable UniformConstant\r
+ 115: TypeImage 6(float) 2D depth array sampled format:Unknown\r
+ 116: TypeSampledImage 115\r
+ 117: TypePointer UniformConstant 116\r
+ 118(samp2DAs): 117(ptr) Variable UniformConstant\r
+ 124: TypeImage 6(float) Cube depth array sampled format:Unknown\r
+ 125: TypeSampledImage 124\r
+ 126: TypePointer UniformConstant 125\r
+ 127(sampCubeAs): 126(ptr) Variable UniformConstant\r
+ 133: TypePointer Function 19(int)\r
+ 137: TypeImage 30(int) 2D sampled format:Unknown\r
+ 138: TypeSampledImage 137\r
+ 139: TypePointer UniformConstant 138\r
+ 140(usamp2D): 139(ptr) Variable UniformConstant\r
+ 145: TypeImage 19(int) 3D sampled format:Unknown\r
+ 146: TypeSampledImage 145\r
+ 147: TypePointer UniformConstant 146\r
+ 148(isamp3D): 147(ptr) Variable UniformConstant\r
+ 153: TypeImage 19(int) Cube sampled format:Unknown\r
+ 154: TypeSampledImage 153\r
+ 155: TypePointer UniformConstant 154\r
+ 156(isampCube): 155(ptr) Variable UniformConstant\r
+ 165: TypeImage 6(float) 2D array sampled format:Unknown\r
+ 166: TypeSampledImage 165\r
+ 167: TypePointer UniformConstant 166\r
+ 168(samp2DA): 167(ptr) Variable UniformConstant\r
+ 173: TypeImage 30(int) Cube array sampled format:Unknown\r
+ 174: TypeSampledImage 173\r
+ 175: TypePointer UniformConstant 174\r
+ 176(usampCubeA): 175(ptr) Variable UniformConstant\r
+ 203: TypeImage 6(float) Buffer sampled format:Unknown\r
+ 204: TypeSampledImage 203\r
+ 205: TypePointer UniformConstant 204\r
+ 206(sampBuf): 205(ptr) Variable UniformConstant\r
+ 207: TypeImage 6(float) Rect sampled format:Unknown\r
+ 208: TypeSampledImage 207\r
+ 209: TypePointer UniformConstant 208\r
+ 210(sampRect): 209(ptr) Variable UniformConstant\r
+ 4(main): 2 Function None 3\r
+ 5: Label\r
+ 9(lod): 8(ptr) Variable Function\r
+ 16(pf): 15(ptr) Variable Function\r
+ 25(pf2): 8(ptr) Variable Function\r
+ 38(pf3): 37(ptr) Variable Function\r
+ 134(levels): 133(ptr) Variable Function\r
+ 14: 11 Load 13(samp1D)\r
+ 17: 6(float) Load 16(pf)\r
+ 18: 7(fvec2) ImageQueryLod 14 17\r
+ Store 9(lod) 18\r
+ 24: 21 Load 23(isamp2D)\r
+ 26: 7(fvec2) Load 25(pf2)\r
+ 27: 7(fvec2) ImageQueryLod 24 26\r
+ 28: 7(fvec2) Load 9(lod)\r
+ 29: 7(fvec2) FAdd 28 27\r
+ Store 9(lod) 29\r
+ 35: 32 Load 34(usamp3D)\r
+ 39: 36(fvec3) Load 38(pf3)\r
+ 40: 7(fvec2) ImageQueryLod 35 39\r
+ 41: 7(fvec2) Load 9(lod)\r
+ 42: 7(fvec2) FAdd 41 40\r
+ Store 9(lod) 42\r
+ 47: 44 Load 46(sampCube)\r
+ 48: 36(fvec3) Load 38(pf3)\r
+ 49: 7(fvec2) ImageQueryLod 47 48\r
+ 50: 7(fvec2) Load 9(lod)\r
+ 51: 7(fvec2) FAdd 50 49\r
+ Store 9(lod) 51\r
+ 56: 53 Load 55(isamp1DA)\r
+ 57: 6(float) Load 16(pf)\r
+ 58: 7(fvec2) ImageQueryLod 56 57\r
+ 59: 7(fvec2) Load 9(lod)\r
+ 60: 7(fvec2) FAdd 59 58\r
+ Store 9(lod) 60\r
+ 65: 62 Load 64(usamp2DA)\r
+ 66: 7(fvec2) Load 25(pf2)\r
+ 67: 7(fvec2) ImageQueryLod 65 66\r
+ 68: 7(fvec2) Load 9(lod)\r
+ 69: 7(fvec2) FAdd 68 67\r
+ Store 9(lod) 69\r
+ 74: 71 Load 73(isampCubeA)\r
+ 75: 36(fvec3) Load 38(pf3)\r
+ 76: 7(fvec2) ImageQueryLod 74 75\r
+ 77: 7(fvec2) Load 9(lod)\r
+ 78: 7(fvec2) FAdd 77 76\r
+ Store 9(lod) 78\r
+ 83: 80 Load 82(samp1Ds)\r
+ 84: 6(float) Load 16(pf)\r
+ 85: 7(fvec2) ImageQueryLod 83 84\r
+ 86: 7(fvec2) Load 9(lod)\r
+ 87: 7(fvec2) FAdd 86 85\r
+ Store 9(lod) 87\r
+ 92: 89 Load 91(samp2Ds)\r
+ 93: 7(fvec2) Load 25(pf2)\r
+ 94: 7(fvec2) ImageQueryLod 92 93\r
+ 95: 7(fvec2) Load 9(lod)\r
+ 96: 7(fvec2) FAdd 95 94\r
+ Store 9(lod) 96\r
+ 101: 98 Load 100(sampCubes)\r
+ 102: 36(fvec3) Load 38(pf3)\r
+ 103: 7(fvec2) ImageQueryLod 101 102\r
+ 104: 7(fvec2) Load 9(lod)\r
+ 105: 7(fvec2) FAdd 104 103\r
+ Store 9(lod) 105\r
+ 110: 107 Load 109(samp1DAs)\r
+ 111: 6(float) Load 16(pf)\r
+ 112: 7(fvec2) ImageQueryLod 110 111\r
+ 113: 7(fvec2) Load 9(lod)\r
+ 114: 7(fvec2) FAdd 113 112\r
+ Store 9(lod) 114\r
+ 119: 116 Load 118(samp2DAs)\r
+ 120: 7(fvec2) Load 25(pf2)\r
+ 121: 7(fvec2) ImageQueryLod 119 120\r
+ 122: 7(fvec2) Load 9(lod)\r
+ 123: 7(fvec2) FAdd 122 121\r
+ Store 9(lod) 123\r
+ 128: 125 Load 127(sampCubeAs)\r
+ 129: 36(fvec3) Load 38(pf3)\r
+ 130: 7(fvec2) ImageQueryLod 128 129\r
+ 131: 7(fvec2) Load 9(lod)\r
+ 132: 7(fvec2) FAdd 131 130\r
+ Store 9(lod) 132\r
+ 135: 11 Load 13(samp1D)\r
+ 136: 19(int) ImageQueryLevels 135\r
+ Store 134(levels) 136\r
+ 141: 138 Load 140(usamp2D)\r
+ 142: 19(int) ImageQueryLevels 141\r
+ 143: 19(int) Load 134(levels)\r
+ 144: 19(int) IAdd 143 142\r
+ Store 134(levels) 144\r
+ 149: 146 Load 148(isamp3D)\r
+ 150: 19(int) ImageQueryLevels 149\r
+ 151: 19(int) Load 134(levels)\r
+ 152: 19(int) IAdd 151 150\r
+ Store 134(levels) 152\r
+ 157: 154 Load 156(isampCube)\r
+ 158: 19(int) ImageQueryLevels 157\r
+ 159: 19(int) Load 134(levels)\r
+ 160: 19(int) IAdd 159 158\r
+ Store 134(levels) 160\r
+ 161: 53 Load 55(isamp1DA)\r
+ 162: 19(int) ImageQueryLevels 161\r
+ 163: 19(int) Load 134(levels)\r
+ 164: 19(int) IAdd 163 162\r
+ Store 134(levels) 164\r
+ 169: 166 Load 168(samp2DA)\r
+ 170: 19(int) ImageQueryLevels 169\r
+ 171: 19(int) Load 134(levels)\r
+ 172: 19(int) IAdd 171 170\r
+ Store 134(levels) 172\r
+ 177: 174 Load 176(usampCubeA)\r
+ 178: 19(int) ImageQueryLevels 177\r
+ 179: 19(int) Load 134(levels)\r
+ 180: 19(int) IAdd 179 178\r
+ Store 134(levels) 180\r
+ 181: 80 Load 82(samp1Ds)\r
+ 182: 19(int) ImageQueryLevels 181\r
+ Store 134(levels) 182\r
+ 183: 89 Load 91(samp2Ds)\r
+ 184: 19(int) ImageQueryLevels 183\r
+ 185: 19(int) Load 134(levels)\r
+ 186: 19(int) IAdd 185 184\r
+ Store 134(levels) 186\r
+ 187: 98 Load 100(sampCubes)\r
+ 188: 19(int) ImageQueryLevels 187\r
+ 189: 19(int) Load 134(levels)\r
+ 190: 19(int) IAdd 189 188\r
+ Store 134(levels) 190\r
+ 191: 107 Load 109(samp1DAs)\r
+ 192: 19(int) ImageQueryLevels 191\r
+ 193: 19(int) Load 134(levels)\r
+ 194: 19(int) IAdd 193 192\r
+ Store 134(levels) 194\r
+ 195: 116 Load 118(samp2DAs)\r
+ 196: 19(int) ImageQueryLevels 195\r
+ 197: 19(int) Load 134(levels)\r
+ 198: 19(int) IAdd 197 196\r
+ Store 134(levels) 198\r
+ 199: 125 Load 127(sampCubeAs)\r
+ 200: 19(int) ImageQueryLevels 199\r
+ 201: 19(int) Load 134(levels)\r
+ 202: 19(int) IAdd 201 200\r
+ Store 134(levels) 202\r
+ Return\r
+ FunctionEnd\r
--- /dev/null
+#version 430 core
+
+uniform sampler1D samp1D;\r
+uniform isampler2D isamp2D;\r
+uniform usampler2D usamp2D;\r
+uniform isampler3D isamp3D;\r
+uniform usampler3D usamp3D;\r
+uniform samplerCube sampCube; \r
+uniform isamplerCube isampCube; \r
+uniform isampler1DArray isamp1DA;\r
+uniform sampler2DArray samp2DA;\r
+uniform usampler2DArray usamp2DA;\r
+uniform isamplerCubeArray isampCubeA;\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 main()\r
+{\r
+ vec2 lod;\r
+ float pf;\r
+ vec2 pf2;\r
+ vec3 pf3;\r
+\r
+ lod = textureQueryLod(samp1D, pf);\r
+ lod += textureQueryLod(isamp2D, pf2);\r
+ lod += textureQueryLod(usamp3D, pf3);\r
+ lod += textureQueryLod(sampCube, pf3);\r
+ lod += textureQueryLod(isamp1DA, pf);\r
+ lod += textureQueryLod(usamp2DA, pf2);\r
+ lod += textureQueryLod(isampCubeA, pf3);\r
+\r
+ lod += textureQueryLod(samp1Ds, pf);\r
+ lod += textureQueryLod(samp2Ds, pf2);\r
+ lod += textureQueryLod(sampCubes, pf3);\r
+ lod += textureQueryLod(samp1DAs, pf);\r
+ lod += textureQueryLod(samp2DAs, pf2);\r
+ lod += textureQueryLod(sampCubeAs, pf3);\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
spv.whileLoop.frag
spv.atomic.comp
spv.AofA.frag
+spv.queryL.frag
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
-#define GLSLANG_REVISION "3.0.755"
+#define GLSLANG_REVISION "3.0.756"
#define GLSLANG_DATE "15-Sep-2015"
if (version >= 130)
add2ndGenerationSamplingImaging(version, profile);
- // printf("%s\n", commonBuiltins.c_str());
+ //printf("%s\n", commonBuiltins.c_str());
+ //printf("%s\n", stageBuiltins[EShLangFragment].c_str());
}
//
//
void TBuiltIns::addQueryFunctions(TSampler sampler, TString& typeName, int version, EProfile profile)
{
- //
- // textureSize
- //
-
if (sampler.image && ((profile == EEsProfile && version < 310) || (profile != EEsProfile && version < 430)))
return;
+ //
+ // textureSize() and imageSize()
+ //
+
+ int sizeDims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0) - (sampler.dim == EsdCube ? 1 : 0);
if (profile == EEsProfile)
commonBuiltins.append("highp ");
- int dims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0) - (sampler.dim == EsdCube ? 1 : 0);
- if (dims == 1)
+ if (sizeDims == 1)
commonBuiltins.append("int");
else {
commonBuiltins.append("ivec");
- commonBuiltins.append(postfixes[dims]);
+ commonBuiltins.append(postfixes[sizeDims]);
}
if (sampler.image)
commonBuiltins.append(" imageSize(readonly writeonly volatile coherent ");
else
commonBuiltins.append(");\n");
+ //
+ // textureSamples() and imageSamples()
+ //
+
// GL_ARB_shader_texture_image_samples
// TODO: spec issue? there are no memory qualifiers; how to query a writeonly/readonly image, etc?
if (profile != EEsProfile && version >= 430 && sampler.ms) {
commonBuiltins.append(typeName);
commonBuiltins.append(");\n");
}
+
+ //
+ // textureQueryLod(), fragment stage only
+ //
+
+ if (profile != EEsProfile && version >= 400 && ! sampler.image && sampler.dim != EsdRect && ! sampler.ms && sampler.dim != EsdBuffer) {
+ stageBuiltins[EShLangFragment].append("vec2 textureQueryLod(");
+ stageBuiltins[EShLangFragment].append(typeName);
+ if (dimMap[sampler.dim] == 1)
+ stageBuiltins[EShLangFragment].append(", float");
+ else {
+ stageBuiltins[EShLangFragment].append(", vec");
+ stageBuiltins[EShLangFragment].append(postfixes[dimMap[sampler.dim]]);
+ }
+ stageBuiltins[EShLangFragment].append(");\n");
+ }
+
+ //
+ // textureQueryLevels()
+ //
+
+ if (profile != EEsProfile && version >= 430 && ! sampler.image && sampler.dim != EsdRect && ! sampler.ms && sampler.dim != EsdBuffer) {
+ commonBuiltins.append("int textureQueryLevels(");
+ commonBuiltins.append(typeName);
+ commonBuiltins.append(");\n");
+ }
}
//