Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. <?xml version="1.0"?>
  2. <!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
  3.  
  4. <!-- Note: no GLX protocol info yet. -->
  5.  
  6. <OpenGLAPI>
  7.  
  8. <category name="3.0">
  9.  
  10.   <enum name="COMPARE_REF_TO_TEXTURE"           value="0x884E"/>
  11.   <enum name="CLIP_DISTANCE0"                   value="0x3000"/>
  12.   <enum name="CLIP_DISTANCE1"                   value="0x3001"/>
  13.   <enum name="CLIP_DISTANCE2"                   value="0x3002"/>
  14.   <enum name="CLIP_DISTANCE3"                   value="0x3003"/>
  15.   <enum name="CLIP_DISTANCE4"                   value="0x3004"/>
  16.   <enum name="CLIP_DISTANCE5"                   value="0x3005"/>
  17.   <enum name="CLIP_DISTANCE6"                   value="0x3006"/>
  18.   <enum name="CLIP_DISTANCE7"                   value="0x3007"/>
  19.   <enum name="MAX_CLIP_DISTANCES"               value="0x0D32"/>
  20.   <enum name="MAJOR_VERSION"                    value="0x821B"/>
  21.   <enum name="MINOR_VERSION"                    value="0x821C"/>
  22.   <enum name="NUM_EXTENSIONS"                   value="0x821D"/>
  23.   <enum name="CONTEXT_FLAGS"                    value="0x821E"/>
  24.   <enum name="DEPTH_BUFFER"                     value="0x8223"/>
  25.   <enum name="STENCIL_BUFFER"                   value="0x8224"/>
  26.   <enum name="CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"  value="0x0001"/>
  27.   <enum name="RGBA32F"                          value="0x8814"/>
  28.   <enum name="RGB32F"                           value="0x8815"/>
  29.   <enum name="RGBA16F"                          value="0x881A"/>
  30.   <enum name="RGB16F"                           value="0x881B"/>
  31.   <enum name="VERTEX_ATTRIB_ARRAY_INTEGER"      value="0x88FD"/>
  32.   <enum name="MAX_ARRAY_TEXTURE_LAYERS"         value="0x88FF"/>
  33.   <enum name="MIN_PROGRAM_TEXEL_OFFSET"         value="0x8904"/>
  34.   <enum name="MAX_PROGRAM_TEXEL_OFFSET"         value="0x8905"/>
  35.   <enum name="CLAMP_VERTEX_COLOR"               value="0x891A"/>
  36.   <enum name="CLAMP_FRAGMENT_COLOR"             value="0x891B"/>
  37.   <enum name="CLAMP_READ_COLOR"                 value="0x891C"/>
  38.   <enum name="FIXED_ONLY"                       value="0x891D"/>
  39.   <enum name="MAX_VARYING_COMPONENTS"           value="0x8B4B"/>
  40.   <enum name="TEXTURE_RED_TYPE"                 value="0x8C10"/>
  41.   <enum name="TEXTURE_GREEN_TYPE"               value="0x8C11"/>
  42.   <enum name="TEXTURE_BLUE_TYPE"                value="0x8C12"/>
  43.   <enum name="TEXTURE_ALPHA_TYPE"               value="0x8C13"/>
  44.   <enum name="TEXTURE_LUMINANCE_TYPE"           value="0x8C14"/>
  45.   <enum name="TEXTURE_INTENSITY_TYPE"           value="0x8C15"/>
  46.   <enum name="TEXTURE_DEPTH_TYPE"               value="0x8C16"/>
  47.   <enum name="TEXTURE_1D_ARRAY"                 value="0x8C18"/>
  48.   <enum name="PROXY_TEXTURE_1D_ARRAY"           value="0x8C19"/>
  49.   <enum name="TEXTURE_2D_ARRAY"                 value="0x8C1A"/>
  50.   <enum name="PROXY_TEXTURE_2D_ARRAY"           value="0x8C1B"/>
  51.   <enum name="TEXTURE_BINDING_1D_ARRAY"         value="0x8C1C"/>
  52.   <enum name="TEXTURE_BINDING_2D_ARRAY"         value="0x8C1D"/>
  53.   <enum name="R11F_G11F_B10F"                   value="0x8C3A"/>
  54.   <enum name="UNSIGNED_INT_10F_11F_11F_REV"     value="0x8C3B"/>
  55.   <enum name="RGB9_E5"                          value="0x8C3D"/>
  56.   <enum name="UNSIGNED_INT_5_9_9_9_REV"         value="0x8C3E"/>
  57.   <enum name="TEXTURE_SHARED_SIZE"              value="0x8C3F"/>
  58.   <enum name="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"  value="0x8C76"/>
  59.   <enum name="TRANSFORM_FEEDBACK_BUFFER_MODE"   value="0x8C7F"/>
  60.   <enum name="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"  value="0x8C80"/>
  61.   <enum name="TRANSFORM_FEEDBACK_VARYINGS"      value="0x8C83"/>
  62.   <enum name="TRANSFORM_FEEDBACK_BUFFER_START"  value="0x8C84"/>
  63.   <enum name="TRANSFORM_FEEDBACK_BUFFER_SIZE"   value="0x8C85"/>
  64.   <enum name="PRIMITIVES_GENERATED"             value="0x8C87"/>
  65.   <enum name="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"  value="0x8C88"/>
  66.   <enum name="RASTERIZER_DISCARD"               value="0x8C89"/>
  67.   <enum name="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"  value="0x8C8A"/>
  68.   <enum name="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"  value="0x8C8B"/>
  69.   <enum name="INTERLEAVED_ATTRIBS"              value="0x8C8C"/>
  70.   <enum name="SEPARATE_ATTRIBS"                 value="0x8C8D"/>
  71.   <enum name="TRANSFORM_FEEDBACK_BUFFER"        value="0x8C8E"/>
  72.   <enum name="TRANSFORM_FEEDBACK_BUFFER_BINDING"  value="0x8C8F"/>
  73.   <enum name="RGBA32UI"                         value="0x8D70"/>
  74.   <enum name="RGB32UI"                          value="0x8D71"/>
  75.   <enum name="RGBA16UI"                         value="0x8D76"/>
  76.   <enum name="RGB16UI"                          value="0x8D77"/>
  77.   <enum name="RGBA8UI"                          value="0x8D7C"/>
  78.   <enum name="RGB8UI"                           value="0x8D7D"/>
  79.   <enum name="RGBA32I"                          value="0x8D82"/>
  80.   <enum name="RGB32I"                           value="0x8D83"/>
  81.   <enum name="RGBA16I"                          value="0x8D88"/>
  82.   <enum name="RGB16I"                           value="0x8D89"/>
  83.   <enum name="RGBA8I"                           value="0x8D8E"/>
  84.   <enum name="RGB8I"                            value="0x8D8F"/>
  85.   <enum name="RED_INTEGER"                      value="0x8D94"/>
  86.   <enum name="GREEN_INTEGER"                    value="0x8D95"/>
  87.   <enum name="BLUE_INTEGER"                     value="0x8D96"/>
  88.   <enum name="RGB_INTEGER"                      value="0x8D98"/>
  89.   <enum name="RGBA_INTEGER"                     value="0x8D99"/>
  90.   <enum name="BGR_INTEGER"                      value="0x8D9A"/>
  91.   <enum name="BGRA_INTEGER"                     value="0x8D9B"/>
  92.   <enum name="SAMPLER_1D_ARRAY"                 value="0x8DC0"/>
  93.   <enum name="SAMPLER_2D_ARRAY"                 value="0x8DC1"/>
  94.   <enum name="SAMPLER_1D_ARRAY_SHADOW"          value="0x8DC3"/>
  95.   <enum name="SAMPLER_2D_ARRAY_SHADOW"          value="0x8DC4"/>
  96.   <enum name="SAMPLER_CUBE_SHADOW"              value="0x8DC5"/>
  97.   <enum name="UNSIGNED_INT_VEC2"                value="0x8DC6"/>
  98.   <enum name="UNSIGNED_INT_VEC3"                value="0x8DC7"/>
  99.   <enum name="UNSIGNED_INT_VEC4"                value="0x8DC8"/>
  100.   <enum name="INT_SAMPLER_1D"                   value="0x8DC9"/>
  101.   <enum name="INT_SAMPLER_2D"                   value="0x8DCA"/>
  102.   <enum name="INT_SAMPLER_3D"                   value="0x8DCB"/>
  103.   <enum name="INT_SAMPLER_CUBE"                 value="0x8DCC"/>
  104.   <enum name="INT_SAMPLER_1D_ARRAY"             value="0x8DCE"/>
  105.   <enum name="INT_SAMPLER_2D_ARRAY"             value="0x8DCF"/>
  106.   <enum name="UNSIGNED_INT_SAMPLER_1D"          value="0x8DD1"/>
  107.   <enum name="UNSIGNED_INT_SAMPLER_2D"          value="0x8DD2"/>
  108.   <enum name="UNSIGNED_INT_SAMPLER_3D"          value="0x8DD3"/>
  109.   <enum name="UNSIGNED_INT_SAMPLER_CUBE"        value="0x8DD4"/>
  110.   <enum name="UNSIGNED_INT_SAMPLER_1D_ARRAY"    value="0x8DD6"/>
  111.   <enum name="UNSIGNED_INT_SAMPLER_2D_ARRAY"    value="0x8DD7"/>
  112.   <enum name="QUERY_WAIT"                       value="0x8E13"/>
  113.   <enum name="QUERY_NO_WAIT"                    value="0x8E14"/>
  114.   <enum name="QUERY_BY_REGION_WAIT"             value="0x8E15"/>
  115.   <enum name="QUERY_BY_REGION_NO_WAIT"          value="0x8E16"/>
  116.   <enum name="BUFFER_ACCESS_FLAGS"              value="0x911F"/>
  117.   <enum name="BUFFER_MAP_LENGTH"                value="0x9120"/>
  118.   <enum name="BUFFER_MAP_OFFSET"                value="0x9121"/>
  119.  
  120.   <!-- These functions are unique to GL3 -->
  121.  
  122.   <function name="ClearBufferiv" offset="assign" es2="3.0">
  123.     <param name="buffer" type="GLenum"/>
  124.     <param name="drawbuffer" type="GLint"/>
  125.     <param name="value" type="const GLint *"/>
  126.   </function>
  127.  
  128.   <function name="ClearBufferuiv" offset="assign" es2="3.0">
  129.     <param name="buffer" type="GLenum"/>
  130.     <param name="drawbuffer" type="GLint"/>
  131.     <param name="value" type="const GLuint *"/>
  132.   </function>
  133.  
  134.   <function name="ClearBufferfv" offset="assign" es2="3.0">
  135.     <param name="buffer" type="GLenum"/>
  136.     <param name="drawbuffer" type="GLint"/>
  137.     <param name="value" type="const GLfloat *"/>
  138.   </function>
  139.  
  140.   <function name="ClearBufferfi" offset="assign" es2="3.0">
  141.     <param name="buffer" type="GLenum"/>
  142.     <param name="drawbuffer" type="GLint"/>
  143.     <param name="depth" type="GLfloat"/>
  144.     <param name="stencil" type="GLint"/>
  145.   </function>
  146.  
  147.   <function name="GetStringi" offset="assign" es2="3.0">
  148.     <param name="name" type="GLenum"/>
  149.     <param name="index" type="GLuint"/>
  150.       <return type="const GLubyte *"/>
  151.   </function>
  152.  
  153.   <function name="ClampColor" offset="assign">
  154.     <param name="target" type="GLenum"/>
  155.     <param name="clamp" type="GLenum"/>
  156.     <glx rop="234"/>
  157.   </function>
  158.  
  159.   <!-- These functions alias ones form GL_ARB_draw_buffers2 -->
  160.  
  161.   <function name="ColorMaski" offset="assign">
  162.     <param name="buf" type="GLuint"/>
  163.     <param name="r" type="GLboolean"/>
  164.     <param name="g" type="GLboolean"/>
  165.     <param name="b" type="GLboolean"/>
  166.     <param name="a" type="GLboolean"/>
  167.   </function>
  168.  
  169.   <function name="GetBooleani_v" offset="assign">
  170.     <param name="value" type="GLenum"/>
  171.     <param name="index" type="GLuint"/>
  172.     <param name="data" type="GLboolean *"/>
  173.   </function>
  174.  
  175.   <function name="GetIntegeri_v" es2="3.0" offset="assign">
  176.     <param name="value" type="GLenum"/>
  177.     <param name="index" type="GLuint"/>
  178.     <param name="data" type="GLint *"/>
  179.   </function>
  180.  
  181.   <function name="Enablei" offset="assign">
  182.     <param name="target" type="GLenum"/>
  183.     <param name="index" type="GLuint"/>
  184.   </function>
  185.  
  186.   <function name="Disablei" offset="assign">
  187.     <param name="target" type="GLenum"/>
  188.     <param name="index" type="GLuint"/>
  189.   </function>
  190.  
  191.   <function name="IsEnabledi" offset="assign">
  192.     <param name="target" type="GLenum"/>
  193.     <param name="index" type="GLuint"/>
  194.       <return type="GLboolean"/>
  195.   </function>
  196.  
  197.   <!-- These functions alias ones form GL_EXT_transform_feedback -->
  198.  
  199.   <function name="GetFragDataLocation" es2="3.0" offset="assign">
  200.     <param name="program" type="GLuint"/>
  201.     <param name="name" type="const GLchar *"/>
  202.       <return type="GLint"/>
  203.   </function>
  204.  
  205.   <function name="BindFragDataLocation" offset="assign">
  206.     <param name="program" type="GLuint"/>
  207.     <param name="colorNumber" type="GLuint"/>
  208.     <param name="name" type="const GLchar *"/>
  209.   </function>
  210.  
  211.   <function name="BeginTransformFeedback" es2="3.0" offset="assign">
  212.     <param name="mode" type="GLenum"/>
  213.   </function>
  214.  
  215.   <function name="EndTransformFeedback" es2="3.0" offset="assign">
  216.   </function>
  217.  
  218.   <function name="BindBufferRange" es2="3.0" offset="assign">
  219.     <param name="target" type="GLenum"/>
  220.     <param name="index" type="GLuint"/>
  221.     <param name="buffer" type="GLuint"/>
  222.     <param name="offset" type="GLintptr"/>
  223.     <param name="size" type="GLsizeiptr"/>
  224.   </function>
  225.  
  226.   <function name="BindBufferBase" es2="3.0" offset="assign">
  227.     <param name="target" type="GLenum"/>
  228.     <param name="index" type="GLuint"/>
  229.     <param name="buffer" type="GLuint"/>
  230.   </function>
  231.  
  232.   <function name="TransformFeedbackVaryings" es2="3.0" offset="assign">
  233.     <param name="program" type="GLuint"/>
  234.     <param name="count" type="GLsizei"/>
  235.     <param name="varyings" type="const GLchar * const *"/>
  236.     <param name="bufferMode" type="GLenum"/>
  237.   </function>
  238.  
  239.   <function name="GetTransformFeedbackVarying" es2="3.0" offset="assign">
  240.     <param name="program" type="GLuint"/>
  241.     <param name="index" type="GLuint"/>
  242.     <param name="bufSize" type="GLsizei"/>
  243.     <param name="length" type="GLsizei *"/>
  244.     <param name="size" type="GLsizei *"/>
  245.     <param name="type" type="GLenum *"/>
  246.     <param name="name" type="GLchar *"/>
  247.   </function>
  248.  
  249.   <!-- These functions alias ones from GL_NV_conditional_render -->
  250.  
  251.   <function name="BeginConditionalRender" offset="assign">
  252.     <param name="query" type="GLuint"/>
  253.     <param name="mode" type="GLenum"/>
  254.   </function>
  255.  
  256.   <function name="EndConditionalRender" offset="assign">
  257.   </function>
  258.  
  259.   <!-- These functions alias ones from GL_EXT_gpu_shader4 -->
  260.  
  261.   <function name="VertexAttribIPointer" es2="3.0" offset="assign">
  262.     <param name="index" type="GLuint"/>
  263.     <param name="size" type="GLint"/>
  264.     <param name="type" type="GLenum"/>
  265.     <param name="stride" type="GLsizei"/>
  266.     <param name="pointer" type="const GLvoid *"/>
  267.   </function>
  268.  
  269.   <function name="GetVertexAttribIiv" es2="3.0" offset="assign">
  270.     <param name="index" type="GLuint"/>
  271.     <param name="pname" type="GLenum"/>
  272.     <param name="params" type="GLint *"/>
  273.   </function>
  274.  
  275.   <function name="GetVertexAttribIuiv" es2="3.0" offset="assign">
  276.     <param name="index" type="GLuint"/>
  277.     <param name="pname" type="GLenum"/>
  278.     <param name="params" type="GLuint *"/>
  279.   </function>
  280.  
  281.   <function name="VertexAttribI1i" alias="VertexAttribI1iEXT">
  282.     <param name="index" type="GLuint"/>
  283.     <param name="x" type="GLint"/>
  284.   </function>
  285.  
  286.   <function name="VertexAttribI2i" alias="VertexAttribI2iEXT">
  287.     <param name="index" type="GLuint"/>
  288.     <param name="x" type="GLint"/>
  289.     <param name="y" type="GLint"/>
  290.   </function>
  291.  
  292.   <function name="VertexAttribI3i" alias="VertexAttribI3iEXT">
  293.     <param name="index" type="GLuint"/>
  294.     <param name="x" type="GLint"/>
  295.     <param name="y" type="GLint"/>
  296.     <param name="z" type="GLint"/>
  297.   </function>
  298.  
  299.   <function name="VertexAttribI4i" alias="VertexAttribI4iEXT" es2="3.0">
  300.     <param name="index" type="GLuint"/>
  301.     <param name="x" type="GLint"/>
  302.     <param name="y" type="GLint"/>
  303.     <param name="z" type="GLint"/>
  304.     <param name="w" type="GLint"/>
  305.   </function>
  306.  
  307.   <function name="VertexAttribI1ui" alias="VertexAttribI1uiEXT">
  308.     <param name="index" type="GLuint"/>
  309.     <param name="x" type="GLuint"/>
  310.   </function>
  311.  
  312.   <function name="VertexAttribI2ui" alias="VertexAttribI2uiEXT">
  313.     <param name="index" type="GLuint"/>
  314.     <param name="x" type="GLuint"/>
  315.     <param name="y" type="GLuint"/>
  316.   </function>
  317.  
  318.   <function name="VertexAttribI3ui" alias="VertexAttribI3uiEXT">
  319.     <param name="index" type="GLuint"/>
  320.     <param name="x" type="GLuint"/>
  321.     <param name="y" type="GLuint"/>
  322.     <param name="z" type="GLuint"/>
  323.   </function>
  324.  
  325.   <function name="VertexAttribI4ui" alias="VertexAttribI4uiEXT" es2="3.0">
  326.     <param name="index" type="GLuint"/>
  327.     <param name="x" type="GLuint"/>
  328.     <param name="y" type="GLuint"/>
  329.     <param name="z" type="GLuint"/>
  330.     <param name="w" type="GLuint"/>
  331.   </function>
  332.  
  333.   <function name="VertexAttribI1iv" offset="assign">
  334.     <param name="index" type="GLuint"/>
  335.     <param name="v" type="const GLint *"/>
  336.   </function>
  337.  
  338.   <function name="VertexAttribI2iv" alias="VertexAttribI2ivEXT">
  339.     <param name="index" type="GLuint"/>
  340.     <param name="v" type="const GLint *"/>
  341.   </function>
  342.  
  343.   <function name="VertexAttribI3iv" alias="VertexAttribI3ivEXT">
  344.     <param name="index" type="GLuint"/>
  345.     <param name="v" type="const GLint *"/>
  346.   </function>
  347.  
  348.   <function name="VertexAttribI4iv" alias="VertexAttribI4ivEXT" es2="3.0">
  349.     <param name="index" type="GLuint"/>
  350.     <param name="v" type="const GLint *"/>
  351.   </function>
  352.  
  353.   <function name="VertexAttribI1uiv" offset="assign">
  354.     <param name="index" type="GLuint"/>
  355.     <param name="v" type="const GLuint *"/>
  356.   </function>
  357.  
  358.   <function name="VertexAttribI2uiv" alias="VertexAttribI2uivEXT">
  359.     <param name="index" type="GLuint"/>
  360.     <param name="v" type="const GLuint *"/>
  361.   </function>
  362.  
  363.   <function name="VertexAttribI3uiv" alias="VertexAttribI3uivEXT">
  364.     <param name="index" type="GLuint"/>
  365.     <param name="v" type="const GLuint *"/>
  366.   </function>
  367.  
  368.   <function name="VertexAttribI4uiv" alias="VertexAttribI4uivEXT" es2="3.0">
  369.     <param name="index" type="GLuint"/>
  370.     <param name="v" type="const GLuint *"/>
  371.   </function>
  372.  
  373.   <function name="VertexAttribI4bv" offset="assign">
  374.     <param name="index" type="GLuint"/>
  375.     <param name="v" type="const GLbyte *"/>
  376.   </function>
  377.  
  378.   <function name="VertexAttribI4sv" offset="assign">
  379.     <param name="index" type="GLuint"/>
  380.     <param name="v" type="const GLshort *"/>
  381.   </function>
  382.  
  383.   <function name="VertexAttribI4ubv" offset="assign">
  384.     <param name="index" type="GLuint"/>
  385.     <param name="v" type="const GLubyte *"/>
  386.   </function>
  387.  
  388.   <function name="VertexAttribI4usv" offset="assign">
  389.     <param name="index" type="GLuint"/>
  390.     <param name="v" type="const GLushort *"/>
  391.   </function>
  392.  
  393.   <function name="GetUniformuiv" es2="3.0" offset="assign">
  394.     <param name="program" type="GLuint"/>
  395.     <param name="location" type="GLint"/>
  396.     <param name="params" type="GLuint *"/>
  397.   </function>
  398.  
  399.   <function name="Uniform1ui" es2="3.0" offset="assign">
  400.     <param name="location" type="GLint"/>
  401.     <param name="x" type="GLuint"/>
  402.   </function>
  403.  
  404.   <function name="Uniform2ui" es2="3.0" offset="assign">
  405.     <param name="location" type="GLint"/>
  406.     <param name="x" type="GLuint"/>
  407.     <param name="y" type="GLuint"/>
  408.   </function>
  409.  
  410.   <function name="Uniform3ui" es2="3.0" offset="assign">
  411.     <param name="location" type="GLint"/>
  412.     <param name="x" type="GLuint"/>
  413.     <param name="y" type="GLuint"/>
  414.     <param name="z" type="GLuint"/>
  415.   </function>
  416.  
  417.   <function name="Uniform4ui" es2="3.0" offset="assign">
  418.     <param name="location" type="GLint"/>
  419.     <param name="x" type="GLuint"/>
  420.     <param name="y" type="GLuint"/>
  421.     <param name="z" type="GLuint"/>
  422.     <param name="w" type="GLuint"/>
  423.   </function>
  424.  
  425.   <function name="Uniform1uiv" es2="3.0" offset="assign">
  426.     <param name="location" type="GLint"/>
  427.     <param name="count" type="GLsizei" counter="true"/>
  428.     <param name="value" type="const GLuint *" count="count"/>
  429.   </function>
  430.  
  431.   <function name="Uniform2uiv" es2="3.0" offset="assign">
  432.     <param name="location" type="GLint"/>
  433.     <param name="count" type="GLsizei" counter="true"/>
  434.     <param name="value" type="const GLuint *" count="count" count_scale="2"/>
  435.   </function>
  436.  
  437.   <function name="Uniform3uiv" es2="3.0" offset="assign">
  438.     <param name="location" type="GLint"/>
  439.     <param name="count" type="GLsizei" counter="true"/>
  440.     <param name="value" type="const GLuint *" count="count" count_scale="3"/>
  441.   </function>
  442.  
  443.   <function name="Uniform4uiv" es2="3.0" offset="assign">
  444.     <param name="location" type="GLint"/>
  445.     <param name="count" type="GLsizei" counter="true"/>
  446.     <param name="value" type="const GLuint *" count="count" count_scale="4"/>
  447.   </function>
  448.  
  449.   <!-- These functions alias ones from GL_EXT_texture_integer -->
  450.  
  451.   <function name="TexParameterIiv" offset="assign">
  452.     <param name="target" type="GLenum"/>
  453.     <param name="pname" type="GLenum"/>
  454.     <param name="params" type="const GLint *"/>
  455.   </function>
  456.  
  457.   <function name="TexParameterIuiv" offset="assign">
  458.     <param name="target" type="GLenum"/>
  459.     <param name="pname" type="GLenum"/>
  460.     <param name="params" type="const GLuint *"/>
  461.   </function>
  462.  
  463.   <function name="GetTexParameterIiv" offset="assign">
  464.     <param name="target" type="GLenum"/>
  465.     <param name="pname" type="GLenum"/>
  466.     <param name="params" type="GLint *"/>
  467.   </function>
  468.  
  469.   <function name="GetTexParameterIuiv" offset="assign">
  470.     <param name="target" type="GLenum"/>
  471.     <param name="pname" type="GLenum"/>
  472.     <param name="params" type="GLuint *"/>
  473.   </function>
  474.  
  475. </category>
  476.  
  477.  
  478. <category name="3.1">
  479.  
  480.   <enum name="UNIFORM_BUFFER"                 value="0x8A11"/>
  481.   <enum name="UNIFORM_BUFFER_BINDING"         value="0x8A28"/>
  482.   <enum name="UNIFORM_BUFFER_START"           value="0x8A29"/>
  483.   <enum name="UNIFORM_BUFFER_SIZE"            value="0x8A2A"/>
  484.   <enum name="MAX_VERTEX_UNIFORM_BLOCKS"      value="0x8A2B"/>
  485.   <enum name="MAX_GEOMETRY_UNIFORM_BLOCKS"    value="0x8A2C"/>
  486.   <enum name="MAX_FRAGMENT_UNIFORM_BLOCKS"    value="0x8A2D"/>
  487.   <enum name="MAX_COMBINED_UNIFORM_BLOCKS"    value="0x8A2E"/>
  488.   <enum name="MAX_UNIFORM_BUFFER_BINDINGS"    value="0x8A2F"/>
  489.   <enum name="MAX_UNIFORM_BLOCK_SIZE"         value="0x8A30"/>
  490.   <enum name="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" value="0x8A31"/>
  491.   <enum name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" value="0x8A32"/>
  492.   <enum name="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" value="0x8A33"/>
  493.   <enum name="UNIFORM_BUFFER_OFFSET_ALIGNMENT" value="0x8A34"/>
  494.   <enum name="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" value="0x8A35"/>
  495.   <enum name="ACTIVE_UNIFORM_BLOCKS"          value="0x8A36"/>
  496.   <enum name="UNIFORM_TYPE"                   value="0x8A37"/>
  497.   <enum name="UNIFORM_SIZE"                   value="0x8A38"/>
  498.   <enum name="UNIFORM_NAME_LENGTH"            value="0x8A39"/>
  499.   <enum name="UNIFORM_BLOCK_INDEX"            value="0x8A3A"/>
  500.   <enum name="UNIFORM_OFFSET"                 value="0x8A3B"/>
  501.   <enum name="UNIFORM_ARRAY_STRIDE"           value="0x8A3C"/>
  502.   <enum name="UNIFORM_MATRIX_STRIDE"          value="0x8A3D"/>
  503.   <enum name="UNIFORM_IS_ROW_MAJOR"           value="0x8A3E"/>
  504.   <enum name="UNIFORM_BLOCK_BINDING"          value="0x8A3F"/>
  505.   <enum name="UNIFORM_BLOCK_DATA_SIZE"        value="0x8A40"/>
  506.   <enum name="UNIFORM_BLOCK_NAME_LENGTH"      value="0x8A41"/>
  507.   <enum name="UNIFORM_BLOCK_ACTIVE_UNIFORMS"  value="0x8A42"/>
  508.   <enum name="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" value="0x8A43"/>
  509.   <enum name="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" value="0x8A44"/>
  510.   <enum name="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" value="0x8A45"/>
  511.   <enum name="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" value="0x8A46"/>
  512.   <enum name="SAMPLER_2D_RECT"                value="0x8B63"/>
  513.   <enum name="SAMPLER_2D_RECT_SHADOW"         value="0x8B64"/>
  514.   <enum name="FRAMEBUFFER_SRGB"               value="0x8DB9"/>
  515.   <enum name="SAMPLER_BUFFER"                 value="0x8DC2"/>
  516.   <enum name="INT_SAMPLER_2D_RECT"            value="0x8DCD"/>
  517.   <enum name="INT_SAMPLER_BUFFER"             value="0x8DD0"/>
  518.   <enum name="UNSIGNED_INT_SAMPLER_2D_RECT"   value="0x8DD5"/>
  519.   <enum name="UNSIGNED_INT_SAMPLER_BUFFER"    value="0x8DD8"/>
  520.   <enum name="TEXTURE_BUFFER"                 value="0x8C2A"/>
  521.   <enum name="MAX_TEXTURE_BUFFER_SIZE"        value="0x8C2B"/>
  522.   <enum name="TEXTURE_BINDING_BUFFER"         value="0x8C2C"/>
  523.   <enum name="TEXTURE_BUFFER_DATA_STORE_BINDING" value="0x8C2D"/>
  524.   <enum name="TEXTURE_BUFFER_FORMAT"          value="0x8C2E"/>
  525.   <enum name="TEXTURE_RECTANGLE"              value="0x84F5"/>
  526.   <enum name="TEXTURE_BINDING_RECTANGLE"      value="0x84F6"/>
  527.   <enum name="PROXY_TEXTURE_RECTANGLE"        value="0x84F7"/>
  528.   <enum name="MAX_RECTANGLE_TEXTURE_SIZE"     value="0x84F8"/>
  529.   <enum name="RED_SNORM"                      value="0x8F90"/>
  530.   <enum name="RG_SNORM"                       value="0x8F91"/>
  531.   <enum name="RGB_SNORM"                      value="0x8F92"/>
  532.   <enum name="RGBA_SNORM"                     value="0x8F93"/>
  533.   <enum name="R8_SNORM"                       value="0x8F94"/>
  534.   <enum name="RG8_SNORM"                      value="0x8F95"/>
  535.   <enum name="RGB8_SNORM"                     value="0x8F96"/>
  536.   <enum name="RGBA8_SNORM"                    value="0x8F97"/>
  537.   <enum name="R16_SNORM"                      value="0x8F98"/>
  538.   <enum name="RG16_SNORM"                     value="0x8F99"/>
  539.   <enum name="RGB16_SNORM"                    value="0x8F9A"/>
  540.   <enum name="RGBA16_SNORM"                   value="0x8F9B"/>
  541.   <enum name="SIGNED_NORMALIZED"              value="0x8F9C"/>
  542.   <enum name="PRIMITIVE_RESTART"              value="0x8F9D"/>
  543.   <enum name="PRIMITIVE_RESTART_INDEX"        value="0x8F9E"/>
  544.  
  545.   <function name="DrawArraysInstanced" alias="DrawArraysInstancedARB" es2="3.0">
  546.     <param name="mode" type="GLenum"/>
  547.     <param name="first" type="GLint"/>
  548.     <param name="count" type="GLsizei"/>
  549.     <param name="primcount" type="GLsizei"/>
  550.   </function>
  551.  
  552.   <function name="DrawElementsInstanced" alias="DrawElementsInstancedARB" es2="3.0">
  553.     <param name="mode" type="GLenum"/>
  554.     <param name="count" type="GLsizei"/>
  555.     <param name="type" type="GLenum"/>
  556.     <param name="indices" type="const GLvoid *"/>
  557.     <param name="primcount" type="GLsizei"/>
  558.   </function>
  559.  
  560.   <function name="TexBuffer" offset="assign">
  561.     <param name="target" type="GLenum"/>
  562.     <param name="internalFormat" type="GLenum"/>
  563.     <param name="buffer" type="GLuint"/>
  564.   </function>
  565.  
  566.   <function name="PrimitiveRestartIndex" offset="assign">
  567.     <param name="index" type="GLuint"/>
  568.   </function>
  569.  
  570. </category>
  571.  
  572.  
  573. <category name="3.2">
  574.  
  575.   <enum name="CONTEXT_CORE_PROFILE_BIT"             value="0x00000001"/>
  576.   <enum name="CONTEXT_COMPATIBILITY_PROFILE_BIT"    value="0x00000002"/>
  577.   <enum name="LINES_ADJACENCY"                      value="0x000A"/>
  578.   <enum name="LINE_STRIP_ADJACENCY"                 value="0x000B"/>
  579.   <enum name="TRIANGLES_ADJACENCY"                  value="0x000C"/>
  580.   <enum name="TRIANGLE_STRIP_ADJACENCY"             value="0x000D"/>
  581.   <enum name="PROGRAM_POINT_SIZE"                   value="0x8642"/>
  582.   <enum name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"     value="0x8C29"/>
  583.   <enum name="FRAMEBUFFER_ATTACHMENT_LAYERED"       value="0x8DA7"/>
  584.   <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" value="0x8DA8"/>
  585.   <enum name="GEOMETRY_SHADER"                      value="0x8DD9"/>
  586.   <enum name="GEOMETRY_VERTICES_OUT"                value="0x8916"/>
  587.   <enum name="GEOMETRY_INPUT_TYPE"                  value="0x8917"/>
  588.   <enum name="GEOMETRY_OUTPUT_TYPE"                 value="0x8918"/>
  589.   <enum name="MAX_GEOMETRY_UNIFORM_COMPONENTS"      value="0x8DDF"/>
  590.   <enum name="MAX_GEOMETRY_OUTPUT_VERTICES"         value="0x8DE0"/>
  591.   <enum name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS" value="0x8DE1"/>
  592.   <enum name="MAX_VERTEX_OUTPUT_COMPONENTS"         value="0x9122"/>
  593.   <enum name="MAX_GEOMETRY_INPUT_COMPONENTS"        value="0x9123"/>
  594.   <enum name="MAX_GEOMETRY_OUTPUT_COMPONENTS"       value="0x9124"/>
  595.   <enum name="MAX_FRAGMENT_INPUT_COMPONENTS"        value="0x9125"/>
  596.   <enum name="CONTEXT_PROFILE_MASK"                 value="0x9126"/>
  597.  
  598.   <function name="GetInteger64i_v" offset="assign" es2="3.0">
  599.     <param name="cap" type="GLenum"/>
  600.     <param name="index" type="GLuint"/>
  601.     <param name="data" type="GLint64 *"/>
  602.   </function>
  603.  
  604.   <function name="GetBufferParameteri64v" offset="assign" es2="3.0">
  605.     <param name="target" type="GLenum"/>
  606.     <param name="pname" type="GLenum"/>
  607.     <param name="params" type="GLint64 *"/>
  608.   </function>
  609.  
  610.   <function name="FramebufferTexture" offset="assign">
  611.     <param name="target" type="GLenum"/>
  612.     <param name="attachment" type="GLenum"/>
  613.     <param name="texture" type="GLuint"/>
  614.     <param name="level" type="GLint"/>
  615.   </function>
  616.  
  617. </category>
  618.  
  619.  
  620. <category name="3.3">
  621.   <!-- There are other new functions and tokens defined by other extensions -->
  622.   <enum name="TEXTURE_SWIZZLE_R"                value="0x8E42"/>
  623.   <enum name="TEXTURE_SWIZZLE_G"                value="0x8E43"/>
  624.   <enum name="TEXTURE_SWIZZLE_B"                value="0x8E44"/>
  625.   <enum name="TEXTURE_SWIZZLE_A"                value="0x8E45"/>
  626.   <enum name="TEXTURE_SWIZZLE_RGBA"             value="0x8E46"/>
  627.  
  628.   <function name="VertexAttribDivisor" offset="assign" es2="3.0">
  629.     <param name="index" type="GLuint"/>
  630.     <param name="divisor" type="GLuint"/>
  631.   </function>
  632.  
  633. </category>
  634.  
  635. </OpenGLAPI>
  636.