diff --git a/Test/440.vert b/Test/440.vert index bfcdfd28..2e61f797 100644 --- a/Test/440.vert +++ b/Test/440.vert @@ -73,6 +73,9 @@ layout(location = 56, component = 1) out vec2 df2o; layout(location = 56, component = 3) out float sf2o; layout(location = 57, component = 2) out vec2 dv3o; layout(location = 57, component = 3) out float sf4o; // ERROR, overlapping component +layout(location=58) out flat dvec3 dv3o2; // uses part of location 59 +layout(location=59, component=2) out flat double dfo3; // okay, fits +layout(location=59, component=0) out flat double dfo4; // ERROR, overlaps the dvec3 in starting in 58 out bblck1 { vec4 bbv; diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out index d4cbb0b5..3c0a1200 100644 --- a/Test/baseResults/440.vert.out +++ b/Test/baseResults/440.vert.out @@ -23,74 +23,76 @@ ERROR: 0:66: 'component' : doubles cannot start on an odd-numbered component ERROR: 0:67: 'component' : type overflows the available 4 components ERROR: 0:71: 'location' : overlapping use of location 55 ERROR: 0:75: 'location' : overlapping use of location 57 -ERROR: 0:92: 'xfb layout qualifier' : can only be used on an output -ERROR: 0:98: 'xfb_offset' : cannot declare a default, use a full declaration -ERROR: 0:108: 'xfb_buffer' : member cannot contradict block (or what block inherited from global) -ERROR: 0:113: 'xfb_buffer' : member cannot contradict block (or what block inherited from global) -ERROR: 0:113: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3 -ERROR: 0:114: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2 -ERROR: 0:116: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2 -ERROR: 0:119: 'xfb_stride' : all stride settings must match for xfb buffer 15 -ERROR: 0:123: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1 -ERROR: 0:125: 'xfb_stride' : all stride settings must match for xfb buffer 3 -ERROR: 0:126: 'xfb_stride' : all stride settings must match for xfb buffer 3 -ERROR: 0:130: 'xfb_stride' : all stride settings must match for xfb buffer 3 +ERROR: 0:77: 'location' : overlapping use of location 59 +ERROR: 0:78: 'location' : overlapping use of location 59 +ERROR: 0:95: 'xfb layout qualifier' : can only be used on an output +ERROR: 0:101: 'xfb_offset' : cannot declare a default, use a full declaration +ERROR: 0:111: 'xfb_buffer' : member cannot contradict block (or what block inherited from global) +ERROR: 0:116: 'xfb_buffer' : member cannot contradict block (or what block inherited from global) +ERROR: 0:116: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3 +ERROR: 0:117: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2 +ERROR: 0:119: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2 +ERROR: 0:122: 'xfb_stride' : all stride settings must match for xfb buffer 15 +ERROR: 0:126: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1 ERROR: 0:128: 'xfb_stride' : all stride settings must match for xfb buffer 3 -ERROR: 0:149: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0 -ERROR: 0:154: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 -ERROR: 0:155: 'xfb_offset' : must be a multiple of size of first component -ERROR: 0:156: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8 +ERROR: 0:129: 'xfb_stride' : all stride settings must match for xfb buffer 3 +ERROR: 0:133: 'xfb_stride' : all stride settings must match for xfb buffer 3 +ERROR: 0:131: 'xfb_stride' : all stride settings must match for xfb buffer 3 +ERROR: 0:152: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0 +ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 ERROR: 0:158: 'xfb_offset' : must be a multiple of size of first component ERROR: 0:159: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8 -ERROR: 0:163: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 +ERROR: 0:161: 'xfb_offset' : must be a multiple of size of first component +ERROR: 0:162: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8 ERROR: 0:166: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 -ERROR: 0:166: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64 -ERROR: 0:168: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 -ERROR: 0:176: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters -ERROR: 0:176: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters -ERROR: 0:176: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters -ERROR: 0:184: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input) -ERROR: 0:185: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input) -ERROR: 0:186: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input) -ERROR: 0:187: 'glBaseInstanceARB' : undeclared identifier -ERROR: 53 compilation errors. No code generated. +ERROR: 0:169: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 +ERROR: 0:169: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64 +ERROR: 0:171: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4 +ERROR: 0:179: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters +ERROR: 0:179: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters +ERROR: 0:179: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters +ERROR: 0:187: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input) +ERROR: 0:188: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input) +ERROR: 0:189: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input) +ERROR: 0:190: 'glBaseInstanceARB' : undeclared identifier +ERROR: 55 compilation errors. No code generated. Shader version: 440 Requested GL_ARB_shader_draw_parameters in xfb mode ERROR: node is still EOpNull! -0:174 Function Definition: drawParamsBad( (global int) -0:174 Function Parameters: -0:176 Sequence -0:176 Branch: Return with expression -0:176 add (temp int) -0:176 add (temp int) -0:176 'gl_BaseVertexARB' (in int BaseVertex) -0:176 'gl_BaseInstanceARB' (in int BaseInstance) -0:176 'gl_DrawIDARB' (in int DrawId) -0:181 Function Definition: drawParams( (global int) -0:181 Function Parameters: -0:183 Sequence -0:183 Branch: Return with expression -0:183 add (temp int) -0:183 add (temp int) -0:183 'gl_BaseVertexARB' (in int BaseVertex) -0:183 'gl_BaseInstanceARB' (in int BaseInstance) -0:183 'gl_DrawIDARB' (in int DrawId) -0:184 move second child to first child (temp int) -0:184 'gl_BaseVertexARB' (in int BaseVertex) -0:184 Constant: -0:184 3 (const int) -0:185 move second child to first child (temp int) -0:185 'gl_BaseInstanceARB' (in int BaseInstance) -0:185 Constant: -0:185 3 (const int) -0:186 move second child to first child (temp int) -0:186 'gl_DrawIDARB' (in int DrawId) -0:186 Constant: -0:186 3 (const int) -0:187 'glBaseInstanceARB' (temp float) +0:177 Function Definition: drawParamsBad( (global int) +0:177 Function Parameters: +0:179 Sequence +0:179 Branch: Return with expression +0:179 add (temp int) +0:179 add (temp int) +0:179 'gl_BaseVertexARB' (in int BaseVertex) +0:179 'gl_BaseInstanceARB' (in int BaseInstance) +0:179 'gl_DrawIDARB' (in int DrawId) +0:184 Function Definition: drawParams( (global int) +0:184 Function Parameters: +0:186 Sequence +0:186 Branch: Return with expression +0:186 add (temp int) +0:186 add (temp int) +0:186 'gl_BaseVertexARB' (in int BaseVertex) +0:186 'gl_BaseInstanceARB' (in int BaseInstance) +0:186 'gl_DrawIDARB' (in int DrawId) +0:187 move second child to first child (temp int) +0:187 'gl_BaseVertexARB' (in int BaseVertex) +0:187 Constant: +0:187 3 (const int) +0:188 move second child to first child (temp int) +0:188 'gl_BaseInstanceARB' (in int BaseInstance) +0:188 Constant: +0:188 3 (const int) +0:189 move second child to first child (temp int) +0:189 'gl_DrawIDARB' (in int DrawId) +0:189 Constant: +0:189 3 (const int) +0:190 'glBaseInstanceARB' (temp float) 0:? Linker Objects 0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float) 0:? 'b' (layout(location=2 component=1 ) in float) @@ -133,6 +135,9 @@ ERROR: node is still EOpNull! 0:? 'sf2o' (layout(location=56 component=3 ) smooth out float) 0:? 'dv3o' (layout(location=57 component=2 ) smooth out 2-component vector of float) 0:? 'sf4o' (layout(location=57 component=3 ) smooth out float) +0:? 'dv3o2' (layout(location=58 ) flat out 3-component vector of double) +0:? 'dfo3' (layout(location=59 component=2 ) flat out double) +0:? 'dfo4' (layout(location=59 component=0 ) flat out double) 0:? 'bbinst1' (out block{out 4-component vector of float bbv}) 0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) 0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv}) @@ -170,37 +175,37 @@ Shader version: 440 Requested GL_ARB_shader_draw_parameters in xfb mode ERROR: node is still EOpNull! -0:174 Function Definition: drawParamsBad( (global int) -0:174 Function Parameters: -0:176 Sequence -0:176 Branch: Return with expression -0:176 add (temp int) -0:176 add (temp int) -0:176 'gl_BaseVertexARB' (in int BaseVertex) -0:176 'gl_BaseInstanceARB' (in int BaseInstance) -0:176 'gl_DrawIDARB' (in int DrawId) -0:181 Function Definition: drawParams( (global int) -0:181 Function Parameters: -0:183 Sequence -0:183 Branch: Return with expression -0:183 add (temp int) -0:183 add (temp int) -0:183 'gl_BaseVertexARB' (in int BaseVertex) -0:183 'gl_BaseInstanceARB' (in int BaseInstance) -0:183 'gl_DrawIDARB' (in int DrawId) -0:184 move second child to first child (temp int) -0:184 'gl_BaseVertexARB' (in int BaseVertex) -0:184 Constant: -0:184 3 (const int) -0:185 move second child to first child (temp int) -0:185 'gl_BaseInstanceARB' (in int BaseInstance) -0:185 Constant: -0:185 3 (const int) -0:186 move second child to first child (temp int) -0:186 'gl_DrawIDARB' (in int DrawId) -0:186 Constant: -0:186 3 (const int) -0:187 'glBaseInstanceARB' (temp float) +0:177 Function Definition: drawParamsBad( (global int) +0:177 Function Parameters: +0:179 Sequence +0:179 Branch: Return with expression +0:179 add (temp int) +0:179 add (temp int) +0:179 'gl_BaseVertexARB' (in int BaseVertex) +0:179 'gl_BaseInstanceARB' (in int BaseInstance) +0:179 'gl_DrawIDARB' (in int DrawId) +0:184 Function Definition: drawParams( (global int) +0:184 Function Parameters: +0:186 Sequence +0:186 Branch: Return with expression +0:186 add (temp int) +0:186 add (temp int) +0:186 'gl_BaseVertexARB' (in int BaseVertex) +0:186 'gl_BaseInstanceARB' (in int BaseInstance) +0:186 'gl_DrawIDARB' (in int DrawId) +0:187 move second child to first child (temp int) +0:187 'gl_BaseVertexARB' (in int BaseVertex) +0:187 Constant: +0:187 3 (const int) +0:188 move second child to first child (temp int) +0:188 'gl_BaseInstanceARB' (in int BaseInstance) +0:188 Constant: +0:188 3 (const int) +0:189 move second child to first child (temp int) +0:189 'gl_DrawIDARB' (in int DrawId) +0:189 Constant: +0:189 3 (const int) +0:190 'glBaseInstanceARB' (temp float) 0:? Linker Objects 0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float) 0:? 'b' (layout(location=2 component=1 ) in float) @@ -243,6 +248,9 @@ ERROR: node is still EOpNull! 0:? 'sf2o' (layout(location=56 component=3 ) smooth out float) 0:? 'dv3o' (layout(location=57 component=2 ) smooth out 2-component vector of float) 0:? 'sf4o' (layout(location=57 component=3 ) smooth out float) +0:? 'dv3o2' (layout(location=58 ) flat out 3-component vector of double) +0:? 'dfo3' (layout(location=59 component=2 ) flat out double) +0:? 'dfo4' (layout(location=59 component=0 ) flat out double) 0:? 'bbinst1' (out block{out 4-component vector of float bbv}) 0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) 0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv}) diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index eca09e71..be96c1c1 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // 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 "SPIRV99.1391" -#define GLSLANG_DATE "07-Aug-2016" +#define GLSLANG_REVISION "SPIRV99.1393" +#define GLSLANG_DATE "08-Aug-2016"