From a29f9cbcc667b2e7e5e5f5c09114435b05fc108b Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Wed, 7 Feb 2018 01:18:56 +0300 Subject: [PATCH 1/1] first public version --- SDL2/Mod/GL.odc | Bin 0 -> 2382603 bytes SDL2/Mod/Gen.odc | Bin 0 -> 22226 bytes SDL2/Mod/Image.odc | Bin 0 -> 4849 bytes SDL2/Mod/Lib.odc | Bin 0 -> 93563 bytes SDL2/Mod/Macro.odc | Bin 0 -> 6994 bytes SDL2/Mod/Test.odc | Bin 0 -> 4127 bytes SDL2/Rsrc/gl.xml | 49561 +++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 49561 insertions(+) create mode 100644 SDL2/Mod/GL.odc create mode 100644 SDL2/Mod/Gen.odc create mode 100644 SDL2/Mod/Image.odc create mode 100644 SDL2/Mod/Lib.odc create mode 100644 SDL2/Mod/Macro.odc create mode 100644 SDL2/Mod/Test.odc create mode 100644 SDL2/Rsrc/gl.xml diff --git a/SDL2/Mod/GL.odc b/SDL2/Mod/GL.odc new file mode 100644 index 0000000000000000000000000000000000000000..30e2e54450116736a275d86afcdd880f370438b9 GIT binary patch literal 2382603 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�N#0b2?)+VwbRG6 zB%y-1YER7hZdeE>S0Gi5KY;N^P8bYeIh3!Cz>P`S}H0J z_zV)ZMLig)MIm>I+po;%xlHb3sqQrG;`;>B+v zoO+(kPpAFgY*>0m+mG4FXsE}xWmF5iljUbT)N z!4yrdei-(G+Z_5ShIs#JExzZ(2HFn!vG@!()pmyTM_SUaO7Z3f2KPMBo90kGPY6DZ zArwS`K)3j1R7;&CL3Tv506*@Z(gDbD{vlp$b|yrN(}BqVf|wiJ4pjN)!d;w3}*-Iv87#xcumlfA_a#}6JeIhp-c~0Bc$r$4<$fv@&A#=!z zkY>u6kMa2swy237KoXBJ@}38xh<_OjH?9&Y%7*437LZf{Q0$2XuN0W!4p_{afKWkF*u8?FAe1IZ zDq)q63pG`?q(vl#M1l>b>pDPeIxwgf2EVc1#Q3 z>kmpDrR5YTRIs-167844PYTSTw;vi~ms${!t7K<$WX%?Wf_H1q6X!A= zW03Qe$$^w=pS|=PHwdrhxx_5#5HnPMfaRCc&S(Ttz|g_-V|`eB zU%&Cm0~{{LJe8%l-<=j6>Z004-`a!~^BT3r@AO1^-y-(91M1FNQ)ji2(9|txi-bjz zw%;}5gxMsIJvNcM^__#Eb<6dlf!XQm*0VO35mWmHXCmS%Vx%PeR9&Pkz->2R)M_e~>N#B{ znGq`$$Pm{(n_kc6aC=S3f{=G&(H7j35_gW?#vKB?FFvhbU)Lgj5ASoY=^le?@aNTX zLD_Qr#hLuf-V;3ri&r`AO<66_;|u_)rqJK_n@H>2lWtE-{hPQp-J-CFwB1^_h~PSA z?P&b8;jx>0rcp%a1>u$}MCOg+E?aPsWd(1<2k-aK6gTN{0lvbw zOA)-5js%HNXz5TQ47`I*;kk3KI_VEYGdLVMc;78Wd|aX4>j_t+pIEW#@}!>Cjk0hO zI-{%$g7D}p@na>M0)AXxkLF#))lyyN6R3o_< z*RPo$YZoWuNgYXn#80kg7mYeh$C$ESFcFKV&sYQBpLWpwUT4}Vnb>{!(>DuSZ1w(2+0)kvHfQAH<4xk6N>*mhh`Ei^sVmm|cmhkuH zF>ox_FdPkF@xa3;r!%DxU2l(%xkXL{)ZJDAX#SGgpQ6NeU1*+ zT=>EXqwIP7VLCX6?3To+lmgIZthTR-ONro*21UC>m?Uy~r@$vD311HiYVi3j?49Zv0nbuHHCgsBa&9s_#NyR(z=wOVYV zmI562$@-enWNix{Y~C}o#F#9# z9g#&G+*WX4@XuKF4mh~AKoLQjHY=J_mgO!Ra2!n9L&USVSUgqwNfnN?^UU{3}VU*C)-WE3>60)2^XGg)3GYac2vv zd!ULpc@bVicVlcZ*zPwjT3K0-v3s)*z8W~4ew{>S%n`@prc}MHCy!;`PFXn5zJG~l zP(v^z-V%Af92jYsjgrhMB}p(r^y}NP+@G9vYNOO)KNZtg8i*oZzQ~_<^O5Nn(sZ zkOWQZX)1@Oggn#%#(@t{ks9-83ZprXDhO)BqC7aQrk6UrFYr{v)r~6O7uvhTF_37| zD!?WAG^s?9R7N_D<$72mL)8$PPgs_iHq(^@rtI2cHq*F*1cP9K&5C(b0i!v0s(_VH z6bVlroEof6G%YbHNE`~7q!;K;pm?IZzRm*OZ)ixsh@o#HGg%~!`^Vkelr(cav+&#j znn-cd^a5mA7ASL?i(-h)MK5mv_fOlb%?fyptc{)EtY+SCXnE@4HRoLgacx+a2iMRF z*|Fwr$bPpbX}^IKr1oGHd2rhp zP&@FfF+JFYF+J?Wm>%{1r)sx&xC6U-*p*$iwCAnhVRuHh09SM2uA;n+bXUOZ#Nt{e zWUbI)N7lC+v+_as|9P4A$@*aVVDI?TGF6zL-+}qt}0fPOVkPT3GOZLG|$OfppCHrtE zWCPUQl5O68FFNPPyaSu02Z|u`O0P{$$X#r}*Uay7K|vy-rf$QB8&OMCu5I!zjaufjl79*+wK~ zW2(lYO;ZkGne3k1MHLjrA!ktQNmw9O}DgxV!WKevwVSj)K)h`~DB4J$jq=sMqyi4*tr) zgm1cZIyir=u~4*QQHvB^nQVKkVBL$TaWalkFSN$9r*N~f)GM#HyX~xbHHi)J$Q^PeDUn%HTaB= zmHmx(EAZ(<@aa9(h$BY;fAgR4Au`_*Um^=WiGKK-?-xHUan!qCJ%Hokd}8S$&j2OH9OO?jzLKML@O_A<6W%a4oG~5!TU>;O_7*%l+p9SoSvICg(!wU zAJ$SLpPnpp(BS3nNCQP!cYw1R(iVL!Cq~MV%+BTTzhU|?UQJmA?`olTCBdef# zS$%$5JcJ5ou|nk@FIUSzQMdQBKkp}NKfHDVB5A`|PMyG`k&D*_@8#fefS1K*E_$gW z(VX_K@l5*X1AHxOI5*dr)0-MG#=x|bMoq_hyMBB$mv?Nz@N|G7;*z0ugm^X|PhrsU z3_^t*st({)O**V-3hy5lpXt~ls;47l#Ug{@4W?I6gh`2V#b}F$`LKeQ%8r@f<>!YJ z@fDx}&!7o)F*kO}j7zvNU%-cy{ignppCHevK<7yIUmt6$HJxh@%DD+C`e61`fwsO) z$K+iR%anmL6*|1>nckOo0pwl(7b0wp`qPaZf6m zkiCozG>99-@*s&R=Hd?NN!(a1DOa7^_O5HplY|Dv?b$I2a9wYHJxxrjzC^X@5Lp3c zUnhg?ne}AG4G;AV?G{2S_@E9P-T{7DJU&0j7dk2C4wsvkRI$(yA@&c8hd0w&ZX)8D zux!wSTPh_vUPPP1Htey)=mD(1h!{NvwKHOldSN^&BS@B0Tj`T6X6UScGT0q%@CQYa z{b~-3`XAB?k{vB#sH494ZUR<$6KQ9H=-4Goa-`TdMlmcgVsm|{o=(XJL}5UXvJkD= zNSBaWG3Uicysk5elp&aDvd2=1Pl+=^P#2$5L-yJNL=VIVhR04f&zcZ6|J%ZsM(pAl;OYb zjvdA>6F|(_0GpoPWw(6Y}T5#fey2yo)(WwyO@9_GR%X&;A*)2vVa1oW{K%7-SRVS-2xc= zHX6>-bi{|1d8pi&8Cl=UcdUC~FNi8a?eaCvCa?eaSb*0wJ%xBRo?iAx2Wg1@iF^dS zfqm3_BCBZsCbKARW;+OJwy!r~bVio;Nv?+N8LZBiHF)_GVGi9#Lw$Pvc`w4P^-3;D zS?tzDG|1ft!X219gBon@6t)%zXS3_HyuBHX13^r5A3Qw!+JOB*Hu7zpFhn?SG^Bpy zWE3o1|7~(!X(v#5_N=~>cKykW+FWFEvcsQfOu;25i(b9m6cM2HOD{MW{Iq_}9GX7~ zGyECyQb|&ekS1NyaIwKiS5@4A-3P)dFR|F+&T5y7(kZ?2VkOKx^=u{9elXG_O4VD; z>W!8*aMTMco_Ul@OFKS!KgAGnhJrj-f{CFz_H_x#d<8Q%QEyuWx&593>4MQ3!rti& zgxIyAq=3vdgv5IYK}7>em2^0?imMI5028pWI~v;p4Gr2Qt?XoO1hkqwZ(x6FAt6(-6NR>AY{3qHzLegfsylKtL8x8l)(1ndcjL< zo`nb}h^54``6JW7pJ;h2X3ZgJO>!RQSvk?p%t>?hWHi#ldJ*biOYvE2iV2w}62o$W zNvdnjg(Y>^n$&nXSb(!~LY-kD&bkj7E90QICRf@Z)wGZg$=4n_4QJ4G|OfKxvAQ4LToTS9VOz))>M4u)6Plm2W5 z`#dW4tSM{Aa7A%2D~Yd>nU61jtp5Ddyz56R%jBaF#Ea?p`url1_}BICCZrb(0!c6( zRId9@Vv;8P`N;*JHz|9(Xy{%m(-UIGe-|b@gqQd*y}bw?KSU;3DM``;_)aq!OHvO+ zTTn%m{QuOwO?O*6jwm|rLH`F2({I$Vy=sz?EK81VWJx8-KFPW3u3CyMC+cHcE?G_` z_3Ix1f+RqKdv9&YNqTZltc@>%APABm_`W+Hj=^z`jKv6TmIXI>^kw;Ysb1)z@BQ@# zp5Bd6QGqw>B_xUmC&8lz6bL*oFFT|2nZfgE;U-CEIgm}zg|x@TqpR}Gn|P8%{P@CA zEu#3c;9=Jfe$cMphp3b7=6b#IL)r-k^~@WJwjUqZIyvu6=I{GgWHyp+SzOtF+>$T)E{5iHjx;CK)D!xn!JanIeH&U($Rwf z6X@WPij3~ok6AiB{^p>#gW#+kewuB6I6vaEL-Dc(thO%he>{C1=nNCE9r~FpkPQK? zYl4r|FJU)-zJxrL#g?`;ow+R^W;YARz&V~^))WJv_G2sQWd)-T_G`|L62hHIc!sC* zcpLf|Tk>B8xr-vB4qvZhP?|8Fvp)F>qx*h&xq5zvQ=9nJdA=Rhk(#45j96gKtfUF#4664#~jd>8EI^2O5vFEd3r${amNuV@6CEh&<|k@(_))y)in`prSpN zrbr!j%w+(vE6wO|!z^B;KG>CbAgQ8@D6V-Wq*4WjxSBRZfurtVNE6q%-=FoYZA`F& z?OLuCu;zpr3NX0_Qy`QrT2c%S^57GD&wu%T6r&zi{BWpTt48AhSuf5}M>F#r87Bcq zOK%*);I$3#a5I0MipK>1{5)Tu!-<=lg!t312zsbRjp7~(oYK~i$om9Cu(Yt_4M_f@ zaBk)<9J*N{2}0f-fi|DkkFW(pHbw>#4Y?GDUV-hxj5x#1_shSkG&yYktj{KX*yfBo09G+djm(pmz{~Rig{Q(g*hL_#uJ(n{=g;`l|ddOABjxa zIuvL@nqm;443PQCIPhshS?4FkS#umL-7Q;~Zry&Fq$7MxuS@*}$VY0IrT%eBr(W8$K%U%l6vz!i?@CxzsMN`NtlKq$)GJj z%CI0Ktpg8eJHzql0;8dP9(Bc1!kfAPgyp1H7*(ehKJXFGktHq>;WiC7s}jfRUR zV~xTVWOj166|Kq=2{PTpzADTIx_tniCuAiJ+?8Ylo$X4piT-w@nK}GSlflY_Ur@?3 z*N}QUxt>P59xaMw6((rVoh5qtT$~UK4V0NTlz9=xv*`d^kjXTaMtP6_m)0w2m`FMAupmgP2?Do7urY?i4pyTu z1GK27hsEZv<%U*BVS5ye%lrA^a4>?6gDb4oFl$8WA4Ci76Q>PH>eIz|gs;Zt(*;bW zG^x2ItQ9?uhaTIQQk$Z?J(-mK8!?e%7zRnP=8lXL!O`drJC~D`&`}*FSd8C8+I5^* zgO;&zg0kh1You&KyAj#Xt3|#BmTk{1R*2?eqo_b-!_)fx5&!=W*PzCn`C`XA5tYjINjuzH+qmd_9; z&Q~tM9Ua8qPC-sMT3LQkp9kU@>?enH{<2wM)`b2RTv2jeLWm_K{4_l1=w zvc1EjH=m8j26DT%iYw5bk255{8ypy)sL4s@|8UT768% z7t_w=*Mw z#>@uh$z!^^2F7anmr??Tnt~~^11o6ALsv|)NKC;-6K~C_I$5i3jp1l#jaUD zB@$RBQOl{(3tkB$xd%xtC4E9Y6cG|oJL~ie3IB&_W(^~_ecr(AtyWTiN^PWnQ48r` z)V^%M$xg&8@4IugIjnAL!4Rterra#O$x0-F5xZ+&nt}GU$ zFI~bKaC&NO7RgG|um-{DGFuP&Lnltm-`7c|QdtJqLaaC;=g-1(aGG%L8#7Z2#{0yP zsYI`%3&W?1Rf3^~nvi5)3lPk$2G?+J(9w~B)yFmT_vuf;c>k7Fb(?j-oNhfNr;S#Q zv0F6;sm;f3vt5Q3bgiAB1JIqFp0`kQ*_jqSN6-*XTe}aK8jfa1!*wDkmV`%{1GuaT zZ!lOlyD}Z#uW#ra106Z7@D7q<>&(REWH$+`jkIhrv*59FUe}9#G$b&?NforY7j@oj z$}B56=Bng#5)%A=quDk-973FL}H|v-t;x5nqXECv<~euWphx6V(z!&ZL8baUA+~&))2x5mF)TTCZ8hL<9&m*cSqkSy`&=CvEKx!_pTyzQ#H&@ z^&J}pAM05(F#XDgyY6ZltwC1Ru-EId3akFfIeg-qJdUPKpswPaJ8%aGHrhy#glt0p#ZBVGZv^D-}9)w{0{2i9B2YYjDM zSD{I-H_(ba_YDcX8q3q=LBc~G1TMC*wRfOcQE@7cw_g@J9uw!+8gfp*6|II(Y1&zy zbyiq-Bk?BY@>=7r%0yppK#Pq#c4vy6AJ z&qGG5UZv#;`tXq}4-{ls8lSHe#wyN5i~VI`Ej%Ou?%}nDsnd5wtM?hGNE~b_+!$+O zSFbf#t8Dr8hHH`Q>1&3#pl7~d>ArYuQUpHt*0RM!5`#@v{)=Pn06|g{CfRd z#rE~0U*FH=aP9OpL*XXuvu=L%xVY)-gqdkKu&xS4zeZf_6;nzv z3Xbhs+DyZCD_<*+_Jg?`61;Ly&4UT~7b0wUv~-^_?I=T!r5nX*gsmhgTKO-FxJeDa zDB=d*?MyxweE<_F|(Z`d6 zth*ZvRBuKo(Qju+@Y?P{Cc?&gsx>8)=qIbGUZ%rr;xtxL17iY-ezKOD2=&_;)4{e# z8uwkDG5v0S={NLBznf3`{XEji$KNeVB8h%Cj|4*fW*&(o`pIgl^++Fox9RN!CHl!) zs-50IsNc?*e!uDMcQd8m(2#yNGx`mU=(n5RPEn%Y%_D(OznMoOiGH%0>ZZ5T-)<{_ zB>Kr(s-50IsNc?*ey6~@^?^~?X$*%(=4l+A0lmhqtFJ#umB=+~cr_R*^A549wZS

ZABtg%SDqtpiDQie3+oD=DmE+8zwveJ{X@Q<4`5Uk zr*DdP-s^X+@a?kv(nAI3Sk69I%JceVBOh=`Dn9AwBjc9!!}9rg@r5?D@da4X%*f2B zo&V!@JH=!z6G|0bS^`@V?P@WyCjivBM zZ=|BNb+a-hy4B&$2)M?Wb)ZFWE*`h=Q1JqlLDik*gHy}z?hQ)(h>gSld-Ha+wMo+P z+5hQvz_02zDmYW~?LGpPxmp|8NB#4gvXSOu=yDt^}2V@cesdv z9IgA+rwEV(=DZC*-}E}?XY}Mj7KA)+ZZL|#SC2AadK0C0ZVD37ATD~mUDAjW-5fX? zfse6BnF4&>`)@G>)_mx}--0y(WV~z#J+`{te#Q23eEoH~`tp@lX8c21{7^q5^#px= z5Bi;KH`nXctx(v=7UIZ=9QKw%goP~i?P3eja8W9&NR#ic18Qeyxh%u_9pti>g1=C% zVXrgm(Su=^SFo7=V=y{7wp919d{}S9Qws177n-`;JaG%5_4XMq7UMe2_94xgD?;wu4y~(gM z>eW0qy8P!$sLQLP!5)oG*k3#EO}pdE$zYgop7_x=0+@@*)n#Y)!I~2n&wt@)^?MaT zPDHcbGSwS|h>B)LI{?ryKynlQY(9oc#Mutek@1qxcDZ?6+@~{O&6KI+R4gqQmF=iJ z9+>GR>^BZv0F@4{yvZV(;)xVgcvvL}c{-yD;}OwRBR^Rt^I_9pD^qt2TjF4{#vn-r zyIFr*ZeU|~7Q3dXxYBn*H0v-hXcITAA>v3V*Id4f^ya2xL9Sm+EC-OM!W% z+rt9zU3iC@AN8JHjZ&xdMlUe3N4?`5R(RffiZfW`baiGix#6=UdIThR>;&=J!i@Zz z&=_>b!|@c)9`SVSq;FAl3rDwl-QcvvA=?-6@6Y1j6nOivPW&EUdMh+26{e}qkZZb7L)t+dhB zNGt~w92vOyQWt{v>W;_L^W#2ww0r{U3Nb1!pLFl!UZ0L=RKCo-mH`I^1DB? z@$edsZ6@>g*PS8gHdm#B6nhl#YSkrk=vZ3=0q+W4C7gCfGkkuj-|L;9b-Evl;#j~% zna1+Cm?pxecC1bIi3mJ;sY zE{K$yn~tEhGHp%MZG-vkl(ct_-h}i@ZvE;Jc2g)=(Wi%+j&+#Sj#93^K=BG zU0oZI4xhv3L*`95d36F6vMQrQu+g2L7HCa1lPI+&N(mjkJbZRZX$`~ybwf_s$kfr( zVvGB*sOe0xjAyo_3U3;oq#NYNE=O)<>r zZ*kamz~g;sPq$JPs+4_krYqoaAZ68XIgq+4xa2cTU3Y}MQS!kB6&dH2b#x7Lt>Tb7 zzB&d$@QR+zY-i6A(CrM3$bjZp9~IC}jsJsYS#@AHLlSu}HJmGs`h%jUHe&~Hp53NzVY;aXpWZhUb&HmeI*?0?1{Bym0oK}seu~G zLiM`i(Rl}NPT$pP%nvT$LsG=xrh)XibfKk~I1t zX&*{gkjI>>8>46Ix}!JT81J)#hWrm+N7|2TEtx5b2O(Uqt4g_=Xse1qHdO_E@tQ5D zi~si8Qj@(_mRaqWm9+=edQDZy)I?Dg`0tJRg`4yhQd&mWV(9rFysF&awzt0R?R3k z&{w5ojWkxKfIHkB>ykGfMDRAyyQ9i99&;E@;LVOST1>KmD2dH)Hx`Lx`bnt7>8b&} z@xZ?S+q|*wjtZGd+Ff%>l;w$Di`Nhig9c~WQP7)4{K#cQRi}M_?7oXi; zb*Sn3WwU+}+u3jhsJni_3|Kl#OIl3p{^e%4ikktUiLiP8ehist9XvjQU0tfkV0P{D zVe#~Jy&)wz4_dv?8cy{>-QO9pIfHGS0hAV)<~NelqdnYVZi?kLTL)}ws0{#Uqk z^X>=+*UJNJS?gOknY5Nx4wQR%7S<+|Hk7o1E2o3^s52+4h;&=>a7h?1Dt&j9l)CV)gl7G;>t#(JprdLr10_Q|3R#;i^tphB^=4( z=mOV`zh#pNPD_uF^2p{a=b6|GB4ngCI`-CK@6QszU0gYXG4}zi5^je!sE_{)Qy$z0 zID@;ee+~StRA-m+(-{mSQi(gsjm9^ffD`I{>|c$#<^f~ssS6n?YtSamTxvKDE=HZ< ztjCk3WkJvR^a$2|Mzuc97MsmVjkM_f;N~S%0||5GyCcAwFTZbJHp?ostpgEwktF!p z;o`^o#kE78!cKbKL1ze=D9&S)EYusdG`FYT<9737g6hG~SjmQDojomYR*U=9zv-G) zcm4Rhg&HrWTu=UM(!Ejg0CBzG4HfAZ66wnZ{=3RQ9n52()i-ahC38kNs#DfD(S)v> zP!dYUL-5?hHPJy6nn60@ff6#UWfLUlohbwZkY)zSNDyaOlDXt2nA@lG`CthC=I?N& zFEwv>&gNW7xLzv`eB76KuiX9p1oPE$^KE%)-|_>V^Io?znP0)xy?i|fqhTu|W^3}E zL(n!DcHuhW6iWV>zGVx++v9ZgqcuDGH#y zJMyV5?mN{K#~4Esj`kS<$O+_zs#|3=24(W9fWW#^ow zb;EK(Zv8ON?r*-iTgW_pCW&P>LWk~DBSuKM9w)4Y93|8By>?2N;)p`1`_siB(^ zR#Z6RbpL=C9e;pH=%={@u(IXGuRXI-1G{hdWX=BWAhxU4AyiAG)ir+)&KWPY{$@^; zZqI5jdmu$-Ew0sPwS&dg4J3j}SqmzTUHFq`s%k?p1V5Oy1|`Qf*Q$AEX@i=_lbYxW zGC((f#gc?Rn3_Tyb=jGIfZ7LBxDR`t?=8R@6eq(Fji|+{=YMrZ1$HJ-v}7<~x*6ASdp^gdg%xPwJ1spMMT}R*0lF6;>pbqXWyJk0_&?IN+~O>aRc5Uw`<& zJi||;E^a?TY=@ic`DP3+!w^mQS_tD@sw5};UktLmGpA#S$KbO3{KP!f+frVc%Qo3k zyvqNk+&Gcv5vVjdE-~=T6b#4RXL30H;jcV9&&y!f3y;AaC7P+U36E*!HaID0@q-67 zsAvBN$sm_Sflw1QScv8sy_0|@F2~>fleov()$_LVVUy#6QZ+wMaobR-AL}t)YpW&QPa`uhiqKS3wtV?vC|jw4hoKCY zr}nAJqZRV*XnlA0y!7d)Pg~el!=Z&;K|>6F;n@ggBG=6%z~MC4T7<)?cvlfFC*i=d ze{C(gl6|!3fy17ab|0WwL37ZOrts{13;pexr6h`T0a!*cjcIU#5}u z=TKV)QkJpfRHf!$-{$JlZR8E$@ZGQGLkrCNbFM?g6~zeN*uG@NHIIH=ZOjm%p`33F+dxy%E+0aW$;{cqPl2I94?X)>@1@4h$>{fihsANs1v%( zRl$f7)m-!5sro~41n*RPV;_CIX1$F>g?S;7L#mQitlasDg;p4vs8nNJ{IArk&lW{X z*gn1=_)ZDNY!s+fXVS@Fej zyZGX`Ccf}9m=S9n*A;xVpPcX-J!u?k@XToh4kvqs9mbm%4b z6O_?rT3`{ZDPqUBZh{ysrwEqB+RkbD(v6qsaJQ>G#mU`}C{1pgRcQtA4<*X!o>~F?Ly2NvcWZVdtmf>Jm$ns$qW*-& zc_5V`nVpcP+5PGLvt+JhuD|5QTNsE=xz~2mLq+4`=qk4o(q!|cO?onyoZpmAZIG5> zP;mXjov69f(}b81(oBU0Edbqo0n$`PHSr*&gGiWC&Ck@E%9qRqAfY+8>_P4z4K~Cy zPZ4V5G<#bwp4@fB#y3YG;f*pLd{U9jfr{MzMemcv=sgZ|NcqW6G-x)$_}MhsVE^g5 z25IHmt|k^`B(fx;K{p?y)ntQ=$&v>|>|2MR?WrB2!G@5gbyZ7gsWPXWyOL_EL6d6C zgB}Na=rN;p2rcGBcbCx8VM^C@Pz{xs_z_T}y-iY0&XO{rJh+7G8*lTWojR!d<+mjz zvqLMb8_x7|`gYT2i10#+X5DpR`>{iq*GRafR%a@1K1YF2w#F$AsCu9ma??<)s7s_qVRobGTTU?{)p8hM>PXrD}@@ojWElBg0M5 z%fTG4jv8sKb^h$T%FcurIg`Kto&3GCpSxK|7~mMpCB^zDE+8SrDk`SLP%7c>j(zW6bCHE|t>;+C&U57x4GN6B&{ zYwB_HCBp8CZNgrJ$Uif(Zyd?9`88e;9zaX)j&xw2b=nT=x}PIXMJMLAe84>lt*0IK zEJCje$(#7X-$?e$-sRi<25;O#v9~H7mJjO<<-%fsB5x|;-=Vl6?3u7SL8LwXNu5ZE zJA+Cjtz;Cv-o(?Fdwpkl$?uex*zFp$r$5-a5$UjN(+O&G!3X~~GB=K|8cV$Q2GyRuu!B?n zU(}{1K~nYbJorZ9p8eEn`?qe0XU4bhZfUkn+_KeJ(d7(Y%^LKw*SNSc3pn5ilds-2 z)K$Nq6MB;rhp~=&-Rw|W^OFQb+nf$u2~Zq0E-)?4si}_Y*_jm%+O|hV%rG(3R5*xj zE>}4?Ov87Viyn%i3U}5?2|q63ON59Aqujz4xJVtFsmQjS3^tCMhNq0MI8y;vc>&R*w<@|CZnHpsd%T zvsuQw1TnBe={d4$Wx3jQ`q(hqF~t{Y{BW2P;~;t=e5kX%R-$L2&%xUwmU>l3uyw8b z{qht~lyfqCk>%E$Vlrc^UQBqxZ9LCtvb>M-GPc3o(R~TQakT(7K z+Zf|sjTsIu-owV$Jlm62N0Qp0;mMsIyxTCe&~%+rvmzJ8UGB!bMWKw-;J7>;PkQ|9 z9L=t7RmxK42U68nob{s{3)8%DW}dq*)dQ+hdq`>rZ>76Nafbo*xjmK z7{ZhqRyy!byS_!sD%cul)G5P6b@9v-uWA-rW7kAXDc3Zm87Jd}HRY4EAUS0Yp<}5n zb|ON`q^2L@2YI(}us$Z(l-H}D{>^=8hG^6Z(+Nj4&;Mb}>hZG^-^*vaVD^A6Q&i7e` z?cNPdWfH+%y?-gME8>FIK6%Un3JOFWz3OCir9mNWD}(yQ4aoPzU(W{1IR`?c`z+QD zV3Q4H6utgaZ8Qyf+t{pHGX83tJw$`bSqf?VQ}o{bXexYU9$zSOTvOye?w=|+AOk`q~_eVJ9ZzV2keft5wFud73mA<@JNGL z2!MZnJ_A`+NFk{A`eanNZUbrG9i`hJse?(Qm4-PDTBt_jHdW?Nm$Px$TU1_pyqhXB z8U1EHs?JreH>)oh zkoTXd-XB(v!5g@fOnAC3PLA#;1i~~hG>-@r62tO+Je0hZXZlTKH`7smYrRi9-4Ae3 zFdclfj_Q)Dx%i~>(!KD;9lU^dajE1Qr`P#M#IVQlC%>Np+fFmAQ`PVF&d-2lXAUgS ztmlW)Dm`(daj^wvpK0Mn^Q23kFdnp;r`+6Y4QHKM{s!RpJ6CL(C?+pM+xZzbaoSf) z2i=?I)OSgONF{*Bt01@Y5Gs9iO_qz}sDJndHIzsL-{phJ$vGWb#8EBE$JIM1}vI zSIhP^@(Xv423~w)NoXze?#R)Q7vcg9%iT97b2S>EN6ashz485v>Y(lwT4IM9kn@v? z47+MPaUzt`v!|V@`6!p{+kc~w^57?68<)Iy!p~Y}uy4>bQ#SAgXPL8Zqd1FtcJI^> z-02NEH|fv8-%cBeMiv3+;ns^+I}k92dDgUu5AHCR;b8hHh-f_&lgZeibBVmsf<`(l z_Q8QH&*NV-LydY%J>_pt{&E{$+!$Sg@aNrlg{nhcdr%E36SF9v0#8pvqPY{xs!Z10Y~y)8_0 z$Ne2#4F@F^#17Q$#;gR-gEW$~fl4jvJI#4spPAtw@8pHZ39$(o4he}h_D6&d<3f_l zyc1G9m=+5XAIdfP1|_3v(8vhF%vjM=2QpQVGZpcWDo$wcI7#~E8;-8cgvrK*)Y91# zs#Nb_t&T!8*YJ1N+yfeHQS3vRY`GPUCagG{R(9Kg>=uR1v~8wwwVAbY>c&=lMz}Py z@*38f3av+RGP(`s1e5kY(=7DiabeCq*>BFRqn=JWl24orjfzHbX{n`p?n^ZH(JohRIF*bqCXF0+lHkaQrp_88c!}% zE^DFr6sn^G^{OzO>E5$98z7QSr*aT^2LpE$jHz64$Snk!98B%SW*o}QLo2i1g_hNC z#Mx7OW&a+?*irCI=2x8Njn}ra>A2A}&#xR=^Ro5&R>q{kG-T2~*qjf&dr}AhP7fFW zRI)jc5gGF}JP6gu#W&~%i~0eg0k4>B0Gxv7X(W5xW0tFGId!v<8cr0M95_gj%rbw9 z{0`P5h4viEnG$)U1&unTCT6JU^#ctC!=4VQcXOdcl4_+<#bO0Q784hkDR2uOdglCjGI6Ei7?kFnl&M(4v`VMJO3f5GS9&Th2QBeB6{u9r-%Z_Q{mnbaDRvWBJ6 z$Oa)qb@Q(qwSRv$O;pp8i_36pb*4ngFHh^|C7N=mDFeDc`oE8>`~Pu(D=dfHniAIddR0y5R&CT2<*ZzB3S`TZ=_`Yk=+@PNM(Cr?C0wDh3*9Dr zBewX0fT5%}jcAO|{!gzvcTzxQ)Krlv5utf3Vh5Fcj$yND-Wz6!+5N+C$xv*HP0ryG z$ZjIY>s4r(?~bsh5h|!q+vwfV6WoniZoUzaxXN}l>rJNP3wTv66+T>L8h`#Dr2KX9 zczeGDJMkkRU^>|?3*!B+S_-o{JgAplrh4`Yig|RoQZ0pHDhh{lRFEdl6@61aQ%t&#tEZPPaF(R*BCq8(#wP z+wIfhW#;}KU4wQW7Z0J+>4Mozn@aRVS%s|liJTPq(rCCO7zjSkC4U1_oG-tD{}p%J zzAU$s&HAR}Z(Z`GH|{S-ZN{xMNEX|eJ0_w9evye;_cGx!Co73s#lt2xn7PqMtx_rP zv8NX#e=`2t=B@%e5ouGFvQmC;@yFO-ml>U6uknblRrj(>NwxPcj-G$mXb^*&8)jrw1B&0V|yYUH(BR%}svZ%3Ws z04IQ!Uiez0@9u;X0+Yd{H-rEzoeeTyY>V&FEpM25+du)Ty5b|M5a;krVobp+dc@UD z0@|&@CEnF7c{m=#ddg3yO3igL#)*4siQ9yulLzmShjFdxpP2_;l615=M+SD~e{7eU z%6SVaYLgR~ppN@3=*Z11CS$+-S=}fxZ8%wGEo6EAy59J+M3&{MjfP)x6&LEeRyT^g zFZ){8s;f55dQt7_O(Cc}KC>cfI-Eq=`4n6>gVC-nyl7)L>-FZA9A=K&{5rF@PRH{+ zJ1Bk=8Gb|es%_C>WtmlPsC8s++&pD^j8)6aK(cO%6SJ?2`#X%0=#I7fLpSZc6>KGq zv+(jI1o5LtotTN?;2JilZCHkq$IHZojEUQ17}l(ok%45szUul*+$6ttP5Ic^2I)$= z()dYZyXQQU%#2UY8ne%Fn-2kIZ&9oyI;)JbiWSs6Xs*EIH zavg3IaO3?SqD}_OVhk4Rq@jL@owgZbEJQwXj8ljD;da`3xUn3@*gI`G_D**jdn`aY z3Qu<*g{N&sA+yg%&(g`$2Ai^z!Qw>&M>1cUqu@jH1o*ez9GBTgI2!WUx$u zf)I^L#~fa^-Gmsvj)IyBfo9+$sB%7G(pR62-uE@6u)Cb$#4dpDbI+vdC39{tY?9}L z>%nZCJ!SW%kr=nDZ>#5ZD3+Hqp=Zy={r;?HJ_VC9p~_gXRTU97a@|lj?4oDW$xadqZ*8R1 zjIHw)q-MSDcytaG`hF)5v$ts;))HCsRJW47y|oFNcp+D_Qbiju-x#w{?w}+?o>v+$ zOjy;TUDX%JwqNTBL_aOAY{|9LrK%xGbR00p}ZC|ixiQAwBJNw!{1+F zKS9F6cxc_zI{IwT)s_c>=S=DXP-j<#_{Qol+T(G`>1rJ;&v0>o&#iF4K$Hw2Ws_=YfLQLfXiCx&J@Jch0^!GH8091 zEvunW-6PQW^PF)Bob-L#4@jF zTTQ+-$imDTj0b8@nL@p8YY6OYHDy^qZ@Uif3S#vwOZurqE3cJlcaz`f7uB&1w|orC zx7t>c&YRM!Z|F|scJ5H)7{l2oTnTE>)}$AzsMWW$F|l17wm-!xIB&bOXyOy73&_XS zQmb#}4#alu&5|E3)Fn-tndrZQSbZy-(%Q|bv-*op`S_3?{&*J;&yp40&~DzomRfxW zkeQJRZ{6R$kY!@hrgSY(>v@vd@%IPrP0QrTL+r_RjrY zp@bG4Uq!9H*-6iriM5?9`~hoW;;`#uCLY!H^|h4iTi=rK&OKh50}7XwljbLVR6(r1 z#Z77LF`;n36lWJZov6CaWnyh-7nZW*Hc#5mG_{oLd&!=4Y6RX)H zWr^15=xpakX6a5YGDlLoPqRg0d8SM@HzsX_{W)W8bUGTe5UWHhPoJris;v203%SbF zuCf3plZ-|IWpi`v#s79S!LTPdZ%Ac)yX+I%{yQCAoi*sC{x|hlnM=J^4!~q*t0>Fc!v9ndt8aZ`6Gd8w3g+1?iov*@ zten_IB6OM9?$cHw3TiWF6-XUowZU2}PCSQMdDL>LH!m7oB&OW^lBJ`vfwA}}N zDY}F^pDkKh821oc?yUZ@#T+zHrEJZLtJS*fZAFGg(?p+gT1=rUIO8W(;2SeD&q~EH zmdSoC6;pUhp&snze_H>PE!NVS!#ex%lmRk%oD_U7*9)+Do$ z`pt<^-=N(^NK)Gj>l?hyu2*H2M?T+nCxG6dQ>zK=?2n3~*jM$n+erL(iI(+bU1F+k zDl8Lds+fYW8N4-Wi)DS2G^dJI19=)!J8o_>9B&o0bi9l8)R8)r9UT|yMzpabcwjJ{ zEV3>PcEk-V^&!w|(1klt+gV{1lC>CmC2IL)Yg=VtQ_&AoYSj{MF#EehH~r6pRsuZc=aq5<6V-o2~K)DE~>9-Nkn5LM1>rR6e^YiNi#z{K1p z90D6laReU1>D2Ss*(59EZPEEVL=d-xU~yQ{a~M661Rg*TVXt3~K$%CZ#-Op-F~IX-+31WHII?9>qQgpJha3>cyAO!CQY+dZQa$YWfEBa( zc3-7ci%6v`YN?)jLOJQ6N`rjGl;q*bKGw~Ra$ahNG&r55e+C$sBDcR_p;%g9?Yy8 zusUFT0(IdIY2$@gd)wPMYop3Q>E+&onmj$}T2C?TZ<0x;&N?-DvG^+v0b+dMA@H+T zM_g{AUVY7150<0*MXRIXFIyc=;1DKV3#O5*u1HlldseTf7^+1^nTKh`NyHrTZB&b= zaXQh8Wo_et(NAw2%xpiW=YY{qZ=A9B_BuTWjDC9KI`GO1)Y^km@RwPVaN5eomB8qv z{Q&-}FuvPt`mi(&7Rwc0`|$GAPa<~}^0ZOJ40eC&xt6QQR970Ay)|DfO~RuZ>ZOd- z+1n;Jj2|&UACP3w=%0F+VaX6pc zTkNvN;e>H->iL1AF0__KbylKfby>BuVGj#$=9|=E7J#*{ikJzbH@fay@9vd?ki2_6 znZYh(Qdx@mg3YI8)wYSX4$!Nba)gh_d4#C3#gtcEl1!|4U6ZL0!i>Q+b|WFIxLT8` z5WY}LI28DI%-&gYx@Pv3ISrDr5x2Ln$4%Z&gENpBQ0Ndf>g`JL#);;wm(f8*G-5- zx#DX{#&pGUnU2epEB9KSL~F5%BuzhPN|kme%LG>=8tB_nRe|8F2|en+d=_Mx;8H|O znMx#~%vb}8!m8A!x?y5i%&P%KOK(LJgUVSANRp6b4=iKJHn2oh1A3N-MUp$28_Q?g z2_y-(m99W=N5f<3iWYNtBZR_64f>;Ggz99+ut-=QH6d?xchMrDBu`U`GmB(-OQwYN zZW_?G#4VC+X`L*oZC3F5R9iU<1oyC0mb7HEuo!GBYl-CP;cT{iMCjZ;tTx+9Uo>F2 zp5DO7Y?mqxm}M_n9xP>>@Y%(fPxm(FcnE2D3wX|{t;DujpB~7pS?Z!a9@51B=nXF3 z&kq#MSH`xEQ{OtY{?~H#{>RPYY5THS{^R+6E$W;{+Rw{>zAPVamj8gqvZ*)=Se;zEc>L|k zJ$fGVDZ(P*KmX%DE{60PHVfn2On4f_+}x^?E{4^}Eqif23Qy0eP;GVXn1o^ySTovkBejf35!g@B1Yg2fxkbej!Joexafn>K8H{{Dryy(HYEV zz01zz{dn55rr+n~!{P~^8>eRvonHs+GkS#XY_Zv_mK*bRjqKqKz?v_=+_@aPedPvZb$SBR-9~>0EmB=K06t4LL;k|GT5R`^6W+{k+=Vt(Nz<@P;GIk3bP& z+!QJG0wnEcz1ov?5mjgYer6cZX8HVbznv_c6A#M9A4qI=>(N%9{1*osKe*t9kfaY% z0iAU`QL#%2vpYm4VsLNT0rk>r6JlWN;KG;}{iX)F~=88#3~H4tW=F$7wW zwvam!^0cn6c~eYxe8jah-5mR}H|wO_-!wA zuE8?}CDqm-)~i(v{Ge3ZizJG%5lu-OU>arZsD0#3j6L%>RLo*^O>s?en z)R8EuglbCM1lPK!L@hO3Fz-Ryj?I23p(QD^IW1|`_eZHgpuaq)BvEP+*K9&F9wSI}Swc0XZ-m>(o3rW+w|COeuUAnpg(uZ3 z4_`&1Ug@UnprKmZw-HU56NOutjeR}0)^vsT^9ZD|Y|f~rV>Y7=q52Lew4_NFlu%9S zlTI*kPtQ$MYIxn0z^5g)ON0Y8lX4kos= z&V{x0`0cO3!{STWqx;+GyQAmD!_z$$1#vrD?~cCzH~!n(ru^gkTlq!)AuEtSOO&nr z<5{9?;~y;gMQ?unVKRj?uk-V%vF#NV{kU+aRX1N3oBu+YuCIn4IwQm#UB9CPE8MWW z{t&h-4RYW9nx%V|e>-JSW`m1SXShFpzc=dI{m{o#Ij?l$`=9>-4FuW0+;?tnULO8G z{MhMsuP(7c{Ns1rC<`Ax!e9R5cJ*yJ*{r{877u7_4rUG&1VJemc#rAhT!PNNE^e0_ zMi9`m_nq_JlyQm(nuEeg`D~$`tNZ@qW|<((K{bP6zthF-WXXwle}zzUfPh0#0|=-3 z*i?ptA0_DZV)JA5_ysH=LV~704MrEvSU|V;PhS`P&Em_$@^L$UdW%Q;1U#I)@ARjg zi_6|JnwBG!D|9mC7R;B?Lh^Y^`JcRZR;$HSoC zr>FZLpx=k3+wSjdw~L#vsO;`#r{fY~N#B#n@Du3!vgaNdhnF)t-S?>c0LQ{3K{k|N zSBT6eAWZ6?FRRV+!}7=S_VNWz4gOd?o*W01?%%Hl)82>Pr{4MH72v`uoW3%bjUQ6a z)8#YlYCmp$qo;mc&8EE>90HH#p{<)G3l@-^{-DyWFVlWavf*szjwyX8y z;(oe>+Ekke1@;Gq2#0W;AtX?8u|CD-t?0abh6ysU9KNj+w}(TuHx7t zMw8yOe>olv=3^LS=RzrnKn&tw3vTT|X)`n> zREDVq%#dXtWw@%Fu9q8dNzNb?OZSSqGY8G>8q(GX%S93`xZ3_NsTh7mgwklZP6pzVBjr0G6OTI}7u7dQ(v&KA$hgw9!K z#xuVL3;F`t96f}L%2G7FrWCAHlaq0LclW&9=9I_%{*1hL+9-#RQFrh;{psTIOWHm# z%Zsdm1enV~utpOJJd=W;b0MA$CC@A^KU?C?5_!?9oiDbF%)-#8fthu38%t4SJ5wyx z*c5Rfy#jP?iVQyq{{RM2AW$U$)5zq&X*coYECJ5HsUvs1efSeB90c~EPP8l#(gP-f zdDv7K5AFjwyrw8fhgAX&AX@)%yb2pmr%-2GME^s3?&CC15H*>%lp-1^cD;{8BBV^!AN+F1VOef!BNd~A(M;8LtnXI zDRtlyRFap_McUFRC4#cbncIX2a?CoHlVOP3z*-m}S`|YGgMz-jSU#G)2HgwWA$H%T zV<8&`hRs;!!eCbrbcJRx+!X{|aaak!lCZeiMWjlJqb`_@)Wyb(gTOCj0f`VSMG}UZ zp-Gc4XwGl_8tUV|F4c)rxS>kzw^6hKB6ulKPK!#;C17_MEllxGfpS`XL#|au3oFSdv{pGS zdTb*Bd(LR#{%{JE)1nI38f@ZfFQ)|Kr3nwdg*-|gMRUlvls|{vzq0{;irX}2_ptuu zbV-Mcbp_y|-svDXQ33Md{WODu-r7&5GqC1n`j7(d39vgEOfD)bz9 z>yCQE(+^Hd5{@oQQk*THAROBAlrQ0DJ)8;Ve$uy)%qDw0yXl@^l?ptCN>zA5hDrjy zFfOkek7laKBUY$gfo+7V2hK8(f8ZQ zRQ;nLwv)+V@uOu42xj&^B8VO*IH7I)?0Yy46@>C#TL4y;Ea7#BNcymqFFcyW!7l|q zrN(;kijDTIN*W*V3jCD8NEx-Q$aZOakvNIXD5RnS6WdWpMd=J1%EdCo(dLV?8|<~& z5|GwLh>%xuE(&q+AWlcCtynm-!42kO8SJ}70lGH|DGVJdX!>BHMD;2JVV#OYkXu1Z zxks=B#;pmzj1R((V0S<+E6D3>P~^fqsWw1UNM)q4cJ3ZeXKcF2nJv3)Y#@B^%x*zN--!p-5*4 zgCAWt`%iAMVNrEMYDX2yu zW;QMmm7}Ka%MnXV8Q0(|oU0r$se4glhxkfFF+egzIR;WhIc8EsHF#1)HQG{4J?sXp>> zx@UkMSVB$`y3wHOK~usWTF_o$cyxnVS-fG#5)Uvm>SAIRZ_;_WGlV!_WH@5th-kb; zNqdbxyP!LaxNc|DZ8U}ygYG>MphM#G<=p}fNn+y&*S+Z7>v!OsBx&Cti`8}pDIub1 zbWa#ELS(BvSPcA}SRPh{eIO3ZrIcReiNa(`xkQ1Y2M}_47%AV=dwG&#XNS{;dFiogzq?Lij+mzWPa#q=GsvlF`?1`YV)%m7h6$Axs~* z5K-?m-4}(!kuiPop)lb*OBrVh=S6nVmFl4v)kScDR?7Dx1-w!c2JcLQM0ZT0`0(9* zQ&PStG2w2kk~p={Kz}EAppRpAsFx2#wY-_hzMfj z5L`kpuJ8gSgNE{YL`M5PpPLeAKA(^x*iBBPbz!aP;aXp;wy@Xgwi9Rbb1Yyt!o6*w26L8qWRNkH_3nWO8j@nA`;G<}s zMwLCQ@l+?LNEQ4B*9N~FUI0COhHRwG;PL4tx|B=EG=t}HMw6?!|G0L5zR%5{Cs7I6-+NC%m%1e;^SpsaIQUd~?aGU_!t<>DWXI12bb>4i(IV9MG z{IU#~cPS?9L0-^#F1;;;73%`J-{PGu$tOQYefVwOS&zIjR0Rr1Ppf;{l25jW$Cs1A zkoM!#9pd!^qPScZwnu_>SuBb!XE<^SKj;f-a&n_TTLoQ3dV@#ER=-__wX4J!j38hA z9QJ5JNb&H5XBc=h!{z4DI^4bD?7Yh51kWYA}Ra^X~L1lA1p{f>nLY0m3gsR%*37JjvJ1_7|x7G@TecUanHX@3&2iKz! z%diKJ2vv4$UdLgL;7ur^lzBn*^4#`3B9xP`dBt^c%F7jwC}CCdiot|8aj%e*a}ibu zj=lpe{rir4YpEq7nwp8Yw!j|U>I;u+c1J|4oA#L!BZ zx~3swEn)GJjAeb2hG~JCK&>2A3ibN1tWnBgTBMYtqEoz1RlhtwFE`&H^X=Pmx_E|T z>ljyr;9xZCO|c3!ET}uMV?GVxOg}~mMKUoKDv}XV(c`!E{R>_s>aXrWm|z{F>+$dk zZxZzfuuD9RR*@mZUdV8S6(ne(_Y<7h>ls3kkLu-s7S+nLK;RU$>79jvWN?dkR=XlU zzi2ZUh8WM_7?Mt5d)zBOvW$7Lu$%7tEb#Qp;T$n6K@6m-Hj0x|i(k2oas6U&tZbvm z*R|Rx_D=F<%AJ&)uiRHLaOEz`(+_uY3GN}Du8$|5tON6P0vyI~0v-qL(+^s2194i} zv1Lv^nQP(%IQCWoFRYPK4C1uN^!6^n;u4X`5~NrrB5+V?;w2CzC^YpHCZcXdhMTk{ z;Tyb$!8dvigRh)40pvj7~sQ;O<)B9S%%C&VLsDzit?Vte>R@(5g@UzR__b`vZk;pxYSjv+BS;p(Y`J850w0g1=sDHm#qm(#k0 zW)$^sNLU6Wt?I!ju7s5HQpAAo5KD3R#<8yN!jxULsie${qU~=s%Z4Wxm6dw2O2}#{ zp;7cf$T^^<$}7qeRNgpNRMmxIC%e8<>|~a^9R#x*Gbg$1{`)Y_HccQ&}Vx7vN#Y(Q<3#r<--1+NL!TE2&U%d08aFWdqj z_U2eea6TP;jGMFuVu<+-#1QwNLlLeomvHWaS2^IeKq!-Q4$ciumu54(#{oA7Vv!sR z#ow5;u)>W=6Om7oOhmswZz1|?s}^FozN!#KCZR%-8HEOd*S~=i)Ni1f@;O$fc)dqF z<+k+L8{uiUsYM78plA@8sT2=_14yTF1}jB#;1&;uQNhE~0wYe|=C{~b5#1=K=Qt6F=(>1{gI9)q9mSIpkmuUwyZER`GnHU@+KkE)=Bz&X6yDKy_53G8@!)oozaMm?Jg|n`~ z45WE8T*8_`b=w#;X%d3|m@c2!FPod?eBn!?MkzkQ!QS|4+U-G#ik3Q$uN{^VU%M74 z1TCDxNkmj=dYmh?WT2~P-bn_wi6w-TL4<<8VG+f!{$;bcf^w}8;XgxCeO%e~c;zq| zemYEMO8%Y%(+PJZ;^(*l6Jf;8ivv_KvxCzyvj)?e_mGLw3jsD$F9g`kC#@Nz9ZOa= zDDg5`eC~MW@wwwB!BcHXoJ?yHQCpQnON`1PITO%&bVzP46uN}FduQvH$6H}taDVS? zd^I|kh84j4HV@sJb6{a}hc4IQ4Sn{EKnSnLd&>hFAx)OhadSm{jHUbNt0>w>gy}Oa zi$Z!@grjv)%uCAYUXZ+e@T5r#EdH1K$OQ>qTMs zaP*zg4;LS!JRZl8Uv&`)qqO-!Hj!l-of+zk5q{Qe&t?SJ%@DN^T8}8 z>Ylp~?v5GxNk_)PxJzK?`qUcV(IKK@{NP6&!&qnq@NX6ySrSAj zvkSMi#XhlA=F?((^A*!^q0qVSbO`Oc?=f)~%A1GwOTdfG`sHc1`gh3L1#uucuKG7c2I9 zDT<;?Lb*~sI#h~_v`kI2CMrl&q4`NVS3(#PpaZvI5}NBy)nm)lrVCKwQ}+x&s+?hz zs{Ou<-`i#3qYzhc14UuvLmg?Y5p=U1iBXr2SLNl)PV<8#P z78p%16&z@Osp8`Z7~CAD^4T=O`k~I zhboaKmBDuNN3c02OVzO5>=6yZQ^q0X(4=kTn959Y&1Rmmz7#mtiKZFGu$q{T5p_CNos&x3bv-=du zg6$}3B_lEjNhzzF?1)OAUDJ3csbo;AhMY%Jg)}7Hl$6m!j4^LzW?U_a@NF5U zbZ>B=_SMBUzL)`yHrU{O??Rk#0U4tNk^6;EGWQEV)1s2cgyAn~8Op*~PBTXro-;?5 z?o*;hA1ZN#BUQj?UCD@0XwkPtV=WMn7F3|2`m8`kT26tCvKmFED1+h*3*@-8hmORh zv7(6ppd;7o2Z!vl)Tl zVJajDWGY1ol&WQtYEQMGIv{O~D+*q2iL3Wh(F{i*G^UPHXpbY=yBJcQ;(W3BvfRqu zd#(ZH%@P6eQ9`H-3I9=h`L3j6uvbkIEDp``7;nXqY?=_;D1By$Zoe%1_lqwM`23>R zA9lEwPLDsS!U#PE(X|mgDBpEg#MIUK1kl@prf)pjQ z&|H>{#S9*=3nKceF78wSc0#xh=uIW#MI#U~RG9_ZvB)fZFkh?#AeEI6-m3!yOdCjE zs{?S6XAqJk7?=*SV>J;5#zSv-)pOn(hGr3)7P*n1xAD$jo$$Xn|A>0 zB@_>K5`oox1uyx02?q)w?tB1m_*}$O1Ynm%IG$t{oJ6{5Fd(GOu%zS}uV`Hvp0FzgeW%x#XvVwim|SMi*a=TJWkr>FDeLtq+Q3p)>#Be+I5_^ z>o{%Kv9CrGY2@uXHrjP;wCh-e@kkGn^ZX7bwjEOP!r4B3hV}4UXTtau*1>PtZV?wg z9;=VX@gv1C5tYIhflHqwGJO`<@Jh&%PE@ZK_b-rf#d}aFB0Lw;qk~iYcQ2;!^u8}| z;KYP;c)X>4>~-PDgmZX;p?=?9EVpjcm*cH(aa@0#Lul)Ei8<)H7DHU1KASkR6j}0fk)Qh<>MJ8`y|-hDky#f?;yL3pOm-HXtFUgo-*=JTc?8kl#lZ!DT;F@ z85dX#&|RgFj=f5?59@*5mFjj4%(N+i~PjjcPzG_wrKG(H*pRfjKaIR9MQ56+!f*wmW6;gu2(lm z-j~fI-QZXrbdfgvEV@K2!AP8>N5l$_WJ)_EMVGBfaYK97UnmSy8zlYl1;t`|gQU-( zJPSI@W=Nj=xGfqm^ofRz{h-0+28kDh$*T<#FOG||JR~o{!pD?(e6cQoxG*db;J`3` z&Pc>-Qy$30X`Tc}Y2jl^Aii`LK(q`#h>M>y61fci=DC+5Ts`+xLao^V5em@(h)Vkc z2%Yc+0HKYsc^rKrbkv&L8G+w;TLe(Km?8ca;aut){N^3p`b(T;;McG_2n42i6OXO*m7l2_k3&|tbDD3Dr)$0onqMXjfgJZw8iUESWwgtq<{*e32#hc?a(lg z7?B>iy8t+-!f?hCYEvZD$97TDli9?h*dnPbfm?z z(8N;fpjxlL1Ef>}#d_^F6`E6O$*Mr#lHb>E&70tj!e~W6${7VLqb(jSZ;r<@S`?7V zypnc3z{3NZ2MD6z4W)}IJWq7~$vJ6!a~f(iT|yWIJMa97eKo$(^yhjVZ)edu(d=&IQ)AL9XHDpVRHBH2giPM5_e+h|h{N81Vj|F@=Fbj1wz+3r?xYev$5@R}~0!G2qRAogl3GGRdy7YG)quqqJ?20<=R zVXql=84$f2jjx4euWn#2pV1xJ>l>KUXZ6fT>)>c?&Isfx zFtY}^d^EYjOPu@)Q5|2uF)Q>hS;vVas?gmY@h{jv-+lAD27-pWPU0W4pY>tqo^Jq& z4$KI}xgy+zqiZRGj+iq1B|1lDvVLA+r2>@a@;p_ilV>uX4Y2GQ%HuDR33+%mk>c`l zBI^YP=XxHZ@r>Yi<8ltMnumpDbs6*GS{^x;-yzF+#p)&&Rwb|V^}imU>8Wx5;)X@y zeEi4AsW-gBVM#%?lN>d}WLag$u5_&1{%veblLCw7xzMuZxTG%+yfpWjx?e~quF1*ay) z2mSMU(E9_ROTMlt#Tqi@(I(7zxpZ4WE@JX$Z2f7k=Qe}fJPE&hVWE5h+7P!CDhZ&? z_>V8o+m{FabTyk_`K^Nuec<)kl)m^i8h?tyy01b+!sWG?!wrGH`;_3ub=k%8(Y#H6 z0mrB2ReC^hig0;m0O#7z31;!Lx8(>C%ol)Y3r<{w2Pn6jDE31F7*EFm#?QS7z^f_Zm>gQ`Q9w7tbW}hz4#>2Qu1R$R914E7tVw*jHXs(BmEzM5J zBSqM8Rf&p%_9n@06n2!ItxJm%`?Z0O*r$ygBw*YV29-%@?foQ*=rV~Qd(45eClpF@ z@O(BWHH9_RmY1uihsBd0yjV`HcR85Ap+guI0!&a9kOi7TWC1KCc9i)Q2`5O#fuE3Y zGG(0DCX7a~X;^JhNGU^wC;0KRke%)NVRh4m`{J-C>1IOS8O0NEk29x3oZSmBnKE*z1<#lS7R`GQjj_bTJSAt_u6 zoWt8MIGy9B zdY>`ad&T~zv_rr5BcNea_+6R;u(TFRQ1tLpoU`>B9#ekgG_g<)4%%=w9z%_<5hshq zBOK5aBdz}7PC5keKlsEW0;M1VfHqp=rsCgDBkWbbFCGdQ{Oz=iRz#{m5vp;1D{f%M zjWcY67V%{TGDgcwP_IzT7_xh0_p(_kb z&QJ{=`;L?i{wfv&4^3y#Odf`o;z0JZc+(c>LcX+o))r_65V!o3FuVp-K%z;3R=mF= zLEVy2(&KfZ0FD{K2H+ zB2Z0+0=t$soLqSq5?dw+!1v%x4B?}bHn4@KHc_jE7tbZwt*7I%3gN|zaf*Q1WZh1Y z!y}X($GJ-85!w=CT_pkqBH>jw>TZz{6o|yv*+^(7iF=zaPzfb)1QqvET_6*y;grc( z!X#u&X&^1cdM-`~0~sRbi*ZgCd^GMooY^e>$+W}77vtW;X-zL2N;`1t$u(s<{*@k8 z$zNN(c%+AJ|3tI#$PoO}bsu5vDU$Gcn3txX1yha>vf11tZyaxzdE$Mw3ch%gh>*<& zbHGmc#rDb?-)6IAoo~_lDYqk z0bhBxT=6%b%x9*-k&7TQMrfFPqkIp@+~DfuveY<{fVD6TN=V<}D&?x$ zIFOJ6z;HgYs2g8722xon|eD~V^-gCZQW zBov~oU!c0J5%->tub{ZC74|w55%n^t2zmpEFv$QVt-t|>sL;X0a8TU}bCopD+Xws zOCe!2$&L-fL``B91-ZLfS!vxI@tEr_a(pbPOu+) z{^~>cC<4p=0KdzayMMo4Yz;f>567_jgv0?vkfuQh!pa<=FftDyY|O)0bcFJWZQ56Nz6bn#_?BXg<5jX6Vzh z3Oqfs&DJC5oc+lW?BKyJ2TC6Xbet~5X_DLXz`J;1M2m@2oG_ULwf_C7lSwn_k4ibE zS;urGldLlLn0yl&9n)M~uX!0mYekNW>pL%5AYtk);M>{~$hM9IenB&pDOgEkzI%vn`b!kS#B|7{KcOJ%rB;$$@@Wf29a`aj#=YZ;ZVRr6XAe? zDMJE-r%;7~EcIX@iXws(O!)RmY?XP{@0z;l2I>_TnSh_fW)p z40QRxTY?Cw1C*3C&q94BoHWLDp5$qcR~na8^| zMCif@2ctf0OT`NAU}9JwWAlPeIzAKt=8DxYrdM=78n!&*{5pU`oiEGH-%drCfl<#z zZ~C{>fe1AMV3_*@Se*YOkUZ}L=1lNfo%VsO#M}sp7{dyR7%7+6kQRW1@q42GP(c>c z!yR1!7Z%}!#=TsiERDiRoooR!@pS8#si#WQD%(K7?B0@aN6<2^MY>anl-;Ek&ZkSo zi3D(8I+&(H#Xac|^q^P*se~dCzPW<0yyLI+3R~q^>y-}*67@17#g`_U3nHaE7(6nP zSD)%d=EfRV+&CKZ8sG>lG@Cw0k4B$`6Qj@JHV2Fv0#F;n4kYNy0Yo+NXAx{Lgp4UL z3r6@79FI|8SbxCPElPY(!Z?MdV>nEu31~?GhjA@jPoxLi{CSP+2AbnxvjXO6y9X74 ztQQq}-jfR1=uL%g^(fr;b0^0_V{wqep*@6fZ~_)uuhxz^vK(4DvRWwuGN=t6qr0c8 zV=+Bq4v3&Ic!zFCH@rl0#1@cBf)+#Ih3Ar&hwLO~L-1_kCZOn^@!E`U$b?%|WL zdibO!TllJHSHEtMw81G2z$rz`_dt@115&KqwI(^n{JKL8Gf$0gP{B|PU^&Y~ddD?s zf_Rrss9U%d`HG5Ay!1+!tH*~$Sg*phl*>+>NZm(CkiO^mfxS>Cfd;NptHe^EWDEpW z1uxMnnwRVx%}d2^uCalaKBJ-3RM_$EJ${SNh+&s;A`2w^hw)$T^PU?RFg4f)?{q) zgJ}&+60yhY&|hlsuWAUGiU{m&9R%TPc&iYB`oZ0X5F-$K%>`F-^kJTs2Njc!1QvlI zX1nl(q$rt)$1v%I?<9qWsi@2(5Mm7zJ$geMSy-lxFP(-(A_;RXB5BMk$s{=s5lF{Np4 zVTFjd5$UwmLSmD8BSpk1CzUv8K}!!pl4^!46Vwx4nVfR0WpdiXN^+4yEVo=8a4-dEX;i912_^uI6^cy|p}nD`4aAHIDl|Hlwh8SCTvb=*s5#f|#!%U0 zKDD$qVc<*`9$u+KzN7dxzqNklSuZH7{}D1MGOcz=cx zz9@b!AV?+>!Qk+KDM4ak?Z7WFBSTt_iPXd8 z3LIUQ2A`E+@i+LzS0!D!XTrS}m%^O*7hoNDwW;*Dqaytqo5!!*LQU`;RIbJA> zu<=ClfRZXapkx}KJuPlj$~1C-M|8S6VH%qY>p7$IA@j)UdIy}!;efReaN&w?5)5EB z8#jE0-n*c`<0}NXuT9@V93yUOF+Lt3i|i9|XN!s8VX{m@$w{CHl_XG(Y7#s<@U?fe zh09z-XkNg&t*ipG0&A^z``V4LX*huMI`sSt0{qd5{ahhDiQ_m4m(ApdtP*U zpLQM0ubDHl^h>VA3BGd6PHCP*X2Ahf%wQ=>1w*x=%G&i;zsZ9qPRzg7O+Gvw zXC4tP4a*1>aM8@Lf>0fL6@O2oksL%QSAuVgqGjmbHwz87&?Ge3QgaMb^PDY9^W3tY z_DH#_qU#(PJYC_ifH$yk5G!!@o%ucpn}Z9CGwk+=ndn} zbbVQ~@)oI;y`KrJS;v?y)dWf5skq=8{rNi zr@_5JFdiCUpb6m(Oewg5EQB_YD+Ly|m!V1v%(wz#mCS%!DKwy0Ne$>#V#f`ERA_PP zn~Ge~H==8n50DPM-Yi3(rh_`vi3wesjqTa;31VcpjMQJ<(rSmAUl9XsN`- zJ?Wq^+#?PqpolKG_`&#UDhk)Z4vG^=^ax2Ihsf8(=7}onsLIf=F^Ai~6M9iV*N8@{ zc(IjcwivItI0)~eh+xG9HK9SYu@;*`8*#28D)OVR@fLNAa8!gEBN`o)MsO~|k%q?+ zkt=cdfHVs9v6C=}9$3D~acKLX{7Z$bMf`AFxV+ zm4O76Xxj+tP-YQ;wM7JAHSzo zaNg5FSe0wU3Kn=({IaeMczLe|epZJHJcAzx_oXq+%Yx!iR_OVNR_MmSR_NLIR@nJ4 zhltP`=@17d(=a@&^%o@2Z&u&s))l_1^#QWzr-P4b`zl;-^G|1SU9~XHrzIp|y8sKU z#cAK4{v`xJ`*k!_2NlQ&H5DY0s!EB#URi1{$-IqwX{$b`qZs@k3x0B6=Z2(-w z{dx7}5%TkYY?pEe>S{C_T#O(u|I@rzM9>Ka5(Tb?N-p3#SBuAD#YxZ}-jggAp3KqJ zqB%#`%VtJ5u4po*bwQJnvWtC;l3(d#1miLvqu}v4+#j|Sb1Am$z`OH`uzUBTTz3y>qzS8x224u0ky#(w$~)F^VrKC$*dS zdb*`o_b54LFPgfI$gJNYcRM#mwA<>S$ldIu$lcafrr-E}x;vUsIn1o8_>Q_eJJDN9 zEO1Il4;J~7d#v=Dj2I_85fah86hcP!k}rTuD;C@ULs_xpA^e$QBE6d8qJ3M6Q{pp> z)09LRipffH0q{aw0Her5PdAEBGU+H@>2#qGvq>XI6>dN%eV9%l646_=k4Gg-Z_^>3 zvJl1WX5q?N&O*0E_MCI~MfPZSVW9_Ac8?TMC-q3-WEPCZCYxnCxAsuM^_9z23bV7YiuiiKy7 zA#r7bYi~Fa=s`BEjK<{4^A1@lAwyQFA33rTI73#;K8ajH%Mp?xk1W!mj_Sw==9H2s z@ES>FLl|j+0~Eu@fk_oU#u~GJc#mRH+AyjGm>A3gQW^mOi%Onq)eRVF2~f!+Mbo@e z%!FsCD5=l?fMuuynH&Lvpb3&@nBXaXp=3``TPU*=TNHpK-2kWPK`wQ4S#URARwj6) zkCFy`Pw}INL44s^5MOx|_dUgr4gtRlM}YXs0l4oPUtRAXCHMOu-35Qu1iDJEX!xXZ z(GZ^pE?X19B)te}(iEY?$b-tT;n7nCK#MHE+H_-Pd!#E;+auj)o9-;3YoOj*AV@X|j^YD5zdQr>+NS@025=D~YVoH&do;pAZn zAqFx_AO|xyN}G9rv*{U)(qVd#)N0f~CHH&KG?Miy$b#625SF45Hm;8Zn4zn5{IV8c zv>Uwuz_Ano%^S+3wWgsUfKOTyBfJ6GaR3FhMnQ$eFxInq0ZkKeBnWpBHb2| z&dW%5MWlWiX;nlTl#!l`NV781OIZ_F6{>hCOL$cw;!9b^t0?6A)#H{r=RK_TU0>i& z6E4_~zrw%$2U&73Ov}kfZ~EbT7|Vk%_v4surQfwU-4R*O`ye^=vJePpx*JZT#hbcRO5T1Wv zs*a{}xp@AI1{=}1?94v6u|xR22$iDY>riPryulDj@!DQcV-Q7*p-fs>?rm^(nUTa= zZ}7XId>di-nkb3Sfd;kAhZyw1y}9DFCdmB%q`ggZTf43(IKG4TA8x(TdtF_xDw3)P zUG)aCB{}NImX0Jl$(eL1v685_WBW>Wc5;4w10+BKAh;IgGub=V0`Wxv`~pFmNW|Z1 zPzvxdr7iqUaVP#9$FlglgpcP!;deR=3h*?|jK53x*DqOsTY3#Fw0Qj@NZek?HmQPG zK$mNWg?2d;D1Oa3q4UQ>DAd3#&bMfQiOUmg)#1|b=@IH@=APQXJ`*ncmhg^PK1_m2 zn*cuj1)$fv<6rxuZUCnVH&C@~{b9Nm{d?l#obkdy4!OBLC%wXxs&t0<3{Nxt+TVwl zteAI51%(2%chgBYPDnC9Fn@l+Q$@VR&3Dgn+jtE#a5zZ}SH82K{MtPn?g2XTgZFx= zGw#NVIb7zQMt1O8FWZW40w-zJR&bK$H58?83^7r8#!?Fxz(h-jDE8$)Q_(qnP4nwH0l?iO*r<7Y;c!fFu;B%}H8Xgkrz;OYB33Nu)6`KcI(xdDZ-1jkYmzC&`~1d;tV;YfTFQ}cr9 z1Lu;>6P}boH$R2<6LQAfd=uVJ5E*g=lIVo*nMh%7o6^Qk0w@b5;DlTPH1jP$1?$21 z;v|N9Jex+azc_{AeiwG)G))3JEwi|2DrA~yA>3tg3Kma~vV^jPqYx229=2Tx4SIGe zX)r&9a1dR9g-V=-AP_x*Wy+j|hA|&JYaz5SSK{WU$Y&(NDbVvxJlBfoQ|>bWt1>T% z7hSC-vw=ZA0byttpRo4Y{1NsNA2bwB?IG8HzF4>oK&Yp`!sw9^$0i`z@IXMt8;HX`iuVh|INU>TW&tl-SvDuIQ&rg?Zqo2K3ZC#9qji-DXF6J~imcnMOC3$SFTBc;1WGa+=L1R|d1?-|>W(kc- zLM3#bg-@UoLv)gbN8-$i0FwP9AXPUB@N9+xSXiMvP9vrr3gO(2co&owSF790r{_Om z_@If}&0Q>(9lkABpTqD$(=+%MCBlz!+KjK>iWXrW3~3`D6sQ;k94cZMDCl5yG(8N3 zI$trir(OtE!Qn#7AHvwRA@CIuJiKUJ+4p#2r`;V8vXj+5`nAGw{kPSTVDwYh0 zCT}we?-AwhXVQfv_^%55U8RBaPJv&!sK75O@S`YcyHl3mUp(#Z=eRUFyu|1W4{A-q zqG-OQ;448U`}hh3T(*Ss%FMoKG?~VYF1T_DC!9hOpcHey#bj?autwyIZ4oE2eKyik;FlDq&Y z*jCvcN?KXfrj^jSq4lkU)~t(G_V|)X5w&1IjJrrYcfipw?jYsy>goI8>++d;@M?a! zq_=FYcYo1F(aqDNSub6WKhR#$&GN>smvX~uE3b)IHwuERA*3i)kAiH{6VmmO&}6HQ zgH6bwVE!viuoN{8xVcZBTT9wvaw2pf+Kc&#P(cNSLtnJ_=&MPw;6N%sO^pQ;N((ha zLX;XFDU3qH;#8SoiRzp%iW(b?A@lJ3F2-00!0#w%K)8MvogIH9@5UdKSK{y44dK%u zAsJ*OgM?&|kqjh~fkGlS?|^{Zy#org<3Lq&(|4f?0^!J;KvIxRSk}A8?=hq&AXuba zQDE0#99cAEiY@@`y{iJy?xQLIesw(DXPsZI=M$m#@G+?^e9Wo~AEo-jccnrE$$f#} zMSp~k3c2W)@X;dI{Ue+=L{kt_xLX_*K|lc}lqVpi@&vHz6#=fh#y0Rtgf^0nw`~Rd zyZcrkL!PH`z8(OlSy4`0l%OfKPlD!LK>#IhAH=6vS%(xS=+~r1x!8PnpVygyU8Zlo zn}{_g&`{03)tk-g%?5R9gAQtgI<EeuSw!YnL;ZZw2atC|>8V&~Nv^9?l;oc)20@InRh=R6}kOwbIibjShKBRQ0 zz-gsNL8Rt^sEl1^_6QlE zwTo7}T*MgNtNHfuw?imRgomFzifJ~S4tAoRkY;L{4|lQxQp0a0v#H_CVb>w#;djtl zY`C6b2ZbKMg-h~K&^T?9EmE+AaGTf&mKqrBsez>M zJDv()p2Xo{f873nI}i6K&OwAX(c)EQOqiH2Aamk9+&k* zCyyf297yDwLNa+gctKsl6~`Dh;E~qxH57(M1*RMJ7BuO}Kxh3J+-W#74f0@?6W?Xh zyMECwe#!EKAIIQJ%NPhWF;eqlCIQf-B?0iXB>~XvA_4IHA_F85GEC+kz)}FTET!02 z@MfDNwE_v-Dyz1nm8CPSgqVg_+Tu}>GIE%=cvOgua^Hv^@a{Ni^(#(!rqQ!idG7<}q6>bquwlY_-(2 z42;JKaXF^7#?A1AAui>N(n7zJ_yjY}?Mts<$r%M3 zuc5@306R|FF0`4{^~HKH_33y~HA`c0G4NX#!yzhVazfC2p^D z_zbQda@6L`-{3g7lE}e3CI1HR;but;N*PuSlPWlGI5dU5mAFNyM25YUxR0pi1mMdj zc!KHO7daTu0s3+YuQ0v4Py_NIgXgt9Mve@hPj{J_h(FIKGO(CaWX$)f#}i^mhou~1 zgO|2A6c?NqZ9yxj#hM<&ToN)*0y58H{1<>eVm;~$aF6G-v7=eYdj(2DQB_6@$!TN3 zP?Gji{+IzydwL4_`*aakgVSDKJa~g@Wb`>LB-bxj;{|qUmy6sKB)Nm!1MKi>+1mO z>!arD1IO0~p05vlUmsL_ec<`}!1Z+i^?9!Ox;O+>E>Q9HLB-bxHD4e4zCNt@`mo~b z!%)q#4=cVttoi!L_w`Z5*GCm!AJu$)!XUVk33%=xxNmduFe4(es_F*!XUVk33%=xxNmdKF>8@AGy9h@_l{e z`}(Nj>m$e4N1m^bd|w|`e4VTDsd-K+!l$O60P5?b=IbNJ*GHbOk9=PrReXKq`TEH9 zbpZ8wuKD^X?|!E_;z;a(r^VpN4+^77P#9H$!l)J$R_|V&E?>R7^*SAaowX@K^Vz;vV_90ocP0&@OJgo|P{RD}S)}!r3kG zQ4G6TgAZdATQ%YJ3=c9_^AkAJ)kkImZzgy+bIC&qS>nX^FD!L@1Eath9?I|_U7UsN z_#}phGuI(!KEvY~9%vyuKB3_P{&M(~M|x!NA>H&Hikf$VVM8G#s)nES;1j?HK6v=q z0U!F{;b#q=lCng#N>)iemvp4a4Z*0bEV(6^cA=}(wCJwXuI#kjs7`IxL96J-M62w~ zM5{}(l9qQ>k98^U;1vqti`%79@WpM%F1S%?8r;aS4sKK$2sg4e@^y!IIKol7+||Dv z<86*`o~}0W1Ng(?MO+&$nl0vAae=sO9*d60ssTmgSam#>4Jex8U9h-g4T9qRf7=`q z)j!A0>vU5~_yaOuUMI_5ib5j>eWlDG5R%6ee6CJ>N|hUfQ6Ms*hIp{g1&cQ#9TLL^ zat77a#oK$L&|*Rd#o5Cx)0lxN>n?^^?jTV+ImnSgp|@{K1hPnDg$-4+vBC$05ZhCl z5eOqiXMfxsUN&%#)VBOMo^SEuC^rzfy!OLNU&Eydjn;=fP6GlL6N|xzhRQ` zxO;F&QcL(UUEe^y5vNf)NN6xC$#yh?Y??YzNRV-xiee&?n5-ir*^A&Fnb<=!d0em5+tb>`BFF<+HU>dI4}HQY1pVAx$?syQ z>R=5?UmZHYoUbk&$idVVLXN1u7!pNI5Q(KKN)g9-1!p^^2;$n)g^CN56vcWms;DLq z!j>c!7-r7p!Wc749;M>|TNO6jR&k9_Jo8v3nFhZqN1B;S)$)OylEwHl zXE#;^2`GA`30O2Qbc+%vGEgbx2zNJO$Qa!#M0BqbCooVoWDQq3VbB=iIz%{U1yP#O z2f-?s@_ai8=c7t1iVjS9ZPA6Og(tDzsH2*X($b^O)O?gzA)Tli*aBQFx|+joM1K#? zVRNFP4-r`tYjQnU7xV->o&CIRV3)Lkw-fY03${kR0lFqxH>f(FzgQK>6EKzr(n85$ zteE1-@vEHZIZYK+r*$vwFoi$uem*~l!Nx%pmIHA>6cNDTNFcm?`nAU?Y#);X_vI4O z{a|`~4&P^>*JyP)r{K<}nA6Sv?^Kcs>MG=#RPe#OF9$I0eYu;b=u_NE!w@+`CW5E}rx8e3IE`Q{-u#Xr ztF-H#KTFy1yRsx%x0F!C!oTFxK@X;Kse;Q6Btg+fID=7vqr;^9MdC5;ga5+PJc~HL z4Shj-;CJD7$qslaJhCzT!ll$A0dQ2P>o&YdrPLyJ22O8JYv}yyv;x0(al=-EvMa(3 zCym>=V4OICgGLwpn+rXw0Q`ReuDQ5RF78bQ*vAcrV2nFP%LNut z3c8D7GE`5Boh<g8xrt+wj|8-r4Fg4rNY$j|{AC*H=?4 zNh#9aBOAAm&$ULkH*Pb$z!v4ldut>){uo1bxXng^I$U=9#-SyCNr5GNj3Fs}p@0;B zR&DZm;p%3Kuho5rTNKGC;kPvu5`*_8H`ycwV6rd)nC)w|JDoUrhRtO)hSENiC7gOc z0RA{Wy?&2Xjsnp8_44+L>KqAxbnYpDgb=%zuRqeNg$~=HuHohTv`pcF2C5(m&^TUb zNOErj$nyyUn?j!fXKfqs)KyrFF}zs=hhMZU0HE)~n>BFw#5({HEEG)TD!vgc)JxrH zFi6bSK#-DcKw#=M*+0Mhz^d4aEDZ3I>1z8Pt7A*7lile@$YvMNlQG;)!^&|IaQ5_F zi!xhY89}Zd{yhJH8w&g17UR|8^9pL(!%DKin;V4$d%;F-6w>M?Gog_S?}JLU1++?S z@kU@~#Bv|+`DJzr8M0*x_OoS5&NC=ab+ErPY?|<(WhCH(hc{KF)u1lky!DR2o0t9L z*TX}wl=!Hszz=?Wb2(oGYl$zbO8%*-u`g<4jVn&I749`$c~tmbzi|0533q$J6~hW( z;{|XA6z(Rd9)<9vjTK^(GS=7AKHS&CQe3K(<7#{hZ^?ocZEz;WPYB15z1n%r65C$G z#Qov-{sB)el+n&VO&54{p^X+npxN~bhHWdMq;$X@{9xQYx041z!akR)OcB?JEkMb0)^p4eU4 zEAT7z0b;j}u?Sp8Ypey=(Hu*{)mvj_xURRTMY~;e59ReR(8q(==?N(Q`SkQNtM#ADCB4UxK5A_ufY2nac*YM; zkKZxka*)7v*LbnKxx%QQf&+pkIjO@DGHZtnLj&>&Mp#5;*mPbImUJ0!>O+k>cb&$b zy+Xqaf6xsm9%*P=h#FQ>`kZ0?uEu-rI)lE(y>Ls@qQ*aYkb-6xQi7(zScCe#$x&Lv zx>`x+=UORZ=vHh{bXABsfM~!pSJkk2uBySke&n*Jx*v1)p=McRABG0__Vnd=-lGxs)HlQ<)#Q<3z;6_hdr(+ubQlUt}C1}^|4^AgQI?EmcVoi-n)pQn@D-~jnBhhO^(sK0K$$Q-hldnk>B_1n`DCM{N79OHR_Kx%R@w;grz7b8UwfGCVpc%h z!d|WC%Qa~JpKvrA5(0Q~c{~_!p*zz;YR)vuj#Qg>{(kriky_jELt2Q zD~(wWxr>>Pl=4?Wk<zF0goX z^EDQaZoZ-7w(X<~=d`-hB+qaAGj6q;FRoUR{xyQaXf^%PY>Vc`aEtcVbS(mFycR)Wz9oVl7W!O4KO3rH1-VjrEaz2xZLAJ3`q-|}x(lqC)n-mC4>r{S|?9evurd^CQ zVwlk)iy_8HE1DQ$qK%a?H!|YoHdZpxq)MkQ4=u*yu$PGNay$-qi9))YNIK8(Hg4r6 zd3F>6UTz{LMaK!>vJumRyNS3p3K-gl3g%D5+@2-cWz)k6c z^inmI@TRVy_qw@~H&IQXrWX>l?S#~T_9mh#5;$+CMDa6l4ZYZF)Jv1ntAUo^2J zvuIRI3S_e?DeGvdQKdh`wy^F%-kH<=!I?8wxp@Q9!q;q-E|r@8<4dImKi*x@4T+@VzRV7jLbt+4w z<>0zRnw>$)lD5#5zUR_J7To0?fPLnnmQfAA7pJ&Bk>NdMQyXS#af(Y6S#Y2CTAUhG z;}n$=GU(knHK;nppzagc$aM*9<69^;sl+L4RP%?>tV*g9rv~{LO9hfaElzQXB&#sL zKWdHuHI-_%nScy~Oa*S=@v7hQH6~KO+0{9y5UYz3EN(Or+ zP7P~uipwh*#iTR|HP{1ih4*TlqB2MZy&I>7VBP-UJ*@i#Hgbapw(;W>HmNuSHmdnU zXjUav@rGd~P7P~uipx7$g}I&pz?J@}`+*y$QYy5urh1%$7S%WfdDgW~smH0%sMalA zaVj?SJ0`TNSV1jLfn+s5^y3sX@O!5kr?5qZ29<---Ou%)bnoO_XBN7O+ly1FCX~fq zu`PhF;rHSc*M&0JD{*R6i&I=0%82U6DRE`0fUoiHt@}o9oEm|3`*CVi_X%v|+9B~^)2qe`3-ckxUIxj-mmLD2-)31;52}P&;sb-^VbHA(OGwV;@ zX7*5Y^?qmHL&Gk~`})1B*HcYem*MUnhqj&e22Y_;IZv;@;Y~EYyXw-$#+_1Q`#$;| z{f%$3xijEsEclLFAN^kWyX<}VsngzvzkBRGwC|DMpMOSsh4$U@_t<-A-$}nq`cBz< zB=7U{E~z_Z?vc39zek<+KI*pj(74OqL;G%hqscmxlGxwSzN^21ez(1c_C55wBHRea zCvQp={cVJUW4HW$aSl*)%HJ95LgOC#Re#4Br8^U<&&ccZ>M$KQ)4zCie}UPDnohjC zzrfT((d5_DUy!dE8?iy$Ek8i2W`s}OAOVH&5;k`^JfJAkY2o!ml}QVq%bZ&Pa*}Qh z=w$zG2SxG{1E$erIvYbpe8ou4$Bptqlbnr9;sKQmmeO_=WX{_KU@vhOpxw+}0FQQ? z$VV^Bq%pfAeazXrp#ord6^UvAg@S+K4J5ApBSBav5-KSo07f=a?q&dtyyT=!QFbsL z^}imtPLwD)m{K8b=czbUXbgF)Pp`+Xd$PXJ1QK1Bx9dyDmWxs=!0qn42fH1o8-Qyl ziMT&P-6}ebTSN82=^DyY@j;vbh+$1Y5XlS@cX2WV9o!25i-V(K28p{V83!%f1%SoD zduSOXX6j}fl%gvDEDpY!mqAizW;D4k1z4&vA>eYEi3CWe2nmP}5CnkXDMjiGV)V-! z`2xV=DD+Fa>X{F#U*1L*5VoJG*nftw`sJ$q0;0fC>Q@xr&l2SuE*Y7)-I4%l_cH1>G|rR=<#A8zPc`u)3iF>lwo8mn)?Uhyq8cUs1z6 zOXTQR)-I2LvASJ)t}l|MM^sZFG^Gk{X~O(DWclZ(cr#!~@)z&%<|Y)yGAM^T1o5s3 zA*6dv2pfd!gA^kGF5a+>;S)bUn(sFi0N%+(S_G4}3k4n?Jp`E28Ij|$QGlg^alL=o z!;_8S#>n;S%l`Mr!{cy}5krlP%{1H_xxR%V`s4g2d}WcozQjsK_*N*DFjy zzq0wj&*TIE%i$Y;B%{S&1uO+?_?68ZVA;U&R{_fkzudAp11w#UMjlcKhM%+X!Uqv{ z@ly`C_)Ub`JzUm>YxVop!|rjPE{wsw=_wS}x}2^SOQ@JwJ`1MPr-R(uaNveuwXx(1qvS^mhA(Vv~ zezT?6EQ)!k6@wdWYY3{MG+Q6SDpM9?ACIGNv0hdyucKM4yVcBdNuY=Kl0vTxuV2~} zJ%T=K)AT5#>|;0M?BKIm$?e*;DC>M$oE?1D{9|7AkMyj~;9D^IvcIc1!Q?|(m%%K! zLD}*D2GP1UdZ~7(2d-&`w`~XQUX#h$ZfKFNy_4&7n&jzqpp3uYg|eC$ZA*7B-VS~l zUDc!*M_sp!qRtWH=-{KHah39^#`LD%q)KNanftF-xZ4anH-~!|Bt> zHPD`Juje<{W4c})h(-W~D#A!Sa5MTM%q&mW)6JOKgNxBLv%+5!hffc`_MzO>-R=Q2 zk|rmc<>C&Od{7weZoB|x*J>AP`e6QD0va4g{%Qe^x3^0S+i8 zkt*Wol2et2nSZZo65{D)_p+zO*K#}FPI>tiKF~@leBiZK_&{9~K5)0h4{1^szom&- zT%q$kH}pkZpYv=sc7z7w1+0clYgi2&dD5W7n*n4V4Xoi63T$!h!UzZ@wo>83h!GcA zY=aE5`H)O71JRBGbxH=M4F&Fw+yIt=8=)jzx#3SzNk}{{Zv{RH09A$X%@55W7QldK zJ`9fpYN!&dC45Y~!*KszFu6|q!f@?gGNKx2c2pa~lxn8?Of@t8CYo_lV^ol6l+uNw z#&we_hcaczYgpwG8djN%K4v*2Z?jZrm!p8Ls9Tzcklyc`T3<45col#m#RiK1bD-GZ z&m;r>%#7pDv&ukcCiY*S9`B)yM_iP~Qsoww4xV-aOb^%;NU*(-#Osj^SO=~9Q9~((?{;^?) zql!W9>ph?UTl7`lxwf5YkgD4mc77xS)(pMRCaeXfFsGquzt`YSxxj{(oEL8!xc!>O zH^WHEO|a;zx`~_42As!vjXfQ2Sm>Hf(%!WN_xtr!<9$=*{nZTyw|+Eu{Zg^{+lw0i zuU}l{!ITL82~$Yecuc6}{HX z2#V8IV%w{4NVj|-Vnwc+611q$Q12XQ$@O~&npS%EKsU+nAC%x;cZl~8OarWYNGTYG z1lB3!Tnx97Z;Q0YTu}q z9^jmXa!XE}-LVNxR!}+idU-R4V!o7X0yE7tK>pl4|A4B$Y4#tIld_bsJbDjBfYTx% zWGD$apP~2)RMCe*bfD3}gg8ZTD4`EE=s=sC)3Mnb;7rB93;ZuLJX^~vZ`d}N;jx-n zWN-Enh^L1Hk!FVQnJR1WsT&k{+ës#jL!Ww+|29+MiP_UJc7lFe3@z?GM_4Hpd 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 literal 0 HcmV?d00001 diff --git a/SDL2/Mod/Gen.odc b/SDL2/Mod/Gen.odc new file mode 100644 index 0000000000000000000000000000000000000000..ce5070199438446d415c9edf88c7db15affdc40b GIT binary patch literal 22226 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 Z`n$?^|L3RW-@kqPtn%Hz{>w_`{{Zu+HoO1; literal 0 HcmV?d00001 diff --git a/SDL2/Mod/Image.odc b/SDL2/Mod/Image.odc new file mode 100644 index 0000000000000000000000000000000000000000..dc165ffa83e4166e85674b0260abeb5083f2e8f5 GIT binary patch literal 4849 zcmeHL-HYQ?6u*t1-L;CM;0H)3g1cq6%!e#8qcEK|GiGUZiH!w@V0BtZmGCg_cx7C5(GAOt?-6Z~P!;l7tJ((9HUKe+g!A60+dXF{8x9s+W)P8q2L*6JVm{z)DQI~ch{E!6E;@Hx< z0b?)1$ZH%5e-B0|!0RjcBHu5t!!93x_eVM2Bd22)#WG?xdR_qF4QG3e_tA2XGl2$| z5i&L`B_@SZB=x0KlN70mkMgP+i~65Yii*#+vkkcWSrjy`N>=BZ}>OJ#Pw=f zxX4SxSoG4Blr0ZTU#5x{Zwj+1tEDNDT{?Hk{zf|W_>+y{9V>Eo#`}_7kenv7eY!$g zIvU{rOyLv3+5UG~ojhx%Fa;;?%PU|thP|$=JA?T-1@?L_S2HR%s+x)=TgQqG6+ABA z#h&ZtTgqZCm(^VcM1@U+PU-_ETyZ;FLZjDpyM4W}icqtN&IFA*6EG4?VCySr@lIs1t}QoE@-9fC zSP5j5%aG)<4bv!Vl^dp}HX+_E6&{s7rM>nVCt6UOdA+vUJ}k|*)JvBa)P|wgZOv4h zLwLW~+M>OdY8z29gsVVcauW1XLSq{NH____2tWwXJdIX)eu0y$~J+KTw~VI-|TehkrO8;#EAfA z({Yc1Njr&5Q^cWr8qQ~6iEltdpC-u)5l-aOL67>>kG(d9goS0AKVme5Wtu-in{q3b zo;2x6*-ChRDk4)?2M>u<{Z~pyE})oT4)!~%3b@0Zpn%mcDZ-UdfS9G_Chhb-YSdPI zuV3>0&Td+7b#@@LSf?kFVbM_Yeb0x)E39O*Vy#@kc3UdZbzHXnP%i%I+i~?cFsVc^ zNKaH#wR(l^CHB8j_#L2@nmBdWxqH~9r#X|_5 zJtVFSXJrm0A=ctEA|s)Qr6c)@{wtv15ya0NjUPe8I99mp^1~H&HW4YLbcAE&g=Y>o zMduKqqs|`Wz_+l$pK_rw^BV{G{Lc*e$>R#CjGwmUSpKvv$ETmRrPXr}2*K}rzck6k q2V^OEDwU44JkpV4(Jgkdpf5E8LVmbQ_8wkf-@k6%CVM}^3+cZ|ai*03 literal 0 HcmV?d00001 diff --git a/SDL2/Mod/Lib.odc b/SDL2/Mod/Lib.odc new file mode 100644 index 0000000000000000000000000000000000000000..24adcc0ce8edbb835127e0841157e4afad66f53c GIT binary patch literal 93563 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 Q`ByI<{QN)s+YcW6{~sFXZU6uP literal 0 HcmV?d00001 diff --git a/SDL2/Mod/Macro.odc b/SDL2/Mod/Macro.odc new file mode 100644 index 0000000000000000000000000000000000000000..b191471af689e5ce477f7985a2507b2bee9f2f98 GIT binary patch literal 6994 zcmb^$U2o%9)g2H}paKL4Sb=oaT`@@sp)<1@p?133G;z14Nu05hDP@7kNp2eNICjQ% z+GYT0HOmj+0SS;;f#7My1KM}Qhr|Os@mH2U?E}(s&i(MU9VeraYANx(=lh;}&bjyc z)*EJ^!Sn3DjbJ#RQa_HWc07`u291VV3YCS|13z|LpN3KOkxMT*F}70u59~MyDGG%b zqd;}|d=h^Dd5JaONvUWBBkFNcDfuZVYev-+M5xd`I%SO4A7@fE?HeF|6WU+qYH*lc zdKGgMVVKHl1x{esw}cdYp|OAa8Uwt;WC$xjNXihDvSi-%Cm5Ti{rfAL_Bm+(1K#`z zHsH-|5^S|N4&A{#rcrhzw*`kBh=!cnj`r0LSVQ{-d;J>zH=bQ@3E~{npE+1D{e_M2 z>j1u`m;|rJHGL$yd8Qu$eB+nMiG$hr5|VkS{fpRo3crn)(4^mE>s|QMY;4uA^)dJ{ zHVyS}d>>)&W9#$S`Z)kMeu%AqV(VpWA>FO-U<+k(9sfdYs7M=0WhnPcBY>=zLB z44An#6#r4nZ1kEsu^Y|1EoT@8`&(P39nuNH*co_~Oc55*h&cX;xV{I`O~!M77`uTV zk#QJI87tW-Z*6TFt&VARiG5~w^;U%;n(hE3Zg$T)`qt*A;m14VKq9Kp-3MqV4j%>X zD2)*y#MPKSM#|0uOiOQYhwV3 z$!bFs*M_aEHV%<|S#5~p+HewJPO201>?U;lAfCAXIde30yJo{gg1!?)G>kc21|A1f zcUSgUO;dgqD=7oEF2s za6EU^aYARx%miI9fEo7pNX@cpXT&@r_A!X7AJ?q)1GQ<)$GXh~(wK(i_BQzzm-h-Z zwr>+Rf?Q`>w}p92Mxc>AM*H-FEt5P{m3Q6%O^C5$C#GO?yqM8Ff;oEcF4!oOwRk!b zM#h%ZlIp{rZk-96G75Oz!jK%h9*q`JOs8uD?%bKuAuQNo;CWOA&vK%n#B&@W*uV{EP#lp~_t~DR#ZquA2?L-!=Ou`WZH1 zYOeN@M6idBkDM?=G8;~~EST}kT$xs*bZB(#(p4FvhP4uoexj#Uvro!m!V;iTo(dx` za7NMU0)QU$g7rmY3cIgD-zBj+rBURZ(?M`mNGC&j8q6a(-^zK1y>8cRbAM&xn5`Ze z=hW=u(wz#qBHt!=#OOJid$%d0u#F=|Vy1$x*sa=kKnjqLI=oiR#zIi$no0dxXLMZ>oMCyJ?xc81$0P+>y_ zM9Ne~90q}x8me(bO0((}dF_CNRmg^K^6mptf-dAnSiLL*6oyX-q86NTAt)DwQ7#ze z1Sq@5dK-xI&gxn{+(hY38((?sQH{f4$>I)44HB~~HGeo7eL9PAS$xrP!dS?I1F~Bt zriJ61h~CZEoLE+5@sqjZMcibkLIy7~I}Xgl0U3zNabO0p$0xvn5n=C=O@{*`!rtVj zrhyHKnVt?xfAqY}3+aU$!7h7s0lI|}kjn}6hp^}yKFglfdO;-Wtq2Jf!Kv&3 zg1j9u^}Iqm)(&5S1R0*n<>?J}%M8(ig$DODvHYa6EE-arlu-dNdEm&QPwWYEf_X>~7Pn zpTHm@RZ?tD4TH$7Y;x-O)+eftJ?A_slb!4a$b!YNUe}vY%wHxy`57mJzf-eqy#cc*)+Q)+?3}YIeg?2Lbjob?zk2?Kesx{JFGd8L_Sp|L_IvQ&o7!hS)Lu_t rd*yx2ZX+Zkym46UVNQSj%}CRJ^9Swi|9zVM{{G{M_V#aorD^{Mg*iR` literal 0 HcmV?d00001 diff --git a/SDL2/Mod/Test.odc b/SDL2/Mod/Test.odc new file mode 100644 index 0000000000000000000000000000000000000000..0bad41a104b9b6a65f0315d3ce83c91ca2bfcb49 GIT binary patch literal 4127 zcmbtXPjB2r6n7Q`HR^(did1o^Mk#;1ZLpHIs;Z<#+N_<8!LbvslTbJWcQd3bIdJDvu)HS)Hoirp9HVF1>A>}^FkSIWi1_Y%%0q^7`Dd*eMhJp5e1+93lqY8mZvbD>y z7~C3_d^m2&Magkaw#E#0+QlGAjn99ff$pK!PY}Bh~0?AA&cBj7&*)m9JaQu#oWMI0^WAN9OT(_Hl@-Q zizH9e+-gU_*%ulYnI;w`CM0o@2_~f684b!swj74O+YXR$G{|=IqeW$@y-j1B=|fq9 zjaW~0eXJxv60_+dL+iS31mmW;9)%s(*^FGa0Xi-KZQ1R5fz-(sZ?HJpbb$=k(vk_T z@PKEva`rX~gr#$tp49E+A7{7#w=rN8wYsQq|;EMk}|1V+UG+~M$)mt46+ zVi*2UtEK`bIm$VZ1M@@>)}Y5BQ;<>{p<#sy-HKHxqA7O|;UKrXfN|{98-eHuNXtiB zVwcAU9O9y2Zftrng@_Vf?sIgXCVxV+QzS=-^4S|ero~>0wWjFgX{D-dtI6q48o`-Op2W5jGdu0sugi0*me!t3Os_T8wJl=s*uOmKc zpdwsvKL|?iC^;D4e&`N>8g#6zgTIY=T2&?-;m z2h$y8!j2esRdw*$PVPflEv%$I4DBpGqGL(sPL8gw4+SU39Ql{DuB${{*R@ik4$6Aj zcrj6#x6+1sOa80eQURtDagHsZPq8cuH_CKH8WuWuK}LcBa)T?uGNl7|+Y(1B`WHua zdYSEB&y8Z*Z&+Hfa@T{vi+9{DH@X?GdO^2^B^*Ue@L)dhvigRt*lF{^k^51+v)29q zHZe%*d0{ZeF8?1~gz+0AAHzAGJmYqV!?W@(=6#pPIF#U*yySpAZ{-sU8ecUf8lzvBCl?>@C7(xO}NK!QAyHrVz(}66X)H(cPyB z9Ges(Dpopj9^+Wv0jEtVnG z4GlkI@xfb~_RI)W(MSQJp3sPhLhSDvrno!ge zTpUdHPSo z!2jI$pBSg#UV2}@!%zDAb;TrGG>sl|{C8_Z + + +Copyright (c) 2013-2017 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------------ + +This file, gl.xml, is the OpenGL and OpenGL API Registry. The canonical +version of the registry, together with documentation, schema, and Python +generator scripts used to generate C header files for OpenGL and OpenGL ES, +can always be found in the Khronos Registry at + https://github.com/KhronosGroup/OpenGL-Registry + + + + + + #include <stddef.h> + #include <KHR/khrplatform.h> + #ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glxext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include <inttypes.h> +#elif defined(__sun__) || defined(__digital__) +#include <inttypes.h> +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) || defined(__sgi) +#include <inttypes.h> +#elif defined(__SCO__) || defined(__USLC__) +#include <stdint.h> +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include <stdint.h> +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include <inttypes.h> +#endif +#endif + + typedef unsigned int GLenum; + typedef unsigned char GLboolean; + typedef unsigned int GLbitfield; + typedef void GLvoid; + typedef signed char GLbyte; + typedef short GLshort; + typedef int GLint; + typedef int GLclampx; + typedef unsigned char GLubyte; + typedef unsigned short GLushort; + typedef unsigned int GLuint; + typedef int GLsizei; + typedef float GLfloat; + typedef float GLclampf; + typedef double GLdouble; + typedef double GLclampd; + typedef void *GLeglClientBufferEXT; + typedef void *GLeglImageOES; + typedef char GLchar; + typedef char GLcharARB; + #ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif + typedef unsigned short GLhalfARB; + typedef unsigned short GLhalf; + typedef GLint GLfixed; + typedef ptrdiff_t GLintptr; + typedef ptrdiff_t GLsizeiptr; + typedef int64_t GLint64; + typedef uint64_t GLuint64; + typedef ptrdiff_t GLintptrARB; + typedef ptrdiff_t GLsizeiptrARB; + typedef int64_t GLint64EXT; + typedef uint64_t GLuint64EXT; + typedef struct __GLsync *GLsync; + struct _cl_context; + struct _cl_event; + typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); + typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); + typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); + + typedef khronos_int32_t GLclampx; + + typedef khronos_int8_t GLbyte; + typedef khronos_uint8_t GLubyte; + typedef khronos_float_t GLfloat; + typedef khronos_float_t GLclampf; + typedef khronos_int32_t GLfixed; + typedef khronos_int64_t GLint64; + typedef khronos_uint64_t GLuint64; + typedef khronos_intptr_t GLintptr; + typedef khronos_ssize_t GLsizeiptr; + + typedef khronos_int8_t GLbyte; + typedef khronos_uint8_t GLubyte; + typedef khronos_float_t GLfloat; + typedef khronos_float_t GLclampf; + typedef khronos_int32_t GLfixed; + typedef khronos_int64_t GLint64; + typedef khronos_uint64_t GLuint64; + typedef khronos_int64_t GLint64EXT; + typedef khronos_uint64_t GLuint64EXT; + typedef khronos_intptr_t GLintptr; + typedef khronos_ssize_t GLsizeiptr; + + + typedef khronos_uint8_t GLubyte; + typedef khronos_float_t GLfloat; + typedef khronos_intptr_t GLintptr; + typedef khronos_ssize_t GLsizeiptr; + + typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); + typedef unsigned short GLhalfNV; + typedef GLintptr GLvdpauSurfaceNV; + typedef void ( *GLVULKANPROCNV)(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void glAccum + GLenum op + GLfloat value + + + + void glAccumxOES + GLenum op + GLfixed value + + + void glActiveProgramEXT + GLuint program + + + void glActiveShaderProgram + GLuint pipeline + GLuint program + + + void glActiveShaderProgramEXT + GLuint pipeline + GLuint program + + + void glActiveStencilFaceEXT + GLenum face + + + + void glActiveTexture + GLenum texture + + + + void glActiveTextureARB + GLenum texture + + + + + void glActiveVaryingNV + GLuint program + const GLchar *name + + + void glAlphaFragmentOp1ATI + GLenum op + GLuint dst + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + + + void glAlphaFragmentOp2ATI + GLenum op + GLuint dst + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod + + + void glAlphaFragmentOp3ATI + GLenum op + GLuint dst + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod + GLuint arg3 + GLuint arg3Rep + GLuint arg3Mod + + + void glAlphaFunc + GLenum func + GLfloat ref + + + + void glAlphaFuncQCOM + GLenum func + GLclampf ref + + + void glAlphaFuncx + GLenum func + GLfixed ref + + + void glAlphaFuncxOES + GLenum func + GLfixed ref + + + void glAlphaToCoverageDitherControlNV + GLenum mode + + + void glApplyFramebufferAttachmentCMAAINTEL + + + void glApplyTextureEXT + GLenum mode + + + GLboolean glAcquireKeyedMutexWin32EXT + GLuint memory + GLuint64 key + GLuint timeout + + + GLboolean glAreProgramsResidentNV + GLsizei n + const GLuint *programs + GLboolean *residences + + + + GLboolean glAreTexturesResident + GLsizei n + const GLuint *textures + GLboolean *residences + + + + GLboolean glAreTexturesResidentEXT + GLsizei n + const GLuint *textures + GLboolean *residences + + + + void glArrayElement + GLint i + + + void glArrayElementEXT + GLint i + + + + void glArrayObjectATI + GLenum array + GLint size + GLenum type + GLsizei stride + GLuint buffer + GLuint offset + + + void glAsyncMarkerSGIX + GLuint marker + + + void glAttachObjectARB + GLhandleARB containerObj + GLhandleARB obj + + + + void glAttachShader + GLuint program + GLuint shader + + + void glBegin + GLenum mode + + + + void glBeginConditionalRender + GLuint id + GLenum mode + + + void glBeginConditionalRenderNV + GLuint id + GLenum mode + + + + + void glBeginConditionalRenderNVX + GLuint id + + + void glBeginFragmentShaderATI + + + void glBeginOcclusionQueryNV + GLuint id + + + void glBeginPerfMonitorAMD + GLuint monitor + + + void glBeginPerfQueryINTEL + GLuint queryHandle + + + void glBeginQuery + GLenum target + GLuint id + + + + void glBeginQueryARB + GLenum target + GLuint id + + + + void glBeginQueryEXT + GLenum target + GLuint id + + + void glBeginQueryIndexed + GLenum target + GLuint index + GLuint id + + + void glBeginTransformFeedback + GLenum primitiveMode + + + + void glBeginTransformFeedbackEXT + GLenum primitiveMode + + + + void glBeginTransformFeedbackNV + GLenum primitiveMode + + + + void glBeginVertexShaderEXT + + + void glBeginVideoCaptureNV + GLuint video_capture_slot + + + void glBindAttribLocation + GLuint program + GLuint index + const GLchar *name + + + void glBindAttribLocationARB + GLhandleARB programObj + GLuint index + const GLcharARB *name + + + + void glBindBuffer + GLenum target + GLuint buffer + + + void glBindBufferARB + GLenum target + GLuint buffer + + + + void glBindBufferBase + GLenum target + GLuint index + GLuint buffer + + + + void glBindBufferBaseEXT + GLenum target + GLuint index + GLuint buffer + + + + void glBindBufferBaseNV + GLenum target + GLuint index + GLuint buffer + + + + void glBindBufferOffsetEXT + GLenum target + GLuint index + GLuint buffer + GLintptr offset + + + void glBindBufferOffsetNV + GLenum target + GLuint index + GLuint buffer + GLintptr offset + + + + void glBindBufferRange + GLenum target + GLuint index + GLuint buffer + GLintptr offset + GLsizeiptr size + + + + void glBindBufferRangeEXT + GLenum target + GLuint index + GLuint buffer + GLintptr offset + GLsizeiptr size + + + + void glBindBufferRangeNV + GLenum target + GLuint index + GLuint buffer + GLintptr offset + GLsizeiptr size + + + + void glBindBuffersBase + GLenum target + GLuint first + GLsizei count + const GLuint *buffers + + + void glBindBuffersRange + GLenum target + GLuint first + GLsizei count + const GLuint *buffers + const GLintptr *offsets + const GLsizeiptr *sizes + + + void glBindFragDataLocation + GLuint program + GLuint color + const GLchar *name + + + void glBindFragDataLocationEXT + GLuint program + GLuint color + const GLchar *name + + + + void glBindFragDataLocationIndexed + GLuint program + GLuint colorNumber + GLuint index + const GLchar *name + + + void glBindFragDataLocationIndexedEXT + GLuint program + GLuint colorNumber + GLuint index + const GLchar *name + + + + void glBindFragmentShaderATI + GLuint id + + + void glBindFramebuffer + GLenum target + GLuint framebuffer + + + + void glBindFramebufferEXT + GLenum target + GLuint framebuffer + + + + void glBindFramebufferOES + GLenum target + GLuint framebuffer + + + void glBindImageTexture + GLuint unit + GLuint texture + GLint level + GLboolean layered + GLint layer + GLenum access + GLenum format + + + void glBindImageTextureEXT + GLuint index + GLuint texture + GLint level + GLboolean layered + GLint layer + GLenum access + GLint format + + + void glBindImageTextures + GLuint first + GLsizei count + const GLuint *textures + + + GLuint glBindLightParameterEXT + GLenum light + GLenum value + + + GLuint glBindMaterialParameterEXT + GLenum face + GLenum value + + + void glBindMultiTextureEXT + GLenum texunit + GLenum target + GLuint texture + + + GLuint glBindParameterEXT + GLenum value + + + void glBindProgramARB + GLenum target + GLuint program + + + + void glBindProgramNV + GLenum target + GLuint id + + + + + void glBindProgramPipeline + GLuint pipeline + + + void glBindProgramPipelineEXT + GLuint pipeline + + + void glBindRenderbuffer + GLenum target + GLuint renderbuffer + + + + void glBindRenderbufferEXT + GLenum target + GLuint renderbuffer + + + + void glBindRenderbufferOES + GLenum target + GLuint renderbuffer + + + void glBindSampler + GLuint unit + GLuint sampler + + + void glBindSamplers + GLuint first + GLsizei count + const GLuint *samplers + + + GLuint glBindTexGenParameterEXT + GLenum unit + GLenum coord + GLenum value + + + void glBindTexture + GLenum target + GLuint texture + + + + void glBindTextureEXT + GLenum target + GLuint texture + + + + + void glBindTextureUnit + GLuint unit + GLuint texture + + + GLuint glBindTextureUnitParameterEXT + GLenum unit + GLenum value + + + void glBindTextures + GLuint first + GLsizei count + const GLuint *textures + + + void glBindTransformFeedback + GLenum target + GLuint id + + + void glBindTransformFeedbackNV + GLenum target + GLuint id + + + void glBindVertexArray + GLuint array + + + + void glBindVertexArrayAPPLE + GLuint array + + + void glBindVertexArrayOES + GLuint array + + + + void glBindVertexBuffer + GLuint bindingindex + GLuint buffer + GLintptr offset + GLsizei stride + + + void glBindVertexBuffers + GLuint first + GLsizei count + const GLuint *buffers + const GLintptr *offsets + const GLsizei *strides + + + void glBindVertexShaderEXT + GLuint id + + + void glBindVideoCaptureStreamBufferNV + GLuint video_capture_slot + GLuint stream + GLenum frame_region + GLintptrARB offset + + + void glBindVideoCaptureStreamTextureNV + GLuint video_capture_slot + GLuint stream + GLenum frame_region + GLenum target + GLuint texture + + + void glBinormal3bEXT + GLbyte bx + GLbyte by + GLbyte bz + + + + void glBinormal3bvEXT + const GLbyte *v + + + void glBinormal3dEXT + GLdouble bx + GLdouble by + GLdouble bz + + + + void glBinormal3dvEXT + const GLdouble *v + + + void glBinormal3fEXT + GLfloat bx + GLfloat by + GLfloat bz + + + + void glBinormal3fvEXT + const GLfloat *v + + + void glBinormal3iEXT + GLint bx + GLint by + GLint bz + + + + void glBinormal3ivEXT + const GLint *v + + + void glBinormal3sEXT + GLshort bx + GLshort by + GLshort bz + + + + void glBinormal3svEXT + const GLshort *v + + + void glBinormalPointerEXT + GLenum type + GLsizei stride + const void *pointer + + + void glBitmap + GLsizei width + GLsizei height + GLfloat xorig + GLfloat yorig + GLfloat xmove + GLfloat ymove + const GLubyte *bitmap + + + + + void glBitmapxOES + GLsizei width + GLsizei height + GLfixed xorig + GLfixed yorig + GLfixed xmove + GLfixed ymove + const GLubyte *bitmap + + + void glBlendBarrier + + + void glBlendBarrierKHR + + + + void glBlendBarrierNV + + + + void glBlendColor + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + void glBlendColorEXT + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + + void glBlendColorxOES + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha + + + void glBlendEquation + GLenum mode + + + + void glBlendEquationEXT + GLenum mode + + + + + void glBlendEquationIndexedAMD + GLuint buf + GLenum mode + + + + void glBlendEquationOES + GLenum mode + + + void glBlendEquationSeparate + GLenum modeRGB + GLenum modeAlpha + + + + void glBlendEquationSeparateEXT + GLenum modeRGB + GLenum modeAlpha + + + + + void glBlendEquationSeparateIndexedAMD + GLuint buf + GLenum modeRGB + GLenum modeAlpha + + + + void glBlendEquationSeparateOES + GLenum modeRGB + GLenum modeAlpha + + + void glBlendEquationSeparatei + GLuint buf + GLenum modeRGB + GLenum modeAlpha + + + void glBlendEquationSeparateiARB + GLuint buf + GLenum modeRGB + GLenum modeAlpha + + + + void glBlendEquationSeparateiEXT + GLuint buf + GLenum modeRGB + GLenum modeAlpha + + + + void glBlendEquationSeparateiOES + GLuint buf + GLenum modeRGB + GLenum modeAlpha + + + + void glBlendEquationi + GLuint buf + GLenum mode + + + void glBlendEquationiARB + GLuint buf + GLenum mode + + + + void glBlendEquationiEXT + GLuint buf + GLenum mode + + + + void glBlendEquationiOES + GLuint buf + GLenum mode + + + + void glBlendFunc + GLenum sfactor + GLenum dfactor + + + + void glBlendFuncIndexedAMD + GLuint buf + GLenum src + GLenum dst + + + + void glBlendFuncSeparate + GLenum sfactorRGB + GLenum dfactorRGB + GLenum sfactorAlpha + GLenum dfactorAlpha + + + + void glBlendFuncSeparateEXT + GLenum sfactorRGB + GLenum dfactorRGB + GLenum sfactorAlpha + GLenum dfactorAlpha + + + + + void glBlendFuncSeparateINGR + GLenum sfactorRGB + GLenum dfactorRGB + GLenum sfactorAlpha + GLenum dfactorAlpha + + + + + void glBlendFuncSeparateIndexedAMD + GLuint buf + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + void glBlendFuncSeparateOES + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + void glBlendFuncSeparatei + GLuint buf + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + void glBlendFuncSeparateiARB + GLuint buf + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + void glBlendFuncSeparateiEXT + GLuint buf + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + void glBlendFuncSeparateiOES + GLuint buf + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + void glBlendFunci + GLuint buf + GLenum src + GLenum dst + + + void glBlendFunciARB + GLuint buf + GLenum src + GLenum dst + + + + void glBlendFunciEXT + GLuint buf + GLenum src + GLenum dst + + + + void glBlendFunciOES + GLuint buf + GLenum src + GLenum dst + + + + void glBlendParameteriNV + GLenum pname + GLint value + + + void glBlitFramebuffer + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + + void glBlitFramebufferANGLE + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + void glBlitFramebufferEXT + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + + + void glBlitFramebufferNV + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + + void glBlitNamedFramebuffer + GLuint readFramebuffer + GLuint drawFramebuffer + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + void glBufferAddressRangeNV + GLenum pname + GLuint index + GLuint64EXT address + GLsizeiptr length + + + void glBufferData + GLenum target + GLsizeiptr size + const void *data + GLenum usage + + + void glBufferDataARB + GLenum target + GLsizeiptrARB size + const void *data + GLenum usage + + + + void glBufferPageCommitmentARB + GLenum target + GLintptr offset + GLsizeiptr size + GLboolean commit + + + void glBufferParameteriAPPLE + GLenum target + GLenum pname + GLint param + + + void glBufferStorage + GLenum target + GLsizeiptr size + const void *data + GLbitfield flags + + + void glBufferStorageEXT + GLenum target + GLsizeiptr size + const void *data + GLbitfield flags + + + + void glBufferStorageExternalEXT + GLenum target + GLintptr offset + GLsizeiptr size + GLeglClientBufferEXT clientBuffer + GLbitfield flags + + + void glBufferStorageMemEXT + GLenum target + GLsizeiptr size + GLuint memory + GLuint64 offset + + + void glBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + const void *data + + + void glBufferSubDataARB + GLenum target + GLintptrARB offset + GLsizeiptrARB size + const void *data + + + + void glCallCommandListNV + GLuint list + + + void glCallList + GLuint list + + + + void glCallLists + GLsizei n + GLenum type + const void *lists + + + + GLenum glCheckFramebufferStatus + GLenum target + + + + GLenum glCheckFramebufferStatusEXT + GLenum target + + + + + GLenum glCheckFramebufferStatusOES + GLenum target + + + GLenum glCheckNamedFramebufferStatus + GLuint framebuffer + GLenum target + + + GLenum glCheckNamedFramebufferStatusEXT + GLuint framebuffer + GLenum target + + + void glClampColor + GLenum target + GLenum clamp + + + + void glClampColorARB + GLenum target + GLenum clamp + + + + + void glClear + GLbitfield mask + + + + void glClearAccum + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + void glClearAccumxOES + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha + + + void glClearBufferData + GLenum target + GLenum internalformat + GLenum format + GLenum type + const void *data + + + void glClearBufferSubData + GLenum target + GLenum internalformat + GLintptr offset + GLsizeiptr size + GLenum format + GLenum type + const void *data + + + void glClearBufferfi + GLenum buffer + GLint drawbuffer + GLfloat depth + GLint stencil + + + + void glClearBufferfv + GLenum buffer + GLint drawbuffer + const GLfloat *value + + + + void glClearBufferiv + GLenum buffer + GLint drawbuffer + const GLint *value + + + + void glClearBufferuiv + GLenum buffer + GLint drawbuffer + const GLuint *value + + + + void glClearColor + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + void glClearColorIiEXT + GLint red + GLint green + GLint blue + GLint alpha + + + + void glClearColorIuiEXT + GLuint red + GLuint green + GLuint blue + GLuint alpha + + + + void glClearColorx + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha + + + void glClearColorxOES + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha + + + void glClearDepth + GLdouble depth + + + + void glClearDepthdNV + GLdouble depth + + + + void glClearDepthf + GLfloat d + + + void glClearDepthfOES + GLclampf depth + + + + + void glClearDepthx + GLfixed depth + + + void glClearDepthxOES + GLfixed depth + + + void glClearIndex + GLfloat c + + + + void glClearNamedBufferData + GLuint buffer + GLenum internalformat + GLenum format + GLenum type + const void *data + + + void glClearNamedBufferDataEXT + GLuint buffer + GLenum internalformat + GLenum format + GLenum type + const void *data + + + void glClearNamedBufferSubData + GLuint buffer + GLenum internalformat + GLintptr offset + GLsizeiptr size + GLenum format + GLenum type + const void *data + + + void glClearNamedBufferSubDataEXT + GLuint buffer + GLenum internalformat + GLsizeiptr offset + GLsizeiptr size + GLenum format + GLenum type + const void *data + + + void glClearNamedFramebufferfi + GLuint framebuffer + GLenum buffer + GLint drawbuffer + GLfloat depth + GLint stencil + + + void glClearNamedFramebufferfv + GLuint framebuffer + GLenum buffer + GLint drawbuffer + const GLfloat *value + + + void glClearNamedFramebufferiv + GLuint framebuffer + GLenum buffer + GLint drawbuffer + const GLint *value + + + void glClearNamedFramebufferuiv + GLuint framebuffer + GLenum buffer + GLint drawbuffer + const GLuint *value + + + void glClearPixelLocalStorageuiEXT + GLsizei offset + GLsizei n + const GLuint *values + + + void glClearStencil + GLint s + + + + void glClearTexImage + GLuint texture + GLint level + GLenum format + GLenum type + const void *data + + + void glClearTexImageEXT + GLuint texture + GLint level + GLenum format + GLenum type + const void *data + + + + void glClearTexSubImage + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *data + + + void glClearTexSubImageEXT + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *data + + + + void glClientActiveTexture + GLenum texture + + + void glClientActiveTextureARB + GLenum texture + + + + void glClientActiveVertexStreamATI + GLenum stream + + + void glClientAttribDefaultEXT + GLbitfield mask + + + GLenum glClientWaitSync + GLsync sync + GLbitfield flags + GLuint64 timeout + + + GLenum glClientWaitSyncAPPLE + GLsync sync + GLbitfield flags + GLuint64 timeout + + + + void glClipControl + GLenum origin + GLenum depth + + + void glClipControlEXT + GLenum origin + GLenum depth + + + + void glClipPlane + GLenum plane + const GLdouble *equation + + + + void glClipPlanef + GLenum p + const GLfloat *eqn + + + void glClipPlanefIMG + GLenum p + const GLfloat *eqn + + + void glClipPlanefOES + GLenum plane + const GLfloat *equation + + + + void glClipPlanex + GLenum plane + const GLfixed *equation + + + void glClipPlanexIMG + GLenum p + const GLfixed *eqn + + + void glClipPlanexOES + GLenum plane + const GLfixed *equation + + + void glColor3b + GLbyte red + GLbyte green + GLbyte blue + + + + void glColor3bv + const GLbyte *v + + + + void glColor3d + GLdouble red + GLdouble green + GLdouble blue + + + + void glColor3dv + const GLdouble *v + + + + void glColor3f + GLfloat red + GLfloat green + GLfloat blue + + + + void glColor3fVertex3fSUN + GLfloat r + GLfloat g + GLfloat b + GLfloat x + GLfloat y + GLfloat z + + + void glColor3fVertex3fvSUN + const GLfloat *c + const GLfloat *v + + + void glColor3fv + const GLfloat *v + + + + void glColor3hNV + GLhalfNV red + GLhalfNV green + GLhalfNV blue + + + + void glColor3hvNV + const GLhalfNV *v + + + + void glColor3i + GLint red + GLint green + GLint blue + + + + void glColor3iv + const GLint *v + + + + void glColor3s + GLshort red + GLshort green + GLshort blue + + + + void glColor3sv + const GLshort *v + + + + void glColor3ub + GLubyte red + GLubyte green + GLubyte blue + + + + void glColor3ubv + const GLubyte *v + + + + void glColor3ui + GLuint red + GLuint green + GLuint blue + + + + void glColor3uiv + const GLuint *v + + + + void glColor3us + GLushort red + GLushort green + GLushort blue + + + + void glColor3usv + const GLushort *v + + + + void glColor3xOES + GLfixed red + GLfixed green + GLfixed blue + + + void glColor3xvOES + const GLfixed *components + + + void glColor4b + GLbyte red + GLbyte green + GLbyte blue + GLbyte alpha + + + + void glColor4bv + const GLbyte *v + + + + void glColor4d + GLdouble red + GLdouble green + GLdouble blue + GLdouble alpha + + + + void glColor4dv + const GLdouble *v + + + + void glColor4f + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + void glColor4fNormal3fVertex3fSUN + GLfloat r + GLfloat g + GLfloat b + GLfloat a + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glColor4fNormal3fVertex3fvSUN + const GLfloat *c + const GLfloat *n + const GLfloat *v + + + void glColor4fv + const GLfloat *v + + + + void glColor4hNV + GLhalfNV red + GLhalfNV green + GLhalfNV blue + GLhalfNV alpha + + + + void glColor4hvNV + const GLhalfNV *v + + + + void glColor4i + GLint red + GLint green + GLint blue + GLint alpha + + + + void glColor4iv + const GLint *v + + + + void glColor4s + GLshort red + GLshort green + GLshort blue + GLshort alpha + + + + void glColor4sv + const GLshort *v + + + + void glColor4ub + GLubyte red + GLubyte green + GLubyte blue + GLubyte alpha + + + + void glColor4ubVertex2fSUN + GLubyte r + GLubyte g + GLubyte b + GLubyte a + GLfloat x + GLfloat y + + + void glColor4ubVertex2fvSUN + const GLubyte *c + const GLfloat *v + + + void glColor4ubVertex3fSUN + GLubyte r + GLubyte g + GLubyte b + GLubyte a + GLfloat x + GLfloat y + GLfloat z + + + void glColor4ubVertex3fvSUN + const GLubyte *c + const GLfloat *v + + + void glColor4ubv + const GLubyte *v + + + + void glColor4ui + GLuint red + GLuint green + GLuint blue + GLuint alpha + + + + void glColor4uiv + const GLuint *v + + + + void glColor4us + GLushort red + GLushort green + GLushort blue + GLushort alpha + + + + void glColor4usv + const GLushort *v + + + + void glColor4x + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha + + + void glColor4xOES + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha + + + void glColor4xvOES + const GLfixed *components + + + void glColorFormatNV + GLint size + GLenum type + GLsizei stride + + + void glColorFragmentOp1ATI + GLenum op + GLuint dst + GLuint dstMask + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + + + void glColorFragmentOp2ATI + GLenum op + GLuint dst + GLuint dstMask + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod + + + void glColorFragmentOp3ATI + GLenum op + GLuint dst + GLuint dstMask + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod + GLuint arg3 + GLuint arg3Rep + GLuint arg3Mod + + + void glColorMask + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha + + + + void glColorMaskIndexedEXT + GLuint index + GLboolean r + GLboolean g + GLboolean b + GLboolean a + + + + + void glColorMaski + GLuint index + GLboolean r + GLboolean g + GLboolean b + GLboolean a + + + void glColorMaskiEXT + GLuint index + GLboolean r + GLboolean g + GLboolean b + GLboolean a + + + + void glColorMaskiOES + GLuint index + GLboolean r + GLboolean g + GLboolean b + GLboolean a + + + + void glColorMaterial + GLenum face + GLenum mode + + + + void glColorP3ui + GLenum type + GLuint color + + + void glColorP3uiv + GLenum type + const GLuint *color + + + void glColorP4ui + GLenum type + GLuint color + + + void glColorP4uiv + GLenum type + const GLuint *color + + + void glColorPointer + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glColorPointerEXT + GLint size + GLenum type + GLsizei stride + GLsizei count + const void *pointer + + + void glColorPointerListIBM + GLint size + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glColorPointervINTEL + GLint size + GLenum type + const void **pointer + + + void glColorSubTable + GLenum target + GLsizei start + GLsizei count + GLenum format + GLenum type + const void *data + + + + + void glColorSubTableEXT + GLenum target + GLsizei start + GLsizei count + GLenum format + GLenum type + const void *data + + + + void glColorTable + GLenum target + GLenum internalformat + GLsizei width + GLenum format + GLenum type + const void *table + + + + + void glColorTableEXT + GLenum target + GLenum internalFormat + GLsizei width + GLenum format + GLenum type + const void *table + + + + void glColorTableParameterfv + GLenum target + GLenum pname + const GLfloat *params + + + + void glColorTableParameterfvSGI + GLenum target + GLenum pname + const GLfloat *params + + + + + void glColorTableParameteriv + GLenum target + GLenum pname + const GLint *params + + + + void glColorTableParameterivSGI + GLenum target + GLenum pname + const GLint *params + + + + + void glColorTableSGI + GLenum target + GLenum internalformat + GLsizei width + GLenum format + GLenum type + const void *table + + + + + void glCombinerInputNV + GLenum stage + GLenum portion + GLenum variable + GLenum input + GLenum mapping + GLenum componentUsage + + + + void glCombinerOutputNV + GLenum stage + GLenum portion + GLenum abOutput + GLenum cdOutput + GLenum sumOutput + GLenum scale + GLenum bias + GLboolean abDotProduct + GLboolean cdDotProduct + GLboolean muxSum + + + + void glCombinerParameterfNV + GLenum pname + GLfloat param + + + + void glCombinerParameterfvNV + GLenum pname + const GLfloat *params + + + + void glCombinerParameteriNV + GLenum pname + GLint param + + + + void glCombinerParameterivNV + GLenum pname + const GLint *params + + + + void glCombinerStageParameterfvNV + GLenum stage + GLenum pname + const GLfloat *params + + + void glCommandListSegmentsNV + GLuint list + GLuint segments + + + void glCompileCommandListNV + GLuint list + + + void glCompileShader + GLuint shader + + + void glCompileShaderARB + GLhandleARB shaderObj + + + + void glCompileShaderIncludeARB + GLuint shader + GLsizei count + const GLchar *const*path + const GLint *length + + + void glCompressedMultiTexImage1DEXT + GLenum texunit + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLint border + GLsizei imageSize + const void *bits + + + void glCompressedMultiTexImage2DEXT + GLenum texunit + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const void *bits + + + void glCompressedMultiTexImage3DEXT + GLenum texunit + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const void *bits + + + void glCompressedMultiTexSubImage1DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLsizei imageSize + const void *bits + + + void glCompressedMultiTexSubImage2DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const void *bits + + + void glCompressedMultiTexSubImage3DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const void *bits + + + void glCompressedTexImage1D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLint border + GLsizei imageSize + const void *data + + + + + void glCompressedTexImage1DARB + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLint border + GLsizei imageSize + const void *data + + + + + void glCompressedTexImage2D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const void *data + + + + + void glCompressedTexImage2DARB + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const void *data + + + + + void glCompressedTexImage3D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const void *data + + + + + void glCompressedTexImage3DARB + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const void *data + + + + + void glCompressedTexImage3DOES + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const void *data + + + void glCompressedTexSubImage1D + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLsizei imageSize + const void *data + + + + + void glCompressedTexSubImage1DARB + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLsizei imageSize + const void *data + + + + + void glCompressedTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const void *data + + + + + void glCompressedTexSubImage2DARB + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const void *data + + + + + void glCompressedTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const void *data + + + + + void glCompressedTexSubImage3DARB + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const void *data + + + + + void glCompressedTexSubImage3DOES + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const void *data + + + void glCompressedTextureImage1DEXT + GLuint texture + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLint border + GLsizei imageSize + const void *bits + + + void glCompressedTextureImage2DEXT + GLuint texture + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const void *bits + + + void glCompressedTextureImage3DEXT + GLuint texture + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const void *bits + + + void glCompressedTextureSubImage1D + GLuint texture + GLint level + GLint xoffset + GLsizei width + GLenum format + GLsizei imageSize + const void *data + + + void glCompressedTextureSubImage1DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLsizei imageSize + const void *bits + + + void glCompressedTextureSubImage2D + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const void *data + + + void glCompressedTextureSubImage2DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const void *bits + + + void glCompressedTextureSubImage3D + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const void *data + + + void glCompressedTextureSubImage3DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const void *bits + + + void glConservativeRasterParameterfNV + GLenum pname + GLfloat value + + + void glConservativeRasterParameteriNV + GLenum pname + GLint param + + + void glConvolutionFilter1D + GLenum target + GLenum internalformat + GLsizei width + GLenum format + GLenum type + const void *image + + + + + void glConvolutionFilter1DEXT + GLenum target + GLenum internalformat + GLsizei width + GLenum format + GLenum type + const void *image + + + + + void glConvolutionFilter2D + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *image + + + + + void glConvolutionFilter2DEXT + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *image + + + + + void glConvolutionParameterf + GLenum target + GLenum pname + GLfloat params + + + + void glConvolutionParameterfEXT + GLenum target + GLenum pname + GLfloat params + + + + + void glConvolutionParameterfv + GLenum target + GLenum pname + const GLfloat *params + + + + void glConvolutionParameterfvEXT + GLenum target + GLenum pname + const GLfloat *params + + + + + void glConvolutionParameteri + GLenum target + GLenum pname + GLint params + + + + void glConvolutionParameteriEXT + GLenum target + GLenum pname + GLint params + + + + + void glConvolutionParameteriv + GLenum target + GLenum pname + const GLint *params + + + + void glConvolutionParameterivEXT + GLenum target + GLenum pname + const GLint *params + + + + + void glConvolutionParameterxOES + GLenum target + GLenum pname + GLfixed param + + + void glConvolutionParameterxvOES + GLenum target + GLenum pname + const GLfixed *params + + + void glCopyBufferSubData + GLenum readTarget + GLenum writeTarget + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size + + + + void glCopyBufferSubDataNV + GLenum readTarget + GLenum writeTarget + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size + + + + void glCopyColorSubTable + GLenum target + GLsizei start + GLint x + GLint y + GLsizei width + + + + void glCopyColorSubTableEXT + GLenum target + GLsizei start + GLint x + GLint y + GLsizei width + + + + void glCopyColorTable + GLenum target + GLenum internalformat + GLint x + GLint y + GLsizei width + + + + void glCopyColorTableSGI + GLenum target + GLenum internalformat + GLint x + GLint y + GLsizei width + + + + + void glCopyConvolutionFilter1D + GLenum target + GLenum internalformat + GLint x + GLint y + GLsizei width + + + + void glCopyConvolutionFilter1DEXT + GLenum target + GLenum internalformat + GLint x + GLint y + GLsizei width + + + + + void glCopyConvolutionFilter2D + GLenum target + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + + + + void glCopyConvolutionFilter2DEXT + GLenum target + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + + + + + void glCopyImageSubData + GLuint srcName + GLenum srcTarget + GLint srcLevel + GLint srcX + GLint srcY + GLint srcZ + GLuint dstName + GLenum dstTarget + GLint dstLevel + GLint dstX + GLint dstY + GLint dstZ + GLsizei srcWidth + GLsizei srcHeight + GLsizei srcDepth + + + void glCopyImageSubDataEXT + GLuint srcName + GLenum srcTarget + GLint srcLevel + GLint srcX + GLint srcY + GLint srcZ + GLuint dstName + GLenum dstTarget + GLint dstLevel + GLint dstX + GLint dstY + GLint dstZ + GLsizei srcWidth + GLsizei srcHeight + GLsizei srcDepth + + + + void glCopyImageSubDataNV + GLuint srcName + GLenum srcTarget + GLint srcLevel + GLint srcX + GLint srcY + GLint srcZ + GLuint dstName + GLenum dstTarget + GLint dstLevel + GLint dstX + GLint dstY + GLint dstZ + GLsizei width + GLsizei height + GLsizei depth + + + + void glCopyImageSubDataOES + GLuint srcName + GLenum srcTarget + GLint srcLevel + GLint srcX + GLint srcY + GLint srcZ + GLuint dstName + GLenum dstTarget + GLint dstLevel + GLint dstX + GLint dstY + GLint dstZ + GLsizei srcWidth + GLsizei srcHeight + GLsizei srcDepth + + + + void glCopyMultiTexImage1DEXT + GLenum texunit + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLint border + + + void glCopyMultiTexImage2DEXT + GLenum texunit + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + void glCopyMultiTexSubImage1DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint x + GLint y + GLsizei width + + + void glCopyMultiTexSubImage2DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCopyMultiTexSubImage3DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCopyNamedBufferSubData + GLuint readBuffer + GLuint writeBuffer + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size + + + void glCopyPathNV + GLuint resultPath + GLuint srcPath + + + void glCopyPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum type + + + + void glCopyTexImage1D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLint border + + + + void glCopyTexImage1DEXT + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLint border + + + + + void glCopyTexImage2D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + + void glCopyTexImage2DEXT + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + + + void glCopyTexSubImage1D + GLenum target + GLint level + GLint xoffset + GLint x + GLint y + GLsizei width + + + + void glCopyTexSubImage1DEXT + GLenum target + GLint level + GLint xoffset + GLint x + GLint y + GLsizei width + + + + + void glCopyTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + void glCopyTexSubImage2DEXT + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + + void glCopyTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + void glCopyTexSubImage3DEXT + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + + void glCopyTexSubImage3DOES + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCopyTextureImage1DEXT + GLuint texture + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLint border + + + void glCopyTextureImage2DEXT + GLuint texture + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + void glCopyTextureLevelsAPPLE + GLuint destinationTexture + GLuint sourceTexture + GLint sourceBaseLevel + GLsizei sourceLevelCount + + + void glCopyTextureSubImage1D + GLuint texture + GLint level + GLint xoffset + GLint x + GLint y + GLsizei width + + + void glCopyTextureSubImage1DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint x + GLint y + GLsizei width + + + void glCopyTextureSubImage2D + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCopyTextureSubImage2DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCopyTextureSubImage3D + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCopyTextureSubImage3DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + void glCoverFillPathInstancedNV + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLenum coverMode + GLenum transformType + const GLfloat *transformValues + + + void glCoverFillPathNV + GLuint path + GLenum coverMode + + + void glCoverStrokePathInstancedNV + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLenum coverMode + GLenum transformType + const GLfloat *transformValues + + + void glCoverStrokePathNV + GLuint path + GLenum coverMode + + + void glCoverageMaskNV + GLboolean mask + + + void glCoverageModulationNV + GLenum components + + + void glCoverageModulationTableNV + GLsizei n + const GLfloat *v + + + void glCoverageOperationNV + GLenum operation + + + void glCreateBuffers + GLsizei n + GLuint *buffers + + + void glCreateCommandListsNV + GLsizei n + GLuint *lists + + + void glCreateFramebuffers + GLsizei n + GLuint *framebuffers + + + void glCreateMemoryObjectsEXT + GLsizei n + GLuint *memoryObjects + + + void glCreatePerfQueryINTEL + GLuint queryId + GLuint *queryHandle + + + GLuint glCreateProgram + + + GLhandleARB glCreateProgramObjectARB + + + + void glCreateProgramPipelines + GLsizei n + GLuint *pipelines + + + void glCreateQueries + GLenum target + GLsizei n + GLuint *ids + + + void glCreateRenderbuffers + GLsizei n + GLuint *renderbuffers + + + void glCreateSamplers + GLsizei n + GLuint *samplers + + + GLuint glCreateShader + GLenum type + + + GLhandleARB glCreateShaderObjectARB + GLenum shaderType + + + + GLuint glCreateShaderProgramEXT + GLenum type + const GLchar *string + + + GLuint glCreateShaderProgramv + GLenum type + GLsizei count + const GLchar *const*strings + + + GLuint glCreateShaderProgramvEXT + GLenum type + GLsizei count + const GLchar **strings + + + void glCreateStatesNV + GLsizei n + GLuint *states + + + GLsync glCreateSyncFromCLeventARB + struct _cl_context *context + struct _cl_event *event + GLbitfield flags + + + void glCreateTextures + GLenum target + GLsizei n + GLuint *textures + + + void glCreateTransformFeedbacks + GLsizei n + GLuint *ids + + + void glCreateVertexArrays + GLsizei n + GLuint *arrays + + + void glCullFace + GLenum mode + + + + void glCullParameterdvEXT + GLenum pname + GLdouble *params + + + void glCullParameterfvEXT + GLenum pname + GLfloat *params + + + void glCurrentPaletteMatrixARB + GLint index + + + + void glCurrentPaletteMatrixOES + GLuint matrixpaletteindex + + + void glDebugMessageCallback + GLDEBUGPROC callback + const void *userParam + + + void glDebugMessageCallbackAMD + GLDEBUGPROCAMD callback + void *userParam + + + void glDebugMessageCallbackARB + GLDEBUGPROCARB callback + const void *userParam + + + + void glDebugMessageCallbackKHR + GLDEBUGPROCKHR callback + const void *userParam + + + + void glDebugMessageControl + GLenum source + GLenum type + GLenum severity + GLsizei count + const GLuint *ids + GLboolean enabled + + + void glDebugMessageControlARB + GLenum source + GLenum type + GLenum severity + GLsizei count + const GLuint *ids + GLboolean enabled + + + + void glDebugMessageControlKHR + GLenum source + GLenum type + GLenum severity + GLsizei count + const GLuint *ids + GLboolean enabled + + + + void glDebugMessageEnableAMD + GLenum category + GLenum severity + GLsizei count + const GLuint *ids + GLboolean enabled + + + void glDebugMessageInsert + GLenum source + GLenum type + GLuint id + GLenum severity + GLsizei length + const GLchar *buf + + + void glDebugMessageInsertAMD + GLenum category + GLenum severity + GLuint id + GLsizei length + const GLchar *buf + + + void glDebugMessageInsertARB + GLenum source + GLenum type + GLuint id + GLenum severity + GLsizei length + const GLchar *buf + + + + void glDebugMessageInsertKHR + GLenum source + GLenum type + GLuint id + GLenum severity + GLsizei length + const GLchar *buf + + + + void glDeformSGIX + GLbitfield mask + + + + void glDeformationMap3dSGIX + GLenum target + GLdouble u1 + GLdouble u2 + GLint ustride + GLint uorder + GLdouble v1 + GLdouble v2 + GLint vstride + GLint vorder + GLdouble w1 + GLdouble w2 + GLint wstride + GLint worder + const GLdouble *points + + + + void glDeformationMap3fSGIX + GLenum target + GLfloat u1 + GLfloat u2 + GLint ustride + GLint uorder + GLfloat v1 + GLfloat v2 + GLint vstride + GLint vorder + GLfloat w1 + GLfloat w2 + GLint wstride + GLint worder + const GLfloat *points + + + + void glDeleteAsyncMarkersSGIX + GLuint marker + GLsizei range + + + void glDeleteBuffers + GLsizei n + const GLuint *buffers + + + void glDeleteBuffersARB + GLsizei n + const GLuint *buffers + + + + void glDeleteCommandListsNV + GLsizei n + const GLuint *lists + + + void glDeleteFencesAPPLE + GLsizei n + const GLuint *fences + + + void glDeleteFencesNV + GLsizei n + const GLuint *fences + + + + void glDeleteFragmentShaderATI + GLuint id + + + void glDeleteFramebuffers + GLsizei n + const GLuint *framebuffers + + + + void glDeleteFramebuffersEXT + GLsizei n + const GLuint *framebuffers + + + + + void glDeleteFramebuffersOES + GLsizei n + const GLuint *framebuffers + + + void glDeleteLists + GLuint list + GLsizei range + + + + void glDeleteMemoryObjectsEXT + GLsizei n + const GLuint *memoryObjects + + + void glDeleteNamedStringARB + GLint namelen + const GLchar *name + + + void glDeleteNamesAMD + GLenum identifier + GLuint num + const GLuint *names + + + void glDeleteObjectARB + GLhandleARB obj + + + void glDeleteOcclusionQueriesNV + GLsizei n + const GLuint *ids + + + void glDeletePathsNV + GLuint path + GLsizei range + + + void glDeletePerfMonitorsAMD + GLsizei n + GLuint *monitors + + + void glDeletePerfQueryINTEL + GLuint queryHandle + + + void glDeleteProgram + GLuint program + + + + void glDeleteProgramPipelines + GLsizei n + const GLuint *pipelines + + + void glDeleteProgramPipelinesEXT + GLsizei n + const GLuint *pipelines + + + void glDeleteProgramsARB + GLsizei n + const GLuint *programs + + + + void glDeleteProgramsNV + GLsizei n + const GLuint *programs + + + + + void glDeleteQueries + GLsizei n + const GLuint *ids + + + + void glDeleteQueriesARB + GLsizei n + const GLuint *ids + + + + void glDeleteQueriesEXT + GLsizei n + const GLuint *ids + + + void glDeleteQueryResourceTagNV + GLsizei n + const GLint *tagIds + + + void glDeleteRenderbuffers + GLsizei n + const GLuint *renderbuffers + + + + void glDeleteRenderbuffersEXT + GLsizei n + const GLuint *renderbuffers + + + + + void glDeleteRenderbuffersOES + GLsizei n + const GLuint *renderbuffers + + + void glDeleteSamplers + GLsizei count + const GLuint *samplers + + + void glDeleteSemaphoresEXT + GLsizei n + const GLuint *semaphores + + + void glDeleteShader + GLuint shader + + + + void glDeleteStatesNV + GLsizei n + const GLuint *states + + + void glDeleteSync + GLsync sync + + + void glDeleteSyncAPPLE + GLsync sync + + + + void glDeleteTextures + GLsizei n + const GLuint *textures + + + + void glDeleteTexturesEXT + GLsizei n + const GLuint *textures + + + + void glDeleteTransformFeedbacks + GLsizei n + const GLuint *ids + + + void glDeleteTransformFeedbacksNV + GLsizei n + const GLuint *ids + + + + void glDeleteVertexArrays + GLsizei n + const GLuint *arrays + + + + void glDeleteVertexArraysAPPLE + GLsizei n + const GLuint *arrays + + + + void glDeleteVertexArraysOES + GLsizei n + const GLuint *arrays + + + + void glDeleteVertexShaderEXT + GLuint id + + + void glDepthBoundsEXT + GLclampd zmin + GLclampd zmax + + + + void glDepthBoundsdNV + GLdouble zmin + GLdouble zmax + + + + void glDepthFunc + GLenum func + + + + void glDepthMask + GLboolean flag + + + + void glDepthRange + GLdouble near + GLdouble far + + + + void glDepthRangeArrayfvNV + GLuint first + GLsizei count + const GLfloat *v + + + void glDepthRangeArrayfvOES + GLuint first + GLsizei count + const GLfloat *v + + + void glDepthRangeArrayv + GLuint first + GLsizei count + const GLdouble *v + + + void glDepthRangeIndexed + GLuint index + GLdouble n + GLdouble f + + + void glDepthRangeIndexedfNV + GLuint index + GLfloat n + GLfloat f + + + void glDepthRangeIndexedfOES + GLuint index + GLfloat n + GLfloat f + + + void glDepthRangedNV + GLdouble zNear + GLdouble zFar + + + + void glDepthRangef + GLfloat n + GLfloat f + + + void glDepthRangefOES + GLclampf n + GLclampf f + + + + + void glDepthRangex + GLfixed n + GLfixed f + + + void glDepthRangexOES + GLfixed n + GLfixed f + + + void glDetachObjectARB + GLhandleARB containerObj + GLhandleARB attachedObj + + + + void glDetachShader + GLuint program + GLuint shader + + + void glDetailTexFuncSGIS + GLenum target + GLsizei n + const GLfloat *points + + + + void glDisable + GLenum cap + + + + void glDisableClientState + GLenum array + + + void glDisableClientStateIndexedEXT + GLenum array + GLuint index + + + void glDisableClientStateiEXT + GLenum array + GLuint index + + + void glDisableDriverControlQCOM + GLuint driverControl + + + void glDisableIndexedEXT + GLenum target + GLuint index + + + + + void glDisableVariantClientStateEXT + GLuint id + + + void glDisableVertexArrayAttrib + GLuint vaobj + GLuint index + + + void glDisableVertexArrayAttribEXT + GLuint vaobj + GLuint index + + + void glDisableVertexArrayEXT + GLuint vaobj + GLenum array + + + void glDisableVertexAttribAPPLE + GLuint index + GLenum pname + + + void glDisableVertexAttribArray + GLuint index + + + void glDisableVertexAttribArrayARB + GLuint index + + + + void glDisablei + GLenum target + GLuint index + + + void glDisableiEXT + GLenum target + GLuint index + + + + void glDisableiNV + GLenum target + GLuint index + + + + void glDisableiOES + GLenum target + GLuint index + + + + void glDiscardFramebufferEXT + GLenum target + GLsizei numAttachments + const GLenum *attachments + + + void glDispatchCompute + GLuint num_groups_x + GLuint num_groups_y + GLuint num_groups_z + + + void glDispatchComputeGroupSizeARB + GLuint num_groups_x + GLuint num_groups_y + GLuint num_groups_z + GLuint group_size_x + GLuint group_size_y + GLuint group_size_z + + + void glDispatchComputeIndirect + GLintptr indirect + + + void glDrawArrays + GLenum mode + GLint first + GLsizei count + + + + void glDrawArraysEXT + GLenum mode + GLint first + GLsizei count + + + + + void glDrawArraysIndirect + GLenum mode + const void *indirect + + + void glDrawArraysInstanced + GLenum mode + GLint first + GLsizei count + GLsizei instancecount + + + void glDrawArraysInstancedANGLE + GLenum mode + GLint first + GLsizei count + GLsizei primcount + + + + void glDrawArraysInstancedARB + GLenum mode + GLint first + GLsizei count + GLsizei primcount + + + + void glDrawArraysInstancedBaseInstance + GLenum mode + GLint first + GLsizei count + GLsizei instancecount + GLuint baseinstance + + + void glDrawArraysInstancedBaseInstanceEXT + GLenum mode + GLint first + GLsizei count + GLsizei instancecount + GLuint baseinstance + + + + void glDrawArraysInstancedEXT + GLenum mode + GLint start + GLsizei count + GLsizei primcount + + + + void glDrawArraysInstancedNV + GLenum mode + GLint first + GLsizei count + GLsizei primcount + + + + void glDrawBuffer + GLenum buf + + + + void glDrawBuffers + GLsizei n + const GLenum *bufs + + + + void glDrawBuffersARB + GLsizei n + const GLenum *bufs + + + + void glDrawBuffersATI + GLsizei n + const GLenum *bufs + + + + + void glDrawBuffersEXT + GLsizei n + const GLenum *bufs + + + + void glDrawBuffersIndexedEXT + GLint n + const GLenum *location + const GLint *indices + + + void glDrawBuffersNV + GLsizei n + const GLenum *bufs + + + void glDrawCommandsAddressNV + GLenum primitiveMode + const GLuint64 *indirects + const GLsizei *sizes + GLuint count + + + void glDrawCommandsNV + GLenum primitiveMode + GLuint buffer + const GLintptr *indirects + const GLsizei *sizes + GLuint count + + + void glDrawCommandsStatesAddressNV + const GLuint64 *indirects + const GLsizei *sizes + const GLuint *states + const GLuint *fbos + GLuint count + + + void glDrawCommandsStatesNV + GLuint buffer + const GLintptr *indirects + const GLsizei *sizes + const GLuint *states + const GLuint *fbos + GLuint count + + + void glDrawElementArrayAPPLE + GLenum mode + GLint first + GLsizei count + + + void glDrawElementArrayATI + GLenum mode + GLsizei count + + + void glDrawElements + GLenum mode + GLsizei count + GLenum type + const void *indices + + + void glDrawElementsBaseVertex + GLenum mode + GLsizei count + GLenum type + const void *indices + GLint basevertex + + + void glDrawElementsBaseVertexEXT + GLenum mode + GLsizei count + GLenum type + const void *indices + GLint basevertex + + + + void glDrawElementsBaseVertexOES + GLenum mode + GLsizei count + GLenum type + const void *indices + GLint basevertex + + + + void glDrawElementsIndirect + GLenum mode + GLenum type + const void *indirect + + + void glDrawElementsInstanced + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + + + void glDrawElementsInstancedANGLE + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei primcount + + + + void glDrawElementsInstancedARB + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei primcount + + + + void glDrawElementsInstancedBaseInstance + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLuint baseinstance + + + void glDrawElementsInstancedBaseInstanceEXT + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLuint baseinstance + + + + void glDrawElementsInstancedBaseVertex + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLint basevertex + + + void glDrawElementsInstancedBaseVertexBaseInstance + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLint basevertex + GLuint baseinstance + + + void glDrawElementsInstancedBaseVertexBaseInstanceEXT + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLint basevertex + GLuint baseinstance + + + + void glDrawElementsInstancedBaseVertexEXT + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLint basevertex + + + + void glDrawElementsInstancedBaseVertexOES + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei instancecount + GLint basevertex + + + + void glDrawElementsInstancedEXT + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei primcount + + + + void glDrawElementsInstancedNV + GLenum mode + GLsizei count + GLenum type + const void *indices + GLsizei primcount + + + + void glDrawMeshArraysSUN + GLenum mode + GLint first + GLsizei count + GLsizei width + + + void glDrawPixels + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *pixels + + + + + void glDrawRangeElementArrayAPPLE + GLenum mode + GLuint start + GLuint end + GLint first + GLsizei count + + + void glDrawRangeElementArrayATI + GLenum mode + GLuint start + GLuint end + GLsizei count + + + void glDrawRangeElements + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const void *indices + + + void glDrawRangeElementsBaseVertex + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const void *indices + GLint basevertex + + + void glDrawRangeElementsBaseVertexEXT + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const void *indices + GLint basevertex + + + + void glDrawRangeElementsBaseVertexOES + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const void *indices + GLint basevertex + + + + void glDrawRangeElementsEXT + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const void *indices + + + + void glDrawTexfOES + GLfloat x + GLfloat y + GLfloat z + GLfloat width + GLfloat height + + + void glDrawTexfvOES + const GLfloat *coords + + + void glDrawTexiOES + GLint x + GLint y + GLint z + GLint width + GLint height + + + void glDrawTexivOES + const GLint *coords + + + void glDrawTexsOES + GLshort x + GLshort y + GLshort z + GLshort width + GLshort height + + + void glDrawTexsvOES + const GLshort *coords + + + void glDrawTextureNV + GLuint texture + GLuint sampler + GLfloat x0 + GLfloat y0 + GLfloat x1 + GLfloat y1 + GLfloat z + GLfloat s0 + GLfloat t0 + GLfloat s1 + GLfloat t1 + + + void glDrawTexxOES + GLfixed x + GLfixed y + GLfixed z + GLfixed width + GLfixed height + + + void glDrawTexxvOES + const GLfixed *coords + + + void glDrawTransformFeedback + GLenum mode + GLuint id + + + void glDrawTransformFeedbackEXT + GLenum mode + GLuint id + + + + void glDrawTransformFeedbackInstanced + GLenum mode + GLuint id + GLsizei instancecount + + + void glDrawTransformFeedbackInstancedEXT + GLenum mode + GLuint id + GLsizei instancecount + + + + void glDrawTransformFeedbackNV + GLenum mode + GLuint id + + + + void glDrawTransformFeedbackStream + GLenum mode + GLuint id + GLuint stream + + + void glDrawTransformFeedbackStreamInstanced + GLenum mode + GLuint id + GLuint stream + GLsizei instancecount + + + void glEGLImageTargetRenderbufferStorageOES + GLenum target + GLeglImageOES image + + + void glEGLImageTargetTexture2DOES + GLenum target + GLeglImageOES image + + + void glEdgeFlag + GLboolean flag + + + + void glEdgeFlagFormatNV + GLsizei stride + + + void glEdgeFlagPointer + GLsizei stride + const void *pointer + + + void glEdgeFlagPointerEXT + GLsizei stride + GLsizei count + const GLboolean *pointer + + + void glEdgeFlagPointerListIBM + GLint stride + const GLboolean **pointer + GLint ptrstride + + + void glEdgeFlagv + const GLboolean *flag + + + + void glElementPointerAPPLE + GLenum type + const void *pointer + + + void glElementPointerATI + GLenum type + const void *pointer + + + void glEnable + GLenum cap + + + + void glEnableClientState + GLenum array + + + void glEnableClientStateIndexedEXT + GLenum array + GLuint index + + + void glEnableClientStateiEXT + GLenum array + GLuint index + + + void glEnableDriverControlQCOM + GLuint driverControl + + + void glEnableIndexedEXT + GLenum target + GLuint index + + + + + void glEnableVariantClientStateEXT + GLuint id + + + void glEnableVertexArrayAttrib + GLuint vaobj + GLuint index + + + void glEnableVertexArrayAttribEXT + GLuint vaobj + GLuint index + + + void glEnableVertexArrayEXT + GLuint vaobj + GLenum array + + + void glEnableVertexAttribAPPLE + GLuint index + GLenum pname + + + void glEnableVertexAttribArray + GLuint index + + + void glEnableVertexAttribArrayARB + GLuint index + + + + void glEnablei + GLenum target + GLuint index + + + void glEnableiEXT + GLenum target + GLuint index + + + + void glEnableiNV + GLenum target + GLuint index + + + + void glEnableiOES + GLenum target + GLuint index + + + + void glEnd + + + + void glEndConditionalRender + + + + void glEndConditionalRenderNV + + + + void glEndConditionalRenderNVX + + + + void glEndFragmentShaderATI + + + void glEndList + + + + void glEndOcclusionQueryNV + + + void glEndPerfMonitorAMD + GLuint monitor + + + void glEndPerfQueryINTEL + GLuint queryHandle + + + void glEndQuery + GLenum target + + + + void glEndQueryARB + GLenum target + + + + void glEndQueryEXT + GLenum target + + + void glEndQueryIndexed + GLenum target + GLuint index + + + void glEndTilingQCOM + GLbitfield preserveMask + + + void glEndTransformFeedback + + + + void glEndTransformFeedbackEXT + + + + void glEndTransformFeedbackNV + + + + void glEndVertexShaderEXT + + + void glEndVideoCaptureNV + GLuint video_capture_slot + + + void glEvalCoord1d + GLdouble u + + + + void glEvalCoord1dv + const GLdouble *u + + + + void glEvalCoord1f + GLfloat u + + + + void glEvalCoord1fv + const GLfloat *u + + + + void glEvalCoord1xOES + GLfixed u + + + void glEvalCoord1xvOES + const GLfixed *coords + + + void glEvalCoord2d + GLdouble u + GLdouble v + + + + void glEvalCoord2dv + const GLdouble *u + + + + void glEvalCoord2f + GLfloat u + GLfloat v + + + + void glEvalCoord2fv + const GLfloat *u + + + + void glEvalCoord2xOES + GLfixed u + GLfixed v + + + void glEvalCoord2xvOES + const GLfixed *coords + + + void glEvalMapsNV + GLenum target + GLenum mode + + + void glEvalMesh1 + GLenum mode + GLint i1 + GLint i2 + + + + void glEvalMesh2 + GLenum mode + GLint i1 + GLint i2 + GLint j1 + GLint j2 + + + + void glEvalPoint1 + GLint i + + + + void glEvalPoint2 + GLint i + GLint j + + + + void glEvaluateDepthValuesARB + + + void glExecuteProgramNV + GLenum target + GLuint id + const GLfloat *params + + + + void glExtGetBufferPointervQCOM + GLenum target + void **params + + + void glExtGetBuffersQCOM + GLuint *buffers + GLint maxBuffers + GLint *numBuffers + + + void glExtGetFramebuffersQCOM + GLuint *framebuffers + GLint maxFramebuffers + GLint *numFramebuffers + + + void glExtGetProgramBinarySourceQCOM + GLuint program + GLenum shadertype + GLchar *source + GLint *length + + + void glExtGetProgramsQCOM + GLuint *programs + GLint maxPrograms + GLint *numPrograms + + + void glExtGetRenderbuffersQCOM + GLuint *renderbuffers + GLint maxRenderbuffers + GLint *numRenderbuffers + + + void glExtGetShadersQCOM + GLuint *shaders + GLint maxShaders + GLint *numShaders + + + void glExtGetTexLevelParameterivQCOM + GLuint texture + GLenum face + GLint level + GLenum pname + GLint *params + + + void glExtGetTexSubImageQCOM + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + void *texels + + + void glExtGetTexturesQCOM + GLuint *textures + GLint maxTextures + GLint *numTextures + + + GLboolean glExtIsProgramBinaryQCOM + GLuint program + + + void glExtTexObjectStateOverrideiQCOM + GLenum target + GLenum pname + GLint param + + + void glExtractComponentEXT + GLuint res + GLuint src + GLuint num + + + void glFeedbackBuffer + GLsizei size + GLenum type + GLfloat *buffer + + + + void glFeedbackBufferxOES + GLsizei n + GLenum type + const GLfixed *buffer + + + GLsync glFenceSync + GLenum condition + GLbitfield flags + + + GLsync glFenceSyncAPPLE + GLenum condition + GLbitfield flags + + + + void glFinalCombinerInputNV + GLenum variable + GLenum input + GLenum mapping + GLenum componentUsage + + + + void glFinish + + + + GLint glFinishAsyncSGIX + GLuint *markerp + + + void glFinishFenceAPPLE + GLuint fence + + + void glFinishFenceNV + GLuint fence + + + + void glFinishObjectAPPLE + GLenum object + GLint name + + + void glFinishTextureSUNX + + + void glFlush + + + + void glFlushMappedBufferRange + GLenum target + GLintptr offset + GLsizeiptr length + + + void glFlushMappedBufferRangeAPPLE + GLenum target + GLintptr offset + GLsizeiptr size + + + + void glFlushMappedBufferRangeEXT + GLenum target + GLintptr offset + GLsizeiptr length + + + + void glFlushMappedNamedBufferRange + GLuint buffer + GLintptr offset + GLsizeiptr length + + + void glFlushMappedNamedBufferRangeEXT + GLuint buffer + GLintptr offset + GLsizeiptr length + + + void glFlushPixelDataRangeNV + GLenum target + + + void glFlushRasterSGIX + + + + void glFlushStaticDataIBM + GLenum target + + + void glFlushVertexArrayRangeAPPLE + GLsizei length + void *pointer + + + void glFlushVertexArrayRangeNV + + + void glFogCoordFormatNV + GLenum type + GLsizei stride + + + void glFogCoordPointer + GLenum type + GLsizei stride + const void *pointer + + + void glFogCoordPointerEXT + GLenum type + GLsizei stride + const void *pointer + + + + void glFogCoordPointerListIBM + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glFogCoordd + GLdouble coord + + + + void glFogCoorddEXT + GLdouble coord + + + + + void glFogCoorddv + const GLdouble *coord + + + + void glFogCoorddvEXT + const GLdouble *coord + + + + + void glFogCoordf + GLfloat coord + + + + void glFogCoordfEXT + GLfloat coord + + + + + void glFogCoordfv + const GLfloat *coord + + + + void glFogCoordfvEXT + const GLfloat *coord + + + + + void glFogCoordhNV + GLhalfNV fog + + + + void glFogCoordhvNV + const GLhalfNV *fog + + + + void glFogFuncSGIS + GLsizei n + const GLfloat *points + + + + void glFogf + GLenum pname + GLfloat param + + + + void glFogfv + GLenum pname + const GLfloat *params + + + + void glFogi + GLenum pname + GLint param + + + + void glFogiv + GLenum pname + const GLint *params + + + + void glFogx + GLenum pname + GLfixed param + + + void glFogxOES + GLenum pname + GLfixed param + + + void glFogxv + GLenum pname + const GLfixed *param + + + void glFogxvOES + GLenum pname + const GLfixed *param + + + void glFragmentColorMaterialSGIX + GLenum face + GLenum mode + + + void glFragmentCoverageColorNV + GLuint color + + + void glFragmentLightModelfSGIX + GLenum pname + GLfloat param + + + void glFragmentLightModelfvSGIX + GLenum pname + const GLfloat *params + + + void glFragmentLightModeliSGIX + GLenum pname + GLint param + + + void glFragmentLightModelivSGIX + GLenum pname + const GLint *params + + + void glFragmentLightfSGIX + GLenum light + GLenum pname + GLfloat param + + + void glFragmentLightfvSGIX + GLenum light + GLenum pname + const GLfloat *params + + + void glFragmentLightiSGIX + GLenum light + GLenum pname + GLint param + + + void glFragmentLightivSGIX + GLenum light + GLenum pname + const GLint *params + + + void glFragmentMaterialfSGIX + GLenum face + GLenum pname + GLfloat param + + + void glFragmentMaterialfvSGIX + GLenum face + GLenum pname + const GLfloat *params + + + void glFragmentMaterialiSGIX + GLenum face + GLenum pname + GLint param + + + void glFragmentMaterialivSGIX + GLenum face + GLenum pname + const GLint *params + + + void glFrameTerminatorGREMEDY + + + void glFrameZoomSGIX + GLint factor + + + + void glFramebufferDrawBufferEXT + GLuint framebuffer + GLenum mode + + + void glFramebufferDrawBuffersEXT + GLuint framebuffer + GLsizei n + const GLenum *bufs + + + void glFramebufferFetchBarrierQCOM + + + void glFramebufferFoveationConfigQCOM + GLuint framebuffer + GLuint numLayers + GLuint focalPointsPerLayer + GLuint requestedFeatures + GLuint *providedFeatures + + + void glFramebufferFoveationParametersQCOM + GLuint framebuffer + GLuint layer + GLuint focalPoint + GLfloat focalX + GLfloat focalY + GLfloat gainX + GLfloat gainY + GLfloat foveaArea + + + void glFramebufferParameteri + GLenum target + GLenum pname + GLint param + + + void glFramebufferPixelLocalStorageSizeEXT + GLuint target + GLsizei size + + + void glFramebufferReadBufferEXT + GLuint framebuffer + GLenum mode + + + void glFramebufferRenderbuffer + GLenum target + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + + void glFramebufferRenderbufferEXT + GLenum target + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + + + void glFramebufferRenderbufferOES + GLenum target + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + void glFramebufferSampleLocationsfvARB + GLenum target + GLuint start + GLsizei count + const GLfloat *v + + + void glFramebufferSampleLocationsfvNV + GLenum target + GLuint start + GLsizei count + const GLfloat *v + + + void glFramebufferSamplePositionsfvAMD + GLenum target + GLuint numsamples + GLuint pixelindex + const GLfloat *values + + + void glFramebufferTexture + GLenum target + GLenum attachment + GLuint texture + GLint level + + + void glFramebufferTexture1D + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + void glFramebufferTexture1DEXT + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + + void glFramebufferTexture2D + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + void glFramebufferTexture2DEXT + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + + void glFramebufferTexture2DDownsampleIMG + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLint xscale + GLint yscale + + + void glFramebufferTexture2DMultisampleEXT + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLsizei samples + + + void glFramebufferTexture2DMultisampleIMG + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLsizei samples + + + void glFramebufferTexture2DOES + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + void glFramebufferTexture3D + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLint zoffset + + + + void glFramebufferTexture3DEXT + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLint zoffset + + + + + void glFramebufferTexture3DOES + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLint zoffset + + + void glFramebufferTextureARB + GLenum target + GLenum attachment + GLuint texture + GLint level + + + + void glFramebufferTextureEXT + GLenum target + GLenum attachment + GLuint texture + GLint level + + + + void glFramebufferTextureFaceARB + GLenum target + GLenum attachment + GLuint texture + GLint level + GLenum face + + + void glFramebufferTextureFaceEXT + GLenum target + GLenum attachment + GLuint texture + GLint level + GLenum face + + + + void glFramebufferTextureLayer + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint layer + + + + void glFramebufferTextureLayerARB + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint layer + + + + void glFramebufferTextureLayerEXT + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint layer + + + + void glFramebufferTextureLayerDownsampleIMG + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint layer + GLint xscale + GLint yscale + + + void glFramebufferTextureMultisampleMultiviewOVR + GLenum target + GLenum attachment + GLuint texture + GLint level + GLsizei samples + GLint baseViewIndex + GLsizei numViews + + + void glFramebufferTextureMultiviewOVR + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint baseViewIndex + GLsizei numViews + + + void glFramebufferTextureOES + GLenum target + GLenum attachment + GLuint texture + GLint level + + + + void glFreeObjectBufferATI + GLuint buffer + + + void glFrontFace + GLenum mode + + + + void glFrustum + GLdouble left + GLdouble right + GLdouble bottom + GLdouble top + GLdouble zNear + GLdouble zFar + + + + void glFrustumf + GLfloat l + GLfloat r + GLfloat b + GLfloat t + GLfloat n + GLfloat f + + + void glFrustumfOES + GLfloat l + GLfloat r + GLfloat b + GLfloat t + GLfloat n + GLfloat f + + + + void glFrustumx + GLfixed l + GLfixed r + GLfixed b + GLfixed t + GLfixed n + GLfixed f + + + void glFrustumxOES + GLfixed l + GLfixed r + GLfixed b + GLfixed t + GLfixed n + GLfixed f + + + GLuint glGenAsyncMarkersSGIX + GLsizei range + + + void glGenBuffers + GLsizei n + GLuint *buffers + + + void glGenBuffersARB + GLsizei n + GLuint *buffers + + + + void glGenFencesAPPLE + GLsizei n + GLuint *fences + + + void glGenFencesNV + GLsizei n + GLuint *fences + + + + GLuint glGenFragmentShadersATI + GLuint range + + + void glGenFramebuffers + GLsizei n + GLuint *framebuffers + + + + void glGenFramebuffersEXT + GLsizei n + GLuint *framebuffers + + + + + void glGenFramebuffersOES + GLsizei n + GLuint *framebuffers + + + GLuint glGenLists + GLsizei range + + + + void glGenNamesAMD + GLenum identifier + GLuint num + GLuint *names + + + void glGenOcclusionQueriesNV + GLsizei n + GLuint *ids + + + GLuint glGenPathsNV + GLsizei range + + + void glGenPerfMonitorsAMD + GLsizei n + GLuint *monitors + + + void glGenProgramPipelines + GLsizei n + GLuint *pipelines + + + void glGenProgramPipelinesEXT + GLsizei n + GLuint *pipelines + + + void glGenProgramsARB + GLsizei n + GLuint *programs + + + + void glGenProgramsNV + GLsizei n + GLuint *programs + + + + + void glGenQueries + GLsizei n + GLuint *ids + + + + void glGenQueriesARB + GLsizei n + GLuint *ids + + + + void glGenQueriesEXT + GLsizei n + GLuint *ids + + + void glGenQueryResourceTagNV + GLsizei n + GLint *tagIds + + + void glGenRenderbuffers + GLsizei n + GLuint *renderbuffers + + + + void glGenRenderbuffersEXT + GLsizei n + GLuint *renderbuffers + + + + + void glGenRenderbuffersOES + GLsizei n + GLuint *renderbuffers + + + void glGenSamplers + GLsizei count + GLuint *samplers + + + void glGenSemaphoresEXT + GLsizei n + GLuint *semaphores + + + GLuint glGenSymbolsEXT + GLenum datatype + GLenum storagetype + GLenum range + GLuint components + + + void glGenTextures + GLsizei n + GLuint *textures + + + + void glGenTexturesEXT + GLsizei n + GLuint *textures + + + + void glGenTransformFeedbacks + GLsizei n + GLuint *ids + + + void glGenTransformFeedbacksNV + GLsizei n + GLuint *ids + + + + void glGenVertexArrays + GLsizei n + GLuint *arrays + + + + void glGenVertexArraysAPPLE + GLsizei n + GLuint *arrays + + + + void glGenVertexArraysOES + GLsizei n + GLuint *arrays + + + + GLuint glGenVertexShadersEXT + GLuint range + + + void glGenerateMipmap + GLenum target + + + + void glGenerateMipmapEXT + GLenum target + + + + + void glGenerateMipmapOES + GLenum target + + + void glGenerateMultiTexMipmapEXT + GLenum texunit + GLenum target + + + void glGenerateTextureMipmap + GLuint texture + + + void glGenerateTextureMipmapEXT + GLuint texture + GLenum target + + + void glGetActiveAtomicCounterBufferiv + GLuint program + GLuint bufferIndex + GLenum pname + GLint *params + + + void glGetActiveAttrib + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + void glGetActiveAttribARB + GLhandleARB programObj + GLuint index + GLsizei maxLength + GLsizei *length + GLint *size + GLenum *type + GLcharARB *name + + + + void glGetActiveSubroutineName + GLuint program + GLenum shadertype + GLuint index + GLsizei bufsize + GLsizei *length + GLchar *name + + + void glGetActiveSubroutineUniformName + GLuint program + GLenum shadertype + GLuint index + GLsizei bufsize + GLsizei *length + GLchar *name + + + void glGetActiveSubroutineUniformiv + GLuint program + GLenum shadertype + GLuint index + GLenum pname + GLint *values + + + void glGetActiveUniform + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + void glGetActiveUniformARB + GLhandleARB programObj + GLuint index + GLsizei maxLength + GLsizei *length + GLint *size + GLenum *type + GLcharARB *name + + + + void glGetActiveUniformBlockName + GLuint program + GLuint uniformBlockIndex + GLsizei bufSize + GLsizei *length + GLchar *uniformBlockName + + + + void glGetActiveUniformBlockiv + GLuint program + GLuint uniformBlockIndex + GLenum pname + GLint *params + + + + void glGetActiveUniformName + GLuint program + GLuint uniformIndex + GLsizei bufSize + GLsizei *length + GLchar *uniformName + + + + void glGetActiveUniformsiv + GLuint program + GLsizei uniformCount + const GLuint *uniformIndices + GLenum pname + GLint *params + + + + void glGetActiveVaryingNV + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLsizei *size + GLenum *type + GLchar *name + + + void glGetArrayObjectfvATI + GLenum array + GLenum pname + GLfloat *params + + + void glGetArrayObjectivATI + GLenum array + GLenum pname + GLint *params + + + void glGetAttachedObjectsARB + GLhandleARB containerObj + GLsizei maxCount + GLsizei *count + GLhandleARB *obj + + + void glGetAttachedShaders + GLuint program + GLsizei maxCount + GLsizei *count + GLuint *shaders + + + GLint glGetAttribLocation + GLuint program + const GLchar *name + + + GLint glGetAttribLocationARB + GLhandleARB programObj + const GLcharARB *name + + + + void glGetBooleanIndexedvEXT + GLenum target + GLuint index + GLboolean *data + + + + + void glGetBooleani_v + GLenum target + GLuint index + GLboolean *data + + + void glGetBooleanv + GLenum pname + GLboolean *data + + + + void glGetBufferParameteri64v + GLenum target + GLenum pname + GLint64 *params + + + void glGetBufferParameteriv + GLenum target + GLenum pname + GLint *params + + + void glGetBufferParameterivARB + GLenum target + GLenum pname + GLint *params + + + + void glGetBufferParameterui64vNV + GLenum target + GLenum pname + GLuint64EXT *params + + + void glGetBufferPointerv + GLenum target + GLenum pname + void **params + + + void glGetBufferPointervARB + GLenum target + GLenum pname + void **params + + + + void glGetBufferPointervOES + GLenum target + GLenum pname + void **params + + + + void glGetBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + void *data + + + void glGetBufferSubDataARB + GLenum target + GLintptrARB offset + GLsizeiptrARB size + void *data + + + + void glGetClipPlane + GLenum plane + GLdouble *equation + + + + void glGetClipPlanef + GLenum plane + GLfloat *equation + + + void glGetClipPlanefOES + GLenum plane + GLfloat *equation + + + + void glGetClipPlanex + GLenum plane + GLfixed *equation + + + void glGetClipPlanexOES + GLenum plane + GLfixed *equation + + + void glGetColorTable + GLenum target + GLenum format + GLenum type + void *table + + + + + void glGetColorTableEXT + GLenum target + GLenum format + GLenum type + void *data + + + + void glGetColorTableParameterfv + GLenum target + GLenum pname + GLfloat *params + + + + void glGetColorTableParameterfvEXT + GLenum target + GLenum pname + GLfloat *params + + + + void glGetColorTableParameterfvSGI + GLenum target + GLenum pname + GLfloat *params + + + + void glGetColorTableParameteriv + GLenum target + GLenum pname + GLint *params + + + + void glGetColorTableParameterivEXT + GLenum target + GLenum pname + GLint *params + + + + void glGetColorTableParameterivSGI + GLenum target + GLenum pname + GLint *params + + + + void glGetColorTableSGI + GLenum target + GLenum format + GLenum type + void *table + + + + void glGetCombinerInputParameterfvNV + GLenum stage + GLenum portion + GLenum variable + GLenum pname + GLfloat *params + + + + void glGetCombinerInputParameterivNV + GLenum stage + GLenum portion + GLenum variable + GLenum pname + GLint *params + + + + void glGetCombinerOutputParameterfvNV + GLenum stage + GLenum portion + GLenum pname + GLfloat *params + + + + void glGetCombinerOutputParameterivNV + GLenum stage + GLenum portion + GLenum pname + GLint *params + + + + void glGetCombinerStageParameterfvNV + GLenum stage + GLenum pname + GLfloat *params + + + GLuint glGetCommandHeaderNV + GLenum tokenID + GLuint size + + + void glGetCompressedMultiTexImageEXT + GLenum texunit + GLenum target + GLint lod + void *img + + + void glGetCompressedTexImage + GLenum target + GLint level + void *img + + + + + void glGetCompressedTexImageARB + GLenum target + GLint level + void *img + + + + + void glGetCompressedTextureImage + GLuint texture + GLint level + GLsizei bufSize + void *pixels + + + void glGetCompressedTextureImageEXT + GLuint texture + GLenum target + GLint lod + void *img + + + void glGetCompressedTextureSubImage + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLsizei bufSize + void *pixels + + + void glGetConvolutionFilter + GLenum target + GLenum format + GLenum type + void *image + + + + + void glGetConvolutionFilterEXT + GLenum target + GLenum format + GLenum type + void *image + + + + void glGetConvolutionParameterfv + GLenum target + GLenum pname + GLfloat *params + + + + void glGetConvolutionParameterfvEXT + GLenum target + GLenum pname + GLfloat *params + + + + void glGetConvolutionParameteriv + GLenum target + GLenum pname + GLint *params + + + + void glGetConvolutionParameterivEXT + GLenum target + GLenum pname + GLint *params + + + + void glGetConvolutionParameterxvOES + GLenum target + GLenum pname + GLfixed *params + + + void glGetCoverageModulationTableNV + GLsizei bufsize + GLfloat *v + + + GLuint glGetDebugMessageLog + GLuint count + GLsizei bufSize + GLenum *sources + GLenum *types + GLuint *ids + GLenum *severities + GLsizei *lengths + GLchar *messageLog + + + GLuint glGetDebugMessageLogAMD + GLuint count + GLsizei bufsize + GLenum *categories + GLuint *severities + GLuint *ids + GLsizei *lengths + GLchar *message + + + GLuint glGetDebugMessageLogARB + GLuint count + GLsizei bufSize + GLenum *sources + GLenum *types + GLuint *ids + GLenum *severities + GLsizei *lengths + GLchar *messageLog + + + + GLuint glGetDebugMessageLogKHR + GLuint count + GLsizei bufSize + GLenum *sources + GLenum *types + GLuint *ids + GLenum *severities + GLsizei *lengths + GLchar *messageLog + + + + void glGetDetailTexFuncSGIS + GLenum target + GLfloat *points + + + + void glGetDoubleIndexedvEXT + GLenum target + GLuint index + GLdouble *data + + + + void glGetDoublei_v + GLenum target + GLuint index + GLdouble *data + + + void glGetDoublei_vEXT + GLenum pname + GLuint index + GLdouble *params + + + + void glGetDoublev + GLenum pname + GLdouble *data + + + + void glGetDriverControlStringQCOM + GLuint driverControl + GLsizei bufSize + GLsizei *length + GLchar *driverControlString + + + void glGetDriverControlsQCOM + GLint *num + GLsizei size + GLuint *driverControls + + + GLenum glGetError + + + + void glGetFenceivNV + GLuint fence + GLenum pname + GLint *params + + + + void glGetFinalCombinerInputParameterfvNV + GLenum variable + GLenum pname + GLfloat *params + + + + void glGetFinalCombinerInputParameterivNV + GLenum variable + GLenum pname + GLint *params + + + + void glGetFirstPerfQueryIdINTEL + GLuint *queryId + + + void glGetFixedv + GLenum pname + GLfixed *params + + + void glGetFixedvOES + GLenum pname + GLfixed *params + + + void glGetFloatIndexedvEXT + GLenum target + GLuint index + GLfloat *data + + + + void glGetFloati_v + GLenum target + GLuint index + GLfloat *data + + + void glGetFloati_vEXT + GLenum pname + GLuint index + GLfloat *params + + + + void glGetFloati_vNV + GLenum target + GLuint index + GLfloat *data + + + + void glGetFloati_vOES + GLenum target + GLuint index + GLfloat *data + + + + void glGetFloatv + GLenum pname + GLfloat *data + + + + void glGetFogFuncSGIS + GLfloat *points + + + GLint glGetFragDataIndex + GLuint program + const GLchar *name + + + GLint glGetFragDataIndexEXT + GLuint program + const GLchar *name + + + + GLint glGetFragDataLocation + GLuint program + const GLchar *name + + + GLint glGetFragDataLocationEXT + GLuint program + const GLchar *name + + + + void glGetFragmentLightfvSGIX + GLenum light + GLenum pname + GLfloat *params + + + void glGetFragmentLightivSGIX + GLenum light + GLenum pname + GLint *params + + + void glGetFragmentMaterialfvSGIX + GLenum face + GLenum pname + GLfloat *params + + + void glGetFragmentMaterialivSGIX + GLenum face + GLenum pname + GLint *params + + + void glGetFramebufferAttachmentParameteriv + GLenum target + GLenum attachment + GLenum pname + GLint *params + + + + void glGetFramebufferAttachmentParameterivEXT + GLenum target + GLenum attachment + GLenum pname + GLint *params + + + + + void glGetFramebufferAttachmentParameterivOES + GLenum target + GLenum attachment + GLenum pname + GLint *params + + + void glGetFramebufferParameterfvAMD + GLenum target + GLenum pname + GLuint numsamples + GLuint pixelindex + GLsizei size + GLfloat *values + + + void glGetFramebufferParameteriv + GLenum target + GLenum pname + GLint *params + + + void glGetFramebufferParameterivEXT + GLuint framebuffer + GLenum pname + GLint *params + + + GLsizei glGetFramebufferPixelLocalStorageSizeEXT + GLuint target + + + GLenum glGetGraphicsResetStatus + + + GLenum glGetGraphicsResetStatusARB + + + GLenum glGetGraphicsResetStatusEXT + + + GLenum glGetGraphicsResetStatusKHR + + + + GLhandleARB glGetHandleARB + GLenum pname + + + void glGetHistogram + GLenum target + GLboolean reset + GLenum format + GLenum type + void *values + + + + + void glGetHistogramEXT + GLenum target + GLboolean reset + GLenum format + GLenum type + void *values + + + + void glGetHistogramParameterfv + GLenum target + GLenum pname + GLfloat *params + + + + void glGetHistogramParameterfvEXT + GLenum target + GLenum pname + GLfloat *params + + + + void glGetHistogramParameteriv + GLenum target + GLenum pname + GLint *params + + + + void glGetHistogramParameterivEXT + GLenum target + GLenum pname + GLint *params + + + + void glGetHistogramParameterxvOES + GLenum target + GLenum pname + GLfixed *params + + + GLuint64 glGetImageHandleARB + GLuint texture + GLint level + GLboolean layered + GLint layer + GLenum format + + + GLuint64 glGetImageHandleNV + GLuint texture + GLint level + GLboolean layered + GLint layer + GLenum format + + + void glGetImageTransformParameterfvHP + GLenum target + GLenum pname + GLfloat *params + + + void glGetImageTransformParameterivHP + GLenum target + GLenum pname + GLint *params + + + void glGetInfoLogARB + GLhandleARB obj + GLsizei maxLength + GLsizei *length + GLcharARB *infoLog + + + GLint glGetInstrumentsSGIX + + + + void glGetInteger64i_v + GLenum target + GLuint index + GLint64 *data + + + void glGetInteger64v + GLenum pname + GLint64 *data + + + void glGetInteger64vAPPLE + GLenum pname + GLint64 *params + + + + void glGetIntegerIndexedvEXT + GLenum target + GLuint index + GLint *data + + + + + void glGetIntegeri_v + GLenum target + GLuint index + GLint *data + + + void glGetIntegeri_vEXT + GLenum target + GLuint index + GLint *data + + + void glGetIntegerui64i_vNV + GLenum value + GLuint index + GLuint64EXT *result + + + void glGetIntegerui64vNV + GLenum value + GLuint64EXT *result + + + void glGetIntegerv + GLenum pname + GLint *data + + + + void glGetInternalformatSampleivNV + GLenum target + GLenum internalformat + GLsizei samples + GLenum pname + GLsizei bufSize + GLint *params + + + void glGetInternalformati64v + GLenum target + GLenum internalformat + GLenum pname + GLsizei bufSize + GLint64 *params + + + void glGetInternalformativ + GLenum target + GLenum internalformat + GLenum pname + GLsizei bufSize + GLint *params + + + void glGetInvariantBooleanvEXT + GLuint id + GLenum value + GLboolean *data + + + void glGetInvariantFloatvEXT + GLuint id + GLenum value + GLfloat *data + + + void glGetInvariantIntegervEXT + GLuint id + GLenum value + GLint *data + + + void glGetLightfv + GLenum light + GLenum pname + GLfloat *params + + + + void glGetLightiv + GLenum light + GLenum pname + GLint *params + + + + void glGetLightxOES + GLenum light + GLenum pname + GLfixed *params + + + void glGetLightxv + GLenum light + GLenum pname + GLfixed *params + + + void glGetLightxvOES + GLenum light + GLenum pname + GLfixed *params + + + void glGetListParameterfvSGIX + GLuint list + GLenum pname + GLfloat *params + + + void glGetListParameterivSGIX + GLuint list + GLenum pname + GLint *params + + + void glGetLocalConstantBooleanvEXT + GLuint id + GLenum value + GLboolean *data + + + void glGetLocalConstantFloatvEXT + GLuint id + GLenum value + GLfloat *data + + + void glGetLocalConstantIntegervEXT + GLuint id + GLenum value + GLint *data + + + void glGetMapAttribParameterfvNV + GLenum target + GLuint index + GLenum pname + GLfloat *params + + + void glGetMapAttribParameterivNV + GLenum target + GLuint index + GLenum pname + GLint *params + + + void glGetMapControlPointsNV + GLenum target + GLuint index + GLenum type + GLsizei ustride + GLsizei vstride + GLboolean packed + void *points + + + void glGetMapParameterfvNV + GLenum target + GLenum pname + GLfloat *params + + + void glGetMapParameterivNV + GLenum target + GLenum pname + GLint *params + + + void glGetMapdv + GLenum target + GLenum query + GLdouble *v + + + + void glGetMapfv + GLenum target + GLenum query + GLfloat *v + + + + void glGetMapiv + GLenum target + GLenum query + GLint *v + + + + void glGetMapxvOES + GLenum target + GLenum query + GLfixed *v + + + void glGetMaterialfv + GLenum face + GLenum pname + GLfloat *params + + + + void glGetMaterialiv + GLenum face + GLenum pname + GLint *params + + + + void glGetMaterialxOES + GLenum face + GLenum pname + GLfixed param + + + void glGetMaterialxv + GLenum face + GLenum pname + GLfixed *params + + + void glGetMaterialxvOES + GLenum face + GLenum pname + GLfixed *params + + + void glGetMemoryObjectParameterivEXT + GLuint memoryObject + GLenum pname + GLint *params + + + void glGetMinmax + GLenum target + GLboolean reset + GLenum format + GLenum type + void *values + + + + + void glGetMinmaxEXT + GLenum target + GLboolean reset + GLenum format + GLenum type + void *values + + + + void glGetMinmaxParameterfv + GLenum target + GLenum pname + GLfloat *params + + + + void glGetMinmaxParameterfvEXT + GLenum target + GLenum pname + GLfloat *params + + + + void glGetMinmaxParameteriv + GLenum target + GLenum pname + GLint *params + + + + void glGetMinmaxParameterivEXT + GLenum target + GLenum pname + GLint *params + + + + void glGetMultiTexEnvfvEXT + GLenum texunit + GLenum target + GLenum pname + GLfloat *params + + + void glGetMultiTexEnvivEXT + GLenum texunit + GLenum target + GLenum pname + GLint *params + + + void glGetMultiTexGendvEXT + GLenum texunit + GLenum coord + GLenum pname + GLdouble *params + + + void glGetMultiTexGenfvEXT + GLenum texunit + GLenum coord + GLenum pname + GLfloat *params + + + void glGetMultiTexGenivEXT + GLenum texunit + GLenum coord + GLenum pname + GLint *params + + + void glGetMultiTexImageEXT + GLenum texunit + GLenum target + GLint level + GLenum format + GLenum type + void *pixels + + + void glGetMultiTexLevelParameterfvEXT + GLenum texunit + GLenum target + GLint level + GLenum pname + GLfloat *params + + + void glGetMultiTexLevelParameterivEXT + GLenum texunit + GLenum target + GLint level + GLenum pname + GLint *params + + + void glGetMultiTexParameterIivEXT + GLenum texunit + GLenum target + GLenum pname + GLint *params + + + void glGetMultiTexParameterIuivEXT + GLenum texunit + GLenum target + GLenum pname + GLuint *params + + + void glGetMultiTexParameterfvEXT + GLenum texunit + GLenum target + GLenum pname + GLfloat *params + + + void glGetMultiTexParameterivEXT + GLenum texunit + GLenum target + GLenum pname + GLint *params + + + void glGetMultisamplefv + GLenum pname + GLuint index + GLfloat *val + + + void glGetMultisamplefvNV + GLenum pname + GLuint index + GLfloat *val + + + + void glGetNamedBufferParameteri64v + GLuint buffer + GLenum pname + GLint64 *params + + + void glGetNamedBufferParameteriv + GLuint buffer + GLenum pname + GLint *params + + + void glGetNamedBufferParameterivEXT + GLuint buffer + GLenum pname + GLint *params + + + void glGetNamedBufferParameterui64vNV + GLuint buffer + GLenum pname + GLuint64EXT *params + + + void glGetNamedBufferPointerv + GLuint buffer + GLenum pname + void **params + + + void glGetNamedBufferPointervEXT + GLuint buffer + GLenum pname + void **params + + + void glGetNamedBufferSubData + GLuint buffer + GLintptr offset + GLsizeiptr size + void *data + + + void glGetNamedBufferSubDataEXT + GLuint buffer + GLintptr offset + GLsizeiptr size + void *data + + + void glGetNamedFramebufferParameterfvAMD + GLuint framebuffer + GLenum pname + GLuint numsamples + GLuint pixelindex + GLsizei size + GLfloat *values + + + void glGetNamedFramebufferAttachmentParameteriv + GLuint framebuffer + GLenum attachment + GLenum pname + GLint *params + + + void glGetNamedFramebufferAttachmentParameterivEXT + GLuint framebuffer + GLenum attachment + GLenum pname + GLint *params + + + void glGetNamedFramebufferParameteriv + GLuint framebuffer + GLenum pname + GLint *param + + + void glGetNamedFramebufferParameterivEXT + GLuint framebuffer + GLenum pname + GLint *params + + + void glGetNamedProgramLocalParameterIivEXT + GLuint program + GLenum target + GLuint index + GLint *params + + + void glGetNamedProgramLocalParameterIuivEXT + GLuint program + GLenum target + GLuint index + GLuint *params + + + void glGetNamedProgramLocalParameterdvEXT + GLuint program + GLenum target + GLuint index + GLdouble *params + + + void glGetNamedProgramLocalParameterfvEXT + GLuint program + GLenum target + GLuint index + GLfloat *params + + + void glGetNamedProgramStringEXT + GLuint program + GLenum target + GLenum pname + void *string + + + void glGetNamedProgramivEXT + GLuint program + GLenum target + GLenum pname + GLint *params + + + void glGetNamedRenderbufferParameteriv + GLuint renderbuffer + GLenum pname + GLint *params + + + void glGetNamedRenderbufferParameterivEXT + GLuint renderbuffer + GLenum pname + GLint *params + + + void glGetNamedStringARB + GLint namelen + const GLchar *name + GLsizei bufSize + GLint *stringlen + GLchar *string + + + void glGetNamedStringivARB + GLint namelen + const GLchar *name + GLenum pname + GLint *params + + + void glGetNextPerfQueryIdINTEL + GLuint queryId + GLuint *nextQueryId + + + void glGetObjectBufferfvATI + GLuint buffer + GLenum pname + GLfloat *params + + + void glGetObjectBufferivATI + GLuint buffer + GLenum pname + GLint *params + + + void glGetObjectLabel + GLenum identifier + GLuint name + GLsizei bufSize + GLsizei *length + GLchar *label + + + void glGetObjectLabelEXT + GLenum type + GLuint object + GLsizei bufSize + GLsizei *length + GLchar *label + + + void glGetObjectLabelKHR + GLenum identifier + GLuint name + GLsizei bufSize + GLsizei *length + GLchar *label + + + + void glGetObjectParameterfvARB + GLhandleARB obj + GLenum pname + GLfloat *params + + + void glGetObjectParameterivAPPLE + GLenum objectType + GLuint name + GLenum pname + GLint *params + + + void glGetObjectParameterivARB + GLhandleARB obj + GLenum pname + GLint *params + + + void glGetObjectPtrLabel + const void *ptr + GLsizei bufSize + GLsizei *length + GLchar *label + + + void glGetObjectPtrLabelKHR + const void *ptr + GLsizei bufSize + GLsizei *length + GLchar *label + + + + void glGetOcclusionQueryivNV + GLuint id + GLenum pname + GLint *params + + + void glGetOcclusionQueryuivNV + GLuint id + GLenum pname + GLuint *params + + + void glGetPathColorGenfvNV + GLenum color + GLenum pname + GLfloat *value + + + void glGetPathColorGenivNV + GLenum color + GLenum pname + GLint *value + + + void glGetPathCommandsNV + GLuint path + GLubyte *commands + + + void glGetPathCoordsNV + GLuint path + GLfloat *coords + + + void glGetPathDashArrayNV + GLuint path + GLfloat *dashArray + + + GLfloat glGetPathLengthNV + GLuint path + GLsizei startSegment + GLsizei numSegments + + + void glGetPathMetricRangeNV + GLbitfield metricQueryMask + GLuint firstPathName + GLsizei numPaths + GLsizei stride + GLfloat *metrics + + + void glGetPathMetricsNV + GLbitfield metricQueryMask + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLsizei stride + GLfloat *metrics + + + void glGetPathParameterfvNV + GLuint path + GLenum pname + GLfloat *value + + + void glGetPathParameterivNV + GLuint path + GLenum pname + GLint *value + + + void glGetPathSpacingNV + GLenum pathListMode + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLfloat advanceScale + GLfloat kerningScale + GLenum transformType + GLfloat *returnedSpacing + + + void glGetPathTexGenfvNV + GLenum texCoordSet + GLenum pname + GLfloat *value + + + void glGetPathTexGenivNV + GLenum texCoordSet + GLenum pname + GLint *value + + + void glGetPerfCounterInfoINTEL + GLuint queryId + GLuint counterId + GLuint counterNameLength + GLchar *counterName + GLuint counterDescLength + GLchar *counterDesc + GLuint *counterOffset + GLuint *counterDataSize + GLuint *counterTypeEnum + GLuint *counterDataTypeEnum + GLuint64 *rawCounterMaxValue + + + void glGetPerfMonitorCounterDataAMD + GLuint monitor + GLenum pname + GLsizei dataSize + GLuint *data + GLint *bytesWritten + + + void glGetPerfMonitorCounterInfoAMD + GLuint group + GLuint counter + GLenum pname + void *data + + + void glGetPerfMonitorCounterStringAMD + GLuint group + GLuint counter + GLsizei bufSize + GLsizei *length + GLchar *counterString + + + void glGetPerfMonitorCountersAMD + GLuint group + GLint *numCounters + GLint *maxActiveCounters + GLsizei counterSize + GLuint *counters + + + void glGetPerfMonitorGroupStringAMD + GLuint group + GLsizei bufSize + GLsizei *length + GLchar *groupString + + + void glGetPerfMonitorGroupsAMD + GLint *numGroups + GLsizei groupsSize + GLuint *groups + + + void glGetPerfQueryDataINTEL + GLuint queryHandle + GLuint flags + GLsizei dataSize + void *data + GLuint *bytesWritten + + + void glGetPerfQueryIdByNameINTEL + GLchar *queryName + GLuint *queryId + + + void glGetPerfQueryInfoINTEL + GLuint queryId + GLuint queryNameLength + GLchar *queryName + GLuint *dataSize + GLuint *noCounters + GLuint *noInstances + GLuint *capsMask + + + void glGetPixelMapfv + GLenum map + GLfloat *values + + + + + void glGetPixelMapuiv + GLenum map + GLuint *values + + + + + void glGetPixelMapusv + GLenum map + GLushort *values + + + + + void glGetPixelMapxv + GLenum map + GLint size + GLfixed *values + + + void glGetPixelTexGenParameterfvSGIS + GLenum pname + GLfloat *params + + + void glGetPixelTexGenParameterivSGIS + GLenum pname + GLint *params + + + void glGetPixelTransformParameterfvEXT + GLenum target + GLenum pname + GLfloat *params + + + + void glGetPixelTransformParameterivEXT + GLenum target + GLenum pname + GLint *params + + + + void glGetPointerIndexedvEXT + GLenum target + GLuint index + void **data + + + void glGetPointeri_vEXT + GLenum pname + GLuint index + void **params + + + void glGetPointerv + GLenum pname + void **params + + + + void glGetPointervEXT + GLenum pname + void **params + + + + void glGetPointervKHR + GLenum pname + void **params + + + + void glGetPolygonStipple + GLubyte *mask + + + + + void glGetProgramBinary + GLuint program + GLsizei bufSize + GLsizei *length + GLenum *binaryFormat + void *binary + + + void glGetProgramBinaryOES + GLuint program + GLsizei bufSize + GLsizei *length + GLenum *binaryFormat + void *binary + + + + void glGetProgramEnvParameterIivNV + GLenum target + GLuint index + GLint *params + + + void glGetProgramEnvParameterIuivNV + GLenum target + GLuint index + GLuint *params + + + void glGetProgramEnvParameterdvARB + GLenum target + GLuint index + GLdouble *params + + + void glGetProgramEnvParameterfvARB + GLenum target + GLuint index + GLfloat *params + + + void glGetProgramInfoLog + GLuint program + GLsizei bufSize + GLsizei *length + GLchar *infoLog + + + + void glGetProgramInterfaceiv + GLuint program + GLenum programInterface + GLenum pname + GLint *params + + + void glGetProgramLocalParameterIivNV + GLenum target + GLuint index + GLint *params + + + void glGetProgramLocalParameterIuivNV + GLenum target + GLuint index + GLuint *params + + + void glGetProgramLocalParameterdvARB + GLenum target + GLuint index + GLdouble *params + + + void glGetProgramLocalParameterfvARB + GLenum target + GLuint index + GLfloat *params + + + void glGetProgramNamedParameterdvNV + GLuint id + GLsizei len + const GLubyte *name + GLdouble *params + + + + void glGetProgramNamedParameterfvNV + GLuint id + GLsizei len + const GLubyte *name + GLfloat *params + + + + void glGetProgramParameterdvNV + GLenum target + GLuint index + GLenum pname + GLdouble *params + + + + void glGetProgramParameterfvNV + GLenum target + GLuint index + GLenum pname + GLfloat *params + + + + void glGetProgramPipelineInfoLog + GLuint pipeline + GLsizei bufSize + GLsizei *length + GLchar *infoLog + + + void glGetProgramPipelineInfoLogEXT + GLuint pipeline + GLsizei bufSize + GLsizei *length + GLchar *infoLog + + + void glGetProgramPipelineiv + GLuint pipeline + GLenum pname + GLint *params + + + void glGetProgramPipelineivEXT + GLuint pipeline + GLenum pname + GLint *params + + + GLuint glGetProgramResourceIndex + GLuint program + GLenum programInterface + const GLchar *name + + + GLint glGetProgramResourceLocation + GLuint program + GLenum programInterface + const GLchar *name + + + GLint glGetProgramResourceLocationIndex + GLuint program + GLenum programInterface + const GLchar *name + + + GLint glGetProgramResourceLocationIndexEXT + GLuint program + GLenum programInterface + const GLchar *name + + + void glGetProgramResourceName + GLuint program + GLenum programInterface + GLuint index + GLsizei bufSize + GLsizei *length + GLchar *name + + + void glGetProgramResourcefvNV + GLuint program + GLenum programInterface + GLuint index + GLsizei propCount + const GLenum *props + GLsizei bufSize + GLsizei *length + GLfloat *params + + + void glGetProgramResourceiv + GLuint program + GLenum programInterface + GLuint index + GLsizei propCount + const GLenum *props + GLsizei bufSize + GLsizei *length + GLint *params + + + void glGetProgramStageiv + GLuint program + GLenum shadertype + GLenum pname + GLint *values + + + void glGetProgramStringARB + GLenum target + GLenum pname + void *string + + + void glGetProgramStringNV + GLuint id + GLenum pname + GLubyte *program + + + + void glGetProgramSubroutineParameteruivNV + GLenum target + GLuint index + GLuint *param + + + void glGetProgramiv + GLuint program + GLenum pname + GLint *params + + + + void glGetProgramivARB + GLenum target + GLenum pname + GLint *params + + + void glGetProgramivNV + GLuint id + GLenum pname + GLint *params + + + + void glGetQueryBufferObjecti64v + GLuint id + GLuint buffer + GLenum pname + GLintptr offset + + + void glGetQueryBufferObjectiv + GLuint id + GLuint buffer + GLenum pname + GLintptr offset + + + void glGetQueryBufferObjectui64v + GLuint id + GLuint buffer + GLenum pname + GLintptr offset + + + void glGetQueryBufferObjectuiv + GLuint id + GLuint buffer + GLenum pname + GLintptr offset + + + void glGetQueryIndexediv + GLenum target + GLuint index + GLenum pname + GLint *params + + + void glGetQueryObjecti64v + GLuint id + GLenum pname + GLint64 *params + + + void glGetQueryObjecti64vEXT + GLuint id + GLenum pname + GLint64 *params + + + + + void glGetQueryObjectiv + GLuint id + GLenum pname + GLint *params + + + + void glGetQueryObjectivARB + GLuint id + GLenum pname + GLint *params + + + + void glGetQueryObjectivEXT + GLuint id + GLenum pname + GLint *params + + + + void glGetQueryObjectui64v + GLuint id + GLenum pname + GLuint64 *params + + + void glGetQueryObjectui64vEXT + GLuint id + GLenum pname + GLuint64 *params + + + + + void glGetQueryObjectuiv + GLuint id + GLenum pname + GLuint *params + + + + void glGetQueryObjectuivARB + GLuint id + GLenum pname + GLuint *params + + + + void glGetQueryObjectuivEXT + GLuint id + GLenum pname + GLuint *params + + + void glGetQueryiv + GLenum target + GLenum pname + GLint *params + + + + void glGetQueryivARB + GLenum target + GLenum pname + GLint *params + + + + void glGetQueryivEXT + GLenum target + GLenum pname + GLint *params + + + void glGetRenderbufferParameteriv + GLenum target + GLenum pname + GLint *params + + + + void glGetRenderbufferParameterivEXT + GLenum target + GLenum pname + GLint *params + + + + + void glGetRenderbufferParameterivOES + GLenum target + GLenum pname + GLint *params + + + void glGetSamplerParameterIiv + GLuint sampler + GLenum pname + GLint *params + + + void glGetSamplerParameterIivEXT + GLuint sampler + GLenum pname + GLint *params + + + + void glGetSamplerParameterIivOES + GLuint sampler + GLenum pname + GLint *params + + + + void glGetSamplerParameterIuiv + GLuint sampler + GLenum pname + GLuint *params + + + void glGetSamplerParameterIuivEXT + GLuint sampler + GLenum pname + GLuint *params + + + + void glGetSamplerParameterIuivOES + GLuint sampler + GLenum pname + GLuint *params + + + + void glGetSamplerParameterfv + GLuint sampler + GLenum pname + GLfloat *params + + + void glGetSamplerParameteriv + GLuint sampler + GLenum pname + GLint *params + + + void glGetSemaphoreParameterui64vEXT + GLuint semaphore + GLenum pname + GLuint64 *params + + + void glGetSeparableFilter + GLenum target + GLenum format + GLenum type + void *row + void *column + void *span + + + + + void glGetSeparableFilterEXT + GLenum target + GLenum format + GLenum type + void *row + void *column + void *span + + + + void glGetShaderInfoLog + GLuint shader + GLsizei bufSize + GLsizei *length + GLchar *infoLog + + + + void glGetShaderPrecisionFormat + GLenum shadertype + GLenum precisiontype + GLint *range + GLint *precision + + + void glGetShaderSource + GLuint shader + GLsizei bufSize + GLsizei *length + GLchar *source + + + void glGetShaderSourceARB + GLhandleARB obj + GLsizei maxLength + GLsizei *length + GLcharARB *source + + + + void glGetShaderiv + GLuint shader + GLenum pname + GLint *params + + + + void glGetSharpenTexFuncSGIS + GLenum target + GLfloat *points + + + + GLushort glGetStageIndexNV + GLenum shadertype + + + const GLubyte *glGetString + GLenum name + + + + const GLubyte *glGetStringi + GLenum name + GLuint index + + + + GLuint glGetSubroutineIndex + GLuint program + GLenum shadertype + const GLchar *name + + + GLint glGetSubroutineUniformLocation + GLuint program + GLenum shadertype + const GLchar *name + + + void glGetSynciv + GLsync sync + GLenum pname + GLsizei bufSize + GLsizei *length + GLint *values + + + void glGetSyncivAPPLE + GLsync sync + GLenum pname + GLsizei bufSize + GLsizei *length + GLint *values + + + + void glGetTexBumpParameterfvATI + GLenum pname + GLfloat *param + + + void glGetTexBumpParameterivATI + GLenum pname + GLint *param + + + void glGetTexEnvfv + GLenum target + GLenum pname + GLfloat *params + + + + void glGetTexEnviv + GLenum target + GLenum pname + GLint *params + + + + void glGetTexEnvxv + GLenum target + GLenum pname + GLfixed *params + + + void glGetTexEnvxvOES + GLenum target + GLenum pname + GLfixed *params + + + void glGetTexFilterFuncSGIS + GLenum target + GLenum filter + GLfloat *weights + + + + void glGetTexGendv + GLenum coord + GLenum pname + GLdouble *params + + + + void glGetTexGenfv + GLenum coord + GLenum pname + GLfloat *params + + + + void glGetTexGenfvOES + GLenum coord + GLenum pname + GLfloat *params + + + void glGetTexGeniv + GLenum coord + GLenum pname + GLint *params + + + + void glGetTexGenivOES + GLenum coord + GLenum pname + GLint *params + + + void glGetTexGenxvOES + GLenum coord + GLenum pname + GLfixed *params + + + void glGetTexImage + GLenum target + GLint level + GLenum format + GLenum type + void *pixels + + + + + void glGetTexLevelParameterfv + GLenum target + GLint level + GLenum pname + GLfloat *params + + + + void glGetTexLevelParameteriv + GLenum target + GLint level + GLenum pname + GLint *params + + + + void glGetTexLevelParameterxvOES + GLenum target + GLint level + GLenum pname + GLfixed *params + + + void glGetTexParameterIiv + GLenum target + GLenum pname + GLint *params + + + + void glGetTexParameterIivEXT + GLenum target + GLenum pname + GLint *params + + + + void glGetTexParameterIivOES + GLenum target + GLenum pname + GLint *params + + + + void glGetTexParameterIuiv + GLenum target + GLenum pname + GLuint *params + + + + void glGetTexParameterIuivEXT + GLenum target + GLenum pname + GLuint *params + + + + void glGetTexParameterIuivOES + GLenum target + GLenum pname + GLuint *params + + + + void glGetTexParameterPointervAPPLE + GLenum target + GLenum pname + void **params + + + void glGetTexParameterfv + GLenum target + GLenum pname + GLfloat *params + + + + void glGetTexParameteriv + GLenum target + GLenum pname + GLint *params + + + + void glGetTexParameterxv + GLenum target + GLenum pname + GLfixed *params + + + void glGetTexParameterxvOES + GLenum target + GLenum pname + GLfixed *params + + + GLuint64 glGetTextureHandleARB + GLuint texture + + + GLuint64 glGetTextureHandleIMG + GLuint texture + + + + GLuint64 glGetTextureHandleNV + GLuint texture + + + void glGetTextureImage + GLuint texture + GLint level + GLenum format + GLenum type + GLsizei bufSize + void *pixels + + + void glGetTextureImageEXT + GLuint texture + GLenum target + GLint level + GLenum format + GLenum type + void *pixels + + + void glGetTextureLevelParameterfv + GLuint texture + GLint level + GLenum pname + GLfloat *params + + + void glGetTextureLevelParameterfvEXT + GLuint texture + GLenum target + GLint level + GLenum pname + GLfloat *params + + + void glGetTextureLevelParameteriv + GLuint texture + GLint level + GLenum pname + GLint *params + + + void glGetTextureLevelParameterivEXT + GLuint texture + GLenum target + GLint level + GLenum pname + GLint *params + + + void glGetTextureParameterIiv + GLuint texture + GLenum pname + GLint *params + + + void glGetTextureParameterIivEXT + GLuint texture + GLenum target + GLenum pname + GLint *params + + + void glGetTextureParameterIuiv + GLuint texture + GLenum pname + GLuint *params + + + void glGetTextureParameterIuivEXT + GLuint texture + GLenum target + GLenum pname + GLuint *params + + + void glGetTextureParameterfv + GLuint texture + GLenum pname + GLfloat *params + + + void glGetTextureParameterfvEXT + GLuint texture + GLenum target + GLenum pname + GLfloat *params + + + void glGetTextureParameteriv + GLuint texture + GLenum pname + GLint *params + + + void glGetTextureParameterivEXT + GLuint texture + GLenum target + GLenum pname + GLint *params + + + GLuint64 glGetTextureSamplerHandleARB + GLuint texture + GLuint sampler + + + GLuint64 glGetTextureSamplerHandleIMG + GLuint texture + GLuint sampler + + + + GLuint64 glGetTextureSamplerHandleNV + GLuint texture + GLuint sampler + + + void glGetTextureSubImage + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + GLsizei bufSize + void *pixels + + + void glGetTrackMatrixivNV + GLenum target + GLuint address + GLenum pname + GLint *params + + + + void glGetTransformFeedbackVarying + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLsizei *size + GLenum *type + GLchar *name + + + + void glGetTransformFeedbackVaryingEXT + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLsizei *size + GLenum *type + GLchar *name + + + + void glGetTransformFeedbackVaryingNV + GLuint program + GLuint index + GLint *location + + + void glGetTransformFeedbacki64_v + GLuint xfb + GLenum pname + GLuint index + GLint64 *param + + + void glGetTransformFeedbacki_v + GLuint xfb + GLenum pname + GLuint index + GLint *param + + + void glGetTransformFeedbackiv + GLuint xfb + GLenum pname + GLint *param + + + void glGetTranslatedShaderSourceANGLE + GLuint shader + GLsizei bufsize + GLsizei *length + GLchar *source + + + GLuint glGetUniformBlockIndex + GLuint program + const GLchar *uniformBlockName + + + + GLint glGetUniformBufferSizeEXT + GLuint program + GLint location + + + void glGetUniformIndices + GLuint program + GLsizei uniformCount + const GLchar *const*uniformNames + GLuint *uniformIndices + + + + GLint glGetUniformLocation + GLuint program + const GLchar *name + + + GLint glGetUniformLocationARB + GLhandleARB programObj + const GLcharARB *name + + + + GLintptr glGetUniformOffsetEXT + GLuint program + GLint location + + + void glGetUniformSubroutineuiv + GLenum shadertype + GLint location + GLuint *params + + + void glGetUniformdv + GLuint program + GLint location + GLdouble *params + + + void glGetUniformfv + GLuint program + GLint location + GLfloat *params + + + void glGetUniformfvARB + GLhandleARB programObj + GLint location + GLfloat *params + + + + void glGetUniformi64vARB + GLuint program + GLint location + GLint64 *params + + + void glGetUniformi64vNV + GLuint program + GLint location + GLint64EXT *params + + + void glGetUniformiv + GLuint program + GLint location + GLint *params + + + void glGetUniformivARB + GLhandleARB programObj + GLint location + GLint *params + + + + void glGetUniformui64vARB + GLuint program + GLint location + GLuint64 *params + + + void glGetUniformui64vNV + GLuint program + GLint location + GLuint64EXT *params + + + void glGetUniformuiv + GLuint program + GLint location + GLuint *params + + + void glGetUniformuivEXT + GLuint program + GLint location + GLuint *params + + + + void glGetUnsignedBytevEXT + GLenum pname + GLubyte *data + + + void glGetUnsignedBytei_vEXT + GLenum target + GLuint index + GLubyte *data + + + void glGetVariantArrayObjectfvATI + GLuint id + GLenum pname + GLfloat *params + + + void glGetVariantArrayObjectivATI + GLuint id + GLenum pname + GLint *params + + + void glGetVariantBooleanvEXT + GLuint id + GLenum value + GLboolean *data + + + void glGetVariantFloatvEXT + GLuint id + GLenum value + GLfloat *data + + + void glGetVariantIntegervEXT + GLuint id + GLenum value + GLint *data + + + void glGetVariantPointervEXT + GLuint id + GLenum value + void **data + + + GLint glGetVaryingLocationNV + GLuint program + const GLchar *name + + + void glGetVertexArrayIndexed64iv + GLuint vaobj + GLuint index + GLenum pname + GLint64 *param + + + void glGetVertexArrayIndexediv + GLuint vaobj + GLuint index + GLenum pname + GLint *param + + + void glGetVertexArrayIntegeri_vEXT + GLuint vaobj + GLuint index + GLenum pname + GLint *param + + + void glGetVertexArrayIntegervEXT + GLuint vaobj + GLenum pname + GLint *param + + + void glGetVertexArrayPointeri_vEXT + GLuint vaobj + GLuint index + GLenum pname + void **param + + + void glGetVertexArrayPointervEXT + GLuint vaobj + GLenum pname + void **param + + + void glGetVertexArrayiv + GLuint vaobj + GLenum pname + GLint *param + + + void glGetVertexAttribArrayObjectfvATI + GLuint index + GLenum pname + GLfloat *params + + + void glGetVertexAttribArrayObjectivATI + GLuint index + GLenum pname + GLint *params + + + void glGetVertexAttribIiv + GLuint index + GLenum pname + GLint *params + + + void glGetVertexAttribIivEXT + GLuint index + GLenum pname + GLint *params + + + + void glGetVertexAttribIuiv + GLuint index + GLenum pname + GLuint *params + + + void glGetVertexAttribIuivEXT + GLuint index + GLenum pname + GLuint *params + + + + void glGetVertexAttribLdv + GLuint index + GLenum pname + GLdouble *params + + + void glGetVertexAttribLdvEXT + GLuint index + GLenum pname + GLdouble *params + + + + void glGetVertexAttribLi64vNV + GLuint index + GLenum pname + GLint64EXT *params + + + void glGetVertexAttribLui64vARB + GLuint index + GLenum pname + GLuint64EXT *params + + + void glGetVertexAttribLui64vNV + GLuint index + GLenum pname + GLuint64EXT *params + + + void glGetVertexAttribPointerv + GLuint index + GLenum pname + void **pointer + + + + void glGetVertexAttribPointervARB + GLuint index + GLenum pname + void **pointer + + + + void glGetVertexAttribPointervNV + GLuint index + GLenum pname + void **pointer + + + + void glGetVertexAttribdv + GLuint index + GLenum pname + GLdouble *params + + + + void glGetVertexAttribdvARB + GLuint index + GLenum pname + GLdouble *params + + + + + void glGetVertexAttribdvNV + GLuint index + GLenum pname + GLdouble *params + + + + + void glGetVertexAttribfv + GLuint index + GLenum pname + GLfloat *params + + + + void glGetVertexAttribfvARB + GLuint index + GLenum pname + GLfloat *params + + + + + void glGetVertexAttribfvNV + GLuint index + GLenum pname + GLfloat *params + + + + + void glGetVertexAttribiv + GLuint index + GLenum pname + GLint *params + + + + void glGetVertexAttribivARB + GLuint index + GLenum pname + GLint *params + + + + + void glGetVertexAttribivNV + GLuint index + GLenum pname + GLint *params + + + + + void glGetVideoCaptureStreamdvNV + GLuint video_capture_slot + GLuint stream + GLenum pname + GLdouble *params + + + void glGetVideoCaptureStreamfvNV + GLuint video_capture_slot + GLuint stream + GLenum pname + GLfloat *params + + + void glGetVideoCaptureStreamivNV + GLuint video_capture_slot + GLuint stream + GLenum pname + GLint *params + + + void glGetVideoCaptureivNV + GLuint video_capture_slot + GLenum pname + GLint *params + + + void glGetVideoi64vNV + GLuint video_slot + GLenum pname + GLint64EXT *params + + + void glGetVideoivNV + GLuint video_slot + GLenum pname + GLint *params + + + void glGetVideoui64vNV + GLuint video_slot + GLenum pname + GLuint64EXT *params + + + void glGetVideouivNV + GLuint video_slot + GLenum pname + GLuint *params + + + void glGetnColorTable + GLenum target + GLenum format + GLenum type + GLsizei bufSize + void *table + + + void glGetnColorTableARB + GLenum target + GLenum format + GLenum type + GLsizei bufSize + void *table + + + void glGetnCompressedTexImage + GLenum target + GLint lod + GLsizei bufSize + void *pixels + + + void glGetnCompressedTexImageARB + GLenum target + GLint lod + GLsizei bufSize + void *img + + + void glGetnConvolutionFilter + GLenum target + GLenum format + GLenum type + GLsizei bufSize + void *image + + + void glGetnConvolutionFilterARB + GLenum target + GLenum format + GLenum type + GLsizei bufSize + void *image + + + void glGetnHistogram + GLenum target + GLboolean reset + GLenum format + GLenum type + GLsizei bufSize + void *values + + + void glGetnHistogramARB + GLenum target + GLboolean reset + GLenum format + GLenum type + GLsizei bufSize + void *values + + + void glGetnMapdv + GLenum target + GLenum query + GLsizei bufSize + GLdouble *v + + + void glGetnMapdvARB + GLenum target + GLenum query + GLsizei bufSize + GLdouble *v + + + void glGetnMapfv + GLenum target + GLenum query + GLsizei bufSize + GLfloat *v + + + void glGetnMapfvARB + GLenum target + GLenum query + GLsizei bufSize + GLfloat *v + + + void glGetnMapiv + GLenum target + GLenum query + GLsizei bufSize + GLint *v + + + void glGetnMapivARB + GLenum target + GLenum query + GLsizei bufSize + GLint *v + + + void glGetnMinmax + GLenum target + GLboolean reset + GLenum format + GLenum type + GLsizei bufSize + void *values + + + void glGetnMinmaxARB + GLenum target + GLboolean reset + GLenum format + GLenum type + GLsizei bufSize + void *values + + + void glGetnPixelMapfv + GLenum map + GLsizei bufSize + GLfloat *values + + + void glGetnPixelMapfvARB + GLenum map + GLsizei bufSize + GLfloat *values + + + void glGetnPixelMapuiv + GLenum map + GLsizei bufSize + GLuint *values + + + void glGetnPixelMapuivARB + GLenum map + GLsizei bufSize + GLuint *values + + + void glGetnPixelMapusv + GLenum map + GLsizei bufSize + GLushort *values + + + void glGetnPixelMapusvARB + GLenum map + GLsizei bufSize + GLushort *values + + + void glGetnPolygonStipple + GLsizei bufSize + GLubyte *pattern + + + void glGetnPolygonStippleARB + GLsizei bufSize + GLubyte *pattern + + + void glGetnSeparableFilter + GLenum target + GLenum format + GLenum type + GLsizei rowBufSize + void *row + GLsizei columnBufSize + void *column + void *span + + + void glGetnSeparableFilterARB + GLenum target + GLenum format + GLenum type + GLsizei rowBufSize + void *row + GLsizei columnBufSize + void *column + void *span + + + void glGetnTexImage + GLenum target + GLint level + GLenum format + GLenum type + GLsizei bufSize + void *pixels + + + void glGetnTexImageARB + GLenum target + GLint level + GLenum format + GLenum type + GLsizei bufSize + void *img + + + void glGetnUniformdv + GLuint program + GLint location + GLsizei bufSize + GLdouble *params + + + void glGetnUniformdvARB + GLuint program + GLint location + GLsizei bufSize + GLdouble *params + + + void glGetnUniformfv + GLuint program + GLint location + GLsizei bufSize + GLfloat *params + + + void glGetnUniformfvARB + GLuint program + GLint location + GLsizei bufSize + GLfloat *params + + + void glGetnUniformfvEXT + GLuint program + GLint location + GLsizei bufSize + GLfloat *params + + + + void glGetnUniformfvKHR + GLuint program + GLint location + GLsizei bufSize + GLfloat *params + + + + void glGetnUniformi64vARB + GLuint program + GLint location + GLsizei bufSize + GLint64 *params + + + void glGetnUniformiv + GLuint program + GLint location + GLsizei bufSize + GLint *params + + + void glGetnUniformivARB + GLuint program + GLint location + GLsizei bufSize + GLint *params + + + void glGetnUniformivEXT + GLuint program + GLint location + GLsizei bufSize + GLint *params + + + + void glGetnUniformivKHR + GLuint program + GLint location + GLsizei bufSize + GLint *params + + + + void glGetnUniformui64vARB + GLuint program + GLint location + GLsizei bufSize + GLuint64 *params + + + void glGetnUniformuiv + GLuint program + GLint location + GLsizei bufSize + GLuint *params + + + void glGetnUniformuivARB + GLuint program + GLint location + GLsizei bufSize + GLuint *params + + + void glGetnUniformuivKHR + GLuint program + GLint location + GLsizei bufSize + GLuint *params + + + + void glGlobalAlphaFactorbSUN + GLbyte factor + + + void glGlobalAlphaFactordSUN + GLdouble factor + + + void glGlobalAlphaFactorfSUN + GLfloat factor + + + void glGlobalAlphaFactoriSUN + GLint factor + + + void glGlobalAlphaFactorsSUN + GLshort factor + + + void glGlobalAlphaFactorubSUN + GLubyte factor + + + void glGlobalAlphaFactoruiSUN + GLuint factor + + + void glGlobalAlphaFactorusSUN + GLushort factor + + + void glHint + GLenum target + GLenum mode + + + + void glHintPGI + GLenum target + GLint mode + + + void glHistogram + GLenum target + GLsizei width + GLenum internalformat + GLboolean sink + + + + void glHistogramEXT + GLenum target + GLsizei width + GLenum internalformat + GLboolean sink + + + + + void glIglooInterfaceSGIX + GLenum pname + const void *params + + + + void glImageTransformParameterfHP + GLenum target + GLenum pname + GLfloat param + + + void glImageTransformParameterfvHP + GLenum target + GLenum pname + const GLfloat *params + + + void glImageTransformParameteriHP + GLenum target + GLenum pname + GLint param + + + void glImageTransformParameterivHP + GLenum target + GLenum pname + const GLint *params + + + void glImportMemoryFdEXT + GLuint memory + GLuint64 size + GLenum handleType + GLint fd + + + void glImportMemoryWin32HandleEXT + GLuint memory + GLuint64 size + GLenum handleType + void *handle + + + void glImportMemoryWin32NameEXT + GLuint memory + GLuint64 size + GLenum handleType + const void *name + + + void glImportSemaphoreFdEXT + GLuint semaphore + GLenum handleType + GLint fd + + + void glImportSemaphoreWin32HandleEXT + GLuint semaphore + GLenum handleType + void *handle + + + void glImportSemaphoreWin32NameEXT + GLuint semaphore + GLenum handleType + const void *name + + + GLsync glImportSyncEXT + GLenum external_sync_type + GLintptr external_sync + GLbitfield flags + + + void glIndexFormatNV + GLenum type + GLsizei stride + + + void glIndexFuncEXT + GLenum func + GLclampf ref + + + void glIndexMask + GLuint mask + + + + void glIndexMaterialEXT + GLenum face + GLenum mode + + + void glIndexPointer + GLenum type + GLsizei stride + const void *pointer + + + void glIndexPointerEXT + GLenum type + GLsizei stride + GLsizei count + const void *pointer + + + void glIndexPointerListIBM + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glIndexd + GLdouble c + + + + void glIndexdv + const GLdouble *c + + + + void glIndexf + GLfloat c + + + + void glIndexfv + const GLfloat *c + + + + void glIndexi + GLint c + + + + void glIndexiv + const GLint *c + + + + void glIndexs + GLshort c + + + + void glIndexsv + const GLshort *c + + + + void glIndexub + GLubyte c + + + + void glIndexubv + const GLubyte *c + + + + void glIndexxOES + GLfixed component + + + void glIndexxvOES + const GLfixed *component + + + void glInitNames + + + + void glInsertComponentEXT + GLuint res + GLuint src + GLuint num + + + void glInsertEventMarkerEXT + GLsizei length + const GLchar *marker + + + void glInstrumentsBufferSGIX + GLsizei size + GLint *buffer + + + + void glInterleavedArrays + GLenum format + GLsizei stride + const void *pointer + + + void glInterpolatePathsNV + GLuint resultPath + GLuint pathA + GLuint pathB + GLfloat weight + + + void glInvalidateBufferData + GLuint buffer + + + void glInvalidateBufferSubData + GLuint buffer + GLintptr offset + GLsizeiptr length + + + void glInvalidateFramebuffer + GLenum target + GLsizei numAttachments + const GLenum *attachments + + + void glInvalidateNamedFramebufferData + GLuint framebuffer + GLsizei numAttachments + const GLenum *attachments + + + void glInvalidateNamedFramebufferSubData + GLuint framebuffer + GLsizei numAttachments + const GLenum *attachments + GLint x + GLint y + GLsizei width + GLsizei height + + + void glInvalidateSubFramebuffer + GLenum target + GLsizei numAttachments + const GLenum *attachments + GLint x + GLint y + GLsizei width + GLsizei height + + + void glInvalidateTexImage + GLuint texture + GLint level + + + void glInvalidateTexSubImage + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + + + GLboolean glIsAsyncMarkerSGIX + GLuint marker + + + GLboolean glIsBuffer + GLuint buffer + + + GLboolean glIsBufferARB + GLuint buffer + + + + GLboolean glIsBufferResidentNV + GLenum target + + + GLboolean glIsCommandListNV + GLuint list + + + GLboolean glIsEnabled + GLenum cap + + + + GLboolean glIsEnabledIndexedEXT + GLenum target + GLuint index + + + + + GLboolean glIsEnabledi + GLenum target + GLuint index + + + GLboolean glIsEnablediEXT + GLenum target + GLuint index + + + + GLboolean glIsEnablediNV + GLenum target + GLuint index + + + + GLboolean glIsEnablediOES + GLenum target + GLuint index + + + + GLboolean glIsFenceAPPLE + GLuint fence + + + GLboolean glIsFenceNV + GLuint fence + + + + GLboolean glIsFramebuffer + GLuint framebuffer + + + + GLboolean glIsFramebufferEXT + GLuint framebuffer + + + + + GLboolean glIsFramebufferOES + GLuint framebuffer + + + GLboolean glIsImageHandleResidentARB + GLuint64 handle + + + GLboolean glIsImageHandleResidentNV + GLuint64 handle + + + GLboolean glIsList + GLuint list + + + + GLboolean glIsMemoryObjectEXT + GLuint memoryObject + + + GLboolean glIsNameAMD + GLenum identifier + GLuint name + + + GLboolean glIsNamedBufferResidentNV + GLuint buffer + + + GLboolean glIsNamedStringARB + GLint namelen + const GLchar *name + + + GLboolean glIsObjectBufferATI + GLuint buffer + + + GLboolean glIsOcclusionQueryNV + GLuint id + + + GLboolean glIsPathNV + GLuint path + + + GLboolean glIsPointInFillPathNV + GLuint path + GLuint mask + GLfloat x + GLfloat y + + + GLboolean glIsPointInStrokePathNV + GLuint path + GLfloat x + GLfloat y + + + GLboolean glIsProgram + GLuint program + + + + GLboolean glIsProgramARB + GLuint program + + + + GLboolean glIsProgramNV + GLuint id + + + + + GLboolean glIsProgramPipeline + GLuint pipeline + + + GLboolean glIsProgramPipelineEXT + GLuint pipeline + + + GLboolean glIsQuery + GLuint id + + + + GLboolean glIsQueryARB + GLuint id + + + + GLboolean glIsQueryEXT + GLuint id + + + GLboolean glIsRenderbuffer + GLuint renderbuffer + + + + GLboolean glIsRenderbufferEXT + GLuint renderbuffer + + + + + GLboolean glIsRenderbufferOES + GLuint renderbuffer + + + GLboolean glIsSemaphoreEXT + GLuint semaphore + + + GLboolean glIsSampler + GLuint sampler + + + GLboolean glIsShader + GLuint shader + + + + GLboolean glIsStateNV + GLuint state + + + GLboolean glIsSync + GLsync sync + + + GLboolean glIsSyncAPPLE + GLsync sync + + + + GLboolean glIsTexture + GLuint texture + + + + GLboolean glIsTextureEXT + GLuint texture + + + + GLboolean glIsTextureHandleResidentARB + GLuint64 handle + + + GLboolean glIsTextureHandleResidentNV + GLuint64 handle + + + GLboolean glIsTransformFeedback + GLuint id + + + GLboolean glIsTransformFeedbackNV + GLuint id + + + + GLboolean glIsVariantEnabledEXT + GLuint id + GLenum cap + + + GLboolean glIsVertexArray + GLuint array + + + + GLboolean glIsVertexArrayAPPLE + GLuint array + + + + GLboolean glIsVertexArrayOES + GLuint array + + + + GLboolean glIsVertexAttribEnabledAPPLE + GLuint index + GLenum pname + + + void glLGPUCopyImageSubDataNVX + GLuint sourceGpu + GLbitfield destinationGpuMask + GLuint srcName + GLenum srcTarget + GLint srcLevel + GLint srcX + GLint srxY + GLint srcZ + GLuint dstName + GLenum dstTarget + GLint dstLevel + GLint dstX + GLint dstY + GLint dstZ + GLsizei width + GLsizei height + GLsizei depth + + + void glLGPUInterlockNVX + + + void glLGPUNamedBufferSubDataNVX + GLbitfield gpuMask + GLuint buffer + GLintptr offset + GLsizeiptr size + const void *data + + + void glLabelObjectEXT + GLenum type + GLuint object + GLsizei length + const GLchar *label + + + void glLightEnviSGIX + GLenum pname + GLint param + + + void glLightModelf + GLenum pname + GLfloat param + + + + void glLightModelfv + GLenum pname + const GLfloat *params + + + + void glLightModeli + GLenum pname + GLint param + + + + void glLightModeliv + GLenum pname + const GLint *params + + + + void glLightModelx + GLenum pname + GLfixed param + + + void glLightModelxOES + GLenum pname + GLfixed param + + + void glLightModelxv + GLenum pname + const GLfixed *param + + + void glLightModelxvOES + GLenum pname + const GLfixed *param + + + void glLightf + GLenum light + GLenum pname + GLfloat param + + + + void glLightfv + GLenum light + GLenum pname + const GLfloat *params + + + + void glLighti + GLenum light + GLenum pname + GLint param + + + + void glLightiv + GLenum light + GLenum pname + const GLint *params + + + + void glLightx + GLenum light + GLenum pname + GLfixed param + + + void glLightxOES + GLenum light + GLenum pname + GLfixed param + + + void glLightxv + GLenum light + GLenum pname + const GLfixed *params + + + void glLightxvOES + GLenum light + GLenum pname + const GLfixed *params + + + void glLineStipple + GLint factor + GLushort pattern + + + + void glLineWidth + GLfloat width + + + + void glLineWidthx + GLfixed width + + + void glLineWidthxOES + GLfixed width + + + void glLinkProgram + GLuint program + + + void glLinkProgramARB + GLhandleARB programObj + + + + void glListBase + GLuint base + + + + void glListDrawCommandsStatesClientNV + GLuint list + GLuint segment + const void **indirects + const GLsizei *sizes + const GLuint *states + const GLuint *fbos + GLuint count + + + void glListParameterfSGIX + GLuint list + GLenum pname + GLfloat param + + + + void glListParameterfvSGIX + GLuint list + GLenum pname + const GLfloat *params + + + + void glListParameteriSGIX + GLuint list + GLenum pname + GLint param + + + + void glListParameterivSGIX + GLuint list + GLenum pname + const GLint *params + + + + void glLoadIdentity + + + + void glLoadIdentityDeformationMapSGIX + GLbitfield mask + + + + void glLoadMatrixd + const GLdouble *m + + + + void glLoadMatrixf + const GLfloat *m + + + + void glLoadMatrixx + const GLfixed *m + + + void glLoadMatrixxOES + const GLfixed *m + + + void glLoadName + GLuint name + + + + void glLoadPaletteFromModelViewMatrixOES + + + void glLoadProgramNV + GLenum target + GLuint id + GLsizei len + const GLubyte *program + + + + void glLoadTransposeMatrixd + const GLdouble *m + + + void glLoadTransposeMatrixdARB + const GLdouble *m + + + + void glLoadTransposeMatrixf + const GLfloat *m + + + void glLoadTransposeMatrixfARB + const GLfloat *m + + + + void glLoadTransposeMatrixxOES + const GLfixed *m + + + void glLockArraysEXT + GLint first + GLsizei count + + + void glLogicOp + GLenum opcode + + + + void glMakeBufferNonResidentNV + GLenum target + + + void glMakeBufferResidentNV + GLenum target + GLenum access + + + void glMakeImageHandleNonResidentARB + GLuint64 handle + + + void glMakeImageHandleNonResidentNV + GLuint64 handle + + + void glMakeImageHandleResidentARB + GLuint64 handle + GLenum access + + + void glMakeImageHandleResidentNV + GLuint64 handle + GLenum access + + + void glMakeNamedBufferNonResidentNV + GLuint buffer + + + void glMakeNamedBufferResidentNV + GLuint buffer + GLenum access + + + void glMakeTextureHandleNonResidentARB + GLuint64 handle + + + void glMakeTextureHandleNonResidentNV + GLuint64 handle + + + void glMakeTextureHandleResidentARB + GLuint64 handle + + + void glMakeTextureHandleResidentNV + GLuint64 handle + + + void glMap1d + GLenum target + GLdouble u1 + GLdouble u2 + GLint stride + GLint order + const GLdouble *points + + + + void glMap1f + GLenum target + GLfloat u1 + GLfloat u2 + GLint stride + GLint order + const GLfloat *points + + + + void glMap1xOES + GLenum target + GLfixed u1 + GLfixed u2 + GLint stride + GLint order + GLfixed points + + + void glMap2d + GLenum target + GLdouble u1 + GLdouble u2 + GLint ustride + GLint uorder + GLdouble v1 + GLdouble v2 + GLint vstride + GLint vorder + const GLdouble *points + + + + void glMap2f + GLenum target + GLfloat u1 + GLfloat u2 + GLint ustride + GLint uorder + GLfloat v1 + GLfloat v2 + GLint vstride + GLint vorder + const GLfloat *points + + + + void glMap2xOES + GLenum target + GLfixed u1 + GLfixed u2 + GLint ustride + GLint uorder + GLfixed v1 + GLfixed v2 + GLint vstride + GLint vorder + GLfixed points + + + void *glMapBuffer + GLenum target + GLenum access + + + void *glMapBufferARB + GLenum target + GLenum access + + + + void *glMapBufferOES + GLenum target + GLenum access + + + + void *glMapBufferRange + GLenum target + GLintptr offset + GLsizeiptr length + GLbitfield access + + + + void *glMapBufferRangeEXT + GLenum target + GLintptr offset + GLsizeiptr length + GLbitfield access + + + + void glMapControlPointsNV + GLenum target + GLuint index + GLenum type + GLsizei ustride + GLsizei vstride + GLint uorder + GLint vorder + GLboolean packed + const void *points + + + void glMapGrid1d + GLint un + GLdouble u1 + GLdouble u2 + + + + void glMapGrid1f + GLint un + GLfloat u1 + GLfloat u2 + + + + void glMapGrid1xOES + GLint n + GLfixed u1 + GLfixed u2 + + + void glMapGrid2d + GLint un + GLdouble u1 + GLdouble u2 + GLint vn + GLdouble v1 + GLdouble v2 + + + + void glMapGrid2f + GLint un + GLfloat u1 + GLfloat u2 + GLint vn + GLfloat v1 + GLfloat v2 + + + + void glMapGrid2xOES + GLint n + GLfixed u1 + GLfixed u2 + GLfixed v1 + GLfixed v2 + + + void *glMapNamedBuffer + GLuint buffer + GLenum access + + + void *glMapNamedBufferEXT + GLuint buffer + GLenum access + + + void *glMapNamedBufferRange + GLuint buffer + GLintptr offset + GLsizeiptr length + GLbitfield access + + + void *glMapNamedBufferRangeEXT + GLuint buffer + GLintptr offset + GLsizeiptr length + GLbitfield access + + + void *glMapObjectBufferATI + GLuint buffer + + + void glMapParameterfvNV + GLenum target + GLenum pname + const GLfloat *params + + + void glMapParameterivNV + GLenum target + GLenum pname + const GLint *params + + + void *glMapTexture2DINTEL + GLuint texture + GLint level + GLbitfield access + GLint *stride + GLenum *layout + + + void glMapVertexAttrib1dAPPLE + GLuint index + GLuint size + GLdouble u1 + GLdouble u2 + GLint stride + GLint order + const GLdouble *points + + + void glMapVertexAttrib1fAPPLE + GLuint index + GLuint size + GLfloat u1 + GLfloat u2 + GLint stride + GLint order + const GLfloat *points + + + void glMapVertexAttrib2dAPPLE + GLuint index + GLuint size + GLdouble u1 + GLdouble u2 + GLint ustride + GLint uorder + GLdouble v1 + GLdouble v2 + GLint vstride + GLint vorder + const GLdouble *points + + + void glMapVertexAttrib2fAPPLE + GLuint index + GLuint size + GLfloat u1 + GLfloat u2 + GLint ustride + GLint uorder + GLfloat v1 + GLfloat v2 + GLint vstride + GLint vorder + const GLfloat *points + + + void glMaterialf + GLenum face + GLenum pname + GLfloat param + + + + void glMaterialfv + GLenum face + GLenum pname + const GLfloat *params + + + + void glMateriali + GLenum face + GLenum pname + GLint param + + + + void glMaterialiv + GLenum face + GLenum pname + const GLint *params + + + + void glMaterialx + GLenum face + GLenum pname + GLfixed param + + + void glMaterialxOES + GLenum face + GLenum pname + GLfixed param + + + void glMaterialxv + GLenum face + GLenum pname + const GLfixed *param + + + void glMaterialxvOES + GLenum face + GLenum pname + const GLfixed *param + + + void glMatrixFrustumEXT + GLenum mode + GLdouble left + GLdouble right + GLdouble bottom + GLdouble top + GLdouble zNear + GLdouble zFar + + + void glMatrixIndexPointerARB + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glMatrixIndexPointerOES + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glMatrixIndexubvARB + GLint size + const GLubyte *indices + + + + void glMatrixIndexuivARB + GLint size + const GLuint *indices + + + + void glMatrixIndexusvARB + GLint size + const GLushort *indices + + + + void glMatrixLoad3x2fNV + GLenum matrixMode + const GLfloat *m + + + void glMatrixLoad3x3fNV + GLenum matrixMode + const GLfloat *m + + + void glMatrixLoadIdentityEXT + GLenum mode + + + void glMatrixLoadTranspose3x3fNV + GLenum matrixMode + const GLfloat *m + + + void glMatrixLoadTransposedEXT + GLenum mode + const GLdouble *m + + + void glMatrixLoadTransposefEXT + GLenum mode + const GLfloat *m + + + void glMatrixLoaddEXT + GLenum mode + const GLdouble *m + + + void glMatrixLoadfEXT + GLenum mode + const GLfloat *m + + + void glMatrixMode + GLenum mode + + + + void glMatrixMult3x2fNV + GLenum matrixMode + const GLfloat *m + + + void glMatrixMult3x3fNV + GLenum matrixMode + const GLfloat *m + + + void glMatrixMultTranspose3x3fNV + GLenum matrixMode + const GLfloat *m + + + void glMatrixMultTransposedEXT + GLenum mode + const GLdouble *m + + + void glMatrixMultTransposefEXT + GLenum mode + const GLfloat *m + + + void glMatrixMultdEXT + GLenum mode + const GLdouble *m + + + void glMatrixMultfEXT + GLenum mode + const GLfloat *m + + + void glMatrixOrthoEXT + GLenum mode + GLdouble left + GLdouble right + GLdouble bottom + GLdouble top + GLdouble zNear + GLdouble zFar + + + void glMatrixPopEXT + GLenum mode + + + void glMatrixPushEXT + GLenum mode + + + void glMatrixRotatedEXT + GLenum mode + GLdouble angle + GLdouble x + GLdouble y + GLdouble z + + + void glMatrixRotatefEXT + GLenum mode + GLfloat angle + GLfloat x + GLfloat y + GLfloat z + + + void glMatrixScaledEXT + GLenum mode + GLdouble x + GLdouble y + GLdouble z + + + void glMatrixScalefEXT + GLenum mode + GLfloat x + GLfloat y + GLfloat z + + + void glMatrixTranslatedEXT + GLenum mode + GLdouble x + GLdouble y + GLdouble z + + + void glMatrixTranslatefEXT + GLenum mode + GLfloat x + GLfloat y + GLfloat z + + + void glMaxShaderCompilerThreadsKHR + GLuint count + + + void glMaxShaderCompilerThreadsARB + GLuint count + + + + void glMemoryBarrier + GLbitfield barriers + + + void glMemoryBarrierByRegion + GLbitfield barriers + + + void glMemoryBarrierEXT + GLbitfield barriers + + + + void glMemoryObjectParameterivEXT + GLuint memoryObject + GLenum pname + const GLint *params + + + void glMinSampleShading + GLfloat value + + + void glMinSampleShadingARB + GLfloat value + + + + void glMinSampleShadingOES + GLfloat value + + + + void glMinmax + GLenum target + GLenum internalformat + GLboolean sink + + + + void glMinmaxEXT + GLenum target + GLenum internalformat + GLboolean sink + + + + + void glMultMatrixd + const GLdouble *m + + + + void glMultMatrixf + const GLfloat *m + + + + void glMultMatrixx + const GLfixed *m + + + void glMultMatrixxOES + const GLfixed *m + + + void glMultTransposeMatrixd + const GLdouble *m + + + void glMultTransposeMatrixdARB + const GLdouble *m + + + + void glMultTransposeMatrixf + const GLfloat *m + + + void glMultTransposeMatrixfARB + const GLfloat *m + + + + void glMultTransposeMatrixxOES + const GLfixed *m + + + void glMultiDrawArrays + GLenum mode + const GLint *first + const GLsizei *count + GLsizei drawcount + + + void glMultiDrawArraysEXT + GLenum mode + const GLint *first + const GLsizei *count + GLsizei primcount + + + + void glMultiDrawArraysIndirect + GLenum mode + const void *indirect + GLsizei drawcount + GLsizei stride + + + void glMultiDrawArraysIndirectAMD + GLenum mode + const void *indirect + GLsizei primcount + GLsizei stride + + + + void glMultiDrawArraysIndirectBindlessCountNV + GLenum mode + const void *indirect + GLsizei drawCount + GLsizei maxDrawCount + GLsizei stride + GLint vertexBufferCount + + + void glMultiDrawArraysIndirectBindlessNV + GLenum mode + const void *indirect + GLsizei drawCount + GLsizei stride + GLint vertexBufferCount + + + void glMultiDrawArraysIndirectCount + GLenum mode + const void *indirect + GLintptr drawcount + GLsizei maxdrawcount + GLsizei stride + + + void glMultiDrawArraysIndirectCountARB + GLenum mode + const void *indirect + GLintptr drawcount + GLsizei maxdrawcount + GLsizei stride + + + + void glMultiDrawArraysIndirectEXT + GLenum mode + const void *indirect + GLsizei drawcount + GLsizei stride + + + + void glMultiDrawElementArrayAPPLE + GLenum mode + const GLint *first + const GLsizei *count + GLsizei primcount + + + void glMultiDrawElements + GLenum mode + const GLsizei *count + GLenum type + const void *const*indices + GLsizei drawcount + + + void glMultiDrawElementsBaseVertex + GLenum mode + const GLsizei *count + GLenum type + const void *const*indices + GLsizei drawcount + const GLint *basevertex + + + void glMultiDrawElementsBaseVertexEXT + GLenum mode + const GLsizei *count + GLenum type + const void *const*indices + GLsizei primcount + const GLint *basevertex + + + + void glMultiDrawElementsEXT + GLenum mode + const GLsizei *count + GLenum type + const void *const*indices + GLsizei primcount + + + + void glMultiDrawElementsIndirect + GLenum mode + GLenum type + const void *indirect + GLsizei drawcount + GLsizei stride + + + void glMultiDrawElementsIndirectAMD + GLenum mode + GLenum type + const void *indirect + GLsizei primcount + GLsizei stride + + + + void glMultiDrawElementsIndirectBindlessCountNV + GLenum mode + GLenum type + const void *indirect + GLsizei drawCount + GLsizei maxDrawCount + GLsizei stride + GLint vertexBufferCount + + + void glMultiDrawElementsIndirectBindlessNV + GLenum mode + GLenum type + const void *indirect + GLsizei drawCount + GLsizei stride + GLint vertexBufferCount + + + void glMultiDrawElementsIndirectCount + GLenum mode + GLenum type + const void *indirect + GLintptr drawcount + GLsizei maxdrawcount + GLsizei stride + + + void glMultiDrawElementsIndirectCountARB + GLenum mode + GLenum type + const void *indirect + GLintptr drawcount + GLsizei maxdrawcount + GLsizei stride + + + + void glMultiDrawElementsIndirectEXT + GLenum mode + GLenum type + const void *indirect + GLsizei drawcount + GLsizei stride + + + + void glMultiDrawRangeElementArrayAPPLE + GLenum mode + GLuint start + GLuint end + const GLint *first + const GLsizei *count + GLsizei primcount + + + void glMultiModeDrawArraysIBM + const GLenum *mode + const GLint *first + const GLsizei *count + GLsizei primcount + GLint modestride + + + void glMultiModeDrawElementsIBM + const GLenum *mode + const GLsizei *count + GLenum type + const void *const*indices + GLsizei primcount + GLint modestride + + + void glMultiTexBufferEXT + GLenum texunit + GLenum target + GLenum internalformat + GLuint buffer + + + void glMultiTexCoord1bOES + GLenum texture + GLbyte s + + + void glMultiTexCoord1bvOES + GLenum texture + const GLbyte *coords + + + void glMultiTexCoord1d + GLenum target + GLdouble s + + + + void glMultiTexCoord1dARB + GLenum target + GLdouble s + + + + + void glMultiTexCoord1dv + GLenum target + const GLdouble *v + + + + void glMultiTexCoord1dvARB + GLenum target + const GLdouble *v + + + + + void glMultiTexCoord1f + GLenum target + GLfloat s + + + + void glMultiTexCoord1fARB + GLenum target + GLfloat s + + + + + void glMultiTexCoord1fv + GLenum target + const GLfloat *v + + + + void glMultiTexCoord1fvARB + GLenum target + const GLfloat *v + + + + + void glMultiTexCoord1hNV + GLenum target + GLhalfNV s + + + + void glMultiTexCoord1hvNV + GLenum target + const GLhalfNV *v + + + + void glMultiTexCoord1i + GLenum target + GLint s + + + + void glMultiTexCoord1iARB + GLenum target + GLint s + + + + + void glMultiTexCoord1iv + GLenum target + const GLint *v + + + + void glMultiTexCoord1ivARB + GLenum target + const GLint *v + + + + + void glMultiTexCoord1s + GLenum target + GLshort s + + + + void glMultiTexCoord1sARB + GLenum target + GLshort s + + + + + void glMultiTexCoord1sv + GLenum target + const GLshort *v + + + + void glMultiTexCoord1svARB + GLenum target + const GLshort *v + + + + + void glMultiTexCoord1xOES + GLenum texture + GLfixed s + + + void glMultiTexCoord1xvOES + GLenum texture + const GLfixed *coords + + + void glMultiTexCoord2bOES + GLenum texture + GLbyte s + GLbyte t + + + void glMultiTexCoord2bvOES + GLenum texture + const GLbyte *coords + + + void glMultiTexCoord2d + GLenum target + GLdouble s + GLdouble t + + + + void glMultiTexCoord2dARB + GLenum target + GLdouble s + GLdouble t + + + + + void glMultiTexCoord2dv + GLenum target + const GLdouble *v + + + + void glMultiTexCoord2dvARB + GLenum target + const GLdouble *v + + + + + void glMultiTexCoord2f + GLenum target + GLfloat s + GLfloat t + + + + void glMultiTexCoord2fARB + GLenum target + GLfloat s + GLfloat t + + + + + void glMultiTexCoord2fv + GLenum target + const GLfloat *v + + + + void glMultiTexCoord2fvARB + GLenum target + const GLfloat *v + + + + + void glMultiTexCoord2hNV + GLenum target + GLhalfNV s + GLhalfNV t + + + + void glMultiTexCoord2hvNV + GLenum target + const GLhalfNV *v + + + + void glMultiTexCoord2i + GLenum target + GLint s + GLint t + + + + void glMultiTexCoord2iARB + GLenum target + GLint s + GLint t + + + + + void glMultiTexCoord2iv + GLenum target + const GLint *v + + + + void glMultiTexCoord2ivARB + GLenum target + const GLint *v + + + + + void glMultiTexCoord2s + GLenum target + GLshort s + GLshort t + + + + void glMultiTexCoord2sARB + GLenum target + GLshort s + GLshort t + + + + + void glMultiTexCoord2sv + GLenum target + const GLshort *v + + + + void glMultiTexCoord2svARB + GLenum target + const GLshort *v + + + + + void glMultiTexCoord2xOES + GLenum texture + GLfixed s + GLfixed t + + + void glMultiTexCoord2xvOES + GLenum texture + const GLfixed *coords + + + void glMultiTexCoord3bOES + GLenum texture + GLbyte s + GLbyte t + GLbyte r + + + void glMultiTexCoord3bvOES + GLenum texture + const GLbyte *coords + + + void glMultiTexCoord3d + GLenum target + GLdouble s + GLdouble t + GLdouble r + + + + void glMultiTexCoord3dARB + GLenum target + GLdouble s + GLdouble t + GLdouble r + + + + + void glMultiTexCoord3dv + GLenum target + const GLdouble *v + + + + void glMultiTexCoord3dvARB + GLenum target + const GLdouble *v + + + + + void glMultiTexCoord3f + GLenum target + GLfloat s + GLfloat t + GLfloat r + + + + void glMultiTexCoord3fARB + GLenum target + GLfloat s + GLfloat t + GLfloat r + + + + + void glMultiTexCoord3fv + GLenum target + const GLfloat *v + + + + void glMultiTexCoord3fvARB + GLenum target + const GLfloat *v + + + + + void glMultiTexCoord3hNV + GLenum target + GLhalfNV s + GLhalfNV t + GLhalfNV r + + + + void glMultiTexCoord3hvNV + GLenum target + const GLhalfNV *v + + + + void glMultiTexCoord3i + GLenum target + GLint s + GLint t + GLint r + + + + void glMultiTexCoord3iARB + GLenum target + GLint s + GLint t + GLint r + + + + + void glMultiTexCoord3iv + GLenum target + const GLint *v + + + + void glMultiTexCoord3ivARB + GLenum target + const GLint *v + + + + + void glMultiTexCoord3s + GLenum target + GLshort s + GLshort t + GLshort r + + + + void glMultiTexCoord3sARB + GLenum target + GLshort s + GLshort t + GLshort r + + + + + void glMultiTexCoord3sv + GLenum target + const GLshort *v + + + + void glMultiTexCoord3svARB + GLenum target + const GLshort *v + + + + + void glMultiTexCoord3xOES + GLenum texture + GLfixed s + GLfixed t + GLfixed r + + + void glMultiTexCoord3xvOES + GLenum texture + const GLfixed *coords + + + void glMultiTexCoord4bOES + GLenum texture + GLbyte s + GLbyte t + GLbyte r + GLbyte q + + + void glMultiTexCoord4bvOES + GLenum texture + const GLbyte *coords + + + void glMultiTexCoord4d + GLenum target + GLdouble s + GLdouble t + GLdouble r + GLdouble q + + + + void glMultiTexCoord4dARB + GLenum target + GLdouble s + GLdouble t + GLdouble r + GLdouble q + + + + + void glMultiTexCoord4dv + GLenum target + const GLdouble *v + + + + void glMultiTexCoord4dvARB + GLenum target + const GLdouble *v + + + + + void glMultiTexCoord4f + GLenum target + GLfloat s + GLfloat t + GLfloat r + GLfloat q + + + + void glMultiTexCoord4fARB + GLenum target + GLfloat s + GLfloat t + GLfloat r + GLfloat q + + + + + void glMultiTexCoord4fv + GLenum target + const GLfloat *v + + + + void glMultiTexCoord4fvARB + GLenum target + const GLfloat *v + + + + + void glMultiTexCoord4hNV + GLenum target + GLhalfNV s + GLhalfNV t + GLhalfNV r + GLhalfNV q + + + + void glMultiTexCoord4hvNV + GLenum target + const GLhalfNV *v + + + + void glMultiTexCoord4i + GLenum target + GLint s + GLint t + GLint r + GLint q + + + + void glMultiTexCoord4iARB + GLenum target + GLint s + GLint t + GLint r + GLint q + + + + + void glMultiTexCoord4iv + GLenum target + const GLint *v + + + + void glMultiTexCoord4ivARB + GLenum target + const GLint *v + + + + + void glMultiTexCoord4s + GLenum target + GLshort s + GLshort t + GLshort r + GLshort q + + + + void glMultiTexCoord4sARB + GLenum target + GLshort s + GLshort t + GLshort r + GLshort q + + + + + void glMultiTexCoord4sv + GLenum target + const GLshort *v + + + + void glMultiTexCoord4svARB + GLenum target + const GLshort *v + + + + + void glMultiTexCoord4x + GLenum texture + GLfixed s + GLfixed t + GLfixed r + GLfixed q + + + void glMultiTexCoord4xOES + GLenum texture + GLfixed s + GLfixed t + GLfixed r + GLfixed q + + + void glMultiTexCoord4xvOES + GLenum texture + const GLfixed *coords + + + void glMultiTexCoordP1ui + GLenum texture + GLenum type + GLuint coords + + + void glMultiTexCoordP1uiv + GLenum texture + GLenum type + const GLuint *coords + + + void glMultiTexCoordP2ui + GLenum texture + GLenum type + GLuint coords + + + void glMultiTexCoordP2uiv + GLenum texture + GLenum type + const GLuint *coords + + + void glMultiTexCoordP3ui + GLenum texture + GLenum type + GLuint coords + + + void glMultiTexCoordP3uiv + GLenum texture + GLenum type + const GLuint *coords + + + void glMultiTexCoordP4ui + GLenum texture + GLenum type + GLuint coords + + + void glMultiTexCoordP4uiv + GLenum texture + GLenum type + const GLuint *coords + + + void glMultiTexCoordPointerEXT + GLenum texunit + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glMultiTexEnvfEXT + GLenum texunit + GLenum target + GLenum pname + GLfloat param + + + + void glMultiTexEnvfvEXT + GLenum texunit + GLenum target + GLenum pname + const GLfloat *params + + + void glMultiTexEnviEXT + GLenum texunit + GLenum target + GLenum pname + GLint param + + + + void glMultiTexEnvivEXT + GLenum texunit + GLenum target + GLenum pname + const GLint *params + + + void glMultiTexGendEXT + GLenum texunit + GLenum coord + GLenum pname + GLdouble param + + + + void glMultiTexGendvEXT + GLenum texunit + GLenum coord + GLenum pname + const GLdouble *params + + + void glMultiTexGenfEXT + GLenum texunit + GLenum coord + GLenum pname + GLfloat param + + + + void glMultiTexGenfvEXT + GLenum texunit + GLenum coord + GLenum pname + const GLfloat *params + + + void glMultiTexGeniEXT + GLenum texunit + GLenum coord + GLenum pname + GLint param + + + + void glMultiTexGenivEXT + GLenum texunit + GLenum coord + GLenum pname + const GLint *params + + + void glMultiTexImage1DEXT + GLenum texunit + GLenum target + GLint level + GLint internalformat + GLsizei width + GLint border + GLenum format + GLenum type + const void *pixels + + + void glMultiTexImage2DEXT + GLenum texunit + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const void *pixels + + + void glMultiTexImage3DEXT + GLenum texunit + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const void *pixels + + + void glMultiTexParameterIivEXT + GLenum texunit + GLenum target + GLenum pname + const GLint *params + + + void glMultiTexParameterIuivEXT + GLenum texunit + GLenum target + GLenum pname + const GLuint *params + + + void glMultiTexParameterfEXT + GLenum texunit + GLenum target + GLenum pname + GLfloat param + + + + void glMultiTexParameterfvEXT + GLenum texunit + GLenum target + GLenum pname + const GLfloat *params + + + void glMultiTexParameteriEXT + GLenum texunit + GLenum target + GLenum pname + GLint param + + + + void glMultiTexParameterivEXT + GLenum texunit + GLenum target + GLenum pname + const GLint *params + + + void glMultiTexRenderbufferEXT + GLenum texunit + GLenum target + GLuint renderbuffer + + + void glMultiTexSubImage1DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLenum type + const void *pixels + + + void glMultiTexSubImage2DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *pixels + + + void glMultiTexSubImage3DEXT + GLenum texunit + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *pixels + + + void glMulticastBarrierNV + + + void glMulticastBlitFramebufferNV + GLuint srcGpu + GLuint dstGpu + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + void glMulticastBufferSubDataNV + GLbitfield gpuMask + GLuint buffer + GLintptr offset + GLsizeiptr size + const void *data + + + void glMulticastCopyBufferSubDataNV + GLuint readGpu + GLbitfield writeGpuMask + GLuint readBuffer + GLuint writeBuffer + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size + + + void glMulticastCopyImageSubDataNV + GLuint srcGpu + GLbitfield dstGpuMask + GLuint srcName + GLenum srcTarget + GLint srcLevel + GLint srcX + GLint srcY + GLint srcZ + GLuint dstName + GLenum dstTarget + GLint dstLevel + GLint dstX + GLint dstY + GLint dstZ + GLsizei srcWidth + GLsizei srcHeight + GLsizei srcDepth + + + void glMulticastFramebufferSampleLocationsfvNV + GLuint gpu + GLuint framebuffer + GLuint start + GLsizei count + const GLfloat *v + + + void glMulticastGetQueryObjecti64vNV + GLuint gpu + GLuint id + GLenum pname + GLint64 *params + + + void glMulticastGetQueryObjectivNV + GLuint gpu + GLuint id + GLenum pname + GLint *params + + + void glMulticastGetQueryObjectui64vNV + GLuint gpu + GLuint id + GLenum pname + GLuint64 *params + + + void glMulticastGetQueryObjectuivNV + GLuint gpu + GLuint id + GLenum pname + GLuint *params + + + void glMulticastWaitSyncNV + GLuint signalGpu + GLbitfield waitGpuMask + + + void glNamedBufferData + GLuint buffer + GLsizeiptr size + const void *data + GLenum usage + + + void glNamedBufferDataEXT + GLuint buffer + GLsizeiptr size + const void *data + GLenum usage + + + void glNamedBufferPageCommitmentARB + GLuint buffer + GLintptr offset + GLsizeiptr size + GLboolean commit + + + void glNamedBufferPageCommitmentEXT + GLuint buffer + GLintptr offset + GLsizeiptr size + GLboolean commit + + + void glNamedBufferStorage + GLuint buffer + GLsizeiptr size + const void *data + GLbitfield flags + + + void glNamedBufferStorageExternalEXT + GLuint buffer + GLintptr offset + GLsizeiptr size + GLeglClientBufferEXT clientBuffer + GLbitfield flags + + + void glNamedBufferStorageEXT + GLuint buffer + GLsizeiptr size + const void *data + GLbitfield flags + + + + void glNamedBufferStorageMemEXT + GLuint buffer + GLsizeiptr size + GLuint memory + GLuint64 offset + + + void glNamedBufferSubData + GLuint buffer + GLintptr offset + GLsizeiptr size + const void *data + + + void glNamedBufferSubDataEXT + GLuint buffer + GLintptr offset + GLsizeiptr size + const void *data + + + + void glNamedCopyBufferSubDataEXT + GLuint readBuffer + GLuint writeBuffer + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size + + + void glNamedFramebufferDrawBuffer + GLuint framebuffer + GLenum buf + + + void glNamedFramebufferDrawBuffers + GLuint framebuffer + GLsizei n + const GLenum *bufs + + + void glNamedFramebufferParameteri + GLuint framebuffer + GLenum pname + GLint param + + + void glNamedFramebufferParameteriEXT + GLuint framebuffer + GLenum pname + GLint param + + + void glNamedFramebufferReadBuffer + GLuint framebuffer + GLenum src + + + void glNamedFramebufferRenderbuffer + GLuint framebuffer + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + void glNamedFramebufferRenderbufferEXT + GLuint framebuffer + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + void glNamedFramebufferSampleLocationsfvARB + GLuint framebuffer + GLuint start + GLsizei count + const GLfloat *v + + + void glNamedFramebufferSampleLocationsfvNV + GLuint framebuffer + GLuint start + GLsizei count + const GLfloat *v + + + void glNamedFramebufferTexture + GLuint framebuffer + GLenum attachment + GLuint texture + GLint level + + + void glNamedFramebufferSamplePositionsfvAMD + GLuint framebuffer + GLuint numsamples + GLuint pixelindex + const GLfloat *values + + + void glNamedFramebufferTexture1DEXT + GLuint framebuffer + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + void glNamedFramebufferTexture2DEXT + GLuint framebuffer + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + void glNamedFramebufferTexture3DEXT + GLuint framebuffer + GLenum attachment + GLenum textarget + GLuint texture + GLint level + GLint zoffset + + + void glNamedFramebufferTextureEXT + GLuint framebuffer + GLenum attachment + GLuint texture + GLint level + + + void glNamedFramebufferTextureFaceEXT + GLuint framebuffer + GLenum attachment + GLuint texture + GLint level + GLenum face + + + void glNamedFramebufferTextureLayer + GLuint framebuffer + GLenum attachment + GLuint texture + GLint level + GLint layer + + + void glNamedFramebufferTextureLayerEXT + GLuint framebuffer + GLenum attachment + GLuint texture + GLint level + GLint layer + + + void glNamedProgramLocalParameter4dEXT + GLuint program + GLenum target + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glNamedProgramLocalParameter4dvEXT + GLuint program + GLenum target + GLuint index + const GLdouble *params + + + void glNamedProgramLocalParameter4fEXT + GLuint program + GLenum target + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glNamedProgramLocalParameter4fvEXT + GLuint program + GLenum target + GLuint index + const GLfloat *params + + + void glNamedProgramLocalParameterI4iEXT + GLuint program + GLenum target + GLuint index + GLint x + GLint y + GLint z + GLint w + + + + void glNamedProgramLocalParameterI4ivEXT + GLuint program + GLenum target + GLuint index + const GLint *params + + + void glNamedProgramLocalParameterI4uiEXT + GLuint program + GLenum target + GLuint index + GLuint x + GLuint y + GLuint z + GLuint w + + + + void glNamedProgramLocalParameterI4uivEXT + GLuint program + GLenum target + GLuint index + const GLuint *params + + + void glNamedProgramLocalParameters4fvEXT + GLuint program + GLenum target + GLuint index + GLsizei count + const GLfloat *params + + + void glNamedProgramLocalParametersI4ivEXT + GLuint program + GLenum target + GLuint index + GLsizei count + const GLint *params + + + void glNamedProgramLocalParametersI4uivEXT + GLuint program + GLenum target + GLuint index + GLsizei count + const GLuint *params + + + void glNamedProgramStringEXT + GLuint program + GLenum target + GLenum format + GLsizei len + const void *string + + + void glNamedRenderbufferStorage + GLuint renderbuffer + GLenum internalformat + GLsizei width + GLsizei height + + + void glNamedRenderbufferStorageEXT + GLuint renderbuffer + GLenum internalformat + GLsizei width + GLsizei height + + + void glNamedRenderbufferStorageMultisample + GLuint renderbuffer + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + void glNamedRenderbufferStorageMultisampleCoverageEXT + GLuint renderbuffer + GLsizei coverageSamples + GLsizei colorSamples + GLenum internalformat + GLsizei width + GLsizei height + + + void glNamedRenderbufferStorageMultisampleEXT + GLuint renderbuffer + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + void glNamedStringARB + GLenum type + GLint namelen + const GLchar *name + GLint stringlen + const GLchar *string + + + void glNewList + GLuint list + GLenum mode + + + + GLuint glNewObjectBufferATI + GLsizei size + const void *pointer + GLenum usage + + + void glNormal3b + GLbyte nx + GLbyte ny + GLbyte nz + + + + void glNormal3bv + const GLbyte *v + + + + void glNormal3d + GLdouble nx + GLdouble ny + GLdouble nz + + + + void glNormal3dv + const GLdouble *v + + + + void glNormal3f + GLfloat nx + GLfloat ny + GLfloat nz + + + + void glNormal3fVertex3fSUN + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glNormal3fVertex3fvSUN + const GLfloat *n + const GLfloat *v + + + void glNormal3fv + const GLfloat *v + + + + void glNormal3hNV + GLhalfNV nx + GLhalfNV ny + GLhalfNV nz + + + + void glNormal3hvNV + const GLhalfNV *v + + + + void glNormal3i + GLint nx + GLint ny + GLint nz + + + + void glNormal3iv + const GLint *v + + + + void glNormal3s + GLshort nx + GLshort ny + GLshort nz + + + + void glNormal3sv + const GLshort *v + + + + void glNormal3x + GLfixed nx + GLfixed ny + GLfixed nz + + + void glNormal3xOES + GLfixed nx + GLfixed ny + GLfixed nz + + + void glNormal3xvOES + const GLfixed *coords + + + void glNormalFormatNV + GLenum type + GLsizei stride + + + void glNormalP3ui + GLenum type + GLuint coords + + + void glNormalP3uiv + GLenum type + const GLuint *coords + + + void glNormalPointer + GLenum type + GLsizei stride + const void *pointer + + + void glNormalPointerEXT + GLenum type + GLsizei stride + GLsizei count + const void *pointer + + + void glNormalPointerListIBM + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glNormalPointervINTEL + GLenum type + const void **pointer + + + void glNormalStream3bATI + GLenum stream + GLbyte nx + GLbyte ny + GLbyte nz + + + void glNormalStream3bvATI + GLenum stream + const GLbyte *coords + + + void glNormalStream3dATI + GLenum stream + GLdouble nx + GLdouble ny + GLdouble nz + + + void glNormalStream3dvATI + GLenum stream + const GLdouble *coords + + + void glNormalStream3fATI + GLenum stream + GLfloat nx + GLfloat ny + GLfloat nz + + + void glNormalStream3fvATI + GLenum stream + const GLfloat *coords + + + void glNormalStream3iATI + GLenum stream + GLint nx + GLint ny + GLint nz + + + void glNormalStream3ivATI + GLenum stream + const GLint *coords + + + void glNormalStream3sATI + GLenum stream + GLshort nx + GLshort ny + GLshort nz + + + void glNormalStream3svATI + GLenum stream + const GLshort *coords + + + void glObjectLabel + GLenum identifier + GLuint name + GLsizei length + const GLchar *label + + + void glObjectLabelKHR + GLenum identifier + GLuint name + GLsizei length + const GLchar *label + + + + void glObjectPtrLabel + const void *ptr + GLsizei length + const GLchar *label + + + void glObjectPtrLabelKHR + const void *ptr + GLsizei length + const GLchar *label + + + + GLenum glObjectPurgeableAPPLE + GLenum objectType + GLuint name + GLenum option + + + GLenum glObjectUnpurgeableAPPLE + GLenum objectType + GLuint name + GLenum option + + + void glOrtho + GLdouble left + GLdouble right + GLdouble bottom + GLdouble top + GLdouble zNear + GLdouble zFar + + + + void glOrthof + GLfloat l + GLfloat r + GLfloat b + GLfloat t + GLfloat n + GLfloat f + + + void glOrthofOES + GLfloat l + GLfloat r + GLfloat b + GLfloat t + GLfloat n + GLfloat f + + + + void glOrthox + GLfixed l + GLfixed r + GLfixed b + GLfixed t + GLfixed n + GLfixed f + + + void glOrthoxOES + GLfixed l + GLfixed r + GLfixed b + GLfixed t + GLfixed n + GLfixed f + + + void glPNTrianglesfATI + GLenum pname + GLfloat param + + + void glPNTrianglesiATI + GLenum pname + GLint param + + + void glPassTexCoordATI + GLuint dst + GLuint coord + GLenum swizzle + + + void glPassThrough + GLfloat token + + + + void glPassThroughxOES + GLfixed token + + + void glPatchParameterfv + GLenum pname + const GLfloat *values + + + void glPatchParameteri + GLenum pname + GLint value + + + void glPatchParameteriEXT + GLenum pname + GLint value + + + + void glPatchParameteriOES + GLenum pname + GLint value + + + + void glPathColorGenNV + GLenum color + GLenum genMode + GLenum colorFormat + const GLfloat *coeffs + + + void glPathCommandsNV + GLuint path + GLsizei numCommands + const GLubyte *commands + GLsizei numCoords + GLenum coordType + const void *coords + + + void glPathCoordsNV + GLuint path + GLsizei numCoords + GLenum coordType + const void *coords + + + void glPathCoverDepthFuncNV + GLenum func + + + void glPathDashArrayNV + GLuint path + GLsizei dashCount + const GLfloat *dashArray + + + void glPathFogGenNV + GLenum genMode + + + GLenum glPathGlyphIndexArrayNV + GLuint firstPathName + GLenum fontTarget + const void *fontName + GLbitfield fontStyle + GLuint firstGlyphIndex + GLsizei numGlyphs + GLuint pathParameterTemplate + GLfloat emScale + + + GLenum glPathGlyphIndexRangeNV + GLenum fontTarget + const void *fontName + GLbitfield fontStyle + GLuint pathParameterTemplate + GLfloat emScale + GLuint baseAndCount[2] + + + void glPathGlyphRangeNV + GLuint firstPathName + GLenum fontTarget + const void *fontName + GLbitfield fontStyle + GLuint firstGlyph + GLsizei numGlyphs + GLenum handleMissingGlyphs + GLuint pathParameterTemplate + GLfloat emScale + + + void glPathGlyphsNV + GLuint firstPathName + GLenum fontTarget + const void *fontName + GLbitfield fontStyle + GLsizei numGlyphs + GLenum type + const void *charcodes + GLenum handleMissingGlyphs + GLuint pathParameterTemplate + GLfloat emScale + + + GLenum glPathMemoryGlyphIndexArrayNV + GLuint firstPathName + GLenum fontTarget + GLsizeiptr fontSize + const void *fontData + GLsizei faceIndex + GLuint firstGlyphIndex + GLsizei numGlyphs + GLuint pathParameterTemplate + GLfloat emScale + + + void glPathParameterfNV + GLuint path + GLenum pname + GLfloat value + + + void glPathParameterfvNV + GLuint path + GLenum pname + const GLfloat *value + + + void glPathParameteriNV + GLuint path + GLenum pname + GLint value + + + void glPathParameterivNV + GLuint path + GLenum pname + const GLint *value + + + void glPathStencilDepthOffsetNV + GLfloat factor + GLfloat units + + + void glPathStencilFuncNV + GLenum func + GLint ref + GLuint mask + + + void glPathStringNV + GLuint path + GLenum format + GLsizei length + const void *pathString + + + void glPathSubCommandsNV + GLuint path + GLsizei commandStart + GLsizei commandsToDelete + GLsizei numCommands + const GLubyte *commands + GLsizei numCoords + GLenum coordType + const void *coords + + + void glPathSubCoordsNV + GLuint path + GLsizei coordStart + GLsizei numCoords + GLenum coordType + const void *coords + + + void glPathTexGenNV + GLenum texCoordSet + GLenum genMode + GLint components + const GLfloat *coeffs + + + void glPauseTransformFeedback + + + void glPauseTransformFeedbackNV + + + + void glPixelDataRangeNV + GLenum target + GLsizei length + const void *pointer + + + void glPixelMapfv + GLenum map + GLsizei mapsize + const GLfloat *values + + + + + void glPixelMapuiv + GLenum map + GLsizei mapsize + const GLuint *values + + + + + void glPixelMapusv + GLenum map + GLsizei mapsize + const GLushort *values + + + + + void glPixelMapx + GLenum map + GLint size + const GLfixed *values + + + void glPixelStoref + GLenum pname + GLfloat param + + + + void glPixelStorei + GLenum pname + GLint param + + + + void glPixelStorex + GLenum pname + GLfixed param + + + void glPixelTexGenParameterfSGIS + GLenum pname + GLfloat param + + + void glPixelTexGenParameterfvSGIS + GLenum pname + const GLfloat *params + + + void glPixelTexGenParameteriSGIS + GLenum pname + GLint param + + + void glPixelTexGenParameterivSGIS + GLenum pname + const GLint *params + + + void glPixelTexGenSGIX + GLenum mode + + + + void glPixelTransferf + GLenum pname + GLfloat param + + + + void glPixelTransferi + GLenum pname + GLint param + + + + void glPixelTransferxOES + GLenum pname + GLfixed param + + + void glPixelTransformParameterfEXT + GLenum target + GLenum pname + GLfloat param + + + + void glPixelTransformParameterfvEXT + GLenum target + GLenum pname + const GLfloat *params + + + void glPixelTransformParameteriEXT + GLenum target + GLenum pname + GLint param + + + + void glPixelTransformParameterivEXT + GLenum target + GLenum pname + const GLint *params + + + void glPixelZoom + GLfloat xfactor + GLfloat yfactor + + + + void glPixelZoomxOES + GLfixed xfactor + GLfixed yfactor + + + GLboolean glPointAlongPathNV + GLuint path + GLsizei startSegment + GLsizei numSegments + GLfloat distance + GLfloat *x + GLfloat *y + GLfloat *tangentX + GLfloat *tangentY + + + void glPointParameterf + GLenum pname + GLfloat param + + + + void glPointParameterfARB + GLenum pname + GLfloat param + + + + + void glPointParameterfEXT + GLenum pname + GLfloat param + + + + void glPointParameterfSGIS + GLenum pname + GLfloat param + + + + void glPointParameterfv + GLenum pname + const GLfloat *params + + + + void glPointParameterfvARB + GLenum pname + const GLfloat *params + + + + + void glPointParameterfvEXT + GLenum pname + const GLfloat *params + + + + void glPointParameterfvSGIS + GLenum pname + const GLfloat *params + + + + void glPointParameteri + GLenum pname + GLint param + + + + void glPointParameteriNV + GLenum pname + GLint param + + + + + void glPointParameteriv + GLenum pname + const GLint *params + + + + void glPointParameterivNV + GLenum pname + const GLint *params + + + + + void glPointParameterx + GLenum pname + GLfixed param + + + void glPointParameterxOES + GLenum pname + GLfixed param + + + void glPointParameterxv + GLenum pname + const GLfixed *params + + + void glPointParameterxvOES + GLenum pname + const GLfixed *params + + + void glPointSize + GLfloat size + + + + void glPointSizePointerOES + GLenum type + GLsizei stride + const void *pointer + + + void glPointSizex + GLfixed size + + + void glPointSizexOES + GLfixed size + + + GLint glPollAsyncSGIX + GLuint *markerp + + + GLint glPollInstrumentsSGIX + GLint *marker_p + + + + void glPolygonMode + GLenum face + GLenum mode + + + + void glPolygonModeNV + GLenum face + GLenum mode + + + + void glPolygonOffset + GLfloat factor + GLfloat units + + + + void glPolygonOffsetClamp + GLfloat factor + GLfloat units + GLfloat clamp + + + + void glPolygonOffsetClampEXT + GLfloat factor + GLfloat units + GLfloat clamp + + + + void glPolygonOffsetEXT + GLfloat factor + GLfloat bias + + + + void glPolygonOffsetx + GLfixed factor + GLfixed units + + + void glPolygonOffsetxOES + GLfixed factor + GLfixed units + + + void glPolygonStipple + const GLubyte *mask + + + + + void glPopAttrib + + + + void glPopClientAttrib + + + void glPopDebugGroup + + + void glPopDebugGroupKHR + + + + void glPopGroupMarkerEXT + + + void glPopMatrix + + + + void glPopName + + + + void glPresentFrameDualFillNV + GLuint video_slot + GLuint64EXT minPresentTime + GLuint beginPresentTimeId + GLuint presentDurationId + GLenum type + GLenum target0 + GLuint fill0 + GLenum target1 + GLuint fill1 + GLenum target2 + GLuint fill2 + GLenum target3 + GLuint fill3 + + + void glPresentFrameKeyedNV + GLuint video_slot + GLuint64EXT minPresentTime + GLuint beginPresentTimeId + GLuint presentDurationId + GLenum type + GLenum target0 + GLuint fill0 + GLuint key0 + GLenum target1 + GLuint fill1 + GLuint key1 + + + void glPrimitiveBoundingBox + GLfloat minX + GLfloat minY + GLfloat minZ + GLfloat minW + GLfloat maxX + GLfloat maxY + GLfloat maxZ + GLfloat maxW + + + void glPrimitiveBoundingBoxARB + GLfloat minX + GLfloat minY + GLfloat minZ + GLfloat minW + GLfloat maxX + GLfloat maxY + GLfloat maxZ + GLfloat maxW + + + + void glPrimitiveBoundingBoxEXT + GLfloat minX + GLfloat minY + GLfloat minZ + GLfloat minW + GLfloat maxX + GLfloat maxY + GLfloat maxZ + GLfloat maxW + + + + void glPrimitiveBoundingBoxOES + GLfloat minX + GLfloat minY + GLfloat minZ + GLfloat minW + GLfloat maxX + GLfloat maxY + GLfloat maxZ + GLfloat maxW + + + + void glPrimitiveRestartIndex + GLuint index + + + void glPrimitiveRestartIndexNV + GLuint index + + + + void glPrimitiveRestartNV + + + + void glPrioritizeTextures + GLsizei n + const GLuint *textures + const GLfloat *priorities + + + + void glPrioritizeTexturesEXT + GLsizei n + const GLuint *textures + const GLclampf *priorities + + + + + void glPrioritizeTexturesxOES + GLsizei n + const GLuint *textures + const GLfixed *priorities + + + void glProgramBinary + GLuint program + GLenum binaryFormat + const void *binary + GLsizei length + + + void glProgramBinaryOES + GLuint program + GLenum binaryFormat + const void *binary + GLint length + + + + void glProgramBufferParametersIivNV + GLenum target + GLuint bindingIndex + GLuint wordIndex + GLsizei count + const GLint *params + + + void glProgramBufferParametersIuivNV + GLenum target + GLuint bindingIndex + GLuint wordIndex + GLsizei count + const GLuint *params + + + void glProgramBufferParametersfvNV + GLenum target + GLuint bindingIndex + GLuint wordIndex + GLsizei count + const GLfloat *params + + + void glProgramEnvParameter4dARB + GLenum target + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glProgramEnvParameter4dvARB + GLenum target + GLuint index + const GLdouble *params + + + void glProgramEnvParameter4fARB + GLenum target + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glProgramEnvParameter4fvARB + GLenum target + GLuint index + const GLfloat *params + + + void glProgramEnvParameterI4iNV + GLenum target + GLuint index + GLint x + GLint y + GLint z + GLint w + + + + void glProgramEnvParameterI4ivNV + GLenum target + GLuint index + const GLint *params + + + void glProgramEnvParameterI4uiNV + GLenum target + GLuint index + GLuint x + GLuint y + GLuint z + GLuint w + + + + void glProgramEnvParameterI4uivNV + GLenum target + GLuint index + const GLuint *params + + + void glProgramEnvParameters4fvEXT + GLenum target + GLuint index + GLsizei count + const GLfloat *params + + + + void glProgramEnvParametersI4ivNV + GLenum target + GLuint index + GLsizei count + const GLint *params + + + void glProgramEnvParametersI4uivNV + GLenum target + GLuint index + GLsizei count + const GLuint *params + + + void glProgramLocalParameter4dARB + GLenum target + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glProgramLocalParameter4dvARB + GLenum target + GLuint index + const GLdouble *params + + + void glProgramLocalParameter4fARB + GLenum target + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glProgramLocalParameter4fvARB + GLenum target + GLuint index + const GLfloat *params + + + void glProgramLocalParameterI4iNV + GLenum target + GLuint index + GLint x + GLint y + GLint z + GLint w + + + + void glProgramLocalParameterI4ivNV + GLenum target + GLuint index + const GLint *params + + + void glProgramLocalParameterI4uiNV + GLenum target + GLuint index + GLuint x + GLuint y + GLuint z + GLuint w + + + + void glProgramLocalParameterI4uivNV + GLenum target + GLuint index + const GLuint *params + + + void glProgramLocalParameters4fvEXT + GLenum target + GLuint index + GLsizei count + const GLfloat *params + + + + void glProgramLocalParametersI4ivNV + GLenum target + GLuint index + GLsizei count + const GLint *params + + + void glProgramLocalParametersI4uivNV + GLenum target + GLuint index + GLsizei count + const GLuint *params + + + void glProgramNamedParameter4dNV + GLuint id + GLsizei len + const GLubyte *name + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glProgramNamedParameter4dvNV + GLuint id + GLsizei len + const GLubyte *name + const GLdouble *v + + + + void glProgramNamedParameter4fNV + GLuint id + GLsizei len + const GLubyte *name + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glProgramNamedParameter4fvNV + GLuint id + GLsizei len + const GLubyte *name + const GLfloat *v + + + + void glProgramParameter4dNV + GLenum target + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glProgramParameter4dvNV + GLenum target + GLuint index + const GLdouble *v + + + + void glProgramParameter4fNV + GLenum target + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glProgramParameter4fvNV + GLenum target + GLuint index + const GLfloat *v + + + + void glProgramParameteri + GLuint program + GLenum pname + GLint value + + + void glProgramParameteriARB + GLuint program + GLenum pname + GLint value + + + + void glProgramParameteriEXT + GLuint program + GLenum pname + GLint value + + + + void glProgramParameters4dvNV + GLenum target + GLuint index + GLsizei count + const GLdouble *v + + + + void glProgramParameters4fvNV + GLenum target + GLuint index + GLsizei count + const GLfloat *v + + + + void glProgramPathFragmentInputGenNV + GLuint program + GLint location + GLenum genMode + GLint components + const GLfloat *coeffs + + + void glProgramStringARB + GLenum target + GLenum format + GLsizei len + const void *string + + + void glProgramSubroutineParametersuivNV + GLenum target + GLsizei count + const GLuint *params + + + void glProgramUniform1d + GLuint program + GLint location + GLdouble v0 + + + void glProgramUniform1dEXT + GLuint program + GLint location + GLdouble x + + + void glProgramUniform1dv + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform1dvEXT + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform1f + GLuint program + GLint location + GLfloat v0 + + + void glProgramUniform1fEXT + GLuint program + GLint location + GLfloat v0 + + + + void glProgramUniform1fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform1fvEXT + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + + void glProgramUniform1i + GLuint program + GLint location + GLint v0 + + + void glProgramUniform1i64ARB + GLuint program + GLint location + GLint64 x + + + void glProgramUniform1i64NV + GLuint program + GLint location + GLint64EXT x + + + void glProgramUniform1i64vARB + GLuint program + GLint location + GLsizei count + const GLint64 *value + + + void glProgramUniform1i64vNV + GLuint program + GLint location + GLsizei count + const GLint64EXT *value + + + void glProgramUniform1iEXT + GLuint program + GLint location + GLint v0 + + + + void glProgramUniform1iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform1ivEXT + GLuint program + GLint location + GLsizei count + const GLint *value + + + + void glProgramUniform1ui + GLuint program + GLint location + GLuint v0 + + + void glProgramUniform1ui64ARB + GLuint program + GLint location + GLuint64 x + + + void glProgramUniform1ui64NV + GLuint program + GLint location + GLuint64EXT x + + + void glProgramUniform1ui64vARB + GLuint program + GLint location + GLsizei count + const GLuint64 *value + + + void glProgramUniform1ui64vNV + GLuint program + GLint location + GLsizei count + const GLuint64EXT *value + + + void glProgramUniform1uiEXT + GLuint program + GLint location + GLuint v0 + + + + void glProgramUniform1uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform1uivEXT + GLuint program + GLint location + GLsizei count + const GLuint *value + + + + void glProgramUniform2d + GLuint program + GLint location + GLdouble v0 + GLdouble v1 + + + void glProgramUniform2dEXT + GLuint program + GLint location + GLdouble x + GLdouble y + + + void glProgramUniform2dv + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform2dvEXT + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform2f + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + + + void glProgramUniform2fEXT + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + + + + void glProgramUniform2fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform2fvEXT + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + + void glProgramUniform2i + GLuint program + GLint location + GLint v0 + GLint v1 + + + void glProgramUniform2i64ARB + GLuint program + GLint location + GLint64 x + GLint64 y + + + void glProgramUniform2i64NV + GLuint program + GLint location + GLint64EXT x + GLint64EXT y + + + void glProgramUniform2i64vARB + GLuint program + GLint location + GLsizei count + const GLint64 *value + + + void glProgramUniform2i64vNV + GLuint program + GLint location + GLsizei count + const GLint64EXT *value + + + void glProgramUniform2iEXT + GLuint program + GLint location + GLint v0 + GLint v1 + + + + void glProgramUniform2iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform2ivEXT + GLuint program + GLint location + GLsizei count + const GLint *value + + + + void glProgramUniform2ui + GLuint program + GLint location + GLuint v0 + GLuint v1 + + + void glProgramUniform2ui64ARB + GLuint program + GLint location + GLuint64 x + GLuint64 y + + + void glProgramUniform2ui64NV + GLuint program + GLint location + GLuint64EXT x + GLuint64EXT y + + + void glProgramUniform2ui64vARB + GLuint program + GLint location + GLsizei count + const GLuint64 *value + + + void glProgramUniform2ui64vNV + GLuint program + GLint location + GLsizei count + const GLuint64EXT *value + + + void glProgramUniform2uiEXT + GLuint program + GLint location + GLuint v0 + GLuint v1 + + + + void glProgramUniform2uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform2uivEXT + GLuint program + GLint location + GLsizei count + const GLuint *value + + + + void glProgramUniform3d + GLuint program + GLint location + GLdouble v0 + GLdouble v1 + GLdouble v2 + + + void glProgramUniform3dEXT + GLuint program + GLint location + GLdouble x + GLdouble y + GLdouble z + + + void glProgramUniform3dv + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform3dvEXT + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform3f + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glProgramUniform3fEXT + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + + void glProgramUniform3fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform3fvEXT + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + + void glProgramUniform3i + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glProgramUniform3i64ARB + GLuint program + GLint location + GLint64 x + GLint64 y + GLint64 z + + + void glProgramUniform3i64NV + GLuint program + GLint location + GLint64EXT x + GLint64EXT y + GLint64EXT z + + + void glProgramUniform3i64vARB + GLuint program + GLint location + GLsizei count + const GLint64 *value + + + void glProgramUniform3i64vNV + GLuint program + GLint location + GLsizei count + const GLint64EXT *value + + + void glProgramUniform3iEXT + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + + + + void glProgramUniform3iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform3ivEXT + GLuint program + GLint location + GLsizei count + const GLint *value + + + + void glProgramUniform3ui + GLuint program + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + + + void glProgramUniform3ui64ARB + GLuint program + GLint location + GLuint64 x + GLuint64 y + GLuint64 z + + + void glProgramUniform3ui64NV + GLuint program + GLint location + GLuint64EXT x + GLuint64EXT y + GLuint64EXT z + + + void glProgramUniform3ui64vARB + GLuint program + GLint location + GLsizei count + const GLuint64 *value + + + void glProgramUniform3ui64vNV + GLuint program + GLint location + GLsizei count + const GLuint64EXT *value + + + void glProgramUniform3uiEXT + GLuint program + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + + + + void glProgramUniform3uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform3uivEXT + GLuint program + GLint location + GLsizei count + const GLuint *value + + + + void glProgramUniform4d + GLuint program + GLint location + GLdouble v0 + GLdouble v1 + GLdouble v2 + GLdouble v3 + + + void glProgramUniform4dEXT + GLuint program + GLint location + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + void glProgramUniform4dv + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform4dvEXT + GLuint program + GLint location + GLsizei count + const GLdouble *value + + + void glProgramUniform4f + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glProgramUniform4fEXT + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + + void glProgramUniform4fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform4fvEXT + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + + void glProgramUniform4i + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glProgramUniform4i64ARB + GLuint program + GLint location + GLint64 x + GLint64 y + GLint64 z + GLint64 w + + + void glProgramUniform4i64NV + GLuint program + GLint location + GLint64EXT x + GLint64EXT y + GLint64EXT z + GLint64EXT w + + + void glProgramUniform4i64vARB + GLuint program + GLint location + GLsizei count + const GLint64 *value + + + void glProgramUniform4i64vNV + GLuint program + GLint location + GLsizei count + const GLint64EXT *value + + + void glProgramUniform4iEXT + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + + void glProgramUniform4iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform4ivEXT + GLuint program + GLint location + GLsizei count + const GLint *value + + + + void glProgramUniform4ui + GLuint program + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + void glProgramUniform4ui64ARB + GLuint program + GLint location + GLuint64 x + GLuint64 y + GLuint64 z + GLuint64 w + + + void glProgramUniform4ui64NV + GLuint program + GLint location + GLuint64EXT x + GLuint64EXT y + GLuint64EXT z + GLuint64EXT w + + + void glProgramUniform4ui64vARB + GLuint program + GLint location + GLsizei count + const GLuint64 *value + + + void glProgramUniform4ui64vNV + GLuint program + GLint location + GLsizei count + const GLuint64EXT *value + + + void glProgramUniform4uiEXT + GLuint program + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + + void glProgramUniform4uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform4uivEXT + GLuint program + GLint location + GLsizei count + const GLuint *value + + + + void glProgramUniformHandleui64ARB + GLuint program + GLint location + GLuint64 value + + + void glProgramUniformHandleui64IMG + GLuint program + GLint location + GLuint64 value + + + + void glProgramUniformHandleui64NV + GLuint program + GLint location + GLuint64 value + + + void glProgramUniformHandleui64vARB + GLuint program + GLint location + GLsizei count + const GLuint64 *values + + + void glProgramUniformHandleui64vIMG + GLuint program + GLint location + GLsizei count + const GLuint64 *values + + + + void glProgramUniformHandleui64vNV + GLuint program + GLint location + GLsizei count + const GLuint64 *values + + + void glProgramUniformMatrix2dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix2dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix2fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix2fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix2x3dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix2x3dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix2x3fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix2x3fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix2x4dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix2x4dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix2x4fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix2x4fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix3dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix3dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix3fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix3fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix3x2dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix3x2dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix3x2fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix3x2fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix3x4dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix3x4dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix3x4fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix3x4fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix4dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix4dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix4fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix4fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix4x2dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix4x2dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix4x2fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix4x2fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformMatrix4x3dv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix4x3dvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glProgramUniformMatrix4x3fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix4x3fvEXT + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glProgramUniformui64NV + GLuint program + GLint location + GLuint64EXT value + + + void glProgramUniformui64vNV + GLuint program + GLint location + GLsizei count + const GLuint64EXT *value + + + void glProgramVertexLimitNV + GLenum target + GLint limit + + + void glProvokingVertex + GLenum mode + + + void glProvokingVertexEXT + GLenum mode + + + + void glPushAttrib + GLbitfield mask + + + + void glPushClientAttrib + GLbitfield mask + + + void glPushClientAttribDefaultEXT + GLbitfield mask + + + void glPushDebugGroup + GLenum source + GLuint id + GLsizei length + const GLchar *message + + + void glPushDebugGroupKHR + GLenum source + GLuint id + GLsizei length + const GLchar *message + + + + void glPushGroupMarkerEXT + GLsizei length + const GLchar *marker + + + void glPushMatrix + + + + void glPushName + GLuint name + + + + void glQueryCounter + GLuint id + GLenum target + + + void glQueryCounterEXT + GLuint id + GLenum target + + + + GLbitfield glQueryMatrixxOES + GLfixed *mantissa + GLint *exponent + + + void glQueryObjectParameteruiAMD + GLenum target + GLuint id + GLenum pname + GLuint param + + + GLint glQueryResourceNV + GLenum queryType + GLint tagId + GLuint bufSize + GLint *buffer + + + void glQueryResourceTagNV + GLint tagId + const GLchar *tagString + + + void glRasterPos2d + GLdouble x + GLdouble y + + + + void glRasterPos2dv + const GLdouble *v + + + + void glRasterPos2f + GLfloat x + GLfloat y + + + + void glRasterPos2fv + const GLfloat *v + + + + void glRasterPos2i + GLint x + GLint y + + + + void glRasterPos2iv + const GLint *v + + + + void glRasterPos2s + GLshort x + GLshort y + + + + void glRasterPos2sv + const GLshort *v + + + + void glRasterPos2xOES + GLfixed x + GLfixed y + + + void glRasterPos2xvOES + const GLfixed *coords + + + void glRasterPos3d + GLdouble x + GLdouble y + GLdouble z + + + + void glRasterPos3dv + const GLdouble *v + + + + void glRasterPos3f + GLfloat x + GLfloat y + GLfloat z + + + + void glRasterPos3fv + const GLfloat *v + + + + void glRasterPos3i + GLint x + GLint y + GLint z + + + + void glRasterPos3iv + const GLint *v + + + + void glRasterPos3s + GLshort x + GLshort y + GLshort z + + + + void glRasterPos3sv + const GLshort *v + + + + void glRasterPos3xOES + GLfixed x + GLfixed y + GLfixed z + + + void glRasterPos3xvOES + const GLfixed *coords + + + void glRasterPos4d + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glRasterPos4dv + const GLdouble *v + + + + void glRasterPos4f + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glRasterPos4fv + const GLfloat *v + + + + void glRasterPos4i + GLint x + GLint y + GLint z + GLint w + + + + void glRasterPos4iv + const GLint *v + + + + void glRasterPos4s + GLshort x + GLshort y + GLshort z + GLshort w + + + + void glRasterPos4sv + const GLshort *v + + + + void glRasterPos4xOES + GLfixed x + GLfixed y + GLfixed z + GLfixed w + + + void glRasterPos4xvOES + const GLfixed *coords + + + void glRasterSamplesEXT + GLuint samples + GLboolean fixedsamplelocations + + + void glReadBuffer + GLenum src + + + + void glReadBufferIndexedEXT + GLenum src + GLint index + + + void glReadBufferNV + GLenum mode + + + void glReadInstrumentsSGIX + GLint marker + + + + void glReadPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + void *pixels + + + + + void glReadnPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLsizei bufSize + void *data + + + void glReadnPixelsARB + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLsizei bufSize + void *data + + + + void glReadnPixelsEXT + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLsizei bufSize + void *data + + + + void glReadnPixelsKHR + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLsizei bufSize + void *data + + + + GLboolean glReleaseKeyedMutexWin32EXT + GLuint memory + GLuint64 key + + + void glRectd + GLdouble x1 + GLdouble y1 + GLdouble x2 + GLdouble y2 + + + + void glRectdv + const GLdouble *v1 + const GLdouble *v2 + + + + void glRectf + GLfloat x1 + GLfloat y1 + GLfloat x2 + GLfloat y2 + + + + void glRectfv + const GLfloat *v1 + const GLfloat *v2 + + + + void glRecti + GLint x1 + GLint y1 + GLint x2 + GLint y2 + + + + void glRectiv + const GLint *v1 + const GLint *v2 + + + + void glRects + GLshort x1 + GLshort y1 + GLshort x2 + GLshort y2 + + + + void glRectsv + const GLshort *v1 + const GLshort *v2 + + + + void glRectxOES + GLfixed x1 + GLfixed y1 + GLfixed x2 + GLfixed y2 + + + void glRectxvOES + const GLfixed *v1 + const GLfixed *v2 + + + void glReferencePlaneSGIX + const GLdouble *equation + + + + void glReleaseShaderCompiler + + + void glRenderGpuMaskNV + GLbitfield mask + + + GLint glRenderMode + GLenum mode + + + + void glRenderbufferStorage + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + + + + void glRenderbufferStorageEXT + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + + + + + void glRenderbufferStorageMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + + void glRenderbufferStorageMultisampleANGLE + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + void glRenderbufferStorageMultisampleAPPLE + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + void glRenderbufferStorageMultisampleCoverageNV + GLenum target + GLsizei coverageSamples + GLsizei colorSamples + GLenum internalformat + GLsizei width + GLsizei height + + + void glRenderbufferStorageMultisampleEXT + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + + + void glRenderbufferStorageMultisampleIMG + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + void glRenderbufferStorageMultisampleNV + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + + void glRenderbufferStorageOES + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + + + void glReplacementCodePointerSUN + GLenum type + GLsizei stride + const void **pointer + + + void glReplacementCodeubSUN + GLubyte code + + + void glReplacementCodeubvSUN + const GLubyte *code + + + void glReplacementCodeuiColor3fVertex3fSUN + GLuint rc + GLfloat r + GLfloat g + GLfloat b + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiColor3fVertex3fvSUN + const GLuint *rc + const GLfloat *c + const GLfloat *v + + + void glReplacementCodeuiColor4fNormal3fVertex3fSUN + GLuint rc + GLfloat r + GLfloat g + GLfloat b + GLfloat a + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiColor4fNormal3fVertex3fvSUN + const GLuint *rc + const GLfloat *c + const GLfloat *n + const GLfloat *v + + + void glReplacementCodeuiColor4ubVertex3fSUN + GLuint rc + GLubyte r + GLubyte g + GLubyte b + GLubyte a + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiColor4ubVertex3fvSUN + const GLuint *rc + const GLubyte *c + const GLfloat *v + + + void glReplacementCodeuiNormal3fVertex3fSUN + GLuint rc + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiNormal3fVertex3fvSUN + const GLuint *rc + const GLfloat *n + const GLfloat *v + + + void glReplacementCodeuiSUN + GLuint code + + + void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN + GLuint rc + GLfloat s + GLfloat t + GLfloat r + GLfloat g + GLfloat b + GLfloat a + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN + const GLuint *rc + const GLfloat *tc + const GLfloat *c + const GLfloat *n + const GLfloat *v + + + void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN + GLuint rc + GLfloat s + GLfloat t + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN + const GLuint *rc + const GLfloat *tc + const GLfloat *n + const GLfloat *v + + + void glReplacementCodeuiTexCoord2fVertex3fSUN + GLuint rc + GLfloat s + GLfloat t + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiTexCoord2fVertex3fvSUN + const GLuint *rc + const GLfloat *tc + const GLfloat *v + + + void glReplacementCodeuiVertex3fSUN + GLuint rc + GLfloat x + GLfloat y + GLfloat z + + + void glReplacementCodeuiVertex3fvSUN + const GLuint *rc + const GLfloat *v + + + void glReplacementCodeuivSUN + const GLuint *code + + + void glReplacementCodeusSUN + GLushort code + + + void glReplacementCodeusvSUN + const GLushort *code + + + void glRequestResidentProgramsNV + GLsizei n + const GLuint *programs + + + + void glResetHistogram + GLenum target + + + + void glResetHistogramEXT + GLenum target + + + + + void glResetMinmax + GLenum target + + + + void glResetMinmaxEXT + GLenum target + + + + + void glResizeBuffersMESA + + + void glResolveDepthValuesNV + + + void glResolveMultisampleFramebufferAPPLE + + + void glResumeTransformFeedback + + + void glResumeTransformFeedbackNV + + + + void glRotated + GLdouble angle + GLdouble x + GLdouble y + GLdouble z + + + + void glRotatef + GLfloat angle + GLfloat x + GLfloat y + GLfloat z + + + + void glRotatex + GLfixed angle + GLfixed x + GLfixed y + GLfixed z + + + void glRotatexOES + GLfixed angle + GLfixed x + GLfixed y + GLfixed z + + + void glSampleCoverage + GLfloat value + GLboolean invert + + + + void glSampleCoverageARB + GLfloat value + GLboolean invert + + + + void glSampleCoveragex + GLclampx value + GLboolean invert + + + void glSampleCoveragexOES + GLclampx value + GLboolean invert + + + void glSampleMapATI + GLuint dst + GLuint interp + GLenum swizzle + + + void glSampleMaskEXT + GLclampf value + GLboolean invert + + + void glSampleMaskIndexedNV + GLuint index + GLbitfield mask + + + void glSampleMaskSGIS + GLclampf value + GLboolean invert + + + + + void glSampleMaski + GLuint maskNumber + GLbitfield mask + + + void glSamplePatternEXT + GLenum pattern + + + void glSamplePatternSGIS + GLenum pattern + + + + + void glSamplerParameterIiv + GLuint sampler + GLenum pname + const GLint *param + + + void glSamplerParameterIivEXT + GLuint sampler + GLenum pname + const GLint *param + + + + void glSamplerParameterIivOES + GLuint sampler + GLenum pname + const GLint *param + + + + void glSamplerParameterIuiv + GLuint sampler + GLenum pname + const GLuint *param + + + void glSamplerParameterIuivEXT + GLuint sampler + GLenum pname + const GLuint *param + + + + void glSamplerParameterIuivOES + GLuint sampler + GLenum pname + const GLuint *param + + + + void glSamplerParameterf + GLuint sampler + GLenum pname + GLfloat param + + + void glSamplerParameterfv + GLuint sampler + GLenum pname + const GLfloat *param + + + void glSamplerParameteri + GLuint sampler + GLenum pname + GLint param + + + void glSamplerParameteriv + GLuint sampler + GLenum pname + const GLint *param + + + void glScaled + GLdouble x + GLdouble y + GLdouble z + + + + void glScalef + GLfloat x + GLfloat y + GLfloat z + + + + void glScalex + GLfixed x + GLfixed y + GLfixed z + + + void glScalexOES + GLfixed x + GLfixed y + GLfixed z + + + void glScissor + GLint x + GLint y + GLsizei width + GLsizei height + + + + void glScissorArrayv + GLuint first + GLsizei count + const GLint *v + + + void glScissorArrayvNV + GLuint first + GLsizei count + const GLint *v + + + + void glScissorArrayvOES + GLuint first + GLsizei count + const GLint *v + + + + void glScissorIndexed + GLuint index + GLint left + GLint bottom + GLsizei width + GLsizei height + + + void glScissorIndexedNV + GLuint index + GLint left + GLint bottom + GLsizei width + GLsizei height + + + + void glScissorIndexedOES + GLuint index + GLint left + GLint bottom + GLsizei width + GLsizei height + + + + void glScissorIndexedv + GLuint index + const GLint *v + + + void glScissorIndexedvNV + GLuint index + const GLint *v + + + + void glScissorIndexedvOES + GLuint index + const GLint *v + + + + void glSecondaryColor3b + GLbyte red + GLbyte green + GLbyte blue + + + + void glSecondaryColor3bEXT + GLbyte red + GLbyte green + GLbyte blue + + + + + void glSecondaryColor3bv + const GLbyte *v + + + + void glSecondaryColor3bvEXT + const GLbyte *v + + + + + void glSecondaryColor3d + GLdouble red + GLdouble green + GLdouble blue + + + + void glSecondaryColor3dEXT + GLdouble red + GLdouble green + GLdouble blue + + + + + void glSecondaryColor3dv + const GLdouble *v + + + + void glSecondaryColor3dvEXT + const GLdouble *v + + + + + void glSecondaryColor3f + GLfloat red + GLfloat green + GLfloat blue + + + + void glSecondaryColor3fEXT + GLfloat red + GLfloat green + GLfloat blue + + + + + void glSecondaryColor3fv + const GLfloat *v + + + + void glSecondaryColor3fvEXT + const GLfloat *v + + + + + void glSecondaryColor3hNV + GLhalfNV red + GLhalfNV green + GLhalfNV blue + + + + void glSecondaryColor3hvNV + const GLhalfNV *v + + + + void glSecondaryColor3i + GLint red + GLint green + GLint blue + + + + void glSecondaryColor3iEXT + GLint red + GLint green + GLint blue + + + + + void glSecondaryColor3iv + const GLint *v + + + + void glSecondaryColor3ivEXT + const GLint *v + + + + + void glSecondaryColor3s + GLshort red + GLshort green + GLshort blue + + + + void glSecondaryColor3sEXT + GLshort red + GLshort green + GLshort blue + + + + + void glSecondaryColor3sv + const GLshort *v + + + + void glSecondaryColor3svEXT + const GLshort *v + + + + + void glSecondaryColor3ub + GLubyte red + GLubyte green + GLubyte blue + + + + void glSecondaryColor3ubEXT + GLubyte red + GLubyte green + GLubyte blue + + + + + void glSecondaryColor3ubv + const GLubyte *v + + + + void glSecondaryColor3ubvEXT + const GLubyte *v + + + + + void glSecondaryColor3ui + GLuint red + GLuint green + GLuint blue + + + + void glSecondaryColor3uiEXT + GLuint red + GLuint green + GLuint blue + + + + + void glSecondaryColor3uiv + const GLuint *v + + + + void glSecondaryColor3uivEXT + const GLuint *v + + + + + void glSecondaryColor3us + GLushort red + GLushort green + GLushort blue + + + + void glSecondaryColor3usEXT + GLushort red + GLushort green + GLushort blue + + + + + void glSecondaryColor3usv + const GLushort *v + + + + void glSecondaryColor3usvEXT + const GLushort *v + + + + + void glSecondaryColorFormatNV + GLint size + GLenum type + GLsizei stride + + + void glSecondaryColorP3ui + GLenum type + GLuint color + + + void glSecondaryColorP3uiv + GLenum type + const GLuint *color + + + void glSecondaryColorPointer + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glSecondaryColorPointerEXT + GLint size + GLenum type + GLsizei stride + const void *pointer + + + + void glSecondaryColorPointerListIBM + GLint size + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glSelectBuffer + GLsizei size + GLuint *buffer + + + + void glSelectPerfMonitorCountersAMD + GLuint monitor + GLboolean enable + GLuint group + GLint numCounters + GLuint *counterList + + + void glSemaphoreParameterui64vEXT + GLuint semaphore + GLenum pname + const GLuint64 *params + + + void glSeparableFilter2D + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *row + const void *column + + + + + void glSeparableFilter2DEXT + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *row + const void *column + + + + + void glSetFenceAPPLE + GLuint fence + + + void glSetFenceNV + GLuint fence + GLenum condition + + + void glSetFragmentShaderConstantATI + GLuint dst + const GLfloat *value + + + void glSetInvariantEXT + GLuint id + GLenum type + const void *addr + + + void glSetLocalConstantEXT + GLuint id + GLenum type + const void *addr + + + void glSetMultisamplefvAMD + GLenum pname + GLuint index + const GLfloat *val + + + void glShadeModel + GLenum mode + + + + void glShaderBinary + GLsizei count + const GLuint *shaders + GLenum binaryformat + const void *binary + GLsizei length + + + void glShaderOp1EXT + GLenum op + GLuint res + GLuint arg1 + + + void glShaderOp2EXT + GLenum op + GLuint res + GLuint arg1 + GLuint arg2 + + + void glShaderOp3EXT + GLenum op + GLuint res + GLuint arg1 + GLuint arg2 + GLuint arg3 + + + void glShaderSource + GLuint shader + GLsizei count + const GLchar *const*string + const GLint *length + + + void glShaderSourceARB + GLhandleARB shaderObj + GLsizei count + const GLcharARB **string + const GLint *length + + + + void glShaderStorageBlockBinding + GLuint program + GLuint storageBlockIndex + GLuint storageBlockBinding + + + void glSharpenTexFuncSGIS + GLenum target + GLsizei n + const GLfloat *points + + + + void glSignalSemaphoreEXT + GLuint semaphore + GLuint numBufferBarriers + const GLuint *buffers + GLuint numTextureBarriers + const GLuint *textures + const GLenum *dstLayouts + + + void glSpecializeShader + GLuint shader + const GLchar *pEntryPoint + GLuint numSpecializationConstants + const GLuint *pConstantIndex + const GLuint *pConstantValue + + + void glSpecializeShaderARB + GLuint shader + const GLchar *pEntryPoint + GLuint numSpecializationConstants + const GLuint *pConstantIndex + const GLuint *pConstantValue + + + + void glSpriteParameterfSGIX + GLenum pname + GLfloat param + + + + void glSpriteParameterfvSGIX + GLenum pname + const GLfloat *params + + + + void glSpriteParameteriSGIX + GLenum pname + GLint param + + + + void glSpriteParameterivSGIX + GLenum pname + const GLint *params + + + + void glStartInstrumentsSGIX + + + + void glStartTilingQCOM + GLuint x + GLuint y + GLuint width + GLuint height + GLbitfield preserveMask + + + void glStateCaptureNV + GLuint state + GLenum mode + + + void glStencilClearTagEXT + GLsizei stencilTagBits + GLuint stencilClearTag + + + + void glStencilFillPathInstancedNV + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLenum fillMode + GLuint mask + GLenum transformType + const GLfloat *transformValues + + + void glStencilFillPathNV + GLuint path + GLenum fillMode + GLuint mask + + + void glStencilFunc + GLenum func + GLint ref + GLuint mask + + + + void glStencilFuncSeparate + GLenum face + GLenum func + GLint ref + GLuint mask + + + void glStencilFuncSeparateATI + GLenum frontfunc + GLenum backfunc + GLint ref + GLuint mask + + + void glStencilMask + GLuint mask + + + + void glStencilMaskSeparate + GLenum face + GLuint mask + + + void glStencilOp + GLenum fail + GLenum zfail + GLenum zpass + + + + void glStencilOpSeparate + GLenum face + GLenum sfail + GLenum dpfail + GLenum dppass + + + void glStencilOpSeparateATI + GLenum face + GLenum sfail + GLenum dpfail + GLenum dppass + + + + void glStencilOpValueAMD + GLenum face + GLuint value + + + void glStencilStrokePathInstancedNV + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLint reference + GLuint mask + GLenum transformType + const GLfloat *transformValues + + + void glStencilStrokePathNV + GLuint path + GLint reference + GLuint mask + + + void glStencilThenCoverFillPathInstancedNV + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLenum fillMode + GLuint mask + GLenum coverMode + GLenum transformType + const GLfloat *transformValues + + + void glStencilThenCoverFillPathNV + GLuint path + GLenum fillMode + GLuint mask + GLenum coverMode + + + void glStencilThenCoverStrokePathInstancedNV + GLsizei numPaths + GLenum pathNameType + const void *paths + GLuint pathBase + GLint reference + GLuint mask + GLenum coverMode + GLenum transformType + const GLfloat *transformValues + + + void glStencilThenCoverStrokePathNV + GLuint path + GLint reference + GLuint mask + GLenum coverMode + + + void glStopInstrumentsSGIX + GLint marker + + + + void glStringMarkerGREMEDY + GLsizei len + const void *string + + + void glSubpixelPrecisionBiasNV + GLuint xbits + GLuint ybits + + + void glSwizzleEXT + GLuint res + GLuint in + GLenum outX + GLenum outY + GLenum outZ + GLenum outW + + + void glSyncTextureINTEL + GLuint texture + + + void glTagSampleBufferSGIX + + + + void glTangent3bEXT + GLbyte tx + GLbyte ty + GLbyte tz + + + + void glTangent3bvEXT + const GLbyte *v + + + void glTangent3dEXT + GLdouble tx + GLdouble ty + GLdouble tz + + + + void glTangent3dvEXT + const GLdouble *v + + + void glTangent3fEXT + GLfloat tx + GLfloat ty + GLfloat tz + + + + void glTangent3fvEXT + const GLfloat *v + + + void glTangent3iEXT + GLint tx + GLint ty + GLint tz + + + + void glTangent3ivEXT + const GLint *v + + + void glTangent3sEXT + GLshort tx + GLshort ty + GLshort tz + + + + void glTangent3svEXT + const GLshort *v + + + void glTangentPointerEXT + GLenum type + GLsizei stride + const void *pointer + + + void glTbufferMask3DFX + GLuint mask + + + void glTessellationFactorAMD + GLfloat factor + + + void glTessellationModeAMD + GLenum mode + + + GLboolean glTestFenceAPPLE + GLuint fence + + + GLboolean glTestFenceNV + GLuint fence + + + + GLboolean glTestObjectAPPLE + GLenum object + GLuint name + + + void glTexBuffer + GLenum target + GLenum internalformat + GLuint buffer + + + void glTexBufferARB + GLenum target + GLenum internalformat + GLuint buffer + + + + + void glTexBufferEXT + GLenum target + GLenum internalformat + GLuint buffer + + + + void glTexBufferOES + GLenum target + GLenum internalformat + GLuint buffer + + + + void glTexBufferRange + GLenum target + GLenum internalformat + GLuint buffer + GLintptr offset + GLsizeiptr size + + + void glTexBufferRangeEXT + GLenum target + GLenum internalformat + GLuint buffer + GLintptr offset + GLsizeiptr size + + + + void glTexBufferRangeOES + GLenum target + GLenum internalformat + GLuint buffer + GLintptr offset + GLsizeiptr size + + + + void glTexBumpParameterfvATI + GLenum pname + const GLfloat *param + + + void glTexBumpParameterivATI + GLenum pname + const GLint *param + + + void glTexCoord1bOES + GLbyte s + + + void glTexCoord1bvOES + const GLbyte *coords + + + void glTexCoord1d + GLdouble s + + + + void glTexCoord1dv + const GLdouble *v + + + + void glTexCoord1f + GLfloat s + + + + void glTexCoord1fv + const GLfloat *v + + + + void glTexCoord1hNV + GLhalfNV s + + + + void glTexCoord1hvNV + const GLhalfNV *v + + + + void glTexCoord1i + GLint s + + + + void glTexCoord1iv + const GLint *v + + + + void glTexCoord1s + GLshort s + + + + void glTexCoord1sv + const GLshort *v + + + + void glTexCoord1xOES + GLfixed s + + + void glTexCoord1xvOES + const GLfixed *coords + + + void glTexCoord2bOES + GLbyte s + GLbyte t + + + void glTexCoord2bvOES + const GLbyte *coords + + + void glTexCoord2d + GLdouble s + GLdouble t + + + + void glTexCoord2dv + const GLdouble *v + + + + void glTexCoord2f + GLfloat s + GLfloat t + + + + void glTexCoord2fColor3fVertex3fSUN + GLfloat s + GLfloat t + GLfloat r + GLfloat g + GLfloat b + GLfloat x + GLfloat y + GLfloat z + + + void glTexCoord2fColor3fVertex3fvSUN + const GLfloat *tc + const GLfloat *c + const GLfloat *v + + + void glTexCoord2fColor4fNormal3fVertex3fSUN + GLfloat s + GLfloat t + GLfloat r + GLfloat g + GLfloat b + GLfloat a + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glTexCoord2fColor4fNormal3fVertex3fvSUN + const GLfloat *tc + const GLfloat *c + const GLfloat *n + const GLfloat *v + + + void glTexCoord2fColor4ubVertex3fSUN + GLfloat s + GLfloat t + GLubyte r + GLubyte g + GLubyte b + GLubyte a + GLfloat x + GLfloat y + GLfloat z + + + void glTexCoord2fColor4ubVertex3fvSUN + const GLfloat *tc + const GLubyte *c + const GLfloat *v + + + void glTexCoord2fNormal3fVertex3fSUN + GLfloat s + GLfloat t + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + + + void glTexCoord2fNormal3fVertex3fvSUN + const GLfloat *tc + const GLfloat *n + const GLfloat *v + + + void glTexCoord2fVertex3fSUN + GLfloat s + GLfloat t + GLfloat x + GLfloat y + GLfloat z + + + void glTexCoord2fVertex3fvSUN + const GLfloat *tc + const GLfloat *v + + + void glTexCoord2fv + const GLfloat *v + + + + void glTexCoord2hNV + GLhalfNV s + GLhalfNV t + + + + void glTexCoord2hvNV + const GLhalfNV *v + + + + void glTexCoord2i + GLint s + GLint t + + + + void glTexCoord2iv + const GLint *v + + + + void glTexCoord2s + GLshort s + GLshort t + + + + void glTexCoord2sv + const GLshort *v + + + + void glTexCoord2xOES + GLfixed s + GLfixed t + + + void glTexCoord2xvOES + const GLfixed *coords + + + void glTexCoord3bOES + GLbyte s + GLbyte t + GLbyte r + + + void glTexCoord3bvOES + const GLbyte *coords + + + void glTexCoord3d + GLdouble s + GLdouble t + GLdouble r + + + + void glTexCoord3dv + const GLdouble *v + + + + void glTexCoord3f + GLfloat s + GLfloat t + GLfloat r + + + + void glTexCoord3fv + const GLfloat *v + + + + void glTexCoord3hNV + GLhalfNV s + GLhalfNV t + GLhalfNV r + + + + void glTexCoord3hvNV + const GLhalfNV *v + + + + void glTexCoord3i + GLint s + GLint t + GLint r + + + + void glTexCoord3iv + const GLint *v + + + + void glTexCoord3s + GLshort s + GLshort t + GLshort r + + + + void glTexCoord3sv + const GLshort *v + + + + void glTexCoord3xOES + GLfixed s + GLfixed t + GLfixed r + + + void glTexCoord3xvOES + const GLfixed *coords + + + void glTexCoord4bOES + GLbyte s + GLbyte t + GLbyte r + GLbyte q + + + void glTexCoord4bvOES + const GLbyte *coords + + + void glTexCoord4d + GLdouble s + GLdouble t + GLdouble r + GLdouble q + + + + void glTexCoord4dv + const GLdouble *v + + + + void glTexCoord4f + GLfloat s + GLfloat t + GLfloat r + GLfloat q + + + + void glTexCoord4fColor4fNormal3fVertex4fSUN + GLfloat s + GLfloat t + GLfloat p + GLfloat q + GLfloat r + GLfloat g + GLfloat b + GLfloat a + GLfloat nx + GLfloat ny + GLfloat nz + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + void glTexCoord4fColor4fNormal3fVertex4fvSUN + const GLfloat *tc + const GLfloat *c + const GLfloat *n + const GLfloat *v + + + void glTexCoord4fVertex4fSUN + GLfloat s + GLfloat t + GLfloat p + GLfloat q + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + void glTexCoord4fVertex4fvSUN + const GLfloat *tc + const GLfloat *v + + + void glTexCoord4fv + const GLfloat *v + + + + void glTexCoord4hNV + GLhalfNV s + GLhalfNV t + GLhalfNV r + GLhalfNV q + + + + void glTexCoord4hvNV + const GLhalfNV *v + + + + void glTexCoord4i + GLint s + GLint t + GLint r + GLint q + + + + void glTexCoord4iv + const GLint *v + + + + void glTexCoord4s + GLshort s + GLshort t + GLshort r + GLshort q + + + + void glTexCoord4sv + const GLshort *v + + + + void glTexCoord4xOES + GLfixed s + GLfixed t + GLfixed r + GLfixed q + + + void glTexCoord4xvOES + const GLfixed *coords + + + void glTexCoordFormatNV + GLint size + GLenum type + GLsizei stride + + + void glTexCoordP1ui + GLenum type + GLuint coords + + + void glTexCoordP1uiv + GLenum type + const GLuint *coords + + + void glTexCoordP2ui + GLenum type + GLuint coords + + + void glTexCoordP2uiv + GLenum type + const GLuint *coords + + + void glTexCoordP3ui + GLenum type + GLuint coords + + + void glTexCoordP3uiv + GLenum type + const GLuint *coords + + + void glTexCoordP4ui + GLenum type + GLuint coords + + + void glTexCoordP4uiv + GLenum type + const GLuint *coords + + + void glTexCoordPointer + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glTexCoordPointerEXT + GLint size + GLenum type + GLsizei stride + GLsizei count + const void *pointer + + + void glTexCoordPointerListIBM + GLint size + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glTexCoordPointervINTEL + GLint size + GLenum type + const void **pointer + + + void glTexEnvf + GLenum target + GLenum pname + GLfloat param + + + + void glTexEnvfv + GLenum target + GLenum pname + const GLfloat *params + + + + void glTexEnvi + GLenum target + GLenum pname + GLint param + + + + void glTexEnviv + GLenum target + GLenum pname + const GLint *params + + + + void glTexEnvx + GLenum target + GLenum pname + GLfixed param + + + void glTexEnvxOES + GLenum target + GLenum pname + GLfixed param + + + void glTexEnvxv + GLenum target + GLenum pname + const GLfixed *params + + + void glTexEnvxvOES + GLenum target + GLenum pname + const GLfixed *params + + + void glTexFilterFuncSGIS + GLenum target + GLenum filter + GLsizei n + const GLfloat *weights + + + + void glTexGend + GLenum coord + GLenum pname + GLdouble param + + + + void glTexGendv + GLenum coord + GLenum pname + const GLdouble *params + + + + void glTexGenf + GLenum coord + GLenum pname + GLfloat param + + + + void glTexGenfOES + GLenum coord + GLenum pname + GLfloat param + + + void glTexGenfv + GLenum coord + GLenum pname + const GLfloat *params + + + + void glTexGenfvOES + GLenum coord + GLenum pname + const GLfloat *params + + + void glTexGeni + GLenum coord + GLenum pname + GLint param + + + + void glTexGeniOES + GLenum coord + GLenum pname + GLint param + + + void glTexGeniv + GLenum coord + GLenum pname + const GLint *params + + + + void glTexGenivOES + GLenum coord + GLenum pname + const GLint *params + + + void glTexGenxOES + GLenum coord + GLenum pname + GLfixed param + + + void glTexGenxvOES + GLenum coord + GLenum pname + const GLfixed *params + + + void glTexImage1D + GLenum target + GLint level + GLint internalformat + GLsizei width + GLint border + GLenum format + GLenum type + const void *pixels + + + + + void glTexImage2D + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const void *pixels + + + + + void glTexImage2DMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLboolean fixedsamplelocations + + + void glTexImage2DMultisampleCoverageNV + GLenum target + GLsizei coverageSamples + GLsizei colorSamples + GLint internalFormat + GLsizei width + GLsizei height + GLboolean fixedSampleLocations + + + void glTexImage3D + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const void *pixels + + + + + void glTexImage3DEXT + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const void *pixels + + + + + void glTexImage3DMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedsamplelocations + + + void glTexImage3DMultisampleCoverageNV + GLenum target + GLsizei coverageSamples + GLsizei colorSamples + GLint internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedSampleLocations + + + void glTexImage3DOES + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const void *pixels + + + void glTexImage4DSGIS + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLsizei size4d + GLint border + GLenum format + GLenum type + const void *pixels + + + + void glTexPageCommitmentARB + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLboolean commit + + + void glTexPageCommitmentEXT + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLboolean commit + + + + void glTexParameterIiv + GLenum target + GLenum pname + const GLint *params + + + + void glTexParameterIivEXT + GLenum target + GLenum pname + const GLint *params + + + + void glTexParameterIivOES + GLenum target + GLenum pname + const GLint *params + + + + void glTexParameterIuiv + GLenum target + GLenum pname + const GLuint *params + + + + void glTexParameterIuivEXT + GLenum target + GLenum pname + const GLuint *params + + + + void glTexParameterIuivOES + GLenum target + GLenum pname + const GLuint *params + + + + void glTexParameterf + GLenum target + GLenum pname + GLfloat param + + + + void glTexParameterfv + GLenum target + GLenum pname + const GLfloat *params + + + + void glTexParameteri + GLenum target + GLenum pname + GLint param + + + + void glTexParameteriv + GLenum target + GLenum pname + const GLint *params + + + + void glTexParameterx + GLenum target + GLenum pname + GLfixed param + + + void glTexParameterxOES + GLenum target + GLenum pname + GLfixed param + + + void glTexParameterxv + GLenum target + GLenum pname + const GLfixed *params + + + void glTexParameterxvOES + GLenum target + GLenum pname + const GLfixed *params + + + void glTexRenderbufferNV + GLenum target + GLuint renderbuffer + + + void glTexStorage1D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + + + void glTexStorage1DEXT + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + + + + void glTexStorage2D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + + + void glTexStorage2DEXT + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + + + + void glTexStorage2DMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLboolean fixedsamplelocations + + + void glTexStorage3D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + + + void glTexStorage3DEXT + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + + + + void glTexStorage3DMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedsamplelocations + + + void glTexStorage3DMultisampleOES + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedsamplelocations + + + + void glTexStorageMem1DEXT + GLenum target + GLsizei levels + GLenum internalFormat + GLsizei width + GLuint memory + GLuint64 offset + + + void glTexStorageMem2DEXT + GLenum target + GLsizei levels + GLenum internalFormat + GLsizei width + GLsizei height + GLuint memory + GLuint64 offset + + + void glTexStorageMem2DMultisampleEXT + GLenum target + GLsizei samples + GLenum internalFormat + GLsizei width + GLsizei height + GLboolean fixedSampleLocations + GLuint memory + GLuint64 offset + + + void glTexStorageMem3DEXT + GLenum target + GLsizei levels + GLenum internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLuint memory + GLuint64 offset + + + void glTexStorageMem3DMultisampleEXT + GLenum target + GLsizei samples + GLenum internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedSampleLocations + GLuint memory + GLuint64 offset + + + void glTexStorageSparseAMD + GLenum target + GLenum internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLsizei layers + GLbitfield flags + + + void glTexSubImage1D + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLenum type + const void *pixels + + + + + void glTexSubImage1DEXT + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLenum type + const void *pixels + + + + + void glTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *pixels + + + + + void glTexSubImage2DEXT + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *pixels + + + + + void glTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *pixels + + + + + void glTexSubImage3DEXT + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *pixels + + + + + void glTexSubImage3DOES + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *pixels + + + void glTexSubImage4DSGIS + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint woffset + GLsizei width + GLsizei height + GLsizei depth + GLsizei size4d + GLenum format + GLenum type + const void *pixels + + + + void glTextureBarrier + + + void glTextureBarrierNV + + + + void glTextureBuffer + GLuint texture + GLenum internalformat + GLuint buffer + + + void glTextureBufferEXT + GLuint texture + GLenum target + GLenum internalformat + GLuint buffer + + + void glTextureBufferRange + GLuint texture + GLenum internalformat + GLuint buffer + GLintptr offset + GLsizeiptr size + + + void glTextureBufferRangeEXT + GLuint texture + GLenum target + GLenum internalformat + GLuint buffer + GLintptr offset + GLsizeiptr size + + + void glTextureColorMaskSGIS + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha + + + + void glTextureFoveationParametersQCOM + GLuint texture + GLuint layer + GLuint focalPoint + GLfloat focalX + GLfloat focalY + GLfloat gainX + GLfloat gainY + GLfloat foveaArea + + + void glTextureImage1DEXT + GLuint texture + GLenum target + GLint level + GLint internalformat + GLsizei width + GLint border + GLenum format + GLenum type + const void *pixels + + + void glTextureImage2DEXT + GLuint texture + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const void *pixels + + + void glTextureImage2DMultisampleCoverageNV + GLuint texture + GLenum target + GLsizei coverageSamples + GLsizei colorSamples + GLint internalFormat + GLsizei width + GLsizei height + GLboolean fixedSampleLocations + + + void glTextureImage2DMultisampleNV + GLuint texture + GLenum target + GLsizei samples + GLint internalFormat + GLsizei width + GLsizei height + GLboolean fixedSampleLocations + + + void glTextureImage3DEXT + GLuint texture + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const void *pixels + + + void glTextureImage3DMultisampleCoverageNV + GLuint texture + GLenum target + GLsizei coverageSamples + GLsizei colorSamples + GLint internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedSampleLocations + + + void glTextureImage3DMultisampleNV + GLuint texture + GLenum target + GLsizei samples + GLint internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedSampleLocations + + + void glTextureLightEXT + GLenum pname + + + void glTextureMaterialEXT + GLenum face + GLenum mode + + + void glTextureNormalEXT + GLenum mode + + + void glTexturePageCommitmentEXT + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLboolean commit + + + void glTextureParameterIiv + GLuint texture + GLenum pname + const GLint *params + + + void glTextureParameterIivEXT + GLuint texture + GLenum target + GLenum pname + const GLint *params + + + void glTextureParameterIuiv + GLuint texture + GLenum pname + const GLuint *params + + + void glTextureParameterIuivEXT + GLuint texture + GLenum target + GLenum pname + const GLuint *params + + + void glTextureParameterf + GLuint texture + GLenum pname + GLfloat param + + + void glTextureParameterfEXT + GLuint texture + GLenum target + GLenum pname + GLfloat param + + + + void glTextureParameterfv + GLuint texture + GLenum pname + const GLfloat *param + + + void glTextureParameterfvEXT + GLuint texture + GLenum target + GLenum pname + const GLfloat *params + + + void glTextureParameteri + GLuint texture + GLenum pname + GLint param + + + void glTextureParameteriEXT + GLuint texture + GLenum target + GLenum pname + GLint param + + + + void glTextureParameteriv + GLuint texture + GLenum pname + const GLint *param + + + void glTextureParameterivEXT + GLuint texture + GLenum target + GLenum pname + const GLint *params + + + void glTextureRangeAPPLE + GLenum target + GLsizei length + const void *pointer + + + void glTextureRenderbufferEXT + GLuint texture + GLenum target + GLuint renderbuffer + + + void glTextureStorage1D + GLuint texture + GLsizei levels + GLenum internalformat + GLsizei width + + + void glTextureStorage1DEXT + GLuint texture + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + + + void glTextureStorage2D + GLuint texture + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + + + void glTextureStorage2DEXT + GLuint texture + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + + + void glTextureStorage2DMultisample + GLuint texture + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLboolean fixedsamplelocations + + + void glTextureStorage2DMultisampleEXT + GLuint texture + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLboolean fixedsamplelocations + + + void glTextureStorage3D + GLuint texture + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + + + void glTextureStorage3DEXT + GLuint texture + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + + + void glTextureStorage3DMultisample + GLuint texture + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedsamplelocations + + + void glTextureStorage3DMultisampleEXT + GLuint texture + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedsamplelocations + + + void glTextureStorageMem1DEXT + GLuint texture + GLsizei levels + GLenum internalFormat + GLsizei width + GLuint memory + GLuint64 offset + + + void glTextureStorageMem2DEXT + GLuint texture + GLsizei levels + GLenum internalFormat + GLsizei width + GLsizei height + GLuint memory + GLuint64 offset + + + void glTextureStorageMem2DMultisampleEXT + GLuint texture + GLsizei samples + GLenum internalFormat + GLsizei width + GLsizei height + GLboolean fixedSampleLocations + GLuint memory + GLuint64 offset + + + void glTextureStorageMem3DEXT + GLuint texture + GLsizei levels + GLenum internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLuint memory + GLuint64 offset + + + void glTextureStorageMem3DMultisampleEXT + GLuint texture + GLsizei samples + GLenum internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLboolean fixedSampleLocations + GLuint memory + GLuint64 offset + + + void glTextureStorageSparseAMD + GLuint texture + GLenum target + GLenum internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLsizei layers + GLbitfield flags + + + void glTextureSubImage1D + GLuint texture + GLint level + GLint xoffset + GLsizei width + GLenum format + GLenum type + const void *pixels + + + void glTextureSubImage1DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLenum type + const void *pixels + + + void glTextureSubImage2D + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *pixels + + + void glTextureSubImage2DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const void *pixels + + + void glTextureSubImage3D + GLuint texture + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *pixels + + + void glTextureSubImage3DEXT + GLuint texture + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const void *pixels + + + void glTextureView + GLuint texture + GLenum target + GLuint origtexture + GLenum internalformat + GLuint minlevel + GLuint numlevels + GLuint minlayer + GLuint numlayers + + + void glTextureViewEXT + GLuint texture + GLenum target + GLuint origtexture + GLenum internalformat + GLuint minlevel + GLuint numlevels + GLuint minlayer + GLuint numlayers + + + + void glTextureViewOES + GLuint texture + GLenum target + GLuint origtexture + GLenum internalformat + GLuint minlevel + GLuint numlevels + GLuint minlayer + GLuint numlayers + + + + void glTrackMatrixNV + GLenum target + GLuint address + GLenum matrix + GLenum transform + + + + void glTransformFeedbackAttribsNV + GLsizei count + const GLint *attribs + GLenum bufferMode + + + void glTransformFeedbackBufferBase + GLuint xfb + GLuint index + GLuint buffer + + + void glTransformFeedbackBufferRange + GLuint xfb + GLuint index + GLuint buffer + GLintptr offset + GLsizeiptr size + + + void glTransformFeedbackStreamAttribsNV + GLsizei count + const GLint *attribs + GLsizei nbuffers + const GLint *bufstreams + GLenum bufferMode + + + void glTransformFeedbackVaryings + GLuint program + GLsizei count + const GLchar *const*varyings + GLenum bufferMode + + + + void glTransformFeedbackVaryingsEXT + GLuint program + GLsizei count + const GLchar *const*varyings + GLenum bufferMode + + + + void glTransformFeedbackVaryingsNV + GLuint program + GLsizei count + const GLint *locations + GLenum bufferMode + + + void glTransformPathNV + GLuint resultPath + GLuint srcPath + GLenum transformType + const GLfloat *transformValues + + + void glTranslated + GLdouble x + GLdouble y + GLdouble z + + + + void glTranslatef + GLfloat x + GLfloat y + GLfloat z + + + + void glTranslatex + GLfixed x + GLfixed y + GLfixed z + + + void glTranslatexOES + GLfixed x + GLfixed y + GLfixed z + + + void glUniform1d + GLint location + GLdouble x + + + void glUniform1dv + GLint location + GLsizei count + const GLdouble *value + + + void glUniform1f + GLint location + GLfloat v0 + + + void glUniform1fARB + GLint location + GLfloat v0 + + + + void glUniform1fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform1fvARB + GLint location + GLsizei count + const GLfloat *value + + + + void glUniform1i + GLint location + GLint v0 + + + void glUniform1i64ARB + GLint location + GLint64 x + + + void glUniform1i64NV + GLint location + GLint64EXT x + + + void glUniform1i64vARB + GLint location + GLsizei count + const GLint64 *value + + + void glUniform1i64vNV + GLint location + GLsizei count + const GLint64EXT *value + + + void glUniform1iARB + GLint location + GLint v0 + + + + void glUniform1iv + GLint location + GLsizei count + const GLint *value + + + void glUniform1ivARB + GLint location + GLsizei count + const GLint *value + + + + void glUniform1ui + GLint location + GLuint v0 + + + void glUniform1ui64ARB + GLint location + GLuint64 x + + + void glUniform1ui64NV + GLint location + GLuint64EXT x + + + void glUniform1ui64vARB + GLint location + GLsizei count + const GLuint64 *value + + + void glUniform1ui64vNV + GLint location + GLsizei count + const GLuint64EXT *value + + + void glUniform1uiEXT + GLint location + GLuint v0 + + + + void glUniform1uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform1uivEXT + GLint location + GLsizei count + const GLuint *value + + + + void glUniform2d + GLint location + GLdouble x + GLdouble y + + + void glUniform2dv + GLint location + GLsizei count + const GLdouble *value + + + void glUniform2f + GLint location + GLfloat v0 + GLfloat v1 + + + void glUniform2fARB + GLint location + GLfloat v0 + GLfloat v1 + + + + void glUniform2fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform2fvARB + GLint location + GLsizei count + const GLfloat *value + + + + void glUniform2i + GLint location + GLint v0 + GLint v1 + + + void glUniform2i64ARB + GLint location + GLint64 x + GLint64 y + + + void glUniform2i64NV + GLint location + GLint64EXT x + GLint64EXT y + + + void glUniform2i64vARB + GLint location + GLsizei count + const GLint64 *value + + + void glUniform2i64vNV + GLint location + GLsizei count + const GLint64EXT *value + + + void glUniform2iARB + GLint location + GLint v0 + GLint v1 + + + + void glUniform2iv + GLint location + GLsizei count + const GLint *value + + + void glUniform2ivARB + GLint location + GLsizei count + const GLint *value + + + + void glUniform2ui + GLint location + GLuint v0 + GLuint v1 + + + void glUniform2ui64ARB + GLint location + GLuint64 x + GLuint64 y + + + void glUniform2ui64NV + GLint location + GLuint64EXT x + GLuint64EXT y + + + void glUniform2ui64vARB + GLint location + GLsizei count + const GLuint64 *value + + + void glUniform2ui64vNV + GLint location + GLsizei count + const GLuint64EXT *value + + + void glUniform2uiEXT + GLint location + GLuint v0 + GLuint v1 + + + + void glUniform2uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform2uivEXT + GLint location + GLsizei count + const GLuint *value + + + + void glUniform3d + GLint location + GLdouble x + GLdouble y + GLdouble z + + + void glUniform3dv + GLint location + GLsizei count + const GLdouble *value + + + void glUniform3f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glUniform3fARB + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + + void glUniform3fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform3fvARB + GLint location + GLsizei count + const GLfloat *value + + + + void glUniform3i + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glUniform3i64ARB + GLint location + GLint64 x + GLint64 y + GLint64 z + + + void glUniform3i64NV + GLint location + GLint64EXT x + GLint64EXT y + GLint64EXT z + + + void glUniform3i64vARB + GLint location + GLsizei count + const GLint64 *value + + + void glUniform3i64vNV + GLint location + GLsizei count + const GLint64EXT *value + + + void glUniform3iARB + GLint location + GLint v0 + GLint v1 + GLint v2 + + + + void glUniform3iv + GLint location + GLsizei count + const GLint *value + + + void glUniform3ivARB + GLint location + GLsizei count + const GLint *value + + + + void glUniform3ui + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + + + void glUniform3ui64ARB + GLint location + GLuint64 x + GLuint64 y + GLuint64 z + + + void glUniform3ui64NV + GLint location + GLuint64EXT x + GLuint64EXT y + GLuint64EXT z + + + void glUniform3ui64vARB + GLint location + GLsizei count + const GLuint64 *value + + + void glUniform3ui64vNV + GLint location + GLsizei count + const GLuint64EXT *value + + + void glUniform3uiEXT + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + + + + void glUniform3uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform3uivEXT + GLint location + GLsizei count + const GLuint *value + + + + void glUniform4d + GLint location + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + void glUniform4dv + GLint location + GLsizei count + const GLdouble *value + + + void glUniform4f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glUniform4fARB + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + + void glUniform4fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform4fvARB + GLint location + GLsizei count + const GLfloat *value + + + + void glUniform4i + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glUniform4i64ARB + GLint location + GLint64 x + GLint64 y + GLint64 z + GLint64 w + + + void glUniform4i64NV + GLint location + GLint64EXT x + GLint64EXT y + GLint64EXT z + GLint64EXT w + + + void glUniform4i64vARB + GLint location + GLsizei count + const GLint64 *value + + + void glUniform4i64vNV + GLint location + GLsizei count + const GLint64EXT *value + + + void glUniform4iARB + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + + void glUniform4iv + GLint location + GLsizei count + const GLint *value + + + void glUniform4ivARB + GLint location + GLsizei count + const GLint *value + + + + void glUniform4ui + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + void glUniform4ui64ARB + GLint location + GLuint64 x + GLuint64 y + GLuint64 z + GLuint64 w + + + void glUniform4ui64NV + GLint location + GLuint64EXT x + GLuint64EXT y + GLuint64EXT z + GLuint64EXT w + + + void glUniform4ui64vARB + GLint location + GLsizei count + const GLuint64 *value + + + void glUniform4ui64vNV + GLint location + GLsizei count + const GLuint64EXT *value + + + void glUniform4uiEXT + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + + void glUniform4uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform4uivEXT + GLint location + GLsizei count + const GLuint *value + + + + void glUniformBlockBinding + GLuint program + GLuint uniformBlockIndex + GLuint uniformBlockBinding + + + + void glUniformBufferEXT + GLuint program + GLint location + GLuint buffer + + + void glUniformHandleui64ARB + GLint location + GLuint64 value + + + void glUniformHandleui64IMG + GLint location + GLuint64 value + + + + void glUniformHandleui64NV + GLint location + GLuint64 value + + + void glUniformHandleui64vARB + GLint location + GLsizei count + const GLuint64 *value + + + void glUniformHandleui64vIMG + GLint location + GLsizei count + const GLuint64 *value + + + + void glUniformHandleui64vNV + GLint location + GLsizei count + const GLuint64 *value + + + void glUniformMatrix2dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2fvARB + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix2x3dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix2x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix2x3fvNV + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix2x4dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix2x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix2x4fvNV + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix3dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3fvARB + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix3x2dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix3x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix3x2fvNV + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix3x4dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix3x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix3x4fvNV + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix4dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4fvARB + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix4x2dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix4x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix4x2fvNV + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix4x3dv + GLint location + GLsizei count + GLboolean transpose + const GLdouble *value + + + void glUniformMatrix4x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformMatrix4x3fvNV + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + void glUniformSubroutinesuiv + GLenum shadertype + GLsizei count + const GLuint *indices + + + void glUniformui64NV + GLint location + GLuint64EXT value + + + void glUniformui64vNV + GLint location + GLsizei count + const GLuint64EXT *value + + + void glUnlockArraysEXT + + + GLboolean glUnmapBuffer + GLenum target + + + GLboolean glUnmapBufferARB + GLenum target + + + + GLboolean glUnmapBufferOES + GLenum target + + + + GLboolean glUnmapNamedBuffer + GLuint buffer + + + GLboolean glUnmapNamedBufferEXT + GLuint buffer + + + void glUnmapObjectBufferATI + GLuint buffer + + + void glUnmapTexture2DINTEL + GLuint texture + GLint level + + + void glUpdateObjectBufferATI + GLuint buffer + GLuint offset + GLsizei size + const void *pointer + GLenum preserve + + + void glUseProgram + GLuint program + + + void glUseProgramObjectARB + GLhandleARB programObj + + + + void glUseProgramStages + GLuint pipeline + GLbitfield stages + GLuint program + + + void glUseProgramStagesEXT + GLuint pipeline + GLbitfield stages + GLuint program + + + void glUseShaderProgramEXT + GLenum type + GLuint program + + + void glVDPAUFiniNV + + + void glVDPAUGetSurfaceivNV + GLvdpauSurfaceNV surface + GLenum pname + GLsizei bufSize + GLsizei *length + GLint *values + + + void glVDPAUInitNV + const void *vdpDevice + const void *getProcAddress + + + GLboolean glVDPAUIsSurfaceNV + GLvdpauSurfaceNV surface + + + void glVDPAUMapSurfacesNV + GLsizei numSurfaces + const GLvdpauSurfaceNV *surfaces + + + GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV + const void *vdpSurface + GLenum target + GLsizei numTextureNames + const GLuint *textureNames + + + GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV + const void *vdpSurface + GLenum target + GLsizei numTextureNames + const GLuint *textureNames + + + void glVDPAUSurfaceAccessNV + GLvdpauSurfaceNV surface + GLenum access + + + void glVDPAUUnmapSurfacesNV + GLsizei numSurface + const GLvdpauSurfaceNV *surfaces + + + void glVDPAUUnregisterSurfaceNV + GLvdpauSurfaceNV surface + + + void glValidateProgram + GLuint program + + + void glValidateProgramARB + GLhandleARB programObj + + + + void glValidateProgramPipeline + GLuint pipeline + + + void glValidateProgramPipelineEXT + GLuint pipeline + + + void glVariantArrayObjectATI + GLuint id + GLenum type + GLsizei stride + GLuint buffer + GLuint offset + + + void glVariantPointerEXT + GLuint id + GLenum type + GLuint stride + const void *addr + + + void glVariantbvEXT + GLuint id + const GLbyte *addr + + + void glVariantdvEXT + GLuint id + const GLdouble *addr + + + void glVariantfvEXT + GLuint id + const GLfloat *addr + + + void glVariantivEXT + GLuint id + const GLint *addr + + + void glVariantsvEXT + GLuint id + const GLshort *addr + + + void glVariantubvEXT + GLuint id + const GLubyte *addr + + + void glVariantuivEXT + GLuint id + const GLuint *addr + + + void glVariantusvEXT + GLuint id + const GLushort *addr + + + void glVertex2bOES + GLbyte x + GLbyte y + + + void glVertex2bvOES + const GLbyte *coords + + + void glVertex2d + GLdouble x + GLdouble y + + + + void glVertex2dv + const GLdouble *v + + + + void glVertex2f + GLfloat x + GLfloat y + + + + void glVertex2fv + const GLfloat *v + + + + void glVertex2hNV + GLhalfNV x + GLhalfNV y + + + + void glVertex2hvNV + const GLhalfNV *v + + + + void glVertex2i + GLint x + GLint y + + + + void glVertex2iv + const GLint *v + + + + void glVertex2s + GLshort x + GLshort y + + + + void glVertex2sv + const GLshort *v + + + + void glVertex2xOES + GLfixed x + + + void glVertex2xvOES + const GLfixed *coords + + + void glVertex3bOES + GLbyte x + GLbyte y + GLbyte z + + + void glVertex3bvOES + const GLbyte *coords + + + void glVertex3d + GLdouble x + GLdouble y + GLdouble z + + + + void glVertex3dv + const GLdouble *v + + + + void glVertex3f + GLfloat x + GLfloat y + GLfloat z + + + + void glVertex3fv + const GLfloat *v + + + + void glVertex3hNV + GLhalfNV x + GLhalfNV y + GLhalfNV z + + + + void glVertex3hvNV + const GLhalfNV *v + + + + void glVertex3i + GLint x + GLint y + GLint z + + + + void glVertex3iv + const GLint *v + + + + void glVertex3s + GLshort x + GLshort y + GLshort z + + + + void glVertex3sv + const GLshort *v + + + + void glVertex3xOES + GLfixed x + GLfixed y + + + void glVertex3xvOES + const GLfixed *coords + + + void glVertex4bOES + GLbyte x + GLbyte y + GLbyte z + GLbyte w + + + void glVertex4bvOES + const GLbyte *coords + + + void glVertex4d + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glVertex4dv + const GLdouble *v + + + + void glVertex4f + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glVertex4fv + const GLfloat *v + + + + void glVertex4hNV + GLhalfNV x + GLhalfNV y + GLhalfNV z + GLhalfNV w + + + + void glVertex4hvNV + const GLhalfNV *v + + + + void glVertex4i + GLint x + GLint y + GLint z + GLint w + + + + void glVertex4iv + const GLint *v + + + + void glVertex4s + GLshort x + GLshort y + GLshort z + GLshort w + + + + void glVertex4sv + const GLshort *v + + + + void glVertex4xOES + GLfixed x + GLfixed y + GLfixed z + + + void glVertex4xvOES + const GLfixed *coords + + + void glVertexArrayAttribBinding + GLuint vaobj + GLuint attribindex + GLuint bindingindex + + + void glVertexArrayAttribFormat + GLuint vaobj + GLuint attribindex + GLint size + GLenum type + GLboolean normalized + GLuint relativeoffset + + + void glVertexArrayAttribIFormat + GLuint vaobj + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + void glVertexArrayAttribLFormat + GLuint vaobj + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + void glVertexArrayBindVertexBufferEXT + GLuint vaobj + GLuint bindingindex + GLuint buffer + GLintptr offset + GLsizei stride + + + void glVertexArrayBindingDivisor + GLuint vaobj + GLuint bindingindex + GLuint divisor + + + void glVertexArrayColorOffsetEXT + GLuint vaobj + GLuint buffer + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayEdgeFlagOffsetEXT + GLuint vaobj + GLuint buffer + GLsizei stride + GLintptr offset + + + void glVertexArrayElementBuffer + GLuint vaobj + GLuint buffer + + + void glVertexArrayFogCoordOffsetEXT + GLuint vaobj + GLuint buffer + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayIndexOffsetEXT + GLuint vaobj + GLuint buffer + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayMultiTexCoordOffsetEXT + GLuint vaobj + GLuint buffer + GLenum texunit + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayNormalOffsetEXT + GLuint vaobj + GLuint buffer + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayParameteriAPPLE + GLenum pname + GLint param + + + void glVertexArrayRangeAPPLE + GLsizei length + void *pointer + + + void glVertexArrayRangeNV + GLsizei length + const void *pointer + + + void glVertexArraySecondaryColorOffsetEXT + GLuint vaobj + GLuint buffer + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayTexCoordOffsetEXT + GLuint vaobj + GLuint buffer + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayVertexAttribBindingEXT + GLuint vaobj + GLuint attribindex + GLuint bindingindex + + + void glVertexArrayVertexAttribDivisorEXT + GLuint vaobj + GLuint index + GLuint divisor + + + void glVertexArrayVertexAttribFormatEXT + GLuint vaobj + GLuint attribindex + GLint size + GLenum type + GLboolean normalized + GLuint relativeoffset + + + void glVertexArrayVertexAttribIFormatEXT + GLuint vaobj + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + void glVertexArrayVertexAttribIOffsetEXT + GLuint vaobj + GLuint buffer + GLuint index + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayVertexAttribLFormatEXT + GLuint vaobj + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + void glVertexArrayVertexAttribLOffsetEXT + GLuint vaobj + GLuint buffer + GLuint index + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexArrayVertexAttribOffsetEXT + GLuint vaobj + GLuint buffer + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + GLintptr offset + + + void glVertexArrayVertexBindingDivisorEXT + GLuint vaobj + GLuint bindingindex + GLuint divisor + + + void glVertexArrayVertexBuffer + GLuint vaobj + GLuint bindingindex + GLuint buffer + GLintptr offset + GLsizei stride + + + void glVertexArrayVertexBuffers + GLuint vaobj + GLuint first + GLsizei count + const GLuint *buffers + const GLintptr *offsets + const GLsizei *strides + + + void glVertexArrayVertexOffsetEXT + GLuint vaobj + GLuint buffer + GLint size + GLenum type + GLsizei stride + GLintptr offset + + + void glVertexAttrib1d + GLuint index + GLdouble x + + + + void glVertexAttrib1dARB + GLuint index + GLdouble x + + + + + void glVertexAttrib1dNV + GLuint index + GLdouble x + + + + + void glVertexAttrib1dv + GLuint index + const GLdouble *v + + + + void glVertexAttrib1dvARB + GLuint index + const GLdouble *v + + + + + void glVertexAttrib1dvNV + GLuint index + const GLdouble *v + + + + + void glVertexAttrib1f + GLuint index + GLfloat x + + + + void glVertexAttrib1fARB + GLuint index + GLfloat x + + + + + void glVertexAttrib1fNV + GLuint index + GLfloat x + + + + + void glVertexAttrib1fv + GLuint index + const GLfloat *v + + + + void glVertexAttrib1fvARB + GLuint index + const GLfloat *v + + + + + void glVertexAttrib1fvNV + GLuint index + const GLfloat *v + + + + + void glVertexAttrib1hNV + GLuint index + GLhalfNV x + + + + void glVertexAttrib1hvNV + GLuint index + const GLhalfNV *v + + + + void glVertexAttrib1s + GLuint index + GLshort x + + + + void glVertexAttrib1sARB + GLuint index + GLshort x + + + + + void glVertexAttrib1sNV + GLuint index + GLshort x + + + + + void glVertexAttrib1sv + GLuint index + const GLshort *v + + + + void glVertexAttrib1svARB + GLuint index + const GLshort *v + + + + + void glVertexAttrib1svNV + GLuint index + const GLshort *v + + + + + void glVertexAttrib2d + GLuint index + GLdouble x + GLdouble y + + + + void glVertexAttrib2dARB + GLuint index + GLdouble x + GLdouble y + + + + + void glVertexAttrib2dNV + GLuint index + GLdouble x + GLdouble y + + + + + void glVertexAttrib2dv + GLuint index + const GLdouble *v + + + + void glVertexAttrib2dvARB + GLuint index + const GLdouble *v + + + + + void glVertexAttrib2dvNV + GLuint index + const GLdouble *v + + + + + void glVertexAttrib2f + GLuint index + GLfloat x + GLfloat y + + + + void glVertexAttrib2fARB + GLuint index + GLfloat x + GLfloat y + + + + + void glVertexAttrib2fNV + GLuint index + GLfloat x + GLfloat y + + + + + void glVertexAttrib2fv + GLuint index + const GLfloat *v + + + + void glVertexAttrib2fvARB + GLuint index + const GLfloat *v + + + + + void glVertexAttrib2fvNV + GLuint index + const GLfloat *v + + + + + void glVertexAttrib2hNV + GLuint index + GLhalfNV x + GLhalfNV y + + + + void glVertexAttrib2hvNV + GLuint index + const GLhalfNV *v + + + + void glVertexAttrib2s + GLuint index + GLshort x + GLshort y + + + + void glVertexAttrib2sARB + GLuint index + GLshort x + GLshort y + + + + + void glVertexAttrib2sNV + GLuint index + GLshort x + GLshort y + + + + + void glVertexAttrib2sv + GLuint index + const GLshort *v + + + + void glVertexAttrib2svARB + GLuint index + const GLshort *v + + + + + void glVertexAttrib2svNV + GLuint index + const GLshort *v + + + + + void glVertexAttrib3d + GLuint index + GLdouble x + GLdouble y + GLdouble z + + + + void glVertexAttrib3dARB + GLuint index + GLdouble x + GLdouble y + GLdouble z + + + + + void glVertexAttrib3dNV + GLuint index + GLdouble x + GLdouble y + GLdouble z + + + + + void glVertexAttrib3dv + GLuint index + const GLdouble *v + + + + void glVertexAttrib3dvARB + GLuint index + const GLdouble *v + + + + + void glVertexAttrib3dvNV + GLuint index + const GLdouble *v + + + + + void glVertexAttrib3f + GLuint index + GLfloat x + GLfloat y + GLfloat z + + + + void glVertexAttrib3fARB + GLuint index + GLfloat x + GLfloat y + GLfloat z + + + + + void glVertexAttrib3fNV + GLuint index + GLfloat x + GLfloat y + GLfloat z + + + + + void glVertexAttrib3fv + GLuint index + const GLfloat *v + + + + void glVertexAttrib3fvARB + GLuint index + const GLfloat *v + + + + + void glVertexAttrib3fvNV + GLuint index + const GLfloat *v + + + + + void glVertexAttrib3hNV + GLuint index + GLhalfNV x + GLhalfNV y + GLhalfNV z + + + + void glVertexAttrib3hvNV + GLuint index + const GLhalfNV *v + + + + void glVertexAttrib3s + GLuint index + GLshort x + GLshort y + GLshort z + + + + void glVertexAttrib3sARB + GLuint index + GLshort x + GLshort y + GLshort z + + + + + void glVertexAttrib3sNV + GLuint index + GLshort x + GLshort y + GLshort z + + + + + void glVertexAttrib3sv + GLuint index + const GLshort *v + + + + void glVertexAttrib3svARB + GLuint index + const GLshort *v + + + + + void glVertexAttrib3svNV + GLuint index + const GLshort *v + + + + + void glVertexAttrib4Nbv + GLuint index + const GLbyte *v + + + void glVertexAttrib4NbvARB + GLuint index + const GLbyte *v + + + + void glVertexAttrib4Niv + GLuint index + const GLint *v + + + void glVertexAttrib4NivARB + GLuint index + const GLint *v + + + + void glVertexAttrib4Nsv + GLuint index + const GLshort *v + + + void glVertexAttrib4NsvARB + GLuint index + const GLshort *v + + + + void glVertexAttrib4Nub + GLuint index + GLubyte x + GLubyte y + GLubyte z + GLubyte w + + + void glVertexAttrib4NubARB + GLuint index + GLubyte x + GLubyte y + GLubyte z + GLubyte w + + + + void glVertexAttrib4Nubv + GLuint index + const GLubyte *v + + + + void glVertexAttrib4NubvARB + GLuint index + const GLubyte *v + + + + + void glVertexAttrib4Nuiv + GLuint index + const GLuint *v + + + void glVertexAttrib4NuivARB + GLuint index + const GLuint *v + + + + void glVertexAttrib4Nusv + GLuint index + const GLushort *v + + + void glVertexAttrib4NusvARB + GLuint index + const GLushort *v + + + + void glVertexAttrib4bv + GLuint index + const GLbyte *v + + + void glVertexAttrib4bvARB + GLuint index + const GLbyte *v + + + + void glVertexAttrib4d + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glVertexAttrib4dARB + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + + void glVertexAttrib4dNV + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + + void glVertexAttrib4dv + GLuint index + const GLdouble *v + + + + void glVertexAttrib4dvARB + GLuint index + const GLdouble *v + + + + + void glVertexAttrib4dvNV + GLuint index + const GLdouble *v + + + + + void glVertexAttrib4f + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glVertexAttrib4fARB + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + + void glVertexAttrib4fNV + GLuint index + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + + void glVertexAttrib4fv + GLuint index + const GLfloat *v + + + + void glVertexAttrib4fvARB + GLuint index + const GLfloat *v + + + + + void glVertexAttrib4fvNV + GLuint index + const GLfloat *v + + + + + void glVertexAttrib4hNV + GLuint index + GLhalfNV x + GLhalfNV y + GLhalfNV z + GLhalfNV w + + + + void glVertexAttrib4hvNV + GLuint index + const GLhalfNV *v + + + + void glVertexAttrib4iv + GLuint index + const GLint *v + + + void glVertexAttrib4ivARB + GLuint index + const GLint *v + + + + void glVertexAttrib4s + GLuint index + GLshort x + GLshort y + GLshort z + GLshort w + + + + void glVertexAttrib4sARB + GLuint index + GLshort x + GLshort y + GLshort z + GLshort w + + + + + void glVertexAttrib4sNV + GLuint index + GLshort x + GLshort y + GLshort z + GLshort w + + + + + void glVertexAttrib4sv + GLuint index + const GLshort *v + + + + void glVertexAttrib4svARB + GLuint index + const GLshort *v + + + + + void glVertexAttrib4svNV + GLuint index + const GLshort *v + + + + + void glVertexAttrib4ubNV + GLuint index + GLubyte x + GLubyte y + GLubyte z + GLubyte w + + + + + void glVertexAttrib4ubv + GLuint index + const GLubyte *v + + + void glVertexAttrib4ubvARB + GLuint index + const GLubyte *v + + + + void glVertexAttrib4ubvNV + GLuint index + const GLubyte *v + + + + + void glVertexAttrib4uiv + GLuint index + const GLuint *v + + + void glVertexAttrib4uivARB + GLuint index + const GLuint *v + + + + void glVertexAttrib4usv + GLuint index + const GLushort *v + + + void glVertexAttrib4usvARB + GLuint index + const GLushort *v + + + + void glVertexAttribArrayObjectATI + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + GLuint buffer + GLuint offset + + + void glVertexAttribBinding + GLuint attribindex + GLuint bindingindex + + + void glVertexAttribDivisor + GLuint index + GLuint divisor + + + void glVertexAttribDivisorANGLE + GLuint index + GLuint divisor + + + + void glVertexAttribDivisorARB + GLuint index + GLuint divisor + + + + void glVertexAttribDivisorEXT + GLuint index + GLuint divisor + + + + void glVertexAttribDivisorNV + GLuint index + GLuint divisor + + + + void glVertexAttribFormat + GLuint attribindex + GLint size + GLenum type + GLboolean normalized + GLuint relativeoffset + + + void glVertexAttribFormatNV + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + + + void glVertexAttribI1i + GLuint index + GLint x + + + + void glVertexAttribI1iEXT + GLuint index + GLint x + + + + + void glVertexAttribI1iv + GLuint index + const GLint *v + + + void glVertexAttribI1ivEXT + GLuint index + const GLint *v + + + + void glVertexAttribI1ui + GLuint index + GLuint x + + + + void glVertexAttribI1uiEXT + GLuint index + GLuint x + + + + + void glVertexAttribI1uiv + GLuint index + const GLuint *v + + + void glVertexAttribI1uivEXT + GLuint index + const GLuint *v + + + + void glVertexAttribI2i + GLuint index + GLint x + GLint y + + + + void glVertexAttribI2iEXT + GLuint index + GLint x + GLint y + + + + + void glVertexAttribI2iv + GLuint index + const GLint *v + + + void glVertexAttribI2ivEXT + GLuint index + const GLint *v + + + + void glVertexAttribI2ui + GLuint index + GLuint x + GLuint y + + + + void glVertexAttribI2uiEXT + GLuint index + GLuint x + GLuint y + + + + + void glVertexAttribI2uiv + GLuint index + const GLuint *v + + + void glVertexAttribI2uivEXT + GLuint index + const GLuint *v + + + + void glVertexAttribI3i + GLuint index + GLint x + GLint y + GLint z + + + + void glVertexAttribI3iEXT + GLuint index + GLint x + GLint y + GLint z + + + + + void glVertexAttribI3iv + GLuint index + const GLint *v + + + void glVertexAttribI3ivEXT + GLuint index + const GLint *v + + + + void glVertexAttribI3ui + GLuint index + GLuint x + GLuint y + GLuint z + + + + void glVertexAttribI3uiEXT + GLuint index + GLuint x + GLuint y + GLuint z + + + + + void glVertexAttribI3uiv + GLuint index + const GLuint *v + + + void glVertexAttribI3uivEXT + GLuint index + const GLuint *v + + + + void glVertexAttribI4bv + GLuint index + const GLbyte *v + + + void glVertexAttribI4bvEXT + GLuint index + const GLbyte *v + + + + void glVertexAttribI4i + GLuint index + GLint x + GLint y + GLint z + GLint w + + + + void glVertexAttribI4iEXT + GLuint index + GLint x + GLint y + GLint z + GLint w + + + + + void glVertexAttribI4iv + GLuint index + const GLint *v + + + void glVertexAttribI4ivEXT + GLuint index + const GLint *v + + + + void glVertexAttribI4sv + GLuint index + const GLshort *v + + + void glVertexAttribI4svEXT + GLuint index + const GLshort *v + + + + void glVertexAttribI4ubv + GLuint index + const GLubyte *v + + + void glVertexAttribI4ubvEXT + GLuint index + const GLubyte *v + + + + void glVertexAttribI4ui + GLuint index + GLuint x + GLuint y + GLuint z + GLuint w + + + + void glVertexAttribI4uiEXT + GLuint index + GLuint x + GLuint y + GLuint z + GLuint w + + + + + void glVertexAttribI4uiv + GLuint index + const GLuint *v + + + void glVertexAttribI4uivEXT + GLuint index + const GLuint *v + + + + void glVertexAttribI4usv + GLuint index + const GLushort *v + + + void glVertexAttribI4usvEXT + GLuint index + const GLushort *v + + + + void glVertexAttribIFormat + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + void glVertexAttribIFormatNV + GLuint index + GLint size + GLenum type + GLsizei stride + + + void glVertexAttribIPointer + GLuint index + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glVertexAttribIPointerEXT + GLuint index + GLint size + GLenum type + GLsizei stride + const void *pointer + + + + void glVertexAttribL1d + GLuint index + GLdouble x + + + void glVertexAttribL1dEXT + GLuint index + GLdouble x + + + + void glVertexAttribL1dv + GLuint index + const GLdouble *v + + + void glVertexAttribL1dvEXT + GLuint index + const GLdouble *v + + + + void glVertexAttribL1i64NV + GLuint index + GLint64EXT x + + + void glVertexAttribL1i64vNV + GLuint index + const GLint64EXT *v + + + void glVertexAttribL1ui64ARB + GLuint index + GLuint64EXT x + + + void glVertexAttribL1ui64NV + GLuint index + GLuint64EXT x + + + void glVertexAttribL1ui64vARB + GLuint index + const GLuint64EXT *v + + + void glVertexAttribL1ui64vNV + GLuint index + const GLuint64EXT *v + + + void glVertexAttribL2d + GLuint index + GLdouble x + GLdouble y + + + void glVertexAttribL2dEXT + GLuint index + GLdouble x + GLdouble y + + + + void glVertexAttribL2dv + GLuint index + const GLdouble *v + + + void glVertexAttribL2dvEXT + GLuint index + const GLdouble *v + + + + void glVertexAttribL2i64NV + GLuint index + GLint64EXT x + GLint64EXT y + + + void glVertexAttribL2i64vNV + GLuint index + const GLint64EXT *v + + + void glVertexAttribL2ui64NV + GLuint index + GLuint64EXT x + GLuint64EXT y + + + void glVertexAttribL2ui64vNV + GLuint index + const GLuint64EXT *v + + + void glVertexAttribL3d + GLuint index + GLdouble x + GLdouble y + GLdouble z + + + void glVertexAttribL3dEXT + GLuint index + GLdouble x + GLdouble y + GLdouble z + + + + void glVertexAttribL3dv + GLuint index + const GLdouble *v + + + void glVertexAttribL3dvEXT + GLuint index + const GLdouble *v + + + + void glVertexAttribL3i64NV + GLuint index + GLint64EXT x + GLint64EXT y + GLint64EXT z + + + void glVertexAttribL3i64vNV + GLuint index + const GLint64EXT *v + + + void glVertexAttribL3ui64NV + GLuint index + GLuint64EXT x + GLuint64EXT y + GLuint64EXT z + + + void glVertexAttribL3ui64vNV + GLuint index + const GLuint64EXT *v + + + void glVertexAttribL4d + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + void glVertexAttribL4dEXT + GLuint index + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glVertexAttribL4dv + GLuint index + const GLdouble *v + + + void glVertexAttribL4dvEXT + GLuint index + const GLdouble *v + + + + void glVertexAttribL4i64NV + GLuint index + GLint64EXT x + GLint64EXT y + GLint64EXT z + GLint64EXT w + + + void glVertexAttribL4i64vNV + GLuint index + const GLint64EXT *v + + + void glVertexAttribL4ui64NV + GLuint index + GLuint64EXT x + GLuint64EXT y + GLuint64EXT z + GLuint64EXT w + + + void glVertexAttribL4ui64vNV + GLuint index + const GLuint64EXT *v + + + void glVertexAttribLFormat + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + void glVertexAttribLFormatNV + GLuint index + GLint size + GLenum type + GLsizei stride + + + void glVertexAttribLPointer + GLuint index + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glVertexAttribLPointerEXT + GLuint index + GLint size + GLenum type + GLsizei stride + const void *pointer + + + + void glVertexAttribP1ui + GLuint index + GLenum type + GLboolean normalized + GLuint value + + + void glVertexAttribP1uiv + GLuint index + GLenum type + GLboolean normalized + const GLuint *value + + + void glVertexAttribP2ui + GLuint index + GLenum type + GLboolean normalized + GLuint value + + + void glVertexAttribP2uiv + GLuint index + GLenum type + GLboolean normalized + const GLuint *value + + + void glVertexAttribP3ui + GLuint index + GLenum type + GLboolean normalized + GLuint value + + + void glVertexAttribP3uiv + GLuint index + GLenum type + GLboolean normalized + const GLuint *value + + + void glVertexAttribP4ui + GLuint index + GLenum type + GLboolean normalized + GLuint value + + + void glVertexAttribP4uiv + GLuint index + GLenum type + GLboolean normalized + const GLuint *value + + + void glVertexAttribParameteriAMD + GLuint index + GLenum pname + GLint param + + + void glVertexAttribPointer + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + const void *pointer + + + void glVertexAttribPointerARB + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + const void *pointer + + + + void glVertexAttribPointerNV + GLuint index + GLint fsize + GLenum type + GLsizei stride + const void *pointer + + + void glVertexAttribs1dvNV + GLuint index + GLsizei count + const GLdouble *v + + + + void glVertexAttribs1fvNV + GLuint index + GLsizei count + const GLfloat *v + + + + void glVertexAttribs1hvNV + GLuint index + GLsizei n + const GLhalfNV *v + + + + void glVertexAttribs1svNV + GLuint index + GLsizei count + const GLshort *v + + + + void glVertexAttribs2dvNV + GLuint index + GLsizei count + const GLdouble *v + + + + void glVertexAttribs2fvNV + GLuint index + GLsizei count + const GLfloat *v + + + + void glVertexAttribs2hvNV + GLuint index + GLsizei n + const GLhalfNV *v + + + + void glVertexAttribs2svNV + GLuint index + GLsizei count + const GLshort *v + + + + void glVertexAttribs3dvNV + GLuint index + GLsizei count + const GLdouble *v + + + + void glVertexAttribs3fvNV + GLuint index + GLsizei count + const GLfloat *v + + + + void glVertexAttribs3hvNV + GLuint index + GLsizei n + const GLhalfNV *v + + + + void glVertexAttribs3svNV + GLuint index + GLsizei count + const GLshort *v + + + + void glVertexAttribs4dvNV + GLuint index + GLsizei count + const GLdouble *v + + + + void glVertexAttribs4fvNV + GLuint index + GLsizei count + const GLfloat *v + + + + void glVertexAttribs4hvNV + GLuint index + GLsizei n + const GLhalfNV *v + + + + void glVertexAttribs4svNV + GLuint index + GLsizei count + const GLshort *v + + + + void glVertexAttribs4ubvNV + GLuint index + GLsizei count + const GLubyte *v + + + + void glVertexBindingDivisor + GLuint bindingindex + GLuint divisor + + + void glVertexBlendARB + GLint count + + + + void glVertexBlendEnvfATI + GLenum pname + GLfloat param + + + void glVertexBlendEnviATI + GLenum pname + GLint param + + + void glVertexFormatNV + GLint size + GLenum type + GLsizei stride + + + void glVertexP2ui + GLenum type + GLuint value + + + void glVertexP2uiv + GLenum type + const GLuint *value + + + void glVertexP3ui + GLenum type + GLuint value + + + void glVertexP3uiv + GLenum type + const GLuint *value + + + void glVertexP4ui + GLenum type + GLuint value + + + void glVertexP4uiv + GLenum type + const GLuint *value + + + void glVertexPointer + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glVertexPointerEXT + GLint size + GLenum type + GLsizei stride + GLsizei count + const void *pointer + + + void glVertexPointerListIBM + GLint size + GLenum type + GLint stride + const void **pointer + GLint ptrstride + + + void glVertexPointervINTEL + GLint size + GLenum type + const void **pointer + + + void glVertexStream1dATI + GLenum stream + GLdouble x + + + void glVertexStream1dvATI + GLenum stream + const GLdouble *coords + + + void glVertexStream1fATI + GLenum stream + GLfloat x + + + void glVertexStream1fvATI + GLenum stream + const GLfloat *coords + + + void glVertexStream1iATI + GLenum stream + GLint x + + + void glVertexStream1ivATI + GLenum stream + const GLint *coords + + + void glVertexStream1sATI + GLenum stream + GLshort x + + + void glVertexStream1svATI + GLenum stream + const GLshort *coords + + + void glVertexStream2dATI + GLenum stream + GLdouble x + GLdouble y + + + void glVertexStream2dvATI + GLenum stream + const GLdouble *coords + + + void glVertexStream2fATI + GLenum stream + GLfloat x + GLfloat y + + + void glVertexStream2fvATI + GLenum stream + const GLfloat *coords + + + void glVertexStream2iATI + GLenum stream + GLint x + GLint y + + + void glVertexStream2ivATI + GLenum stream + const GLint *coords + + + void glVertexStream2sATI + GLenum stream + GLshort x + GLshort y + + + void glVertexStream2svATI + GLenum stream + const GLshort *coords + + + void glVertexStream3dATI + GLenum stream + GLdouble x + GLdouble y + GLdouble z + + + void glVertexStream3dvATI + GLenum stream + const GLdouble *coords + + + void glVertexStream3fATI + GLenum stream + GLfloat x + GLfloat y + GLfloat z + + + void glVertexStream3fvATI + GLenum stream + const GLfloat *coords + + + void glVertexStream3iATI + GLenum stream + GLint x + GLint y + GLint z + + + void glVertexStream3ivATI + GLenum stream + const GLint *coords + + + void glVertexStream3sATI + GLenum stream + GLshort x + GLshort y + GLshort z + + + void glVertexStream3svATI + GLenum stream + const GLshort *coords + + + void glVertexStream4dATI + GLenum stream + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + void glVertexStream4dvATI + GLenum stream + const GLdouble *coords + + + void glVertexStream4fATI + GLenum stream + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + void glVertexStream4fvATI + GLenum stream + const GLfloat *coords + + + void glVertexStream4iATI + GLenum stream + GLint x + GLint y + GLint z + GLint w + + + void glVertexStream4ivATI + GLenum stream + const GLint *coords + + + void glVertexStream4sATI + GLenum stream + GLshort x + GLshort y + GLshort z + GLshort w + + + void glVertexStream4svATI + GLenum stream + const GLshort *coords + + + void glVertexWeightPointerEXT + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glVertexWeightfEXT + GLfloat weight + + + + void glVertexWeightfvEXT + const GLfloat *weight + + + + void glVertexWeighthNV + GLhalfNV weight + + + + void glVertexWeighthvNV + const GLhalfNV *weight + + + + GLenum glVideoCaptureNV + GLuint video_capture_slot + GLuint *sequence_num + GLuint64EXT *capture_time + + + void glVideoCaptureStreamParameterdvNV + GLuint video_capture_slot + GLuint stream + GLenum pname + const GLdouble *params + + + void glVideoCaptureStreamParameterfvNV + GLuint video_capture_slot + GLuint stream + GLenum pname + const GLfloat *params + + + void glVideoCaptureStreamParameterivNV + GLuint video_capture_slot + GLuint stream + GLenum pname + const GLint *params + + + void glViewport + GLint x + GLint y + GLsizei width + GLsizei height + + + + void glViewportArrayv + GLuint first + GLsizei count + const GLfloat *v + + + void glViewportArrayvNV + GLuint first + GLsizei count + const GLfloat *v + + + + void glViewportArrayvOES + GLuint first + GLsizei count + const GLfloat *v + + + + void glViewportIndexedf + GLuint index + GLfloat x + GLfloat y + GLfloat w + GLfloat h + + + void glViewportIndexedfOES + GLuint index + GLfloat x + GLfloat y + GLfloat w + GLfloat h + + + + void glViewportIndexedfNV + GLuint index + GLfloat x + GLfloat y + GLfloat w + GLfloat h + + + + void glViewportIndexedfv + GLuint index + const GLfloat *v + + + void glViewportIndexedfvOES + GLuint index + const GLfloat *v + + + + void glViewportIndexedfvNV + GLuint index + const GLfloat *v + + + + void glViewportPositionWScaleNV + GLuint index + GLfloat xcoeff + GLfloat ycoeff + + + void glViewportSwizzleNV + GLuint index + GLenum swizzlex + GLenum swizzley + GLenum swizzlez + GLenum swizzlew + + + void glWaitSemaphoreEXT + GLuint semaphore + GLuint numBufferBarriers + const GLuint *buffers + GLuint numTextureBarriers + const GLuint *textures + const GLenum *srcLayouts + + + void glWaitSync + GLsync sync + GLbitfield flags + GLuint64 timeout + + + void glWaitSyncAPPLE + GLsync sync + GLbitfield flags + GLuint64 timeout + + + + void glWeightPathsNV + GLuint resultPath + GLsizei numPaths + const GLuint *paths + const GLfloat *weights + + + void glWeightPointerARB + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glWeightPointerOES + GLint size + GLenum type + GLsizei stride + const void *pointer + + + void glWeightbvARB + GLint size + const GLbyte *weights + + + + void glWeightdvARB + GLint size + const GLdouble *weights + + + + void glWeightfvARB + GLint size + const GLfloat *weights + + + + void glWeightivARB + GLint size + const GLint *weights + + + + void glWeightsvARB + GLint size + const GLshort *weights + + + + void glWeightubvARB + GLint size + const GLubyte *weights + + + + void glWeightuivARB + GLint size + const GLuint *weights + + + + void glWeightusvARB + GLint size + const GLushort *weights + + + + void glWindowPos2d + GLdouble x + GLdouble y + + + + void glWindowPos2dARB + GLdouble x + GLdouble y + + + + + void glWindowPos2dMESA + GLdouble x + GLdouble y + + + + + void glWindowPos2dv + const GLdouble *v + + + + void glWindowPos2dvARB + const GLdouble *v + + + + + void glWindowPos2dvMESA + const GLdouble *v + + + + void glWindowPos2f + GLfloat x + GLfloat y + + + + void glWindowPos2fARB + GLfloat x + GLfloat y + + + + + void glWindowPos2fMESA + GLfloat x + GLfloat y + + + + + void glWindowPos2fv + const GLfloat *v + + + + void glWindowPos2fvARB + const GLfloat *v + + + + + void glWindowPos2fvMESA + const GLfloat *v + + + + void glWindowPos2i + GLint x + GLint y + + + + void glWindowPos2iARB + GLint x + GLint y + + + + + void glWindowPos2iMESA + GLint x + GLint y + + + + + void glWindowPos2iv + const GLint *v + + + + void glWindowPos2ivARB + const GLint *v + + + + + void glWindowPos2ivMESA + const GLint *v + + + + void glWindowPos2s + GLshort x + GLshort y + + + + void glWindowPos2sARB + GLshort x + GLshort y + + + + + void glWindowPos2sMESA + GLshort x + GLshort y + + + + + void glWindowPos2sv + const GLshort *v + + + + void glWindowPos2svARB + const GLshort *v + + + + + void glWindowPos2svMESA + const GLshort *v + + + + void glWindowPos3d + GLdouble x + GLdouble y + GLdouble z + + + + void glWindowPos3dARB + GLdouble x + GLdouble y + GLdouble z + + + + + void glWindowPos3dMESA + GLdouble x + GLdouble y + GLdouble z + + + + + void glWindowPos3dv + const GLdouble *v + + + + void glWindowPos3dvARB + const GLdouble *v + + + + + void glWindowPos3dvMESA + const GLdouble *v + + + + void glWindowPos3f + GLfloat x + GLfloat y + GLfloat z + + + + void glWindowPos3fARB + GLfloat x + GLfloat y + GLfloat z + + + + + void glWindowPos3fMESA + GLfloat x + GLfloat y + GLfloat z + + + + + void glWindowPos3fv + const GLfloat *v + + + + void glWindowPos3fvARB + const GLfloat *v + + + + + void glWindowPos3fvMESA + const GLfloat *v + + + + void glWindowPos3i + GLint x + GLint y + GLint z + + + + void glWindowPos3iARB + GLint x + GLint y + GLint z + + + + + void glWindowPos3iMESA + GLint x + GLint y + GLint z + + + + + void glWindowPos3iv + const GLint *v + + + + void glWindowPos3ivARB + const GLint *v + + + + + void glWindowPos3ivMESA + const GLint *v + + + + void glWindowPos3s + GLshort x + GLshort y + GLshort z + + + + void glWindowPos3sARB + GLshort x + GLshort y + GLshort z + + + + + void glWindowPos3sMESA + GLshort x + GLshort y + GLshort z + + + + + void glWindowPos3sv + const GLshort *v + + + + void glWindowPos3svARB + const GLshort *v + + + + + void glWindowPos3svMESA + const GLshort *v + + + + void glWindowPos4dMESA + GLdouble x + GLdouble y + GLdouble z + GLdouble w + + + + void glWindowPos4dvMESA + const GLdouble *v + + + void glWindowPos4fMESA + GLfloat x + GLfloat y + GLfloat z + GLfloat w + + + + void glWindowPos4fvMESA + const GLfloat *v + + + void glWindowPos4iMESA + GLint x + GLint y + GLint z + GLint w + + + + void glWindowPos4ivMESA + const GLint *v + + + void glWindowPos4sMESA + GLshort x + GLshort y + GLshort z + GLshort w + + + + void glWindowPos4svMESA + const GLshort *v + + + void glWindowRectanglesEXT + GLenum mode + GLsizei count + const GLint *box + + + void glWriteMaskEXT + GLuint res + GLuint in + GLenum outX + GLenum outY + GLenum outZ + GLenum outW + + + void glDrawVkImageNV + GLuint64 vkImage + GLuint sampler + GLfloat x0 + GLfloat y0 + GLfloat x1 + GLfloat y1 + GLfloat z + GLfloat s0 + GLfloat t0 + GLfloat s1 + GLfloat t1 + + + GLVULKANPROCNV glGetVkProcAddrNV + const GLchar *name + + + void glWaitVkSemaphoreNV + GLuint64 vkSemaphore + + + void glSignalVkSemaphoreNV + GLuint64 vkSemaphore + + + void glSignalVkFenceNV + GLuint64 vkFence + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.29.2