!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                        ! " # $ % & ' ( ) * + , - . / 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None*+,>Initializes OpenGL entry points in the current OpenGL context.  !"#$%&'      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@()*+ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,-./012345 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V !W "X #Y $Z %[ &\ '] (^ )_ *` +a ,b -c .d /e 0f 1g 2h 3i 4j 5k 6l 7m 8n 9o :p ;q <r =s >t ?u @v Aw Bx Cy Dz E{ F| G} H~ I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5!6!7!8!9!:!;!<!=!>! ?! @! A! B! C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U! V!!W!"X!#Y!$Z!%[!&\!']!(^!)_!*`!+a!,b!-c!.d!/e!0f!1g!2h!3i!4j!5k!6l!7m!8n!9o!:p!;q!<r!=s!>t!?u!@v!Aw!Bx!Cy!Dz!E{!F|!G}!H~!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5"6"7"8"9":";"<"=">" ?" @" A" B" C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U" V"!W""X"#Y"$Z"%["&\"']"(^")_"*`"+a",b"-c".d"/e"0f"1g"2h"3i"4j"5k"6l"7m"8n"9o":p";q"<r"=s">t"?u"@v"Aw"Bx"Cy"Dz"E{"F|"G}"H~"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,(*)+-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&'%$#"!    !"#$%&'      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@(*)+ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,-./012345 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V !W "X #Y $Z %[ &\ '] (^ )_ *` +a ,b -c .d /e 0f 1g 2h 3i 4j 5k 6l 7m 8n 9o :p ;q <r =s >t ?u @v Aw Bx Cy Dz E{ F| G} H~ I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5!6!7!8!9!:!;!<!=!>! ?! @! A! B! C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U! V!!W!"X!#Y!$Z!%[!&\!']!(^!)_!*`!+a!,b!-c!.d!/e!0f!1g!2h!3i!4j!5k!6l!7m!8n!9o!:p!;q!<r!=s!>t!?u!@v!Aw!Bx!Cy!Dz!E{!F|!G}!H~!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5"6"7"8"9":";"<"=">" ?" @" A" B" C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U" V"!W""X"#Y"$Z"%["&\"']"(^")_"*`"+a",b"-c".d"/e"0f"1g"2h"3i"4j"5k"6l"7m"8n"9o":p";q"<r"=s">t"?u"@v"Aw"Bx"Cy"Dz"E{"F|"G}"H~"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" Safe-InferredMSame as " but the result will be a ", not ".Same as " but does not return a value. Similar to "Y but raises a user error if the source integer cannot be represented in the target type.6This cannot turn an integral into a non-integral type."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########"## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#####"############################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$"$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$NoneM!The type of a Caramia context ID.'Returns the current Caramia context ID.4The context ID is unique between different calls to  giveContext.Returns $U if there is no context active.Stores a context local value.The type of the given value is used as a key. This means that if a value of the same type was stored before, that value is thrown away and replaced with this new value you just gave.The value is evaluated to WHNF.?You don't need this function to work with context local data. \ is sufficient as it also lets you set a default value in case a value was not already set.-Context local data is wiped to oblivion once  giveContext ends. Retrieves a context local value.See .UDefault value generating action; not evaluated if there was already a value stored.None Shortcut to [! when you query only one integer.&$  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%&$None+$$$$$$$$$$ Safe-InferredHM Safe-Inferred+B,A quaternion. It's composed of four values, , ,  and  .TIn the context of Caramia, quaternions are used exclusively to represent rotations. A 3-dimensional vector.  ,   and # access each individual component.NA 3x3 matrix. Each nXX function accesses an individual element of the matrix.NA 4x4 matrix. Each mXX function accesses an individual element of the matrix./Returns the size of a  &. This is just a shortcut to calling $ on a vector.0Returns the size of a Matrix3&. This is just a shortcut to calling $ on a matrix.1Returns the size of a Matrix4&. This is just a shortcut to calling $ on a matrix.2Returns the size of a &. This is just a shortcut to calling $ on a quaternion.3 Constructs a   out of three values.4 Constructs a  out of 16 values.@The order of the values is column-first. That is, in this order: + m11 m12 m13 m14 m21 m22 m23 m24 m31 ... 1This allows you to write the matrix out this way:  let the_greatest_4x4_matrix_of_them_all = matrix4 m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 m34 m41 m42 m43 m44 in ... 5 Constructs a Matrix3 out of 9 values.+The order of the values is the same as for matrix4', just drop the fourth row and column.6 Transforms a  into a .#If this is the original 3x3 matrix: m --------------------- m11 m12 m13 m21 m22 m23 m31 m32 m33 --------------------- "Then this is the resulting matrix:  ------------------------- m11 m12 m13 0 m21 m22 m23 0 m31 m32 m33 0 0 0 0 1 ------------------------- 7 Transforms a  into a .#If this is the original 4x4 matrix:  ---------------------------- m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 m34 m41 m42 m43 m44 ---------------------------- &Then this is the resulting 3x3 matrix: m --------------------- m11 m12 m13 m21 m22 m23 m31 m32 m33 --------------------- (The fourth row and column are discarded.8fRuns an IO action with a pointer to a Matrix44. The pointer is valid only during the given IO action.AThe pointer points to an array of 16 floating point values. See Caramia.Math#storable4 for a description in which order the values appear.9Same as 8, only with 9 floating values.: Returns the identity 3x3 matrix.;5Returns the 3x3 matrix where all components are zero.< Returns the identity 4x4 matrix.=5Returns the 4x4 matrix where all components are zero.>'Calculates the inverse of a 4x4 matrix.mA matrix doesn't always have an inverse. In this case, the matrix values will most likely end up being NaNs.?+Calculates the determinant of a 3x3 matrix.@&Calculats the inverse of a 3x3 matrix.mA matrix doesn't always have an inverse. In this case, the matrix values will most likely end up being NaNs.A+Calculates the determinant of a 4x4 matrix.B%Multiplies two 3x3 matrices together.C%Multiplies two 4x4 matrices together.DgReturns the Euclidean distance between two 3x3 matrices, where the matrices are taken to be 9-vectors.[This can be used as a rough estimate how close, or similar two matrices are to each other.EgReturns the Euclidean distance between two 4x4 matrices, where the matrices are taken to be 9-vectors.[This can be used as a rough estimate how close, or similar two matrices are to each other.F+Constructs a perspective projection matrix.G=Constructs a perspective projection matrix by frustum planes.H5Constructs an orthogonal projection matrix by planes.I!Constructs a look-at view matrix.J%Normalizes a 3-vector to unit length.ZIf the vector is a zero vector then this probably gives you a vector with NaNs as values.K4Returns the Euclidean distance between to 3-vectors.L!Returns the length of a 3-vector.MSums two 3-vectors together.N-Subtracts the second 3-vector from the first.O%Negates all components of a 3-vector.P6Multiplies all components of a 3-vector with a scalar.Q8Modify a 4x4 matrix to scale everything by given vector.RTransposes a 3x3 matrix.STransposes a 4x4 matrix.T-Modifies a 4x4 matrix to include translation.GThis is the same as multiplying a 4x4 matrix with a translation matrix.UXModifies a 4x4 matrix to include rotation as specified by an axis-angle representation.@This is the same as multiplying a matrix with a rotation matrix.V(Transforms a 3-vector with a 4x4 matrix.This would be the same as transforming a 4-vector with a 4x4 matrix but the fourth component is taken to be 1 and is not returned.W0Returns the cross product between two 3-vectors.X5Returns the angle, in radians, between two 3-vectors.QThe vectors are normalized by this function so you need not to do that yourself.Y.Returns the dot product between two 3-vectors.Z#Transforms a 3-vector into a tuple.[#Transforms a tuple into a 3-vector.\,Returns a vector where all components are 0.$,Transforms a 4x4 matrix to a list of floats.'The list follows the same order as the $ instance does for ? floating point values. The list will always have 16 elements.]'Construct a quaternion out of 4 values.^"Turns a quaternion into a 4-tuple._"Turns a 4-tuple into a quaternion.`"canonicalizes" a quaternion.Some rotations have different representations as a quaternion. This function canonicalizes the quaternion so that those rotations are the same.eDon't rely on this. This is used in some automatic tests to see that the quaternions work correctly.a'Normalizes a quaternion to unit length.b7Returns the Euclidean distance between two quaternions.c#Returns the length of a quaternion.d/Turns an axis angle rotation into a quaternion.e5Returns a quaternion where all the elements are zero.f0Turns the quaternion into a 4x4 rotation matrix.gCExtracts rotation from a 4x4 matrix and returns it as a quaternion. Note that 0 matrix44ToQuaternion . quaternionToMatrix44 may not be the identity function. The signs on the quaternion components may be different and because the floating point calculation is not completely precise, the values are often slightly different than they were originally.h:Returns the identity quaternion. It won't rotate anything.iTurns a  $ and an extra value to a quaternion.j$Multiplies two quaternions together.k7Returns a "pretty" string that represents a 4x4 matrix.kThis could be useful for debugging (and has been used as such in the development of Caramia). The default " instance for  is machine-readable but annoying for humans to read. This function returns a somewhat more human-readable string that you can display.!The string will contain newlines.n      !"#$%&'()*+,-./0123 X-coodinate. Y-coodinate. Z-coodinate.45678The matrix to marshal.ZAn IO action that receives a pointer to floating point values describing the matrix.9:;<=>?@ABCDEFField of view in radians. Aspect ratio.Near plane distance.Far plane distance.G Left plane. Right plane. Bottom plane. Top plane. Near plane. Far plane.H Left plane. Right plane. Bottom plane. Top plane. Near plane. Far plane.I Eye position.ACenter position (that is, the point we are going to stare at)./Up vector. You probably want to normalize this.JKLMNOPQThe scale vector.The matrix to modify.RSTThe translation vector.The matrix to modify.U*The angle, how much to rotate. In radians.The rotation axis.The matrix to modify.VWXYZ[\$]The x-component.The y-component.The z-component.The w-component.^_`abcdThe angle, in radians.The rotation axis.efghij$k$$$$h      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkh !"#$%&'()*+     10/248><CA=FEGHITSQU59@:B?;DR67]h`bcajedgf^_3\KLMNJXWYOPiVZ[,-.kJ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\$]^_`abcdefghij$k$$$$None+ l$Class that turns Haskell types into n.mReturns the corresponding n for a Haskell type.nSpecification formats.FThese formats specify the type of the data passed from Haskell to GPU.w!All the various internal formats.This list corresponds to the OpenGL specification of 3.3, required texture formats (+ S3TC compressed formats). Check the OpenGL specification for explanations on how these formats work.Given a format, returns # _ if that format can be rendered to. That is, if it can be one of the targets in a framebuffer.~This is conservative. Sometimes you may be able to render anyway; however this is not guaranteed by the OpenGL specification.8Returns true if the given format is a compressed format.3Returns true if the given format is a color format.7Returns true if the given format has a depth component.9Returns true if the given format has a stencil component.;Returns true if the given format uses the sRGB color space.-If the format is not a color format, returns #.LGiven a specification format, returns the number of bytes one element uses.]lm%Used to pass the type; not evaluated.nopqrstuvwxyz{|}~Slmnopqrstuvwxyz{|}~]w~}|{zyxnvutsrqpolmlmnvutsrqpow>~}|{zyx None+ OSpecifies the tests that are run on a fragment to decide if it should be seen. Which depth test to use, if any?If depth test is specified, should we also update the depth buffer with new depth values? The depth buffer will not be written if 9 is not specified regardless of the value in this field."Which stencil test to use, if any?9What to do with the stencil buffer if stencil test fails.TWhat to do with the stencil buffer if stencil test passes but depth testing fails).What to do with the stencil buffer if stencil and depth test passes, or if depth buffer is not present or depth test is disabled.'What kind of face culling should we do.iThis stops the drawing of any faces but points and lines (or other non-facey like primitives) are drawn.Stencil buffer operations.See  glStencilOp & for explanations of each constructor.tThis one replaces the old value in the stencil buffer with the given reference value and ANDs the result with mask.\A comparison function. Incoming value is compared with this function to the existing value..This can be used with depth and stencil tests.See  glDepthFunc G from OpenGL specification or man pages for more detailed explanation.(Returns the default fragment pass tests.*Neither depth or stencil test is enabled. S is set to true but that value is only used if you specify with depth test to use."All stencil operations are set to .Culling is set to ....   Safe-Inferred+The color data type.This data type says nothing about the color space these values are in. The color space depends on the usage; for example, a framebuffer with sRGB textures attached uses sRGB color space in these color values.#Construct a color from rgba values.View rgba in a tuple.Lens to all components.Lens to red component.Lens to green component.Lens to blue component.Lens to alpha component.$$  $$ None+!Captures the blending parameters. ,Describes the arithmetic to use in blending.See N in OpenGL documentation.,Describes which equation to use in blending.See  in OpenGL documentation.#      !"#$%#      !"#$%#!   "#   $%     ! "#$% None'XBlending that doesn't do anything special; just copies the source pixel to destination.&'!      !&'!   !   &'&'NoneQlmnopqrstuvwxyz{|}~Qw~}|{zyxnvutsrqpolm None+MT(QAn exception that is thrown when the OpenGL version is too old for this library.*)The OpenGL version this library needs.+9The OpenGL version reported by current OpenGL context.,=Tell Caramia the current thread has an OpenGL context active.When the given IO action returns, Caramia will think that the OpenGL context is now gone. It is probably best to actually close the context because this also means OpenGL finalizers will not be run (Caramia thinks they were all released when the OpenGL context went away).~The context in the IO action is referred to as 'Caramia context' in this documentation to distinguish it from OpenGL context.If the environment variable 'CARAMIA_OPENGL_DEBUG' is set, then, if 'GL_KHR_debug' extension is supported, OpenGL debug output is written. Note that you might need a debug OpenGL context for there to be any messages.IIf the window size changes while the context is active, you should call -p with the new dimensions. There is no mechanism from OpenGL's side to automatically detect if size has changed.Throws (A if the code detects a context that does not provide OpenGL 3.3.-Sets the new viewport size. You should call this if the display size has changed; otherwise your rendering may look twisted and stretched.$Scraps the current context.Not public API..:Run any pending finalizers in the current Caramia context.cDoes nothing if current thread does not have a Caramia context or there are no pending finalizers.If any finalizer throws an exception (asynchronous or synchronous), the Caramia context dies and that exception is propagated upwards. . itself runs ${ to run the finalizers with exceptions masked but you might still receive asynchronous exceptions with, for example, the $ functions.DA good place to call this is right after or before swapping buffers./5Schedules a finalizer to be run in a Caramia context.3Does nothing if given context is not alive anymore.This is typically called from Haskell garbage collector finalizers because they cannot do finalization there (Haskell finalizers are running in the wrong operating system thread). ()*+,-WidthHeight$$./$$ ()*+,-./ ,-./()*+ ()*+,-$$./$$None+U48Returns information about current state of video memory.There is no guarantee that all, or even any information is actually returned. You need either 'GL_ATI_meminfo' or 'GL_NVX_gpu_memory_info' extension to get any results.dNo guarantees for accuracy either. Seriously, don't rely on this for anything but rough estimation.01234$$$012344012301234$$$None+5$The data type of a Caramia resource.6Creates a new resource.bMust be called in a thread that has an OpenGL context active. Otherwise, an error will be thrown.If you throw an exception in the OpenGL finalizer, then this will disrupt Caramia context and make it invalid. So try not to throw those exceptions?$Promptly finalize a resource.The ordinary finalizer will be run immediately. The OpenGL finalizer will be run if the current thread is the same OpenGL thread where the resource was created.0If you want asynchronous finalization, then use  finalizeAsyncI, which behaves more like actual garbage collection, only more promptly.I recommend you use  finalizeAsyncx because it is more consistent with normal garbage collection behaviour and thus is more difficult to use incorrectly.If ordinary finalizer throws an exception, the OpenGL finalizer is not run and the resource is marked as finalized. The exception propagates out from this call to you.2Does nothing if the resource is already finalized.&********************** TODO: this is not actually exported API. Some resources cannot be finalized like this because other resources might refer to them. How do we handle resources that can refer to each other? Right now, we cannot. So we can't allow users to finalize things by themselves.7Uses a resource.HThrows an user error if the resource is used in a wrong or dead context.5$$$6JAction that returns the raw, unmanaged resource. Good place to create it.BOpenGL finalizer. Will only be called in the same thread as this 6A is called, but only if the same OpenGL context is still alive.W'Ordinary' finalizer. This will be called immediately when garbage collector collects the resource which means before the OpenGL finalizer and in a separate thread. If this finalizer throws an exception then the OpenGL finalizer is cancelled and the resource is marked as finalized. This will be run even if the OpenGL context is gone.$7yUse the resource inside this action. Don't return the unmanaged resource from this because behaviour is then undefined.$5675675$$$6$7$None+U9Create a fence.:Waits for a fence to signal.@IMPORTANT: this is not interruptible by asynchronous exceptions.;%Checks if a fence has been signalled.  isFenceSignalled = waitFence 08$9:Number of microseconds to wait.#  if the fence was signalled, # if waiting timed out.;89:;9:;88$9:;None + <Additional mapping flags.=Map the buffer without synchronization. You will have to use synchronization primitives to make sure you and OpenGL won't be using the buffer at the same time.>Describes a style of mapping.?>No access; you cannot map the buffer at all after creation.@%Both reading and writing can be done.AThe mapping can be written to.BThe mapping can be read from.HBuffer data type.LReturns the allowed mappings.M)Returns the size of the buffer, in bytes.<=>?@ABCDEFGHIJKLMNOPQR<=>?@ABCDEFGHIJKLMNOHIJKLMNOREFGQPCD>BA@?<= <=>BA@?CDEFGHIJKLMNOPQRNone+SException that is thrown from g$ when buffer corruption is detected.ECorruption can happen due to external factors and is system-specific.UXThis data describes how a buffer should behave and what operations can be done with it.-Accurate description can improve performance.6For forwards compatibility, it is recommended to use c, and then set the fields you want to change.W(Hints on how the buffer will be used.X,How large the buffer should be, in bytes.Y5The initial data to be copied to the buffer. Can be $U4 in which case the initial contents are undefined.Z/What kind of mapping access is allowed. See f.[!The nature of access to a buffer.zThese correspond to the OpenGL access nature hints. You can look for them in the OpenGL specification or check this link: .https://www.opengl.org/wiki/GLAPI/glBufferData_$The frequency of access to a buffer.}These correspond to the OpenGL access frequency hints. You can look for them in the OpenGL specification or check this link: .https://www.opengl.org/wiki/GLAPI/glBufferDatac"The default buffer creation flags.yThe default attempts to give you the most general (and possibly slowest) buffer. Both read and write access are allowed."Default size is 0 which will make d fail if you don't set it.d"Creates a new buffer according to U specification.eSame as f& but allows more control over mapping.  map = map2 []f/Maps (part) of a buffer to system memory space.zThe mapping is valid until the buffer is garbage collected (in which case the mapping is automatically unmapped) or when g is called on the buffer.8You can not have two mappings going on at the same time.gUnmaps a buffer.*Does nothing if the buffer was not mapped.hIt is possible that the mapping become corrupt during the time it was mapped. If there was corruption, S is thrown in this call.CCorruption means that the contents of the buffer are now undefined.hSame as i but with map flags.See e.iwA convenience function over map/unmap that automatically unmaps the buffer when done (even in the case of exceptions).3The arguments to this function are the same as for f$, except for extra action argument. This calls g which means it can throw S when the action is done.There is a rare case that can happen if your action throws an exception AND the unmapping throws an exception. Which exception is propagated upwards? If this happens, this call silences S exception and re-throws the user exception. This unfortunately means there is no way to know if the buffer was corrupted if you threw an exception inside the action.j?A convenience function to upload a storable vector to a buffer.CThe buffer must be in an unmapped state and must be write-mappable.k(Copies bytes from one buffer to another.VThe buffers must not be mapped; however this call can bypass the access flags set in d. That is, you can copy data even to a buffer that was set as not writable or copy from a buffer that was set as not readable.This is faster than mapping both buffers and then doing a memcpy() style copying in system memory because this call does not require a round-trip to the driver.bYou can use the same buffer for both destination and source but the copying area may not overlap.l%Invalidates the contents of a buffer.iThis is you saying: "I don't care what's in this buffer anymore. You can do whatever you want with it.".The data may be gone or it may not be gone. Use this as a hint to the implementation that you will not use the _current_ contents of the buffer anymore.This requires the OpenGL extension "GL_ARB_invalidate_subdata" but if this extension is not present, then this simply does nothing.See  6https://www.opengl.org/wiki/Buffer_Object#Invalidation. STUVWXYZ[\]^_`ab$$$$cdef@Offset, in bytes, from start of the buffer from where to map.How many bytes to map.&What access is allowed in the mapping.ghi(The pointer is valid during this action.j#The vector from which to pull data.COffset, in bytes, to which point in the buffer to copy the data.kDestination buffer.Offset in destination buffer.Source buffer.Offset in source buffer.How many bytes to copy.l$$$<=>?@ABHLMSTUVWXYZ[\]^_`abcdefghijkl&dHLM_ba`[^]\>BA@?<=UVWXYZclfegkihjMLSTSTUVWXYZ[^]\_ba`$$$$cdefghijkl$$None +o"The vertex array object data type.mnopqrsmnopqropqrsmnmnopqrsNonetSpecifies how to source data.1For forward compatibility, you might want to use  or 5 and then set the fields that are of interest to you.v?Offset, in bytes, at which point from buffer to start sourcing.wDWhich attribute index in a shader program to source this data. See  on attributes.xjNumber of components in one piece of data (that is, per vertex). This must be an integer between 1 and 4.yHow many bytes there are between pieces of data. Because of OpenGL inconsistencies behind the scenes, 0 means the data is tightly packed, that is, ) stride = components * sizeOf sourceType z2This only applies when an integer type is used in } and {G is false. It determines whether integer values should be normalized.ZNormalization maps the integer value to [-1..1] or [0..1] range. For example, if you use #h as the type parameter, then 0 is mapped to 0.0 and 65535 is mapped to 1.0. Signed types (for example, "() are mapped to [-1..1] instead so for "2 32767 is mapped to 1 and -32768 is mapped to -1.ZThis value is ignored and unevaluated for types that are one of the floating point types.{vDon't convert integers to floats in any way. Normally integers are converted to floating point. If this is set, then z is ignored and not evalutated.| When doing instanced rendering ( !m > 1), this value tells how many instances must be rendered before the attribute from this source advances.HIf zero (the default) then the attribute is advanced after every vertex.You can look up  glVertexAttribDivisor 2 from OpenGL to find more information about this.}PThe data type of values in the buffer. It tells the type of a single component.~0Class of types that are valid for sourcing data.5This is a convenience class to turn Haskell types to .Reify the type to a compatible .Types allowed for sourcing.*These are mostly Haskell types except for " which has no Haskell equivalent.16-bit floating point value.Creates a vertex array object.PInitially, the vertex array object makes no data available to a shader program.This returns the size of a  , in bytes.The default sourcing.Offset and stride are set to 0.At the very least you must set x and w.You must also set z, { and } in a consistent way. See t.Same as  but sets } according to a Haskell type.ISpecifies that some data from a buffer should be sourced for each vertex.The vertex array object retains a reference to the buffer which means it will not be garbage collected as long as the VAO remains active.#Consequences are undefined if your tu does not make sense. There is some error checking but it can only detect obviously invalid values in the sourcing.%tuvwxyz{|}~$$%Used to pass the type; not evaluated.%From which buffer to source the data.#Specifies how the sourcing is done.$$$$$$$$otuvwxyz{|}~otuvwxyz{|}~t uvwxyz{|}~ $$$$$$$$$$None +:A pipeline object that references a collection of shaders./OpenGL equivalent is the shader program object.,A shader object for a specific shader stage.'OpenGL equivalent is the shader object.'Which stage does this shader belong to.kThe ordering has no inherent meaning but it allows shaders to be stored correctly in containers that have " constraint. None +24:MFClass of data types that can be set to a uniform in a shader pipeline.7We provide instances for large integer values (such as ") but you should know that uniforms are rarely larger than 32-bit. We throw a user error if you pass a value that is larger than what the OpenGL API can accept (which is 2^32-1 for unsigned integer types and 2^31-1 for signed integer types).RThrown when a shader linking error occurs. The text is the error log for linking.Can also be caught as .ZThrown when a shader compilation error occurs. The text is the error log for compilation.Can also be caught as .9Thrown when either a compilation or linking error occurs.Sets a uniform in a pipeline.DCreates a shader from GLSL shader source, using a strict bytestring.BCreates a shader from GLSL shader source, using a lazy bytestring.The bytestring will be forced and converted to a strict bytestring internally, so this is not so efficient, if you care about storage efficiency in shader compilation.PCreates a shader from GLSL shader source, encoding a Text into an UTF-8 string.This can throw  if compilation fails.$GChecks that there are no compilation errors in an OpenGL shader object.(DELETES the shader if there were errors.$Same as $ but for linking.)DELETES the program if there were errors.:Creates a pipeline from vertex and fragment shader source.5This is a convenience function for a common use case.1Creates a pipeline composed of different shaders.,Returns a uniform location for a given name.The uniform may not be in the shader or it may not be active. If this happens, a special uniform location is returned that can be used in  to make it do nothing.-Returns a pipeline that does not do anything.LWithin the same context, this returns the same pipeline for each invocation.x$$$$$$$$$$$$$$$$The shader source code.$$Vertex shader source.Fragment shader source.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%p$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%None+TU"Specifies a topology of a texture.Buffer textures, see *https://www.opengl.org/wiki/Buffer_Texture1Specification on what the texture should be like.Use textureSpecification and set at least  and 6. Future minor versions remain compatible if you use textureSpecification& instead of the constructor directly.FHow many mipmap levels including the base level? Must be at least 1.7Ignored and not evaluated for multisampling textures.The type of a texture unit.The minimum valid value is 0 and maximum is implementation dependant but in OpenGL at least 48 units will work at the same time in shaders.Given a bind location (such as gl_TEXTURE_3D), returns the query enum that retrieves the current binding from glGetIntegerv (such as gl_TEXTURE_BINDING_3D).535 None+HM"Returns the size of a framebuffer. This is an #9 action because it can change for the screen framebuffer. NoneUglTextureStorage1DglTextureStorage2DglTextureStorage3D%% %!%% %!None +MU"Texture comparison modes.See  glTexParameteri  documentation in OpenGL.-Values of this type refer to sides of a cube.,Used to specify how to move the data from a Buffer to a  in A.gThis is common for all texture topologies. However, some fields are ignored depending on the topology.aFor example, if you upload into a 1D texture, then all fields that deal with higher dimensions (%, &, ( etc.) are ignored.It is recommended that you use one of the smart constructors as they implement the common use cases so you don't have to fill all these fields by yourself.From which buffer to upload. AOffset in the buffer, in bytes, from where to start uploading.!5To which mipmap level to upload. (0 = base level).";What data type is used for each component value in a pixel.#"What format is the source data in.$X offset where to put the data.%Y offset where to put the data.&Z offset where to put the data.'Width of the data to put.(Height of the data to put.)Number of 2D images to put.*Only used for cube map textures. Specifies which side of the cube to upload. Not evaluated if the texture is not a cube texture.+wNumber of columns in the image in the source buffer. This value is also sometimes known as 'pitch'. It is the same as 'o except in cases where the next row in source data does not come immediately after the current row but after +! from the first pixel in the row.,Same as + but for images in 3D uploading.-Alignment in which the source texture data is. Every row is aligned to this value. Allowed values are 1, 2, 4 and 8. The default value in smart constructors is 1..cSpecifies the format in which buffer data is for the purposes of uploading said data to a texture./Stencil values.0 Depth values.4You know the drill.5Red and green.6 Just red.8Returns the width of a texture.9 Returns the height of a texture.'This is 1 for one-dimensional textures.:HReturns the depth of a 3D texture or number of layers in array textures.(This is 1 for any other type of texture.<Creates a new texture.4Initially the contents of the texture are undefined.$Texture dimensions must be positive.=NGenerate all mipmaps for a texture. If mipmap levels were specified, that is.>!Constructs a common 1D uploading.?!Constructs a common 2D uploading.;This can also be used for uploading into 1D texture arrays.@!Constructs a common 3D uploading.;This can also be used for uploading into 2D texture arrays.AUploads an image to a texture.BEReturns the maximal number of mipmap levels when given a side length.Y     %"%#%$%% !"#$%&'()*+,-./0123456789:;%&<=%'%(>How many pixels to upload.?Width of the image to upload.Height of the image to upload.@Width of the image to upload.Height of the image to upload.Number of images to upload.A%)%*%+%,%-B%.%/CDEF%0%1GHIJKL%2%3o      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLp<7A !"#$%&'()*+,->?@.6543210/=GJCDEFKLHI     89:;B,     %"%#%$%% !"#$%&'()*+,-.6543210/789:;%&<=%'%(>?@A%)%*%+%,%-B%.%/CDEF%0%1GHIJKL%2%3None + MSpecifies what to clear in a Y invocation.Use X5 smart constructor instead for forward-compatibility.#Each member of this data type is a $W value; if any value is $V: then that value is cleared, otherwise it is not touched.O!Clear depth buffer to this value.P#Clear stencil buffer to this value.Q(Clear (all) color buffers to some color.RReturns the screen framebuffer.Note that all Rs are equal to each other with ",, even those in unrelated Caramia contexts.UThis makes it easy to check if any framebuffer happens to be the screen framebuffer.S?Make a texture target that is the "front" of the given texture.vThis is the most common use case. "front" means the first texture in a texture array and the base layer mipmap level.T(Map a specific mipmlayer from a texture.UIMap a specific mipmap layer of a specific layer in a 3D or array texture.VCreates a new framebuffer.WBReturns the maximum number of draw buffers in the current context.6Almost all GPUs in the last few years have at least 8.XSmart constructor for M. All members are $U.YClears values in a framebuffer.MNOPQRSTWhich mipmap layer?UWhich mipmap layer?Which topological layer?%4%5VWXYMNOPQRSTUVWXYVSTUYMNOPQXRW MNOPQRSTU%4%5VWXYNone +B[<Values of this type tell how to select attribute data from e.Future minor versions will not add any new fields or remove any fields from these values. Instead, new constructors are introduced.\Use an index buffer.OpenGL equivalent is  glDrawElements()  or  glDrawElementsInstanced() L. Index buffer contains indices that point to offsets in the vertex arrays.`CSimply start from some index and continue from there, 0, 1, 2, etc.OpenGL equivalent is  glDrawArrays()  or  glDrawArraysInstanced() .b)Contains a specification of what to draw.It is recommended to use  instead of this constructor.eNThis is the VAO from which attributes are retrieved in the shader pipeline.fHow many indices to render?gHow many instances to render.h&How to select the attribute data from e.iContains drawing parameters. You can use # to obtain default draw parameters.kWhich shader pipeline to use.l(What kind of fragment pass tests to use.mWhich blending to use.nWhere do you want to render?oFWhich textures do you want to bind? The keys in this integer map are @s and tell which texture units you want to bind given textures.p/Modify the depth values that are being written. (factor, units) .5By default this is (0, 0) (that is, do nothing). See  glPolygonOffset " for the meaning of these values.rTurns a Haskell type to s.s,The type of indices in an index buffer. See ].w<The different types of primitives you can use for rendering. %https://www.opengl.org/wiki/PrimitiveDefault drawing parameters.k7 is not set (that is, it's undefined). You must set it.No textures are bound.%Blending mode is premultiplied alpha.n is the screen framebuffer.Returns a default draw command.<Several fields are undefined so you must set them. These aredefhgo is set to 1. In future (minor) versions if we add any new fields those fields will have a sane default value.Draws according to a b.1There is a very large overhead in doing a single ! call. You probably want to use  and  instead.Same as  but in a Z command stream.Runs a drawing specification.&You can think of this as running many U commands with similar draw command specifications. This call is an optimization to & which has a high overhead by itself.Another way to think of this is a place where the functional, "no hidden state" design of the Caramia API is relaxed inside the Z stream.%6PSets the active texture (not public API! What would they use this for anyway?).Sets new texture bindings.Changes the pipeline in a Z command stream."Changes the current blending mode.!Sets the new fragment pass tests.Sets polygon offset.Sets the current framebuffer.%7Using %8 is safe inside a Z' stream. It is possible to run nested Z streams this way as well.<One useful thing to do is to set uniforms to pipelines with  setUniform.LZ%9%:%;%<%=%>%?%@%A%B[\]^_`abcdefghijklmnopqr%Used to pass the type, not evaluated.stuvwxyz{|}~%C%D;Initial drawing parameters. These can be changed in the Z command stream.Draw command stream.%E%F%6%G%H%7%I%J%K%L%M%NWZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~WZbcdefghijklmnop[`\a]^_svutw~}|{zyxqr!Z%9%:%;%<%=%>%?%@%A%B[`\a]^_bcdefghijklmnopqrsvutw ~}|{zyx%C%D%E%F%6%G%H%7%I%J%K%L%M%N"Nonelmnopqrstuvwxyz{|}~      !&'()*+,-./0123456789:;<=>?@ABHLMSTUVWXYZ[\]^_`abcdefghijklotuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%O#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&''()*+,,-./00123456789::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                           ! ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E E F G H I J KLLMNOPQRSTUVWXYZ[\]^^__`aabcdefghijkkllmnopqrstuvwxyz{|}~bbbfbf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKKLMNOPQRSTUVtWXYZ[\]^^_`a!bccdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                 !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""s"""""""""""""""""""""""#"##"##"##"##"##"##"# # "# # "# # "# # ###"##""#"##"##"##"##"##"##"##"##"##"##"##"## "##!"##""###"##$"##%"##&"##'"##("##)"##*"##+"##,""#-""#.""#/""#0""#1""#2""#3""#4""#5""#6""#7""#8""#9""#:""#;""#<""#=""#>""#?""#@""#A""#B""#C""#D""#E""#F""#G""#H""#I""#J""#K""#L""#M""#N""#O""#P""#Q""#R""#S""#T""#U""#V""#W""#X""#Y""#Z""#[""#[""#\""#]""#^""#_""#`""#a""#b""#c""#c""#d""#e""#f""#g""#h""#i""#j""#k""#l""#m""#n""#o""#o""#p""#q""#r""#s""#t""#u""#v""#w""#x""#y""#y""#z"#{#|"#}#~"#}#"#}#"#}#"#}#"##""#""#""#""#""#""#""#""#""#""#""#""#"##"##"##"##"##""#""#""#""#""#"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##"##""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#"##"##"##"##"##"##"##""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""#""$""$""$""$""$""$""$""$""$""$ ""$ ""$ ""$ ""$ ""$""$""$""$""$""$""$""$""$""$""$""$""$""$""$""$""$""$""$ ""$!""$"""$#""$$"$%$&""$'""$(""$)""$*""$+""$,""$-""$.""$/""$0""$1""$2""$3""$4""$5""$6""$7""$8""$9""$:""$;""$<""$=""$>""$?""$@""$A""$B""$C""$D""$E""$F""$G""$H""$I""$J""$K""$L""$M""$N""$O""$P""$Q""$R""$S""$T""$U""$V""$W""$X""$Y""$Z""$[""$\""$]""$^""$_""$`""$a"$b$c"$b$d"$b$e"$b$f"$b$g"$b$h"$b$i"$b$j"$b$k"$b$l"$b$m"$b$n""$o""$p""$q""$r""$s""$t""$u""$v""$w""$x""$y""$z""${""$|""$}""$~""$""$""$""$""$""$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"$$$"$$$$$$$  $ $"#$"$$ $ $ $$$$$P$$$S$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%Gt%H%H%I%J%K%L%M%N%O$%P%Q%R%S%T%U%V%W%X%Y%Z%[caramia-0.3.0.0!Graphics.Caramia.Internal.FlextGLGraphics.Caramia.Prelude*Graphics.Caramia.Internal.ContextLocalData$Graphics.Caramia.Internal.OpenGLCApi%Graphics.Caramia.Internal.OpenGLDebugGraphics.Caramia.Internal.LensGraphics.Caramia.Math&Graphics.Caramia.ImageFormats.Internal Graphics.Caramia.Render.InternalGraphics.Caramia.ColorGraphics.Caramia.Blend.InternalGraphics.Caramia.BlendGraphics.Caramia.ContextGraphics.Caramia.MemoryGraphics.Caramia.ResourceGraphics.Caramia.Sync Graphics.Caramia.Buffer.InternalGraphics.Caramia.BufferGraphics.Caramia.VAO.InternalGraphics.Caramia.VAO Graphics.Caramia.Shader.InternalGraphics.Caramia.Shader!Graphics.Caramia.Texture.Internal%Graphics.Caramia.Framebuffer.Internal$Graphics.Caramia.Internal.TexStorageGraphics.Caramia.TextureGraphics.Caramia.FramebufferGraphics.Caramia.RenderGraphics.Caramia.ImageFormatsCaramiaShaderCaramia.Render numInstancesGraphics.Caramia GLhandleARB GLcharARBGLchar GLeglImageOESGLeglImageOESobGLclampdGLdoubleGLsizeiGLuintGLushortGLclampxGLintGLshort GLbitfieldGLvoid GLbooleanGLenumGLvdpauSurfaceNVGLhalfNV GLsizeiptrGLintptr GLuint64EXT GLint64EXTGLuint64GLint64GLfixedGLclampfGLfloatGLubyteGLbyteGLDEBUGPROCAMDGLDEBUGPROCKHRGLDEBUGPROCARB GLDEBUGPROC GLsizeiptrARB GLintptrARB GLhalfARBGLhalfGLsyncGLsyncobFlextInitResultSuccessFailurewhy flextInithas_GL_ARB_texture_storagehas_GL_KHR_debughas_GL_EXT_direct_state_accesshas_GL_ARB_buffer_storage"has_GL_ARB_separate_shader_objectshas_GL_ATI_meminfohas_GL_NVX_gpu_memory_infohas_GL_ARB_invalidate_subdata glCullFace glFrontFaceglHint glLineWidth glPointSize glPolygonMode glScissorglTexParameterfglTexParameterfvglTexParameteriglTexParameteriv glTexImage1D glTexImage2D glDrawBufferglClear glClearColorglClearStencil glClearDepth glStencilMask glColorMask glDepthMask glDisableglEnableglFinishglFlush glBlendFunc glLogicOp glStencilFunc glStencilOp glDepthFunc glPixelStoref glPixelStorei glReadBuffer glReadPixels glGetBooleanv glGetDoublev glGetError glGetFloatv glGetIntegerv glGetString glGetTexImageglGetTexParameterfvglGetTexParameterivglGetTexLevelParameterfvglGetTexLevelParameteriv glIsEnabled glDepthRange glViewport glDrawArraysglDrawElementsglPolygonOffsetglCopyTexImage1DglCopyTexImage2DglCopyTexSubImage1DglCopyTexSubImage2DglTexSubImage1DglTexSubImage2D glBindTextureglDeleteTextures glGenTextures glIsTextureglDrawRangeElements glTexImage3DglTexSubImage3DglCopyTexSubImage3DglActiveTextureglSampleCoverageglCompressedTexImage3DglCompressedTexImage2DglCompressedTexImage1DglCompressedTexSubImage3DglCompressedTexSubImage2DglCompressedTexSubImage1DglGetCompressedTexImageglBlendFuncSeparateglMultiDrawArraysglMultiDrawElementsglPointParameterfglPointParameterfvglPointParameteriglPointParameteriv glBlendColorglBlendEquation glGenQueriesglDeleteQueries glIsQuery glBeginQuery glEndQuery glGetQueryivglGetQueryObjectivglGetQueryObjectuiv glBindBufferglDeleteBuffers glGenBuffers glIsBuffer glBufferDataglBufferSubDataglGetBufferSubData glMapBuffer glUnmapBufferglGetBufferParameterivglGetBufferPointervglBlendEquationSeparate glDrawBuffersglStencilOpSeparateglStencilFuncSeparateglStencilMaskSeparateglAttachShaderglBindAttribLocationglCompileShaderglCreateProgramglCreateShaderglDeleteProgramglDeleteShaderglDetachShaderglDisableVertexAttribArrayglEnableVertexAttribArrayglGetActiveAttribglGetActiveUniformglGetAttachedShadersglGetAttribLocationglGetProgramivglGetProgramInfoLog glGetShaderivglGetShaderInfoLogglGetShaderSourceglGetUniformLocationglGetUniformfvglGetUniformivglGetVertexAttribdvglGetVertexAttribfvglGetVertexAttribivglGetVertexAttribPointerv glIsProgram glIsShader glLinkProgramglShaderSource glUseProgram glUniform1f glUniform2f glUniform3f glUniform4f glUniform1i glUniform2i glUniform3i glUniform4i glUniform1fv glUniform2fv glUniform3fv glUniform4fv glUniform1iv glUniform2iv glUniform3iv glUniform4ivglUniformMatrix2fvglUniformMatrix3fvglUniformMatrix4fvglValidateProgramglVertexAttrib1dglVertexAttrib1dvglVertexAttrib1fglVertexAttrib1fvglVertexAttrib1sglVertexAttrib1svglVertexAttrib2dglVertexAttrib2dvglVertexAttrib2fglVertexAttrib2fvglVertexAttrib2sglVertexAttrib2svglVertexAttrib3dglVertexAttrib3dvglVertexAttrib3fglVertexAttrib3fvglVertexAttrib3sglVertexAttrib3svglVertexAttrib4NbvglVertexAttrib4NivglVertexAttrib4NsvglVertexAttrib4NubglVertexAttrib4NubvglVertexAttrib4NuivglVertexAttrib4NusvglVertexAttrib4bvglVertexAttrib4dglVertexAttrib4dvglVertexAttrib4fglVertexAttrib4fvglVertexAttrib4ivglVertexAttrib4sglVertexAttrib4svglVertexAttrib4ubvglVertexAttrib4uivglVertexAttrib4usvglVertexAttribPointerglUniformMatrix2x3fvglUniformMatrix3x2fvglUniformMatrix2x4fvglUniformMatrix4x2fvglUniformMatrix3x4fvglUniformMatrix4x3fv glColorMaskiglGetBooleani_vglGetIntegeri_v glEnablei glDisablei glIsEnablediglBeginTransformFeedbackglEndTransformFeedbackglBindBufferRangeglBindBufferBaseglTransformFeedbackVaryingsglGetTransformFeedbackVarying glClampColorglBeginConditionalRenderglEndConditionalRenderglVertexAttribIPointerglGetVertexAttribIivglGetVertexAttribIuivglVertexAttribI1iglVertexAttribI2iglVertexAttribI3iglVertexAttribI4iglVertexAttribI1uiglVertexAttribI2uiglVertexAttribI3uiglVertexAttribI4uiglVertexAttribI1ivglVertexAttribI2ivglVertexAttribI3ivglVertexAttribI4ivglVertexAttribI1uivglVertexAttribI2uivglVertexAttribI3uivglVertexAttribI4uivglVertexAttribI4bvglVertexAttribI4svglVertexAttribI4ubvglVertexAttribI4usvglGetUniformuivglBindFragDataLocationglGetFragDataLocation glUniform1ui glUniform2ui glUniform3ui glUniform4ui glUniform1uiv glUniform2uiv glUniform3uiv glUniform4uivglTexParameterIivglTexParameterIuivglGetTexParameterIivglGetTexParameterIuivglClearBufferivglClearBufferuivglClearBufferfvglClearBufferfi glGetStringiglIsRenderbufferglBindRenderbufferglDeleteRenderbuffersglGenRenderbuffersglRenderbufferStorageglGetRenderbufferParameterivglIsFramebufferglBindFramebufferglDeleteFramebuffersglGenFramebuffersglCheckFramebufferStatusglFramebufferTexture1DglFramebufferTexture2DglFramebufferTexture3DglFramebufferRenderbuffer%glGetFramebufferAttachmentParameterivglGenerateMipmapglBlitFramebuffer glRenderbufferStorageMultisampleglFramebufferTextureLayerglMapBufferRangeglFlushMappedBufferRangeglBindVertexArrayglDeleteVertexArraysglGenVertexArraysglIsVertexArrayglDrawArraysInstancedglDrawElementsInstanced glTexBufferglPrimitiveRestartIndexglCopyBufferSubDataglGetUniformIndicesglGetActiveUniformsivglGetActiveUniformNameglGetUniformBlockIndexglGetActiveUniformBlockivglGetActiveUniformBlockNameglUniformBlockBindingglDrawElementsBaseVertexglDrawRangeElementsBaseVertex!glDrawElementsInstancedBaseVertexglMultiDrawElementsBaseVertexglProvokingVertex glFenceSyncglIsSync glDeleteSyncglClientWaitSync glWaitSyncglGetInteger64v glGetSyncivglGetInteger64i_vglGetBufferParameteri64vglFramebufferTextureglTexImage2DMultisampleglTexImage3DMultisampleglGetMultisamplefv glSampleMaskiglBindFragDataLocationIndexedglGetFragDataIndex glGenSamplersglDeleteSamplers glIsSampler glBindSamplerglSamplerParameteriglSamplerParameterivglSamplerParameterfglSamplerParameterfvglSamplerParameterIivglSamplerParameterIuivglGetSamplerParameterivglGetSamplerParameterIivglGetSamplerParameterfvglGetSamplerParameterIuivglQueryCounterglGetQueryObjecti64vglGetQueryObjectui64vglVertexAttribDivisorglVertexAttribP1uiglVertexAttribP1uivglVertexAttribP2uiglVertexAttribP2uivglVertexAttribP3uiglVertexAttribP3uivglVertexAttribP4uiglVertexAttribP4uivglTexStorage1DglTexStorage2DglTexStorage3DglDebugMessageControlglDebugMessageInsertglDebugMessageCallbackglGetDebugMessageLogglPushDebugGroupglPopDebugGroup glObjectLabelglGetObjectLabelglObjectPtrLabelglGetObjectPtrLabel glGetPointervglDebugMessageControlKHRglDebugMessageInsertKHRglDebugMessageCallbackKHRglGetDebugMessageLogKHRglPushDebugGroupKHRglPopDebugGroupKHRglObjectLabelKHRglGetObjectLabelKHRglObjectPtrLabelKHRglGetObjectPtrLabelKHRglGetPointervKHRglMatrixLoadfEXTglMatrixLoaddEXTglMatrixMultfEXTglMatrixMultdEXTglMatrixLoadIdentityEXTglMatrixRotatefEXTglMatrixRotatedEXTglMatrixScalefEXTglMatrixScaledEXTglMatrixTranslatefEXTglMatrixTranslatedEXTglMatrixFrustumEXTglMatrixOrthoEXTglMatrixPopEXTglMatrixPushEXTglClientAttribDefaultEXTglPushClientAttribDefaultEXTglTextureParameterfEXTglTextureParameterfvEXTglTextureParameteriEXTglTextureParameterivEXTglTextureImage1DEXTglTextureImage2DEXTglTextureSubImage1DEXTglTextureSubImage2DEXTglCopyTextureImage1DEXTglCopyTextureImage2DEXTglCopyTextureSubImage1DEXTglCopyTextureSubImage2DEXTglGetTextureImageEXTglGetTextureParameterfvEXTglGetTextureParameterivEXTglGetTextureLevelParameterfvEXTglGetTextureLevelParameterivEXTglTextureImage3DEXTglTextureSubImage3DEXTglCopyTextureSubImage3DEXTglBindMultiTextureEXTglMultiTexCoordPointerEXTglMultiTexEnvfEXTglMultiTexEnvfvEXTglMultiTexEnviEXTglMultiTexEnvivEXTglMultiTexGendEXTglMultiTexGendvEXTglMultiTexGenfEXTglMultiTexGenfvEXTglMultiTexGeniEXTglMultiTexGenivEXTglGetMultiTexEnvfvEXTglGetMultiTexEnvivEXTglGetMultiTexGendvEXTglGetMultiTexGenfvEXTglGetMultiTexGenivEXTglMultiTexParameteriEXTglMultiTexParameterivEXTglMultiTexParameterfEXTglMultiTexParameterfvEXTglMultiTexImage1DEXTglMultiTexImage2DEXTglMultiTexSubImage1DEXTglMultiTexSubImage2DEXTglCopyMultiTexImage1DEXTglCopyMultiTexImage2DEXTglCopyMultiTexSubImage1DEXTglCopyMultiTexSubImage2DEXTglGetMultiTexImageEXTglGetMultiTexParameterfvEXTglGetMultiTexParameterivEXT glGetMultiTexLevelParameterfvEXT glGetMultiTexLevelParameterivEXTglMultiTexImage3DEXTglMultiTexSubImage3DEXTglCopyMultiTexSubImage3DEXTglEnableClientStateIndexedEXTglDisableClientStateIndexedEXTglGetFloatIndexedvEXTglGetDoubleIndexedvEXTglGetPointerIndexedvEXTglEnableIndexedEXTglDisableIndexedEXTglIsEnabledIndexedEXTglGetIntegerIndexedvEXTglGetBooleanIndexedvEXTglCompressedTextureImage3DEXTglCompressedTextureImage2DEXTglCompressedTextureImage1DEXT glCompressedTextureSubImage3DEXT glCompressedTextureSubImage2DEXT glCompressedTextureSubImage1DEXTglGetCompressedTextureImageEXTglCompressedMultiTexImage3DEXTglCompressedMultiTexImage2DEXTglCompressedMultiTexImage1DEXT!glCompressedMultiTexSubImage3DEXT!glCompressedMultiTexSubImage2DEXT!glCompressedMultiTexSubImage1DEXTglGetCompressedMultiTexImageEXTglMatrixLoadTransposefEXTglMatrixLoadTransposedEXTglMatrixMultTransposefEXTglMatrixMultTransposedEXTglNamedBufferDataEXTglNamedBufferSubDataEXTglMapNamedBufferEXTglUnmapNamedBufferEXTglGetNamedBufferParameterivEXTglGetNamedBufferPointervEXTglGetNamedBufferSubDataEXTglProgramUniform1fEXTglProgramUniform2fEXTglProgramUniform3fEXTglProgramUniform4fEXTglProgramUniform1iEXTglProgramUniform2iEXTglProgramUniform3iEXTglProgramUniform4iEXTglProgramUniform1fvEXTglProgramUniform2fvEXTglProgramUniform3fvEXTglProgramUniform4fvEXTglProgramUniform1ivEXTglProgramUniform2ivEXTglProgramUniform3ivEXTglProgramUniform4ivEXTglProgramUniformMatrix2fvEXTglProgramUniformMatrix3fvEXTglProgramUniformMatrix4fvEXTglProgramUniformMatrix2x3fvEXTglProgramUniformMatrix3x2fvEXTglProgramUniformMatrix2x4fvEXTglProgramUniformMatrix4x2fvEXTglProgramUniformMatrix3x4fvEXTglProgramUniformMatrix4x3fvEXTglTextureBufferEXTglMultiTexBufferEXTglTextureParameterIivEXTglTextureParameterIuivEXTglGetTextureParameterIivEXTglGetTextureParameterIuivEXTglMultiTexParameterIivEXTglMultiTexParameterIuivEXTglGetMultiTexParameterIivEXTglGetMultiTexParameterIuivEXTglProgramUniform1uiEXTglProgramUniform2uiEXTglProgramUniform3uiEXTglProgramUniform4uiEXTglProgramUniform1uivEXTglProgramUniform2uivEXTglProgramUniform3uivEXTglProgramUniform4uivEXT#glNamedProgramLocalParameters4fvEXT"glNamedProgramLocalParameterI4iEXT#glNamedProgramLocalParameterI4ivEXT$glNamedProgramLocalParametersI4ivEXT#glNamedProgramLocalParameterI4uiEXT$glNamedProgramLocalParameterI4uivEXT%glNamedProgramLocalParametersI4uivEXT%glGetNamedProgramLocalParameterIivEXT&glGetNamedProgramLocalParameterIuivEXTglEnableClientStateiEXTglDisableClientStateiEXTglGetFloati_vEXTglGetDoublei_vEXTglGetPointeri_vEXTglNamedProgramStringEXT!glNamedProgramLocalParameter4dEXT"glNamedProgramLocalParameter4dvEXT!glNamedProgramLocalParameter4fEXT"glNamedProgramLocalParameter4fvEXT$glGetNamedProgramLocalParameterdvEXT$glGetNamedProgramLocalParameterfvEXTglGetNamedProgramivEXTglGetNamedProgramStringEXTglNamedRenderbufferStorageEXT$glGetNamedRenderbufferParameterivEXT(glNamedRenderbufferStorageMultisampleEXT0glNamedRenderbufferStorageMultisampleCoverageEXT glCheckNamedFramebufferStatusEXTglNamedFramebufferTexture1DEXTglNamedFramebufferTexture2DEXTglNamedFramebufferTexture3DEXT!glNamedFramebufferRenderbufferEXT-glGetNamedFramebufferAttachmentParameterivEXTglGenerateTextureMipmapEXTglGenerateMultiTexMipmapEXTglFramebufferDrawBufferEXTglFramebufferDrawBuffersEXTglFramebufferReadBufferEXTglGetFramebufferParameterivEXTglNamedCopyBufferSubDataEXTglNamedFramebufferTextureEXT!glNamedFramebufferTextureLayerEXT glNamedFramebufferTextureFaceEXTglTextureRenderbufferEXTglMultiTexRenderbufferEXTglVertexArrayVertexOffsetEXTglVertexArrayColorOffsetEXTglVertexArrayEdgeFlagOffsetEXTglVertexArrayIndexOffsetEXTglVertexArrayNormalOffsetEXTglVertexArrayTexCoordOffsetEXT#glVertexArrayMultiTexCoordOffsetEXTglVertexArrayFogCoordOffsetEXT$glVertexArraySecondaryColorOffsetEXT"glVertexArrayVertexAttribOffsetEXT#glVertexArrayVertexAttribIOffsetEXTglEnableVertexArrayEXTglDisableVertexArrayEXTglEnableVertexArrayAttribEXTglDisableVertexArrayAttribEXTglGetVertexArrayIntegervEXTglGetVertexArrayPointervEXTglGetVertexArrayIntegeri_vEXTglGetVertexArrayPointeri_vEXTglMapNamedBufferRangeEXT glFlushMappedNamedBufferRangeEXTglNamedBufferStorageEXTglClearNamedBufferDataEXTglClearNamedBufferSubDataEXTglNamedFramebufferParameteriEXT#glGetNamedFramebufferParameterivEXTglProgramUniform1dEXTglProgramUniform2dEXTglProgramUniform3dEXTglProgramUniform4dEXTglProgramUniform1dvEXTglProgramUniform2dvEXTglProgramUniform3dvEXTglProgramUniform4dvEXTglProgramUniformMatrix2dvEXTglProgramUniformMatrix3dvEXTglProgramUniformMatrix4dvEXTglProgramUniformMatrix2x3dvEXTglProgramUniformMatrix2x4dvEXTglProgramUniformMatrix3x2dvEXTglProgramUniformMatrix3x4dvEXTglProgramUniformMatrix4x2dvEXTglProgramUniformMatrix4x3dvEXTglTextureBufferRangeEXTglTextureStorage1DEXTglTextureStorage2DEXTglTextureStorage3DEXT glTextureStorage2DMultisampleEXT glTextureStorage3DMultisampleEXT glVertexArrayBindVertexBufferEXT"glVertexArrayVertexAttribFormatEXT#glVertexArrayVertexAttribIFormatEXT#glVertexArrayVertexAttribLFormatEXT#glVertexArrayVertexAttribBindingEXT$glVertexArrayVertexBindingDivisorEXT#glVertexArrayVertexAttribLOffsetEXTglTexturePageCommitmentEXT#glVertexArrayVertexAttribDivisorEXTglBufferStorageglUseProgramStagesglActiveShaderProgramglCreateShaderProgramvglBindProgramPipelineglDeleteProgramPipelinesglGenProgramPipelinesglIsProgramPipelineglGetProgramPipelineivglProgramUniform1iglProgramUniform1ivglProgramUniform1fglProgramUniform1fvglProgramUniform1dglProgramUniform1dvglProgramUniform1uiglProgramUniform1uivglProgramUniform2iglProgramUniform2ivglProgramUniform2fglProgramUniform2fvglProgramUniform2dglProgramUniform2dvglProgramUniform2uiglProgramUniform2uivglProgramUniform3iglProgramUniform3ivglProgramUniform3fglProgramUniform3fvglProgramUniform3dglProgramUniform3dvglProgramUniform3uiglProgramUniform3uivglProgramUniform4iglProgramUniform4ivglProgramUniform4fglProgramUniform4fvglProgramUniform4dglProgramUniform4dvglProgramUniform4uiglProgramUniform4uivglProgramUniformMatrix2fvglProgramUniformMatrix3fvglProgramUniformMatrix4fvglProgramUniformMatrix2dvglProgramUniformMatrix3dvglProgramUniformMatrix4dvglProgramUniformMatrix2x3fvglProgramUniformMatrix3x2fvglProgramUniformMatrix2x4fvglProgramUniformMatrix4x2fvglProgramUniformMatrix3x4fvglProgramUniformMatrix4x3fvglProgramUniformMatrix2x3dvglProgramUniformMatrix3x2dvglProgramUniformMatrix2x4dvglProgramUniformMatrix4x2dvglProgramUniformMatrix3x4dvglProgramUniformMatrix4x3dvglValidateProgramPipelineglGetProgramPipelineInfoLogglInvalidateTexSubImageglInvalidateTexImageglInvalidateBufferSubDataglInvalidateBufferDataglInvalidateFramebufferglInvalidateSubFramebuffergl_ADDgl_RELATIVE_LARGE_CCW_ARC_TO_NV gl_DST_COLORgl_LUMINANCE_FLOAT16_ATIgl_BUMP_ENVMAP_ATI%gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI#gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NVgl_MATRIX_INDEX_ARRAY_OESgl_FRACTIONAL_EVEN'gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHRgl_UNSIGNED_INT_24_8_NV+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXTgl_MAX_FRAGMENT_UNIFORM_BLOCKSgl_VERSION_ES_CL_1_0gl_LINE_STRIP_ADJACENCY_ARBgl_SHADER_STORAGE_BUFFERgl_CUBIC_CURVE_TO_NVgl_DEBUG_GROUP_STACK_DEPTH!gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"gl_TESS_CONTROL_SUBROUTINE_UNIFORMgl_RESAMPLE_ZERO_FILL_SGIXgl_COEFFgl_RGB8"gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXTgl_MAP2_TANGENT_EXTgl_SCALED_RESOLVE_FASTEST_EXTgl_INT_IMAGE_2D_RECT_EXTgl_DEPTH32F_STENCIL8_NVgl_COLOR_TABLE_GREEN_SIZEgl_TEXTURE_BINDING_BUFFER_EXTgl_INDEX_ARRAY_LIST_IBM gl_FRAGMENTS_INSTRUMENT_MAX_SGIXgl_OP_NEGATE_EXTgl_EVAL_VERTEX_ATTRIB12_NVgl_TRANSPOSE_PROGRAM_MATRIX_EXTgl_AND_REVERSEgl_UNSIGNED_SHORT_4_4_4_4_EXTgl_COLOR_MATRIX_SGIgl_WAIT_FAILEDgl_WEIGHT_ARRAY_OESgl_MAX_SERVER_WAIT_TIMEOUTgl_PROGRAM_FORMAT_ARBgl_GEOMETRY_SHADER_EXTgl_R32Fgl_TEXTURE_INDEX_SIZE_EXTgl_OUTPUT_TEXTURE_COORD8_EXTgl_TEXTURE_BUFFER_EXTgl_UNSIGNED_BYTE_3_3_2 gl_RG16_EXTgl_TEXTURE_ENV_BIAS_SGIXgl_REFERENCE_PLANE_SGIX(gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMDgl_DRAW_BUFFER3_ATIgl_MODELVIEW28_ARB4gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXTgl_VERTEX_PROGRAM_POINT_SIZE!gl_PROGRAM_MATRIX_STACK_DEPTH_EXTgl_SWIZZLE_STRQ_ATIgl_R11F_G11F_B10Fgl_INDEX_TEST_EXTgl_FRAGMENT_INPUT_NV&gl_COLOR_ARRAY_PARALLEL_POINTERS_INTELgl_INFO_LOG_LENGTH&gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARBgl_COMP_BIT_ATI gl_RGB_S3TCgl_STENCIL_BACK_REF&gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP!gl_RELATIVE_QUADRATIC_CURVE_TO_NVgl_RENDERBUFFER_HEIGHT&gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX1gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OESgl_MAX_VERTEX_OUTPUT_COMPONENTSgl_INDEX_ARRAYgl_UNSIGNED_NORMALIZED!gl_DETAIL_TEXTURE_2D_BINDING_SGISgl_YCBAYCR8A_4224_NVgl_POINT_SIZE_RANGEgl_HSL_SATURATION_KHR"gl_READ_PIXEL_DATA_RANGE_LENGTH_NVgl_TEXTURE_GREEN_SIZE_EXTgl_COMPARE_R_TO_TEXTURE_ARBgl_VERTEX_ARRAY_STRIDEgl_MINMAX_SINK gl_UNSIGNED_INT_8_8_S8_S8_REV_NVgl_PATH_TERMINAL_END_CAP_NVgl_CURRENT_FOG_COORDINATE_EXTgl_COLOR_ATTACHMENT11gl_TEXTURE_COORD_ARRAY_POINTER!gl_DEBUG_CATEGORY_APPLICATION_AMDgl_RASTERIZER_DISCARD)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXTgl_MEDIUM_FLOAT"gl_FRAGMENT_SHADER_DERIVATIVE_HINTgl_DEBUG_OUTPUT_SYNCHRONOUS_ARBgl_UNSIGNED_INTgl_PROXY_TEXTURE_2D_ARRAYgl_LUMINANCE_ALPHA32UI_EXT)gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXTgl_PROGRAM_ALU_INSTRUCTIONS_ARBgl_SOURCE0_ALPHA_EXTgl_QUERY_OBJECT_AMDgl_KEEPgl_MAX_UNIFORM_LOCATIONSgl_CURRENT_SECONDARY_COLORgl_BUFFER_VARIABLEgl_MULTISAMPLE_EXTgl_INDEX_SHIFTgl_DEPTH_STENCIL_TO_RGBA_NVgl_MAX_COLOR_MATRIX_STACK_DEPTHgl_WEIGHT_ARRAY_POINTER_ARBgl_RG16_SNORM_EXTgl_VERTEX_ATTRIB_ARRAY_INTEGERgl_COLOR_TABLE_SCALEgl_COMBINER3_NVgl_TEXTURE_VIEW_MIN_LAYERgl_PATH_DASH_OFFSET_NV gl_TEXTURE30gl_TEXTURE_BORDER_COLORgl_COLOR_ATTACHMENT0gl_TEXTURE_BINDING_3D gl_DARKEN_NV#gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS gl_SCALAR_EXTgl_UNIFORM_BLOCK_BINDINGgl_RGBA32I_EXTgl_DRAW_BUFFER2gl_ALPHA_INTEGER_EXT gl_FOG_MODEgl_ACTIVE_VARIABLESgl_RG16gl_FOG_COORDINATE_ARRAY_EXTgl_DRAW_FRAMEBUFFER_NVgl_UNSIGNED_SHORT_8_8_APPLEgl_RENDERBUFFER_SAMPLES_ANGLEgl_PARAMETER_BUFFER_ARBgl_INVARIANT_VALUE_EXTgl_DEPTH_BOUNDS_TEST_EXTgl_DOUBLE_VEC2gl_DOUBLE_MAT4x2_EXT gl_REG_27_ATIgl_POINT_SMOOTHgl_RENDERBUFFER_BINDING_OES gl_MUL_ATI gl_SELECTgl_SECONDARY_INTERPOLATOR_ATIgl_IMAGE_TRANSLATE_X_HPgl_INVALID_INDEXgl_UNIFORM_BUFFER_BINDING_EXTgl_ASYNC_HISTOGRAM_SGIX$gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOMgl_VIEWPORT_BOUNDS_RANGEgl_SHADING_LANGUAGE_VERSIONgl_COMPUTE_SUBROUTINE_UNIFORMgl_PROGRAM_BINARY_ANGLE$gl_MAX_TESS_CONTROL_INPUT_COMPONENTSgl_RGBA32UI_EXT#gl_GEOMETRY_LINKED_VERTICES_OUT_EXT)gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATIgl_SAMPLE_ALPHA_TO_ONE"gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB(gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT%gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"gl_FRAMEBUFFER_ATTACHMENT_RED_SIZEgl_DSDT_MAG_VIB_NVgl_TEXTURE_SWIZZLE_A"gl_GLYPH_VERTICAL_BEARING_Y_BIT_NVgl_PALETTE8_RGB8_OES gl_SUCCESS_NVgl_PROGRAM_OUTPUT"gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXTgl_4PASS_0_SGIS!gl_DEPTH_PASS_INSTRUMENT_MAX_SGIXgl_MAX_ASYNC_TEX_IMAGE_SGIXgl_MIRRORED_REPEAT_IBMgl_RENDERBUFFER_BLUE_SIZE_OESgl_DEBUG_TYPE_OTHERgl_VERTEX_STATE_PROGRAM_NVgl_MAP_INVALIDATE_BUFFER_BITgl_CONSTANT_COLOR0_NV+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NVgl_UNSIGNED_INT_SAMPLER_2D_RECTgl_VERTEX_ARRAY_POINTERgl_RESCALE_NORMAL#gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXTgl_RENDERBUFFER_RED_SIZE_OESgl_STATIC_DRAW_ARBgl_NO_RESET_NOTIFICATION+gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NVgl_DRAW_BUFFER10_ARB#gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT gl_RGBA12gl_DEBUG_CALLBACK_FUNCTION_ARBgl_MODELVIEW1_EXT&gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLEgl_GREEN_BIT_ATI gl_LIGHT7gl_CONVOLUTION_FORMAT_EXT&gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARBgl_LUMINANCE_ALPHA32I_EXTgl_SOURCE0_RGB_EXTgl_CLIP_NEAR_HINT_PGI gl_SLUMINANCEgl_MATRIX25_ARBgl_BLUE_INTEGER$gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENTgl_SIGNED_RGB8_NV%gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIXgl_OFFSET_TEXTURE_RECTANGLE_NV$gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT gl_RGB32Fgl_FLOAT_R16_NV!gl_OCCLUSION_QUERY_EVENT_MASK_AMDgl_SAMPLER_BUFFER_EXTgl_TEXTURE25_ARBgl_SLUMINANCE_ALPHA_NVgl_TRIANGLE_STRIP_ADJACENCYgl_SPARSE_BUFFER_PAGE_SIZE_ARBgl_LIGHT_ENV_MODE_SGIXgl_UNPACK_SKIP_ROWSgl_VERTEX_ATTRIB_MAP2_APPLEgl_IUI_V2F_EXTgl_COMPRESSED_SLUMINANCE_ALPHAgl_VERTEX_SHADER gl_MAX_CLIENT_ATTRIB_STACK_DEPTH"gl_POST_COLOR_MATRIX_BLUE_BIAS_SGIgl_SCISSOR_TESTgl_TEXTURE_PRIORITY_EXTgl_S gl_YCBCR_MESAgl_LIGHT_MODEL_TWO_SIDEgl_CONTEXT_RELEASE_BEHAVIOR_KHR#gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATIgl_COMPRESSED_RG_RGTC2gl_DEPTH_COMPONENT24_ARBgl_QUERY_NO_WAITgl_CLIENT_ACTIVE_TEXTURE_ARBgl_TEXTURE_ALPHA_SIZEgl_CONTEXT_PROFILE_MASK gl_LOW_INTgl_BUFFER_UPDATE_BARRIER_BIT gl_FLOAT_MAT4gl_TEXTURE_RED_TYPEgl_MAX_VERTEX_STREAMS-gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NVgl_POINT_SIZE_MAX_SGISgl_INT_SAMPLER_CUBE_MAP_ARRAYgl_INT_SAMPLER_2D_ARRAYgl_HSL_LUMINOSITY_KHRgl_ALIASED_POINT_SIZE_RANGEgl_BUFFER_MAP_POINTER_ARB gl_RENDERBUFFER_STENCIL_SIZE_EXTgl_TEXTURE_CLIPMAP_CENTER_SGIXgl_TEXTURE0_ARBgl_COLOR_ATTACHMENT10_NVgl_DEPTH_RENDERABLEgl_UNIFORM_BUFFER_UNIFIED_NVgl_GREEN_INTEGER_EXT&gl_FOG_COORDINATE_ARRAY_BUFFER_BINDINGgl_DEPTH_CLAMP_NEAR_AMD gl_CON_4_ATI gl_LIGHT6gl_REFLECTION_MAP_NVgl_MATRIX5_ARB gl_FRAME_NVgl_UNSIGNED_SHORT_8_8_REV_MESAgl_OP_SET_GE_EXTgl_GEOMETRY_SHADERgl_HISTOGRAM_ALPHA_SIZE_EXT!gl_NATIVE_GRAPHICS_BEGIN_HINT_PGIgl_DEPTH_STENCIL_MESA$gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIXgl_STENCIL_BACK_FAIL_ATIgl_DST_ATOP_NVgl_SHADER_SOURCE_LENGTHgl_TEXTURE_STORAGE_HINT_APPLEgl_TEXTURE_SWIZZLE_G_EXTgl_BUFFER_MAP_OFFSET!gl_IMPLEMENTATION_COLOR_READ_TYPEgl_MAX_CUBE_MAP_TEXTURE_SIZE gl_ARRAY_SIZE,gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTgl_ATTRIB_ARRAY_SIZE_NV gl_MIPMAPgl_CLIP_DISTANCE5_APPLE gl_NO_ERRORgl_TESS_EVALUATION_PROGRAM_NV gl_TEXTURE23 gl_ALPHA4_EXTgl_WEIGHT_ARRAY_ARBgl_STENCIL_INDEX1_OESgl_MODELVIEW16_ARBgl_EDGE_FLAG_ARRAY_EXTgl_T2F_IUI_N3F_V3F_EXT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OESgl_STENCIL_ATTACHMENT_OESgl_LUMINANCE4_ALPHA4'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHRgl_CLAMP_TO_BORDER_SGISgl_PERFQUERY_WAIT_INTELgl_MAX_VERTEX_ATTRIBS_ARB gl_CON_20_ATIgl_COLOR_ATTACHMENT9gl_MIN_SAMPLE_SHADING_VALUE_ARB gl_3_BYTES gl_DOT4_ATI"gl_PROGRAMMABLE_SAMPLE_LOCATION_NVgl_R11F_G11F_B10F_APPLEgl_UNSIGNED_INT_IMAGE_2D_RECTgl_ANDgl_PIXEL_MODE_BITgl_TEXTURE_LOD_BIAS_S_SGIX"gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT)gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARBgl_MODELVIEW0_MATRIX_EXTgl_FLOAT_RG32_NVgl_PIXEL_UNPACK_BUFFER_ARBgl_BLEND_SRC_ALPHA_OESgl_TRANSLATE_Y_NVgl_SAMPLER_2D_ARBgl_ALL_ATTRIB_BITSgl_MAX_VIEWPORT_DIMS&gl_PERFQUERY_COUNTER_DATA_BOOL32_INTELgl_TEXTURE_FLOAT_COMPONENTS_NV gl_PRIMITIVE_RESTART_FIXED_INDEXgl_RG!gl_SECONDARY_COLOR_ARRAY_LIST_IBMgl_TEXTURE_SRGB_DECODE_EXT gl_LINE_BITgl_ARRAY_BUFFER_BINDING_ARBgl_UNPACK_RESAMPLE_OML gl_TEXTURE5gl_SHADER_OPERATION_NV"gl_MAX_FRAGMENT_UNIFORM_COMPONENTS gl_READ_WRITEgl_V2Fgl_IMAGE_CUBE_MAP_ARRAY_EXTgl_GPU_OPTIMIZED_QCOMgl_PIXEL_MAP_I_TO_Agl_UNSIGNED_INT64_VEC2_NV gl_TEXTURE16$gl_TRANSFORM_FEEDBACK_BUFFER_BINDING gl_MAP_COLORgl_FULL_RANGE_EXT gl_MATRIX7_NVgl_LINEARDODGE_NVgl_IMAGE_2D_MULTISAMPLE_EXT"gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIXgl_DEBUG_CATEGORY_API_ERROR_AMDgl_DRAW_BUFFER0_ARB#gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS4gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXTgl_LUMINANCE16_ALPHA16gl_COLOR_BUFFER_BIT4_QCOMgl_MAP1_GRID_DOMAINgl_REPLICATE_BORDER_HPgl_VERTEX_ATTRIB_ARRAY2_NVgl_VERTEX_ARRAY_LIST_IBMgl_SOURCE2_ALPHA_ARB#gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT)gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE#gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARBgl_MAP1_GRID_SEGMENTSgl_MAX_FRAGMENT_ATOMIC_COUNTERSgl_UNPACK_IMAGE_HEIGHT gl_8X_BIT_ATI gl_FLOAT_VEC2gl_TEXTURE6_ARBgl_OVERLAY_KHR#gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAYgl_SWIZZLE_STR_DR_ATI gl_BOOL_VEC3gl_UNIFORM_IS_ROW_MAJORgl_COLOR_ATTACHMENT2_NVgl_NORMAL_ARRAY_POINTER_EXT#gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OES$gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXTgl_DRAW_BUFFER4_EXT gl_FOG_START gl_NICESTgl_TRIANGLE_LIST_SUNgl_READ_WRITE_ARB-gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX'gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NVgl_DEPTH_TEXTURE_MODEgl_BLEND_SRC_ALPHAgl_LUMINANCE8I_EXTgl_ARRAY_BUFFER_ARBgl_LINEAR_SHARPEN_COLOR_SGIS gl_DST_NV gl_DEBUG_CALLBACK_USER_PARAM_KHR!gl_MAX_PROGRAM_GENERIC_ATTRIBS_NVgl_COLOR_SUM_EXTgl_MINMAX_FORMAT_EXT!gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARBgl_IMAGE_CLASS_2_X_8gl_SINGLE_COLOR_EXTgl_X_EXTgl_ALREADY_SIGNALED_APPLEgl_ALLOW_DRAW_OBJ_HINT_PGIgl_PATH_STENCIL_VALUE_MASK_NVgl_SHADER_INCLUDE_ARBgl_RGBA_FLOAT_MODE_ARBgl_RGBA_INTEGER_EXTgl_UNDEFINED_APPLEgl_POINT_SPRITE_OESgl_TEXTURE_2D_MULTISAMPLE_ARRAYgl_INVARIANT_EXTgl_LINEAR_CLIPMAP_NEAREST_SGIXgl_MAP2_VERTEX_ATTRIB4_4_NVgl_SAMPLES_3DFXgl_MAP1_TEXTURE_COORD_1gl_LINEAR_DETAIL_SGIS gl_CND_ATIgl_DS_SCALE_NVgl_COLOR_ATTACHMENT3_NV gl_INCR_WRAPgl_QUERY_COUNTER_BITS_EXTgl_BLEND_SRC_RGB gl_VERTEX_SHADER_INVOCATIONS_ARBgl_STENCIL_INDEX1_EXTgl_RENDERBUFFER_SAMPLES_APPLEgl_RGBA8UI_EXTgl_MAX_TEXTURE_IMAGE_UNITS_NVgl_UNSIGNED_SHORT_4_4_4_4gl_FRAMEBUFFERgl_PERFMON_GLOBAL_MODE_QCOMgl_DEPTH32F_STENCIL8gl_UNSIGNED_INT_ATOMIC_COUNTERgl_COLOR_ARRAY_ADDRESS_NVgl_QUERY_COUNTER_BITSgl_FRAMEBUFFER_BINDING_ANGLEgl_RENDERBUFFER_GREEN_SIZE gl_DST_ALPHAgl_SKIP_COMPONENTS2_NV#gl_STENCIL_BACK_PASS_DEPTH_PASS_ATIgl_DEBUG_LOGGED_MESSAGES_KHRgl_FRAMEBUFFER_COMPLETE_OES#gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXTgl_DEPTH_PASS_INSTRUMENT_SGIX!gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXTgl_LIGHT_MODEL_COLOR_CONTROLgl_DEBUG_OBJECT_MESAgl_SYNC_FLAGS_APPLEgl_READ_BUFFER_EXTgl_MAX_UNIFORM_BUFFER_BINDINGS%gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT gl_POST_COLOR_MATRIX_COLOR_TABLEgl_RGB_RAW_422_APPLEgl_MIN_SAMPLE_SHADING_VALUEgl_PROXY_TEXTURE_CUBE_MAP_ARRAYgl_PIXEL_COUNTER_BITS_NV*gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT gl_TEXTURE29 gl_SMOOTH_LINE_WIDTH_GRANULARITYgl_INT_IMAGE_2Dgl_MAX_GEOMETRY_OUTPUT_VERTICES'gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NVgl_TEXTURE13_ARBgl_NO_RESET_NOTIFICATION_KHR&gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARBgl_MAX_COMBINED_UNIFORM_BLOCKS gl_PROXY_TEXTURE_COLOR_TABLE_SGI!gl_FRAGMENT_PROGRAM_CALLBACK_MESAgl_STENCIL_INDEXgl_RENDERBUFFER_FREE_MEMORY_ATI gl_MATRIX3_NV gl_BLEND_SRC'gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXTgl_COMPRESSED_RGB8_ETC2_OESgl_CONVOLUTION_HEIGHT_EXTgl_ONE_MINUS_DST_ALPHAgl_CONTEXT_FLAG_DEBUG_BIT!gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NVgl_VIVIDLIGHT_NVgl_TEXTURE_WRAP_R_OESgl_UNSIGNED_INT_IMAGE_2D_EXTgl_BUFFER_DATA_SIZEgl_OBJECT_BUFFER_USAGE_ATIgl_MAX_PROGRAM_TEXEL_OFFSET_EXT&gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXTgl_TEXTURE_SHARED_SIZE_EXTgl_LUMINANCE32F_EXTgl_CONTEXT_LOSTgl_COMPRESSED_TEXTURE_FORMATSgl_UNSIGNED_INT_2_10_10_10_REV$gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSETgl_COLOR_TABLE_GREEN_SIZE_SGIgl_DOUBLE_MAT2x4_EXTgl_OUTPUT_VERTEX_EXTgl_COMBINER5_NVgl_VIEWPORT_BOUNDS_RANGE_NVgl_TEXTURE_BUFFER_OFFSET_EXTgl_INDEX_MATERIAL_FACE_EXTgl_LIGHTEN_KHRgl_LINEARBURN_NVgl_COPY_READ_BUFFERgl_MAX_VERTEX_UNIFORM_VECTORS.gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXTgl_VERTEX_ATTRIB_ARRAY_TYPE_ARBgl_RGB12gl_ELEMENT_ARRAY_ADDRESS_NVgl_COLOR_MATRIX_STACK_DEPTH gl_LINE_LOOPgl_GLYPH_WIDTH_BIT_NV gl_TEXTURE24"gl_VERTEX_ATTRIB_ARRAY_BARRIER_BITgl_INDEX_ARRAY_EXTgl_TEXTURE_MAX_ANISOTROPY_EXTgl_VERTEX_ATTRIB_ARRAY6_NVgl_OUTPUT_TEXTURE_COORD15_EXTgl_INT_SAMPLER_BUFFER_AMDgl_VERTEX_ATTRIB_MAP1_APPLEgl_HISTOGRAM_WIDTHgl_OP_FLOOR_EXTgl_DOT3_RGB_EXTgl_UNIFORM_BUFFER_BINDING#gl_TRANSFORM_FEEDBACK_BUFFER_PAUSEDgl_COMBINER0_NV%gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKSgl_COLOR_SUM_CLAMP_NV(gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD'gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVXgl_DYNAMIC_COPY_ARB!gl_MATRIX_INDEX_ARRAY_POINTER_ARBgl_BINNING_CONTROL_HINT_QCOMgl_DRAW_FRAMEBUFFERgl_PATH_FORMAT_SVG_NVgl_SYNC_CL_EVENT_ARBgl_PIXEL_MAP_I_TO_G_SIZEgl_STENCIL_INDEX4_EXT gl_FOG_COORDINATE_ARRAY_LIST_IBM gl_LOWER_LEFTgl_PROXY_TEXTURE_RECTANGLE_NV+gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NVgl_MOVE_TO_RESETS_NVgl_TEXTURE_DEPTH_TYPEgl_RASTERIZER_DISCARD_EXTgl_OFFSET_TEXTURE_SCALE_NV gl_SET_AMDgl_UNSIGNED_BYTE_2_3_3_REVgl_STREAM_COPYgl_DRAW_FRAMEBUFFER_APPLE$gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS gl_TEXTUREgl_EDGE_FLAG_ARRAY_STRIDE_EXTgl_NORMAL_MAP_OESgl_UNPACK_SKIP_VOLUMES_SGISgl_EVAL_VERTEX_ATTRIB5_NVgl_SAMPLE_SHADING_OES'gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NVgl_INTERNALFORMAT_RED_SIZE1gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXTgl_BGR_INTEGER gl_DEPTH_FUNC&gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV gl_1PASS_EXTgl_CURRENT_WEIGHT_ARBgl_STATIC_DRAW"gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OESgl_LOSE_CONTEXT_ON_RESET3gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV gl_DEPTH_BITSgl_PIXEL_UNPACK_BUFFER_BINDINGgl_CURRENT_VERTEX_EXT!gl_TEXTURE_1D_STACK_BINDING_MESAXgl_PROXY_TEXTURE_4D_SGISgl_TEXTURE_ALPHA_TYPEgl_BACK gl_RGB16Igl_POINT_SPRITE(gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATIgl_WEIGHT_SUM_UNITY_ARBgl_ANY_SAMPLES_PASSED_EXTgl_SAMPLE_ALPHA_TO_COVERAGEgl_SAMPLER_1D_ARBgl_COMPRESSED_RGBA_ARB gl_MINMAX_EXTgl_MAX_LIST_NESTING gl_MAX_FRAGMENT_INPUT_COMPONENTS!gl_COLOR_ARRAY_BUFFER_BINDING_ARBgl_LINE_STRIP_ADJACENCY_EXTgl_SGX_PROGRAM_BINARY_IMGgl_OUTPUT_TEXTURE_COORD9_EXTgl_DEPTH_CLAMP_FAR_AMD!gl_FRAMEBUFFER_DEFAULT_LAYERS_EXT#gl_MAX_PROGRAM_RESULT_COMPONENTS_NV&gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEXgl_PATH_GEN_MODE_NVgl_IMAGE_BINDING_LAYERED_EXTgl_STANDARD_FONT_FORMAT_NVgl_AFFINE_2D_NVgl_PACK_ROW_BYTES_APPLEgl_MAX_DEBUG_LOGGED_MESSAGESgl_FOG_COORD_ARRAY_STRIDEgl_UNSIGNED_IDENTITY_NVgl_ONE_MINUS_CONSTANT_ALPHA_EXT2gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTSgl_TEXTURE_GREEN_SIZE=gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADERgl_COLOR_ATTACHMENT13_EXTgl_COLOR_TABLE_RED_SIZE_SGIgl_ATTENUATION_EXTgl_OUTPUT_TEXTURE_COORD16_EXTgl_GEOMETRY_SUBROUTINE_UNIFORM gl_R16_SNORMgl_MIRROR_CLAMP_ATI gl_OR_REVERSEgl_NUM_COMPATIBLE_SUBROUTINES'gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NVgl_RECIP_ADD_SIGNED_ALPHA_IMGgl_DSDT8_MAG8_NV"gl_TEXTURE_COORD_ARRAY_POINTER_EXTgl_CLIENT_ALL_ATTRIB_BITSgl_TEXTURE_GEN_Rgl_PARAMETER_BUFFER_BINDING_ARB gl_MAX_RECTANGLE_TEXTURE_SIZE_NV gl_ALPHA8_EXTgl_RGB_SCALE_EXTgl_COLOR_ATTACHMENT0_NVgl_MAX_CULL_DISTANCES gl_LINE_TOKEN gl_POINT_FADE_THRESHOLD_SIZE_EXTgl_DEBUG_TYPE_PERFORMANCEgl_TEXTURE22_ARB#gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXTgl_TEXTURE_SWIZZLE_Rgl_COVERAGE_ATTACHMENT_NVgl_MAX_PROGRAM_TEXEL_OFFSETgl_NORMAL_ARRAY_STRIDEgl_CLIP_DISTANCE3'gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB gl_INT64_NVgl_MODELVIEW7_ARB%gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAMEgl_RGBA16I_EXTgl_ALL_COMPLETED_NV gl_BLUE_NV6gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW gl_INT_VEC4gl_FACTOR_MAX_AMDgl_MATRIX_INDEX_ARRAY_TYPE_OES-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV!gl_UNSIGNED_SHORT_1_5_5_5_REV_EXTgl_MAX_FRAMEZOOM_FACTOR_SGIXgl_E_TIMES_F_NVgl_DRAW_INDIRECT_ADDRESS_NVgl_INSTRUMENT_MEASUREMENTS_SGIXgl_TEXTURE_LEQUAL_R_SGIX(gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTELgl_TEXTURE_STENCIL_SIZE gl_CLIP_VOLUME_CLIPPING_HINT_EXTgl_TEXCOORD2_BIT_PGI#gl_REQUIRED_TEXTURE_IMAGE_UNITS_OESgl_GEOMETRY_OUTPUT_TYPE&gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESAgl_COMPUTE_PROGRAM_NV&gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXTgl_TEXTURE_MIN_FILTER$gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV"gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG%gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXTgl_VERTEX_ATTRIB_ARRAY9_NV!gl_TEXTURE_COORD_ARRAY_STRIDE_EXT*gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXTgl_VERTEX_ATTRIB_ARRAY_LONGgl_LUMINANCE_ALPHA32F_EXTgl_HISTOGRAM_SINKgl_ALPHA_MIN_CLAMP_INGRgl_R11F_G11F_B10F_EXT!gl_COMPRESSED_RED_GREEN_RGTC2_EXTgl_VERTEX_ATTRIB_ARRAY_STRIDEgl_CLIP_DISTANCE4gl_GUILTY_CONTEXT_RESET_EXTgl_UNSIGNED_INT8_VEC4_NVgl_STENCIL_INDEX8#gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXTgl_RESAMPLE_ZERO_FILL_OML gl_RGB16_EXTgl_LUMINANCE16I_EXT"gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NVgl_CLIP_ORIGINgl_PRIMITIVES_GENERATEDgl_IMAGE_ROTATE_ANGLE_HP"gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXTgl_OBJECT_COMPILE_STATUS_ARBgl_MOVE_TO_CONTINUES_NVgl_PROGRAM_TEX_INDIRECTIONS_ARB!gl_COMPRESSED_RGBA_ASTC_3x3x3_OESgl_FRAMEBUFFER_UNSUPPORTEDgl_SECONDARY_COLOR_ARRAY_TYPEgl_LUMINANCE16F_ARB gl_VERTEX_ATTRIB_ARRAY_LENGTH_NVgl_DRAW_BUFFER3_NVgl_MAX_TEXTURE_SIZEgl_INDEXgl_FRAMEBUFFER_BINDING_EXTgl_VIDEO_BUFFER_BINDING_NVgl_FRAMEBUFFER_SRGBgl_ARRAY_OBJECT_OFFSET_ATIgl_STREAM_RASTERIZATION_AMDgl_COLOR_INDEX8_EXTgl_ATOMIC_COUNTER_BUFFERgl_PERTURB_EXTgl_COLOR_ATTACHMENT11_EXTgl_PIXEL_TILE_GRID_WIDTH_SGIXgl_SAMPLE_COVERAGEgl_ACCUM_RED_BITSgl_OPERAND2_RGB_EXT gl_VECTOR_EXTgl_RED_INTEGERgl_FOG_DISTANCE_MODE_NV(gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH gl_FIXED_OESgl_INNOCENT_CONTEXT_RESET_KHRgl_GEOMETRY_SUBROUTINEgl_COLOR_BUFFER_BITgl_TEXTURE_STENCIL_SIZE_EXTgl_RENDERBUFFER_ALPHA_SIZE_EXTgl_DRAW_BUFFER4gl_STENCIL_INDEX1+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB gl_DITHERgl_REPLACEMENT_CODE_ARRAY_SUNgl_INVALID_VALUE,gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARMgl_LUMINANCE_FLOAT16_APPLEgl_TEXTURE_RED_TYPE_ARBgl_SAMPLE_MASK_VALUE_SGISgl_MATRIX20_ARB gl_BLUE_BIASgl_VERTEX_ATTRIB_ARRAY15_NV gl_BOOL_VEC2gl_POINT_SIZE_MIN_EXT gl_CON_16_ATIgl_DEPTH_SAMPLES_NVgl_ACTIVE_UNIFORM_MAX_LENGTHgl_PRIMITIVES_GENERATED_EXT gl_TEXTURE_FETCH_BARRIER_BIT_EXT!gl_GEOMETRY_LINKED_INPUT_TYPE_EXTgl_SAMPLE_COVERAGE_INVERTgl_MAX_SAMPLES_NVgl_CLIP_DISTANCE6gl_WRITE_DISCARD_NV2gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADERgl_BOLD_BIT_NVgl_UNPACK_IMAGE_HEIGHT_EXTgl_MALI_PROGRAM_BINARY_ARM&gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TESTgl_UNPACK_ROW_LENGTHgl_TEXTURE_COORD_ARRAY_SIZEgl_SAMPLE_MASK_NVgl_FUNC_REVERSE_SUBTRACT gl_SUBTRACTgl_PROXY_TEXTURE_3D_EXTgl_MIRRORED_REPEATgl_CW gl_MAX_SERVER_WAIT_TIMEOUT_APPLE gl_FASTESTgl_RENDERBUFFER_WIDTH_EXTgl_DOUBLE_MAT2x3gl_COMPRESSED_RGBA_ASTC_6x6_KHRgl_QUERY_RESULT_AVAILABLE!gl_COMPRESSED_RGBA_ASTC_6x6x6_OESgl_IMAGE_3D_EXTgl_DOT_PRODUCT_PASS_THROUGH_NV gl_ALPHA_TESTgl_RGB4gl_FOG_FUNC_POINTS_SGISgl_ASYNC_READ_PIXELS_SGIXgl_SAMPLE_ALPHA_TO_MASK_SGISgl_BLEND_COLOR_EXT#gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGISgl_INDEX_BIT_PGI gl_SPHERE_MAPgl_INT_SAMPLER_BUFFER gl_422_EXTgl_TEXTURE_RED_SIZE_EXT#gl_POST_CONVOLUTION_GREEN_SCALE_EXTgl_YCRCB_444_SGIXgl_COLOR_ATTACHMENT11_NV gl_SPARE0_NV!gl_SPARE0_PLUS_SECONDARY_COLOR_NV&gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV gl_COLOR_EXTgl_CLIP_DISTANCE2_APPLEgl_FOG_OFFSET_VALUE_SGIXgl_DEPTH_COMPONENT24_SGIXgl_QUADRATIC_ATTENUATIONgl_DUAL_INTENSITY12_SGISgl_BIAS_BY_NEGATIVE_ONE_HALF_NV gl_LO_BIAS_NVgl_MATRIX22_ARBgl_PRIMITIVE_RESTART_NV-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXTgl_TEXTURE3_ARBgl_SHADE_MODELgl_ACCUM_ADJACENT_PAIRS_NV&gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXTgl_R32Igl_LUMINANCE8_ALPHA8_EXT gl_FOG_INDEXgl_SYNC_CONDITION_APPLEgl_PIXEL_MAP_G_TO_Ggl_COMPRESSED_RGBA_ASTC_5x5_KHRgl_FRAMEBUFFER_SRGB_CAPABLE_EXT!gl_DEPTH_COMPONENT16_NONLINEAR_NVgl_SAMPLE_ALPHA_TO_MASK_EXT'gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTELgl_MAX_CONVOLUTION_WIDTH_EXTgl_MAX_RASTER_SAMPLES_EXT gl_NEARESTgl_PREVIOUS_EXTgl_LUMINANCE32F_ARBgl_LARGE_CCW_ARC_TO_NVgl_RGB_INTEGERgl_RENDER_MODEgl_PIXEL_TEX_GEN_Q_CEILING_SGIX&gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLEgl_COLOR_ATTACHMENT15_NVgl_SIGNED_RGB_NVgl_POLYGON_TOKEN gl_SAMPLER gl_DEPTH_EXT gl_LINE_TO_NVgl_TEXTURE15_ARB gl_LUMINANCE8 gl_RG_SNORMgl_DRAW_BUFFER0_NVgl_CONVOLUTION_FILTER_SCALE_EXTgl_BIAS_BIT_ATIgl_COLOR_ATTACHMENT6_NVgl_DEPTH_RANGEgl_VERTEX_DATA_HINT_PGIgl_MAP2_VERTEX_ATTRIB6_4_NVgl_MAJOR_VERSIONgl_DRAW_INDIRECT_UNIFIED_NV*gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARBgl_VERTEX_ATTRIB_ARRAY_SIZEgl_COVERAGE_SAMPLES_NVgl_ALPHA_TEST_REFgl_STENCIL_COMPONENTS gl_SYNC_FLAGS#gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS#gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTHgl_POINT_TOKENgl_MINgl_FRAGMENT_SHADER_ARB gl_TEXTURE3 gl_MINUS_NV%gl_FRAGMENT_INTERPOLATION_OFFSET_BITS-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONSgl_MULTISAMPLES_NVgl_DOT_PRODUCT_NV(gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OESgl_SOURCE2_RGB gl_REG_0_ATIgl_MAX_PROGRAM_ATTRIBS_ARBgl_TRANSPOSE_TEXTURE_MATRIX_ARBgl_TEXTURE_SHADER_NVgl_FUNC_SUBTRACT_OES gl_REG_31_ATIgl_TRANSFORM_FEEDBACK_NVgl_TEXTURE_PRIORITYgl_SIGNED_LUMINANCE_NVgl_DEBUG_TYPE_PORTABILITY_ARBgl_FOG_FUNC_SGIS gl_2X_BIT_ATIgl_MAP1_VERTEX_ATTRIB8_4_NVgl_TRANSPOSE_AFFINE_3D_NV gl_IMAGE_3Dgl_PROGRAM_OBJECT_EXT-gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARBgl_COLOR_MATRIXgl_INT_SAMPLER_3Dgl_DEBUG_OUTPUT_SYNCHRONOUSgl_OPERAND1_RGB_ARB$gl_VERTEX_PROGRAM_CALLBACK_DATA_MESAgl_OUTPUT_TEXTURE_COORD18_EXT gl_QUERY_WAIT gl_RGB9_E5gl_DEBUG_SOURCE_WINDOW_SYSTEMgl_NORMAL_ARRAY_LIST_IBM gl_REG_7_ATIgl_UNKNOWN_CONTEXT_RESET_EXTgl_OPERAND0_RGB_EXTgl_CURRENT_MATRIX_INDEX_ARBgl_TEXTURE_CUBE_MAP_OES gl_MATRIX1_NV+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS gl_SRGB_WRITEgl_DST_OVER_NVgl_FLOAT_RG_NV gl_R8_EXTgl_MAX_TEXTURE_BUFFER_SIZEgl_DIFFERENCE_KHR gl_DOT3_RGBAgl_MAX_RENDERBUFFER_SIZEgl_COMPUTE_SHADERgl_FLOAT_MAT3x2_NVgl_TANGENT_ARRAY_EXTgl_TEXTURE_BUFFER_SIZEgl_MAX_COMPUTE_IMAGE_UNIFORMSgl_COMBINER6_NVgl_INT_SAMPLER_CUBE_EXT*gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NVgl_DRAW_BUFFER7_ATIgl_DMP_PROGRAM_BINARY_DMPgl_COLOR_ENCODINGgl_CURRENT_MATRIX_ARBgl_PROGRAM_ERROR_STRING_NV gl_3_BYTES_NVgl_SECONDARY_COLOR_ARRAY_STRIDEgl_TEXTURE_CUBE_MAP_NEGATIVE_Xgl_FLOAT_MAT3x4gl_MODELVIEW30_ARBgl_SCISSOR_BOXgl_SPRITE_TRANSLATION_SGIXgl_DEBUG_CATEGORY_OTHER_AMDgl_MODELVIEW_MATRIXgl_FOG_COORDINATE_ARRAYgl_VIEWPORT_BITgl_STENCIL_BACK_PASS_DEPTH_FAILgl_AUTO_NORMALgl_BUFFER_STORAGE_FLAGSgl_MAX_SPOT_EXPONENT_NVgl_UNIFORM_BUFFER_EXT gl_MAX_TESS_PATCH_COMPONENTS_EXTgl_TEXTURE_4DSIZE_SGIS gl_LUMINANCE_ALPHA_FLOAT32_APPLEgl_MULTISAMPLE_BIT_ARB$gl_MAX_FRAGMENT_INTERPOLATION_OFFSETgl_PASS_THROUGH_NVgl_TEXTURE_HEIGHT_QCOMgl_RESAMPLE_AVERAGE_OMLgl_PROGRAM_BINARY_LENGTHgl_STENCIL_BUFFER_BIT5_QCOM gl_BLUE_SCALEgl_OPERAND2_ALPHA_ARBgl_QUERY_RESULT_AVAILABLE_ARBgl_DYNAMIC_READgl_DRAW_FRAMEBUFFER_ANGLE gl_SAMPLES gl_CON_5_ATIgl_DRAW_BUFFER15gl_EDGEFLAG_BIT_PGIgl_VALIDATE_STATUSgl_PROGRAM_ERROR_POSITION_NVgl_UNSIGNED_SHORT_5_6_5_REV_EXTgl_TEXTURE_VIEW_MIN_LEVEL_EXTgl_MAP2_VERTEX_ATTRIB11_4_NVgl_TEXTURE_COMPARE_FUNC_EXT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OESgl_BGRA(gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXTgl_MULTIPLY_KHR$gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARBgl_TRIANGLES_ADJACENCY_ARBgl_COLOR_ATTACHMENT1_NVgl_LINE_SMOOTH_HINTgl_MAX_3D_TEXTURE_SIZE_OESgl_QUAD_INTENSITY4_SGISgl_MATRIX18_ARBgl_ARRAY_BUFFERgl_GENERATE_MIPMAP*gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL#gl_QUERY_BY_REGION_NO_WAIT_INVERTEDgl_MAP2_VERTEX_ATTRIB15_4_NVgl_R16Fgl_COLOR_BUFFER_BIT0_QCOM%gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFERgl_MAX_UNIFORM_BLOCK_SIZE!gl_VERTEX_ATTRIB_ARRAY_NORMALIZEDgl_VERTEX_ELEMENT_SWIZZLE_AMD#gl_UNSIGNED_INT_10F_11F_11F_REV_EXTgl_VIEW_CLASS_BPTC_UNORMgl_COMPRESSED_RGBA_ASTC_8x5_KHRgl_TEXTURE_FILTER4_SIZE_SGISgl_RGBA8_SNORM!gl_MATRIX_INDEX_ARRAY_POINTER_OESgl_CIRCULAR_CCW_ARC_TO_NVgl_DEBUG_LOGGED_MESSAGES_ARBgl_COLOR_ATTACHMENT5"gl_UNIFORM_BUFFER_OFFSET_ALIGNMENTgl_SOURCE2_RGB_ARB gl_MATRIX6_NVgl_MAP1_TEXTURE_COORD_2gl_TEXTURE_SHADOWgl_DRAW_BUFFER9_ARB gl_REG_26_ATIgl_QUAD_ALPHA8_SGISgl_SAMPLE_BUFFERS_3DFX%gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKSgl_MODELVIEW20_ARB!gl_MAX_VERTEX_SHADER_VARIANTS_EXT3gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXTgl_SGX_BINARY_IMGgl_NUM_SHADER_BINARY_FORMATS gl_INVERSE_NVgl_R16UIgl_COMBINER7_NVgl_MAT_DIFFUSE_BIT_PGIgl_INDEX_MATERIAL_EXTgl_CURRENT_SECONDARY_COLOR_EXT$gl_REFERENCED_BY_TESS_CONTROL_SHADERgl_CURRENT_FOG_COORDgl_DRAW_PIXELS_APPLEgl_MODELVIEW4_ARBgl_FRAMEBUFFER_BINDING_OES!gl_TRANSFORM_FEEDBACK_BUFFER_MODEgl_HISTOGRAM_BLUE_SIZEgl_LO_SCALE_NVgl_PRIMARY_COLOR_ARBgl_STORAGE_CLIENT_APPLEgl_DRAW_BUFFERgl_MAX_COMBINED_IMAGE_UNIFORMSgl_TEXTURE_LIGHT_EXTgl_UNCORRELATED_NVgl_PRIMITIVES_GENERATED_NVgl_TRANSFORM_FEEDBACK_BINDINGgl_DEPENDENT_GB_TEXTURE_2D_NVgl_QUERY_RESULT_ARB&gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERSgl_MATRIX19_ARB gl_CURRENT_RASTER_POSITION_VALID!gl_COMPRESSED_RGBA_BPTC_UNORM_ARB&gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NVgl_SRGB_DECODE_ARB*gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED gl_MAX_DEBUG_LOGGED_MESSAGES_KHRgl_MATRIX0_ARBgl_TEXTURE_GEN_MODE_OESgl_PALETTE4_R5_G6_B5_OES gl_HILO8_NV gl_SRC0_RGBgl_SAMPLER_CUBE_ARBgl_MODELVIEW27_ARB+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTIONgl_LUMINANCE12_ALPHA4_EXT gl_RGB32I_EXT gl_VIEWPORT gl_SRC_NV!gl_TEXTURE_COMPRESSED_BLOCK_WIDTHgl_DSDT_MAG_NVgl_EVAL_VERTEX_ATTRIB8_NVgl_MODELVIEW6_ARBgl_STENCIL_BUFFER_BIT1_QCOMgl_DRAW_BUFFER0)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OESgl_MATRIX_PALETTE_OESgl_POLYGON_SMOOTH_HINTgl_TOP_LEVEL_ARRAY_STRIDE gl_RGB565_OESgl_VERTEX_ARRAY_RANGE_VALID_NVgl_OUTPUT_TEXTURE_COORD0_EXTgl_TYPEgl_TEXTURE_COMPONENTSgl_LOSE_CONTEXT_ON_RESET_ARBgl_FRAGMENT_SHADER_BITgl_YCRCBA_SGIX$gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIXgl_DYNAMIC_COPYgl_SAMPLER_2D_SHADOWgl_ALL_STATIC_DATA_IBMgl_INT8_VEC2_NV&gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERSgl_R16_SNORM_EXTgl_PIXEL_PACK_BUFFER_ARBgl_PROGRAM_RESIDENT_NVgl_POLYGON_OFFSET_EXTgl_STORAGE_SHARED_APPLEgl_DEPTH_TEXTURE_MODE_ARBgl_TEXTURE_COMPARE_FUNC"gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXTgl_QUAD_MESH_SUNgl_T2F_C3F_V3F#gl_VIDEO_COLOR_CONVERSION_MATRIX_NVgl_POST_COLOR_MATRIX_BLUE_SCALE gl_DIFFUSE%gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVXgl_STENCIL_INDEX8_EXTgl_COLOR_ATTACHMENT14_NV"gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLEgl_CLEARgl_COMBINER2_NV gl_GREEN_NVgl_SECONDARY_COLOR_NV6gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER'gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXTgl_LUMINANCE_ALPHA16F_ARB&gl_VIEWPORT_INDEX_PROVOKING_VERTEX_EXTgl_OP_MADD_EXTgl_STENCIL_TEST_TWO_SIDE_EXT#gl_DEBUG_SOURCE_SHADER_COMPILER_KHRgl_STORAGE_CACHED_APPLE#gl_TRANSFORM_FEEDBACK_BUFFER_STRIDEgl_MAX_TEXTURE_IMAGE_UNITS_ARBgl_TESS_GEN_POINT_MODEgl_PROXY_TEXTURE_2D_ARRAY_EXTgl_HISTOGRAM_WIDTH_EXTgl_MIRRORED_REPEAT_OESgl_TEXTURE12_ARB gl_MAX_GEOMETRY_INPUT_COMPONENTS gl_DECODE_EXT%gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTSgl_FONT_UNAVAILABLE_NV gl_RGBA16UIgl_ACTIVE_VARYING_MAX_LENGTH_NV%gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMSgl_CONVOLUTION_BORDER_MODE_EXT#gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXTgl_GEOMETRY_DEFORMATION_SGIXgl_UNSIGNED_BYTEgl_TEXTURE2_ARBgl_SIGNED_LUMINANCE8_ALPHA8_NV!gl_COMPRESSED_LUMINANCE_ALPHA_ARB/gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV$gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV gl_LOCATION$gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLEgl_IMAGE_PIXEL_TYPEgl_INT_SAMPLER_RENDERBUFFER_NV!gl_DEBUG_TYPE_DEPRECATED_BEHAVIORgl_DRAW_BUFFER2_ATIgl_COMBINER_CD_OUTPUT_NV gl_RGBA32UIgl_TEXTURE_INTERNAL_FORMAT gl_CON_18_ATIgl_OUTPUT_TEXTURE_COORD11_EXTgl_RENDERBUFFER_WIDTH_OESgl_SOURCE1_ALPHA_ARBgl_TESS_GEN_POINT_MODE_EXTgl_COLOR_ARRAY_STRIDE_EXTgl_INTERNALFORMAT_GREEN_TYPEgl_PERFMON_RESULT_AVAILABLE_AMDgl_VERTEX_BLEND_ARBgl_INDEX_ARRAY_POINTERgl_TEXTURE_MAX_LEVEL!gl_FOG_COORD_ARRAY_BUFFER_BINDINGgl_INT_IMAGE_2D_EXT gl_MAX_EXT"gl_OFFSET_PROJECTIVE_TEXTURE_2D_NVgl_WAIT_FAILED_APPLEgl_UNSIGNED_INT_VEC2gl_STENCIL_INDEX16_EXTgl_COUNTER_TYPE_AMD gl_SRGB8_NV"gl_VERTEX_ATTRIB_ARRAY_POINTER_ARBgl_UNSIGNED_INT16_VEC2_NV gl_INTENSITY4 gl_TRIANGLESgl_TEXTURE_BUFFER_SIZE_EXTgl_GENERATE_MIPMAP_SGISgl_DEBUG_TYPE_PUSH_GROUP'gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARBgl_MODULATE_ADD_ATI gl_TIMESTAMP gl_CON_19_ATIgl_CONSTANT_BORDERgl_PACK_REVERSE_ROW_ORDER_ANGLEgl_PROVOKING_VERTEX_EXTgl_FRAMEBUFFER_UNSUPPORTED_OESgl_MATRIX2_ARBgl_LOCAL_CONSTANT_VALUE_EXT gl_BEVEL_NVgl_SCALE_BY_FOUR_NVgl_INTENSITY12gl_COLOR_ATTACHMENT10"gl_POST_CONVOLUTION_GREEN_BIAS_EXTgl_STENCIL_REFgl_SEPARATE_SPECULAR_COLOR$gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARBgl_TEXTURE_INTERNAL_FORMAT_QCOMgl_COMPRESSED_RGBA_ASTC_4x4_KHRgl_FIELD_UPPER_NV gl_SRGB_READgl_TRUE gl_HISTOGRAMgl_MIRROR_CLAMP_TO_EDGEgl_IMAGE_CUBE_MAP_ARRAYgl_FONT_ASCENDER_BIT_NVgl_TRANSPOSE_NVgl_LUMINANCE16F_EXTgl_MAP2_VERTEX_ATTRIB7_4_NVgl_MODELVIEW14_ARBgl_INT_IMAGE_1Dgl_MINOR_VERSIONgl_SIGNED_ALPHA8_NVgl_FIXED_ONLY_ARB gl_BLEND_DSTgl_TEXTURE_RECTANGLE_ARBgl_READ_FRAMEBUFFER_ANGLE gl_SHADERgl_PROJECTION_MATRIX"gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE)gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTSgl_UNDEFINED_VERTEX_EXTgl_CLIENT_ATTRIB_STACK_DEPTHgl_ANY_SAMPLES_PASSEDgl_TRACE_ERRORS_BIT_MESAgl_ROUNDED_RECT4_NVgl_DEPTH_COMPONENT24_OES gl_SAMPLER_2Dgl_INDEX_ARRAY_STRIDE_EXTgl_UNIFORM_BLOCK_DATA_SIZEgl_CLAMP_TO_BORDER_EXTgl_POINT_SIZE_MAX_ARBgl_COMBINER_CD_DOT_PRODUCT_NVgl_TESS_GEN_SPACINGgl_DEBUG_TYPE_PORTABILITY_KHRgl_TEXTURE_CONSTANT_DATA_SUNX#gl_MAX_VERTEX_SHADER_INVARIANTS_EXTgl_DEPTH_COMPONENT32_SGIXgl_COMPRESSED_SRGB_ALPHAgl_RENDERBUFFER_INTERNAL_FORMATgl_UNPACK_ROW_LENGTH_EXTgl_POLYGON_SMOOTHgl_PREVIOUS_ARBgl_COLOR_ARRAY_COUNT_EXTgl_MAP2_TEXTURE_COORD_2gl_DUAL_LUMINANCE4_SGISgl_IS_ROW_MAJORgl_DRAW_BUFFER3_EXT gl_PHONG_WINgl_LINE_STIPPLE_REPEATgl_FONT_Y_MAX_BOUNDS_BIT_NV gl_LIGHT2gl_PATH_ERROR_POSITION_NVgl_UNSIGNED_SHORT_1_15_REV_MESAgl_COLOR_BUFFER_BIT3_QCOMgl_CLIP_DISTANCE1gl_FRAMEBUFFER_DEFAULT_LAYERSgl_QUERY_RESULT_NO_WAIT_AMD gl_RED_BIAS.gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXTgl_AVERAGE_EXT%gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARBgl_TIME_ELAPSEDgl_QUERY_BUFFER_BINDINGgl_TEXTURE_GEN_Qgl_CURRENT_RASTER_POSITION"gl_NORMAL_ARRAY_BUFFER_BINDING_ARBgl_TEXTURE_VIEW_NUM_LAYERSgl_MULTISAMPLE_SGIS1gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT gl_TEXTURE_COMPARE_OPERATOR_SGIXgl_COMPATIBLE_SUBROUTINESgl_ALLOW_DRAW_MEM_HINT_PGIgl_RESTART_PATH_NV!gl_MAX_PROGRAM_GENERIC_RESULTS_NV!gl_CLIPPING_OUTPUT_PRIMITIVES_ARBgl_DRAW_BUFFER11_ARBgl_ASYNC_DRAW_PIXELS_SGIXgl_TEXTURE_SHARED_SIZEgl_STENCIL_BACK_PASS_DEPTH_PASS!gl_MAX_COMPUTE_SHARED_MEMORY_SIZE%gl_TESS_EVALUATION_SUBROUTINE_UNIFORM gl_UTF8_NVgl_DOUBLE_MAT3x4_EXTgl_MULTISAMPLE_ARB&gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB/gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS gl_REG_22_ATIgl_CLIP_DISTANCE2gl_TRACE_MASK_MESA'gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETSgl_INT_SAMPLER_2Dgl_PROXY_TEXTURE_RECTANGLE gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARBgl_MATRIX27_ARB&gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NVgl_PALETTE4_RGBA4_OESgl_PIXEL_MAP_G_TO_G_SIZEgl_PIXEL_PACK_BUFFER_EXTgl_LUMINANCE12_ALPHA12gl_CLIP_PLANE0gl_PACK_SKIP_PIXELSgl_SUBTRACT_ARB gl_SMOOTH_POINT_SIZE_GRANULARITYgl_STREAM_DRAWgl_LINESgl_MODELVIEW21_ARBgl_TEXTURE9_ARBgl_FORMAT_SUBSAMPLE_244_244_OMLgl_TEXTURE_COORD_ARRAY_TYPEgl_REFLECTION_MAP_OESgl_MATRIX_INDEX_ARRAY_TYPE_ARBgl_INT_SAMPLER_1D_EXTgl_CURRENT_TEXTURE_COORDSgl_ACTIVE_SUBROUTINE_MAX_LENGTHgl_VERTEX_STREAM5_ATI!gl_COLOR_TABLE_LUMINANCE_SIZE_SGIgl_TEXTURE_CUBE_MAP_EXTgl_MAX_COMBINED_DIMENSIONSgl_VIEW_CLASS_S3TC_DXT3_RGBAgl_TEXTURE_COORD_ARRAYgl_DEBUG_SEVERITY_HIGH_AMDgl_TEXTURE27_ARB,gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NVgl_INT16_VEC2_NVgl_OUTPUT_TEXTURE_COORD2_EXT"gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARBgl_DOUBLE_MAT4x2gl_MATRIX7_ARBgl_IMAGE_SCALE_X_HP)gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMGgl_COLOR_TABLE_RED_SIZEgl_TRANSFORM_FEEDBACK_BUFFERgl_QUAD_LUMINANCE4_SGISgl_IMAGE_1D_EXT gl_LIGHTINGgl_MAX_SAMPLES_IMGgl_EQUALgl_PIXEL_COUNT_NVgl_SIGNALED_APPLEgl_STENCIL_INDEX_OESgl_VARIABLE_G_NVgl_STENCIL_INDEX16$gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATIgl_INTENSITY16I_EXT gl_RECT_NVgl_OP_LOG_BASE_2_EXTgl_COMPRESSED_INTENSITYgl_FULL_SUPPORTgl_TEXTURE_SWIZZLE_R_EXTgl_DOUBLE_VEC4_EXTgl_TEXTURE_2D_ARRAY_EXTgl_TEXTURE_BINDING_3D_OESgl_CONVOLUTION_2Dgl_TEXTURE26_ARB5gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADERgl_FRAGMENT_ALPHA_MODULATE_IMGgl_CURRENT_INDEXgl_INVERT_OVG_NVgl_SAMPLE_MASK_EXTgl_ATC_RGBA_EXPLICIT_ALPHA_AMDgl_SPRITE_SGIX,gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAYgl_INT_IMAGE_2D_ARRAYgl_COLOR3_BIT_PGIgl_PROGRAM_POINT_SIZE_ARBgl_RGB32UI_EXTgl_NEVERgl_COLOR_ATTACHMENT14&gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NVgl_DISPLAY_LISTgl_UNKNOWN_CONTEXT_RESET_ARBgl_MATRIX21_ARB#gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIXgl_ALPHA16UI_EXTgl_LINEAR_MIPMAP_NEAREST&gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTELgl_MAP2_GRID_DOMAINgl_INTERLACE_OML gl_FLOAT16_NVgl_PATH_DASH_CAPS_NV gl_TEXTURE28gl_TRANSPOSE_MODELVIEW_MATRIXgl_BUMP_TEX_UNITS_ATIgl_MAP_TESSELLATION_NVgl_UNIFORM_OFFSETgl_Z400_BINARY_AMD gl_COMPRESSED_RGBA_S3TC_DXT5_EXTgl_SUBSAMPLE_DISTANCE_AMDgl_LINE_STIPPLE_PATTERNgl_SAMPLE_MASK_VALUE_EXTgl_FRAMEBUFFER_EXTgl_FOG_COORDINATE_ARRAY_STRIDEgl_CONSTANT_COLOR1_NVgl_UNIFORM_SIZEgl_TRANSLATE_X_NVgl_COLOR_TABLE_ALPHA_SIZE_SGIgl_TEXTURE_COLOR_SAMPLES_NVgl_NUM_PASSES_ATIgl_UNPACK_SKIP_PIXELS_EXT#gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMGgl_OBJECT_DISTANCE_TO_LINE_SGISgl_SM_COUNT_NVgl_POST_CONVOLUTION_RED_SCALEgl_DUAL_INTENSITY8_SGISgl_BOOL"gl_PIXEL_UNPACK_BUFFER_BINDING_EXTgl_VERTEX_PROGRAM_POINT_SIZE_NVgl_VIRTUAL_PAGE_SIZE_INDEX_ARB#gl_MAX_SUBROUTINE_UNIFORM_LOCATIONSgl_CURRENT_QUERY_ARBgl_R1UI_T2F_N3F_V3F_SUNgl_PRESERVE_ATIgl_DEPTH_COMPONENTSgl_COPY_WRITE_BUFFER gl_RED_BITS'gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTHgl_OPERAND2_RGB_ARBgl_RGBA_FLOAT_MODE_ATIgl_LINES_ADJACENCY_ARBgl_TRANSLATE_2D_NV gl_PROJECTIONgl_DEBUG_TYPE_OTHER_ARBgl_GEOMETRY_TEXTURE%gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGSgl_BLEND_EQUATION_OESgl_HALF_BIT_ATI"gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM gl_MAX_LAYERSgl_TEXTURE7_ARBgl_HISTOGRAM_SINK_EXTgl_DEPTH_COMPONENT32gl_COLOR_ATTACHMENT6_EXTgl_RELATIVE_SMALL_CCW_ARC_TO_NVgl_FRAGMENT_SUBROUTINEgl_MAP2_VERTEX_ATTRIB13_4_NVgl_MATRIX31_ARBgl_PROGRAM_PIPELINE_BINDINGgl_FOG_COORD_SRCgl_DEPENDENT_RGB_TEXTURE_3D_NVgl_MAP1_BINORMAL_EXTgl_RENDERBUFFER'gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY gl_RENDERBUFFER_COLOR_SAMPLES_NVgl_FOG_COORD_ARRAYgl_MAX_FRAGMENT_IMAGE_UNIFORMS gl_MIN_EXT+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXTgl_SHADER_CONSISTENT_NVgl_BUFFER_ACCESS gl_DECR_WRAPgl_TRANSFORM_FEEDBACK_ACTIVEgl_TEXTURE_CUBE_MAP gl_LIGHT5gl_PIXEL_TEX_GEN_ALPHA_LS_SGIXgl_CULL_FRAGMENT_NVgl_BLEND_EQUATION_RGB$gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAYgl_DRAW_FRAMEBUFFER_EXTgl_TEXTURE_MIN_LOD_SGISgl_PACK_COMPRESSED_SIZE_SGIXgl_TEXTURE_BINDING_CUBE_MAP!gl_MAX_GEOMETRY_OUTPUT_COMPONENTSgl_MIN_MAP_BUFFER_ALIGNMENTgl_LUMINANCE_ALPHA_INTEGER_EXTgl_DRAW_BUFFER1_EXT gl_GREEN_BITSgl_HORIZONTAL_LINE_TO_NVgl_EVAL_VERTEX_ATTRIB3_NVgl_COLOR_TABLE_SGIgl_SAMPLER_CUBE_SHADOW_EXTgl_ALPHA_MAX_SGIXgl_POLYGON_OFFSET_CLAMP_EXT gl_CON_15_ATIgl_TEXT_FRAGMENT_SHADER_ATIgl_SYNC_CONDITIONgl_COMPRESSED_RGBA_BPTC_UNORMgl_ELEMENT_ARRAY_TYPE_ATIgl_W_EXT gl_R16F_EXTgl_POST_COLOR_MATRIX_RED_SCALEgl_HISTOGRAM_GREEN_SIZE_EXT"gl_GLYPH_VERTICAL_BEARING_X_BIT_NVgl_QUERY_RESULT_EXTgl_INT16_VEC4_NVgl_PERSPECTIVE_CORRECTION_HINTgl_BLOCK_INDEXgl_DEPTH_STENCIL_OESgl_MODELVIEW31_ARBgl_BLUE_INTEGER_EXT gl_REG_14_ATI gl_SRC2_ALPHA&gl_PERFQUERY_COUNTER_DATA_UINT32_INTELgl_T2F_IUI_V2F_EXTgl_TEXTURE_MAX_LEVEL_SGISgl_PIXEL_MAP_R_TO_R_SIZEgl_COMPILE_AND_EXECUTE gl_CON_10_ATIgl_IS_PER_PATCHgl_POINT_FADE_THRESHOLD_SIZEgl_CLIENT_PIXEL_STORE_BITgl_RENDERBUFFER_SAMPLES_EXT gl_VERTEX_ATTRIB_MAP2_SIZE_APPLEgl_DEBUG_TYPE_MARKER_KHR!gl_COMPRESSED_RGBA_ASTC_12x10_KHR gl_LOGIC_OP"gl_TRANSFORM_FEEDBACK_BUFFER_STARTgl_ARRAY_ELEMENT_LOCK_COUNT_EXTgl_TEXTURE_COMPARE_SGIXgl_OUTPUT_TEXTURE_COORD7_EXTgl_DOT_PRODUCT_DEPTH_REPLACE_NVgl_EDGE_FLAG_ARRAY_POINTERgl_INTENSITY16F_ARB%gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NVgl_LUMINANCE_ALPHAgl_MAX_DEEP_3D_TEXTURE_DEPTH_NVgl_RESAMPLE_REPLICATE_SGIXgl_PACK_RESAMPLE_SGIXgl_HISTOGRAM_LUMINANCE_SIZE_EXT-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTSgl_DRAW_FRAMEBUFFER_BINDING_EXT'gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB!gl_UNSIGNED_SHORT_4_4_4_4_REV_IMGgl_SHADER_TYPEgl_SYNC_X11_FENCE_EXTgl_V3Fgl_STREAM_DRAW_ARB$gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NVgl_DEBUG_SOURCE_APPLICATION_KHRgl_USE_MISSING_GLYPH_NVgl_OUTPUT_TEXTURE_COORD29_EXTgl_COMBINE_ALPHA)gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXTgl_DRAW_BUFFER9_NV#gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMGgl_FRAMEBUFFER_BLENDgl_DRAW_BUFFER6_NV&gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESAgl_PERFMON_RESULT_AMDgl_SHADER_STORAGE_BARRIER_BITgl_FACTOR_MIN_AMDgl_MAP1_VERTEX_ATTRIB14_4_NV gl_FOG_COORDINATE_ARRAY_TYPE_EXT3gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT gl_NONE_OESgl_UNSIGNED_INT_10_10_10_2_OESgl_IUI_N3F_V2F_EXTgl_ROUNDED_RECT8_NVgl_VERTEX_STREAM6_ATIgl_DEPTH_STENCIL(gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TESTgl_VIDEO_CAPTURE_FRAME_WIDTH_NVgl_COMPRESSED_ALPHAgl_MAT_AMBIENT_BIT_PGIgl_RENDERBUFFER_SAMPLES_NV gl_VIDEO_COLOR_CONVERSION_MIN_NVgl_MAX_DEBUG_MESSAGE_LENGTH_AMDgl_LUMINANCE12_ALPHA12_EXTgl_DUAL_LUMINANCE_ALPHA4_SGIS!gl_MAX_TRANSFORM_FEEDBACK_BUFFERSgl_PROXY_TEXTURE_RECTANGLE_ARBgl_STACK_OVERFLOW)gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OESgl_IMAGE_BUFFER gl_ARC_TO_NVgl_TEXCOORD4_BIT_PGIgl_TEXTURE_MAX_LOD_SGISgl_COLOR_ATTACHMENT15"gl_FRAGMENT_SHADER_INVOCATIONS_ARBgl_MAP2_GRID_SEGMENTS*gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTSgl_AUX1 gl_UNSIGNED_INT_IMAGE_BUFFER_EXTgl_TEXTURE_DEPTH_TYPE_ARBgl_TEXTURE_LIGHTING_MODE_HPgl_2PASS_1_SGIS*gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB gl_DS_BIAS_NV+gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT!gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB gl_MOVE_TO_NVgl_SHADER_STORAGE_BUFFER_STARTgl_VERTEX_SHADER_ARBgl_LINES_ADJACENCY_EXTgl_NAME_LENGTHgl_OUTPUT_TEXTURE_COORD28_EXTgl_TEXTURE_BLUE_SIZEgl_QUERY_BUFFER_AMDgl_OFFSET_HILO_TEXTURE_2D_NVgl_DUAL_ALPHA8_SGISgl_STATIC_VERTEX_ARRAY_IBMgl_MAX_3D_TEXTURE_SIZEgl_GUILTY_CONTEXT_RESET_ARBgl_STATIC_READgl_FONT_Y_MIN_BOUNDS_BIT_NVgl_SPOT_CUTOFFgl_RGBA_FLOAT32_APPLEgl_MATRIX8_ARBgl_COMPRESSED_SIGNED_RG_RGTC2gl_CLAMP_FRAGMENT_COLORgl_MAX_MAP_TESSELLATION_NVgl_VIEWPORT_SUBPIXEL_BITSgl_PATCHES_EXTgl_TEXTURE_COMPRESSED_ARBgl_WRAP_BORDER_SUNgl_BLEND_DST_RGB_EXT"gl_ANY_SAMPLES_PASSED_CONSERVATIVEgl_MAX_IMAGE_UNITS_EXT"gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB gl_SPARE1_NVgl_CONDITION_SATISFIED_APPLEgl_OBJECT_SUBTYPE_ARBgl_BUFFER_GPU_ADDRESS_NVgl_LOCAL_CONSTANT_DATATYPE_EXTgl_EVAL_VERTEX_ATTRIB2_NVgl_INT_SAMPLER_2D_MULTISAMPLEgl_DEPTH_COMPONENT16_ARBgl_OFFSET_TEXTURE_2D_SCALE_NVgl_OUTPUT_TEXTURE_COORD23_EXTgl_OUTPUT_TEXTURE_COORD30_EXT(gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NVgl_TEXTURE_BUFFER_FORMAT_EXT"gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES gl_MAP_INVALIDATE_BUFFER_BIT_EXTgl_UNSIGNED_NORMALIZED_ARB gl_C3F_V3F gl_SHADER_KHRgl_DEPTH_COMPONENT32_ARBgl_CURRENT_NORMALgl_TESS_EVALUATION_SUBROUTINEgl_FRAMEBUFFER_BARRIER_BIT'gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV gl_CON_7_ATI gl_HI_BIAS_NVgl_BLEND_SRC_RGB_OESgl_SAMPLER_EXTERNAL_OES gl_3DC_X_AMDgl_ELEMENT_ARRAY_TYPE_APPLEgl_FALSEgl_DRAW_BUFFER9gl_DEBUG_SEVERITY_MEDIUM&gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZEgl_OUTPUT_TEXTURE_COORD5_EXTgl_PROGRAM_MATRIX_EXTgl_CURRENT_RASTER_DISTANCEgl_TEXTURE_RESIDENTgl_TIME_ELAPSED_EXTgl_QUERY_BUFFER_BARRIER_BIT&gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV gl_TEXTURE_3D gl_EYE_LINEARgl_IMAGE_BINDING_ACCESS_EXTgl_DRAW_BUFFER10_ATIgl_SOURCE0_RGB_ARBgl_ORgl_IMAGE_CUBIC_WEIGHT_HPgl_VERTEX_ARRAY_RANGE_LENGTH_NVgl_MAX_ELEMENTS_INDICES_EXT+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE gl_RGB16Fgl_MAX_SAMPLE_MASK_WORDSgl_QUADSgl_ATOMIC_COUNTER_BUFFER_INDEXgl_DRAW_BUFFER4_NVgl_TRACK_MATRIX_NVgl_TESS_CONTROL_SHADER_BIT_EXT#gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB!gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXT'gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCESgl_TEXTURE_BITgl_CURRENT_VERTEX_WEIGHT_EXTgl_MATRIX28_ARBgl_INDEX_ARRAY_ADDRESS_NVgl_INT_IMAGE_1D_ARRAYgl_RGBA32F_EXT gl_BLUE_BITS gl_BITMAPgl_CLAMP_TO_BORDER_NVgl_ALL_SHADER_BITS_EXT gl_RGB16F_EXT gl_CON_25_ATI gl_ACTIVE_ATOMIC_COUNTER_BUFFERSgl_SAMPLES_SGIS#gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGIgl_BLEND_PREMULTIPLIED_SRC_NV$gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXTgl_COMPRESSED_RGBA8_ETC2_EACgl_BLEND_ADVANCED_COHERENT_KHRgl_FRAGMENT_SHADER_BIT_EXTgl_TEXTURE_LOD_BIAS_T_SGIXgl_INTENSITY12_EXTgl_UNPACK_SKIP_ROWS_EXTgl_TRIANGLE_STRIPgl_COLOR_ATTACHMENT7_EXTgl_TEXTURE_LUMINANCE_TYPE_ARBgl_READ_PIXELS_TYPEgl_OUTPUT_TEXTURE_COORD10_EXTgl_PROGRAM_SEPARABLE_EXTgl_IR_INSTRUMENT1_SGIXgl_POINT_SPRITE_R_MODE_NVgl_TEXTURE_LO_SIZE_NVgl_UNSIGNED_INT_24_8_MESA#gl_SECONDARY_COLOR_ARRAY_STRIDE_EXTgl_FLOAT_MAT2x3_NVgl_SKIP_COMPONENTS1_NVgl_COPY_READ_BUFFER_NV gl_RGB8_EXTgl_SIGNED_HILO16_NVgl_LUMINANCE12gl_NUM_PROGRAM_BINARY_FORMATS gl_COMPRESSED_RGBA8_ETC2_EAC_OESgl_TEXTURE_MEMORY_LAYOUT_INTELgl_PACK_RESAMPLE_OMLgl_CALLIGRAPHIC_FRAGMENT_SGIXgl_TEXTURE_VIEW_NUM_LAYERS_EXTgl_PIXEL_MAP_A_TO_A_SIZEgl_MAX_GEOMETRY_UNIFORM_BLOCKSgl_PLUS_DARKER_NVgl_SEPARATE_ATTRIBS_EXTgl_FLOAT_MAT3_ARBgl_OFFSET_TEXTURE_BIAS_NVgl_MAP_INVALIDATE_RANGE_BIT_EXT gl_REPLACEgl_MAX_DUAL_SOURCE_DRAW_BUFFERSgl_COLOR_INDEXgl_NUM_SAMPLE_COUNTS gl_TEXTURE_COORD_ARRAY_COUNT_EXTgl_R1UI_T2F_V3F_SUNgl_PATH_END_CAPS_NVgl_OPERAND0_ALPHA_EXTgl_VERTEX_ATTRIB_ARRAY_POINTERgl_SOURCE0_ALPHAgl_UNPACK_FLIP_Y_WEBGLgl_FRAMEZOOM_SGIXgl_4PASS_0_EXT gl_SECONDARY_COLOR_ARRAY_POINTERgl_FRAMEBUFFER_UNDEFINEDgl_MAX_VARYING_VECTORS!gl_PROGRAM_NATIVE_TEMPORARIES_ARB gl_CMYKA_EXTgl_VERTEX_ARRAY_LENGTH_NVgl_BUFFER_MAP_POINTERgl_PIXEL_MAP_S_TO_Sgl_TRACE_PRIMITIVES_BIT_MESAgl_TEXTURE_COMPARE_FUNC_ARBgl_DEBUG_TYPE_ERROR_KHRgl_TESS_CONTROL_SHADER_EXT gl_CURRENT_MATRIX_STACK_DEPTH_NV gl_CUBIC_EXT gl_TEXTURE11gl_QUERY_RESULTgl_VERTEX_ATTRIB_ARRAY5_NVgl_TEXTURE_EXTERNAL_OESgl_IMAGE_TEXEL_SIZEgl_MULTISAMPLE_BUFFER_BIT2_QCOM gl_PATCH_DEFAULT_INNER_LEVEL_EXTgl_STENCIL_BITSgl_MAX_LABEL_LENGTHgl_TEXTURE_MAX_CLAMP_R_SGIX"gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLEgl_UNPACK_ALIGNMENTgl_SIGNED_ALPHA_NVgl_CULL_FACE_MODE#gl_IMPLEMENTATION_COLOR_READ_FORMAT)gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB gl_TEXTURE27 gl_LERP_ATIgl_POINT_SIZE_ARRAY_TYPE_OESgl_SIGNED_HILO8_NVgl_COLOR_ATTACHMENT3_EXTgl_TEXTURE_IMAGE_FORMATgl_TEXTURE_ALPHA_SIZE_EXTgl_MAP2_VERTEX_ATTRIB10_4_NVgl_DECR_WRAP_OESgl_DELETE_STATUS!gl_TRANSFORM_FEEDBACK_BARRIER_BITgl_WARPS_PER_SM_NVgl_DEBUG_SEVERITY_LOW_KHR'gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELgl_SAMPLER_2D_RECT_SHADOWgl_COLOR_ATTACHMENT7 gl_TRANSFORM_FEEDBACK_BUFFER_EXTgl_POINT_SIZE_GRANULARITYgl_RECLAIM_MEMORY_HINT_PGIgl_LUMINANCE16_EXTgl_UNSIGNED_BYTE_2_3_3_REV_EXTgl_PACK_COMPRESSED_BLOCK_HEIGHT&gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB gl_HILO16_NV%gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXTgl_FRAGMENT_COLOR_MATERIAL_SGIXgl_DRAW_BUFFER15_EXT&gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXTgl_DOT3_RGBA_IMG)gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARBgl_DEBUG_SOURCE_APPLICATION.gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTELgl_BOOL_VEC4_ARBgl_SHADER_OBJECT_EXTgl_TEXTURE_WRAP_Tgl_PIXEL_MAP_S_TO_S_SIZEgl_LUMINANCE8_ALPHA8_OESgl_FRAGMENT_MATERIAL_EXT(gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTELgl_POLYGON_OFFSET_BIAS_EXTgl_DEBUG_TYPE_MARKER gl_EVAL_2D_NVgl_TEXTURE_CUBE_MAP_NEGATIVE_Z'gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NVgl_OUTPUT_TEXTURE_COORD31_EXT&gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARBgl_WRITE_ONLY_OESgl_TEXTURE_CLIPMAP_FRAME_SGIXgl_SAMPLER_1D_SHADOW_ARBgl_TEXTURE_MATERIAL_FACE_EXTgl_NEGATE_BIT_ATIgl_BOOL_VEC2_ARBgl_VERTEX_ARRAY_RANGE_APPLEgl_DEPTH_BUFFER_BIT1_QCOMgl_ATC_RGB_AMDgl_MATRIX23_ARBgl_ALPHA16_EXT$gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV gl_CON_2_ATIgl_POST_CONVOLUTION_GREEN_SCALE gl_C4UB_V3F gl_SRGB8_EXTgl_TESS_CONTROL_SHADER_BITgl_TRANSFORM_FEEDBACK_RECORD_NV,gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXTgl_PROXY_TEXTURE_2D_STACK_MESAX#gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVEgl_RENDERBUFFER_RED_SIZEgl_DISTANCE_ATTENUATION_EXTgl_NANDgl_FRAGMENTS_INSTRUMENT_SGIX gl_N3F_V3F+gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NVgl_LUMINANCE4_ALPHA4_EXT gl_PATH_MODELVIEW_STACK_DEPTH_NVgl_LUMINANCE32UI_EXTgl_SRC_ALPHA_SATURATEgl_CONTEXT_RELEASE_BEHAVIORgl_PATH_FORMAT_PS_NVgl_DOUBLE_MAT2x4gl_POINT_SMOOTH_HINT'gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS gl_PIXEL_PACK_BUFFER_BINDING_ARBgl_UNIFORM_BUFFER_ADDRESS_NVgl_POST_CONVOLUTION_GREEN_BIAS'gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NVgl_ATOMIC_COUNTER_BUFFER_SIZE"gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERSgl_PATH_TERMINAL_DASH_CAP_NV'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHRgl_ONE_MINUS_CONSTANT_COLOR_EXT gl_SRC1_COLORgl_PIXEL_MAP_B_TO_B_SIZEgl_SAMPLE_ALPHA_TO_COVERAGE_ARB gl_VERTEX_ARRAY_RANGE_POINTER_NV$gl_PERFQUERY_COUNTER_TIMESTAMP_INTELgl_LUMINANCE16UI_EXTgl_NORMAL_ARRAY_ADDRESS_NV gl_CLIPPING_INPUT_PRIMITIVES_ARBgl_INDEX_LOGIC_OPgl_UNSIGNED_SHORT_5_6_5!gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMDgl_PER_STAGE_CONSTANTS_NV%gl_VIEWPORT_INDEX_PROVOKING_VERTEX_NVgl_VERTEX_ID_NVgl_FEEDBACK_BUFFER_POINTERgl_GEOMETRY_VERTICES_OUTgl_ARRAY_STRIDEgl_INVALID_ENUMgl_SAMPLER_RENDERBUFFER_NVgl_RENDERBUFFER_HEIGHT_EXTgl_BYTE!gl_CONTEXT_FLAG_ROBUST_ACCESS_BITgl_VBO_FREE_MEMORY_ATIgl_FILTER4_SGISgl_PIXEL_TILE_HEIGHT_SGIX gl_RGBA8_EXTgl_MAX_PROGRAM_LOOP_DEPTH_NV&gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXTgl_VERTEX_ATTRIB_ARRAY_DIVISORgl_CONVOLUTION_WIDTH_EXTgl_READ_PIXELSgl_ACTIVE_RESOURCESgl_ACTIVE_TEXTUREgl_COMPUTE_TEXTUREgl_COLOR_ATTACHMENT3gl_POINT_SIZE_MAXgl_PATCH_VERTICES_EXTgl_DRAW_BUFFER2_NV gl_REG_4_ATIgl_SLUMINANCE8_ALPHA8_EXT(gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXTgl_CLIP_PLANE4gl_TEXCOORD3_BIT_PGIgl_EVAL_VERTEX_ATTRIB4_NV#gl_DISPATCH_INDIRECT_BUFFER_BINDING gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NVgl_SAMPLER_CUBE_MAP_ARRAYgl_ARRAY_OBJECT_BUFFER_ATIgl_COLOR_ARRAY_LENGTH_NVgl_DRAW_BUFFER13_NVgl_UNSIGNED_INT_IMAGE_CUBEgl_TEXTURE_1D_ARRAY gl_INDEX_BITSgl_MAX_FRAMEBUFFER_LAYERS_EXTgl_TEXTURE_BUFFER_ARBgl_NUM_FRAGMENT_REGISTERS_ATIgl_MODELVIEW0_STACK_DEPTH_EXTgl_IMAGE_CLASS_4_X_8&gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT gl_TEXTURE10gl_VIEW_CLASS_64_BITSgl_MAX_SPARSE_TEXTURE_SIZE_AMD gl_OFFSETgl_TEXTURE_BINDING_CUBE_MAP_OESgl_TEXTURE_SWIZZLE_B_EXTgl_PROGRAM_FORMAT_ASCII_ARBgl_MAX_COLOR_ATTACHMENTS_EXTgl_FILLgl_SMOOTH_POINT_SIZE_RANGEgl_TEXTURE_DS_SIZE_NVgl_PROGRAM_POINT_SIZE gl_GREEN_BIASgl_EVAL_VERTEX_ATTRIB9_NVgl_CLIENT_VERTEX_ARRAY_BITgl_FILE_NAME_NVgl_LIGHTING_BIT gl_MAX_HEIGHTgl_EDGE_FLAG_ARRAY_ADDRESS_NVgl_TRANSFORM_FEEDBACK_BUFFER_NVgl_ALPHA_TEST_REF_QCOMgl_TEXTURE_RESIDENT_EXT)gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXTgl_RESAMPLE_REPLICATE_OMLgl_SECONDARY_COLOR_ARRAY_SIZEgl_CLIP_DISTANCE0gl_INTERNALFORMAT_DEPTH_TYPEgl_VARIABLE_E_NV'gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB$gl_MAX_VERTEX_VARYING_COMPONENTS_EXTgl_UNKNOWN_CONTEXT_RESETgl_RGBA_SIGNED_COMPONENTS_EXTgl_INT_IMAGE_3Dgl_PROGRAM_STRING_NVgl_WEIGHT_ARRAY_TYPE_ARBgl_PIXEL_TEX_GEN_Q_ROUND_SGIXgl_FLOAT_RGBA16_NV gl_MAX_SHADER_STORAGE_BLOCK_SIZEgl_TEXTURE_BASE_LEVELgl_CLIP_DISTANCE6_APPLEgl_SWIZZLE_STRQ_DQ_ATI$gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT gl_TEXTURE1gl_CLIP_PLANE1gl_BUFFER_MAP_POINTER_OESgl_DEBUG_SOURCE_THIRD_PARTYgl_COLOR_ATTACHMENT9_EXTgl_MAX_PROGRAM_CALL_DEPTH_NV#gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NVgl_DEBUG_CALLBACK_FUNCTIONgl_PROGRAM_TARGET_NVgl_MAX_NAME_LENGTHgl_MINUS_CLAMPED_NVgl_MIRROR_CLAMP_EXTgl_TEXTURE16_ARBgl_TESS_CONTROL_TEXTUREgl_LUMINANCE_SNORMgl_VERTEX_BINDING_OFFSETgl_3D!gl_TEXTURE_COORD_ARRAY_ADDRESS_NVgl_DEPTH_COMPONENT16 gl_TEXTURE20gl_TEXTURE_WIDTHgl_GREENgl_EXCLUSION_NVgl_VERTEX_ARRAY_BINDING gl_PROGRAMgl_NEGATIVE_X_EXTgl_CURRENT_TIME_NVgl_COMPRESSED_RGBA_ASTC_8x8_KHR gl_TRANSFORM_FEEDBACK_ATTRIBS_NV/gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXTgl_INTENSITY4_EXTgl_UNSIGNALED_APPLEgl_CLIP_DISTANCE0_APPLEgl_INVARIANT_DATATYPE_EXTgl_DEPTH_COMPONENT32F$gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB$gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NVgl_MAX_RATIONAL_EVAL_ORDER_NVgl_STENCIL_INDEX4_OESgl_BUFFER_FLUSHING_UNMAP_APPLEgl_INT8_VEC4_NVgl_SLUMINANCE8_NVgl_MODELVIEW24_ARB"gl_VERTEX_ARRAY_RANGE_LENGTH_APPLEgl_LOSE_CONTEXT_ON_RESET_KHRgl_TRANSPOSE_AFFINE_2D_NVgl_FLOAT_MAT2_ARBgl_COMBINER1_NVgl_TEXTURE_PRE_SPECULAR_HPgl_DEPTH_STENCIL_NV*gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL gl_LINE_WIDTH gl_HINT_BITgl_SOFTLIGHT_KHR%gl_PROXY_POST_CONVOLUTION_COLOR_TABLEgl_QUAD_LUMINANCE8_SGIS$gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NVgl_COLOR_ARRAY_BUFFER_BINDINGgl_DRAW_BUFFER0_EXTgl_EMBOSS_LIGHT_NVgl_PIXEL_MAP_I_TO_Igl_FIXED)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR gl_TEXTURE2gl_TEXTURE_ALPHA_TYPE_ARBgl_TEXTURE_DEPTH_QCOMgl_GET_TEXTURE_IMAGE_FORMATgl_DOT_PRODUCT_TEXTURE_2D_NVgl_QUAD_INTENSITY8_SGISgl_DEBUG_TYPE_PERFORMANCE_ARBgl_MAX_TEXTURE_BUFFER_SIZE_ARB%gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXTgl_LOCATION_INDEX!gl_FRAMEBUFFER_ATTACHMENT_LAYEREDgl_EYE_POINT_SGISgl_VIEW_CLASS_96_BITSgl_RGB5_A1_EXTgl_MODELVIEW12_ARBgl_INTERLACE_READ_OMLgl_PATCH_VERTICES!gl_PIXEL_FRAGMENT_RGB_SOURCE_SGISgl_DRAW_BUFFER10_NVgl_STENCIL_BACK_FUNCgl_COVERAGE_ALL_FRAGMENTS_NVgl_MIN_PROGRAM_TEXEL_OFFSET!gl_POINT_FADE_THRESHOLD_SIZE_SGISgl_TESS_CONTROL_OUTPUT_VERTICES gl_ALPHA_BITS(gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NVgl_TEXTURE_BINDING_EXTERNAL_OESgl_RED_MIN_CLAMP_INGR)gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB%gl_PERFQUERY_COUNTER_THROUGHPUT_INTELgl_ADJACENT_PAIRS_NV&gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS(gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES gl_TEXTURE4gl_LUMINANCE12_ALPHA4gl_DOUBLE_VEC4gl_COLOR_ATTACHMENT8gl_PATH_FOG_GEN_MODE_NV"gl_TRANSFORM_FEEDBACK_VARYINGS_EXTgl_COLOR_BUFFER_BIT6_QCOM#gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZEgl_INT_IMAGE_3D_EXT gl_BACK_LEFT gl_BGRA8_EXTgl_DEBUG_TYPE_PUSH_GROUP_KHRgl_T"gl_DETAIL_TEXTURE_FUNC_POINTS_SGISgl_FRAMEBUFFER_UNDEFINED_OES gl_GREATERgl_COMPRESSED_R11_EACgl_STENCIL_VALUE_MASKgl_SAMPLER_2D_RECT!gl_LAYOUT_LINEAR_CPU_CACHED_INTELgl_TEXTURE5_ARB gl_CON_9_ATIgl_EQUIVgl_VIEW_CLASS_S3TC_DXT1_RGBA gl_TEXTURE_COORD_ARRAY_LENGTH_NV gl_FRONT_LEFTgl_MAX_VIEWPORTS gl_REDUCE_EXTgl_VERTEX_PROGRAM_NVgl_COMPRESSED_RGBAgl_VARIABLE_F_NVgl_VERTEX_ARRAY_ADDRESS_NVgl_RELATIVE_LINE_TO_NVgl_FLAT-gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB gl_POST_CONVOLUTION_RED_BIAS_EXT gl_MATRIX_EXTgl_MAP1_VERTEX_ATTRIB15_4_NVgl_PERFQUERY_DONOT_FLUSH_INTELgl_SMALL_CW_ARC_TO_NVgl_WRITE_ONLY_ARB gl_RGBA_S3TC/gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACEgl_CONSTANT_COLOR_EXT0gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT'gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING'gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBMgl_PIXEL_SUBSAMPLE_4444_SGIXgl_BLEND_EQUATION_ALPHA_OES gl_RGB8I_EXTgl_SELECTION_BUFFER_SIZEgl_TEXTURE_RANGE_LENGTH_APPLE gl_FOG_ENDgl_ZERO_TO_ONE gl_RG32UIgl_TEXTURE_LOD_BIASgl_ALPHA_SNORM!gl_TRANSFORM_FEEDBACK_VARYINGS_NVgl_ALPHA8I_EXTgl_TEXTURE_4D_BINDING_SGISgl_DOT3_RGB_ARBgl_COLOR_ATTACHMENT2gl_BITMAP_TOKENgl_HISTOGRAM_LUMINANCE_SIZEgl_TEXTURE_COMPRESSED,gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKSgl_RGB16_SNORM!gl_NUM_COMPRESSED_TEXTURE_FORMATS"gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXTgl_COMBINER_COMPONENT_USAGE_NV gl_BACK_RIGHTgl_MAP2_VERTEX_4 gl_RG16F_EXTgl_TOP_LEVEL_ARRAY_SIZE"gl_CULL_VERTEX_OBJECT_POSITION_EXTgl_COMPRESSED_LUMINANCE_ARBgl_FRAGMENT_LIGHT7_SGIXgl_PATH_OBJECT_BOUNDING_BOX_NVgl_SETgl_BOOL_VEC3_ARBgl_RESCALE_NORMAL_EXTgl_MAP2_VERTEX_ATTRIB0_4_NVgl_FRAMEBUFFER_DEFAULTgl_MATRIX11_ARBgl_RENDERBUFFER_HEIGHT_OES gl_R16_EXT gl_RGBA12_EXTgl_FUNC_SUBTRACT_EXT#gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARBgl_PROGRAM_RESULT_COMPONENTS_NV)gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATIgl_RGB_FLOAT32_ATIgl_PROGRAM_BINARY_FORMATSgl_FRAGMENT_SHADER_ATIgl_OBJECT_TYPEgl_COUNT_DOWN_NVgl_RGBA32F_ARBgl_MAX_ELEMENTS_VERTICES_EXT gl_BOOL_VEC4gl_STENCIL_CLEAR_VALUEgl_PROGRAM_ATTRIBS_ARBgl_BROWSER_DEFAULT_WEBGLgl_DRAW_BUFFER5_EXT%gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXTgl_INT_SAMPLER_1D_ARRAY"gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT"gl_COMPRESSED_SLUMINANCE_ALPHA_EXTgl_VERTEX_ARRAY_LIST_STRIDE_IBMgl_UNSIGNED_INT_VEC4+gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTSgl_MINMAX_FORMATgl_SEPARATE_SPECULAR_COLOR_EXT gl_SRC_IN_NV)gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTSgl_MULTIVIEW_EXTgl_CLIP_PLANE0_IMGgl_BUFFER_MAPPED_ARBgl_DRAW_BUFFER12_EXT gl_RGB5_EXTgl_BUFFER_MAPPEDgl_PRIMITIVES_SUBMITTED_ARB gl_REG_20_ATIgl_VERTEX_ATTRIB_ARRAY14_NVgl_ALPHA16F_EXTgl_DRAW_BUFFER7gl_BGRA_INTEGER!gl_EDGE_FLAG_ARRAY_BUFFER_BINDING gl_UNPACK_COMPRESSED_BLOCK_WIDTHgl_CONVOLUTION_1D_EXT gl_TEXTURE7gl_MAX_ELEMENT_INDEXgl_FOG_COORD_ARRAY_ADDRESS_NVgl_FONT_DESCENDER_BIT_NVgl_MAX_PATCH_VERTICES gl_UNSIGNALEDgl_FLOAT_MAT2x4_NVgl_COMBINE_EXTgl_ELEMENT_ARRAY_BUFFERgl_OPERAND1_ALPHA_EXTgl_OP_RECIP_EXTgl_FLOAT_RGBA_NV"gl_TRANSFORM_FEEDBACK_BUFFER_INDEXgl_DEBUG_TYPE_PORTABILITYgl_IMAGE_SCALE_Y_HPgl_YCRCB_422_SGIX gl_UNIFORMgl_TEXTURE_COLOR_TABLE_SGIgl_CONVOLUTION_HEIGHTgl_MAT_COLOR_INDEXES_BIT_PGIgl_TEXTURE_3D_BINDING_OESgl_RGB_INTEGER_EXTgl_PALETTE4_RGB8_OESgl_SRC_ATOP_NVgl_TEXTURE_OBJECT_VALID_QCOMgl_OP_POWER_EXTgl_MAX_DRAW_BUFFERS_EXTgl_MAX_ARRAY_TEXTURE_LAYERSgl_STACK_UNDERFLOW_KHRgl_INT_IMAGE_CUBE_MAP_ARRAY_EXTgl_VARIANT_ARRAY_POINTER_EXTgl_FRACTIONAL_EVEN_EXTgl_POLYGON_BITgl_DOUBLE_MAT4_EXTgl_4PASS_2_SGISgl_ALPHA_FLOAT16_APPLEgl_INTENSITY16'gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTELgl_BUMP_TARGET_ATIgl_VERTEX_SHADER_INVARIANTS_EXT'gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITSgl_MULTISAMPLE_BUFFER_BIT1_QCOMgl_TEXTURE_CUBE_MAP_ARRAYgl_MATRIX1_ARB#gl_RENDERBUFFER_INTERNAL_FORMAT_EXTgl_INDEX_TEST_FUNC_EXTgl_SAMPLE_PATTERN_EXTgl_DEBUG_TYPE_ERROR_ARBgl_COLOR_TABLE_BLUE_SIZE_SGIgl_ALPHA_FLOAT16_ATI*gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXTgl_BLUEgl_POINT_DISTANCE_ATTENUATIONgl_PATH_STROKE_COVER_MODE_NV!gl_TEXTURE_STORAGE_SPARSE_BIT_AMDgl_TEXTURE_SWIZZLE_B,gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER gl_MAX_DEBUG_LOGGED_MESSAGES_AMDgl_SEPARATE_ATTRIBS gl_REG_16_ATIgl_TEXTURE_1D_STACK_MESAX0gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OESgl_MAX_DEFORMATION_ORDER_SGIXgl_FLOAT_MAT4x3gl_FOG_COORDINATE_EXTgl_EVAL_VERTEX_ATTRIB11_NVgl_ACTIVE_TEXTURE_ARBgl_MAX_TEXTURE_COORDS_ARB gl_QUERY_KHRgl_UNIFORM_BUFFER"gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB gl_PROGRAM_NATIVE_PARAMETERS_ARBgl_SRC_OVER_NV gl_CMYK_EXTgl_SWIZZLE_STR_ATIgl_DOT_PRODUCT_TEXTURE_3D_NV gl_TEXTURE12gl_RGBA_FLOAT16_APPLE gl_TEXTURE14gl_TRACE_NAME_MESAgl_MATRIX10_ARBgl_ETC1_SRGB8_NV+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARBgl_NORMAL_BIT_PGIgl_INT_SAMPLER_3D_EXTgl_PALETTE4_RGBA8_OES gl_COMPRESSED_RGBA_ASTC_10x5_KHR!gl_DEBUG_CATEGORY_DEPRECATION_AMDgl_IMAGE_BINDING_LEVELgl_MAX_MODELVIEW_STACK_DEPTHgl_TEXTURE_SAMPLESgl_ALPHA12_EXTgl_COPY_WRITE_BUFFER_BINDINGgl_LARGE_CW_ARC_TO_NVgl_SAMPLER_1D_ARRAY_EXTgl_SAMPLER_2D_ARRAY_SHADOW_EXT gl_SHININESSgl_UNDEFINED_VERTEX$gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUNgl_PATH_COMPUTED_LENGTH_NVgl_TEXTURE_BLUE_TYPEgl_PACK_CMYK_HINT_EXT gl_UTF16_NV gl_RG_INTEGER0gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NVgl_MATRIX9_ARB gl_R8_SNORMgl_REFLECTION_MAP_ARBgl_INTERNALFORMAT_SHARED_SIZE!gl_TEXTURE_BINDING_2D_MULTISAMPLE gl_MAX_DEPTHgl_EVAL_VERTEX_ATTRIB15_NVgl_PATH_FILL_MODE_NVgl_TEXTURE_DEFORMATION_SGIXgl_MAX_RENDERBUFFER_SIZE_OESgl_PIXEL_TILE_GRID_DEPTH_SGIXgl_MAX_VERTEX_ATTRIB_STRIDEgl_CONSTANT_ARBgl_IMAGE_CLASS_4_X_16#gl_POST_COLOR_MATRIX_BLUE_SCALE_SGIgl_EXCLUSION_KHRgl_STENCIL_BUFFER_BIT3_QCOMgl_MAX_PROGRAM_PATCH_ATTRIBS_NV%gl_MAX_SHADER_STORAGE_BUFFER_BINDINGSgl_TIMESTAMP_EXTgl_BACK_NORMALS_HINT_PGI&gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIXgl_TEXTURE_RANGE_POINTER_APPLEgl_FONT_HEIGHT_BIT_NVgl_STANDARD_FONT_NAME_NVgl_INTERNALFORMAT_RED_TYPE gl_PATCHESgl_CLAMP_TO_BORDERgl_PIXEL_PACK_BUFFER_BINDINGgl_FLOAT_RGBA32_NV gl_MAX_CUBE_MAP_TEXTURE_SIZE_OESgl_FILL_RECTANGLE_NVgl_DISCRETE_AMDgl_GUILTY_CONTEXT_RESET_KHRgl_LAYOUT_LINEAR_INTELgl_PROXY_HISTOGRAM_EXT"gl_PROGRAM_BINARY_RETRIEVABLE_HINTgl_DOUBLE_VEC2_EXT gl_POINT_SIZE!gl_MAX_COMPUTE_UNIFORM_COMPONENTSgl_INTENSITY_FLOAT16_APPLE gl_REG_24_ATIgl_MAX_VERTEX_ATTRIB_BINDINGSgl_CONVOLUTION_BORDER_MODE-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS gl_CONSERVATIVE_RASTERIZATION_NVgl_MAX_ELEMENTS_INDICESgl_IMAGE_CLASS_2_X_16gl_VERSION_ES_CM_1_1gl_COPY_WRITE_BUFFER_NVgl_COLOR_TABLE_BLUE_SIZE gl_RG8_SNORMgl_TANGENT_ARRAY_STRIDE_EXTgl_GPU_DISJOINT_EXTgl_POINT_SIZE_ARRAY_STRIDE_OES'gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NVgl_MAP_COHERENT_BITgl_VIEWPORT_BOUNDS_RANGE_EXTgl_COLOR_ARRAY_SIZE_EXT$gl_WRITE_PIXEL_DATA_RANGE_POINTER_NVgl_INCR_WRAP_OES gl_DEPTH_TEST gl_DOT3_ATIgl_CLAMP_READ_COLOR'gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NVgl_CURRENT_BINORMAL_EXT.gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXTgl_RASTER_MULTISAMPLE_EXT"gl_SHADER_IMAGE_ACCESS_BARRIER_BITgl_READ_FRAMEBUFFER_BINDING_NVgl_TESSELLATION_MODE_AMDgl_MAX_ATTRIB_STACK_DEPTHgl_OP_RECIP_SQRT_EXTgl_COMPRESSED_SIGNED_R11_EACgl_MAX_VARYING_FLOATSgl_UNSIGNED_INT_IMAGE_1D_ARRAYgl_SRGB8_ALPHA8gl_FONT_TARGET_UNAVAILABLE_NVgl_UNPACK_IMAGE_DEPTH_SGISgl_FLOAT_R32_NVgl_VARIABLE_A_NVgl_PIXEL_MAP_I_TO_R"gl_TESS_CONTROL_SHADER_PATCHES_ARBgl_RELATIVE_MOVE_TO_NVgl_PIXEL_BUFFER_BARRIER_BITgl_DEPTH24_STENCIL8gl_COMBINE_RGB%gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOATgl_DUP_FIRST_CUBIC_CURVE_TO_NVgl_MODULATE_SUBTRACT_ATIgl_DRAW_BUFFER14_ATI gl_OP_ADD_EXTgl_TEXTURE_IMMUTABLE_LEVELSgl_PALETTE8_RGBA8_OESgl_RGBA_FLOAT32_ATI gl_REG_13_ATIgl_SAMPLE_COVERAGE_INVERT_ARB&gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY$gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV gl_MAD_ATIgl_MAP2_COLOR_4gl_STENCIL_BACK_FAILgl_MIRROR_CLAMP_TO_EDGE_EXTgl_TEXTURE_MAX_CLAMP_S_SGIXgl_NEAREST_MIPMAP_LINEARgl_STENCIL_ATTACHMENT_EXT&gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI!gl_COMPRESSED_RGBA_ASTC_6x6x5_OES)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OESgl_SLUMINANCE8_ALPHA8gl_TEXTURE_VIEW_MIN_LEVELgl_RGBA16F_EXTgl_GENERATE_MIPMAP_HINT_SGIS gl_QUERY_BY_REGION_WAIT_INVERTEDgl_VERTEX_ARRAY_BINDING_APPLE gl_CON_14_ATIgl_CONVOLUTION_2D_EXTgl_WARP_SIZE_NVgl_RELEASED_APPLEgl_LAST_VIDEO_CAPTURE_STATUS_NV%gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT%gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT!gl_TEXTURE_2D_STACK_BINDING_MESAXgl_EVAL_VERTEX_ATTRIB14_NVgl_COMPRESSED_RGB_ARBgl_MAX_PROGRAM_MATRICES_ARBgl_FIRST_VERTEX_CONVENTION+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB$gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARBgl_FONT_GLYPHS_AVAILABLE_NVgl_STATIC_COPY gl_ENABLE_BIT)gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OESgl_DISCARD_ATIgl_MAX_VERTEX_HINT_PGIgl_MODELVIEW_PROJECTION_NVgl_UNSIGNED_INT_S8_S8_8_8_NVgl_IMAGE_2D_MULTISAMPLE_ARRAYgl_ACTIVE_ATTRIBUTESgl_SIGNED_IDENTITY_NVgl_UNSIGNED_INT16_NVgl_R8I(gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXTgl_RED_MAX_CLAMP_INGRgl_SUPERSAMPLE_SCALE_X_NVgl_DRAW_BUFFER13_ATI%gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR)gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXTgl_TRANSPOSE_CURRENT_MATRIX_ARBgl_TRIANGLES_ADJACENCYgl_MAX_PROGRAM_INSTRUCTIONS_ARBgl_PRIMARY_COLORgl_ONE_MINUS_SRC1_ALPHAgl_UNSIGNED_INT_8_8_8_8gl_CONVOLUTION_WIDTH#gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITSgl_COLOR_ATTACHMENT8_NV(gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHRgl_MAX_CONVOLUTION_WIDTH gl_LIGHT1gl_RG16F#gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NVgl_COMPRESSED_RGBA_ASTC_5x4_KHRgl_TRIANGLE_MESH_SUN gl_OVERLAY_NV%gl_MAX_COMBINED_SHADER_STORAGE_BLOCKSgl_WEIGHT_ARRAY_STRIDE_OESgl_DYNAMIC_ATI gl_TEXTURE31gl_DEPTH24_STENCIL8_EXTgl_DEBUG_SEVERITY_LOWgl_STREAM_COPY_ARB*gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS gl_RGBA8UIgl_FLOAT16_VEC2_NVgl_CONTINUOUS_AMDgl_SHADER_STORAGE_BLOCKgl_PIXEL_MAP_I_TO_A_SIZEgl_TEXTURE_IMMUTABLE_FORMATgl_COVERAGE_MODULATION_TABLE_NVgl_NEXT_BUFFER_NVgl_UNPACK_SKIP_IMAGESgl_DRAW_BUFFER9_EXTgl_IMAGE_CLASS_1_X_16gl_UNSIGNED_INT_10_10_10_2gl_STENCIL_SAMPLES_NVgl_FOG_COORD_ARRAY_LENGTH_NVgl_UNSIGNED_INT8_VEC2_NVgl_TEXTURE_3D_OES/gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVXgl_IMAGE_2D_ARRAY_EXT!gl_MAX_ATOMIC_COUNTER_BUFFER_SIZEgl_SINGLE_COLOR gl_BUFFERgl_TRACK_MATRIX_TRANSFORM_NV gl_OP_MAX_EXTgl_SMAPHS30_PROGRAM_BINARY_DMPgl_TEXTURE21_ARBgl_UNIFORM_BARRIER_BITgl_VERTEX_SUBROUTINEgl_FOG_COORDINATEgl_TEXTURE_WRAP_Q_SGISgl_QUERY_BUFFER_BINDING_AMDgl_COMPARE_R_TO_TEXTUREgl_POINT_SPRITE_COORD_ORIGINgl_LUMINANCE_ALPHA16I_EXTgl_COLOR_SUM_ARB gl_RGBA32Fgl_COLOR_TABLE_WIDTH gl_INDEX_MODEgl_READ_PIXEL_DATA_RANGE_NVgl_STENCIL_BACK_OP_VALUE_AMDgl_CLEAR_TEXTUREgl_INT_IMAGE_CUBE_EXTgl_PIXEL_TILE_GRID_HEIGHT_SGIX!gl_VERTEX_ATTRIB_MAP2_COEFF_APPLEgl_COMBINER_SCALE_NVgl_VARIABLE_B_NVgl_SCALED_RESOLVE_NICEST_EXTgl_CLIP_FAR_HINT_PGIgl_DEBUG_GROUP_STACK_DEPTH_KHRgl_DRAW_INDIRECT_LENGTH_NVgl_FUNC_SUBTRACTgl_UNSIGNED_INT_24_8_EXT gl_REG_21_ATIgl_ACCUM_BUFFER_BITgl_ALPHA_INTEGERgl_MATRIX15_ARB gl_INTENSITY gl_RGB10_EXTgl_STENCIL_BUFFER_BIT2_QCOMgl_FLOAT_RGB_NVgl_SKIP_COMPONENTS3_NV"gl_EVAL_FRACTIONAL_TESSELLATION_NVgl_FLOAT_RGBA_MODE_NV gl_FEEDBACK gl_INT16_NVgl_COMPARE_REF_TO_TEXTUREgl_DRAW_BUFFER3_ARBgl_LINE_RESET_TOKENgl_TEXTURE_ALPHA_MODULATE_IMGgl_CLEAR_BUFFERgl_INTENSITY32UI_EXTgl_VERTEX_STREAM3_ATIgl_UNSIGNED_SHORT_8_8_REV_APPLEgl_CONTEXT_ROBUST_ACCESS_KHRgl_PIXEL_TRANSFORM_2D_EXTgl_PATH_STENCIL_REF_NVgl_CLIENT_STORAGE_BITgl_TEXTURE_DEPTH"gl_TRANSPOSE_PROJECTION_MATRIX_ARB,gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXTgl_FULL_STIPPLE_HINT_PGI gl_REG_23_ATIgl_MAX_FRAGMENT_LIGHTS_SGIXgl_DRAW_BUFFER5_ATIgl_TEXTURE_CUBE_MAP_NEGATIVE_Ygl_DRAW_INDIRECT_BUFFER_BINDINGgl_INTERNALFORMAT_BLUE_TYPEgl_PATH_INITIAL_END_CAP_NVgl_FRAGMENT_NORMAL_EXT gl_TEXTURE_1Dgl_MULTISAMPLE_BUFFER_BIT7_QCOMgl_DEBUG_SEVERITY_HIGH_ARBgl_COLOR_ATTACHMENT12_NVgl_SPRITE_AXIS_SGIXgl_SHADOW_ATTENUATION_EXTgl_SLICE_ACCUM_SUNgl_EXPAND_NORMAL_NVgl_TEXTURE_POST_SPECULAR_HP6gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES gl_RGB8_SNORMgl_SAMPLER_2D_ARRAY_SHADOW gl_MAP1_INDEXgl_INT_SAMPLER_2D_EXTgl_TEXTURE_USAGE_ANGLEgl_INT_VEC4_ARB gl_MATRIX2_NV'gl_MAX_TESS_EVALUATION_INPUT_COMPONENTSgl_SLUMINANCE_ALPHA_EXTgl_COLOR_ATTACHMENT6gl_COLOR_TABLEgl_MAX_SAMPLE_MASK_WORDS_NVgl_INTERNALFORMAT_DEPTH_SIZEgl_POST_COLOR_MATRIX_ALPHA_BIAS gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NVgl_POST_CONVOLUTION_BLUE_BIASgl_MAX_PROGRAM_IF_DEPTH_NVgl_MAP2_TEXTURE_COORD_1gl_TEXTURE_CUBE_MAP_POSITIVE_Zgl_OPERAND0_ALPHA_ARBgl_PROXY_TEXTURE_CUBE_MAP_ARBgl_DEPTH_BUFFER_BIT5_QCOMgl_LINE_STRIP_ADJACENCY gl_FOG_HINTgl_COLOR_BUFFER_BIT7_QCOM gl_MATRIX4_NV gl_REG_25_ATIgl_INT_IMAGE_BUFFER_EXTgl_UNSIGNED_INT_5_9_9_9_REV$gl_MAX_VERTEX_VARYING_COMPONENTS_ARB$gl_SECONDARY_COLOR_ARRAY_POINTER_EXTgl_FRAGMENT_SUBROUTINE_UNIFORMgl_DOUBLE_MAT3x2_EXTgl_COMBINE_ARBgl_STENCIL_INDEX4gl_MULTISAMPLE_BUFFER_BIT5_QCOMgl_BLENDgl_FOG_COORDINATE_SOURCEgl_VERTEX_PRECLIP_HINT_SGIXgl_VIEW_CLASS_48_BITSgl_TEXTURE_CUBE_MAP_POSITIVE_Xgl_GEOMETRY_INPUT_TYPE_ARBgl_LAST_VERTEX_CONVENTIONgl_FLOATgl_SAMPLE_BUFFERS_ARB gl_VERTEX_PROGRAM_POINT_SIZE_ARBgl_VIRTUAL_PAGE_SIZE_X_ARB'gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB gl_TRANSFORM_FEEDBACK_BINDING_NVgl_CURRENT_RASTER_NORMAL_SGIXgl_SIGNED_RGBA_NVgl_MATRIX6_ARBgl_MAX_SAMPLES_APPLEgl_DEPTH_STENCIL_EXTgl_IUI_V3F_EXTgl_ACCUMgl_TEXTURE_BINDING_2Dgl_LINEAR_MIPMAP_LINEAR gl_2_BYTES_NV&gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV gl_EVAL_BITgl_COPY_READ_BUFFER_BINDING gl_RGB8_OESgl_ALPHA8UI_EXTgl_INDEX_ARRAY_STRIDEgl_SAMPLER_2D_RECT_ARBgl_FRAGMENT_PROGRAM_BINDING_NVgl_MAX_TEXTURE_UNITSgl_DRAW_BUFFER6_ATI gl_AVERAGE_HPgl_WEIGHT_ARRAY_POINTER_OES gl_TEXTURE6gl_DT_SCALE_NVgl_SHORTgl_ACTIVE_UNIFORM_BLOCKSgl_MODELVIEW23_ARBgl_PATH_STROKE_WIDTH_NVgl_COLOR_COMPONENTSgl_TEXTURE_2D_ARRAYgl_TEXTURE_SWIZZLE_RGBA_EXTgl_PACK_SWAP_BYTES%gl_TEXTURE_COORD_ARRAY_BUFFER_BINDINGgl_OP_CROSS_PRODUCT_EXTgl_COLOR_ARRAY_STRIDEgl_STENCIL_CLEAR_TAG_VALUE_EXTgl_MAX_COLOR_TEXTURE_SAMPLESgl_VERTEX_STREAM1_ATIgl_PATH_STROKE_MASK_NV gl_SRC0_ALPHAgl_TEXTURE_BORDER_COLOR_NV gl_STEREO gl_REG_11_ATI!gl_COMPRESSED_SIGNED_RG11_EAC_OES gl_REG_18_ATI gl_XOR_NV%gl_PERFQUERY_COUNTER_DATA_FLOAT_INTELgl_COMPRESSED_RED_RGTC1_EXT gl_FIELDS_NVgl_STENCIL_EXTgl_2PASS_0_SGISgl_TEXTURE_GEN_T+gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NVgl_DEBUG_OUTPUT_KHRgl_PROXY_TEXTURE_2D_EXT gl_CUBIC_HP gl_RED_EXT!gl_PERFQUERY_SINGLE_CONTEXT_INTEL%gl_IMPLEMENTATION_COLOR_READ_TYPE_OESgl_SUPERSAMPLE_SCALE_Y_NVgl_EDGE_FLAG_ARRAY_STRIDEgl_ALPHA_FLOAT32_APPLEgl_COMMAND_BARRIER_BITgl_MODELVIEW17_ARBgl_PROGRAM_PARAMETER_NV gl_MAP2_INDEX gl_TEXTURE15gl_TEXTURE_UPDATE_BARRIER_BITgl_RENDERBUFFER_STENCIL_SIZEgl_SYNC_CL_EVENT_COMPLETE_ARB gl_RG_EXTgl_DEPTH_COMPONENT16_SGIX gl_LINEARgl_SMALL_CCW_ARC_TO_NV gl_GEOMETRY_DEFORMATION_BIT_SGIXgl_IMAGE_BINDING_ACCESS"gl_PIXEL_UNPACK_BUFFER_BINDING_ARBgl_LUMINANCE6_ALPHA2_EXTgl_DEPTH_BUFFER_BIT3_QCOMgl_MAX_DRAW_BUFFERS_NVgl_MAX_SAMPLES_ANGLEgl_TEXTURE_CUBE_MAP_SEAMLESSgl_TESSELLATION_FACTOR_AMDgl_BUFFER_OBJECT_APPLEgl_CLIP_PLANE5#gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT gl_SRGB_EXTgl_POST_COLOR_MATRIX_RED_BIASgl_COVERAGE_AUTOMATIC_NVgl_PACK_SKIP_IMAGESgl_QUERYgl_CLIP_DISTANCE4_APPLE)gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT gl_IMAGE_2Dgl_NUM_FRAGMENT_CONSTANTS_ATIgl_INDEX_CLEAR_VALUEgl_TEXTURE_WRAP_Sgl_ADD_SIGNED_EXTgl_VIEW_CLASS_RGTC1_REDgl_COMPUTE_SUBROUTINE)gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG*gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES'gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARBgl_SAMPLE_POSITIONgl_IMAGE_MAG_FILTER_HPgl_VERTEX_STREAM2_ATIgl_INDEX_WRITEMASKgl_INT_IMAGE_2D_ARRAY_EXT.gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NVgl_SHADOW_AMBIENT_SGIX gl_DOUBLEgl_MULTISAMPLE_BUFFER_BIT3_QCOMgl_CONTEXT_LOST_WEBGLgl_MAP1_TEXTURE_COORD_4%gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES gl_REFERENCE_PLANE_EQUATION_SGIX-gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT gl_CONSTANT2gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXTgl_VERTEX_ARRAY_SIZEgl_OBJECT_ACTIVE_ATTRIBUTES_ARB&gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXTgl_RENDERBUFFER_RED_SIZE_EXTgl_OUTPUT_TEXTURE_COORD27_EXT gl_VIDEO_COLOR_CONVERSION_MAX_NVgl_AUTO_GENERATE_MIPMAP'gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICESgl_DUP_LAST_CUBIC_CURVE_TO_NVgl_INDEX_MATERIAL_PARAMETER_EXTgl_NAME_STACK_DEPTHgl_CONSTANT_COLOR gl_ATOMIC_COUNTER_BUFFER_BINDING%gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARBgl_ALPHA$gl_REFERENCED_BY_GEOMETRY_SHADER_EXTgl_QUERY_OBJECT_EXTgl_PROGRAM_INPUTgl_COORD_REPLACE_ARBgl_DRAW_BUFFER11_EXT gl_FUNC_ADD$gl_MAX_MULTISAMPLE_COVERAGE_MODES_NVgl_DRAW_BUFFER1_ATIgl_POST_COLOR_MATRIX_BLUE_BIAS gl_CON_17_ATIgl_COVERAGE_MODULATION_NVgl_QUERY_WAIT_NVgl_LUMINANCE16_ALPHA16_EXTgl_CULL_VERTEX_EXTgl_POST_CONVOLUTION_ALPHA_SCALEgl_EVAL_VERTEX_ATTRIB10_NV0gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OESgl_DRAW_BUFFER1gl_UNIFORM_TYPE-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT gl_EMISSION gl_FOG_COLORgl_MAP2_TEXTURE_COORD_4gl_NORMALIZED_RANGE_EXTgl_DRAW_INDIRECT_BUFFERgl_RGBA2gl_POINT_SIZE_ARRAY_OES!gl_VERTEX_ATTRIB_MAP1_ORDER_APPLEgl_COLOR_TABLE_WIDTH_SGIgl_VERTEX_PROGRAM_BINDING_NV gl_REG_9_ATIgl_INTENSITY8_EXTgl_SCALE_BY_TWO_NVgl_422_REV_AVERAGE_EXTgl_BUFFER_USAGE_ARBgl_ALPHA32F_ARBgl_TEXTURE23_ARBgl_OUTPUT_TEXTURE_COORD20_EXTgl_TEXTURE_BINDING_RECTANGLE_NVgl_RGB16gl_COLOR_MATRIX_STACK_DEPTH_SGIgl_TEXTURE_RENDERBUFFER_NVgl_SPRITE_AXIAL_SGIX-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER%gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFERgl_BUFFER_MAP_LENGTHgl_READ_FRAMEBUFFER_BINDING_EXTgl_NORMAL_ARRAYgl_VIEW_CLASS_24_BITSgl_ELEMENT_ARRAY_UNIFIED_NVgl_MODELVIEW0_EXT gl_CURRENT_RASTER_TEXTURE_COORDSgl_FOG_SPECULAR_TEXTURE_WINgl_DRAW_BUFFER14_NVgl_MAX_VARYING_COMPONENTS_EXTgl_XOR!gl_DRAW_FRAMEBUFFER_BINDING_APPLEgl_RGB9_E5_EXT'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR gl_POLYGON gl_SPECULARgl_OBJECT_VALIDATE_STATUS_ARBgl_READ_FRAMEBUFFER_APPLE)gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMGgl_REPLACE_OLDEST_SUN#gl_SYNC_GPU_COMMANDS_COMPLETE_APPLEgl_REPLACE_MIDDLE_SUN(gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT%gl_UNSIGNED_INT_10F_11F_11F_REV_APPLEgl_READ_BUFFER_NVgl_GCCSO_SHADER_BINARY_FJ gl_4_BYTES_NVgl_RELATIVE_ROUNDED_RECT2_NVgl_SMOOTH_QUADRATIC_CURVE_TO_NV0gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES*gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARBgl_TRACE_ALL_BITS_MESAgl_OBJECT_ATTACHED_OBJECTS_ARBgl_PINLIGHT_NVgl_VIBRANCE_SCALE_NVgl_SLUMINANCE8_ALPHA8_NV gl_MAX_PROGRAM_SUBROUTINE_NUM_NVgl_PRIMITIVE_ID_NV gl_MEDIUM_INT(gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OESgl_PIXEL_MAP_R_TO_R!gl_COMPRESSED_TEXTURE_FORMATS_ARBgl_ATOMIC_COUNTER_BARRIER_BITgl_ELEMENT_ARRAY_APPLE#gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EACgl_COLOR_ARRAY_TYPE_EXT gl_RED_SCALE gl_GEQUAL.gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADERgl_VERTEX_SHADER_VARIANTS_EXTgl_MAX_IMAGE_SAMPLES_EXTgl_SAMPLER_2D_SHADOW_ARBgl_SAMPLER_2D_MULTISAMPLE gl_UPPER_LEFTgl_MAX_PIXEL_MAP_TABLEgl_PATH_COMMAND_COUNT_NVgl_PATH_PROJECTION_MATRIX_NV"gl_COMPRESSED_SIGNED_RED_RGTC1_EXTgl_4PASS_2_EXTgl_UNSIGNED_INT_VEC2_EXTgl_NO_RESET_NOTIFICATION_EXT%gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXTgl_MAX_ASYNC_DRAW_PIXELS_SGIXgl_PIXEL_COUNT_AVAILABLE_NVgl_FRAGMENT_LIGHT5_SGIXgl_STACK_UNDERFLOWgl_CLIP_DISTANCE1_APPLEgl_MAX_FRAMEBUFFER_LAYERS&gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIXgl_VERTEX_SHADER_EXT&gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASSgl_FENCE_STATUS_NVgl_UNSIGNED_INT_10_10_10_2_EXTgl_TEXTURE_MAG_FILTERgl_MAX_TESS_PATCH_COMPONENTSgl_NEAREST_CLIPMAP_LINEAR_SGIXgl_VIEW_CLASS_S3TC_DXT5_RGBAgl_TRANSPOSE_TEXTURE_MATRIXgl_UNSIGNED_INT64_NV gl_2_BYTESgl_COLOR_ATTACHMENT12_EXTgl_OP_INDEX_EXTgl_DEBUG_SOURCE_SHADER_COMPILERgl_DEBUG_SOURCE_APPLICATION_ARBgl_VIEW_CLASS_32_BITSgl_Z4Y12Z4CB12Z4CR12_444_NV"gl_MAX_TESS_CONTROL_UNIFORM_BLOCKSgl_SAMPLER_1D_ARRAY_SHADOW_EXTgl_VARIANT_ARRAY_TYPE_EXTgl_ALPHA16F_ARB&gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OESgl_UNSIGNED_SHORT_5_6_5_REVgl_SOFTLIGHT_NVgl_SAMPLE_MASK_VALUE_NVgl_FRAGMENT_LIGHT4_SGIXgl_COLOR_ATTACHMENT0_EXTgl_CLAMP_TO_EDGE_SGIS+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTSgl_INTENSITY8UI_EXT!gl_PIXEL_TILE_BEST_ALIGNMENT_SGIXgl_QUERY_ALL_EVENT_BITS_AMDgl_IMAGE_2D_EXTgl_SURFACE_MAPPED_NVgl_VERTEX_ARRAY_KHRgl_VERTEX_ATTRIB_ARRAY_ENABLEDgl_COLOR_BUFFER_BIT5_QCOMgl_COLOR_ATTACHMENT12#gl_COMPRESSED_RGB_BPTC_SIGNED_FLOATgl_MAP2_NORMAL#gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMDgl_OP_CLAMP_EXTgl_FRAMEBUFFER_ATTACHMENT_ANGLEgl_DRAW_BUFFER15_ARBgl_FRACTIONAL_ODD_EXTgl_CONVEX_HULL_NVgl_FRAGMENT_DEPTHgl_INCR_WRAP_EXTgl_UNSIGNED_BYTE_3_3_2_EXT0gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV gl_4X_BIT_ATIgl_DRAW_BUFFER3 gl_PERFQUERY_COUNTER_EVENT_INTELgl_VERTEX_ARRAY_POINTER_EXT,gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NVgl_TEXTURE_CUBE_MAP_ARB!gl_VERTEX_ATTRIB_MAP2_ORDER_APPLEgl_RG8%gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS gl_BGR_EXTgl_CONSTANT_ATTENUATIONgl_RENDERBUFFER_BINDING_EXTgl_OUTPUT_TEXTURE_COORD3_EXTgl_MAP_ATTRIB_V_ORDER_NVgl_COLOR_ATTACHMENT1_EXT%gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI$gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET!gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMDgl_IMAGE_BINDING_LAYERED gl_FIXED_ONLYgl_DISTANCE_ATTENUATION_SGISgl_SOURCE1_ALPHA_EXTgl_TRANSFORM_FEEDBACK_PAUSED gl_DONT_CARE gl_STATIC_ATIgl_CIRCULAR_TANGENT_ARC_TO_NVgl_MINMAX_SINK_EXTgl_TEXTURE_CLIPMAP_OFFSET_SGIX&gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV&gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXTgl_EFFECTIVE_RASTER_SAMPLES_EXTgl_MAX_MULTIVIEW_BUFFERS_EXT)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OESgl_BLEND_DST_ALPHA_EXTgl_FLOAT_MAT4_ARBgl_ALL_SHADER_BITSgl_STENCIL_BUFFER_BIT0_QCOMgl_SIGNED_LUMINANCE_ALPHA_NV$gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NVgl_DISJOINT_NVgl_UNSIGNED_SHORT_5_5_5_1_EXTgl_MAP1_NORMALgl_MATRIX_MODEgl_REFERENCED_BY_COMPUTE_SHADER gl_HARDMIX_NVgl_DOUBLE_MAT4x3gl_T2F_N3F_V3Fgl_FOG_COORDINATE_SOURCE_EXTgl_TABLE_TOO_LARGEgl_SAMPLER_2D_MULTISAMPLE_ARRAY"gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXTgl_2D(gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTENgl_VERTEX_SHADER_BITgl_CLIP_PLANE2_IMGgl_VIRTUAL_PAGE_SIZE_Z_ARBgl_SIGNED_INTENSITY8_NVgl_IMAGE_TRANSFORM_2D_HPgl_TEXTURE_1D_BINDING_EXT+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXTgl_FLOAT_CLEAR_COLOR_VALUE_NVgl_PERFORMANCE_MONITOR_AMDgl_STRICT_DEPTHFUNC_HINT_PGIgl_STENCIL_BACK_WRITEMASKgl_MATRIX4_ARBgl_INT_IMAGE_BUFFER!gl_READ_FRAMEBUFFER_BINDING_ANGLE gl_CON_13_ATI0gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OESgl_IMAGE_CLASS_4_X_32gl_STENCIL_BUFFER_BIT4_QCOM gl_CON_12_ATIgl_ORDER+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXTgl_DEPTH24_STENCIL8_OESgl_ACTIVE_SUBROUTINESgl_CURRENT_BITgl_TEXTURE_HEIGHTgl_DEPTHgl_DETAIL_TEXTURE_MODE_SGISgl_COVERAGE_COMPONENT_NVgl_BINORMAL_ARRAY_TYPE_EXTgl_MAP_UNSYNCHRONIZED_BIT_EXTgl_CURRENT_ATTRIB_NVgl_LOCATION_COMPONENTgl_TEXTURE_BUFFER)gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENTgl_COMBINER_BIAS_NVgl_VERTEX_SUBROUTINE_UNIFORM gl_T4F_V4Fgl_VIRTUAL_PAGE_SIZE_Y_ARBgl_CONDITION_SATISFIED%gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARBgl_CONSTANT_ALPHA_EXT gl_POINTSgl_IMAGE_CLASS_10_10_10_2gl_SAMPLE_MASK_SGIS gl_RGBA2_EXTgl_ACTIVE_ATTRIBUTE_MAX_LENGTHgl_SELECTION_BUFFER_POINTERgl_RELATIVE_CUBIC_CURVE_TO_NVgl_LOCAL_CONSTANT_EXT'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHRgl_DRAW_BUFFER2_ARBgl_SEPARABLE_2Dgl_DRAW_PIXEL_TOKENgl_RGB_FLOAT32_APPLEgl_UNSIGNED_INT_VEC3gl_SYNC_OBJECT_APPLEgl_BUFFER_ACCESS_OESgl_FETCH_PER_SAMPLE_ARMgl_PURGEABLE_APPLE$gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXTgl_PRIMITIVE_RESTART_INDEX_NVgl_TEXTURE_CROP_RECT_OESgl_COLOR_INDEX1_EXTgl_SAMPLES_ARBgl_MAP_UNSYNCHRONIZED_BITgl_VIRTUAL_PAGE_SIZE_Y_AMDgl_PROXY_TEXTURE_1D_EXTgl_OBJECT_POINT_SGIS gl_RENDERBUFFER_STENCIL_SIZE_OESgl_VERTEX_ARRAY_SIZE_EXT gl_RG16UIgl_ITALIC_BIT_NVgl_MAX_VERTEX_UNIFORM_BLOCKSgl_TEXTURE_BINDING_2D_ARRAY_EXT gl_SRC2_RGB#gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI!gl_DRAW_FRAMEBUFFER_BINDING_ANGLEgl_DEPENDENT_AR_TEXTURE_2D_NVgl_MULTISAMPLE_BIT_3DFXgl_GREEN_MIN_CLAMP_INGRgl_PROGRAM_BINARY_FORMATS_OESgl_UNPACK_CMYK_HINT_EXT gl_UNSIGNED_INT_SAMPLER_1D_ARRAY gl_TEXTURE26)gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIXgl_TEXTURE_BINDING_CUBE_MAP_ARBgl_GUILTY_CONTEXT_RESETgl_IDENTITY_NVgl_TESS_EVALUATION_SHADER_EXTgl_MODULATE_COLOR_IMG gl_LUMINANCE_ALPHA_FLOAT16_APPLEgl_FRAGMENT_LIGHT2_SGIXgl_POLYGON_OFFSET_FACTORgl_RELATIVE_ARC_TO_NVgl_LAYER_PROVOKING_VERTEX_EXTgl_COVERAGE_BUFFER_BIT_NV0gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTSgl_COLOR_ATTACHMENT10_EXT gl_HIGH_FLOATgl_VERTEX_STREAM7_ATIgl_NORMAL_MAP_NVgl_422_AVERAGE_EXTgl_SLIM12S_SGIXgl_INT_SAMPLER_1D_ARRAY_EXTgl_ALPHA_TEST_FUNC_QCOMgl_INTERNALFORMAT_BLUE_SIZE$gl_COVERAGE_MODULATION_TABLE_SIZE_NV(gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NVgl_BLEND_OVERLAP_NVgl_LEFT gl_PATCH_DEFAULT_OUTER_LEVEL_EXT gl_RGB4_EXTgl_R8UIgl_SCREEN_COORDINATES_REND)gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGIgl_LAYER_PROVOKING_VERTEX!gl_COLOR_TABLE_INTENSITY_SIZE_SGI)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OESgl_CONTEXT_CORE_PROFILE_BITgl_COMBINE_ALPHA_EXTgl_TEXTURE_BINDING_1D_ARRAY_EXTgl_BLEND_EQUATION_ALPHA_EXTgl_VARIANT_EXT gl_PLUS_NVgl_POINT_SPRITE_NVgl_PIXEL_UNPACK_BUFFERgl_PIXEL_MAP_I_TO_B_SIZE$gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHRgl_DRAW_BUFFER4_ATIgl_RELATIVE_RECT_NVgl_TIMEOUT_EXPIRED gl_FILTER%gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN"gl_MAX_GEOMETRY_SHADER_INVOCATIONSgl_DRAW_BUFFER14gl_MAP_WRITE_BITgl_INTENSITY_SNORMgl_UNSIGNED_INT_8_8_8_8_REV_EXTgl_COMPRESSED_SIGNED_RG11_EACgl_RGBgl_INNOCENT_CONTEXT_RESET_EXTgl_MAX_SAMPLES_EXTgl_DRAW_BUFFER10gl_IS_PER_PATCH_EXTgl_COMPRESSED_SRGB_EXTgl_COLOR_ALPHA_PAIRING_ATIgl_AFFINE_3D_NVgl_NORMAL_ARRAY_EXTgl_DRAW_BUFFER8_ATIgl_PIXEL_MAP_I_TO_I_SIZE$gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARBgl_COMPRESSED_SRGB_ALPHA_EXT$gl_INVALID_FRAMEBUFFER_OPERATION_OESgl_LOAD%gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NVgl_OBJECT_TYPE_ARB!gl_DEBUG_CATEGORY_PERFORMANCE_AMDgl_TESS_EVALUATION_TEXTUREgl_AMBIENT_AND_DIFFUSEgl_OUTPUT_FOG_EXTgl_SEPARATE_ATTRIBS_NVgl_NUM_ACTIVE_VARIABLESgl_TIMEOUT_IGNORED_APPLEgl_SHADING_LANGUAGE_VERSION_ARB gl_EYE_PLANEgl_RIGHT$gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLEgl_COMPRESSED_REDgl_STRICT_LIGHTING_HINT_PGIgl_UNPACK_LSB_FIRSTgl_FLOAT_MAT3x2gl_NORMAL_ARRAY_STRIDE_EXT$gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NVgl_MAX_TEXTURE_LOD_BIAS_EXTgl_OR_INVERTEDgl_INTERNALFORMAT_SUPPORTEDgl_TEXTURE_WRAP_R_EXTgl_UNIFORM_MATRIX_STRIDEgl_ETC1_RGB8_OES gl_CON_0_ATIgl_RGBA_INTEGER_MODE_EXTgl_MAX_GENERAL_COMBINERS_NVgl_PROGRAM_PIPELINE_OBJECT_EXT/gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXTgl_DOUBLE_MAT2x3_EXTgl_EVAL_VERTEX_ATTRIB1_NV#gl_POST_CONVOLUTION_ALPHA_SCALE_EXTgl_SAMPLER_OBJECT_AMDgl_TEXTURE_COORD_ARRAY_STRIDEgl_OBJECT_LINEAR gl_ALPHA_BIAS(gl_PERFQUERY_COUNTER_DURATION_NORM_INTELgl_ALPHA_SCALE(gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXTgl_MAP2_VERTEX_ATTRIB2_4_NVgl_PACK_COMPRESSED_BLOCK_DEPTHgl_STENCIL_FAILgl_COLOR_TABLE_INTENSITY_SIZEgl_R8gl_PIXEL_TEX_GEN_MODE_SGIX"gl_RESET_NOTIFICATION_STRATEGY_EXTgl_UNSIGNED_INT_10F_11F_11F_REVgl_MAX_ASYNC_READ_PIXELS_SGIX gl_SYNC_FENCE)gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB gl_CULL_FACE#gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB!gl_TEXTURE_FIXED_SAMPLE_LOCATIONS)gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NVgl_COLOR_MATERIAL gl_RG32F_EXTgl_MAX_PROGRAM_PARAMETERS_ARBgl_MAX_CLIP_PLANES_IMG!gl_UNPACK_COMPRESSED_BLOCK_HEIGHTgl_SCISSOR_BIT$gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NVgl_LINE_STIPPLEgl_CLAMP_READ_COLOR_ARBgl_OBJECT_INFO_LOG_LENGTH_ARBgl_SAMPLE_ALPHA_TO_ONE_ARBgl_DEPTH_BUFFER_BIT7_QCOMgl_TEXTURE_TOO_LARGE_EXT$gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NVgl_COLOR_ATTACHMENT13_NV gl_REG_29_ATI*gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXTgl_COMMAND_BARRIER_BIT_EXT gl_RGB4_S3TCgl_STENCIL_OP_VALUE_AMDgl_ALWAYS_SOFT_HINT_PGIgl_ALREADY_SIGNALED"gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATIgl_QUERY_WAIT_INVERTEDgl_COMPUTE_SHADER_BITgl_TEXTURE31_ARBgl_RGB16_SNORM_EXTgl_TEXTURE_GEN_STR_OESgl_INTERLACE_SGIXgl_MODELVIEW1_ARBgl_MAX_3D_TEXTURE_SIZE_EXTgl_MAP1_VERTEX_ATTRIB13_4_NV"gl_VIEWPORT_INDEX_PROVOKING_VERTEX gl_REFERENCED_BY_GEOMETRY_SHADERgl_DEPTH_ATTACHMENTgl_SYNC_FENCE_APPLE gl_OP_MOV_EXTgl_ALPHA_TEST_FUNCgl_POINT_SIZE_ARRAY_POINTER_OESgl_MIN_LOD_WARNING_AMD gl_RENDERgl_TEXTURE_WIDTH_QCOMgl_QUERY_BY_REGION_WAIT!gl_COMPRESSED_RGBA_ASTC_5x5x4_OESgl_DEPTH_BUFFER_BITgl_INTENSITY_EXTgl_NAMED_STRING_TYPE_ARBgl_INTERLACE_READ_INGRgl_SECONDARY_COLOR_ARRAY_EXTgl_COMBINE_RGB_ARB gl_RGB32UIgl_UNSIGNED_INT16_VEC3_NVgl_PROGRAM_LENGTH_NVgl_EDGE_FLAG_ARRAY_LIST_IBM gl_REG_8_ATIgl_MAP2_BINORMAL_EXTgl_SHADER_COMPILERgl_PROJECTION_STACK_DEPTHgl_IMAGE_BINDING_LEVEL_EXTgl_STENCIL_ATTACHMENTgl_PATH_FILL_COVER_MODE_NVgl_VERTEX_ATTRIB_ARRAY8_NVgl_FRAMEBUFFER_DEFAULT_WIDTHgl_DRAW_BUFFER10_EXT gl_RGBA8_OESgl_MAX_FRAMEBUFFER_WIDTH gl_RGBA8I_EXT#gl_RENDERBUFFER_INTERNAL_FORMAT_OESgl_NUM_VIDEO_CAPTURE_STREAMS_NV gl_LAYER_NVgl_TEXTURE_ENV_MODEgl_CURRENT_QUERY_EXTgl_DEPTH_BUFFER_BIT6_QCOMgl_VIEW_CLASS_RGTC2_RGgl_MAX_DRAW_BUFFERS_ARBgl_PROXY_COLOR_TABLE_SGI gl_DUDV_ATIgl_DRAW_BUFFER6_EXTgl_FRAGMENT_COLOR_EXTgl_DYNAMIC_READ_ARBgl_RGBA8gl_STENCIL_BACK_VALUE_MASKgl_MAX_DRAW_BUFFERS_ATI gl_COMBINE gl_SAMPLER_1D,gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXTgl_SAMPLER_1D_ARRAYgl_MULTISAMPLE_BUFFER_BIT6_QCOM)gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXTgl_LAST_VERTEX_CONVENTION_EXTgl_MODELVIEW25_ARBgl_MATRIX17_ARBgl_PIXEL_UNPACK_BUFFER_EXTgl_ATTRIB_ARRAY_TYPE_NV#gl_READ_PIXEL_DATA_RANGE_POINTER_NVgl_ACCUM_GREEN_BITSgl_OP_ROUND_EXTgl_MAX_TEXTURE_UNITS_ARBgl_SAMPLE_COVERAGE_VALUE gl_COMPRESSED_SIGNED_R11_EAC_OES gl_SQUARE_NVgl_PERFMON_RESULT_SIZE_AMDgl_INT_IMAGE_CUBE_MAP_ARRAYgl_LUMINANCE_FLOAT32_ATI"gl_MAX_GEOMETRY_UNIFORM_COMPONENTSgl_INTENSITY_FLOAT16_ATIgl_MAX_CONVOLUTION_HEIGHT_EXTgl_ARRAY_ELEMENT_LOCK_FIRST_EXTgl_ATTRIB_STACK_DEPTH gl_BUFFER_KHRgl_TEXTURE_MAG_SIZE_NVgl_COLOR_CLEAR_VALUEgl_TIMEOUT_EXPIRED_APPLE/gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXTgl_R1UI_T2F_C4F_N3F_V3F_SUN)gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXTgl_COMPRESSED_RGBA_FXT1_3DFXgl_RGBA16_SNORMgl_CONVOLUTION_FILTER_BIASgl_COLOR_ATTACHMENT5_EXTgl_ROUNDED_RECT2_NVgl_RGBA16_SNORM_EXT!gl_COMPRESSED_RGBA_ASTC_5x4x4_OESgl_CLIP_DEPTH_MODEgl_READ_FRAMEBUFFER_NV!gl_TESS_EVALUATION_SHADER_BIT_EXTgl_NEGATIVE_Z_EXTgl_IMAGE_COMPATIBILITY_CLASSgl_DEBUG_SEVERITY_HIGH_KHR gl_COLOR_SUMgl_IMAGE_BUFFER_EXT*gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAYgl_OBJECT_BUFFER_SIZE_ATI gl_MAX_BINDABLE_UNIFORM_SIZE_EXTgl_LINEAR_DETAIL_ALPHA_SGIS"gl_PROGRAM_UNDER_NATIVE_LIMITS_ARBgl_STRICT_SCISSOR_HINT_PGIgl_ONE_MINUS_DST_COLORgl_TIMEOUT_IGNOREDgl_DYNAMIC_STORAGE_BITgl_TEXTURE_TARGETgl_COMPRESSED_SRGBgl_INTERPOLATE_ARBgl_FENCE_CONDITION_NV)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXTgl_FOG_COORDINATE_ARRAY_TYPEgl_RELATIVE_ROUNDED_RECT8_NVgl_SAMPLE_SHADINGgl_PIXEL_BUFFER_BARRIER_BIT_EXTgl_ACTIVE_VERTEX_UNITS_ARBgl_DETAIL_TEXTURE_2D_SGISgl_EXPgl_NEGATIVE_ONE_TO_ONEgl_FRAGMENT_DEPTH_EXTgl_UNPACK_COMPRESSED_BLOCK_SIZEgl_NEGATIVE_ONE_EXTgl_DEBUG_SEVERITY_LOW_ARBgl_AND_INVERTEDgl_DUAL_ALPHA4_SGISgl_DUAL_LUMINANCE_ALPHA8_SGISgl_UNSIGNED_SHORT_15_1_MESAgl_RED%gl_PATH_MAX_PROJECTION_STACK_DEPTH_NVgl_PRIMITIVE_RESTARTgl_PROXY_COLOR_TABLE gl_HSL_HUE_NVgl_DRAW_BUFFER13gl_HSL_SATURATION_NVgl_STENCIL_BUFFER_BIT7_QCOMgl_PIXEL_MAP_I_TO_R_SIZE'gl_REFERENCED_BY_TESS_EVALUATION_SHADERgl_MAX_CLIP_DISTANCES.gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADERgl_MAX_VERTEX_SHADER_LOCALS_EXTgl_COMPRESSED_RGgl_COMPRESSED_R11_EAC_OESgl_QUADRATIC_CURVE_TO_NVgl_MAX_SAMPLESgl_READ_BUFFER#gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS gl_TEXTURE_2Dgl_CONSERVE_MEMORY_HINT_PGI&gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONSgl_MAX_DRAW_BUFFERSgl_TEXTURE_BINDING_1Dgl_IMAGE_ROTATE_ORIGIN_X_HP$gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESAgl_4PASS_1_SGIS gl_EXTENSIONSgl_RG8UIgl_TEXTURE_2D_BINDING_EXTgl_PIXEL_TILE_CACHE_SIZE_SGIXgl_TEXTURE19_ARB#gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB gl_RGB10_A2gl_COMBINER_AB_DOT_PRODUCT_NVgl_CONVOLUTION_FILTER_BIAS_EXTgl_GREEN_SCALEgl_SCALE_BY_ONE_HALF_NVgl_LUMINANCE4_EXT"gl_SECONDARY_COLOR_ARRAY_LENGTH_NVgl_PACK_IMAGE_DEPTH_SGISgl_COLOR_ATTACHMENT_EXT!gl_COMPRESSED_RGBA_ASTC_12x12_KHR!gl_MAX_RECTANGLE_TEXTURE_SIZE_ARBgl_COMBINER_MAPPING_NVgl_FRAMEBUFFER_SRGB_EXTgl_COLOR_INDEX12_EXTgl_PATH_COORD_COUNT_NVgl_VERTEX_ATTRIB_ARRAY3_NVgl_MODELVIEW15_ARBgl_DEBUG_SOURCE_OTHER_ARBgl_MAGNITUDE_SCALE_NV gl_ROUND_NVgl_INTERLEAVED_ATTRIBS_NVgl_SAMPLER_2D_ARRAY_EXTgl_FOG%gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD'gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES gl_EDGE_FLAGgl_R1UI_C4F_N3F_V3F_SUNgl_COMPRESSED_RGB_FXT1_3DFXgl_DRAW_BUFFER11_NV gl_POST_TEXTURE_FILTER_BIAS_SGIXgl_R1UI_C4UB_V3F_SUNgl_EYE_DISTANCE_TO_POINT_SGIS gl_RGBA32I gl_FONT_NUM_GLYPH_INDICES_BIT_NVgl_TEXTURE_3D_BINDING_EXTgl_DRAW_BUFFER12_ARB*gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS'gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT gl_REG_10_ATI!gl_FLOAT_32_UNSIGNED_INT_24_8_REV gl_TEXTURE21 gl_CON_29_ATI gl_ADD_SIGNEDgl_MATRIX13_ARBgl_MAP1_VERTEX_ATTRIB6_4_NV+gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV!gl_TEXTURE_UPDATE_BARRIER_BIT_EXTgl_REPLACEMENT_CODE_SUNgl_ALLOW_DRAW_WIN_HINT_PGIgl_UNPACK_CONSTANT_DATA_SUNXgl_EVAL_TRIANGULAR_2D_NVgl_UNSIGNED_INT_SAMPLER_1Dgl_MATRIX29_ARBgl_TEXTURE_MAX_LEVEL_APPLEgl_EYE_RADIAL_NVgl_TANGENT_ARRAY_TYPE_EXTgl_MAX_SHADER_BUFFER_ADDRESS_NV gl_T2F_V3Fgl_MAX_COMBINED_ATOMIC_COUNTERSgl_SAMPLE_COVERAGE_ARBgl_TEXTURE_NORMAL_EXTgl_RGBA_FLOAT16_ATI&gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OESgl_TEXTURE_COORD_ARRAY_TYPE_EXTgl_MAP2_VERTEX_3gl_MAX_VIEWPORTS_NV%gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV)gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARBgl_COLOR_BUFFER_BIT1_QCOM(gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBMgl_HISTOGRAM_FORMAT_EXTgl_MATRIX3_ARB gl_CON_31_ATI gl_REPEATgl_TEXTURE_MIN_LOD,gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HPgl_MAX_PATCH_VERTICES_EXT!gl_CURRENT_MATRIX_STACK_DEPTH_ARB!gl_MAX_PROGRAM_ENV_PARAMETERS_ARBgl_FLOAT_MAT2x4"gl_TEXTURE_BUFFER_OFFSET_ALIGNMENTgl_EDGE_FLAG_ARRAY_LENGTH_NVgl_GEOMETRY_PROGRAM_NVgl_VERTEX_ARRAY_OBJECT_EXTgl_IMAGE_MIN_FILTER_HPgl_OCCLUSION_TEST_HPgl_COLOR_ARRAY_POINTERgl_SHADER_IMAGE_ATOMICgl_IMAGE_BINDING_FORMATgl_MAX_VERTEX_STREAMS_ATIgl_DRAW_BUFFER12_NVgl_ALL_BARRIER_BITS_EXTgl_MAP1_VERTEX_ATTRIB10_4_NVgl_NUM_GENERAL_COMBINERS_NVgl_NOR gl_SHADER_STORAGE_BUFFER_BINDING%gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMDgl_DRAW_BUFFER4_ARBgl_MAP2_VERTEX_ATTRIB9_4_NVgl_TEXTURE1_ARB gl_VERSIONgl_COMPRESSED_LUMINANCEgl_MAX_CLIP_DISTANCES_APPLEgl_SUBPIXEL_BITSgl_OPERAND0_RGB_ARBgl_RESET_NOTIFICATION_STRATEGYgl_TRIANGLE_FANgl_UNIFORM_NAME_LENGTHgl_OCCLUSION_TEST_RESULT_HPgl_ATOMIC_COUNTER_BUFFER_STARTgl_SLIM10U_SGIXgl_WEIGHT_ARRAY_TYPE_OESgl_RENDERBUFFER_WIDTHgl_LUMINANCE_ALPHA8I_EXT&gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARBgl_MAP1_VERTEX_ATTRIB1_4_NVgl_CLIP_DISTANCE3_APPLEgl_DEPTH_STENCIL_TEXTURE_MODEgl_MAP1_TEXTURE_COORD_3gl_UNPACK_SWAP_BYTESgl_SAMPLE_MASK_VALUEgl_SHARED_EDGE_NVgl_MAX_VERTEX_IMAGE_UNIFORMSgl_NAMED_STRING_LENGTH_ARBgl_MAP1_VERTEX_ATTRIB11_4_NVgl_POLYGON_STIPPLEgl_PREFER_DOUBLEBUFFER_HINT_PGIgl_STENCIL_INDEX8_OES$gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NVgl_FLOAT_MAT3x4_NVgl_UNSIGNED_NORMALIZED_EXT gl_NORMAL_MAP!gl_BUFFER_SERIALIZED_MODIFY_APPLEgl_UNPACK_CLIENT_STORAGE_APPLEgl_MAX_IMAGE_SAMPLESgl_NUM_INSTRUCTIONS_TOTAL_ATIgl_ALWAYS_FAST_HINT_PGIgl_HSL_LUMINOSITY_NVgl_FRAMEBUFFER_OESgl_COMPRESSED_RG11_EACgl_RELATIVE_CONIC_CURVE_TO_NVgl_CULL_MODES_NVgl_MAP1_VERTEX_ATTRIB7_4_NV gl_TEXTURE_COMPRESSED_IMAGE_SIZEgl_MAP1_VERTEX_ATTRIB9_4_NVgl_RG16Igl_VERTEX_ATTRIB_ARRAY13_NV"gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV*gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARBgl_POST_COLOR_MATRIX_GREEN_BIASgl_FUNC_REVERSE_SUBTRACT_EXTgl_POST_CONVOLUTION_RED_BIASgl_Y_EXTgl_FRONT_AND_BACKgl_VERTEX_STREAM0_ATIgl_FOG_COORDINATE_ARRAY_POINTERgl_SHADER_IMAGE_LOADgl_DUAL_ALPHA12_SGISgl_DEBUG_TYPE_POP_GROUPgl_DEBUG_SEVERITY_MEDIUM_KHRgl_OPERAND1_ALPHAgl_RGBA_DXT5_S3TCgl_MAX_PROGRAM_TEXEL_OFFSET_NV"gl_MAX_TESS_CONTROL_IMAGE_UNIFORMSgl_ACCUM_CLEAR_VALUE(gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXTgl_DUAL_TEXTURE_SELECT_SGISgl_TEXTURE_GATHERgl_SAMPLER_BUFFER(gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARBgl_VIEW_COMPATIBILITY_CLASSgl_PACK_IMAGE_HEIGHT_EXTgl_FOG_COORD_ARRAY_TYPE%gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZEgl_MAP_FLUSH_EXPLICIT_BITgl_BUFFER_ACCESS_ARBgl_MAP_WRITE_BIT_EXTgl_MAX_IMAGE_UNITSgl_PRIMITIVE_RESTART_INDEXgl_QUAD_TEXTURE_SELECT_SGISgl_SAMPLE_BUFFERS_EXTgl_BOUNDING_BOX_NVgl_REGISTER_COMBINERS_NVgl_TEXTURE_INTENSITY_SIZE_EXTgl_WIDE_LINE_HINT_PGI gl_PIXEL_PACK_BUFFER_BINDING_EXT%gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKSgl_RELATIVE_VERTICAL_LINE_TO_NVgl_INT64_VEC3_NV gl_3D_COLORgl_TEXTURE_VIEW_MIN_LAYER_EXTgl_OUTPUT_TEXTURE_COORD6_EXTgl_MIN_SAMPLE_SHADING_VALUE_OES gl_HILO_NV gl_CON_28_ATI%gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NVgl_NORMAL_ARRAY_TYPE gl_FLOAT_MAT3gl_PATH_GEN_COEFF_NVgl_SKIP_COMPONENTS4_NVgl_MATRIX26_ARBgl_LOSE_CONTEXT_ON_RESET_EXT$gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB gl_RGBA4_EXTgl_RENDERBUFFER_ALPHA_SIZE_OESgl_VERTEX_ATTRIB_ARRAY_TYPEgl_PROGRAM_ATTRIB_COMPONENTS_NV gl_FRAGMENT_COVERAGE_TO_COLOR_NVgl_HISTOGRAM_GREEN_SIZEgl_INT64_VEC2_NVgl_FRAMEZOOM_FACTOR_SGIXgl_PROGRAM_POINT_SIZE_EXTgl_INTENSITY_FLOAT32_APPLEgl_QUAD_ALPHA4_SGIS gl_REFERENCED_BY_FRAGMENT_SHADERgl_LUMINANCE6_ALPHA2,gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXTgl_IMAGE_1D_ARRAY_EXT'gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NVgl_SAMPLER_KHR!gl_INDEX_ARRAY_BUFFER_BINDING_ARB gl_RGBA_SNORMgl_SAMPLE_MASK_INVERT_EXT!gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NVgl_UNIFORM_BUFFER_STARTgl_UNIFORM_BARRIER_BIT_EXTgl_TRANSLATE_3D_NVgl_VERTEX_PROGRAM_CALLBACK_MESAgl_DRAW_BUFFER_EXTgl_INTENSITY32I_EXTgl_TEXTURE_COORD_ARRAY_SIZE_EXTgl_TRANSFORM_FEEDBACK_VARYINGSgl_EVAL_VERTEX_ATTRIB6_NVgl_VERTEX_PROGRAM_POSITION_MESA%gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATIgl_C4F_N3F_V3Fgl_MAX_PROGRAM_LOOP_COUNT_NV gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXTgl_INT64_VEC4_NVgl_POLYGON_OFFSET_LINE"gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARBgl_POLYGON_STIPPLE_BITgl_TESS_CONTROL_PROGRAM_NVgl_UNSIGNED_INT64_VEC3_NVgl_PROXY_TEXTURE_CUBE_MAPgl_CCW gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR$gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE!gl_MAX_TEXTURE_MAX_ANISOTROPY_EXTgl_FACTOR_ALPHA_MODULATE_IMG gl_COMPRESSED_RGBA_ASTC_10x6_KHRgl_BLEND_EQUATION_RGB_EXTgl_MAX_TRACK_MATRICES_NV gl_FOG_BIT gl_REG_12_ATIgl_LINE_SMOOTHgl_DEBUG_LOGGED_MESSAGESgl_VERTEX_ATTRIB_ARRAY11_NVgl_RESAMPLE_DECIMATE_OMLgl_NORMAL_ARRAY_LIST_STRIDE_IBMgl_T4F_C4F_N3F_V4F gl_BOOL_ARBgl_COMPRESSED_RGB8_ETC2gl_TRANSFORM_FEEDBACK_VARYINGgl_READ_FRAMEBUFFER_BINDINGgl_GEOMETRY_INPUT_TYPEgl_INTERLEAVED_ATTRIBS_EXTgl_PALETTE8_R5_G6_B5_OESgl_OPERAND3_RGB_NVgl_UNSIGNED_SHORT_5_6_5_EXTgl_ALL_BARRIER_BITSgl_MAP1_VERTEX_ATTRIB3_4_NVgl_MAX_VERTEX_ATTRIBSgl_GENERIC_ATTRIB_NVgl_HI_SCALE_NVgl_OFFSET_TEXTURE_2D_MATRIX_NVgl_BGRA_INTEGER_EXTgl_LINE_WIDTH_RANGEgl_STENCIL_BUFFER_BIT6_QCOMgl_PROXY_TEXTURE_1D_STACK_MESAX%gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NVgl_CURRENT_QUERY&gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT"gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI$gl_POST_COLOR_MATRIX_GREEN_SCALE_SGIgl_SKIP_DECODE_EXT%gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NVgl_DEPTH_STENCIL_TO_BGRA_NVgl_MATRIX_INDEX_ARRAY_SIZE_ARBgl_TEXTURE_INTENSITY_TYPE_ARB gl_NOTEQUALgl_PROGRAM_ERROR_STRING_ARBgl_SKIP_MISSING_GLYPH_NV$gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS gl_RED_SNORMgl_RENDERBUFFER_SAMPLES_IMGgl_AUX_BUFFERS"gl_VERTEX_ARRAY_STORAGE_HINT_APPLEgl_PN_TRIANGLES_ATIgl_NEAREST_MIPMAP_NEAREST%gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIXgl_MATRIX_PALETTE_ARB%gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPEgl_MAX_CONVOLUTION_HEIGHTgl_FONT_X_MAX_BOUNDS_BIT_NVgl_MAX_PROJECTION_STACK_DEPTHgl_VERTEX_ARRAY_RANGE_NVgl_COLOR_ATTACHMENT4_EXT gl_TEXTURE17 gl_DOT3_RGBgl_POST_CONVOLUTION_BLUE_SCALEgl_LINK_STATUSgl_SLUMINANCE_NVgl_CLIP_PLANE4_IMGgl_COLOR_BUFFER_BIT2_QCOMgl_TEXTURE4_ARBgl_DEPTH_COMPONENT16_OESgl_MAX_VERTEX_ATOMIC_COUNTERS(gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXTgl_DSDT8_MAG8_INTENSITY8_NV"gl_FONT_UNDERLINE_THICKNESS_BIT_NVgl_SAMPLER_CUBE_MAP_ARRAY_ARB"gl_IMAGE_FORMAT_COMPATIBILITY_TYPEgl_SWIZZLE_STQ_ATIgl_BUFFER_OBJECT_EXTgl_DUAL_LUMINANCE16_SGISgl_MODELVIEW2_ARB gl_RGB32I gl_TEXTURE22gl_PARTIAL_SUCCESS_NVgl_EDGE_FLAG_ARRAYgl_TEXTURE_BINDING_RECTANGLEgl_ALPHA8_SNORMgl_REPLICATE_BORDERgl_TEXTURE_BUFFER_BINDING_EXTgl_MAX_FRAMEBUFFER_HEIGHT"gl_UNSIGNED_INT_SAMPLER_BUFFER_AMDgl_MAX_SHININESS_NV%gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX gl_DISCARD_NVgl_DOUBLE_MAT2gl_COORD_REPLACE_OESgl_AUX0gl_OPERAND1_RGB_EXTgl_TEXTURE_COMPARE_MODEgl_LESSgl_CONTEXT_FLAG_DEBUG_BIT_KHRgl_LINEAR_SHARPEN_ALPHA_SGISgl_NATIVE_GRAPHICS_END_HINT_PGIgl_DEPENDENT_HILO_TEXTURE_2D_NVgl_QUERY_BY_REGION_NO_WAIT_NV gl_MATRIX_INDEX_ARRAY_STRIDE_ARBgl_DEPTH_COMPONENT24gl_MODELVIEW11_ARB gl_CON_6_ATIgl_PROXY_TEXTURE_1D_ARRAYgl_PLUS_CLAMPED_NVgl_MAX_ELEMENTS_VERTICESgl_DEBUG_TYPE_POP_GROUP_KHRgl_VERTEX_ARRAY_BUFFER_BINDINGgl_CONSTANT_BORDER_HPgl_IMAGE_2D_MULTISAMPLEgl_GENERATE_MIPMAP_HINT gl_BUFFER_UPDATE_BARRIER_BIT_EXT(gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"gl_POST_CONVOLUTION_ALPHA_BIAS_EXT gl_RGBA16F gl_FLOAT_R_NVgl_DRAW_BUFFER7_EXT gl_ALPHA8 gl_SRC_OUT_NVgl_FLOAT_MAT4x3_NVgl_MAX_TEXTURE_BUFFER_SIZE_EXT'gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OESgl_FRACTIONAL_ODDgl_4PASS_3_SGISgl_DEPTH_WRITEMASKgl_CLIP_DISTANCE_NVgl_MAP_PERSISTENT_BITgl_TEXTURE_INTENSITY_TYPEgl_SHARED_TEXTURE_PALETTE_EXTgl_RG8Igl_OUTPUT_TEXTURE_COORD4_EXTgl_COMBINE_ALPHA_ARBgl_BUFFER_IMMUTABLE_STORAGEgl_VIBRANCE_BIAS_NV gl_REG_2_ATIgl_DRAW_BUFFER8_EXTgl_REFLECTION_MAP_EXTgl_INT_IMAGE_CUBEgl_TEXTURE_IMAGE_VALID_QCOMgl_SHADER_BINARY_DMPgl_DIFFERENCE_NVgl_RELATIVE_SMALL_CW_ARC_TO_NVgl_SAMPLE_BUFFERSgl_COLOR_ATTACHMENT15_EXTgl_INDEX_OFFSETgl_FUNC_ADD_OESgl_IMAGE_BINDING_LAYERgl_GEOMETRY_SHADER_BITgl_ISOLINES_EXTgl_COLOR_ATTACHMENT8_EXTgl_CLIP_PLANE3 gl_OP_MIN_EXTgl_DRAW_BUFFER0_ATIgl_TESS_EVALUATION_SHADER%gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARBgl_TEXTURE_LOD_BIAS_R_SGIXgl_BLEND_DST_ALPHAgl_SOURCE2_ALPHA!gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXTgl_MAX_COMPUTE_WORK_GROUP_SIZEgl_DRAW_BUFFER8_NVgl_TEXTURE_GEN_Sgl_NEAREST_CLIPMAP_NEAREST_SGIX gl_DSDT8_NVgl_TEXTURE_2D_MULTISAMPLEgl_COPYgl_CLAMPgl_CURRENT_PALETTE_MATRIX_ARB(gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OESgl_MAX_ACTIVE_LIGHTS_SGIXgl_ATTRIB_ARRAY_POINTER_NV gl_PREVIOUSgl_EYE_LINEAR_NV#gl_OFFSET_HILO_TEXTURE_RECTANGLE_NVgl_SAMPLE_BUFFERS_SGISgl_BINORMAL_ARRAY_EXT!gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARBgl_MAX_TESS_GEN_LEVEL_EXTgl_TEXTURE_CLIPMAP_DEPTH_SGIXgl_RGBAgl_ELEMENT_ARRAY_ATIgl_TEXTURE_BUFFER_BINDINGgl_SAMPLER_BUFFER_AMDgl_PIXEL_CUBIC_WEIGHT_EXT"gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NVgl_TEXTURE30_ARB gl_LOCAL_EXTgl_PN_TRIANGLES_POINT_MODE_ATI(gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLEgl_DUAL_INTENSITY16_SGISgl_DOUBLE_MAT3x2#gl_TESS_CONTROL_OUTPUT_VERTICES_EXTgl_VERTEX_ATTRIB_ARRAY10_NV gl_RGBA_MODEgl_2PASS_1_EXTgl_QUERY_BY_REGION_NO_WAITgl_BUFFER_BINDINGgl_MAP_READ_BITgl_HALF_FLOAT_ARB"gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHRgl_SOURCE1_RGBgl_MAX_GEOMETRY_ATOMIC_COUNTERSgl_PALETTE8_RGBA4_OES!gl_COMPRESSED_RGBA_ASTC_6x5x5_OES!gl_POST_CONVOLUTION_BLUE_BIAS_EXTgl_NATIVE_GRAPHICS_HANDLE_PGIgl_INT_SAMPLER_1D,gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXTgl_VERTEX_ATTRIB_ARRAY_SIZE_ARB#gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARBgl_CONST_EYE_NVgl_DOUBLE_MAT3x4gl_FLOAT16_VEC4_NVgl_SOURCE3_RGB_NVgl_SHADER_BINARY_FORMATSgl_TESS_CONTROL_SHADERgl_FLOAT16_VEC3_NVgl_DRAW_BUFFER5_ARBgl_MAX_EVAL_ORDERgl_MODELVIEW8_ARB&gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARBgl_TEXTURE_SWIZZLE_RGBAgl_LAYOUT_DEFAULT_INTELgl_INTENSITY16_EXTgl_ONE_MINUS_SRC_ALPHA gl_LEQUAL%gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"gl_GEOMETRY_SHADER_INVOCATIONS_EXTgl_MAP2_VERTEX_ATTRIB12_4_NV!gl_POINT_DISTANCE_ATTENUATION_ARBgl_TEXTURE_BINDING_BUFFER'gl_IMPLEMENTATION_COLOR_READ_FORMAT_OESgl_MODELVIEW3_ARBgl_PROGRAM_PIPELINE_BINDING_EXT gl_SUB_ATIgl_MAX_CLIPMAP_DEPTH_SGIXgl_AUX2gl_TEXTURE_DEPTH_SIZEgl_ELEMENT_ARRAY_POINTER_APPLE gl_DU8DV8_ATIgl_MAX_TEXTURE_STACK_DEPTHgl_VARIANT_VALUE_EXTgl_DEFORMATIONS_MASK_SGIXgl_HISTOGRAM_FORMATgl_SOURCE0_RGBgl_DOUBLE_MAT2_EXTgl_COLOR_ARRAY gl_OBJECT_DISTANCE_TO_POINT_SGISgl_VERTEX_WEIGHT_ARRAY_SIZE_EXT gl_CURRENT_OCCLUSION_QUERY_ID_NVgl_UNSIGNED_INT_24_8_OESgl_OUTPUT_COLOR0_EXTgl_STENCIL_TEST gl_OP_MUL_EXT%gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAYgl_BLEND_COLORgl_OUTPUT_TEXTURE_COORD17_EXTgl_DRAW_BUFFER8gl_SRGB8 gl_REG_30_ATIgl_CURRENT_PALETTE_MATRIX_OES"gl_RESET_NOTIFICATION_STRATEGY_ARBgl_TRIANGLE_STRIP_ADJACENCY_ARBgl_MAGNITUDE_BIAS_NVgl_VERTEX_SOURCE_ATIgl_WEIGHT_ARRAY_BUFFER_BINDINGgl_COMPRESSED_RG11_EAC_OESgl_DRAW_BUFFER2_EXTgl_UNSIGNED_INVERT_NVgl_MAX_LABEL_LENGTH_KHRgl_ALLOW_DRAW_FRG_HINT_PGIgl_ELEMENT_ARRAY_BUFFER_ARB!gl_COMPRESSED_RGBA_ASTC_4x4x3_OESgl_ACTIVE_STENCIL_FACE_EXTgl_BUFFER_ACCESS_FLAGSgl_MAP2_VERTEX_ATTRIB3_4_NVgl_IMAGE_BINDING_NAME_EXTgl_BUFFER_SIZE6gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXTgl_DEBUG_SEVERITY_MEDIUM_AMDgl_EMBOSS_MAP_NVgl_EYE_PLANE_ABSOLUTE_NVgl_MAP2_TEXTURE_COORD_3 gl_ZERO_EXT gl_CON_11_ATI!gl_QUERY_DEPTH_PASS_EVENT_BIT_AMDgl_FLOAT_VEC2_ARBgl_COLOR_SAMPLES_NVgl_SIGNED_RGB_UNSIGNED_ALPHA_NVgl_MAX_DEBUG_MESSAGE_LENGTHgl_TEXTURE_ENV"gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXTgl_TEXTURE_FILTER_CONTROL_EXTgl_OUTPUT_TEXTURE_COORD21_EXT&gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXTgl_PIXEL_MAP_I_TO_Ggl_HALF_FLOAT_OESgl_INVALID_OPERATION gl_ZOOM_Ygl_SOURCE3_ALPHA_NV gl_R3_G3_B2gl_GEOMETRY_SHADER_INVOCATIONSgl_COLOR_LOGIC_OPgl_RG32Fgl_R32UIgl_PIXEL_GROUP_COLOR_SGISgl_MAP1_VERTEX_ATTRIB5_4_NVgl_CONVOLUTION_BORDER_COLOR_HPgl_PATCH_DEFAULT_OUTER_LEVELgl_PACK_SKIP_IMAGES_EXTgl_RENDERBUFFER_EXTgl_DEBUG_SOURCE_THIRD_PARTY_KHRgl_SURFACE_STATE_NVgl_INTgl_CURRENT_MATRIX_NV!gl_CONTEXT_RELEASE_BEHAVIOR_FLUSHgl_LINES_ADJACENCYgl_PACK_COMPRESSED_BLOCK_SIZEgl_FRAMEBUFFER_RENDERABLEgl_PROGRAM_PARAMETERS_ARBgl_INDEX_ARRAY_LENGTH_NV&gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV gl_TEXTURE9gl_INT16_VEC3_NV gl_LIST_BASEgl_TRACE_PIXELS_BIT_MESA"gl_REPLACEMENT_CODE_ARRAY_TYPE_SUNgl_STACK_OVERFLOW_KHRgl_GEOMETRY_INPUT_TYPE_EXTgl_SIGNED_INTENSITY_NVgl_MAP1_VERTEX_ATTRIB12_4_NVgl_PIXEL_MAG_FILTER_EXT)gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB.gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT gl_MAX_DEBUG_LOGGED_MESSAGES_ARBgl_UNSIGNED_INT_24_8gl_NUM_SPARSE_LEVELS_ARB gl_DEBUG_CALLBACK_USER_PARAM_ARB%gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARBgl_MODELVIEW_STACK_DEPTHgl_IMAGE_2D_RECTgl_TEXTURE_DEPTH_EXTgl_UNSIGNED_INT_8_24_REV_MESAgl_SHADER_STORAGE_BUFFER_SIZEgl_DYNAMIC_DRAW!gl_INSTRUMENT_BUFFER_POINTER_SGIXgl_TRANSPOSE_PROJECTION_MATRIX"gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OESgl_TEXTURE_4D_SGISgl_PROXY_TEXTURE_1D_ARRAY_EXTgl_OBJECT_PLANEgl_FRAGMENT_TEXTUREgl_BLUE_BIT_ATI gl_SCREEN_NV"gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT!gl_COMPRESSED_RGBA_ASTC_10x10_KHR#gl_SECONDARY_COLOR_ARRAY_ADDRESS_NVgl_RETAINED_APPLEgl_MAX_COMPUTE_WORK_GROUP_COUNTgl_TRANSFORM_FEEDBACK!gl_UNSIGNED_INT_5_9_9_9_REV_APPLEgl_UNPACK_SKIP_IMAGES_EXTgl_TEXTURE_RED_SIZE gl_SCREEN_KHRgl_TEXTURE_GEN_MODEgl_GEOMETRY_VERTICES_OUT_ARBgl_VERTEX_ARRAY_TYPE_EXTgl_STENCIL_BACK_FUNC_ATI gl_SIGNALEDgl_ZERO gl_TEXTURE0gl_TEXTURE_COMPARE_MODE_EXTgl_DRAW_BUFFER14_ARBgl_SOURCE1_RGB_EXTgl_SOURCE1_ALPHA$gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGIgl_COMPARE_REF_TO_TEXTURE_EXTgl_BLEND_EQUATION_EXT gl_MODELVIEWgl_HSL_COLOR_NVgl_TEXTURE_BUFFER_FORMAT_ARBgl_OPERAND2_ALPHA gl_RG8_EXTgl_DRAW_BUFFER5'gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OESgl_IMAGE_BINDING_FORMAT_EXTgl_TRANSPOSE_COLOR_MATRIXgl_HISTOGRAM_BLUE_SIZE_EXT+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT gl_REG_6_ATIgl_STENCIL_PASS_DEPTH_FAILgl_DEPTH_COMPONENTgl_DOUBLE_MAT4gl_NUM_LOOPBACK_COMPONENTS_ATIgl_SAMPLE_ALPHA_TO_ONE_EXTgl_POST_CONVOLUTION_COLOR_TABLEgl_TEXTURE_BINDING_2D_ARRAY,gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2gl_CURRENT_COLORgl_MODELVIEW13_ARB gl_RGB5_A1gl_PROGRAM_LENGTH_ARBgl_TEXTURE_COMPARE_MODE_ARB&gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBMgl_PERCENTAGE_AMDgl_MIN_PROGRAM_TEXEL_OFFSET_EXTgl_CAVEAT_SUPPORTgl_MAX_ARRAY_TEXTURE_LAYERS_EXT gl_POINT_FADE_THRESHOLD_SIZE_ARB'gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXTgl_MAX_4D_TEXTURE_SIZE_SGIS)gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT&gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB gl_ALPHA8_OESgl_HISTOGRAM_EXT gl_REG_17_ATI gl_REG_19_ATIgl_COLOR_ATTACHMENT9_NVgl_INTERNALFORMAT_GREEN_SIZE"gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE gl_RGB16F_ARBgl_COMPRESSED_SLUMINANCE_EXTgl_UNSIGNED_SHORT_5_5_5_1gl_PATH_PROJECTION_NV gl_RGBA8Igl_RED_BIT_ATIgl_DRAW_BUFFER15_NVgl_MAP1_VERTEX_ATTRIB0_4_NV!gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE gl_CON_24_ATIgl_LUMINANCE_ALPHA_FLOAT32_ATI'gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NVgl_OPERAND2_ALPHA_EXTgl_TRACE_ARRAYS_BIT_MESA!gl_SHADER_PIXEL_LOCAL_STORAGE_EXTgl_QUERY_RESULT_NO_WAIT gl_CON_3_ATIgl_FRAGMENT_LIGHT0_SGIXgl_VERTEX4_BIT_PGI gl_SRGB_ALPHAgl_4D_COLOR_TEXTURE gl_POST_COLOR_MATRIX_ALPHA_SCALEgl_PIXEL_MAP_B_TO_Bgl_DOUBLE_MAT4x3_EXTgl_DEBUG_OUTPUT_SYNCHRONOUS_KHRgl_FRAGMENT_SHADERgl_MATRIX12_ARB gl_SMOOTH*gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARBgl_VERTEX_ATTRIB_ARRAY7_NV"gl_POST_CONVOLUTION_BLUE_SCALE_EXTgl_PATH_CLIENT_LENGTH_NVgl_RGBA16UI_EXTgl_DEBUG_TYPE_PERFORMANCE_KHRgl_PRESENT_TIME_NVgl_CURRENT_RASTER_COLOR gl_SRC_ALPHA!gl_READ_FRAMEBUFFER_BINDING_APPLEgl_DRAW_BUFFER11_ATIgl_STORAGE_PRIVATE_APPLE gl_4_BYTESgl_MITER_REVERT_NVgl_MITER_TRUNCATE_NVgl_UNSIGNED_INT8_VEC3_NVgl_TEXTURE_RECTANGLE_NVgl_FONT_X_MIN_BOUNDS_BIT_NV)gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OESgl_EXPAND_NEGATE_NVgl_PROGRAM_BINARY_LENGTH_OESgl_COORD_REPLACE_NVgl_TEXTURE_VIEW_NUM_LEVELS_EXT gl_NUM_INSTRUCTIONS_PER_PASS_ATI gl_REDUCEgl_TEXTURE_COLOR_WRITEMASK_SGIS gl_ABGR_EXTgl_COLOR_TABLE_LUMINANCE_SIZEgl_PROXY_TEXTURE_3D)gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARBgl_SOURCE1_RGB_ARBgl_UNSIGNED_INT_8_8_8_8_REV gl_COMPRESSED_RGBA_ASTC_10x8_KHR!gl_FONT_UNDERLINE_POSITION_BIT_NVgl_STENCIL_PASS_DEPTH_PASS gl_LIGHT0gl_CIRCULAR_CW_ARC_TO_NVgl_LUMINANCE_ALPHA_FLOAT16_ATIgl_FRAMEBUFFER_COMPLETEgl_SAMPLER_1D_SHADOWgl_SLUMINANCE_ALPHAgl_TEXTURE28_ARB#gl_RENDERBUFFER_COVERAGE_SAMPLES_NV!gl_TRANSFORM_FEEDBACK_BUFFER_SIZEgl_GET_TEXTURE_IMAGE_TYPE!gl_POST_TEXTURE_FILTER_SCALE_SGIXgl_FRAMEBUFFER_COMPLETE_EXTgl_UNSIGNED_SHORT_1_5_5_5_REVgl_READ_FRAMEBUFFER_EXTgl_QUERY_BUFFERgl_PROXY_TEXTURE_1Dgl_DYNAMIC_DRAW_ARBgl_DEPTH_CLAMP_NVgl_POLYGON_OFFSET_FACTOR_EXT"gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXTgl_RENDERBUFFER_ALPHA_SIZE(gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHRgl_422_REV_EXTgl_INT8_VEC3_NVgl_CLAMP_VERTEX_COLOR_ARBgl_WEIGHT_ARRAY_STRIDE_ARBgl_LUMINANCE8_ALPHA8 gl_DST_IN_NV gl_ISOLINESgl_ALPHA_FLOAT32_ATI'gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTHgl_FUNC_ADD_EXTgl_DEBUG_SOURCE_OTHERgl_INDEX_ARRAY_TYPEgl_MAX_PROGRAM_TEMPORARIES_ARBgl_MAX_GEOMETRY_IMAGE_UNIFORMSgl_GPU_ADDRESS_NVgl_FRAMEBUFFER_BARRIER_BIT_EXTgl_UNSIGNED_INT64_AMDgl_VERTEX_WEIGHT_ARRAY_EXT"gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXTgl_OPERAND2_RGBgl_COMPRESSED_INTENSITY_ARBgl_OP_MULTIPLY_MATRIX_EXTgl_4PASS_1_EXT gl_INVERT"gl_VERTEX_WEIGHT_ARRAY_POINTER_EXTgl_MALI_SHADER_BINARY_ARMgl_NORMAL_ARRAY_POINTERgl_MAX_TEXTURE_LOD_BIASgl_TEXTURE_COORD_ARRAY_EXT!gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHR)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHRgl_MAX_VERTEX_UNITS_ARB/gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES!gl_COMPRESSED_RGBA_ASTC_5x5x5_OESgl_DEBUG_SEVERITY_NOTIFICATIONgl_TEXTURE_BORDER_COLOR_EXT!gl_SECONDARY_COLOR_ARRAY_TYPE_EXTgl_LUMINANCE16gl_DUAL_LUMINANCE12_SGISgl_COPY_INVERTED gl_REG_1_ATIgl_SAMPLE_MASK_INVERT_SGISgl_COMPRESSED_SRGB8_ETC2_OESgl_CLAMP_VERTEX_COLOR%gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES&gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NVgl_OPERAND1_RGB)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHRgl_GEOMETRY_OUTPUT_TYPE_ARBgl_OP_DOT4_EXTgl_BUFFER_MAPPED_OES"gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMGgl_TESS_GEN_MODE_EXTgl_GLOBAL_ALPHA_FACTOR_SUNgl_SAMPLES_EXT gl_R32F_EXT gl_CND0_ATIgl_MATRIX14_ARBgl_COLORDODGE_NVgl_POINT_SIZE_MIN_SGISgl_HARDLIGHT_NVgl_EVAL_VERTEX_ATTRIB13_NVgl_PROXY_TEXTURE_2Dgl_DRAW_BUFFER12_ATI gl_RGB8UI_EXTgl_PIXEL_MAP_I_TO_Bgl_ELEMENT_ARRAY_BUFFER_BINDINGgl_CPU_OPTIMIZED_QCOMgl_OUTPUT_TEXTURE_COORD24_EXTgl_COLOR_WRITEMASKgl_RELATIVE_LARGE_CW_ARC_TO_NVgl_BLEND_ADVANCED_COHERENT_NV'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR#gl_VERTEX_ARRAY_RANGE_POINTER_APPLEgl_TEXTURE_MATRIXgl_VERTEX_ARRAY_BINDING_OESgl_TEXTURE_LUMINANCE_TYPEgl_RGBA_INTEGERgl_MAX_RECTANGLE_TEXTURE_SIZEgl_COMPILE_STATUSgl_BLEND_SRC_ALPHA_EXT!gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NVgl_SCALEBIAS_HINT_SGIXgl_SAMPLER_1D_ARRAY_SHADOWgl_POLYGON_OFFSET_UNITS!gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB$gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONSgl_STENCIL_WRITEMASKgl_DEBUG_CALLBACK_FUNCTION_KHRgl_UNSIGNED_INT_8_8_8_8_EXTgl_SAMPLE_ALPHA_TO_ONE_SGISgl_RGB_SCALE_ARBgl_LUMINANCE4_ALPHA4_OESgl_PATH_MITER_LIMIT_NVgl_COLOR_ATTACHMENT4gl_TEXTURE_3D_EXTgl_VERTEX_TEXTURE!gl_MAX_PROGRAM_OUTPUT_VERTICES_NVgl_VIEW_CLASS_BPTC_FLOAT*gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARBgl_QUERY_COUNTER_BITS_ARBgl_DEBUG_TYPE_ERRORgl_DRAW_BUFFER15_ATI)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OESgl_MAX_DEBUG_MESSAGE_LENGTH_KHRgl_DOT_PRODUCT_TEXTURE_1D_NVgl_TEXTURE_SWIZZLE_A_EXTgl_POINT_SIZE_MINgl_4PASS_3_EXTgl_BUMP_ROT_MATRIX_ATIgl_UNSIGNED_INT_VEC4_EXT gl_VERTEX_ATTRIB_RELATIVE_OFFSET'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR!gl_CURRENT_RASTER_SECONDARY_COLORgl_IMAGE_BINDING_NAMEgl_MODELVIEW18_ARBgl_VERTEX_ARRAY&gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OESgl_CLIP_DISTANCE5gl_GLYPH_HAS_KERNING_BIT_NVgl_TEXTURE_IMAGE_TYPEgl_TEXTURE_BINDING_CUBE_MAP_EXTgl_VERTEX_PROGRAM_TWO_SIDE gl_FLOAT_VEC3 gl_LIGHT3gl_CONJOINT_NVgl_COMBINER_INPUT_NVgl_TEXTURE_FREE_MEMORY_ATIgl_NUM_FILL_STREAMS_NV+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OESgl_ACCUM_ALPHA_BITSgl_DEPTH_ATTACHMENT_OESgl_VERTEX_ARRAY_STRIDE_EXTgl_FEEDBACK_BUFFER_TYPEgl_TEXTURE_CUBE_MAP_ARRAY_EXT gl_SRC1_RGBgl_COLOR_INDEX2_EXTgl_CONVOLUTION_1Dgl_POINT_SIZE_MAX_EXT%gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARBgl_MAX_INTEGER_SAMPLESgl_MVP_MATRIX_EXTgl_MAX_PALETTE_MATRICES_OESgl_VIEWPORT_SUBPIXEL_BITS_EXT!gl_TEXTURE_MULTI_BUFFER_HINT_SGIXgl_PACK_SKIP_VOLUMES_SGISgl_SRGB8_ALPHA8_EXTgl_COMBINER_AB_OUTPUT_NVgl_DEBUG_SOURCE_OTHER_KHRgl_COMPRESSED_ALPHA_ARBgl_TABLE_TOO_LARGE_EXT gl_CON_22_ATIgl_SPRITE_MODE_SGIXgl_INT_SAMPLER_BUFFER_EXT/gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXTgl_SAMPLE_PATTERN_SGIS)gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXTgl_MATRIX_STRIDEgl_OPERAND0_ALPHAgl_NOOP%gl_TRANSFORM_FEEDBACK_BUFFER_START_NV gl_MAX_LIGHTS"gl_WEIGHT_ARRAY_BUFFER_BINDING_ARBgl_PATH_DASH_OFFSET_RESET_NVgl_Qgl_DOT3_RGBA_EXTgl_VIDEO_BUFFER_PITCH_NVgl_UNSIGNED_INT_SAMPLER_2Dgl_VERTEX_ARRAY_EXT%gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXTgl_CONSTANT_NVgl_COLOR_ATTACHMENT2_EXTgl_MAX_VARYING_FLOATS_ARBgl_BLEND_DST_RGBgl_DEBUG_SOURCE_THIRD_PARTY_ARBgl_FLOAT_MAT4x2_NVgl_ELEMENT_ARRAY_BARRIER_BITgl_INT_SAMPLER_2D_RECT_EXTgl_CONTEXT_ROBUST_ACCESSgl_TEXTURE_COVERAGE_SAMPLES_NVgl_LINE_QUALITY_HINT_SGIX gl_MAX_VERTEX_UNIFORM_COMPONENTS(gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV gl_RGB10_A2UIgl_VERTEX_ATTRIB_ARRAY1_NV!gl_COMPRESSED_RGBA_ASTC_4x3x3_OESgl_DEPTH_CLEAR_VALUEgl_DEPTH_STENCIL_ATTACHMENTgl_NORMAL_ARRAY_LENGTH_NVgl_SWIZZLE_STQ_DQ_ATIgl_GLOBAL_ALPHA_SUNgl_BLEND_DST_RGB_OESgl_TEXTURE10_ARBgl_INT_IMAGE_1D_ARRAY_EXT"gl_TRANSFORM_FEEDBACK_OVERFLOW_ARBgl_READ_PIXELS_FORMATgl_MULTISAMPLE_BIT_EXTgl_EYE_DISTANCE_TO_LINE_SGISgl_MATRIX30_ARBgl_SHADER_IMAGE_STOREgl_MAX_COMPUTE_UNIFORM_BLOCKSgl_ALPHA_TEST_QCOM gl_ALPHA16gl_COVERAGE_BUFFERS_NVgl_VERTEX_PROGRAM_TWO_SIDE_ARBgl_UNSIGNED_INT_SAMPLER_BUFFERgl_TESS_GEN_VERTEX_ORDER_EXTgl_DEPTH_BUFFER_FLOAT_MODE_NV gl_REG_5_ATI#gl_POST_COLOR_MATRIX_GREEN_BIAS_SGIgl_CLIP_PLANE5_IMGgl_DATA_BUFFER_AMDgl_TEXTURE18_ARB%gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARBgl_SAMPLER_CUBE_MAP_ARRAY_EXT)gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OESgl_MAX_COMPUTE_ATOMIC_COUNTERSgl_PREVIOUS_TEXTURE_INPUT_NVgl_OPERAND0_RGBgl_CULL_VERTEX_EYE_POSITION_EXT gl_HALF_FLOATgl_UNIFORM_BUFFER_LENGTH_NVgl_QUERY_NO_WAIT_INVERTEDgl_NORMAL_ARRAY_TYPE_EXTgl_OP_SET_LT_EXTgl_PATH_GEN_COMPONENTS_NV"gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OES&gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NVgl_FORMAT_SUBSAMPLE_24_24_OMLgl_MATRIX24_ARBgl_ONE_MINUS_CONSTANT_ALPHAgl_DEBUG_CALLBACK_USER_PARAMgl_PIXEL_TEX_GEN_ALPHA_MS_SGIX$gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZEgl_COLOR_ATTACHMENT5_NV gl_RGBA16Igl_DEBUG_SEVERITY_MEDIUM_ARBgl_EXP2 gl_MATRIX0_NV)gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV!gl_PERFQUERY_GLOBAL_CONTEXT_INTELgl_BUMP_ROT_MATRIX_SIZE_ATIgl_MAP_INVALIDATE_RANGE_BITgl_PIXEL_SUBSAMPLE_4242_SGIXgl_R1UI_N3F_V3F_SUNgl_BLUE_MAX_CLAMP_INGRgl_SYNC_STATUSgl_MAX_FOG_FUNC_POINTS_SGISgl_MAX_VARYING_COMPONENTSgl_DEPTH_BUFFER_BIT2_QCOM"gl_POST_COLOR_MATRIX_RED_SCALE_SGIgl_MAX_DEBUG_GROUP_STACK_DEPTHgl_ONE_MINUS_CONSTANT_COLOR!gl_TEXTURE_BINDING_CUBE_MAP_ARRAYgl_FOG_COORD_ARRAY_POINTERgl_TESS_CONTROL_SUBROUTINE(gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARBgl_UNIFORM_BLOCKgl_TEXTURE_BUFFER_OFFSETgl_MAP1_COLOR_4gl_OPERAND1_ALPHA_ARBgl_INTERPOLATE_EXT&gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERSgl_MODELVIEW1_STACK_DEPTH_EXTgl_CONTEXT_FLAGSgl_EIGHTH_BIT_ATIgl_DOUBLEBUFFERgl_RGB_FLOAT16_APPLEgl_CONTEXT_LOST_KHRgl_INDEX_ARRAY_POINTER_EXTgl_VERTEX_BINDING_STRIDEgl_OUTPUT_TEXTURE_COORD1_EXTgl_FRAMEBUFFER_DEFAULT_SAMPLESgl_TEXTURE_BLUE_TYPE_ARBgl_COLOR_TABLE_FORMAT_SGIgl_VERTEX_ID_SWIZZLE_AMDgl_TEXTURE_BORDERgl_ALIASED_LINE_WIDTH_RANGEgl_RGB9_E5_APPLEgl_GREEN_INTEGERgl_CONTRAST_NVgl_INTENSITY32F_ARBgl_SPRITE_OBJECT_ALIGNED_SGIXgl_INTERLEAVED_ATTRIBS gl_CON_1_ATI gl_STENCILgl_CLIP_PLANE1_IMGgl_TEXTURE_BASE_LEVEL_SGISgl_OP_FRAC_EXTgl_PATH_DASH_ARRAY_COUNT_NV#gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMGgl_PATH_GEN_COLOR_FORMAT_NVgl_ALPHA16_SNORM#gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OESgl_FLOAT_RG16_NVgl_SLIM8U_SGIXgl_READ_FRAMEBUFFERgl_PATH_FILL_BOUNDING_BOX_NVgl_TEXTURE_MAX_CLAMP_T_SGIXgl_MAP1_TANGENT_EXTgl_UNSIGNED_SHORT_4_4_4_4_REVgl_FIRST_TO_REST_NV$gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV gl_PROGRAM_ADDRESS_REGISTERS_ARBgl_2PASS_0_EXTgl_NORMAL_MAP_ARBgl_R1UI_C3F_V3F_SUNgl_INNOCENT_CONTEXT_RESET_ARBgl_BGR_INTEGER_EXTgl_SMAPHS_PROGRAM_BINARY_DMPgl_PATH_MODELVIEW_MATRIX_NVgl_VIEW_CLASS_128_BITSgl_TEXTURE_FETCH_BARRIER_BIT gl_3DC_XY_AMDgl_MATRIX_INDEX_ARRAY_SIZE_OES!gl_TEXTURE_COMPARE_FAIL_VALUE_ARB gl_PIXEL_TRANSFORM_2D_MATRIX_EXTgl_TEXTURE_CUBE_MAP_POSITIVE_Ygl_PN_TRIANGLES_NORMAL_MODE_ATIgl_SAMPLER_CUBE_SHADOWgl_HISTOGRAM_RED_SIZEgl_PIXEL_PACK_BUFFERgl_PROGRAM_TEMPORARIES_ARBgl_VERSION_ES_CL_1_1(gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV!gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARBgl_DOUBLE_MAT3_EXTgl_COUNT_UP_NVgl_TEXTURE_COMPRESSION_HINTgl_CONVOLUTION_HINT_SGIXgl_UNIFORM_BLOCK_INDEXgl_IMAGE_CLASS_11_11_10gl_CURRENT_TANGENT_EXTgl_T2F_C4UB_V3Fgl_OPERAND3_ALPHA_NVgl_RGB5_A1_OESgl_MAX_DEPTH_TEXTURE_SAMPLESgl_OBJECT_ACTIVE_UNIFORMS_ARB gl_LINE_STRIPgl_COLOR_TABLE_BIAS_SGIgl_COLOR_MATERIAL_PARAMETER"gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NVgl_SAMPLER_3D_OESgl_COLOR_ARRAY_LIST_IBM gl_CON_26_ATIgl_INT_IMAGE_2D_MULTISAMPLEgl_REFLECTION_MAPgl_Z_EXTgl_PROXY_HISTOGRAMgl_READ_ONLY_ARB gl_POINT_BITgl_PROXY_TEXTURE_2D_MULTISAMPLEgl_LINEARLIGHT_NVgl_TEXTURE_STACK_DEPTHgl_COLORBURN_KHRgl_RENDERBUFFER_DEPTH_SIZE_OESgl_DOUBLE_VEC3_EXTgl_COLOR_ATTACHMENT13gl_MIRROR_CLAMP_TO_BORDER_EXTgl_TANGENT_ARRAY_POINTER_EXT(gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXTgl_OP_EXP_BASE_2_EXTgl_ONE!gl_ATOMIC_COUNTER_BARRIER_BIT_EXTgl_VIRTUAL_PAGE_SIZE_X_AMDgl_TEXTURE_ENV_COLORgl_IMAGE_CLASS_2_X_32gl_MODELVIEW19_ARBgl_SAMPLE_MASK"gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OESgl_MODELVIEW0_ARBgl_INTENSITY16UI_EXTgl_DEBUG_LOGGED_MESSAGES_AMDgl_ACTIVE_VARYINGS_NVgl_MAX_PALETTE_MATRICES_ARBgl_COLOR_TABLE_ALPHA_SIZEgl_POINTgl_DEBUG_SOURCE_API_ARBgl_RASTER_SAMPLES_EXTgl_INDEX_ARRAY_COUNT_EXTgl_RGB_FLOAT16_ATIgl_MAX_CLIP_PLANESgl_INT_SAMPLER_2D_ARRAY_EXTgl_SPRITE_EYE_ALIGNED_SGIXgl_DEBUG_SEVERITY_LOW_AMDgl_DRAW_BUFFER11#gl_DEBUG_SOURCE_SHADER_COMPILER_ARB#gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD(gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODINGgl_FEEDBACK_BUFFER_SIZEgl_DEBUG_SOURCE_API_KHRgl_DRAW_BUFFER7_NVgl_MANUAL_GENERATE_MIPMAPgl_SAMPLE_COVERAGE_VALUE_ARBgl_FRONT_RIGHT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OESgl_MATERIAL_SIDE_HINT_PGIgl_ADD_SIGNED_ARBgl_HALF_FLOAT_NVgl_UNKNOWN_CONTEXT_RESET_KHRgl_MAP1_VERTEX_3 gl_POST_COLOR_MATRIX_GREEN_SCALE0gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTSgl_RESAMPLE_DECIMATE_SGIXgl_HALF_BIAS_NORMAL_NVgl_EVAL_VERTEX_ATTRIB0_NV)gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKSgl_ALPHA32I_EXTgl_INTENSITY16_SNORMgl_OBJECT_TYPE_APPLE"gl_OBJECT_SHADER_SOURCE_LENGTH_ARBgl_INT_SAMPLER_2D_RECTgl_SAMPLER_2D_SHADOW_EXTgl_VERTICES_SUBMITTED_ARBgl_NUM_EXTENSIONSgl_LIGHT_MODEL_AMBIENTgl_PACK_ROW_LENGTHgl_INT_VEC2_ARB gl_ALWAYSgl_IMAGE_2D_RECT_EXTgl_DEBUG_TYPE_OTHER_KHRgl_PROXY_TEXTURE_CUBE_MAP_EXTgl_EVAL_VERTEX_ATTRIB7_NVgl_HSL_HUE_KHRgl_TESS_GEN_VERTEX_ORDERgl_ARRAY_BUFFER_BINDING$gl_POST_COLOR_MATRIX_COLOR_TABLE_SGIgl_STATE_RESTORE gl_LIST_INDEXgl_CLIENT_ACTIVE_TEXTUREgl_CONVOLUTION_BORDER_COLOR gl_CON_23_ATI"gl_VERTEX_ARRAY_BUFFER_BINDING_ARB gl_RGB32F_EXT gl_LIGHTEN_NV"gl_UNSIGNED_INT_2_10_10_10_REV_EXTgl_YCBCR_422_APPLEgl_Rgl_TRIANGLE_STRIP_ADJACENCY_EXTgl_UNSIGNED_INT_SAMPLER_CUBE!gl_FRAGMENT_PROGRAM_POSITION_MESAgl_LINEAR_CLIPMAP_LINEAR_SGIX(gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES!gl_VERTEX_SHADER_INSTRUCTIONS_EXTgl_INT_2_10_10_10_REVgl_R16"gl_TEXTURE_BINDING_RENDERBUFFER_NVgl_SRGB_ALPHA_EXT gl_PACK_MAX_COMPRESSED_SIZE_SGIXgl_UNSIGNED_SHORT_8_8_MESA gl_INVALID_FRAMEBUFFER_OPERATIONgl_MODULATE_SIGNED_ADD_ATIgl_RGB5$gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXTgl_MAP_READ_BIT_EXTgl_DECR gl_OP_SUB_EXTgl_INTERNALFORMAT_STENCIL_SIZEgl_LUMINANCE8UI_EXTgl_TRANSFORM_BITgl_LUMINANCE32I_EXTgl_SMOOTH_LINE_WIDTH_RANGEgl_ASYNC_MARKER_SGIXgl_MODELVIEW5_ARBgl_NONEgl_COUNTER_RANGE_AMDgl_LINEAR_ATTENUATIONgl_COMPRESSED_SIGNED_RED_RGTC1gl_TEXTURE_FORMAT_QCOMgl_DEBUG_PRINT_MESA gl_DOMAIN gl_COMPILE gl_DST_OUT_NV&gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT gl_UNSIGNED_INT_SAMPLER_2D_ARRAYgl_TEXTURE_BLUE_SIZE_EXTgl_VERTEX_ATTRIB_BINDING&gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BITgl_INT_VEC3_ARBgl_VARIANT_ARRAY_EXTgl_TEXTURE_GREEN_TYPE_ARBgl_PIXEL_TEX_GEN_Q_FLOOR_SGIX)gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXTgl_STENCIL_BUFFER_BITgl_HISTOGRAM_RED_SIZE_EXTgl_UNSIGNED_INT_SAMPLER_1D_EXTgl_REPLACE_VALUE_AMDgl_VOLATILE_APPLEgl_QUERY_BY_REGION_WAIT_NVgl_FOG_DENSITY gl_LIST_BIT#gl_POST_CONVOLUTION_COLOR_TABLE_SGIgl_TRANSFORM_HINT_APPLEgl_ASYNC_TEX_IMAGE_SGIXgl_TEXTURE_VIEW gl_RGB2_EXTgl_COLOR_ATTACHMENT14_EXTgl_AUX3gl_OFFSET_TEXTURE_2D_NV"gl_ATC_RGBA_INTERPOLATED_ALPHA_AMD gl_UNPACK_COMPRESSED_BLOCK_DEPTHgl_PARALLEL_ARRAYS_INTELgl_UNSIGNED_INT_IMAGE_1D_EXTgl_COMPRESSED_RGB_S3TC_DXT1_EXTgl_WEIGHT_ARRAY_SIZE_OESgl_MIN_PROGRAM_TEXEL_OFFSET_NV'gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYERgl_DRAW_BUFFER1_NVgl_CLAMP_TO_EDGEgl_GEOMETRY_SHADER_ARBgl_PERFQUERY_COUNTER_RAW_INTELgl_MIRRORED_REPEAT_ARBgl_RENDERBUFFER_GREEN_SIZE_OES%gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERSgl_SIGNED_HILO_NVgl_CONFORMANT_NVgl_NORMAL_MAP_EXT%gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING gl_DOUBLE_EXTgl_MAXgl_RESTART_SUNgl_BINORMAL_ARRAY_STRIDE_EXT%gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARBgl_BLEND_DST_ALPHA_OES gl_FRONT_FACE&gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NVgl_LINEAR_DETAIL_COLOR_SGISgl_VERTEX_SHADER_BIT_EXT gl_INT_VEC3 gl_RG16_SNORMgl_VERTEX_ARRAY_COUNT_EXT%gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE gl_WRITE_ONLYgl_CLIP_DISTANCE7_APPLEgl_OUTPUT_TEXTURE_COORD25_EXTgl_PIXEL_TEX_GEN_SGIXgl_HALF_BIAS_NEGATE_NVgl_RENDERBUFFER_DEPTH_SIZEgl_MIN_SPARSE_LEVEL_AMDgl_COLOR_ARRAY_EXTgl_PIXEL_MAP_A_TO_Agl_DRAW_BUFFER1_ARBgl_COLOR_ATTACHMENT4_NVgl_QUERY_TARGET%gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NVgl_COLOR_TABLE_FORMAT"gl_FOG_COORDINATE_ARRAY_STRIDE_EXTgl_MULTISAMPLE_3DFX gl_MATRIX5_NVgl_RELATIVE_ROUNDED_RECT4_NVgl_PROGRAM_TEX_INSTRUCTIONS_ARB gl_ADD_ATIgl_POLYGON_MODE$gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV(gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXTgl_RENDERBUFFER_BLUE_SIZEgl_TEXTURE11_ARBgl_COLOR_TABLE_SCALE_SGIgl_TEXTURE14_ARBgl_COMPRESSED_LUMINANCE_ALPHA%gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT gl_IMAGE_1D gl_READ_ONLY!gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIXgl_MAX_COLOR_ATTACHMENTSgl_MAX_VERTEX_UNITS_OESgl_T2F_C4F_N3F_V3Fgl_INT_SAMPLER_CUBEgl_BLUE_MIN_CLAMP_INGRgl_DRAW_BUFFER13_EXTgl_FRONT'gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES*gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITSgl_PIXEL_TEXTURE_SGIS!gl_UNSIGNED_SHORT_4_4_4_4_REV_EXTgl_PROGRAM_NATIVE_ATTRIBS_ARBgl_CONVOLUTION_FORMATgl_ALPHA32F_EXTgl_DRAW_BUFFER8_ARBgl_EYE_LINE_SGISgl_YCBYCR8_422_NVgl_SIGNED_NEGATE_NV4gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADERgl_ATTRIB_ARRAY_STRIDE_NV'gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV!gl_NUM_PROGRAM_BINARY_FORMATS_OESgl_COLOR_RENDERABLE/gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTSgl_MAX_RENDERBUFFER_SIZE_EXT'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHRgl_MAX_COLOR_ATTACHMENTS_NVgl_PIXEL_TILE_WIDTH_SGIXgl_FLOAT_RGB16_NVgl_SLUMINANCE_EXTgl_POLYGON_OFFSET_POINTgl_DEPTH_CLAMPgl_TEXTURE17_ARB gl_RGB8UI gl_CON_27_ATIgl_PIXEL_SUBSAMPLE_2424_SGIXgl_TEXTURE_CUBE_MAP_ARRAY_ARBgl_SAMPLE_POSITION_NV&gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXTgl_SOURCE2_ALPHA_EXTgl_RGBA4gl_PATCH_DEFAULT_INNER_LEVELgl_TEXTURE_GREEN_TYPEgl_COMBINE4_NVgl_DRAW_BUFFER14_EXTgl_TEXTURE24_ARBgl_TEXTURE_COORD_NV(gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARBgl_POINT_SPRITE_ARBgl_LUMINANCE_ALPHA16UI_EXTgl_PROGRAM_STRING_ARBgl_FLOAT_MAT4x2gl_DOT3_RGBA_ARBgl_CURRENT_RASTER_INDEX'gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV&gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARBgl_PLUS_CLAMPED_ALPHA_NV!gl_PATH_PROJECTION_STACK_DEPTH_NVgl_POINT_SIZE_MIN_ARBgl_TEXTURE_GEQUAL_R_SGIXgl_SHADER_BINARY_VIV gl_TEXTURE19gl_RENDERBUFFER_BINDING_ANGLEgl_HISTOGRAM_ALPHA_SIZE gl_ONE_EXTgl_UNSIGNED_INT64_ARBgl_UNSIGNED_INT_IMAGE_3Dgl_RENDERBUFFER_BLUE_SIZE_EXT#gl_VIDEO_COLOR_CONVERSION_OFFSET_NV gl_DT_BIAS_NV#gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT!gl_MAX_NUM_COMPATIBLE_SUBROUTINESgl_TEXTURE_WRAP_Rgl_COLOR_ARRAY_LIST_STRIDE_IBMgl_VIEW_CLASS_16_BITSgl_BINORMAL_ARRAY_POINTER_EXTgl_ATTACHED_SHADERSgl_VERTEX_PROGRAM_TWO_SIDE_NVgl_ONE_MINUS_SRC1_COLORgl_SAMPLE_SHADING_ARBgl_UNIFORM_ARRAY_STRIDEgl_VERTEX_SHADER_BINDING_EXT"gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXTgl_MAP_STENCIL gl_HALF_APPLE gl_LIGHT_MODEL_COLOR_CONTROL_EXTgl_UNSIGNED_INT_IMAGE_2D_ARRAYgl_SIGNED_RGBA8_NV.gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NVgl_COLOR_INDEX16_EXT!gl_MAX_VERTEX_TEXTURE_IMAGE_UNITSgl_EMBOSS_CONSTANT_NV"gl_WEIGHT_ARRAY_BUFFER_BINDING_OESgl_TEXTURE_2D_STACK_MESAXgl_TEXTURE_FILTER_CONTROLgl_FORCE_BLUE_TO_ONE_NVgl_FRAGMENT_PROGRAM_ARBgl_ROUNDED_RECT_NVgl_UNSIGNED_INT_IMAGE_1D#gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NVgl_DRAW_BUFFER13_ARB gl_FOG_COORDgl_SLUMINANCE8gl_NORMAL_ARRAY_COUNT_EXTgl_TEXTURE_BORDER_VALUES_NVgl_TEXTURE_SPARSE_ARB gl_BGRA_EXTgl_RASTERIZER_DISCARD_NVgl_SAMPLER_3D_ARB"gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NVgl_SPOT_DIRECTION$gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLEgl_COMPRESSED_SRGB_S3TC_DXT1_NVgl_DRAW_BUFFER12gl_MODELVIEW10_ARBgl_VERTICAL_LINE_TO_NVgl_NORMAL_ARRAY_BUFFER_BINDINGgl_BLEND_EQUATION_ALPHAgl_DOT2_ADD_ATI)gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXTgl_COMPRESSED_RED_RGTC1gl_COORD_REPLACEgl_MAX_DEBUG_MESSAGE_LENGTH_ARB gl_RGBA16_EXT&gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV gl_LIST_MODEgl_TESS_GEN_SPACING_EXTgl_T2F_IUI_V3F_EXTgl_RGBA16F_ARB%gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXTgl_TEXTURE_SAMPLES_IMG%gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB$gl_CONTEXT_COMPATIBILITY_PROFILE_BITgl_ACTIVE_UNIFORMS gl_COMPRESSED_SRGB_S3TC_DXT1_EXTgl_TEXTURE_LUMINANCE_SIZEgl_UNSIGNED_SHORTgl_MAX_SPARSE_TEXTURE_SIZE_ARBgl_PROGRAM_BINDING_ARBgl_COMBINER_SUM_OUTPUT_NV gl_RGBA4_OESgl_WRITEONLY_RENDERING_QCOM gl_SYNC_FLUSH_COMMANDS_BIT_APPLEgl_DUAL_INTENSITY4_SGISgl_DETAIL_TEXTURE_LEVEL_SGIS gl_RETURNgl_SMOOTH_CUBIC_CURVE_TO_NVgl_HARDLIGHT_KHRgl_CURRENT_VERTEX_ATTRIB_ARBgl_VARIANT_ARRAY_STRIDE_EXTgl_TEXTURE_GATHER_SHADOWgl_PIXEL_MIN_FILTER_EXTgl_INVERT_RGB_NVgl_UNPACK_SUBSAMPLE_RATE_SGIXgl_SURFACE_REGISTERED_NVgl_FRAMEBUFFER_DEFAULT_HEIGHTgl_MAX_TEXTURE_IMAGE_UNITSgl_IMAGE_1D_ARRAYgl_TEXTURE_COMPRESSION_HINT_ARBgl_DEPTH_SCALEgl_WEIGHT_ARRAY_SIZE_ARBgl_DEBUG_OUTPUTgl_SIGNED_NORMALIZEDgl_MAX_NAME_STACK_DEPTHgl_TEXTURE_1D_ARRAY_EXTgl_FONT_UNITS_PER_EM_BIT_NVgl_WRITE_PIXEL_DATA_RANGE_NVgl_COVERAGE_COMPONENT4_NVgl_INT_IMAGE_2D_MULTISAMPLE_EXT gl_DSDT_NVgl_SPOT_EXPONENTgl_IMAGE_CUBE_EXTgl_LINEAR_SHARPEN_SGISgl_INVERSE_TRANSPOSE_NVgl_UNSIGNED_INT_SAMPLER_3D_EXTgl_MAP_FLUSH_EXPLICIT_BIT_EXT!gl_TEXTURE_MATERIAL_PARAMETER_EXTgl_UNPACK_COMPRESSED_SIZE_SGIX$gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSETgl_MAX_NUM_ACTIVE_VARIABLESgl_VERTEX_CONSISTENT_HINT_PGIgl_ADD_BLEND_IMGgl_TEXTURE_TYPE_QCOMgl_LINE"gl_PIXEL_TILE_CACHE_INCREMENT_SGIXgl_MULTISAMPLE_BUFFER_BIT0_QCOMgl_AUX_DEPTH_STENCIL_APPLEgl_VERTEX23_BIT_PGIgl_DSDT_MAG_INTENSITY_NVgl_TEXCOORD1_BIT_PGIgl_FIRST_VERTEX_CONVENTION_EXT"gl_DEBUG_SEVERITY_NOTIFICATION_KHRgl_FLOAT_VEC4_ARBgl_INTERNALFORMAT_STENCIL_TYPEgl_SLUMINANCE8_EXTgl_LUMINANCE_FLOAT32_APPLE gl_RGB_SCALEgl_RGB10gl_TRIANGULAR_NVgl_CONTEXT_ROBUST_ACCESS_EXTgl_CONSTANT_ALPHAgl_FRAGMENT_COVERAGE_COLOR_NV#gl_FOG_COORDINATE_ARRAY_POINTER_EXTgl_OUTPUT_TEXTURE_COORD19_EXT$gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZEgl_SIGNED_LUMINANCE8_NVgl_PROGRAM_KHRgl_TEXTURE_INTENSITY_SIZEgl_ACTIVE_PROGRAM_EXTgl_PRIMARY_COLOR_NVgl_IMAGE_2D_ARRAYgl_LUMINANCE16_SNORMgl_COMBINER_MUX_SUM_NVgl_OUTPUT_TEXTURE_COORD22_EXT#gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NVgl_DISPATCH_INDIRECT_BUFFER!gl_RELATIVE_HORIZONTAL_LINE_TO_NVgl_R1UI_V3F_SUNgl_CULL_VERTEX_IBMgl_MULTISAMPLE_FILTER_HINT_NVgl_QUERY_NO_WAIT_NVgl_UNPACK_ROW_BYTES_APPLE(gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPEgl_COLOR_ATTACHMENT7_NVgl_LUMINANCE16_ALPHA16_SNORMgl_GEOMETRY_OUTPUT_TYPE_EXT#gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORMgl_MAP1_VERTEX_4!gl_VERTEX_ATTRIB_ARRAY_INTEGER_NVgl_OUT_OF_MEMORY+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT(gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB%gl_UNPACK_COLORSPACE_CONVERSION_WEBGL gl_C4UB_V2F gl_RGBA4_S3TCgl_REFERENCED_BY_VERTEX_SHADERgl_COLOR_ARRAY_TYPEgl_VERTEX_SHADER_LOCALS_EXTgl_PERFQUERY_FLUSH_INTELgl_HSL_COLOR_KHRgl_INCR gl_RGB565"gl_PROGRAM_NATIVE_INSTRUCTIONS_ARBgl_PACK_SKIP_ROWSgl_MATRIX16_ARB gl_AMBIENTgl_UNIFORM_BLOCK_NAME_LENGTHgl_UNSIGNED_INT_SAMPLER_2D_EXTgl_DEPTH_BUFFER_BIT4_QCOMgl_VERTEX_ATTRIB_ARRAY4_NVgl_TEXTURE_RECTANGLEgl_TEXTURE20_ARBgl_CONSTANT_EXT"gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS gl_MOV_ATIgl_STATIC_COPY_ARBgl_RGBA4_DXT5_S3TCgl_UNSIGNED_INT_IMAGE_BUFFERgl_OBJECT_DELETE_STATUS_ARBgl_SYNC_FLUSH_COMMANDS_BIT0gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OESgl_REPLACE_EXT gl_TEXTURE8&gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NVgl_STENCIL_TAG_BITS_EXTgl_FIELD_LOWER_NVgl_LUMINANCE8_ALPHA8_SNORM0gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXTgl_DRAW_BUFFER9_ATIgl_FLOAT_VEC3_ARB gl_FLOAT_MAT2 gl_RASTER_POSITION_UNCLIPPED_IBMgl_PRIMITIVE_BOUNDING_BOX_EXTgl_LUMINANCE8_EXTgl_FRAMEBUFFER_BINDINGgl_COLORgl_RELATIVE_ROUNDED_RECT_NVgl_MODELVIEW22_ARB gl_FLOAT_VEC4+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB'gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL&gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERSgl_TESS_GEN_MODE gl_LOW_FLOATgl_SOURCE0_ALPHA_ARBgl_RGB16UI_EXTgl_PATH_INITIAL_DASH_CAP_NVgl_COLOR_ATTACHMENT1 gl_RGB32F_ARBgl_MAT_SPECULAR_BIT_PGIgl_IMAGE_CLASS_1_X_32(gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS$gl_MIN_FRAGMENT_INTERPOLATION_OFFSETgl_PRIMARY_COLOR_EXTgl_MAP2_VERTEX_ATTRIB8_4_NVgl_RENDERBUFFER_DEPTH_SIZE_EXTgl_MODELVIEW1_MATRIX_EXTgl_RENDERBUFFER_OESgl_TEXTURE8_ARBgl_ALPHA_MAX_CLAMP_INGRgl_CLIP_PLANE3_IMGgl_PACK_SUBSAMPLE_RATE_SGIX-gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV gl_CON_21_ATI+gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXTgl_MAX_ASYNC_HISTOGRAM_SGIXgl_SAMPLER_BINDINGgl_OFFSET_TEXTURE_2D_BIAS_NV%gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR gl_REG_3_ATIgl_TEXTURE_SWIZZLE_Ggl_INTENSITY8_SNORMgl_TEXTURE_VIEW_NUM_LEVELS gl_INTENSITY8gl_LUMINANCE_ALPHA16F_EXTgl_COLOR_ARRAY_SIZEgl_DUAL_ALPHA16_SGISgl_FRAGMENT_LIGHTING_SGIXgl_IMAGE_BINDING_LAYER_EXTgl_COLOR_FLOAT_APPLEgl_CLOSE_PATH_NVgl_ALPHA32UI_EXT$gl_INVALID_FRAMEBUFFER_OPERATION_EXTgl_POST_CONVOLUTION_ALPHA_BIASgl_COLOR_ATTACHMENT0_OES gl_MULTISAMPLE_COVERAGE_MODES_NV gl_TEXTURE18gl_PROGRAM_SEPARABLEgl_GEOMETRY_VERTICES_OUT_EXTgl_TRANSPOSE_COLOR_MATRIX_ARB gl_VERTEX_ATTRIB_MAP1_SIZE_APPLEgl_SPARSE_STORAGE_BIT_ARB'gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2gl_UNSIGNED_INT_SAMPLER_3Dgl_FONT_UNINTELLIGIBLE_NVgl_PACK_ALIGNMENTgl_COVERAGE_EDGE_FRAGMENTS_NVgl_TEXTURE_DEPTH_SIZE_ARBgl_INTERNALFORMAT_PREFERRED%gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARBgl_DEBUG_SEVERITY_HIGHgl_OUTPUT_TEXTURE_COORD12_EXT gl_SRC_COLORgl_MAX_SUBROUTINESgl_FRAGMENT_LIGHT3_SGIX gl_DEPTH_BIASgl_VIEW_CLASS_8_BITSgl_SEPARABLE_2D_EXTgl_LINE_WIDTH_GRANULARITYgl_RGB10_A2_EXTgl_OUTPUT_TEXTURE_COORD26_EXT+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLEgl_FRAGMENT_LIGHT1_SGIXgl_VARIABLE_D_NVgl_PACK_IMAGE_HEIGHTgl_PACK_LSB_FIRST gl_VENDOR gl_SAMPLER_3D gl_QUADS_EXT gl_RGB12_EXT gl_MINMAXgl_IMAGE_CLASS_1_X_8 gl_LUMINANCE4*gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGIgl_INTERNALFORMAT_ALPHA_SIZEgl_GREEN_MAX_CLAMP_INGR/gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT gl_TEXTURE25gl_MAX_TESS_GEN_LEVELgl_TRACE_TEXTURES_BIT_MESAgl_TRIANGLES_ADJACENCY_EXTgl_LUMINANCE_ALPHA32F_ARBgl_PROGRAM_ERROR_POSITION_ARB gl_ZOOM_Xgl_PROGRAM_INSTRUCTIONS_ARBgl_INDEX_ARRAY_BUFFER_BINDINGgl_MAX_TEXTURE_COORDSgl_VERTEX_WEIGHT_ARRAY_TYPE_EXTgl_LIGHT_MODEL_LOCAL_VIEWERgl_GEOMETRY_SHADER_BIT_EXTgl_COMPRESSED_SLUMINANCEgl_PACK_INVERT_MESAgl_VIRTUAL_PAGE_SIZE_Z_AMD gl_RGB_SNORMgl_PATH_FILL_MASK_NV!gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT#gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NVgl_PALETTE8_RGB5_A1_OESgl_DEBUG_SOURCE_APIgl_SATURATE_BIT_ATIgl_SAMPLE_LOCATION_NV*gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXTgl_PHONG_HINT_WINgl_MAX_FRAMEBUFFER_SAMPLESgl_UNPACK_SKIP_PIXELSgl_VERTEX_ATTRIB_ARRAY0_NVgl_UNSIGNED_INT64_VEC4_NVgl_SHADER_OBJECT_ARBgl_OFFSET_TEXTURE_MATRIX_NVgl_IUI_N3F_V3F_EXTgl_INDEX_ARRAY_TYPE_EXTgl_LUMINANCE8_SNORMgl_PATH_STROKE_BOUNDING_BOX_NVgl_EDGE_FLAG_ARRAY_COUNT_EXTgl_OUTPUT_TEXTURE_COORD13_EXTgl_UNIFORM_BUFFER_SIZEgl_MODELVIEW26_ARBgl_COLOR_MATERIAL_FACEgl_BLEND_EQUATION_RGB_OESgl_COMBINER4_NVgl_MAP2_VERTEX_ATTRIB5_4_NVgl_BACK_SECONDARY_COLOR_NVgl_VERTEX_BINDING_DIVISORgl_ACTIVE_PROGRAM gl_ALPHA12gl_DECR_WRAP_EXT#gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARBgl_FRAMEBUFFER_UNSUPPORTED_EXT gl_BGRA_IMGgl_FRAGMENT_PROGRAM_NV gl_TEXTURE_BINDING_RECTANGLE_ARB3gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OESgl_VARIANT_DATATYPE_EXTgl_ONE_MINUS_SRC_COLOR!gl_POST_COLOR_MATRIX_RED_BIAS_SGIgl_PATH_MODELVIEW_NVgl_IMAGE_ROTATE_ORIGIN_Y_HPgl_SAMPLER_2D_ARRAYgl_TRACE_OPERATIONS_BIT_MESAgl_DRAW_FRAMEBUFFER_BINDINGgl_COMPRESSED_RGBA_ASTC_6x5_KHRgl_SAMPLES_PASSED_ARBgl_MULTISAMPLE_BUFFER_BIT4_QCOM gl_ELEMENT_ARRAY_BARRIER_BIT_EXTgl_TEXTURE_NUM_LEVELS_QCOMgl_NUM_VIRTUAL_PAGE_SIZES_ARB gl_DARKEN_KHRgl_CLIP_DISTANCE7gl_FLOAT_MAT2x3gl_IMAGE_TRANSLATE_Y_HPgl_VERTEX_SHADER_OPTIMIZED_EXTgl_COPY_PIXEL_TOKEN gl_1PASS_SGISgl_PRESENT_DURATION_NVgl_SAMPLER_CUBE_SHADOW_NVgl_INT_IMAGE_1D_EXTgl_DEBUG_ASSERT_MESA gl_NUM_SHADING_LANGUAGE_VERSIONSgl_IMAGE_PIXEL_FORMATgl_FRAGMENT_LIGHT6_SGIXgl_LIST_PRIORITY_SGIX gl_RENDERER#gl_ELEMENT_ARRAY_BUFFER_BINDING_ARBgl_TEXTURE_BINDING gl_MATRIX_INDEX_ARRAY_STRIDE_OESgl_TEXTURE_IMMUTABLE_FORMAT_EXTgl_DUAL_LUMINANCE8_SGISgl_SAMPLES_PASSEDgl_UNSIGNED_INT16_VEC4_NV gl_UNSIGNED_INT_SAMPLER_CUBE_EXTgl_DOUBLE_MAT3gl_TEXTURE_DEFORMATION_BIT_SGIX gl_RED_NV&gl_PERFQUERY_COUNTER_DATA_UINT64_INTELgl_SYNC_STATUS_APPLE gl_RGBA16 gl_REG_28_ATIgl_COMPRESSED_RGBgl_DRAW_BUFFER7_ARBgl_CLIP_PLANE2gl_DOUBLE_VEC3gl_ACCUM_BLUE_BITSgl_TEXTURE29_ARBgl_ALPHA16I_EXTgl_BACK_PRIMARY_COLOR_NV!gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL/gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV!gl_SECONDARY_COLOR_ARRAY_SIZE_EXT gl_NORMALIZEgl_PALETTE4_RGB5_A1_OESgl_RENDERBUFFER_GREEN_SIZE_EXTgl_SYSTEM_FONT_NAME_NVgl_TEXTURE_LUMINANCE_SIZE_EXTgl_SYNC_GPU_COMMANDS_COMPLETEgl_MAP1_VERTEX_ATTRIB4_4_NVgl_R16Igl_MAP1_VERTEX_ATTRIB2_4_NV"gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXTgl_COLORBURN_NVgl_MIRROR_CLAMP_TO_EDGE_ATIgl_CONIC_CURVE_TO_NVgl_COLORDODGE_KHR"gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARBgl_ACTIVE_SUBROUTINE_UNIFORMSgl_VERTEX_PROGRAM_ARB!gl_TRANSPOSE_MODELVIEW_MATRIX_ARBgl_DEPTH_ATTACHMENT_EXT!gl_COMPRESSED_LUMINANCE_LATC1_EXT gl_CON_30_ATI!gl_POST_CONVOLUTION_RED_SCALE_EXTgl_STENCIL_RENDERABLE.gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXTgl_PATH_JOIN_STYLE_NVgl_GLYPH_HEIGHT_BIT_NVgl_LUMINANCE_ALPHA8UI_EXTgl_OP_DOT3_EXT gl_QUAD_STRIPgl_UNPACK_RESAMPLE_SGIXgl_BUFFER_SIZE_ARBgl_OUTPUT_TEXTURE_COORD14_EXT gl_COMPRESSED_RGBA_S3TC_DXT3_EXTgl_INDEX_ARRAY_LIST_STRIDE_IBMgl_LUMINANCE8_OES gl_SRC1_ALPHAgl_RENDERBUFFER_BINDINGgl_TESS_EVALUATION_SHADER_BITgl_TEXTURE_LOD_BIAS_EXTgl_IGNORE_BORDER_HPgl_VERTEX_STREAM4_ATIgl_SECONDARY_COLOR_ARRAYgl_FENCE_APPLE gl_RGB16UIgl_COLOR_INDEXESgl_INTERNALFORMAT_ALPHA_TYPEgl_MAP_ATTRIB_U_ORDER_NVgl_TEXTURE_BINDING_1D_ARRAYgl_LUMINANCE_ALPHA_SNORM gl_POSITION gl_REG_15_ATIgl_STREAM_READ_ARBgl_LUMINANCE_INTEGER_EXTgl_MATRIX_INDEX_ARRAY_ARB'gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARBgl_LUMINANCE12_EXTgl_INNOCENT_CONTEXT_RESETgl_MAP2_VERTEX_ATTRIB1_4_NVgl_MODELVIEW9_ARBgl_PATH_STENCIL_FUNC_NVgl_OBJECT_LINEAR_NVgl_TEXTURE_HI_SIZE_NVgl_CURRENT_FOG_COORDINATE gl_MAX_WIDTHgl_DEPTH_COMPONENT32_OESgl_ALPHA_MIN_SGIXgl_PATH_COVER_DEPTH_FUNC_NVgl_VERTEX_PRECLIP_SGIXgl_DRAW_FRAMEBUFFER_BINDING_NVgl_3D_COLOR_TEXTUREgl_UNSIGNED_INT_IMAGE_2Dgl_RED_INTEGER_EXT,gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARBgl_CLAMP_FRAGMENT_COLOR_ARB gl_RGB16I_EXTgl_DRAW_BUFFER6_ARBgl_MAT_SHININESS_BIT_PGIgl_QUERY_RESULT_AVAILABLE_EXTgl_ELEMENT_ARRAY_POINTER_ATIgl_MAP2_VERTEX_ATTRIB14_4_NVgl_VERTEX_ARRAY_TYPE'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHRgl_UNSIGNED_INT_5_9_9_9_REV_EXT"gl_ATOMIC_COUNTER_BUFFER_DATA_SIZEgl_TEXTURE_DT_SIZE_NVgl_SRGBgl_INT_IMAGE_2D_RECTgl_CURRENT_VERTEX_ATTRIBgl_FOG_OFFSET_SGIXgl_UNSIGNED_INT_VEC3_EXT gl_LIGHT4gl_TEXTURE_COORD_ARRAY_LIST_IBM+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OESgl_LOGIC_OP_MODEgl_CONVOLUTION_FILTER_SCALEgl_SAMPLER_2D_ARRAY_SHADOW_NV!gl_INT_IMAGE_2D_MULTISAMPLE_ARRAYgl_SAMPLER_2D_RECT_SHADOW_ARBgl_PACK_COMPRESSED_BLOCK_WIDTH5gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADERgl_VIEW_CLASS_S3TC_DXT1_RGB gl_HIGH_INTgl_MAX_TEXTURE_COORDS_NVgl_DEPTH_COMPONENT32F_NVgl_POLYGON_OFFSET_FILLgl_MULTISAMPLEgl_INDEX_TEST_REF_EXT"gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB gl_INT8_NVgl_NO_RESET_NOTIFICATION_ARBgl_DEPTH_BUFFER_BIT0_QCOMgl_BLEND_SRC_RGB_EXTgl_CURRENT_PROGRAMgl_FLOAT_RGB32_NVgl_RGB_422_APPLE gl_INT_VEC2gl_OUTPUT_COLOR1_EXTgl_PASS_THROUGH_TOKENgl_BLEND_EQUATIONgl_VARIABLE_C_NVgl_UNSIGNED_INT8_NVgl_EDGE_FLAG_ARRAY_POINTER_EXT gl_ALPHA4gl_PROGRAM_PIPELINEgl_MULTgl_UNSIGNED_INT_IMAGE_CUBE_EXTgl_INTENSITY8I_EXT"gl_RESET_NOTIFICATION_STRATEGY_KHR!gl_TEXTURE_UNSIGNED_REMAP_MODE_NVgl_COMPRESSED_RGBA_ASTC_8x6_KHRgl_COLOR_INDEX4_EXT gl_IMAGE_CUBEgl_COMPUTE_WORK_GROUP_SIZEgl_BGR!gl_FRAMEBUFFER_RENDERABLE_LAYERED gl_FAILURE_NVgl_ELEMENT_ARRAY_LENGTH_NVgl_FONT_HAS_KERNING_BIT_NVgl_DECAL gl_CON_8_ATI!gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NVgl_NEGATIVE_W_EXTgl_MULTIPLY_NVgl_COLOR_ARRAY_POINTER_EXTgl_FUNC_REVERSE_SUBTRACT_OESgl_VIEWPORT_SUBPIXEL_BITS_NV gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV gl_MODULATEgl_DEPTH_BOUNDS_EXTgl_NEGATIVE_Y_EXTgl_OBJECT_LINE_SGISgl_DRAW_BUFFER5_NVgl_TEXTURE_BINDING_BUFFER_ARBgl_TEXTURE_APPLICATION_MODE_EXTgl_SAMPLER_CUBEgl_MAT_EMISSION_BIT_PGI)gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIXgl_TEXTURE_MAX_LOD gl_TEXTURE13gl_CLAMP_TO_BORDER_ARB gl_TEXTURE_COMPRESSED_BLOCK_SIZEgl_UNSIGNED_INT_IMAGE_3D_EXTgl_STREAM_READgl_MAX_FRAGMENT_UNIFORM_VECTORSgl_PROGRAM_OBJECT_ARBgl_OBJECT_LINK_STATUS_ARBgl_VERTEX_WEIGHTING_EXTgl_DRAW_BUFFER6gl_RENDERBUFFER_SAMPLESgl_BUMP_NUM_TEX_UNITS_ATIgl_COLOR_TABLE_BIASgl_BUFFER_USAGEgl_STENCIL_FUNCgl_QUARTER_BIT_ATIgl_COLOR4_BIT_PGIgl_T2F_IUI_N3F_V2F_EXT gl_YCRCB_SGIXgl_COMPRESSED_SRGB8_ETC2gl_INTENSITY_FLOAT32_ATIgl_TEXTURE_TARGET_QCOM!gl_COMPRESSED_RGBA_ASTC_4x4x4_OESgl_INT_10_10_10_2_OESgl_VERTEX_ATTRIB_ARRAY12_NVgl_RGB8Igl_MULTISAMPLE_BITgl_VIDEO_BUFFER_NVgl_STATIC_READ_ARB gl_FONT_MAX_ADVANCE_WIDTH_BIT_NVgl_INTERPOLATE gl_COMPRESSED_RGBA_S3TC_DXT1_EXTgl_PROVOKING_VERTEX gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS)gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXTgl_COMBINE_RGB_EXTgl_VERTEX_ARRAY_OBJECT_AMD:gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADERgl_VERTEX_BINDING_BUFFERgl_MODELVIEW29_ARBgl_RG32I gl_LUMINANCE&gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NVgl_INVERTED_SCREEN_W_RENDgl_SOURCE2_RGB_EXT!gl_COMPUTE_SHADER_INVOCATIONS_ARB$gl_TEXTURE_BUFFER_DATA_STORE_BINDINGshowTatomicModifyIORef_'safeFromIntegral ContextIDrunningContexts nextContextIDcontextLocalDatacurrentContextIDstoreContextLocalDataretrieveContextLocalDatamglDeleteBuffermglDeleteVertexArray mglGenBuffermglGenVertexArraymglGenFramebuffermglDeleteFramebufferwithBoundDrawFramebufferwithBoundProgramsetBoundProgramwithBoundBuffersetBoundElementBufferwithBoundElementBufferwithBoundPixelUnpackBuffer withBoundVAO!mglVertexArrayVertexAttribDivisor)mglVertexArrayVertexAttribOffsetAndEnable*mglVertexArrayVertexAttribIOffsetAndEnablemglNamedBufferDatamglProgramUniform1uimglProgramUniform2uimglProgramUniform3uimglProgramUniform4uimglProgramUniform1imglProgramUniform2imglProgramUniform3imglProgramUniform4imglProgramUniform1fmglProgramUniform2fmglProgramUniform3fmglProgramUniform4fmglProgramUniformMatrix4fvmglProgramUniformMatrix3fvmglMapNamedBufferRangemglUnmapNamedBuffermglNamedCopyBufferSubDatagigfactivateDebugModeflushDebugMessagesLens'Lenslens QuaternionqxqyqzqwVector3xyzMatrix33n11n21n31n12n22n32n13n23n33Matrix44m11m21m31m41m12m22m32m42m13m23m33m43m14m24m34m44_x_y_z sizeOfVector3sizeOfMatrix33sizeOfMatrix44sizeOfQuaternionvector3matrix44matrix33matrix33ToMatrix44matrix44ToMatrix33withMatrix44PtrwithMatrix33Ptr identity33zero33 identity44zero44 inverse44 determinant33 inverse33 determinant44 multiply33 multiply44 distance33 distance44 perspective44 frustum44ortho44lookat44 normalize3 distance3length3plus3minus3 negative3scalarMultiply3scale44 transpose33 transpose44 translate44rotate44vector3Transform44cross3angle3dot3toTuple3 fromTuple3zero3 quaterniontoTupleq fromTupleq canonicalizeq normalizeq distanceqlengthqaxisAngleToQuaternionzeroqquaternionToMatrix44matrix44ToQuaternion identityqvector3_1ToQuaternion multiplyq prettyShowSpecificationTypeabletoSpecificationTypeSpecificationType FHalfFloatFFloatFInt32FInt16FInt8FWord32FWord16FWord8 ImageFormatDEPTH24_STENCIL8DEPTH32F_STENCIL8DEPTH_COMPONENT16DEPTH_COMPONENT24DEPTH_COMPONENT32FDEPTH_COMPONENT32COMPRESSED_SRGB_ALPHA_S3TC_DXT5COMPRESSED_SRGB_ALPHA_S3TC_DXT3COMPRESSED_SRGB_ALPHA_S3TC_DXT1COMPRESSED_SRGB_S3TC_DXT1COMPRESSED_RGBA_S3TC_DXT5COMPRESSED_RGBA_S3TC_DXT3COMPRESSED_RGBA_S3TC_DXT1COMPRESSED_RGB_S3TC_DXT1COMPRESSED_SIGNED_RED_RGTC1COMPRESSED_RED_RGTC1COMPRESSED_SIGNED_RG_RGTC2COMPRESSED_RG_RGTC2RGB9_E5SRGB8RGB8UIRGB8IRGB8RGB16RGB16UIRGB16IRGB16FRGB32UIRGB32IRGB32FRGB10_A2 SRGB8_ALPHA8RGBA8UIRGBA8RGBA16UIRGBA16IRGBA16FRGBA16RGBA32UIRGBA32IRGBA32FR11F_G11F_B10FRG32UIRG32IRG32FRG16FRG16UIRG16IRG16RG8UIRG8IRG8R32UIR32IR32FR16FR16UIR16IR16R8UIR8IR8isRenderTargettable isCompressed isColorFormathasDepthComponenthasStencilComponent isSRGBFormat toConstantIF toConstantSTsizeOfSpecificationType$fSpecificationTypeableCFloat$fSpecificationTypeableFloat$fSpecificationTypeableCUInt$fSpecificationTypeableCInt$fSpecificationTypeableInt32$fSpecificationTypeableInt16$fSpecificationTypeableInt8$fSpecificationTypeableWord32$fSpecificationTypeableWord16$fSpecificationTypeableWord8FragmentPassTests depthTest writeDepth stencilTeststencilReference stencilMask failStencilOpdepthFailStencilOpdepthPassStencilOpcullFaceCulling NoCulling FrontAndBackFrontBack StencilOpInvertDecreaseAndWrapDecreaseIncrementAndWrap IncrementReplaceZeroKeepComparisonFuncAlwaysGEqualNotEqualGreaterLEqualEqualLessNevercomparisonFuncToConstantstencilOpToConstantsetStencilFuncwithStencilFunc withCulling setCulling setDepthFunc withDepthFuncsetFragmentPassTestswithFragmentPassTestscullingToConstantdefaultFragmentPassTestsColorviewRed viewGreenviewBlue viewAlphargbaviewRgbargbaLredLgreenLblueLalphaL BlendSpec alphaEquation colorEquation srcColorFunc srcAlphaFunc dstColorFunc dstAlphaFunc blendColor BlendFuncBFSrcAlphaSaturateBFOneMinusConstantAlphaBFConstantAlphaBFOneMinusConstantColorBFConstantColorBFOneMinusDstAlpha BFDstAlphaBFOneMinusSrcAlpha BFSrcAlphaBFOneMinusDstColor BFDstColorBFOneMinusSrcColor BFSrcColorBFOneBFZero BlendEquationBEMaxBEMinBEReverseSubtract BESubtractBEAdd toConstantBE toConstantBF setBlendings withBlendingspreMultipliedAlphanopBlend TooOldOpenGL wantedVersionreportedVersion giveContextsetViewportSizerunPendingFinalizersscheduleFinalizer MemoryInfoavailableVideoMemorytotalVideoMemory getMemoryInfoResource newResource withResourceFencefence waitFenceisFenceSignalledMapFlagUnSynchronized AccessFlagsNoAccessReadWriteAccess WriteAccess ReadAccessBuffer_ BufferStatusmappedBufferresourcestatusviewAllowedMappingsviewSizeordIndexbufferOrdIndex $fEqBuffer $fShowBuffer $fOrdBufferBufferCorruptionBufferCreation accessHintssize initialData accessFlags AccessNatureCopyReadDrawAccessFrequencyDynamicStaticStreamdefaultBufferCreation newBuffermap2mapunmap withMapping2 withMapping uploadVectorcopyinvalidateBufferVAO_VAO boundBuffers$fEqVAOSourcingoffsetattributeIndex componentsstride normalizeintegerMappinginstancingDivisor sourceTypeSourceableType reifyType SourceTypeSDoubleSFloat SHalfFloatSInt32SInt16SInt8SWord32SWord16SWord8newVAOsourceTypeSizedefaultSourcingdefaultSourcingTypesourceVertexData ShaderStageGeometryFragmentVertex Pipeline_Pipeline resourcePLpipelineIdentifiershadersShader_CompiledShader viewStage identifiershaderIdentifierSupply $fOrdPipeline $fEqPipeline $fOrdShader $fEqShader UniformableShaderLinkingErrorShaderCompilationErrorShaderBuildingErrorUniformLocation setUniform newShaderB newShaderBL newShader newPipelineVF newPipelinegetUniformLocation nopPipelineTopology TexBuffer texBufferTexCube widthCubeTex2DMultisampleArraywidth2DMSArrayheight2DMSArray layers2DMSsamples2DMSArrayfixedSampleLocations2DMSArrayTex2DMultisample width2DMS height2DMS samples2DMSfixedSampleLocations2DMS Tex2DArray width2DArray height2DArraylayers2D Tex1DArray width1DArraylayers1DTex3Dwidth3Dheight3Ddepth3DTex2Dwidth2Dheight2DTex1Dwidth1DTextureSpecificationtopology imageFormat mipmapLevels TextureUnitTexture_TextureviewSpecification ordIndices withBindingbindingQueryPointgetTopologyBindPointswithBindingByTopologywithTextureBinding $fOrdTexture $fEqTexture TextureTargetattachertexture Framebuffer_ AttachmentStencilAttachmentDepthAttachmentColorAttachment Framebuffer viewTargets dimensionsbindersetterScreenFramebuffer setBinding getDimensions$fOrdFramebuffer$fEqFramebufferfakeTextureStorage1DfakeTextureStorage2DfakeTextureStorage3D CompareModeCompareRefToTexture NoCompareWrappingRepeatClamp MagFilterMaLinear MaNearest MinFilterMiLinearMipmapLinearMiNearestMipmapLinearMiLinearMipmapNearestMiNearestMipmapNearestMiLinear MiNearestCubeSide NegativeZ PositiveZ NegativeX PositiveX NegativeY PositiveY Uploading fromBuffer bufferOffset toMipmapLevelspecificationType uploadFormatxOffsetyOffsetzOffsetuWidthuHeightuDepthcubeSide numColumnsnumRowspixelAlignment UploadFormatUSTENCIL_INDEXUDEPTH_COMPONENTUBGRAUBGRURGBAURGBURGURtextureSpecification viewWidth viewHeight viewDepthviewMipmapLevels newTexturegenerateMipmaps uploading1D uploading2D uploading3DuploadToTexturemaxMipmapLevels setMinFilter setMagFilter getMinFilter getMagFilter setWrappingsetCompareModegetCompareMode getWrapping setAnisotropy getAnisotropyClearing clearDepth clearStencil clearColorscreenFramebufferfrontTextureTargetmipmapTextureTargetlayerTextureTargetnewFramebuffergetMaximumDrawBuffersclearingclear SourceDataPrimitivesWithIndices indexBuffer indexOffset indexType Primitives firstIndex DrawCommand primitiveType primitivesVAO numIndices sourceData DrawParamspipelinefragmentPassTestsblendingtargetFramebuffer bindTextures polygonOffset IndexTypeable toIndexType IndexTypeIWord8IWord16IWord32 PrimitiveTrianglesAdjacencyTriangleStripAdjacencyLineStripAdjacencyLinesAdjacencyLineLoop LineStripLinesPoints TriangleFan TriangleStrip TrianglesdefaultDrawParams drawCommanddrawdrawRrunDrawssetTextureBindings setPipeline setBlendingsetPolygonOffsetsetTargetFramebufferFuntypeInvalidateSubFramebufferFuntypeInvalidateFramebufferFuntypeInvalidateBufferDataFuntypeInvalidateBufferSubDataFuntypeInvalidateTexImageFuntypeInvalidateTexSubImage FuntypeGetProgramPipelineInfoLogFuntypeValidateProgramPipeline FuntypeProgramUniformMatrix4x3dv FuntypeProgramUniformMatrix3x4dv FuntypeProgramUniformMatrix4x2dv FuntypeProgramUniformMatrix2x4dv FuntypeProgramUniformMatrix3x2dv FuntypeProgramUniformMatrix2x3dv FuntypeProgramUniformMatrix4x3fv FuntypeProgramUniformMatrix3x4fv FuntypeProgramUniformMatrix4x2fv FuntypeProgramUniformMatrix2x4fv FuntypeProgramUniformMatrix3x2fv FuntypeProgramUniformMatrix2x3fvFuntypeProgramUniformMatrix4dvFuntypeProgramUniformMatrix3dvFuntypeProgramUniformMatrix2dvFuntypeProgramUniformMatrix4fvFuntypeProgramUniformMatrix3fvFuntypeProgramUniformMatrix2fvFuntypeProgramUniform4uivFuntypeProgramUniform4uiFuntypeProgramUniform4dvFuntypeProgramUniform4dFuntypeProgramUniform4fvFuntypeProgramUniform4fFuntypeProgramUniform4ivFuntypeProgramUniform4iFuntypeProgramUniform3uivFuntypeProgramUniform3uiFuntypeProgramUniform3dvFuntypeProgramUniform3dFuntypeProgramUniform3fvFuntypeProgramUniform3fFuntypeProgramUniform3ivFuntypeProgramUniform3iFuntypeProgramUniform2uivFuntypeProgramUniform2uiFuntypeProgramUniform2dvFuntypeProgramUniform2dFuntypeProgramUniform2fvFuntypeProgramUniform2fFuntypeProgramUniform2ivFuntypeProgramUniform2iFuntypeProgramUniform1uivFuntypeProgramUniform1uiFuntypeProgramUniform1dvFuntypeProgramUniform1dFuntypeProgramUniform1fvFuntypeProgramUniform1fFuntypeProgramUniform1ivFuntypeProgramUniform1iFuntypeGetProgramPipelineivFuntypeIsProgramPipelineFuntypeGenProgramPipelinesFuntypeDeleteProgramPipelinesFuntypeBindProgramPipelineFuntypeCreateShaderProgramvFuntypeActiveShaderProgramFuntypeUseProgramStagesFuntypeBufferStorage(FuntypeVertexArrayVertexAttribDivisorEXTFuntypeTexturePageCommitmentEXT(FuntypeVertexArrayVertexAttribLOffsetEXT)FuntypeVertexArrayVertexBindingDivisorEXT(FuntypeVertexArrayVertexAttribBindingEXT(FuntypeVertexArrayVertexAttribLFormatEXT(FuntypeVertexArrayVertexAttribIFormatEXT'FuntypeVertexArrayVertexAttribFormatEXT%FuntypeVertexArrayBindVertexBufferEXT%FuntypeTextureStorage3DMultisampleEXT%FuntypeTextureStorage2DMultisampleEXTFuntypeTextureStorage3DEXTFuntypeTextureStorage2DEXTFuntypeTextureStorage1DEXTFuntypeTextureBufferRangeEXT#FuntypeProgramUniformMatrix4x3dvEXT#FuntypeProgramUniformMatrix4x2dvEXT#FuntypeProgramUniformMatrix3x4dvEXT#FuntypeProgramUniformMatrix3x2dvEXT#FuntypeProgramUniformMatrix2x4dvEXT#FuntypeProgramUniformMatrix2x3dvEXT!FuntypeProgramUniformMatrix4dvEXT!FuntypeProgramUniformMatrix3dvEXT!FuntypeProgramUniformMatrix2dvEXTFuntypeProgramUniform4dvEXTFuntypeProgramUniform3dvEXTFuntypeProgramUniform2dvEXTFuntypeProgramUniform1dvEXTFuntypeProgramUniform4dEXTFuntypeProgramUniform3dEXTFuntypeProgramUniform2dEXTFuntypeProgramUniform1dEXT(FuntypeGetNamedFramebufferParameterivEXT$FuntypeNamedFramebufferParameteriEXT!FuntypeClearNamedBufferSubDataEXTFuntypeClearNamedBufferDataEXTFuntypeNamedBufferStorageEXT%FuntypeFlushMappedNamedBufferRangeEXTFuntypeMapNamedBufferRangeEXT"FuntypeGetVertexArrayPointeri_vEXT"FuntypeGetVertexArrayIntegeri_vEXT FuntypeGetVertexArrayPointervEXT FuntypeGetVertexArrayIntegervEXT"FuntypeDisableVertexArrayAttribEXT!FuntypeEnableVertexArrayAttribEXTFuntypeDisableVertexArrayEXTFuntypeEnableVertexArrayEXT(FuntypeVertexArrayVertexAttribIOffsetEXT'FuntypeVertexArrayVertexAttribOffsetEXT)FuntypeVertexArraySecondaryColorOffsetEXT#FuntypeVertexArrayFogCoordOffsetEXT(FuntypeVertexArrayMultiTexCoordOffsetEXT#FuntypeVertexArrayTexCoordOffsetEXT!FuntypeVertexArrayNormalOffsetEXT FuntypeVertexArrayIndexOffsetEXT#FuntypeVertexArrayEdgeFlagOffsetEXT FuntypeVertexArrayColorOffsetEXT!FuntypeVertexArrayVertexOffsetEXTFuntypeMultiTexRenderbufferEXTFuntypeTextureRenderbufferEXT%FuntypeNamedFramebufferTextureFaceEXT&FuntypeNamedFramebufferTextureLayerEXT!FuntypeNamedFramebufferTextureEXT FuntypeNamedCopyBufferSubDataEXT#FuntypeGetFramebufferParameterivEXTFuntypeFramebufferReadBufferEXT FuntypeFramebufferDrawBuffersEXTFuntypeFramebufferDrawBufferEXT FuntypeGenerateMultiTexMipmapEXTFuntypeGenerateTextureMipmapEXT2FuntypeGetNamedFramebufferAttachmentParameterivEXT&FuntypeNamedFramebufferRenderbufferEXT#FuntypeNamedFramebufferTexture3DEXT#FuntypeNamedFramebufferTexture2DEXT#FuntypeNamedFramebufferTexture1DEXT%FuntypeCheckNamedFramebufferStatusEXT5FuntypeNamedRenderbufferStorageMultisampleCoverageEXT-FuntypeNamedRenderbufferStorageMultisampleEXT)FuntypeGetNamedRenderbufferParameterivEXT"FuntypeNamedRenderbufferStorageEXTFuntypeGetNamedProgramStringEXTFuntypeGetNamedProgramivEXT)FuntypeGetNamedProgramLocalParameterfvEXT)FuntypeGetNamedProgramLocalParameterdvEXT'FuntypeNamedProgramLocalParameter4fvEXT&FuntypeNamedProgramLocalParameter4fEXT'FuntypeNamedProgramLocalParameter4dvEXT&FuntypeNamedProgramLocalParameter4dEXTFuntypeNamedProgramStringEXTFuntypeGetPointeri_vEXTFuntypeGetDoublei_vEXTFuntypeGetFloati_vEXTFuntypeDisableClientStateiEXTFuntypeEnableClientStateiEXT+FuntypeGetNamedProgramLocalParameterIuivEXT*FuntypeGetNamedProgramLocalParameterIivEXT*FuntypeNamedProgramLocalParametersI4uivEXT)FuntypeNamedProgramLocalParameterI4uivEXT(FuntypeNamedProgramLocalParameterI4uiEXT)FuntypeNamedProgramLocalParametersI4ivEXT(FuntypeNamedProgramLocalParameterI4ivEXT'FuntypeNamedProgramLocalParameterI4iEXT(FuntypeNamedProgramLocalParameters4fvEXTFuntypeProgramUniform4uivEXTFuntypeProgramUniform3uivEXTFuntypeProgramUniform2uivEXTFuntypeProgramUniform1uivEXTFuntypeProgramUniform4uiEXTFuntypeProgramUniform3uiEXTFuntypeProgramUniform2uiEXTFuntypeProgramUniform1uiEXT"FuntypeGetMultiTexParameterIuivEXT!FuntypeGetMultiTexParameterIivEXTFuntypeMultiTexParameterIuivEXTFuntypeMultiTexParameterIivEXT!FuntypeGetTextureParameterIuivEXT FuntypeGetTextureParameterIivEXTFuntypeTextureParameterIuivEXTFuntypeTextureParameterIivEXTFuntypeMultiTexBufferEXTFuntypeTextureBufferEXT#FuntypeProgramUniformMatrix4x3fvEXT#FuntypeProgramUniformMatrix3x4fvEXT#FuntypeProgramUniformMatrix4x2fvEXT#FuntypeProgramUniformMatrix2x4fvEXT#FuntypeProgramUniformMatrix3x2fvEXT#FuntypeProgramUniformMatrix2x3fvEXT!FuntypeProgramUniformMatrix4fvEXT!FuntypeProgramUniformMatrix3fvEXT!FuntypeProgramUniformMatrix2fvEXTFuntypeProgramUniform4ivEXTFuntypeProgramUniform3ivEXTFuntypeProgramUniform2ivEXTFuntypeProgramUniform1ivEXTFuntypeProgramUniform4fvEXTFuntypeProgramUniform3fvEXTFuntypeProgramUniform2fvEXTFuntypeProgramUniform1fvEXTFuntypeProgramUniform4iEXTFuntypeProgramUniform3iEXTFuntypeProgramUniform2iEXTFuntypeProgramUniform1iEXTFuntypeProgramUniform4fEXTFuntypeProgramUniform3fEXTFuntypeProgramUniform2fEXTFuntypeProgramUniform1fEXTFuntypeGetNamedBufferSubDataEXT FuntypeGetNamedBufferPointervEXT#FuntypeGetNamedBufferParameterivEXTFuntypeUnmapNamedBufferEXTFuntypeMapNamedBufferEXTFuntypeNamedBufferSubDataEXTFuntypeNamedBufferDataEXTFuntypeMatrixMultTransposedEXTFuntypeMatrixMultTransposefEXTFuntypeMatrixLoadTransposedEXTFuntypeMatrixLoadTransposefEXT$FuntypeGetCompressedMultiTexImageEXT&FuntypeCompressedMultiTexSubImage1DEXT&FuntypeCompressedMultiTexSubImage2DEXT&FuntypeCompressedMultiTexSubImage3DEXT#FuntypeCompressedMultiTexImage1DEXT#FuntypeCompressedMultiTexImage2DEXT#FuntypeCompressedMultiTexImage3DEXT#FuntypeGetCompressedTextureImageEXT%FuntypeCompressedTextureSubImage1DEXT%FuntypeCompressedTextureSubImage2DEXT%FuntypeCompressedTextureSubImage3DEXT"FuntypeCompressedTextureImage1DEXT"FuntypeCompressedTextureImage2DEXT"FuntypeCompressedTextureImage3DEXTFuntypeGetBooleanIndexedvEXTFuntypeGetIntegerIndexedvEXTFuntypeIsEnabledIndexedEXTFuntypeDisableIndexedEXTFuntypeEnableIndexedEXTFuntypeGetPointerIndexedvEXTFuntypeGetDoubleIndexedvEXTFuntypeGetFloatIndexedvEXT#FuntypeDisableClientStateIndexedEXT"FuntypeEnableClientStateIndexedEXT FuntypeCopyMultiTexSubImage3DEXTFuntypeMultiTexSubImage3DEXTFuntypeMultiTexImage3DEXT%FuntypeGetMultiTexLevelParameterivEXT%FuntypeGetMultiTexLevelParameterfvEXT FuntypeGetMultiTexParameterivEXT FuntypeGetMultiTexParameterfvEXTFuntypeGetMultiTexImageEXT FuntypeCopyMultiTexSubImage2DEXT FuntypeCopyMultiTexSubImage1DEXTFuntypeCopyMultiTexImage2DEXTFuntypeCopyMultiTexImage1DEXTFuntypeMultiTexSubImage2DEXTFuntypeMultiTexSubImage1DEXTFuntypeMultiTexImage2DEXTFuntypeMultiTexImage1DEXTFuntypeMultiTexParameterfvEXTFuntypeMultiTexParameterfEXTFuntypeMultiTexParameterivEXTFuntypeMultiTexParameteriEXTFuntypeGetMultiTexGenivEXTFuntypeGetMultiTexGenfvEXTFuntypeGetMultiTexGendvEXTFuntypeGetMultiTexEnvivEXTFuntypeGetMultiTexEnvfvEXTFuntypeMultiTexGenivEXTFuntypeMultiTexGeniEXTFuntypeMultiTexGenfvEXTFuntypeMultiTexGenfEXTFuntypeMultiTexGendvEXTFuntypeMultiTexGendEXTFuntypeMultiTexEnvivEXTFuntypeMultiTexEnviEXTFuntypeMultiTexEnvfvEXTFuntypeMultiTexEnvfEXTFuntypeMultiTexCoordPointerEXTFuntypeBindMultiTextureEXTFuntypeCopyTextureSubImage3DEXTFuntypeTextureSubImage3DEXTFuntypeTextureImage3DEXT$FuntypeGetTextureLevelParameterivEXT$FuntypeGetTextureLevelParameterfvEXTFuntypeGetTextureParameterivEXTFuntypeGetTextureParameterfvEXTFuntypeGetTextureImageEXTFuntypeCopyTextureSubImage2DEXTFuntypeCopyTextureSubImage1DEXTFuntypeCopyTextureImage2DEXTFuntypeCopyTextureImage1DEXTFuntypeTextureSubImage2DEXTFuntypeTextureSubImage1DEXTFuntypeTextureImage2DEXTFuntypeTextureImage1DEXTFuntypeTextureParameterivEXTFuntypeTextureParameteriEXTFuntypeTextureParameterfvEXTFuntypeTextureParameterfEXT!FuntypePushClientAttribDefaultEXTFuntypeClientAttribDefaultEXTFuntypeMatrixPushEXTFuntypeMatrixPopEXTFuntypeMatrixOrthoEXTFuntypeMatrixFrustumEXTFuntypeMatrixTranslatedEXTFuntypeMatrixTranslatefEXTFuntypeMatrixScaledEXTFuntypeMatrixScalefEXTFuntypeMatrixRotatedEXTFuntypeMatrixRotatefEXTFuntypeMatrixLoadIdentityEXTFuntypeMatrixMultdEXTFuntypeMatrixMultfEXTFuntypeMatrixLoaddEXTFuntypeMatrixLoadfEXTFuntypeGetPointervKHRFuntypeGetObjectPtrLabelKHRFuntypeObjectPtrLabelKHRFuntypeGetObjectLabelKHRFuntypeObjectLabelKHRFuntypePopDebugGroupKHRFuntypePushDebugGroupKHRFuntypeGetDebugMessageLogKHRFuntypeDebugMessageCallbackKHRFuntypeDebugMessageInsertKHRFuntypeDebugMessageControlKHRFuntypeGetPointervFuntypeGetObjectPtrLabelFuntypeObjectPtrLabelFuntypeGetObjectLabelFuntypeObjectLabelFuntypePopDebugGroupFuntypePushDebugGroupFuntypeGetDebugMessageLogFuntypeDebugMessageCallbackFuntypeDebugMessageInsertFuntypeDebugMessageControlFuntypeTexStorage3DFuntypeTexStorage2DFuntypeTexStorage1DFuntypeVertexAttribP4uivFuntypeVertexAttribP4uiFuntypeVertexAttribP3uivFuntypeVertexAttribP3uiFuntypeVertexAttribP2uivFuntypeVertexAttribP2uiFuntypeVertexAttribP1uivFuntypeVertexAttribP1uiFuntypeVertexAttribDivisorFuntypeGetQueryObjectui64vFuntypeGetQueryObjecti64vFuntypeQueryCounterFuntypeGetSamplerParameterIuivFuntypeGetSamplerParameterfvFuntypeGetSamplerParameterIivFuntypeGetSamplerParameterivFuntypeSamplerParameterIuivFuntypeSamplerParameterIivFuntypeSamplerParameterfvFuntypeSamplerParameterfFuntypeSamplerParameterivFuntypeSamplerParameteriFuntypeBindSamplerFuntypeIsSamplerFuntypeDeleteSamplersFuntypeGenSamplersFuntypeGetFragDataIndex"FuntypeBindFragDataLocationIndexedFuntypeSampleMaskiFuntypeGetMultisamplefvFuntypeTexImage3DMultisampleFuntypeTexImage2DMultisampleFuntypeFramebufferTextureFuntypeGetBufferParameteri64vFuntypeGetInteger64i_vFuntypeGetSyncivFuntypeGetInteger64vFuntypeWaitSyncFuntypeClientWaitSyncFuntypeDeleteSync FuntypeIsSyncFuntypeFenceSyncFuntypeProvokingVertex"FuntypeMultiDrawElementsBaseVertex&FuntypeDrawElementsInstancedBaseVertex"FuntypeDrawRangeElementsBaseVertexFuntypeDrawElementsBaseVertexFuntypeUniformBlockBinding FuntypeGetActiveUniformBlockNameFuntypeGetActiveUniformBlockivFuntypeGetUniformBlockIndexFuntypeGetActiveUniformNameFuntypeGetActiveUniformsivFuntypeGetUniformIndicesFuntypeCopyBufferSubDataFuntypePrimitiveRestartIndexFuntypeTexBufferFuntypeDrawElementsInstancedFuntypeDrawArraysInstancedFuntypeIsVertexArrayFuntypeGenVertexArraysFuntypeDeleteVertexArraysFuntypeBindVertexArrayFuntypeFlushMappedBufferRangeFuntypeMapBufferRangeFuntypeFramebufferTextureLayer%FuntypeRenderbufferStorageMultisampleFuntypeBlitFramebufferFuntypeGenerateMipmap*FuntypeGetFramebufferAttachmentParameterivFuntypeFramebufferRenderbufferFuntypeFramebufferTexture3DFuntypeFramebufferTexture2DFuntypeFramebufferTexture1DFuntypeCheckFramebufferStatusFuntypeGenFramebuffersFuntypeDeleteFramebuffersFuntypeBindFramebufferFuntypeIsFramebuffer!FuntypeGetRenderbufferParameterivFuntypeRenderbufferStorageFuntypeGenRenderbuffersFuntypeDeleteRenderbuffersFuntypeBindRenderbufferFuntypeIsRenderbufferFuntypeGetStringiFuntypeClearBufferfiFuntypeClearBufferfvFuntypeClearBufferuivFuntypeClearBufferivFuntypeGetTexParameterIuivFuntypeGetTexParameterIivFuntypeTexParameterIuivFuntypeTexParameterIivFuntypeUniform4uivFuntypeUniform3uivFuntypeUniform2uivFuntypeUniform1uivFuntypeUniform4uiFuntypeUniform3uiFuntypeUniform2uiFuntypeUniform1uiFuntypeGetFragDataLocationFuntypeBindFragDataLocationFuntypeGetUniformuivFuntypeVertexAttribI4usvFuntypeVertexAttribI4ubvFuntypeVertexAttribI4svFuntypeVertexAttribI4bvFuntypeVertexAttribI4uivFuntypeVertexAttribI3uivFuntypeVertexAttribI2uivFuntypeVertexAttribI1uivFuntypeVertexAttribI4ivFuntypeVertexAttribI3ivFuntypeVertexAttribI2ivFuntypeVertexAttribI1ivFuntypeVertexAttribI4uiFuntypeVertexAttribI3uiFuntypeVertexAttribI2uiFuntypeVertexAttribI1uiFuntypeVertexAttribI4iFuntypeVertexAttribI3iFuntypeVertexAttribI2iFuntypeVertexAttribI1iFuntypeGetVertexAttribIuivFuntypeGetVertexAttribIivFuntypeVertexAttribIPointerFuntypeEndConditionalRenderFuntypeBeginConditionalRenderFuntypeClampColor"FuntypeGetTransformFeedbackVarying FuntypeTransformFeedbackVaryingsFuntypeBindBufferBaseFuntypeBindBufferRangeFuntypeEndTransformFeedbackFuntypeBeginTransformFeedbackFuntypeIsEnablediFuntypeDisableiFuntypeEnableiFuntypeGetIntegeri_vFuntypeGetBooleani_vFuntypeColorMaskiFuntypeUniformMatrix4x3fvFuntypeUniformMatrix3x4fvFuntypeUniformMatrix4x2fvFuntypeUniformMatrix2x4fvFuntypeUniformMatrix3x2fvFuntypeUniformMatrix2x3fvFuntypeVertexAttribPointerFuntypeVertexAttrib4usvFuntypeVertexAttrib4uivFuntypeVertexAttrib4ubvFuntypeVertexAttrib4svFuntypeVertexAttrib4sFuntypeVertexAttrib4ivFuntypeVertexAttrib4fvFuntypeVertexAttrib4fFuntypeVertexAttrib4dvFuntypeVertexAttrib4dFuntypeVertexAttrib4bvFuntypeVertexAttrib4NusvFuntypeVertexAttrib4NuivFuntypeVertexAttrib4NubvFuntypeVertexAttrib4NubFuntypeVertexAttrib4NsvFuntypeVertexAttrib4NivFuntypeVertexAttrib4NbvFuntypeVertexAttrib3svFuntypeVertexAttrib3sFuntypeVertexAttrib3fvFuntypeVertexAttrib3fFuntypeVertexAttrib3dvFuntypeVertexAttrib3dFuntypeVertexAttrib2svFuntypeVertexAttrib2sFuntypeVertexAttrib2fvFuntypeVertexAttrib2fFuntypeVertexAttrib2dvFuntypeVertexAttrib2dFuntypeVertexAttrib1svFuntypeVertexAttrib1sFuntypeVertexAttrib1fvFuntypeVertexAttrib1fFuntypeVertexAttrib1dvFuntypeVertexAttrib1dFuntypeValidateProgramFuntypeUniformMatrix4fvFuntypeUniformMatrix3fvFuntypeUniformMatrix2fvFuntypeUniform4ivFuntypeUniform3ivFuntypeUniform2ivFuntypeUniform1ivFuntypeUniform4fvFuntypeUniform3fvFuntypeUniform2fvFuntypeUniform1fvFuntypeUniform4iFuntypeUniform3iFuntypeUniform2iFuntypeUniform1iFuntypeUniform4fFuntypeUniform3fFuntypeUniform2fFuntypeUniform1fFuntypeUseProgramFuntypeShaderSourceFuntypeLinkProgramFuntypeIsShaderFuntypeIsProgramFuntypeGetVertexAttribPointervFuntypeGetVertexAttribivFuntypeGetVertexAttribfvFuntypeGetVertexAttribdvFuntypeGetUniformivFuntypeGetUniformfvFuntypeGetUniformLocationFuntypeGetShaderSourceFuntypeGetShaderInfoLogFuntypeGetShaderivFuntypeGetProgramInfoLogFuntypeGetProgramivFuntypeGetAttribLocationFuntypeGetAttachedShadersFuntypeGetActiveUniformFuntypeGetActiveAttribFuntypeEnableVertexAttribArrayFuntypeDisableVertexAttribArrayFuntypeDetachShaderFuntypeDeleteShaderFuntypeDeleteProgramFuntypeCreateShaderFuntypeCreateProgramFuntypeCompileShaderFuntypeBindAttribLocationFuntypeAttachShaderFuntypeStencilMaskSeparateFuntypeStencilFuncSeparateFuntypeStencilOpSeparateFuntypeDrawBuffersFuntypeBlendEquationSeparateFuntypeGetBufferPointervFuntypeGetBufferParameterivFuntypeUnmapBufferFuntypeMapBufferFuntypeGetBufferSubDataFuntypeBufferSubDataFuntypeBufferDataFuntypeIsBufferFuntypeGenBuffersFuntypeDeleteBuffersFuntypeBindBufferFuntypeGetQueryObjectuivFuntypeGetQueryObjectivFuntypeGetQueryivFuntypeEndQueryFuntypeBeginQueryFuntypeIsQueryFuntypeDeleteQueriesFuntypeGenQueriesFuntypeBlendEquationFuntypeBlendColorFuntypePointParameterivFuntypePointParameteriFuntypePointParameterfvFuntypePointParameterfFuntypeMultiDrawElementsFuntypeMultiDrawArraysFuntypeBlendFuncSeparateFuntypeGetCompressedTexImageFuntypeCompressedTexSubImage1DFuntypeCompressedTexSubImage2DFuntypeCompressedTexSubImage3DFuntypeCompressedTexImage1DFuntypeCompressedTexImage2DFuntypeCompressedTexImage3DFuntypeSampleCoverageFuntypeActiveTextureFuntypeCopyTexSubImage3DFuntypeTexSubImage3DFuntypeTexImage3DFuntypeDrawRangeElementsFuntypeIsTextureFuntypeGenTexturesFuntypeDeleteTexturesFuntypeBindTextureFuntypeTexSubImage2DFuntypeTexSubImage1DFuntypeCopyTexSubImage2DFuntypeCopyTexSubImage1DFuntypeCopyTexImage2DFuntypeCopyTexImage1DFuntypePolygonOffsetFuntypeDrawElementsFuntypeDrawArraysFuntypeViewportFuntypeDepthRangeFuntypeIsEnabledFuntypeGetTexLevelParameterivFuntypeGetTexLevelParameterfvFuntypeGetTexParameterivFuntypeGetTexParameterfvFuntypeGetTexImageFuntypeGetStringFuntypeGetIntegervFuntypeGetFloatvFuntypeGetErrorFuntypeGetDoublevFuntypeGetBooleanvFuntypeReadPixelsFuntypeReadBufferFuntypePixelStoreiFuntypePixelStorefFuntypeDepthFuncFuntypeStencilOpFuntypeStencilFuncFuntypeLogicOpFuntypeBlendFunc FuntypeFlush FuntypeFinish FuntypeEnableFuntypeDisableFuntypeDepthMaskFuntypeColorMaskFuntypeStencilMaskFuntypeClearDepthFuntypeClearStencilFuntypeClearColor FuntypeClearFuntypeDrawBufferFuntypeTexImage2DFuntypeTexImage1DFuntypeTexParameterivFuntypeTexParameteriFuntypeTexParameterfvFuntypeTexParameterfFuntypeScissorFuntypePolygonModeFuntypePointSizeFuntypeLineWidth FuntypeHintFuntypeFrontFaceFuntypeCullFacegldynInvalidateSubFramebuffergldynInvalidateFramebuffergldynInvalidateBufferDatagldynInvalidateBufferSubDatagldynInvalidateTexImagegldynInvalidateTexSubImagegldynGetProgramPipelineInfoLoggldynValidateProgramPipelinegldynProgramUniformMatrix4x3dvgldynProgramUniformMatrix3x4dvgldynProgramUniformMatrix4x2dvgldynProgramUniformMatrix2x4dvgldynProgramUniformMatrix3x2dvgldynProgramUniformMatrix2x3dvgldynProgramUniformMatrix4x3fvgldynProgramUniformMatrix3x4fvgldynProgramUniformMatrix4x2fvgldynProgramUniformMatrix2x4fvgldynProgramUniformMatrix3x2fvgldynProgramUniformMatrix2x3fvgldynProgramUniformMatrix4dvgldynProgramUniformMatrix3dvgldynProgramUniformMatrix2dvgldynProgramUniformMatrix4fvgldynProgramUniformMatrix3fvgldynProgramUniformMatrix2fvgldynProgramUniform4uivgldynProgramUniform4uigldynProgramUniform4dvgldynProgramUniform4dgldynProgramUniform4fvgldynProgramUniform4fgldynProgramUniform4ivgldynProgramUniform4igldynProgramUniform3uivgldynProgramUniform3uigldynProgramUniform3dvgldynProgramUniform3dgldynProgramUniform3fvgldynProgramUniform3fgldynProgramUniform3ivgldynProgramUniform3igldynProgramUniform2uivgldynProgramUniform2uigldynProgramUniform2dvgldynProgramUniform2dgldynProgramUniform2fvgldynProgramUniform2fgldynProgramUniform2ivgldynProgramUniform2igldynProgramUniform1uivgldynProgramUniform1uigldynProgramUniform1dvgldynProgramUniform1dgldynProgramUniform1fvgldynProgramUniform1fgldynProgramUniform1ivgldynProgramUniform1igldynGetProgramPipelineivgldynIsProgramPipelinegldynGenProgramPipelinesgldynDeleteProgramPipelinesgldynBindProgramPipelinegldynCreateShaderProgramvgldynActiveShaderProgramgldynUseProgramStagesgldynBufferStorage&gldynVertexArrayVertexAttribDivisorEXTgldynTexturePageCommitmentEXT&gldynVertexArrayVertexAttribLOffsetEXT'gldynVertexArrayVertexBindingDivisorEXT&gldynVertexArrayVertexAttribBindingEXT&gldynVertexArrayVertexAttribLFormatEXT&gldynVertexArrayVertexAttribIFormatEXT%gldynVertexArrayVertexAttribFormatEXT#gldynVertexArrayBindVertexBufferEXT#gldynTextureStorage3DMultisampleEXT#gldynTextureStorage2DMultisampleEXTgldynTextureStorage3DEXTgldynTextureStorage2DEXTgldynTextureStorage1DEXTgldynTextureBufferRangeEXT!gldynProgramUniformMatrix4x3dvEXT!gldynProgramUniformMatrix4x2dvEXT!gldynProgramUniformMatrix3x4dvEXT!gldynProgramUniformMatrix3x2dvEXT!gldynProgramUniformMatrix2x4dvEXT!gldynProgramUniformMatrix2x3dvEXTgldynProgramUniformMatrix4dvEXTgldynProgramUniformMatrix3dvEXTgldynProgramUniformMatrix2dvEXTgldynProgramUniform4dvEXTgldynProgramUniform3dvEXTgldynProgramUniform2dvEXTgldynProgramUniform1dvEXTgldynProgramUniform4dEXTgldynProgramUniform3dEXTgldynProgramUniform2dEXTgldynProgramUniform1dEXT&gldynGetNamedFramebufferParameterivEXT"gldynNamedFramebufferParameteriEXTgldynClearNamedBufferSubDataEXTgldynClearNamedBufferDataEXTgldynNamedBufferStorageEXT#gldynFlushMappedNamedBufferRangeEXTgldynMapNamedBufferRangeEXT gldynGetVertexArrayPointeri_vEXT gldynGetVertexArrayIntegeri_vEXTgldynGetVertexArrayPointervEXTgldynGetVertexArrayIntegervEXT gldynDisableVertexArrayAttribEXTgldynEnableVertexArrayAttribEXTgldynDisableVertexArrayEXTgldynEnableVertexArrayEXT&gldynVertexArrayVertexAttribIOffsetEXT%gldynVertexArrayVertexAttribOffsetEXT'gldynVertexArraySecondaryColorOffsetEXT!gldynVertexArrayFogCoordOffsetEXT&gldynVertexArrayMultiTexCoordOffsetEXT!gldynVertexArrayTexCoordOffsetEXTgldynVertexArrayNormalOffsetEXTgldynVertexArrayIndexOffsetEXT!gldynVertexArrayEdgeFlagOffsetEXTgldynVertexArrayColorOffsetEXTgldynVertexArrayVertexOffsetEXTgldynMultiTexRenderbufferEXTgldynTextureRenderbufferEXT#gldynNamedFramebufferTextureFaceEXT$gldynNamedFramebufferTextureLayerEXTgldynNamedFramebufferTextureEXTgldynNamedCopyBufferSubDataEXT!gldynGetFramebufferParameterivEXTgldynFramebufferReadBufferEXTgldynFramebufferDrawBuffersEXTgldynFramebufferDrawBufferEXTgldynGenerateMultiTexMipmapEXTgldynGenerateTextureMipmapEXT0gldynGetNamedFramebufferAttachmentParameterivEXT$gldynNamedFramebufferRenderbufferEXT!gldynNamedFramebufferTexture3DEXT!gldynNamedFramebufferTexture2DEXT!gldynNamedFramebufferTexture1DEXT#gldynCheckNamedFramebufferStatusEXT3gldynNamedRenderbufferStorageMultisampleCoverageEXT+gldynNamedRenderbufferStorageMultisampleEXT'gldynGetNamedRenderbufferParameterivEXT gldynNamedRenderbufferStorageEXTgldynGetNamedProgramStringEXTgldynGetNamedProgramivEXT'gldynGetNamedProgramLocalParameterfvEXT'gldynGetNamedProgramLocalParameterdvEXT%gldynNamedProgramLocalParameter4fvEXT$gldynNamedProgramLocalParameter4fEXT%gldynNamedProgramLocalParameter4dvEXT$gldynNamedProgramLocalParameter4dEXTgldynNamedProgramStringEXTgldynGetPointeri_vEXTgldynGetDoublei_vEXTgldynGetFloati_vEXTgldynDisableClientStateiEXTgldynEnableClientStateiEXT)gldynGetNamedProgramLocalParameterIuivEXT(gldynGetNamedProgramLocalParameterIivEXT(gldynNamedProgramLocalParametersI4uivEXT'gldynNamedProgramLocalParameterI4uivEXT&gldynNamedProgramLocalParameterI4uiEXT'gldynNamedProgramLocalParametersI4ivEXT&gldynNamedProgramLocalParameterI4ivEXT%gldynNamedProgramLocalParameterI4iEXT&gldynNamedProgramLocalParameters4fvEXTgldynProgramUniform4uivEXTgldynProgramUniform3uivEXTgldynProgramUniform2uivEXTgldynProgramUniform1uivEXTgldynProgramUniform4uiEXTgldynProgramUniform3uiEXTgldynProgramUniform2uiEXTgldynProgramUniform1uiEXT gldynGetMultiTexParameterIuivEXTgldynGetMultiTexParameterIivEXTgldynMultiTexParameterIuivEXTgldynMultiTexParameterIivEXTgldynGetTextureParameterIuivEXTgldynGetTextureParameterIivEXTgldynTextureParameterIuivEXTgldynTextureParameterIivEXTgldynMultiTexBufferEXTgldynTextureBufferEXT!gldynProgramUniformMatrix4x3fvEXT!gldynProgramUniformMatrix3x4fvEXT!gldynProgramUniformMatrix4x2fvEXT!gldynProgramUniformMatrix2x4fvEXT!gldynProgramUniformMatrix3x2fvEXT!gldynProgramUniformMatrix2x3fvEXTgldynProgramUniformMatrix4fvEXTgldynProgramUniformMatrix3fvEXTgldynProgramUniformMatrix2fvEXTgldynProgramUniform4ivEXTgldynProgramUniform3ivEXTgldynProgramUniform2ivEXTgldynProgramUniform1ivEXTgldynProgramUniform4fvEXTgldynProgramUniform3fvEXTgldynProgramUniform2fvEXTgldynProgramUniform1fvEXTgldynProgramUniform4iEXTgldynProgramUniform3iEXTgldynProgramUniform2iEXTgldynProgramUniform1iEXTgldynProgramUniform4fEXTgldynProgramUniform3fEXTgldynProgramUniform2fEXTgldynProgramUniform1fEXTgldynGetNamedBufferSubDataEXTgldynGetNamedBufferPointervEXT!gldynGetNamedBufferParameterivEXTgldynUnmapNamedBufferEXTgldynMapNamedBufferEXTgldynNamedBufferSubDataEXTgldynNamedBufferDataEXTgldynMatrixMultTransposedEXTgldynMatrixMultTransposefEXTgldynMatrixLoadTransposedEXTgldynMatrixLoadTransposefEXT"gldynGetCompressedMultiTexImageEXT$gldynCompressedMultiTexSubImage1DEXT$gldynCompressedMultiTexSubImage2DEXT$gldynCompressedMultiTexSubImage3DEXT!gldynCompressedMultiTexImage1DEXT!gldynCompressedMultiTexImage2DEXT!gldynCompressedMultiTexImage3DEXT!gldynGetCompressedTextureImageEXT#gldynCompressedTextureSubImage1DEXT#gldynCompressedTextureSubImage2DEXT#gldynCompressedTextureSubImage3DEXT gldynCompressedTextureImage1DEXT gldynCompressedTextureImage2DEXT gldynCompressedTextureImage3DEXTgldynGetBooleanIndexedvEXTgldynGetIntegerIndexedvEXTgldynIsEnabledIndexedEXTgldynDisableIndexedEXTgldynEnableIndexedEXTgldynGetPointerIndexedvEXTgldynGetDoubleIndexedvEXTgldynGetFloatIndexedvEXT!gldynDisableClientStateIndexedEXT gldynEnableClientStateIndexedEXTgldynCopyMultiTexSubImage3DEXTgldynMultiTexSubImage3DEXTgldynMultiTexImage3DEXT#gldynGetMultiTexLevelParameterivEXT#gldynGetMultiTexLevelParameterfvEXTgldynGetMultiTexParameterivEXTgldynGetMultiTexParameterfvEXTgldynGetMultiTexImageEXTgldynCopyMultiTexSubImage2DEXTgldynCopyMultiTexSubImage1DEXTgldynCopyMultiTexImage2DEXTgldynCopyMultiTexImage1DEXTgldynMultiTexSubImage2DEXTgldynMultiTexSubImage1DEXTgldynMultiTexImage2DEXTgldynMultiTexImage1DEXTgldynMultiTexParameterfvEXTgldynMultiTexParameterfEXTgldynMultiTexParameterivEXTgldynMultiTexParameteriEXTgldynGetMultiTexGenivEXTgldynGetMultiTexGenfvEXTgldynGetMultiTexGendvEXTgldynGetMultiTexEnvivEXTgldynGetMultiTexEnvfvEXTgldynMultiTexGenivEXTgldynMultiTexGeniEXTgldynMultiTexGenfvEXTgldynMultiTexGenfEXTgldynMultiTexGendvEXTgldynMultiTexGendEXTgldynMultiTexEnvivEXTgldynMultiTexEnviEXTgldynMultiTexEnvfvEXTgldynMultiTexEnvfEXTgldynMultiTexCoordPointerEXTgldynBindMultiTextureEXTgldynCopyTextureSubImage3DEXTgldynTextureSubImage3DEXTgldynTextureImage3DEXT"gldynGetTextureLevelParameterivEXT"gldynGetTextureLevelParameterfvEXTgldynGetTextureParameterivEXTgldynGetTextureParameterfvEXTgldynGetTextureImageEXTgldynCopyTextureSubImage2DEXTgldynCopyTextureSubImage1DEXTgldynCopyTextureImage2DEXTgldynCopyTextureImage1DEXTgldynTextureSubImage2DEXTgldynTextureSubImage1DEXTgldynTextureImage2DEXTgldynTextureImage1DEXTgldynTextureParameterivEXTgldynTextureParameteriEXTgldynTextureParameterfvEXTgldynTextureParameterfEXTgldynPushClientAttribDefaultEXTgldynClientAttribDefaultEXTgldynMatrixPushEXTgldynMatrixPopEXTgldynMatrixOrthoEXTgldynMatrixFrustumEXTgldynMatrixTranslatedEXTgldynMatrixTranslatefEXTgldynMatrixScaledEXTgldynMatrixScalefEXTgldynMatrixRotatedEXTgldynMatrixRotatefEXTgldynMatrixLoadIdentityEXTgldynMatrixMultdEXTgldynMatrixMultfEXTgldynMatrixLoaddEXTgldynMatrixLoadfEXTgldynGetPointervKHRgldynGetObjectPtrLabelKHRgldynObjectPtrLabelKHRgldynGetObjectLabelKHRgldynObjectLabelKHRgldynPopDebugGroupKHRgldynPushDebugGroupKHRgldynGetDebugMessageLogKHRgldynDebugMessageCallbackKHRgldynDebugMessageInsertKHRgldynDebugMessageControlKHRgldynGetPointervgldynGetObjectPtrLabelgldynObjectPtrLabelgldynGetObjectLabelgldynObjectLabelgldynPopDebugGroupgldynPushDebugGroupgldynGetDebugMessageLoggldynDebugMessageCallbackgldynDebugMessageInsertgldynDebugMessageControlgldynTexStorage3DgldynTexStorage2DgldynTexStorage1DgldynVertexAttribP4uivgldynVertexAttribP4uigldynVertexAttribP3uivgldynVertexAttribP3uigldynVertexAttribP2uivgldynVertexAttribP2uigldynVertexAttribP1uivgldynVertexAttribP1uigldynVertexAttribDivisorgldynGetQueryObjectui64vgldynGetQueryObjecti64vgldynQueryCountergldynGetSamplerParameterIuivgldynGetSamplerParameterfvgldynGetSamplerParameterIivgldynGetSamplerParameterivgldynSamplerParameterIuivgldynSamplerParameterIivgldynSamplerParameterfvgldynSamplerParameterfgldynSamplerParameterivgldynSamplerParameterigldynBindSamplergldynIsSamplergldynDeleteSamplersgldynGenSamplersgldynGetFragDataIndex gldynBindFragDataLocationIndexedgldynSampleMaskigldynGetMultisamplefvgldynTexImage3DMultisamplegldynTexImage2DMultisamplegldynFramebufferTexturegldynGetBufferParameteri64vgldynGetInteger64i_vgldynGetSyncivgldynGetInteger64v gldynWaitSyncgldynClientWaitSyncgldynDeleteSync gldynIsSyncgldynFenceSyncgldynProvokingVertex gldynMultiDrawElementsBaseVertex$gldynDrawElementsInstancedBaseVertex gldynDrawRangeElementsBaseVertexgldynDrawElementsBaseVertexgldynUniformBlockBindinggldynGetActiveUniformBlockNamegldynGetActiveUniformBlockivgldynGetUniformBlockIndexgldynGetActiveUniformNamegldynGetActiveUniformsivgldynGetUniformIndicesgldynCopyBufferSubDatagldynPrimitiveRestartIndexgldynTexBuffergldynDrawElementsInstancedgldynDrawArraysInstancedgldynIsVertexArraygldynGenVertexArraysgldynDeleteVertexArraysgldynBindVertexArraygldynFlushMappedBufferRangegldynMapBufferRangegldynFramebufferTextureLayer#gldynRenderbufferStorageMultisamplegldynBlitFramebuffergldynGenerateMipmap(gldynGetFramebufferAttachmentParameterivgldynFramebufferRenderbuffergldynFramebufferTexture3DgldynFramebufferTexture2DgldynFramebufferTexture1DgldynCheckFramebufferStatusgldynGenFramebuffersgldynDeleteFramebuffersgldynBindFramebuffergldynIsFramebuffergldynGetRenderbufferParameterivgldynRenderbufferStoragegldynGenRenderbuffersgldynDeleteRenderbuffersgldynBindRenderbuffergldynIsRenderbuffergldynGetStringigldynClearBufferfigldynClearBufferfvgldynClearBufferuivgldynClearBufferivgldynGetTexParameterIuivgldynGetTexParameterIivgldynTexParameterIuivgldynTexParameterIivgldynUniform4uivgldynUniform3uivgldynUniform2uivgldynUniform1uivgldynUniform4uigldynUniform3uigldynUniform2uigldynUniform1uigldynGetFragDataLocationgldynBindFragDataLocationgldynGetUniformuivgldynVertexAttribI4usvgldynVertexAttribI4ubvgldynVertexAttribI4svgldynVertexAttribI4bvgldynVertexAttribI4uivgldynVertexAttribI3uivgldynVertexAttribI2uivgldynVertexAttribI1uivgldynVertexAttribI4ivgldynVertexAttribI3ivgldynVertexAttribI2ivgldynVertexAttribI1ivgldynVertexAttribI4uigldynVertexAttribI3uigldynVertexAttribI2uigldynVertexAttribI1uigldynVertexAttribI4igldynVertexAttribI3igldynVertexAttribI2igldynVertexAttribI1igldynGetVertexAttribIuivgldynGetVertexAttribIivgldynVertexAttribIPointergldynEndConditionalRendergldynBeginConditionalRendergldynClampColor gldynGetTransformFeedbackVaryinggldynTransformFeedbackVaryingsgldynBindBufferBasegldynBindBufferRangegldynEndTransformFeedbackgldynBeginTransformFeedbackgldynIsEnabledi gldynDisablei gldynEnableigldynGetIntegeri_vgldynGetBooleani_vgldynColorMaskigldynUniformMatrix4x3fvgldynUniformMatrix3x4fvgldynUniformMatrix4x2fvgldynUniformMatrix2x4fvgldynUniformMatrix3x2fvgldynUniformMatrix2x3fvgldynVertexAttribPointergldynVertexAttrib4usvgldynVertexAttrib4uivgldynVertexAttrib4ubvgldynVertexAttrib4svgldynVertexAttrib4sgldynVertexAttrib4ivgldynVertexAttrib4fvgldynVertexAttrib4fgldynVertexAttrib4dvgldynVertexAttrib4dgldynVertexAttrib4bvgldynVertexAttrib4NusvgldynVertexAttrib4NuivgldynVertexAttrib4NubvgldynVertexAttrib4NubgldynVertexAttrib4NsvgldynVertexAttrib4NivgldynVertexAttrib4NbvgldynVertexAttrib3svgldynVertexAttrib3sgldynVertexAttrib3fvgldynVertexAttrib3fgldynVertexAttrib3dvgldynVertexAttrib3dgldynVertexAttrib2svgldynVertexAttrib2sgldynVertexAttrib2fvgldynVertexAttrib2fgldynVertexAttrib2dvgldynVertexAttrib2dgldynVertexAttrib1svgldynVertexAttrib1sgldynVertexAttrib1fvgldynVertexAttrib1fgldynVertexAttrib1dvgldynVertexAttrib1dgldynValidateProgramgldynUniformMatrix4fvgldynUniformMatrix3fvgldynUniformMatrix2fvgldynUniform4ivgldynUniform3ivgldynUniform2ivgldynUniform1ivgldynUniform4fvgldynUniform3fvgldynUniform2fvgldynUniform1fvgldynUniform4igldynUniform3igldynUniform2igldynUniform1igldynUniform4fgldynUniform3fgldynUniform2fgldynUniform1fgldynUseProgramgldynShaderSourcegldynLinkProgram gldynIsShadergldynIsProgramgldynGetVertexAttribPointervgldynGetVertexAttribivgldynGetVertexAttribfvgldynGetVertexAttribdvgldynGetUniformivgldynGetUniformfvgldynGetUniformLocationgldynGetShaderSourcegldynGetShaderInfoLoggldynGetShaderivgldynGetProgramInfoLoggldynGetProgramivgldynGetAttribLocationgldynGetAttachedShadersgldynGetActiveUniformgldynGetActiveAttribgldynEnableVertexAttribArraygldynDisableVertexAttribArraygldynDetachShadergldynDeleteShadergldynDeleteProgramgldynCreateShadergldynCreateProgramgldynCompileShadergldynBindAttribLocationgldynAttachShadergldynStencilMaskSeparategldynStencilFuncSeparategldynStencilOpSeparategldynDrawBuffersgldynBlendEquationSeparategldynGetBufferPointervgldynGetBufferParameterivgldynUnmapBuffergldynMapBuffergldynGetBufferSubDatagldynBufferSubDatagldynBufferData gldynIsBuffergldynGenBuffersgldynDeleteBuffersgldynBindBuffergldynGetQueryObjectuivgldynGetQueryObjectivgldynGetQueryiv gldynEndQuerygldynBeginQuery gldynIsQuerygldynDeleteQueriesgldynGenQueriesgldynBlendEquationgldynBlendColorgldynPointParameterivgldynPointParameterigldynPointParameterfvgldynPointParameterfgldynMultiDrawElementsgldynMultiDrawArraysgldynBlendFuncSeparategldynGetCompressedTexImagegldynCompressedTexSubImage1DgldynCompressedTexSubImage2DgldynCompressedTexSubImage3DgldynCompressedTexImage1DgldynCompressedTexImage2DgldynCompressedTexImage3DgldynSampleCoveragegldynActiveTexturegldynCopyTexSubImage3DgldynTexSubImage3DgldynTexImage3DgldynDrawRangeElementsgldynIsTexturegldynGenTexturesgldynDeleteTexturesgldynBindTexturegldynTexSubImage2DgldynTexSubImage1DgldynCopyTexSubImage2DgldynCopyTexSubImage1DgldynCopyTexImage2DgldynCopyTexImage1DgldynPolygonOffsetgldynDrawElementsgldynDrawArrays gldynViewportgldynDepthRangegldynIsEnabledgldynGetTexLevelParameterivgldynGetTexLevelParameterfvgldynGetTexParameterivgldynGetTexParameterfvgldynGetTexImagegldynGetStringgldynGetIntegervgldynGetFloatv gldynGetErrorgldynGetDoublevgldynGetBooleanvgldynReadPixelsgldynReadBuffergldynPixelStoreigldynPixelStorefgldynDepthFuncgldynStencilOpgldynStencilFunc gldynLogicOpgldynBlendFunc gldynFlush gldynFinish gldynEnable gldynDisablegldynDepthMaskgldynColorMaskgldynStencilMaskgldynClearDepthgldynClearStencilgldynClearColor gldynCleargldynDrawBuffergldynTexImage2DgldynTexImage1DgldynTexParameterivgldynTexParameterigldynTexParameterfvgldynTexParameterf gldynScissorgldynPolygonModegldynPointSizegldynLineWidth gldynHintgldynFrontFace gldynCullFaceproc parseVersionparseExtensionStringhasref_GL_ARB_texture_storagehasref_GL_KHR_debug!hasref_GL_EXT_direct_state_accesshasref_GL_ARB_buffer_storage%hasref_GL_ARB_separate_shader_objectshasref_GL_ATI_meminfohasref_GL_NVX_gpu_memory_info hasref_GL_ARB_invalidate_subdata glrefCullFaceglrefFrontFace glrefHintglrefLineWidthglrefPointSizeglrefPolygonMode glrefScissorglrefTexParameterfglrefTexParameterfvglrefTexParameteriglrefTexParameterivglrefTexImage1DglrefTexImage2DglrefDrawBuffer glrefClearglrefClearColorglrefClearStencilglrefClearDepthglrefStencilMaskglrefColorMaskglrefDepthMask glrefDisable glrefEnable glrefFinish glrefFlushglrefBlendFunc glrefLogicOpglrefStencilFuncglrefStencilOpglrefDepthFuncglrefPixelStorefglrefPixelStoreiglrefReadBufferglrefReadPixelsglrefGetBooleanvglrefGetDoublev glrefGetErrorglrefGetFloatvglrefGetIntegervglrefGetStringglrefGetTexImageglrefGetTexParameterfvglrefGetTexParameterivglrefGetTexLevelParameterfvglrefGetTexLevelParameterivglrefIsEnabledglrefDepthRange glrefViewportglrefDrawArraysglrefDrawElementsglrefPolygonOffsetglrefCopyTexImage1DglrefCopyTexImage2DglrefCopyTexSubImage1DglrefCopyTexSubImage2DglrefTexSubImage1DglrefTexSubImage2DglrefBindTextureglrefDeleteTexturesglrefGenTexturesglrefIsTextureglrefDrawRangeElementsglrefTexImage3DglrefTexSubImage3DglrefCopyTexSubImage3DglrefActiveTextureglrefSampleCoverageglrefCompressedTexImage3DglrefCompressedTexImage2DglrefCompressedTexImage1DglrefCompressedTexSubImage3DglrefCompressedTexSubImage2DglrefCompressedTexSubImage1DglrefGetCompressedTexImageglrefBlendFuncSeparateglrefMultiDrawArraysglrefMultiDrawElementsglrefPointParameterfglrefPointParameterfvglrefPointParameteriglrefPointParameterivglrefBlendColorglrefBlendEquationglrefGenQueriesglrefDeleteQueries glrefIsQueryglrefBeginQuery glrefEndQueryglrefGetQueryivglrefGetQueryObjectivglrefGetQueryObjectuivglrefBindBufferglrefDeleteBuffersglrefGenBuffers glrefIsBufferglrefBufferDataglrefBufferSubDataglrefGetBufferSubDataglrefMapBufferglrefUnmapBufferglrefGetBufferParameterivglrefGetBufferPointervglrefBlendEquationSeparateglrefDrawBuffersglrefStencilOpSeparateglrefStencilFuncSeparateglrefStencilMaskSeparateglrefAttachShaderglrefBindAttribLocationglrefCompileShaderglrefCreateProgramglrefCreateShaderglrefDeleteProgramglrefDeleteShaderglrefDetachShaderglrefDisableVertexAttribArrayglrefEnableVertexAttribArrayglrefGetActiveAttribglrefGetActiveUniformglrefGetAttachedShadersglrefGetAttribLocationglrefGetProgramivglrefGetProgramInfoLogglrefGetShaderivglrefGetShaderInfoLogglrefGetShaderSourceglrefGetUniformLocationglrefGetUniformfvglrefGetUniformivglrefGetVertexAttribdvglrefGetVertexAttribfvglrefGetVertexAttribivglrefGetVertexAttribPointervglrefIsProgram glrefIsShaderglrefLinkProgramglrefShaderSourceglrefUseProgramglrefUniform1fglrefUniform2fglrefUniform3fglrefUniform4fglrefUniform1iglrefUniform2iglrefUniform3iglrefUniform4iglrefUniform1fvglrefUniform2fvglrefUniform3fvglrefUniform4fvglrefUniform1ivglrefUniform2ivglrefUniform3ivglrefUniform4ivglrefUniformMatrix2fvglrefUniformMatrix3fvglrefUniformMatrix4fvglrefValidateProgramglrefVertexAttrib1dglrefVertexAttrib1dvglrefVertexAttrib1fglrefVertexAttrib1fvglrefVertexAttrib1sglrefVertexAttrib1svglrefVertexAttrib2dglrefVertexAttrib2dvglrefVertexAttrib2fglrefVertexAttrib2fvglrefVertexAttrib2sglrefVertexAttrib2svglrefVertexAttrib3dglrefVertexAttrib3dvglrefVertexAttrib3fglrefVertexAttrib3fvglrefVertexAttrib3sglrefVertexAttrib3svglrefVertexAttrib4NbvglrefVertexAttrib4NivglrefVertexAttrib4NsvglrefVertexAttrib4NubglrefVertexAttrib4NubvglrefVertexAttrib4NuivglrefVertexAttrib4NusvglrefVertexAttrib4bvglrefVertexAttrib4dglrefVertexAttrib4dvglrefVertexAttrib4fglrefVertexAttrib4fvglrefVertexAttrib4ivglrefVertexAttrib4sglrefVertexAttrib4svglrefVertexAttrib4ubvglrefVertexAttrib4uivglrefVertexAttrib4usvglrefVertexAttribPointerglrefUniformMatrix2x3fvglrefUniformMatrix3x2fvglrefUniformMatrix2x4fvglrefUniformMatrix4x2fvglrefUniformMatrix3x4fvglrefUniformMatrix4x3fvglrefColorMaskiglrefGetBooleani_vglrefGetIntegeri_v glrefEnablei glrefDisableiglrefIsEnablediglrefBeginTransformFeedbackglrefEndTransformFeedbackglrefBindBufferRangeglrefBindBufferBaseglrefTransformFeedbackVaryings glrefGetTransformFeedbackVaryingglrefClampColorglrefBeginConditionalRenderglrefEndConditionalRenderglrefVertexAttribIPointerglrefGetVertexAttribIivglrefGetVertexAttribIuivglrefVertexAttribI1iglrefVertexAttribI2iglrefVertexAttribI3iglrefVertexAttribI4iglrefVertexAttribI1uiglrefVertexAttribI2uiglrefVertexAttribI3uiglrefVertexAttribI4uiglrefVertexAttribI1ivglrefVertexAttribI2ivglrefVertexAttribI3ivglrefVertexAttribI4ivglrefVertexAttribI1uivglrefVertexAttribI2uivglrefVertexAttribI3uivglrefVertexAttribI4uivglrefVertexAttribI4bvglrefVertexAttribI4svglrefVertexAttribI4ubvglrefVertexAttribI4usvglrefGetUniformuivglrefBindFragDataLocationglrefGetFragDataLocationglrefUniform1uiglrefUniform2uiglrefUniform3uiglrefUniform4uiglrefUniform1uivglrefUniform2uivglrefUniform3uivglrefUniform4uivglrefTexParameterIivglrefTexParameterIuivglrefGetTexParameterIivglrefGetTexParameterIuivglrefClearBufferivglrefClearBufferuivglrefClearBufferfvglrefClearBufferfiglrefGetStringiglrefIsRenderbufferglrefBindRenderbufferglrefDeleteRenderbuffersglrefGenRenderbuffersglrefRenderbufferStorageglrefGetRenderbufferParameterivglrefIsFramebufferglrefBindFramebufferglrefDeleteFramebuffersglrefGenFramebuffersglrefCheckFramebufferStatusglrefFramebufferTexture1DglrefFramebufferTexture2DglrefFramebufferTexture3DglrefFramebufferRenderbuffer(glrefGetFramebufferAttachmentParameterivglrefGenerateMipmapglrefBlitFramebuffer#glrefRenderbufferStorageMultisampleglrefFramebufferTextureLayerglrefMapBufferRangeglrefFlushMappedBufferRangeglrefBindVertexArrayglrefDeleteVertexArraysglrefGenVertexArraysglrefIsVertexArrayglrefDrawArraysInstancedglrefDrawElementsInstancedglrefTexBufferglrefPrimitiveRestartIndexglrefCopyBufferSubDataglrefGetUniformIndicesglrefGetActiveUniformsivglrefGetActiveUniformNameglrefGetUniformBlockIndexglrefGetActiveUniformBlockivglrefGetActiveUniformBlockNameglrefUniformBlockBindingglrefDrawElementsBaseVertex glrefDrawRangeElementsBaseVertex$glrefDrawElementsInstancedBaseVertex glrefMultiDrawElementsBaseVertexglrefProvokingVertexglrefFenceSync glrefIsSyncglrefDeleteSyncglrefClientWaitSync glrefWaitSyncglrefGetInteger64vglrefGetSyncivglrefGetInteger64i_vglrefGetBufferParameteri64vglrefFramebufferTextureglrefTexImage2DMultisampleglrefTexImage3DMultisampleglrefGetMultisamplefvglrefSampleMaski glrefBindFragDataLocationIndexedglrefGetFragDataIndexglrefGenSamplersglrefDeleteSamplersglrefIsSamplerglrefBindSamplerglrefSamplerParameteriglrefSamplerParameterivglrefSamplerParameterfglrefSamplerParameterfvglrefSamplerParameterIivglrefSamplerParameterIuivglrefGetSamplerParameterivglrefGetSamplerParameterIivglrefGetSamplerParameterfvglrefGetSamplerParameterIuivglrefQueryCounterglrefGetQueryObjecti64vglrefGetQueryObjectui64vglrefVertexAttribDivisorglrefVertexAttribP1uiglrefVertexAttribP1uivglrefVertexAttribP2uiglrefVertexAttribP2uivglrefVertexAttribP3uiglrefVertexAttribP3uivglrefVertexAttribP4uiglrefVertexAttribP4uivglrefTexStorage1DglrefTexStorage2DglrefTexStorage3DglrefDebugMessageControlglrefDebugMessageInsertglrefDebugMessageCallbackglrefGetDebugMessageLogglrefPushDebugGroupglrefPopDebugGroupglrefObjectLabelglrefGetObjectLabelglrefObjectPtrLabelglrefGetObjectPtrLabelglrefGetPointervglrefDebugMessageControlKHRglrefDebugMessageInsertKHRglrefDebugMessageCallbackKHRglrefGetDebugMessageLogKHRglrefPushDebugGroupKHRglrefPopDebugGroupKHRglrefObjectLabelKHRglrefGetObjectLabelKHRglrefObjectPtrLabelKHRglrefGetObjectPtrLabelKHRglrefGetPointervKHRglrefMatrixLoadfEXTglrefMatrixLoaddEXTglrefMatrixMultfEXTglrefMatrixMultdEXTglrefMatrixLoadIdentityEXTglrefMatrixRotatefEXTglrefMatrixRotatedEXTglrefMatrixScalefEXTglrefMatrixScaledEXTglrefMatrixTranslatefEXTglrefMatrixTranslatedEXTglrefMatrixFrustumEXTglrefMatrixOrthoEXTglrefMatrixPopEXTglrefMatrixPushEXTglrefClientAttribDefaultEXTglrefPushClientAttribDefaultEXTglrefTextureParameterfEXTglrefTextureParameterfvEXTglrefTextureParameteriEXTglrefTextureParameterivEXTglrefTextureImage1DEXTglrefTextureImage2DEXTglrefTextureSubImage1DEXTglrefTextureSubImage2DEXTglrefCopyTextureImage1DEXTglrefCopyTextureImage2DEXTglrefCopyTextureSubImage1DEXTglrefCopyTextureSubImage2DEXTglrefGetTextureImageEXTglrefGetTextureParameterfvEXTglrefGetTextureParameterivEXT"glrefGetTextureLevelParameterfvEXT"glrefGetTextureLevelParameterivEXTglrefTextureImage3DEXTglrefTextureSubImage3DEXTglrefCopyTextureSubImage3DEXTglrefBindMultiTextureEXTglrefMultiTexCoordPointerEXTglrefMultiTexEnvfEXTglrefMultiTexEnvfvEXTglrefMultiTexEnviEXTglrefMultiTexEnvivEXTglrefMultiTexGendEXTglrefMultiTexGendvEXTglrefMultiTexGenfEXTglrefMultiTexGenfvEXTglrefMultiTexGeniEXTglrefMultiTexGenivEXTglrefGetMultiTexEnvfvEXTglrefGetMultiTexEnvivEXTglrefGetMultiTexGendvEXTglrefGetMultiTexGenfvEXTglrefGetMultiTexGenivEXTglrefMultiTexParameteriEXTglrefMultiTexParameterivEXTglrefMultiTexParameterfEXTglrefMultiTexParameterfvEXTglrefMultiTexImage1DEXTglrefMultiTexImage2DEXTglrefMultiTexSubImage1DEXTglrefMultiTexSubImage2DEXTglrefCopyMultiTexImage1DEXTglrefCopyMultiTexImage2DEXTglrefCopyMultiTexSubImage1DEXTglrefCopyMultiTexSubImage2DEXTglrefGetMultiTexImageEXTglrefGetMultiTexParameterfvEXTglrefGetMultiTexParameterivEXT#glrefGetMultiTexLevelParameterfvEXT#glrefGetMultiTexLevelParameterivEXTglrefMultiTexImage3DEXTglrefMultiTexSubImage3DEXTglrefCopyMultiTexSubImage3DEXT glrefEnableClientStateIndexedEXT!glrefDisableClientStateIndexedEXTglrefGetFloatIndexedvEXTglrefGetDoubleIndexedvEXTglrefGetPointerIndexedvEXTglrefEnableIndexedEXTglrefDisableIndexedEXTglrefIsEnabledIndexedEXTglrefGetIntegerIndexedvEXTglrefGetBooleanIndexedvEXT glrefCompressedTextureImage3DEXT glrefCompressedTextureImage2DEXT glrefCompressedTextureImage1DEXT#glrefCompressedTextureSubImage3DEXT#glrefCompressedTextureSubImage2DEXT#glrefCompressedTextureSubImage1DEXT!glrefGetCompressedTextureImageEXT!glrefCompressedMultiTexImage3DEXT!glrefCompressedMultiTexImage2DEXT!glrefCompressedMultiTexImage1DEXT$glrefCompressedMultiTexSubImage3DEXT$glrefCompressedMultiTexSubImage2DEXT$glrefCompressedMultiTexSubImage1DEXT"glrefGetCompressedMultiTexImageEXTglrefMatrixLoadTransposefEXTglrefMatrixLoadTransposedEXTglrefMatrixMultTransposefEXTglrefMatrixMultTransposedEXTglrefNamedBufferDataEXTglrefNamedBufferSubDataEXTglrefMapNamedBufferEXTglrefUnmapNamedBufferEXT!glrefGetNamedBufferParameterivEXTglrefGetNamedBufferPointervEXTglrefGetNamedBufferSubDataEXTglrefProgramUniform1fEXTglrefProgramUniform2fEXTglrefProgramUniform3fEXTglrefProgramUniform4fEXTglrefProgramUniform1iEXTglrefProgramUniform2iEXTglrefProgramUniform3iEXTglrefProgramUniform4iEXTglrefProgramUniform1fvEXTglrefProgramUniform2fvEXTglrefProgramUniform3fvEXTglrefProgramUniform4fvEXTglrefProgramUniform1ivEXTglrefProgramUniform2ivEXTglrefProgramUniform3ivEXTglrefProgramUniform4ivEXTglrefProgramUniformMatrix2fvEXTglrefProgramUniformMatrix3fvEXTglrefProgramUniformMatrix4fvEXT!glrefProgramUniformMatrix2x3fvEXT!glrefProgramUniformMatrix3x2fvEXT!glrefProgramUniformMatrix2x4fvEXT!glrefProgramUniformMatrix4x2fvEXT!glrefProgramUniformMatrix3x4fvEXT!glrefProgramUniformMatrix4x3fvEXTglrefTextureBufferEXTglrefMultiTexBufferEXTglrefTextureParameterIivEXTglrefTextureParameterIuivEXTglrefGetTextureParameterIivEXTglrefGetTextureParameterIuivEXTglrefMultiTexParameterIivEXTglrefMultiTexParameterIuivEXTglrefGetMultiTexParameterIivEXT glrefGetMultiTexParameterIuivEXTglrefProgramUniform1uiEXTglrefProgramUniform2uiEXTglrefProgramUniform3uiEXTglrefProgramUniform4uiEXTglrefProgramUniform1uivEXTglrefProgramUniform2uivEXTglrefProgramUniform3uivEXTglrefProgramUniform4uivEXT&glrefNamedProgramLocalParameters4fvEXT%glrefNamedProgramLocalParameterI4iEXT&glrefNamedProgramLocalParameterI4ivEXT'glrefNamedProgramLocalParametersI4ivEXT&glrefNamedProgramLocalParameterI4uiEXT'glrefNamedProgramLocalParameterI4uivEXT(glrefNamedProgramLocalParametersI4uivEXT(glrefGetNamedProgramLocalParameterIivEXT)glrefGetNamedProgramLocalParameterIuivEXTglrefEnableClientStateiEXTglrefDisableClientStateiEXTglrefGetFloati_vEXTglrefGetDoublei_vEXTglrefGetPointeri_vEXTglrefNamedProgramStringEXT$glrefNamedProgramLocalParameter4dEXT%glrefNamedProgramLocalParameter4dvEXT$glrefNamedProgramLocalParameter4fEXT%glrefNamedProgramLocalParameter4fvEXT'glrefGetNamedProgramLocalParameterdvEXT'glrefGetNamedProgramLocalParameterfvEXTglrefGetNamedProgramivEXTglrefGetNamedProgramStringEXT glrefNamedRenderbufferStorageEXT'glrefGetNamedRenderbufferParameterivEXT+glrefNamedRenderbufferStorageMultisampleEXT3glrefNamedRenderbufferStorageMultisampleCoverageEXT#glrefCheckNamedFramebufferStatusEXT!glrefNamedFramebufferTexture1DEXT!glrefNamedFramebufferTexture2DEXT!glrefNamedFramebufferTexture3DEXT$glrefNamedFramebufferRenderbufferEXT0glrefGetNamedFramebufferAttachmentParameterivEXTglrefGenerateTextureMipmapEXTglrefGenerateMultiTexMipmapEXTglrefFramebufferDrawBufferEXTglrefFramebufferDrawBuffersEXTglrefFramebufferReadBufferEXT!glrefGetFramebufferParameterivEXTglrefNamedCopyBufferSubDataEXTglrefNamedFramebufferTextureEXT$glrefNamedFramebufferTextureLayerEXT#glrefNamedFramebufferTextureFaceEXTglrefTextureRenderbufferEXTglrefMultiTexRenderbufferEXTglrefVertexArrayVertexOffsetEXTglrefVertexArrayColorOffsetEXT!glrefVertexArrayEdgeFlagOffsetEXTglrefVertexArrayIndexOffsetEXTglrefVertexArrayNormalOffsetEXT!glrefVertexArrayTexCoordOffsetEXT&glrefVertexArrayMultiTexCoordOffsetEXT!glrefVertexArrayFogCoordOffsetEXT'glrefVertexArraySecondaryColorOffsetEXT%glrefVertexArrayVertexAttribOffsetEXT&glrefVertexArrayVertexAttribIOffsetEXTglrefEnableVertexArrayEXTglrefDisableVertexArrayEXTglrefEnableVertexArrayAttribEXT glrefDisableVertexArrayAttribEXTglrefGetVertexArrayIntegervEXTglrefGetVertexArrayPointervEXT glrefGetVertexArrayIntegeri_vEXT glrefGetVertexArrayPointeri_vEXTglrefMapNamedBufferRangeEXT#glrefFlushMappedNamedBufferRangeEXTglrefNamedBufferStorageEXTglrefClearNamedBufferDataEXTglrefClearNamedBufferSubDataEXT"glrefNamedFramebufferParameteriEXT&glrefGetNamedFramebufferParameterivEXTglrefProgramUniform1dEXTglrefProgramUniform2dEXTglrefProgramUniform3dEXTglrefProgramUniform4dEXTglrefProgramUniform1dvEXTglrefProgramUniform2dvEXTglrefProgramUniform3dvEXTglrefProgramUniform4dvEXTglrefProgramUniformMatrix2dvEXTglrefProgramUniformMatrix3dvEXTglrefProgramUniformMatrix4dvEXT!glrefProgramUniformMatrix2x3dvEXT!glrefProgramUniformMatrix2x4dvEXT!glrefProgramUniformMatrix3x2dvEXT!glrefProgramUniformMatrix3x4dvEXT!glrefProgramUniformMatrix4x2dvEXT!glrefProgramUniformMatrix4x3dvEXTglrefTextureBufferRangeEXTglrefTextureStorage1DEXTglrefTextureStorage2DEXTglrefTextureStorage3DEXT#glrefTextureStorage2DMultisampleEXT#glrefTextureStorage3DMultisampleEXT#glrefVertexArrayBindVertexBufferEXT%glrefVertexArrayVertexAttribFormatEXT&glrefVertexArrayVertexAttribIFormatEXT&glrefVertexArrayVertexAttribLFormatEXT&glrefVertexArrayVertexAttribBindingEXT'glrefVertexArrayVertexBindingDivisorEXT&glrefVertexArrayVertexAttribLOffsetEXTglrefTexturePageCommitmentEXT&glrefVertexArrayVertexAttribDivisorEXTglrefBufferStorageglrefUseProgramStagesglrefActiveShaderProgramglrefCreateShaderProgramvglrefBindProgramPipelineglrefDeleteProgramPipelinesglrefGenProgramPipelinesglrefIsProgramPipelineglrefGetProgramPipelineivglrefProgramUniform1iglrefProgramUniform1ivglrefProgramUniform1fglrefProgramUniform1fvglrefProgramUniform1dglrefProgramUniform1dvglrefProgramUniform1uiglrefProgramUniform1uivglrefProgramUniform2iglrefProgramUniform2ivglrefProgramUniform2fglrefProgramUniform2fvglrefProgramUniform2dglrefProgramUniform2dvglrefProgramUniform2uiglrefProgramUniform2uivglrefProgramUniform3iglrefProgramUniform3ivglrefProgramUniform3fglrefProgramUniform3fvglrefProgramUniform3dglrefProgramUniform3dvglrefProgramUniform3uiglrefProgramUniform3uivglrefProgramUniform4iglrefProgramUniform4ivglrefProgramUniform4fglrefProgramUniform4fvglrefProgramUniform4dglrefProgramUniform4dvglrefProgramUniform4uiglrefProgramUniform4uivglrefProgramUniformMatrix2fvglrefProgramUniformMatrix3fvglrefProgramUniformMatrix4fvglrefProgramUniformMatrix2dvglrefProgramUniformMatrix3dvglrefProgramUniformMatrix4dvglrefProgramUniformMatrix2x3fvglrefProgramUniformMatrix3x2fvglrefProgramUniformMatrix2x4fvglrefProgramUniformMatrix4x2fvglrefProgramUniformMatrix3x4fvglrefProgramUniformMatrix4x3fvglrefProgramUniformMatrix2x3dvglrefProgramUniformMatrix3x2dvglrefProgramUniformMatrix2x4dvglrefProgramUniformMatrix4x2dvglrefProgramUniformMatrix3x4dvglrefProgramUniformMatrix4x3dvglrefValidateProgramPipelineglrefGetProgramPipelineInfoLogglrefInvalidateTexSubImageglrefInvalidateTexImageglrefInvalidateBufferSubDataglrefInvalidateBufferDataglrefInvalidateFramebufferglrefInvalidateSubFramebuffer$fExceptionFlextInitResultbaseGHC.Showshow text-1.2.0.0Data.Text.InternalTextGHC.BaseString Data.IORefatomicModifyIORef'GHC.Real fromIntegral++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwise$ undefinedGHC.Num fromInteger- fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Control.Arrowarrfirstapp|||loop realToFrac toInteger toRational Control.MonadguardliftMjoinControl.Applicative<*>pure AlternativeBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReal RealFloatRealFracShowData.Typeable.InternalTypeable MonadPlus Applicative Data.FoldableFoldableData.Traversable Traversable GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRationalIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherFalseTrueLeftRightLTEQGTfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraversefindnotElemelem minimumByminimum maximumBymaximumproductsumallanyorand concatMapconcattoListmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMfoldl1foldr1foldl'foldlfoldr'foldrfoldMapfoldoptionalliftA3liftA2liftA<**><**>manysome<|>emptygetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoop Data.Functor<$>Control.Category>>><<<.idCategoryPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioError Data.ListunwordswordsunlineslinesatomicWriteIORefatomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOFilePath userErrorIOError Text.Readreadreads Data.MonoidmconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProducteither Data.Typeablegcast2gcast1gcasteqTcast showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep tyConString typeRepArgs typeRepTyConmkTyCon3mkAppTy funResultTy splitTyConAppmkFunTy mkTyConAppTypeRep tyConName tyConModule tyConPackageTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7 byteSwap64 byteSwap32 byteSwap16Data.Type.EqualityRefl:~: Data.ProxyProxylex readParenreadList readsPrecacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccText.ParserCombinators.ReadPReadS showParen showStringshowCharshowsShowSshowList showsPrecmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMvoidforever<=<>=>filterM=<<mplusmzerounzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanllengthnullinitlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeNothingJustMaybeuncurrycurrysubtractsignumabs*+asTypeOfuntilflipconst<$/=compare<=&&||not<>maxminsemigroups-0.15.4Data.SemigroupdiffoptiontimesNcycle1times1psconcat<> SemigroupgetMinMingetMaxMaxgetFirstFirstgetLastLast unwrapMonoid WrapMonoid WrappedMonoid getOptionOptionwhenExtDebugModeActivated showSeverityshowTypeshowSrcForeign.StorablesizeOftoList4Storablepad$fStorableMatrix33$fStorableMatrix44$fStorableQuaternion$fStorableVector3$fStorableColor scrapContextmask_GHC.MVarMVarcheckOpenGLVersion33pendingFinalizers$fExceptionTooOldOpenGL noInformation atiGetMem nvidiaGetMem finalizeNow rawResource nativeCid $fEqResource canMapWith toConstant toConstantF toConstantMF$fExceptionBufferCorruption$fShowBufferCorruption isIntegerType$fSourceableTypeDouble$fSourceableTypeFloat$fSourceableTypeInt32$fSourceableTypeInt16$fSourceableTypeInt8$fSourceableTypeWord32$fSourceableTypeWord16$fSourceableTypeWord8checkCompilationErrorscheckLinkingErrors CLNopPipeline unwrapCLNop Transpose44 Transpose33USetter4USetter3USetter2USetter1 setUniform_shaderExceptionToExceptionshaderExceptionFromExceptionnewShaderGenericnewTraditionalPipelineggetsetUi1setUi2setUi3setUi4setI1setI2setI3setI4 double2CFloatcdouble2CFloat$fUniformableTranspose44$fUniformableTranspose33$fUniformableMatrix44$fUniformableMatrix33$fUniformableQuaternion$fUniformableVector3$fUniformable(,,,)$fUniformable(,,)$fUniformable(,)$fUniformableCDouble$fUniformable(,,,)0$fUniformable(,,)0$fUniformable(,)0$fUniformableDouble$fUniformable(,,,)1$fUniformable(,,)1$fUniformable(,)1$fUniformableCFloat$fUniformable(,,,)2$fUniformable(,,)2$fUniformable(,)2$fUniformableFloat$fUniformable(,,,)3$fUniformable(,,)3$fUniformable(,)3$fUniformableInteger$fUniformable(,,,)4$fUniformable(,,)4$fUniformable(,)4$fUniformableInt$fUniformable(,,,)5$fUniformable(,,)5$fUniformable(,)5$fUniformableInt64$fUniformable(,,,)6$fUniformable(,,)6$fUniformable(,)6$fUniformableInt32$fUniformable(,,,)7$fUniformable(,,)7$fUniformable(,)7$fUniformableInt16$fUniformable(,,,)8$fUniformable(,,)8$fUniformable(,)8$fUniformableInt8$fUniformable(,,,)9$fUniformable(,,)9$fUniformable(,)9$fUniformableCInt$fUniformable(,,,)10$fUniformable(,,)10$fUniformable(,)10$fUniformableCUInt$fUniformable(,,,)11$fUniformable(,,)11$fUniformable(,)11$fUniformableWord64$fUniformable(,,,)12$fUniformable(,,)12$fUniformable(,)12$fUniformableWord32$fUniformable(,,,)13$fUniformable(,,)13$fUniformable(,)13$fUniformableWord16$fUniformable(,,,)14$fUniformable(,,)14$fUniformable(,)14$fUniformableWord8$fExceptionShaderLinkingError!$fExceptionShaderCompilationError$fExceptionShaderBuildingError$fShowShaderBuildingError cubeSidestypeFromInternalFormatformatFromInternalFormatTexParamtpEnum tpToConstanttpFromConstantisMultisamplingTopology toConstantUF toConstantCSupload1Dupload2Dupload3D uploadCube isValidMipmap toConstantC toConstantW setTexParam getTexParam$fTexParamMagFilter$fTexParamMinFilterrunningIndices toConstantAsetActiveTexture $fMonadIODrawtransformers-0.4.2.0Control.Monad.IO.ClassliftIO DrawState boundPipelineboundEbo boundTextures boundBlendingboundFramebufferboundFragmentPassTests activeTexture toConstantIT withParamswithPolygonOffsetwithBoundTextures withPipeline$fIndexTypeableCUChar$fIndexTypeableCUShort$fIndexTypeableCUInt$fIndexTypeableWord8$fIndexTypeableWord16$fIndexTypeableWord32