-->
<xcb header="glx" extension-xname="GLX" extension-name="Glx"
- major-version="1" minor-version="3">
- <!-- target support: 1.3 -->
+ major-version="1" minor-version="4">
<import>xproto</import>
<errorcopy name="BadPbuffer" number="10" ref="Generic" />
<errorcopy name="BadCurrentDrawable" number="11" ref="Generic" />
<errorcopy name="BadWindow" number="12" ref="Generic" />
+ <errorcopy name="GLXBadProfileARB" number="13" ref="Generic" />
<!-- Events -->
<event name="PbufferClobber" number="0">
+ <pad bytes="1" />
<field type="CARD16" name="event_type" />
<field type="CARD16" name="draw_type" />
<field type="glx:DRAWABLE" name="drawable" />
<pad bytes="4" />
</event>
+ <event name="BufferSwapComplete" number="1">
+ <pad bytes="1" />
+ <field type="CARD16" name="event_type" />
+ <pad bytes="2" />
+ <field type="glx:DRAWABLE" name="drawable" />
+ <field type="CARD32" name="ust_hi" />
+ <field type="CARD32" name="ust_lo" />
+ <field type="CARD32" name="msc_hi" />
+ <field type="CARD32" name="msc_lo" />
+ <field type="CARD32" name="sbc" />
+ </event>
+
<!-- enums for PbufferClobber event/draw type -->
<enum name="PBCET">
<item name="Damaged">
- <value>0x8017</value>
+ <value>32791</value>
</item>
<item name="Saved">
- <value>0x8018</value>
+ <value>32792</value>
</item>
</enum>
<enum name="PBCDT">
<item name="Window">
- <value>0x8019</value>
+ <value>32793</value>
</item>
<item name="Pbuffer">
- <value>0x801A</value>
+ <value>32794</value>
</item>
</enum>
<!-- Enum for CopyContext: mask -->
<enum name="GC">
- <item name="GL_CURRENT_BIT"><value>0x00000001</value></item>
- <item name="GL_POINT_BIT"><value>0x00000002</value></item>
- <item name="GL_LINE_BIT"><value>0x00000004</value></item>
- <item name="GL_POLYGON_BIT"><value>0x00000008</value></item>
- <item name="GL_POLYGON_STIPPLE_BIT"><value>0x00000010</value></item>
- <item name="GL_PIXEL_MODE_BIT"><value>0x00000020</value></item>
- <item name="GL_LIGHTING_BIT"><value>0x00000040</value></item>
- <item name="GL_FOG_BIT"><value>0x00000080</value></item>
- <item name="GL_DEPTH_BUFFER_BIT"><value>0x00000100</value></item>
- <item name="GL_ACCUM_BUFFER_BIT"><value>0x00000200</value></item>
- <item name="GL_STENCIL_BUFFER_BIT"><value>0x00000400</value></item>
- <item name="GL_VIEWPORT_BIT"><value>0x00000800</value></item>
- <item name="GL_TRANSFORM_BIT"><value>0x00001000</value></item>
- <item name="GL_ENABLE_BIT"><value>0x00002000</value></item>
- <item name="GL_COLOR_BUFFER_BIT"><value>0x00004000</value></item>
- <item name="GL_HINT_BIT"><value>0x00008000</value></item>
- <item name="GL_EVAL_BIT"><value>0x00010000</value></item>
- <item name="GL_LIST_BIT"><value>0x00020000</value></item>
- <item name="GL_TEXTURE_BIT"><value>0x00040000</value></item>
- <item name="GL_SCISSOR_BIT"><value>0x00080000</value></item>
- <item name="GL_ALL_ATTRIB_BITS"><value>0x000ffffff</value></item>
+ <item name="GL_CURRENT_BIT"><bit>0</bit></item>
+ <item name="GL_POINT_BIT"><bit>1</bit></item>
+ <item name="GL_LINE_BIT"><bit>2</bit></item>
+ <item name="GL_POLYGON_BIT"><bit>3</bit></item>
+ <item name="GL_POLYGON_STIPPLE_BIT"><bit>4</bit></item>
+ <item name="GL_PIXEL_MODE_BIT"><bit>5</bit></item>
+ <item name="GL_LIGHTING_BIT"><bit>6</bit></item>
+ <item name="GL_FOG_BIT"><bit>7</bit></item>
+ <item name="GL_DEPTH_BUFFER_BIT"><bit>8</bit></item>
+ <item name="GL_ACCUM_BUFFER_BIT"><bit>9</bit></item>
+ <item name="GL_STENCIL_BUFFER_BIT"><bit>10</bit></item>
+ <item name="GL_VIEWPORT_BIT"><bit>11</bit></item>
+ <item name="GL_TRANSFORM_BIT"><bit>12</bit></item>
+ <item name="GL_ENABLE_BIT"><bit>13</bit></item>
+ <item name="GL_COLOR_BUFFER_BIT"><bit>14</bit></item>
+ <item name="GL_HINT_BIT"><bit>15</bit></item>
+ <item name="GL_EVAL_BIT"><bit>16</bit></item>
+ <item name="GL_LIST_BIT"><bit>17</bit></item>
+ <item name="GL_TEXTURE_BIT"><bit>18</bit></item>
+ <item name="GL_SCISSOR_BIT"><bit>19</bit></item>
+ <item name="GL_ALL_ATTRIB_BITS"><value>16777215<!--0x000ffffff--></value></item>
</enum>
<request name="SwapBuffers" opcode="11">
<field type="CARD32" name="num_visuals" />
<field type="CARD32" name="num_properties" />
<pad bytes="16" />
- <list type="CARD32" name="property_list" />
+ <list type="CARD32" name="property_list">
+ <fieldref>length</fieldref>
+ </list>
</reply>
</request>
<list type="BYTE" name="data1">
<value>24</value>
</list>
- <list type="BYTE" name="data2" />
+ <list type="BYTE" name="data2">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<pad bytes="4" />
<field type="CARD32" name="str_len" />
<pad bytes="16" />
- <list type="CARD8" name="string">
+ <list type="char" name="string">
<fieldref>str_len</fieldref>
</list>
</reply>
<field type="CARD32" name="major_version" />
<field type="CARD32" name="minor_version" />
<field type="CARD32" name="str_len" />
- <list type="CARD8" name="string">
+ <list type="char" name="string">
<fieldref>str_len</fieldref>
</list>
</request>
value-mask-name="value_mask"
value-list-name="value_list" />
-->
- <list type="CARD32" name="property_list" />
+ <list type="CARD32" name="property_list">
+ <fieldref>length</fieldref>
+ </list>
</reply>
</request>
<request name="CreatePixmap" opcode="22">
<field type="CARD32" name="screen" />
- <field type="CARD32" name="fbconfig" />
+ <field type="FBCONFIG" name="fbconfig" />
<field type="xproto:PIXMAP" name="pixmap" />
<field type="glx:PIXMAP" name="glx_pixmap" />
<field type="CARD32" name="num_attribs" />
<request name="CreateNewContext" opcode="24">
<field type="glx:CONTEXT" name="context" />
- <field type="CARD32" name="fbconfig" />
- <field type="SCREEN" name="screen" />
+ <field type="FBCONFIG" name="fbconfig" />
+ <field type="CARD32" name="screen" />
<field type="CARD32" name="render_type" />
- <field type="CARD32" name="share_list" />
+ <field type="glx:CONTEXT" name="share_list" />
<field type="BOOL" name="is_direct" />
- <field type="CARD8" name="reserved1" />
- <field type="CARD16" name="reserved2" />
+ <pad bytes="3" />
</request>
<request name="QueryContext" opcode="25">
<field type="glx:CONTEXT" name="context" />
<reply>
<pad bytes="1" />
- <field type="CARD32" name="num_attributes"/>
+ <field type="CARD32" name="num_attribs"/>
<pad bytes="20" />
<list type="CARD32" name="attribs">
<op op="*">
- <fieldref>num_attributes</fieldref>
+ <fieldref>num_attribs</fieldref>
<value>2</value>
</op>
</list>
</request>
<request name="CreatePbuffer" opcode="27">
- <field type="SCREEN" name="screen" />
+ <field type="CARD32" name="screen" />
<field type="FBCONFIG" name="fbconfig" />
<field type="PBUFFER" name="pbuffer" />
<field type="CARD32" name="num_attribs" />
</request>
<request name="CreateWindow" opcode="31">
- <field type="SCREEN" name="screen" />
+ <field type="CARD32" name="screen" />
<field type="FBCONFIG" name="fbconfig" />
<field type="xproto:WINDOW" name="window" />
<field type="glx:WINDOW" name="glx_window" />
<field type="glx:WINDOW" name="glxwindow" />
</request>
+ <!-- Start of GLX_ARB_create_context and GLX_ARB_create_context_profile
+ requests. -->
+ <request name="SetClientInfoARB" opcode="33">
+ <field type="CARD32" name="major_version" />
+ <field type="CARD32" name="minor_version" />
+ <field type="CARD32" name="num_versions" />
+ <field type="CARD32" name="gl_str_len" />
+ <field type="CARD32" name="glx_str_len" />
+ <list type="CARD32" name="gl_versions">
+ <op op="*">
+ <fieldref>num_versions</fieldref>
+ <value>2</value>
+ </op>
+ </list>
+ <list type="char" name="gl_extension_string">
+ <fieldref>gl_str_len</fieldref>
+ </list>
+ <list type="char" name="glx_extension_string">
+ <fieldref>glx_str_len</fieldref>
+ </list>
+ </request>
+
+ <request name="CreateContextAttribsARB" opcode="34">
+ <field type="glx:CONTEXT" name="context" />
+ <field type="FBCONFIG" name="fbconfig" />
+ <field type="CARD32" name="screen" />
+ <field type="glx:CONTEXT" name="share_list" />
+ <field type="BOOL" name="is_direct" />
+ <pad bytes="3" />
+ <field type="CARD32" name="num_attribs" />
+ <list type="CARD32" name="attribs">
+ <op op="*">
+ <fieldref>num_attribs</fieldref>
+ <value>2</value>
+ </op>
+ </list>
+ </request>
+
+ <request name="SetClientInfo2ARB" opcode="35">
+ <field type="CARD32" name="major_version" />
+ <field type="CARD32" name="minor_version" />
+ <field type="CARD32" name="num_versions" />
+ <field type="CARD32" name="gl_str_len" />
+ <field type="CARD32" name="glx_str_len" />
+ <list type="CARD32" name="gl_versions">
+ <op op="*">
+ <fieldref>num_versions</fieldref>
+ <value>3</value>
+ </op>
+ </list>
+ <list type="char" name="gl_extension_string">
+ <fieldref>gl_str_len</fieldref>
+ </list>
+ <list type="char" name="glx_extension_string">
+ <fieldref>glx_str_len</fieldref>
+ </list>
+ </request>
+
<!-- Requests for GL Non-rendering Commands (single ops) -->
<request name="NewList" opcode="101">
</request>
<enum name="RM">
- <item name="GL_RENDER"><value>0x1C00</value></item>
- <item name="GL_FEEDBACK"><value>0x1C01</value></item>
- <item name="GL_SELECT"><value>0x1C02</value></item>
+ <item name="GL_RENDER"><value>7168</value></item>
+ <item name="GL_FEEDBACK"><value>7169</value></item>
+ <item name="GL_SELECT"><value>7170</value></item>
</enum>
<request name="Finish" opcode="108">
<reply>
<pad bytes="1" />
<pad bytes="24" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<reply>
<pad bytes="1" />
<pad bytes="24" />
- <list type="FLOAT64" name="data" />
+ <list type="FLOAT64" name="data">
+ <op op="/">
+ <fieldref>length</fieldref>
+ <value>2</value>
+ </op>
+ </list>
</reply>
</request>
<reply>
<pad bytes="1" />
<pad bytes="24" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<pad bytes="4" />
<field type="CARD32" name="n" />
<pad bytes="16" />
- <list type="CARD8" name="string">
+ <list type="char" name="string">
<fieldref>n</fieldref>
</list>
</reply>
<field type="INT32" name="height" />
<field type="INT32" name="depth" />
<pad bytes="4" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<pad bytes="1" />
<field type="BOOL32" name="ret_val" />
<pad bytes="20" />
- <list type="BOOL" name="data" />
+ <list type="BOOL" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<reply>
<pad bytes="1" />
<pad bytes="24" />
- <list type="CARD32" name="data" />
+ <list type="CARD32" name="data">
+ <fieldref>length</fieldref>
+ </list>
</reply>
</request>
<pad bytes="8" />
<field type="INT32" name="width" />
<pad bytes="12" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<field type="INT32" name="width" />
<field type="INT32" name="height" />
<pad bytes="8" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<field type="INT32" name="row_w" />
<field type="INT32" name="col_h" />
<pad bytes="8" />
- <list type="BYTE" name="rows_and_cols" />
+ <list type="BYTE" name="rows_and_cols">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<pad bytes="8" />
<field type="INT32" name="width" />
<pad bytes="12" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<reply>
<pad bytes="1" />
<pad bytes="24" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<pad bytes="8" />
<field type="INT32" name="size" />
<pad bytes="12" />
- <list type="BYTE" name="data" />
+ <list type="BYTE" name="data">
+ <op op="*">
+ <fieldref>length</fieldref>
+ <value>4</value>
+ </op>
+ </list>
</reply>
</request>
<reply>
<pad bytes="1" />
<pad bytes="24" />
- <list type="CARD32" name="data" />
+ <list type="CARD32" name="data">
+ <fieldref>length</fieldref>
+ </list>
</reply>
</request>