1<?xml version="1.0"?> 2<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> 3 4<!-- Note: no GLX protocol info yet. --> 5 6<OpenGLAPI> 7 <category name="ARB_separate_shader_objects" number="97"> 8 <enum name="ACTIVE_PROGRAM" value="0x8259"/> 9 <enum name="PROGRAM_PIPELINE_BINDING" value="0x825A"/> 10 <enum name="VERTEX_SHADER_BIT" value="0x00000001"/> 11 <enum name="FRAGMENT_SHADER_BIT" value="0x00000002"/> 12 <enum name="GEOMETRY_SHADER_BIT" value="0x00000004"/> 13 <enum name="TESS_CONTROL_SHADER_BIT" value="0x00000008"/> 14 <enum name="TESS_EVALUATION_SHADER_BIT" value="0x00000010"/> 15 <enum name="ALL_SHADER_BITS" value="0xFFFFFFFF"/> 16 <enum name="PROGRAM_SEPARABLE" value="0x8258"/> 17 18 <function name="UseProgramStages" es2="3.1" no_error="true"> 19 <param name="pipeline" type="GLuint" /> 20 <param name="stages" type="GLbitfield" /> 21 <param name="program" type="GLuint" /> 22 </function> 23 <function name="ActiveShaderProgram" es2="3.1" no_error="true"> 24 <param name="pipeline" type="GLuint" /> 25 <param name="program" type="GLuint" /> 26 </function> 27 <function name="CreateShaderProgramv" es2="3.1"> 28 <param name="type" type="GLenum" /> 29 <param name="count" type="GLsizei" /> 30 <param name="strings" type="const GLchar * const *" /> 31 <return type="GLuint"/> 32 </function> 33 <function name="BindProgramPipeline" es2="3.1" no_error="true"> 34 <param name="pipeline" type="GLuint" /> 35 </function> 36 <function name="DeleteProgramPipelines" es2="3.1"> 37 <param name="n" type="GLsizei" /> 38 <param name="pipelines" type="const GLuint *" /> 39 </function> 40 <function name="GenProgramPipelines" es2="3.1" no_error="true"> 41 <param name="n" type="GLsizei" /> 42 <param name="pipelines" type="GLuint *" /> 43 </function> 44 <function name="IsProgramPipeline" es2="3.1"> 45 <param name="pipeline" type="GLuint" /> 46 <return type="GLboolean"/> 47 </function> 48 <!-- Function already included on ARB_get_program_binary.xml. Keep a commented 49 version here for completeness --> 50 <!-- 51 <function name="ProgramParameteri" es2="3.0"> 52 <param name="program" type="GLuint"/> 53 <param name="pname" type="GLenum"/> 54 <param name="value" type="GLint"/> 55 </function> 56 --> 57 <function name="GetProgramPipelineiv" es2="3.1"> 58 <param name="pipeline" type="GLuint" /> 59 <param name="pname" type="GLenum" /> 60 <param name="params" type="GLint *" /> 61 </function> 62 <function name="ProgramUniform1i" es2="3.1"> 63 <param name="program" type="GLuint" /> 64 <param name="location" type="GLint" /> 65 <param name="x" type="GLint" /> 66 </function> 67 <function name="ProgramUniform2i" es2="3.1"> 68 <param name="program" type="GLuint" /> 69 <param name="location" type="GLint" /> 70 <param name="x" type="GLint" /> 71 <param name="y" type="GLint" /> 72 </function> 73 <function name="ProgramUniform3i" es2="3.1"> 74 <param name="program" type="GLuint" /> 75 <param name="location" type="GLint" /> 76 <param name="x" type="GLint" /> 77 <param name="y" type="GLint" /> 78 <param name="z" type="GLint" /> 79 </function> 80 <function name="ProgramUniform4i" es2="3.1"> 81 <param name="program" type="GLuint" /> 82 <param name="location" type="GLint" /> 83 <param name="x" type="GLint" /> 84 <param name="y" type="GLint" /> 85 <param name="z" type="GLint" /> 86 <param name="w" type="GLint" /> 87 </function> 88 <function name="ProgramUniform1ui" es2="3.1"> 89 <param name="program" type="GLuint" /> 90 <param name="location" type="GLint" /> 91 <param name="x" type="GLuint" /> 92 </function> 93 <function name="ProgramUniform2ui" es2="3.1"> 94 <param name="program" type="GLuint" /> 95 <param name="location" type="GLint" /> 96 <param name="x" type="GLuint" /> 97 <param name="y" type="GLuint" /> 98 </function> 99 <function name="ProgramUniform3ui" es2="3.1"> 100 <param name="program" type="GLuint" /> 101 <param name="location" type="GLint" /> 102 <param name="x" type="GLuint" /> 103 <param name="y" type="GLuint" /> 104 <param name="z" type="GLuint" /> 105 </function> 106 <function name="ProgramUniform4ui" es2="3.1"> 107 <param name="program" type="GLuint" /> 108 <param name="location" type="GLint" /> 109 <param name="x" type="GLuint" /> 110 <param name="y" type="GLuint" /> 111 <param name="z" type="GLuint" /> 112 <param name="w" type="GLuint" /> 113 </function> 114 <function name="ProgramUniform1f" es2="3.1"> 115 <param name="program" type="GLuint" /> 116 <param name="location" type="GLint" /> 117 <param name="x" type="GLfloat" /> 118 </function> 119 <function name="ProgramUniform2f" es2="3.1"> 120 <param name="program" type="GLuint" /> 121 <param name="location" type="GLint" /> 122 <param name="x" type="GLfloat" /> 123 <param name="y" type="GLfloat" /> 124 </function> 125 <function name="ProgramUniform3f" es2="3.1"> 126 <param name="program" type="GLuint" /> 127 <param name="location" type="GLint" /> 128 <param name="x" type="GLfloat" /> 129 <param name="y" type="GLfloat" /> 130 <param name="z" type="GLfloat" /> 131 </function> 132 <function name="ProgramUniform4f" es2="3.1"> 133 <param name="program" type="GLuint" /> 134 <param name="location" type="GLint" /> 135 <param name="x" type="GLfloat" /> 136 <param name="y" type="GLfloat" /> 137 <param name="z" type="GLfloat" /> 138 <param name="w" type="GLfloat" /> 139 </function> 140 <function name="ProgramUniform1iv" es2="3.1"> 141 <param name="program" type="GLuint" /> 142 <param name="location" type="GLint" /> 143 <param name="count" type="GLsizei" /> 144 <param name="value" type="const GLint *" count="count" /> 145 </function> 146 <function name="ProgramUniform2iv" es2="3.1"> 147 <param name="program" type="GLuint" /> 148 <param name="location" type="GLint" /> 149 <param name="count" type="GLsizei" /> 150 <param name="value" type="const GLint *" count="count" count_scale="2" /> 151 </function> 152 <function name="ProgramUniform3iv" es2="3.1"> 153 <param name="program" type="GLuint" /> 154 <param name="location" type="GLint" /> 155 <param name="count" type="GLsizei" /> 156 <param name="value" type="const GLint *" count="count" count_scale="3" /> 157 </function> 158 <function name="ProgramUniform4iv" es2="3.1"> 159 <param name="program" type="GLuint" /> 160 <param name="location" type="GLint" /> 161 <param name="count" type="GLsizei" /> 162 <param name="value" type="const GLint *" count="count" count_scale="4" /> 163 </function> 164 <function name="ProgramUniform1uiv" es2="3.1"> 165 <param name="program" type="GLuint" /> 166 <param name="location" type="GLint" /> 167 <param name="count" type="GLsizei" /> 168 <param name="value" type="const GLuint *" count="count" /> 169 </function> 170 <function name="ProgramUniform2uiv" es2="3.1"> 171 <param name="program" type="GLuint" /> 172 <param name="location" type="GLint" /> 173 <param name="count" type="GLsizei" /> 174 <param name="value" type="const GLuint *" count="count" count_scale="2" /> 175 </function> 176 <function name="ProgramUniform3uiv" es2="3.1"> 177 <param name="program" type="GLuint" /> 178 <param name="location" type="GLint" /> 179 <param name="count" type="GLsizei" /> 180 <param name="value" type="const GLuint *" count="count" count_scale="3" /> 181 </function> 182 <function name="ProgramUniform4uiv" es2="3.1"> 183 <param name="program" type="GLuint" /> 184 <param name="location" type="GLint" /> 185 <param name="count" type="GLsizei" /> 186 <param name="value" type="const GLuint *" count="count" count_scale="4" /> 187 </function> 188 <function name="ProgramUniform1fv" es2="3.1"> 189 <param name="program" type="GLuint" /> 190 <param name="location" type="GLint" /> 191 <param name="count" type="GLsizei" /> 192 <param name="value" type="const GLfloat *" count="count" /> 193 </function> 194 <function name="ProgramUniform2fv" es2="3.1"> 195 <param name="program" type="GLuint" /> 196 <param name="location" type="GLint" /> 197 <param name="count" type="GLsizei" /> 198 <param name="value" type="const GLfloat *" count="count" count_scale="2" /> 199 </function> 200 <function name="ProgramUniform3fv" es2="3.1"> 201 <param name="program" type="GLuint" /> 202 <param name="location" type="GLint" /> 203 <param name="count" type="GLsizei" /> 204 <param name="value" type="const GLfloat *" count="count" count_scale="3" /> 205 </function> 206 <function name="ProgramUniform4fv" es2="3.1"> 207 <param name="program" type="GLuint" /> 208 <param name="location" type="GLint" /> 209 <param name="count" type="GLsizei" /> 210 <param name="value" type="const GLfloat *" count="count" count_scale="4" /> 211 </function> 212 <function name="ProgramUniformMatrix2fv" es2="3.1"> 213 <param name="program" type="GLuint" /> 214 <param name="location" type="GLint" /> 215 <param name="count" type="GLsizei" /> 216 <param name="transpose" type="GLboolean" /> 217 <param name="value" type="const GLfloat *" count="count" count_scale="4" /> 218 </function> 219 <function name="ProgramUniformMatrix3fv" es2="3.1"> 220 <param name="program" type="GLuint" /> 221 <param name="location" type="GLint" /> 222 <param name="count" type="GLsizei" /> 223 <param name="transpose" type="GLboolean" /> 224 <param name="value" type="const GLfloat *" count="count" count_scale="9" /> 225 </function> 226 <function name="ProgramUniformMatrix4fv" es2="3.1"> 227 <param name="program" type="GLuint" /> 228 <param name="location" type="GLint" /> 229 <param name="count" type="GLsizei" /> 230 <param name="transpose" type="GLboolean" /> 231 <param name="value" type="const GLfloat *" count="count" count_scale="16" /> 232 </function> 233 <function name="ProgramUniformMatrix2x3fv" es2="3.1"> 234 <param name="program" type="GLuint" /> 235 <param name="location" type="GLint" /> 236 <param name="count" type="GLsizei" /> 237 <param name="transpose" type="GLboolean" /> 238 <param name="value" type="const GLfloat *" count="count" count_scale="6" /> 239 </function> 240 <function name="ProgramUniformMatrix3x2fv" es2="3.1"> 241 <param name="program" type="GLuint" /> 242 <param name="location" type="GLint" /> 243 <param name="count" type="GLsizei" /> 244 <param name="transpose" type="GLboolean" /> 245 <param name="value" type="const GLfloat *" count="count" count_scale="6" /> 246 </function> 247 <function name="ProgramUniformMatrix2x4fv" es2="3.1"> 248 <param name="program" type="GLuint" /> 249 <param name="location" type="GLint" /> 250 <param name="count" type="GLsizei" /> 251 <param name="transpose" type="GLboolean" /> 252 <param name="value" type="const GLfloat *" count="count" count_scale="8" /> 253 </function> 254 <function name="ProgramUniformMatrix4x2fv" es2="3.1"> 255 <param name="program" type="GLuint" /> 256 <param name="location" type="GLint" /> 257 <param name="count" type="GLsizei" /> 258 <param name="transpose" type="GLboolean" /> 259 <param name="value" type="const GLfloat *" count="count" count_scale="8" /> 260 </function> 261 <function name="ProgramUniformMatrix3x4fv" es2="3.1"> 262 <param name="program" type="GLuint" /> 263 <param name="location" type="GLint" /> 264 <param name="count" type="GLsizei" /> 265 <param name="transpose" type="GLboolean" /> 266 <param name="value" type="const GLfloat *" count="count" count_scale="12" /> 267 </function> 268 <function name="ProgramUniformMatrix4x3fv" es2="3.1"> 269 <param name="program" type="GLuint" /> 270 <param name="location" type="GLint" /> 271 <param name="count" type="GLsizei" /> 272 <param name="transpose" type="GLboolean" /> 273 <param name="value" type="const GLfloat *" count="count" count_scale="12" /> 274 </function> 275 <function name="ValidateProgramPipeline" es2="3.1"> 276 <param name="pipeline" type="GLuint" /> 277 </function> 278 <function name="GetProgramPipelineInfoLog" es2="3.1"> 279 <param name="pipeline" type="GLuint" /> 280 <param name="bufSize" type="GLsizei" /> 281 <param name="length" type="GLsizei *" /> 282 <param name="infoLog" type="GLchar *" /> 283 </function> 284 285 <function name="ProgramUniform1d"> 286 <param name="program" type="GLuint" /> 287 <param name="location" type="GLint" /> 288 <param name="x" type="GLdouble" /> 289 </function> 290 <function name="ProgramUniform2d"> 291 <param name="program" type="GLuint" /> 292 <param name="location" type="GLint" /> 293 <param name="x" type="GLdouble" /> 294 <param name="y" type="GLdouble" /> 295 </function> 296 <function name="ProgramUniform3d"> 297 <param name="program" type="GLuint" /> 298 <param name="location" type="GLint" /> 299 <param name="x" type="GLdouble" /> 300 <param name="y" type="GLdouble" /> 301 <param name="z" type="GLdouble" /> 302 </function> 303 <function name="ProgramUniform4d"> 304 <param name="program" type="GLuint" /> 305 <param name="location" type="GLint" /> 306 <param name="x" type="GLdouble" /> 307 <param name="y" type="GLdouble" /> 308 <param name="z" type="GLdouble" /> 309 <param name="w" type="GLdouble" /> 310 </function> 311 <function name="ProgramUniformMatrix2x3dv"> 312 <param name="program" type="GLuint" /> 313 <param name="location" type="GLint" /> 314 <param name="count" type="GLsizei" /> 315 <param name="transpose" type="GLboolean" /> 316 <param name="value" type="const GLdouble *" count="count" count_scale="6" /> 317 </function> 318 <function name="ProgramUniformMatrix3x2dv"> 319 <param name="program" type="GLuint" /> 320 <param name="location" type="GLint" /> 321 <param name="count" type="GLsizei" /> 322 <param name="transpose" type="GLboolean" /> 323 <param name="value" type="const GLdouble *" count="count" count_scale="6" /> 324 </function> 325 <function name="ProgramUniformMatrix2x4dv"> 326 <param name="program" type="GLuint" /> 327 <param name="location" type="GLint" /> 328 <param name="count" type="GLsizei" /> 329 <param name="transpose" type="GLboolean" /> 330 <param name="value" type="const GLdouble *" count="count" count_scale="8" /> 331 </function> 332 <function name="ProgramUniformMatrix4x2dv"> 333 <param name="program" type="GLuint" /> 334 <param name="location" type="GLint" /> 335 <param name="count" type="GLsizei" /> 336 <param name="transpose" type="GLboolean" /> 337 <param name="value" type="const GLdouble *" count="count" count_scale="8" /> 338 </function> 339 <function name="ProgramUniformMatrix3x4dv"> 340 <param name="program" type="GLuint" /> 341 <param name="location" type="GLint" /> 342 <param name="count" type="GLsizei" /> 343 <param name="transpose" type="GLboolean" /> 344 <param name="value" type="const GLdouble *" count="count" count_scale="12" /> 345 </function> 346 <function name="ProgramUniformMatrix4x3dv"> 347 <param name="program" type="GLuint" /> 348 <param name="location" type="GLint" /> 349 <param name="count" type="GLsizei" /> 350 <param name="transpose" type="GLboolean" /> 351 <param name="value" type="const GLdouble *" count="count" count_scale="12" /> 352 </function> 353 <function name="ProgramUniformMatrix2dv"> 354 <param name="program" type="GLuint" /> 355 <param name="location" type="GLint" /> 356 <param name="count" type="GLsizei" /> 357 <param name="transpose" type="GLboolean" /> 358 <param name="value" type="const GLdouble *" count="count" count_scale="4" /> 359 </function> 360 <function name="ProgramUniformMatrix3dv"> 361 <param name="program" type="GLuint" /> 362 <param name="location" type="GLint" /> 363 <param name="count" type="GLsizei" /> 364 <param name="transpose" type="GLboolean" /> 365 <param name="value" type="const GLdouble *" count="count" count_scale="9" /> 366 </function> 367 <function name="ProgramUniformMatrix4dv"> 368 <param name="program" type="GLuint" /> 369 <param name="location" type="GLint" /> 370 <param name="count" type="GLsizei" /> 371 <param name="transpose" type="GLboolean" /> 372 <param name="value" type="const GLdouble *" count="count" count_scale="16" /> 373 </function> 374 <function name="ProgramUniform1dv"> 375 <param name="program" type="GLuint" /> 376 <param name="location" type="GLint" /> 377 <param name="count" type="GLsizei" /> 378 <param name="value" type="const GLdouble *" count="count" /> 379 </function> 380 <function name="ProgramUniform2dv"> 381 <param name="program" type="GLuint" /> 382 <param name="location" type="GLint" /> 383 <param name="count" type="GLsizei" /> 384 <param name="value" type="const GLdouble *" count="count" count_scale="2" /> 385 </function> 386 <function name="ProgramUniform3dv"> 387 <param name="program" type="GLuint" /> 388 <param name="location" type="GLint" /> 389 <param name="count" type="GLsizei" /> 390 <param name="value" type="const GLdouble *" count="count" count_scale="3" /> 391 </function> 392 <function name="ProgramUniform4dv"> 393 <param name="program" type="GLuint" /> 394 <param name="location" type="GLint" /> 395 <param name="count" type="GLsizei" /> 396 <param name="value" type="const GLdouble *" count="count" count_scale="4" /> 397 </function> 398 </category> 399</OpenGLAPI> 400