// d = fma(d, d, d);\r
//}\r
//\r
+\r
+void bbBad()\r
+{\r
+ gl_BoundingBoxOES; // ERROR without GL_OES_primitive_bounding_box \r
+}\r
+\r
+#extension GL_OES_primitive_bounding_box : enable\r
+\r
+void bb()\r
+{\r
+ gl_BoundingBoxOES[0] = vec4(0.0);\r
+ gl_BoundingBoxOES[1] = vec4(1.0);\r
+ gl_BoundingBoxOES[2] = vec4(2.0); // ERROR, overflow\r
+}\r
float ps = gl_in[1].gl_PointSize; // ERROR, not in the redeclaration, but no error on use of gl_PointSize\r
gl_PointSize = ps;\r
}\r
+\r
+#extension GL_EXT_primitive_bounding_box : enable\r
+\r
+void bbbad()\r
+{\r
+ gl_BoundingBoxOES; // ERROR, wrong stage\r
+}\r
ERROR: 0:104: 'sample' : Reserved word. \r
ERROR: 0:106: 'vertices' : can only apply to a standalone qualifier \r
ERROR: 0:107: 'vertices' : inconsistent output number of vertices for array size of misSized\r
-ERROR: 31 compilation errors. No code generated.\r
+ERROR: 0:133: 'gl_BoundingBoxOES' : required extension not requested: Possible extensions include:\r
+GL_EXT_primitive_bounding_box\r
+GL_OES_primitive_bounding_box\r
+ERROR: 0:142: '[' : array index out of range '2'\r
+ERROR: 33 compilation errors. No code generated.\r
\r
\r
Shader version: 310\r
Requested GL_ARB_separate_shader_objects\r
+Requested GL_OES_primitive_bounding_box\r
Requested GL_OES_shader_io_blocks\r
Requested GL_OES_tessellation_point_size\r
Requested GL_OES_tessellation_shader\r
0:115 Constant:\r
0:115 1 (const int)\r
0:115 'ps' (temp highp float)\r
+0:131 Function Definition: bbBad( (global void)\r
+0:131 Function Parameters: \r
+0:133 Sequence\r
+0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:138 Function Definition: bb( (global void)\r
+0:138 Function Parameters: \r
+0:140 Sequence\r
+0:140 move second child to first child (temp highp 4-component vector of float)\r
+0:140 direct index (patch temp highp 4-component vector of float BoundingBox)\r
+0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:140 Constant:\r
+0:140 0 (const int)\r
+0:140 Constant:\r
+0:140 0.000000\r
+0:140 0.000000\r
+0:140 0.000000\r
+0:140 0.000000\r
+0:141 move second child to first child (temp highp 4-component vector of float)\r
+0:141 direct index (patch temp highp 4-component vector of float BoundingBox)\r
+0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:141 Constant:\r
+0:141 1 (const int)\r
+0:141 Constant:\r
+0:141 1.000000\r
+0:141 1.000000\r
+0:141 1.000000\r
+0:141 1.000000\r
+0:142 move second child to first child (temp highp 4-component vector of float)\r
+0:142 direct index (patch temp highp 4-component vector of float BoundingBox)\r
+0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:142 Constant:\r
+0:142 2 (const int)\r
+0:142 Constant:\r
+0:142 2.000000\r
+0:142 2.000000\r
+0:142 2.000000\r
+0:142 2.000000\r
0:? Linker Objects\r
0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})\r
0:? 'outa' (global 4-element array of highp int)\r
\r
Shader version: 310\r
Requested GL_ARB_separate_shader_objects\r
+Requested GL_OES_primitive_bounding_box\r
Requested GL_OES_shader_io_blocks\r
Requested GL_OES_tessellation_point_size\r
Requested GL_OES_tessellation_shader\r
0:115 Constant:\r
0:115 1 (const int)\r
0:115 'ps' (temp highp float)\r
+0:131 Function Definition: bbBad( (global void)\r
+0:131 Function Parameters: \r
+0:133 Sequence\r
+0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:138 Function Definition: bb( (global void)\r
+0:138 Function Parameters: \r
+0:140 Sequence\r
+0:140 move second child to first child (temp highp 4-component vector of float)\r
+0:140 direct index (patch temp highp 4-component vector of float BoundingBox)\r
+0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:140 Constant:\r
+0:140 0 (const int)\r
+0:140 Constant:\r
+0:140 0.000000\r
+0:140 0.000000\r
+0:140 0.000000\r
+0:140 0.000000\r
+0:141 move second child to first child (temp highp 4-component vector of float)\r
+0:141 direct index (patch temp highp 4-component vector of float BoundingBox)\r
+0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:141 Constant:\r
+0:141 1 (const int)\r
+0:141 Constant:\r
+0:141 1.000000\r
+0:141 1.000000\r
+0:141 1.000000\r
+0:141 1.000000\r
+0:142 move second child to first child (temp highp 4-component vector of float)\r
+0:142 direct index (patch temp highp 4-component vector of float BoundingBox)\r
+0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)\r
+0:142 Constant:\r
+0:142 2 (const int)\r
+0:142 Constant:\r
+0:142 2.000000\r
+0:142 2.000000\r
+0:142 2.000000\r
+0:142 2.000000\r
0:? Linker Objects\r
0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})\r
0:? 'outa' (global 4-element array of highp int)\r
ERROR: 0:113: 'sample' : Reserved word. \r
ERROR: 0:119: 'gl_PointSize' : no such field in structure \r
ERROR: 0:119: '=' : cannot convert from 'temp block{in highp 4-component vector of float gl_Position}' to 'temp highp float'\r
-ERROR: 43 compilation errors. No code generated.\r
+ERROR: 0:127: 'gl_BoundingBoxOES' : undeclared identifier \r
+ERROR: 44 compilation errors. No code generated.\r
\r
\r
Shader version: 310\r
Requested GL_ARB_separate_shader_objects\r
+Requested GL_EXT_primitive_bounding_box\r
Requested GL_EXT_shader_io_blocks\r
Requested GL_EXT_tessellation_shader\r
Requested GL_OES_shader_io_blocks\r
0:120 Constant:\r
0:120 1 (const uint)\r
0:120 'ps' (temp highp float)\r
+0:125 Function Definition: bbbad( (global void)\r
+0:125 Function Parameters: \r
+0:127 Sequence\r
+0:127 'gl_BoundingBoxOES' (temp float)\r
0:? Linker Objects\r
0:? 'patchIn' (patch in highp 4-component vector of float)\r
0:? 'patchOut' (patch out highp 4-component vector of float)\r
\r
Shader version: 310\r
Requested GL_ARB_separate_shader_objects\r
+Requested GL_EXT_primitive_bounding_box\r
Requested GL_EXT_shader_io_blocks\r
Requested GL_EXT_tessellation_shader\r
Requested GL_OES_shader_io_blocks\r
0:120 Constant:\r
0:120 1 (const uint)\r
0:120 'ps' (temp highp float)\r
+0:125 Function Definition: bbbad( (global void)\r
+0:125 Function Parameters: \r
+0:127 Sequence\r
+0:127 'gl_BoundingBoxOES' (temp float)\r
0:? Linker Objects\r
0:? 'patchIn' (patch in highp 4-component vector of float)\r
0:? 'patchOut' (patch out highp 4-component vector of float)\r
EbvPatchVertices,
EbvTessLevelOuter,
EbvTessLevelInner,
+ EbvBoundingBox,
EbvTessCoord,
EbvColor,
EbvSecondaryColor,
case EbvPatchVertices: return "PatchVertices";
case EbvTessLevelOuter: return "TessLevelOuter";
case EbvTessLevelInner: return "TessLevelInner";
+ case EbvBoundingBox: return "BoundingBox";
case EbvTessCoord: return "TessCoord";
case EbvColor: return "Color";
case EbvSecondaryColor: return "SecondaryColor";
// 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 "2.3.713"
+#define GLSLANG_REVISION "2.3.715"
#define GLSLANG_DATE "16-Aug-2015"
"patch out highp float gl_TessLevelOuter[4];"
"patch out highp float gl_TessLevelInner[2];"
+ "patch out highp vec4 gl_BoundingBoxOES[2];"
"\n");
}
// Fall through
case EShLangTessControl:
+ if (profile == EEsProfile && version >= 310) {
+ symbolTable.setVariableExtensions("gl_BoundingBoxOES", Num_AEP_primitive_bounding_box, AEP_primitive_bounding_box);
+ BuiltInVariable("gl_BoundingBoxOES", EbvBoundingBox, symbolTable);
+ }
+
+ // Fall through
+
case EShLangTessEvaluation:
case EShLangGeometry:
SpecialQualifier("gl_Position", EvqPosition, EbvPosition, symbolTable);
extensionBehavior[E_GL_EXT_geometry_shader] = EBhDisable;
extensionBehavior[E_GL_EXT_geometry_point_size] = EBhDisable;
extensionBehavior[E_GL_EXT_gpu_shader5] = EBhDisable;
- extensionBehavior[E_GL_EXT_primitive_bounding_box] = EBhDisablePartial;
+ extensionBehavior[E_GL_EXT_primitive_bounding_box] = EBhDisable;
extensionBehavior[E_GL_EXT_shader_io_blocks] = EBhDisable;
extensionBehavior[E_GL_EXT_tessellation_shader] = EBhDisable;
extensionBehavior[E_GL_EXT_tessellation_point_size] = EBhDisable;
extensionBehavior[E_GL_OES_geometry_shader] = EBhDisable;
extensionBehavior[E_GL_OES_geometry_point_size] = EBhDisable;
extensionBehavior[E_GL_OES_gpu_shader5] = EBhDisable;
- extensionBehavior[E_GL_OES_primitive_bounding_box] = EBhDisablePartial;
+ extensionBehavior[E_GL_OES_primitive_bounding_box] = EBhDisable;
extensionBehavior[E_GL_OES_shader_io_blocks] = EBhDisable;
extensionBehavior[E_GL_OES_tessellation_shader] = EBhDisable;
extensionBehavior[E_GL_OES_tessellation_point_size] = EBhDisable;