J      !"#$%&'()*+,-./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:;<=>?@ABCDEFGHINone*+,>Initializes OpenGL entry points in the current OpenGL context.  !"#$%&'JKLMNOPQRSTUVWXYZ[\]^_`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      !"#$%&'()*+,-./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{|}~"l  !"#$%&'()*+,-./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{|}~&'%$#"!    !"#$%&'JKLMNOPQRSTUVWXYZ[\]^_`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      !"#$%&'()*+,-./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{|}~"l Safe-InferredMSame as "m but the result will be a "n, not "o.Same as "p but does not return a value. Similar to "qY 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."r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""q"""""""""""""""""""""""""""""""""""""""""""""""""o""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#="p#>#?#@#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#{#|#}#~##################################################################################"m###############################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$ANoneM!The type of a Caramia context ID.'Returns the current Caramia context ID.4The context ID is unique between different calls to  giveContext.Returns $ 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.&$B  !"#$%&'()*+,-./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{|}~%&$BNone+$C$D$E$F$G$C$D$E$F$G 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 $H on a vector.Returns the size of a Matrix3&. This is just a shortcut to calling $H on a matrix.Returns the size of a Matrix4&. This is just a shortcut to calling $H on a matrix.Returns the size of a &. This is just a shortcut to calling $H on a quaternion. Constructs a  out of three values. 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 ...  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. 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 -------------------------  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.fRuns 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.Same as , 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.+Calculates the determinant of a 4x4 matrix.%Multiplies two 3x3 matrices together.%Multiplies two 4x4 matrices together.gReturns 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.gReturns 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.+Constructs a perspective projection matrix. =Constructs a perspective projection matrix by frustum planes. 5Constructs an orthogonal projection matrix by planes. !Constructs a look-at view matrix. %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. 4Returns the Euclidean distance between to 3-vectors.!Returns the length of a 3-vector.Sums two 3-vectors together.-Subtracts the second 3-vector from the first.%Negates all components of a 3-vector.6Multiplies all components of a 3-vector with a scalar.8Modify a 4x4 matrix to scale everything by given vector.Transposes a 3x3 matrix.Transposes a 4x4 matrix.-Modifies a 4x4 matrix to include translation.GThis is the same as multiplying a 4x4 matrix with a translation matrix.XModifies 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.(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.0Returns the cross product between two 3-vectors.5Returns the angle, in radians, between two 3-vectors.QThe vectors are normalized by this function so you need not to do that yourself..Returns the dot product between two 3-vectors.#Transforms a 3-vector into a tuple.#Transforms a tuple into a 3-vector.,Returns a vector where all components are 0.$I,Transforms a 4x4 matrix to a list of floats.'The list follows the same order as the $J 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.#'Normalizes a quaternion to unit length.$7Returns the Euclidean distance between two quaternions.%#Returns the length of a quaternion.&/Turns an axis angle rotation into a quaternion.'5Returns a quaternion where all the elements are zero.(0Turns the quaternion into a 4x4 rotation matrix.)CExtracts 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.*:Returns the identity quaternion. It won't rotate anything.+Turns a $ and an extra value to a quaternion.,$Multiplies two quaternions together.-7Returns 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 X-coodinate. Y-coodinate. Z-coodinate.The matrix to marshal.ZAn IO action that receives a pointer to floating point values describing the matrix.Field of view in radians. Aspect ratio.Near plane distance.Far plane distance.  Left plane. Right plane. Bottom plane. Top plane. Near plane. Far plane.  Left plane. Right plane. Bottom plane. Top plane. Near plane. Far plane.  Eye position.ACenter position (that is, the point we are going to stare at)./Up vector. You probably want to normalize this.  The scale vector.The matrix to modify.The translation vector.The matrix to modify.*The angle, how much to rotate. In radians.The rotation axis.The matrix to modify.$IThe x-component.The y-component.The z-component.The w-component. !"#$%&The angle, in radians.The rotation axis.'()*+,$K-$L$M$N$Oh      !"#$%&'()*+,-h   *"$%#,'&)( !  +-J      $I !"#$%&'()*+,$K-$L$M$N$ONone+ .$Class that turns Haskell types into 0./Returns the corresponding 0 for a Haskell type.0Specification formats.FThese formats specify the type of the data passed from Haskell to GPU.9!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.xGiven 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.y8Returns true if the given format is a compressed format.z3Returns 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.]./%Used to pass the type; not evaluated.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~S./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~]xyz{|}9wvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:~087654321././0876543219>wvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:xyz{|}~ 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.$P$Q  $P$Q 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.### NoneXBlending that doesn't do anything special; just copies the source pixel to destination.!!NoneQ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}Q9wvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:xyz}{|087654321./ None+MTQAn 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.Throws A if the code detects a context that does not provide OpenGL 3.3.$RScraps 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 $S{ to run the finalizers with exceptions masked but you might still receive asynchronous exceptions with, for example, the $T 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). $U$R$V$W  $U$R$V$WNone+U8Returns 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.$X$Y$Z$X$Y$ZNone$The data type of a Caramia resource.Creates 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.Uses a resource.HThrows an user error if the resource is used in a wrong or dead context.$\$]$^JAction that returns the raw, unmanaged resource. Good place to create it.BOpenGL finalizer. Will only be called in the same thread as this A 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.$[yUse the resource inside this action. Don't return the unmanaged resource from this because behaviour is then undefined.$_$\$]$^$[$_None+UCreate 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 0$`Number of microseconds to wait." if the fence was signalled, " if waiting timed out.$`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.The mapping can be written to.The mapping can be read from. Buffer data type. Returns the allowed mappings.)Returns the size of the buffer, in bytes.                    None+Exception that is thrown from '$ when buffer corruption is detected.ECorruption can happen due to external factors and is system-specific.XThis 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 #, and then set the fields you want to change.(Hints on how the buffer will be used.,How large the buffer should be, in bytes.5The initial data to be copied to the buffer. Can be $4 in which case the initial contents are undefined./What kind of mapping access is allowed. See &.!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/glBufferData#"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 $ fail if you don't set it.$"Creates a new buffer according to  specification.%Same as && but allows more control over mapping.  map = map2 []&/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 ' is called on the buffer.8You can not have two mappings going on at the same time.'Unmaps 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,  is thrown in this call.CCorruption means that the contents of the buffer are now undefined.(Same as ) but with map flags.See %.)wA 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 &$, except for extra action argument. This calls ' which means it can throw  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  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.*?A convenience function to upload a storable vector to a buffer.CThe buffer must be in an unmapped state and must be write-mappable.+(Copies bytes from one buffer to another.VThe buffers must not be mapped; however this call can bypass the access flags set in $. 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.,%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.  !"$a$b$c$d#$%&@Offset, in bytes, from start of the buffer from where to map.How many bytes to map.&What access is allowed in the mapping.'()(The pointer is valid during this action.*#The vector from which to pull data.COffset, in bytes, to which point in the buffer to copy the data.+Destination buffer.Offset in destination buffer.Source buffer.Offset in source buffer.How many bytes to copy.,$e$f$   !"#$%&'()*+,&$  "! #,&%'+)(* "! $a$b$c$d#$%&'()*+,$e$fNone +/"The vertex array object data type.-./0123-./012/0123-.-./0123None4Specifies how to source data.1For forward compatibility, you might want to use L or M5 and then set the fields that are of interest to you.6?Offset, in bytes, at which point from buffer to start sourcing.7DWhich attribute index in a shader program to source this data. See  on attributes.8jNumber of components in one piece of data (that is, per vertex). This must be an integer between 1 and 4.9How 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 :2This 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 : 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 C" which has no Haskell equivalent.C16-bit floating point value.JCreates a vertex array object.PInitially, the vertex array object makes no data available to a shader program.KThis returns the size of a @ , in bytes.LThe default sourcing.Offset and stride are set to 0.At the very least you must set 8 and 7.You must also set :, ; and = in a consistent way. See 4.MSame as L but sets = according to a Haskell type.NISpecifies 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 4u does not make sense. There is some error checking but it can only detect obviously invalid values in the sourcing.%456789:;<=>?@ABCDEFGHIJK$g$hLM%Used to pass the type; not evaluated.N%From which buffer to source the data.#Specifies how the sourcing is done.$i$j$k$l$m$n$o$p/456789:;<=>?@ABCDEFGHIJKLMNJ/N456789:;<=LM>?@IHGFEDCBAK4 56789:;<=>?@ IHGFEDCBAJK$g$hLMN$i$j$k$l$m$n$o$pNone +U: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.dkThe ordering has no inherent meaning but it allows shaders to be stored correctly in containers that have " constraint.OPQRSTUVWXYZ[\]^_`abcdeOPQRSTUVWXYZ[\]^_`a\]^_`edZ[UVWXYcbSTaORQP ORQPSTUVWXYZ[\]^_`abcdeNone +24:MfFClass 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).gRThrown when a shader linking error occurs. The text is the error log for linking.Can also be caught as k.iZThrown when a shader compilation error occurs. The text is the error log for compilation.Can also be caught as k.k9Thrown when either a compilation or linking error occurs.nSets a uniform in a pipeline.oDCreates a shader from GLSL shader source, using a strict bytestring.pBCreates 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.qPCreates a shader from GLSL shader source, encoding a Text into an UTF-8 string.This can throw i if compilation fails.$qGChecks that there are no compilation errors in an OpenGL shader object.(DELETES the shader if there were errors.$rSame as $q but for linking.)DELETES the program if there were errors.r:Creates a pipeline from vertex and fragment shader source.5This is a convenience function for a common use case.s1Creates a pipeline composed of different shaders.t,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 n to make it do nothing.u-Returns a pipeline that does not do anything.LWithin the same context, this returns the same pipeline for each invocation.x$s$t$u$v$w$x$y$z${$|$}f$~ghijklm$$$n$opqThe shader source code.$q$rrVertex shader source.Fragment shader source.s$$$$$$$$$$$$tu$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$OPQRU\_fghijklmnopqrstuqopsr\_UntfmORQP_uijghklp$s$t$u$v$w$x$y$z${$|$}f$~ghijklm$$$n$opq$q$rrs$$$$$$$$$$$$tu$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$None+Tv"Specifies a topology of a texture.wBuffer 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.4vwxyz{|}~2vwxyz{|}~4v{yw|}~zx v{yw|}~zxNone +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 .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. Depth values.You know the drill.Red and green. Just red.Returns the width of a texture. 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.Uploads an image to a texture.EReturns the maximal number of mipmap levels when given a side length.Y$$$$$$$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.$$$$$$$$$$$ovwxyz{|}~pv{yw|}~zx,$$$$$$$$$$$$$$$$$$None+HM"Returns the size of a framebuffer. This is an "9 action because it can change for the screen framebuffer. None +  Specifies what to clear in a  invocation.Use 5 smart constructor instead for forward-compatibility.#Each member of this data type is a $ value; if any value is $: then that value is cleared, otherwise it is not touched. !Clear depth buffer to this value. #Clear stencil buffer to this value. (Clear (all) color buffers to some color.Returns the screen framebuffer.Note that all s 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.?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.(Map a specific mipmlayer from a texture.IMap a specific mipmap layer of a specific layer in a 3D or array texture.Creates a new framebuffer.BReturns the maximum number of draw buffers in the current context.6Almost all GPUs in the last few years have at least 8.Smart constructor for  . All members are $.Clears values in a framebuffer.     Which mipmap layer?Which mipmap layer?Which topological layer?$$                $$None +B<Values of this type tell how to select attribute data from !.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() .)Contains a specification of what to draw.It is recommended to use @ instead of this constructor.!NThis is the VAO from which attributes are retrieved in the shader pipeline."How many indices to render?#How many instances to render.$&How to select the attribute data from !.%Contains drawing parameters. You can use ?# to obtain default draw parameters.'Which shader pipeline to use.((What kind of fragment pass tests to use.)Which blending to use.*Where do you want to render?+FWhich 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.,/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..Turns a Haskell type to /./,The type of indices in an index buffer. See .3<The different types of primitives you can use for rendering. %https://www.opengl.org/wiki/Primitive?Default drawing parameters.'7 is not set (that is, it's undefined). You must set it.No textures are bound.%Blending mode is premultiplied alpha.* is the screen framebuffer.@Returns a default draw command.<Several fields are undefined so you must set them. These are !"$#o is set to 1. In future (minor) versions if we add any new fields those fields will have a sane default value.ADraws according to a .1There is a very large overhead in doing a single A! call. You probably want to use C and B instead.BSame as A but in a  command stream.CRuns a drawing specification.&You can think of this as running many AU commands with similar draw command specifications. This call is an optimization to A& 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  stream.$PSets the active texture (not public API! What would they use this for anyway?).DSets new texture bindings.EChanges the pipeline in a  command stream.F"Changes the current blending mode.G!Sets the new fragment pass tests.HSets polygon offset.ISets the current framebuffer.$Using $ is safe inside a ' stream. It is possible to run nested  streams this way as well.<One useful thing to do is to set uniforms to pipelines with  setUniform.L$$$$$$$$$$ !"#$%&'()*+,-.%Used to pass the type, not evaluated./0123456789:;<=>$$?@ABC;Initial drawing parameters. These can be changed in the  command stream.Draw command stream.$$$DEFGHI$$$%%%%%%W !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIWACBEDFIGH !"#$@%&'()*+,?/2103>=<;:987654-.!$$$$$$$$$$ !"#$%&'()*+,-./2103 >=<;:987654$$?@ABC$$$DEFGHI$$$%%%%%%!None./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}   !"#$%&'()*+,/456789:;<=>?@ABCDEFGHIJKLMNOPQRU\_fghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI%"#$%&'()*+,-./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:;<=>?@ABBCC"DEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddeefghij"klmnopqrssttuuvwxyz{|}~"&"&     3  !"#$%&'()*+,-./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"d"j"k"d"l"m"d"n"o"d"j"p"d"q"r"s"t"u"d"v"w"d"v"x"d"y"z"d"{"|"d"{"}"d"j"~"d"j;"d"j""d"q""d"""d"""d"n""d"""d"""d"""d"""s"""s"""d"""d"j""d"j""d"j""d"j""d"j""d"""d"""d"""d"""d"""d"n""d"n""d"n""d"""d"""d"""d"""d"""d"""d"""d"""s"""d"""d"n""d"n""d"j""d"j""d"""s"""d"2"d"n""d"""d"n""d"e""d"""d"""d"""d"""d"""s"""s"""s"""s"""s"""d"""d"""d"""d""""""s"""d"n""s"""s"""d"""d"""d"""d"""d"""s"""s"""d"""d"""s"""s"""s"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"""d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"# "d"# "d"# "d"# "d"# "d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"# "d"#!"d"#""d"##"d"#$"d"#%"d"#&"d"#'"d"#("d"#("d"#)"d"#*"d"#+"d"#,"d"#-"d"#."d"#/"d"#0"d"#1"d"#2"d"#2"d"#3"d#4#5"d#6#7"d#6#8"d#6#9"d#6#:"d#6#;"d#<#="d"y#>"d"y#?"d"y#@"d"y#A"d"y#B"d"y#C"d"y#D"d"y#E"d"y#F"d"y#G"d"y#H"d"y#I"d#J#K"d#L#M"d#L#N"d#L#O"d#L#P"d"l#Q"d"l#R"d"l#S"d"l#T"d"l#U"d#V#W"d#V#X"d#V#Y"d#V#Z"d#[#\"d#J#]"d#J#^"d#_#`"d#_#a"d#b#c"d#b#d"d#b#e"d#b#f"d#b#g"d#b#h"d#b#h"d#b#i"d#b#j"d#b#j"d#b#k"d#b#l"d#b#l"d#b#m"d#b#n"d#b#n"d#b#o"d#b#p"d#b#p"d#b#q"d#b#r"d#b#r"d"#s"d#t#u"d#t#v"d#t#w"d#t#x"d#t#y"d"#z"d"#{"d"#|"d"#}"d"#~"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d##"d##"d##"d##"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"n#"d"#"d"#"d"#"d"#"d"#"d"#"d##"d"e#"d"e#"d"e#"d"e#"d"e#"d"e#"d"e#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"#"d"v#"d"v#"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$ "d"v$ "d"v$ "d"v$ "d"v$ "d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d"v$"d$$"d$$"d$$"d$$"d$$ "d$$!"d$$""d$$#"d$$$"d$$%"d$$&"d$$'"d"{$("d"{$)"d"$*"d"$+"d"$,"d"$-"d"$."d"j$/"d"j$0"d"j$1"d"j$2"d"j$3"s"$4"s"$5"s"$6"s"$7"s"$8"s"$9"s"$:"s"$;"s"$<"s"$=$>$?$@$>$?$A$>$?$B$>$?$C$>$?$D$>$?$E$>$?$F$>$?$G$>$?$H$>$?$I$>$?$I$>$?$J$>$?$K$>$?$K$>$?$L$>$?$M$>$?$M$>$?$N$>$?$O$>$?$O$>$?$P$>$?$Q$>$?$R$>$?$S$>$?$T$>$?$T$U$V$V$W$X$Y"d$Z$[$\"d$Z$]$^$_$`$a$b  $c $d"d#[$e"d$f$g $h $i $j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$s$y$z${$|$}$~$$$$$$$$$$$$$$$$$s$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$3$$$%%%%%%$s%%%% % % % % %%%%caramia-0.2.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.InternalGraphics.Caramia.Texture%Graphics.Caramia.Framebuffer.InternalGraphics.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_UNSIGNED_INT_10_10_10_2_EXTgl_ACTIVE_RESOURCES"gl_MAX_GEOMETRY_SHADER_INVOCATIONSgl_RESTART_PATH_NVgl_MAX_DEEP_3D_TEXTURE_DEPTH_NVgl_PACK_SKIP_IMAGESgl_IMAGE_CLASS_2_X_16gl_FRAMEBUFFER_COMPLETEgl_HSL_LUMINOSITY_NVgl_IMAGE_BINDING_LAYERED_EXT gl_ZOOM_Ygl_TEXTURE_LUMINANCE_TYPE_ARB#gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARBgl_TEXTURE_HEIGHTgl_OUTPUT_TEXTURE_COORD0_EXTgl_FLOAT_CLEAR_COLOR_VALUE_NVgl_LIGHT_MODEL_AMBIENTgl_INT16_VEC3_NV+gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV gl_MATRIX6_NVgl_COMPUTE_PROGRAM_NVgl_SCALED_RESOLVE_FASTEST_EXTgl_REPLACEMENT_CODE_ARRAY_SUNgl_TEXTURE_DT_SIZE_NVgl_NUM_SPARSE_LEVELS_ARB'gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR gl_NO_ERRORgl_INTERNALFORMAT_ALPHA_TYPEgl_FONT_HEIGHT_BIT_NVgl_TANGENT_ARRAY_POINTER_EXTgl_LOCAL_CONSTANT_VALUE_EXT gl_READ_WRITE gl_TEXTURE_2D"gl_UNSIGNED_INT_2_10_10_10_REV_EXTgl_TEXTURE_WRAP_Rgl_FLOAT_MAT4x2gl_MAX_COMPUTE_WORK_GROUP_SIZEgl_POLYGON_OFFSET_CLAMP_EXTgl_SYNC_FLUSH_COMMANDS_BIT&gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARBgl_INT_IMAGE_BUFFERgl_VERTEX_ATTRIB_ARRAY_TYPEgl_ONE"gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATIgl_TRANSLATE_X_NVgl_HI_SCALE_NV+gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT gl_HILO_NV gl_TRIANGLESgl_LINEARLIGHT_NVgl_MAX_3D_TEXTURE_SIZE_OES"gl_ANY_SAMPLES_PASSED_CONSERVATIVEgl_UNIFORM_BLOCK_BINDING$gl_MAX_TESS_CONTROL_INPUT_COMPONENTSgl_TEXTURE_ALPHA_TYPE_ARBgl_MAX_CONVOLUTION_HEIGHT$gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONSgl_DEPTH_BUFFER_BIT5_QCOMgl_PROGRAM_TEX_INDIRECTIONS_ARBgl_BLUE gl_RGBA_S3TCgl_DECRgl_MAJOR_VERSIONgl_ARRAY_STRIDEgl_CONSTANT_COLOR1_NVgl_SAMPLES_EXTgl_MAX_SAMPLES_APPLEgl_COLOR_ARRAY_SIZEgl_SAMPLE_ALPHA_TO_MASK_SGISgl_DUP_LAST_CUBIC_CURVE_TO_NV gl_TEXTURE10gl_R1UI_T2F_C4F_N3F_V3F_SUNgl_MAX_VARYING_COMPONENTSgl_DRAW_BUFFER7_EXTgl_MAX_COMBINED_ATOMIC_COUNTERSgl_PROGRAM_ERROR_STRING_ARBgl_TRACE_ALL_BITS_MESAgl_DEPTH_CLAMP_NV gl_REDUCEgl_UNSIGNED_SHORT_4_4_4_4gl_SKIP_COMPONENTS1_NV"gl_PIXEL_TILE_CACHE_INCREMENT_SGIXgl_COLOR_ARRAYgl_STATIC_VERTEX_ARRAY_IBMgl_INDEX_BIT_PGI"gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXTgl_ETC1_SRGB8_NV'gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS&gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT gl_LIGHT_MODEL_COLOR_CONTROL_EXT gl_PATCH_DEFAULT_OUTER_LEVEL_EXTgl_SAMPLER_CUBE_ARB+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXTgl_STORAGE_PRIVATE_APPLEgl_MAP1_TEXTURE_COORD_2$gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUNgl_VERTEX_ATTRIB_ARRAY8_NVgl_LUMINANCE16F_ARBgl_DEPTH_COMPONENT32F_NV#gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXTgl_MATRIX28_ARB gl_SYNC_FLUSH_COMMANDS_BIT_APPLE!gl_READ_FRAMEBUFFER_BINDING_ANGLEgl_FOG_COORDINATE_ARRAY_TYPEgl_RGBA32UI_EXT#gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG gl_2_BYTES_NVgl_TEXTURE_HI_SIZE_NVgl_PACK_SWAP_BYTES"gl_EVAL_FRACTIONAL_TESSELLATION_NVgl_RG16gl_SWIZZLE_STR_ATI gl_CON_6_ATIgl_PATH_FOG_GEN_MODE_NVgl_SRGB8_ALPHA8_EXT"gl_COMPRESSED_SLUMINANCE_ALPHA_EXTgl_TEXTURE_COMPARE_FUNC_EXTgl_UNIFORM_MATRIX_STRIDEgl_INVALID_OPERATIONgl_DRAW_BUFFER4_ATIgl_BYTE gl_SECONDARY_COLOR_ARRAY_POINTERgl_TEXTURE_CUBE_MAP_POSITIVE_Xgl_TEXTURE_2D_ARRAYgl_OFFSET_TEXTURE_MATRIX_NVgl_FLOAT_MAT2x4 gl_REG_31_ATIgl_DEBUG_TYPE_PORTABILITYgl_SAMPLER_2D_ARBgl_DRAW_BUFFER11%gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONSgl_TEXTURE5_ARB)gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXTgl_COLOR_TABLE_SCALE!gl_POINT_FADE_THRESHOLD_SIZE_SGIS!gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARBgl_ACCUM_CLEAR_VALUEgl_OPERAND0_ALPHA_EXTgl_QUERY_NO_WAITgl_PRIMITIVE_RESTARTgl_STENCIL_ATTACHMENT_OESgl_BUFFER_USAGEgl_COLOR_TABLE_BLUE_SIZEgl_VERTEX_ARRAY_SIZE_EXT gl_ALPHA8gl_PROXY_TEXTURE_2Dgl_HALF_BIT_ATIgl_TRANSPOSE_MODELVIEW_MATRIXgl_DRAW_BUFFER3gl_4PASS_2_SGIS!gl_MAX_GEOMETRY_OUTPUT_COMPONENTSgl_SAMPLER_2D_ARRAY_SHADOW_EXTgl_TEXTURE_FORMAT_QCOMgl_RGB16_SNORMgl_DRAW_BUFFER8_NVgl_AUX_BUFFERSgl_CONVOLUTION_HINT_SGIX gl_FOG_COLORgl_COLOR_TABLE_RED_SIZE_SGIgl_FUNC_SUBTRACT_OESgl_LUMINANCE_ALPHA16F_ARBgl_MODELVIEW10_ARB gl_LOGIC_OP"gl_PROGRAM_NATIVE_INSTRUCTIONS_ARBgl_SOURCE0_ALPHA_EXTgl_INDEX_SHIFT!gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS gl_RG32F_EXT#gl_GEOMETRY_LINKED_VERTICES_OUT_EXTgl_STACK_UNDERFLOW_KHRgl_TESS_GEN_POINT_MODE_EXTgl_BUFFER_ACCESS_ARBgl_DOT_PRODUCT_NVgl_INVERTED_SCREEN_W_REND gl_REG_11_ATIgl_MAX_FRAMEZOOM_FACTOR_SGIX(gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMDgl_MATRIX20_ARBgl_EVAL_VERTEX_ATTRIB1_NVgl_COLOR_ATTACHMENT10_NVgl_OUTPUT_TEXTURE_COORD28_EXTgl_MAX_TEXTURE_COORDS_ARB&gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL'gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCESgl_RENDERBUFFER_BLUE_SIZEgl_MULTISAMPLE_BITgl_CURRENT_PROGRAMgl_AUX_DEPTH_STENCIL_APPLEgl_LUMINANCE8_ALPHA8_EXT"gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NVgl_INTERLACE_OML gl_REG_27_ATIgl_UNSIGNED_INT_24_8_OESgl_COMBINER_AB_OUTPUT_NVgl_CURRENT_RASTER_INDEXgl_SYNC_FENCE_APPLE3gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXTgl_MAX_TEXTURE_SIZE gl_TEXTURE24gl_STENCIL_BACK_FUNCgl_LUMINANCE12gl_PARAMETER_BUFFER_ARBgl_AUX2gl_SLICE_ACCUM_SUNgl_COLOR_TABLE_ALPHA_SIZE"gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT!gl_DRAW_FRAMEBUFFER_BINDING_ANGLE=gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER gl_SUBTRACTgl_MAX_PROGRAM_IF_DEPTH_NVgl_T2F_C4F_N3F_V3Fgl_ACTIVE_SUBROUTINE_UNIFORMSgl_EMBOSS_LIGHT_NVgl_POINT_SIZE_RANGE"gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXTgl_CLAMP_TO_BORDERgl_TEXTURE_BUFFER_OFFSET_EXT&gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NVgl_COMPRESSED_INTENSITY!gl_MAX_PROGRAM_OUTPUT_VERTICES_NV)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OESgl_MAX_PROGRAM_ATTRIBS_ARB$gl_POST_COLOR_MATRIX_GREEN_SCALE_SGIgl_TEXTURE_3D_BINDING_EXTgl_SHADER_STORAGE_BUFFER_START gl_MAP2_INDEXgl_CONSTANT_COLOR_EXT gl_RG32UIgl_BGRAgl_FRAGMENT_DEPTH_EXTgl_GENERATE_MIPMAP_HINT_SGISgl_DIFFERENCE_NVgl_UNSIGNED_SHORT_1_15_REV_MESA"gl_PROGRAM_BINARY_RETRIEVABLE_HINT gl_RGBA32Igl_UNSIGNED_INT_8_8_8_8 gl_DOMAINgl_COLOR_MATRIXgl_PROGRAM_NATIVE_ATTRIBS_ARBgl_OP_ROUND_EXTgl_VIEW_CLASS_96_BITSgl_TEXTURE_WRAP_R_OESgl_VERTEX_ARRAY_TYPE"gl_VIDEO_BUFFER_INTERNAL_FORMAT_NVgl_PIXEL_MAP_R_TO_R_SIZEgl_UNSIGNED_NORMALIZED_ARBgl_UNSIGNED_INT8_VEC3_NV gl_COMPRESSED_RGBA8_ETC2_EAC_OES gl_HI_BIAS_NVgl_SECONDARY_COLOR_ARRAY_EXTgl_BUFFER_MAP_OFFSETgl_LUMINANCE4_ALPHA4_OESgl_FORMAT_SUBSAMPLE_244_244_OML&gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESAgl_PLUS_CLAMPED_ALPHA_NVgl_COLOR_ATTACHMENT0_NVgl_COMPRESSED_RGB_S3TC_DXT1_EXTgl_GEOMETRY_OUTPUT_TYPEgl_INTENSITY8_EXT"gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT!gl_COMPRESSED_RED_GREEN_RGTC2_EXTgl_DEBUG_SOURCE_API_KHRgl_BLEND_PREMULTIPLIED_SRC_NVgl_CLIENT_STORAGE_BITgl_INTENSITY12_EXT gl_MATRIX_INDEX_ARRAY_STRIDE_OES!gl_CURRENT_RASTER_SECONDARY_COLOR gl_REPLACE gl_LINEARgl_COMBINER_INPUT_NVgl_TRANSFORM_FEEDBACK_VARYINGS)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OESgl_IMAGE_BINDING_ACCESSgl_NUM_LOOPBACK_COMPONENTS_ATIgl_ARRAY_ELEMENT_LOCK_COUNT_EXT%gl_REPLACEMENT_CODE_ARRAY_POINTER_SUNgl_TEXTURE_4DSIZE_SGISgl_COUNTER_RANGE_AMD gl_RGB8_OESgl_ALPHA16F_EXTgl_C4F_N3F_V3Fgl_NEAREST_MIPMAP_LINEARgl_DEBUG_SEVERITY_LOW_KHRgl_DISCARD_ATIgl_LOCAL_CONSTANT_DATATYPE_EXT$gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXT gl_LOWER_LEFTgl_RENDERBUFFER_HEIGHT_OESgl_SPRITE_MODE_SGIX"gl_REPLACEMENT_CODE_ARRAY_TYPE_SUNgl_UNSIGNED_INT8_VEC2_NV gl_NONE_OESgl_POINT_SIZE_MIN_ARB0gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NVgl_RENDERBUFFER_DEPTH_SIZE_EXTgl_BUFFER_MAP_LENGTH gl_WRITE_ONLYgl_NEAREST_CLIPMAP_NEAREST_SGIX*gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NVgl_ALREADY_SIGNALED_APPLEgl_REPLICATE_BORDERgl_SUBPIXEL_BITSgl_ALPHA_MIN_SGIXgl_BLUE_BIT_ATIgl_UNSIGNED_INT_IMAGE_2D_EXT"gl_TRANSFORM_FEEDBACK_VARYINGS_EXT.gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXTgl_PIXEL_COUNTER_BITS_NVgl_422_REV_AVERAGE_EXTgl_TEXTURE_RESIDENT_EXTgl_STENCIL_WRITEMASK'gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICESgl_FLOAT_VEC3_ARB#gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORMgl_DYNAMIC_STORAGE_BIT!gl_DRAW_FRAMEBUFFER_BINDING_APPLEgl_CLIP_PLANE4_IMG gl_CON_26_ATI gl_COMPRESSED_SIGNED_R11_EAC_OESgl_LINES_ADJACENCY_EXTgl_AUTO_GENERATE_MIPMAPgl_OP_EXP_BASE_2_EXTgl_ATTRIB_STACK_DEPTHgl_ALPHA32F_EXTgl_KEEPgl_TEXTURE_FILTER4_SIZE_SGIS(gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT gl_INT_VEC3gl_MATRIX_MODEgl_UNSIGNED_NORMALIZEDgl_DEBUG_PRINT_MESA gl_DST_OUT_NVgl_CLEAR_BUFFERgl_COMBINER_SCALE_NVgl_WRITE_ONLY_OESgl_422_AVERAGE_EXTgl_COLOR_INDEX12_EXTgl_COLOR_BUFFER_BIT0_QCOMgl_CAVEAT_SUPPORTgl_BLUE_INTEGERgl_IUI_N3F_V2F_EXTgl_VERTEX_DATA_HINT_PGI gl_REG_13_ATIgl_NEGATIVE_ONE_EXT gl_CON_16_ATIgl_TEXTURE_EXTERNAL_OESgl_SHADER_TYPEgl_OVERLAY_KHRgl_LUMINANCE6_ALPHA2_EXTgl_COLOR_TABLE_SGIgl_TEXTURE_STENCIL_SIZE_EXT gl_NEARESTgl_RGB8Igl_TEXTURE_SPARSE_ARBgl_MATRIX9_ARBgl_TEXTURE_TARGET!gl_SECONDARY_COLOR_ARRAY_TYPE_EXT gl_RENDERERgl_TEXTURE_BINDING_BUFFERgl_INT_VEC3_ARBgl_MATRIX12_ARBgl_VERTEX_ATTRIB_ARRAY_ENABLEDgl_RENDERBUFFER_SAMPLES_NVgl_COLOR_ATTACHMENT1_EXT(gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPEgl_LINEAR_DETAIL_SGIS gl_CURRENT_RASTER_POSITION_VALIDgl_LINEAR_DETAIL_COLOR_SGIS#gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXTgl_POINT_SIZE_MIN_EXTgl_GPU_DISJOINT_EXTgl_LIGHT_MODEL_COLOR_CONTROLgl_MAX_TESS_PATCH_COMPONENTSgl_CURRENT_PALETTE_MATRIX_OESgl_SAMPLES_SGISgl_FUNC_REVERSE_SUBTRACT_OESgl_TEXTURE13_ARBgl_SMOOTH_CUBIC_CURVE_TO_NV!gl_COMPRESSED_RGBA_ASTC_3x3x3_OESgl_MODELVIEW15_ARBgl_EYE_PLANE_ABSOLUTE_NVgl_READ_FRAMEBUFFER_BINDING_NVgl_RENDERBUFFER_RED_SIZE gl_PIXEL_PACK_BUFFER_BINDING_EXTgl_MAX_RENDERBUFFER_SIZEgl_DOUBLE_MAT4_EXTgl_COMPRESSED_R11_EACgl_INT_IMAGE_2D_RECT gl_MAD_ATIgl_IMAGE_CLASS_4_X_32#gl_VIDEO_COLOR_CONVERSION_OFFSET_NV gl_BOOL_VEC4*gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB)gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OESgl_HISTOGRAM_FORMAT_EXTgl_UNSIGNED_INT_8_8_8_8_REV_EXTgl_R1UI_C3F_V3F_SUNgl_SAMPLER_1D_ARRAY_SHADOW_EXTgl_TEXTURE_BINDING_2D_ARRAYgl_TEXTURE_RANGE_POINTER_APPLEgl_SMALL_CCW_ARC_TO_NVgl_SHADER_COMPILERgl_DEPTH_COMPONENT24_ARBgl_COLOR_ATTACHMENT14_NVgl_TIME_ELAPSED!gl_FRAMEBUFFER_DEFAULT_LAYERS_EXTgl_MATRIX11_ARBgl_XORgl_HSL_SATURATION_KHRgl_R1UI_T2F_V3F_SUNgl_COMPUTE_WORK_GROUP_SIZEgl_BLEND_EQUATION_EXT gl_SAMPLERgl_NUM_FRAGMENT_REGISTERS_ATI gl_REG_5_ATIgl_DSDT8_MAG8_INTENSITY8_NVgl_PIXEL_MAP_S_TO_S_SIZE0gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT gl_OR_REVERSEgl_QUERY_BUFFER_BARRIER_BIT$gl_TRANSFORM_FEEDBACK_BUFFER_BINDING gl_SAMPLER_1Dgl_COLOR_TABLE_INTENSITY_SIZEgl_TRIANGLE_FANgl_POINT_SIZE_MAX_SGISgl_ELEMENT_ARRAY_POINTER_ATIgl_INT_IMAGE_1D_EXTgl_CONVOLUTION_FILTER_SCALE_EXTgl_EVAL_VERTEX_ATTRIB8_NVgl_DYNAMIC_COPY_ARB gl_REG_12_ATIgl_SIGNED_NORMALIZED gl_REG_8_ATIgl_SAMPLE_COVERAGE_ARBgl_ALLOW_DRAW_MEM_HINT_PGIgl_INTENSITY16F_ARBgl_PATH_FORMAT_PS_NVgl_TEXTURE_FREE_MEMORY_ATI gl_SYNC_FENCEgl_WRITE_ONLY_ARB gl_INVERTgl_TRANSLATE_Y_NV gl_SAMPLER_3Dgl_LINE_STRIP_ADJACENCYgl_OPERAND2_RGB_EXT)gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMGgl_COLOR_ARRAY_ADDRESS_NV"gl_POST_CONVOLUTION_BLUE_SCALE_EXT gl_HIGH_FLOATgl_TESS_GEN_MODE_EXT#gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NVgl_MAX_LABEL_LENGTHgl_QUERY_BY_REGION_NO_WAITgl_OP_RECIP_EXTgl_PROXY_TEXTURE_2D_ARRAYgl_COMPRESSED_RGBA_FXT1_3DFXgl_PRIMITIVES_GENERATEDgl_TEXTURE26_ARBgl_TESS_EVALUATION_TEXTURE gl_TEXTURE1gl_TRANSFORM_FEEDBACK_RECORD_NVgl_DRAW_FRAMEBUFFER_NVgl_MODELVIEW8_ARBgl_UNSIGNED_INT_SAMPLER_BUFFERgl_CONVOLUTION_1D&gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NVgl_SAMPLER_1D_ARRAYgl_TRANSFORM_FEEDBACK_BINDINGgl_LIGHTING_BITgl_R1UI_C4F_N3F_V3F_SUNgl_TEXTURE_RED_SIZE_EXTgl_VERTEX_ARRAY_KHR gl_ALPHA_BITS#gl_MAX_VERTEX_SHADER_INVARIANTS_EXT)gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTSgl_SAMPLE_MASK_INVERT_EXTgl_TRANSPOSE_PROGRAM_MATRIX_EXT gl_ABGR_EXTgl_MULTISAMPLE_BIT_3DFX gl_MATRIX0_NV(gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG gl_RGB9_E5gl_IMAGE_2D_MULTISAMPLE_ARRAY"gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE'gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NVgl_GEOMETRY_PROGRAM_NV gl_RGB10_EXT%gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOATgl_ALWAYS_SOFT_HINT_PGIgl_WEIGHT_ARRAY_BUFFER_BINDINGgl_BLEND_DST_ALPHA_OESgl_UNIFORM_BUFFER_BINDING_EXTgl_CONTINUOUS_AMDgl_STENCIL_BUFFER_BIT4_QCOM+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NVgl_TESS_EVALUATION_SHADER_BITgl_TEXTURE_COORD_ARRAY_EXT$gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSETgl_PROGRAM_INSTRUCTIONS_ARBgl_PROXY_TEXTURE_3Dgl_CLIP_PLANE0gl_CURRENT_QUERY_EXTgl_T4F_C4F_N3F_V4Fgl_ADDgl_STENCIL_EXTgl_TEXTURE_BLUE_TYPEgl_OUTPUT_TEXTURE_COORD8_EXTgl_OBJECT_TYPE_ARBgl_RESET_NOTIFICATION_STRATEGYgl_UNSIGNED_INT_VEC2_EXTgl_DRAW_BUFFER6_NVgl_ASYNC_DRAW_PIXELS_SGIXgl_INTERNALFORMAT_GREEN_SIZEgl_TEXTURE_GREEN_SIZE*gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTELgl_VIRTUAL_PAGE_SIZE_Y_AMD gl_OP_MUL_EXT gl_NORMAL_MAPgl_ALPHA16_EXT gl_POINT_SIZEgl_INTERNALFORMAT_SUPPORTED$gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXTgl_DEBUG_SEVERITY_HIGH_ARBgl_TEXTURE_MAX_LEVEL_SGISgl_SHADING_LANGUAGE_VERSION_ARBgl_STANDARD_FONT_FORMAT_NVgl_VERTEX_WEIGHT_ARRAY_SIZE_EXTgl_IR_INSTRUMENT1_SGIXgl_SIGNED_HILO8_NVgl_RENDERBUFFER_GREEN_SIZE_OES gl_REG_1_ATIgl_CLAMP_TO_EDGEgl_GEOMETRY_SHADER_BITgl_MODELVIEW7_ARBgl_BUFFER_MAPPED_ARBgl_DRAW_BUFFER12_EXT gl_RGB565_OESgl_SHORTgl_STENCIL_BACK_FAIL_ATI!gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT%gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV gl_CON_31_ATIgl_RGB5gl_SAMPLER_2D_RECT!gl_COMPRESSED_RGBA_ASTC_5x4x4_OESgl_PASS_THROUGH_TOKENgl_RGBA_FLOAT32_ATIgl_TEXTURE_COLOR_WRITEMASK_SGIS2gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTSgl_OUTPUT_TEXTURE_COORD23_EXTgl_YCBYCR8_422_NV gl_SRC_NV gl_MAX_EXT gl_UNPACK_COMPRESSED_BLOCK_DEPTHgl_UNSIGNED_SHORT_5_5_5_1_EXT gl_IMAGE_3Dgl_DEPTH_BUFFER_BIT0_QCOM0gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTSgl_DECR_WRAP_OES&gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NVgl_SPARSE_STORAGE_BIT_ARBgl_LAST_VIDEO_CAPTURE_STATUS_NVgl_LAST_VERTEX_CONVENTIONgl_IDENTITY_NVgl_RETAINED_APPLEgl_FLOAT_RGB32_NVgl_DRAW_BUFFER15_ARB gl_COLOR_EXTgl_WEIGHT_ARRAY_TYPE_OES!gl_DETAIL_TEXTURE_2D_BINDING_SGIS gl_BGRA8_EXTgl_T2F_IUI_V3F_EXT*gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERSgl_VERTEX_ARRAY_LIST_IBMgl_INDEX_ARRAY_STRIDE_EXTgl_SCALE_BY_ONE_HALF_NVgl_PROXY_TEXTURE_4D_SGIS gl_HALF_FLOATgl_FIELD_UPPER_NV!gl_OCCLUSION_QUERY_EVENT_MASK_AMD'gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NVgl_VERTEX_ATTRIB_ARRAY4_NVgl_CONVOLUTION_BORDER_COLOR_HP'gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT gl_MODULATEgl_NO_RESET_NOTIFICATION_KHRgl_CURRENT_INDEXgl_RED_MAX_CLAMP_INGRgl_SAMPLE_ALPHA_TO_MASK_EXT!gl_DEBUG_CATEGORY_DEPRECATION_AMDgl_EXP2 gl_HISTOGRAM)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT!gl_READ_FRAMEBUFFER_BINDING_APPLEgl_COLOR_ATTACHMENT9gl_PROXY_TEXTURE_CUBE_MAP_ARBgl_SIGNED_RGB8_NVgl_TEXTURE_INTENSITY_SIZEgl_TEXTURE_MAX_CLAMP_S_SGIX&gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV$gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NVgl_TEXTURE_MAX_LOD_SGIS gl_LUMINANCE!gl_FOG_COORD_ARRAY_BUFFER_BINDINGgl_OFFSET_TEXTURE_2D_BIAS_NV gl_FEEDBACKgl_MAGNITUDE_BIAS_NVgl_POST_CONVOLUTION_ALPHA_SCALEgl_PATH_TERMINAL_END_CAP_NVgl_GLYPH_HEIGHT_BIT_NVgl_TEXTURE_STORAGE_HINT_APPLE gl_MATRIX2_NV gl_RGB16Igl_NUM_SHADER_BINARY_FORMATSgl_MULTISAMPLE_BUFFER_BIT7_QCOMgl_SAMPLE_ALPHA_TO_ONE gl_CON_11_ATIgl_MAP2_TEXTURE_COORD_1gl_DRAW_BUFFER14_ARB#gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS%gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARBgl_FLOAT_RGBA_MODE_NVgl_VERTEX_ATTRIB_ARRAY9_NV gl_ALPHA4gl_EVAL_VERTEX_ATTRIB9_NVgl_VARIANT_ARRAY_POINTER_EXTgl_INDEX_TEST_EXTgl_MAX_RENDERBUFFER_SIZE_EXTgl_MAP1_GRID_SEGMENTSgl_DETAIL_TEXTURE_MODE_SGISgl_LINEARBURN_NVgl_SOURCE2_ALPHAgl_COLOR_ATTACHMENT9_EXTgl_RENDERBUFFER_OES gl_RGBA8UI gl_MIPMAPgl_SMOOTH_LINE_WIDTH_RANGEgl_COMBINER7_NVgl_VIEW_CLASS_64_BITSgl_SAMPLE_MASK_VALUE_SGIS%gl_MAX_SHADER_STORAGE_BUFFER_BINDINGSgl_ALPHA32UI_EXTgl_NONEgl_MATRIX25_ARBgl_DUAL_LUMINANCE_ALPHA4_SGISgl_PATCH_VERTICESgl_COLOR_MATERIAL_PARAMETERgl_NUM_PROGRAM_BINARY_FORMATSgl_PACK_ROW_LENGTHgl_RENDERBUFFER_BINDING_EXTgl_FORMAT_SUBSAMPLE_24_24_OMLgl_RELATIVE_ROUNDED_RECT4_NV gl_TEXTURE3gl_DEPTH_COMPONENT16_SGIXgl_SAMPLER_2D_SHADOW_EXTgl_MIN_MAP_BUFFER_ALIGNMENTgl_PROXY_TEXTURE_2D_ARRAY_EXTgl_WEIGHT_ARRAY_TYPE_ARB gl_LOW_INTgl_DRAW_BUFFER11_ATIgl_MAX_ELEMENTS_VERTICES_EXTgl_COMPRESSED_RED_RGTC1_EXTgl_RGBAgl_DRAW_BUFFER0_ARBgl_TEXTURE_RED_TYPEgl_FENCE_APPLEgl_MAX_CONVOLUTION_WIDTH_EXTgl_UNSIGNED_INVERT_NV gl_LIGHT6gl_STREAM_COPY!gl_INSTRUMENT_BUFFER_POINTER_SGIX gl_MODELVIEW gl_RGB32F gl_MAP_COLOR!gl_COLOR_TABLE_INTENSITY_SIZE_SGI&gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NVgl_LAYER_PROVOKING_VERTEX_EXT!gl_COMPRESSED_RGBA_ASTC_6x5x5_OES gl_FOG_BITgl_NATIVE_GRAPHICS_HANDLE_PGI.gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT!gl_MAX_COMPUTE_SHARED_MEMORY_SIZEgl_STENCIL_INDEX1_EXTgl_COLOR_ATTACHMENT2_NVgl_DRAW_BUFFER5_ARBgl_TEXTURE_OBJECT_VALID_QCOMgl_PHONG_HINT_WINgl_MAP1_VERTEX_ATTRIB0_4_NV'gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVXgl_COLOR_TABLE_WIDTHgl_INT_IMAGE_1D_ARRAYgl_BUFFER_MAPPEDgl_TEXTURE_SWIZZLE_Rgl_COLOR_ATTACHMENT9_NV2gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADERgl_LUMINANCE16_ALPHA16!gl_PERFQUERY_GLOBAL_CONTEXT_INTEL gl_POINT_FADE_THRESHOLD_SIZE_EXTgl_BLEND_EQUATION_OES*gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OESgl_TEXTURE_BINDING_2D_ARRAY_EXT gl_CON_7_ATIgl_DUAL_LUMINANCE16_SGIS gl_RASTER_POSITION_UNCLIPPED_IBMgl_ALLOW_DRAW_FRG_HINT_PGI4gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXTgl_TEXTURE_COORD_ARRAY gl_MAX_DEBUG_LOGGED_MESSAGES_KHRgl_ARRAY_BUFFER_BINDING_ARBgl_PIXEL_TEXTURE_SGISgl_STENCIL_INDEX8gl_IMAGE_CLASS_10_10_10_2gl_DRAW_INDIRECT_LENGTH_NVgl_DEBUG_CALLBACK_FUNCTION_ARBgl_INT_SAMPLER_2D_ARRAY+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARBgl_GENERIC_ATTRIB_NVgl_TEXTURE_RED_TYPE_ARBgl_MAX_VERTEX_UNITS_ARB gl_DEPTH_BIASgl_SRGBgl_TEXTURE_COORD_ARRAY_TYPE&gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT'gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NVgl_CURRENT_TIME_NVgl_TEXTURE_DEPTH_SIZEgl_INDEX_ARRAY_LIST_STRIDE_IBMgl_CLIP_PLANE1_IMGgl_CULL_VERTEX_EYE_POSITION_EXTgl_COPY_READ_BUFFER_NVgl_CONTEXT_CORE_PROFILE_BIT gl_ARC_TO_NVgl_PACK_COMPRESSED_BLOCK_SIZEgl_TRACE_NAME_MESAgl_TEXTURE_CROP_RECT_OESgl_MAP2_VERTEX_ATTRIB15_4_NVgl_DRAW_INDIRECT_UNIFIED_NV%gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS#gl_MAX_COMBINED_TEXTURE_IMAGE_UNITSgl_CULL_FACE_MODEgl_LUMINANCE_ALPHA_INTEGER_EXTgl_SURFACE_MAPPED_NVgl_FOG_COORD_ARRAY_LENGTH_NVgl_Rgl_NUM_VIDEO_CAPTURE_STREAMS_NVgl_VERTEX_PROGRAM_POINT_SIZE_NVgl_CONSTANT_NV gl_RGB10_A2gl_INTENSITY16_EXT gl_TEXTURE28gl_COMPRESSED_RGBA_ASTC_4x4_KHR gl_SRGB_READgl_LUMINANCE16_ALPHA16_SNORMgl_UNSIGNED_INT_IMAGE_1D_ARRAYgl_ELEMENT_ARRAY_TYPE_ATIgl_PATCH_DEFAULT_OUTER_LEVELgl_LINE_STRIP_ADJACENCY_ARBgl_POLYGON_OFFSET_POINTgl_UNSIGNED_SHORT_8_8_APPLEgl_DYNAMIC_ATIgl_UNSIGNED_INT16_NVgl_TEXTURE_BINDING_BUFFER_EXT%gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARBgl_MAP2_VERTEX_ATTRIB14_4_NVgl_COMPRESSED_RGBgl_VERTEX_ATTRIB_ARRAY0_NVgl_MIN gl_COLOR_SUM"gl_ATC_RGBA_INTERPOLATED_ALPHA_AMDgl_RECIP_ADD_SIGNED_ALPHA_IMG gl_FONT_MAX_ADVANCE_WIDTH_BIT_NVgl_SPRITE_AXIAL_SGIX3gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OESgl_TEXTURE_ENV_BIAS_SGIXgl_PROGRAM_FORMAT_ASCII_ARBgl_OUTPUT_COLOR1_EXTgl_SELECTION_BUFFER_SIZE!gl_VERTEX_ATTRIB_MAP2_ORDER_APPLEgl_INTENSITY_FLOAT16_ATIgl_TEXTURE30_ARBgl_TEXTURE_1D_STACK_MESAX&gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE(gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBMgl_SIGNED_HILO_NV!gl_CONTEXT_FLAG_ROBUST_ACCESS_BITgl_ACTIVE_ATTRIBUTE_MAX_LENGTHgl_IMAGE_2D_RECT_EXTgl_TESS_GEN_MODEgl_TEXTURE_MIN_FILTER gl_FLOAT_VEC4 gl_LIGHT2gl_MODELVIEW24_ARBgl_TESS_EVALUATION_SHADERgl_PROXY_COLOR_TABLE_SGIgl_INDEX_ARRAY_EXT)gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARBgl_FRAGMENT_INPUT_NV gl_CON_13_ATIgl_IMAGE_ROTATE_ORIGIN_Y_HPgl_VERTEX_ARRAY_COUNT_EXTgl_STENCIL_INDEX1_OESgl_BUFFER_DATA_SIZEgl_MAX_NAME_STACK_DEPTHgl_SAMPLES_PASSED_ARBgl_TEXTURE_PRE_SPECULAR_HPgl_RESCALE_NORMAL_EXT$gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAYgl_TRANSLATE_2D_NVgl_QUAD_INTENSITY8_SGISgl_LOCATION_INDEXgl_MODELVIEW9_ARBgl_CONTEXT_RELEASE_BEHAVIOR_KHR!gl_EDGE_FLAG_ARRAY_BUFFER_BINDINGgl_DEBUG_TYPE_PERFORMANCE_KHRgl_POINT_DISTANCE_ATTENUATIONgl_PIXEL_TILE_GRID_HEIGHT_SGIXgl_COLOR_ATTACHMENT3gl_COUNT_UP_NVgl_STENCIL_BACK_VALUE_MASKgl_PERFQUERY_DONOT_FLUSH_INTELgl_VARIABLE_F_NVgl_STENCIL_BACK_PASS_DEPTH_FAILgl_IMAGE_CUBIC_WEIGHT_HP gl_STENCILgl_DRAW_BUFFER6_ARBgl_MAX_COMBINED_IMAGE_UNIFORMSgl_PROGRAM_STRING_NVgl_STREAM_DRAWgl_BGR_INTEGER_EXT(gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OESgl_LAYER_PROVOKING_VERTEXgl_TEXTURE_ALPHA_SIZE_EXT!gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD%gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIXgl_VIEW_CLASS_48_BITSgl_DRAW_BUFFER15_NVgl_MAX_LABEL_LENGTH_KHRgl_DEBUG_TYPE_PERFORMANCEgl_DEPENDENT_RGB_TEXTURE_3D_NVgl_MAX_GEOMETRY_ATOMIC_COUNTERSgl_DRAW_BUFFER10_ARB"gl_FONT_UNDERLINE_THICKNESS_BIT_NVgl_DRAW_BUFFER7gl_TEXTURE_GREEN_TYPE_ARBgl_TEXTURE_MIN_LOD_SGIS"gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT gl_ELEMENT_ARRAY_BARRIER_BIT_EXTgl_SAMPLE_COVERAGE_VALUE gl_VERTEX_ATTRIB_RELATIVE_OFFSETgl_COLOR_TABLE_RED_SIZE%gl_TRANSFORM_FEEDBACK_BUFFER_START_NVgl_NAME_STACK_DEPTHgl_UNSIGNED_INT_5_9_9_9_REVgl_FUNC_SUBTRACT_EXTgl_STENCIL_INDEX4_EXTgl_TEXTURE_COMPRESSION_HINTgl_DEPTH_CLAMPgl_SAMPLE_COVERAGE_INVERTgl_DRAW_BUFFER0_EXTgl_DRAW_BUFFER4gl_ALPHA_FLOAT16_ATIgl_AFFINE_2D_NVgl_MAX_TRACK_MATRICES_NVgl_BINORMAL_ARRAY_STRIDE_EXTgl_UNSIGNED_SHORT_1_5_5_5_REVgl_ROUNDED_RECT4_NVgl_COMMAND_BARRIER_BIT_EXTgl_TEXTURE_ENV_COLORgl_READ_WRITE_ARB gl_RGBA8_EXTgl_EVAL_VERTEX_ATTRIB10_NVgl_POST_CONVOLUTION_RED_BIASgl_INT16_VEC4_NVgl_COLOR_SUM_ARBgl_OUTPUT_TEXTURE_COORD5_EXT!gl_COMPRESSED_RGBA_ASTC_12x10_KHRgl_MAX_ELEMENTS_INDICES gl_REFERENCED_BY_FRAGMENT_SHADER-gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARBgl_WEIGHT_ARRAY_ARBgl_TIME_ELAPSED_EXTgl_BACK_SECONDARY_COLOR_NVgl_COMPARE_REF_TO_TEXTURE_EXTgl_IS_PER_PATCH_EXT+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLEgl_TEXTURE_LUMINANCE_SIZE_EXTgl_COVERAGE_BUFFERS_NVgl_MATRIX5_ARB)gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT!gl_COMPRESSED_RGBA_ASTC_5x5x4_OESgl_CONVOLUTION_FILTER_BIASgl_TRACE_PRIMITIVES_BIT_MESAgl_POINT_SPRITEgl_POLYGON_STIPPLE_BITgl_DEBUG_SEVERITY_HIGH gl_RENDERBUFFER_STENCIL_SIZE_EXTgl_REDgl_DRAW_BUFFER12_NV!gl_COMPRESSED_RGBA_ASTC_10x10_KHRgl_ACTIVE_TEXTUREgl_Qgl_STRICT_LIGHTING_HINT_PGIgl_INT8_VEC2_NVgl_MAP2_VERTEX_ATTRIB0_4_NVgl_SHADER_SOURCE_LENGTH gl_FLOAT_MAT4gl_COLOR_MATRIX_SGIgl_SAMPLER_2D_ARRAY_EXTgl_MODULATE_SUBTRACT_ATIgl_TRIANGLES_ADJACENCY_ARBgl_PROGRAM_TARGET_NVgl_GEOMETRY_SHADER_ARBgl_TEXTURE_BASE_LEVEL_SGIS gl_1PASS_SGISgl_TEXTURE_HEIGHT_QCOMgl_LUMINANCE12_ALPHA4_EXTgl_PIXEL_TILE_HEIGHT_SGIXgl_UNSIGNED_INT_S8_S8_8_8_NVgl_SOURCE0_RGBgl_DRAW_BUFFER6_EXTgl_PATH_FILL_BOUNDING_BOX_NVgl_RENDER_MODEgl_X_EXT gl_CON_14_ATIgl_TRIANGLE_STRIP_ADJACENCYgl_ROUNDED_RECT_NV'gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARBgl_DSDT_MAG_INTENSITY_NVgl_MODELVIEW13_ARB'gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCESgl_CLIP_ORIGINgl_PATH_CLIENT_LENGTH_NVgl_SAMPLE_ALPHA_TO_ONE_ARB#gl_RENDERBUFFER_INTERNAL_FORMAT_OESgl_POINT_SPRITE_ARBgl_FLOAT_MAT3_ARBgl_IMAGE_CLASS_4_X_8gl_PIXEL_SUBSAMPLE_4242_SGIX&gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXTgl_ROUNDED_RECT8_NV&gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING gl_DST_NV!gl_MAX_TRANSFORM_FEEDBACK_BUFFERSgl_FUNC_ADD_OESgl_VERTEX_STREAM7_ATI gl_RG_EXTgl_STENCIL_BACK_PASS_DEPTH_PASS!gl_FRAMEBUFFER_RENDERABLE_LAYEREDgl_MAP2_VERTEX_ATTRIB1_4_NVgl_DRAW_BUFFER2_ATIgl_RGBA_FLOAT16_ATIgl_EVAL_VERTEX_ATTRIB13_NVgl_DRAW_BUFFER15_ATIgl_MAP_WRITE_BIT gl_DOT3_RGBAgl_MAT_SHININESS_BIT_PGI(gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"gl_MAX_TRACK_MATRIX_STACK_DEPTH_NVgl_MATRIX30_ARBgl_STENCIL_TESTgl_MAX_INTEGER_SAMPLESgl_COPY_READ_BUFFER_BINDINGgl_TRANSFORM_FEEDBACK_BUFFERgl_LUMINANCE_FLOAT16_APPLE"gl_MAX_TESS_CONTROL_UNIFORM_BLOCKSgl_MAX_VERTEX_UNIFORM_VECTORS#gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NVgl_SAMPLER_RENDERBUFFER_NVgl_DRAW_BUFFER13_NV gl_RGB32F_ARBgl_FRAGMENT_LIGHT5_SGIXgl_MAX_GENERAL_COMBINERS_NVgl_TRANSPOSE_TEXTURE_MATRIX_ARBgl_OPERAND1_ALPHA_ARBgl_COLOR_ATTACHMENT12gl_GREEN_MAX_CLAMP_INGR!gl_PATH_PROJECTION_STACK_DEPTH_NVgl_MAP2_COLOR_4gl_COLOR_SUM_EXTgl_CLAMP_FRAGMENT_COLOR_ARB gl_INDEX_BITS gl_CON_15_ATIgl_BLEND_OVERLAP_NVgl_DS_SCALE_NVgl_CURRENT_PALETTE_MATRIX_ARBgl_IMAGE_BINDING_LAYER_EXTgl_WEIGHT_SUM_UNITY_ARBgl_ALPHA32I_EXTgl_SHADER_STORAGE_BUFFER_SIZE5gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADERgl_MAX_UNIFORM_LOCATIONSgl_DEBUG_SOURCE_OTHER_KHRgl_FRACTIONAL_EVENgl_MIN_PROGRAM_TEXEL_OFFSETgl_WEIGHT_ARRAY_OES"gl_RESET_NOTIFICATION_STRATEGY_KHR'gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV gl_RGB2_EXT"gl_VERTEX_ATTRIB_ARRAY_BARRIER_BITgl_ELEMENT_ARRAY_BUFFERgl_MEDIUM_FLOATgl_SAMPLER_1D_SHADOW_ARBgl_DRAW_BUFFER5gl_PARALLEL_ARRAYS_INTEL gl_REG_24_ATIgl_DEPTH_STENCIL_TO_BGRA_NVgl_MAX_FRAMEBUFFER_WIDTH)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OESgl_POLYGON_OFFSET_FILL"gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OESgl_TEXTURE_GEN_Tgl_TEXTURE_POST_SPECULAR_HP"gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OESgl_MAGNITUDE_SCALE_NVgl_VERTEX_SHADER_LOCALS_EXTgl_INT_2_10_10_10_REVgl_DOUBLE_MAT3x2_EXT gl_DISCARD_NVgl_MATRIX13_ARBgl_GENERATE_MIPMAP_HINTgl_MAX_PIXEL_MAP_TABLEgl_SHADER_STORAGE_BUFFERgl_BUFFER_UPDATE_BARRIER_BITgl_FRAMEBUFFER_BINDING_OESgl_CONTEXT_PROFILE_MASKgl_MAX_VIEWPORTSgl_DRAW_BUFFER4_ARBgl_RESAMPLE_DECIMATE_SGIXgl_SHADER_OBJECT_ARBgl_SYNC_FLAGS_APPLEgl_Z4Y12Z4CB12Z4CR12_444_NVgl_VERTEX_ARRAY_LENGTH_NV gl_FOG_COORDINATE_ARRAY_LIST_IBMgl_FRAMEBUFFER_DEFAULT_SAMPLESgl_FLAT gl_REG_2_ATIgl_VIEWPORT_BITgl_TEXTURE_VIEW_MIN_LEVEL_EXTgl_FRACTIONAL_ODD_EXTgl_VIRTUAL_PAGE_SIZE_X_ARBgl_GLOBAL_ALPHA_SUNgl_TEXTURE_BORDERgl_MAP2_VERTEX_ATTRIB7_4_NVgl_BUFFER_ACCESSgl_COLOR_ATTACHMENT15_EXT*gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT gl_PRIMITIVE_RESTART_FIXED_INDEXgl_MAX_COMBINED_DIMENSIONS gl_MINUS_NVgl_NORMAL_MAP_ARBgl_MAT_AMBIENT_BIT_PGI gl_REG_14_ATIgl_SECONDARY_INTERPOLATOR_ATIgl_FRAGMENT_SHADER_BIT_EXT gl_CON_20_ATIgl_DYNAMIC_DRAWgl_STENCIL_INDEX1gl_DEPTH_COMPONENTSgl_SEPARATE_SPECULAR_COLOR_EXTgl_CONSTANT_COLOR0_NVgl_LUMINANCE16I_EXTgl_TEXTURE_COORD_ARRAY_SIZE_EXTgl_BLEND_DST_RGBgl_VARIABLE_C_NVgl_INT_VEC2_ARB!gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIXgl_PIXEL_MAP_G_TO_G_SIZEgl_BLUE_MIN_CLAMP_INGR gl_RETURN%gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD gl_DOUBLEgl_COMBINE4_NVgl_IMAGE_ROTATE_ORIGIN_X_HPgl_COMBINER5_NVgl_SYNC_CONDITIONgl_DEBUG_LOGGED_MESSAGES_ARB gl_REG_15_ATIgl_BUFFER_MAP_POINTER_OESgl_SM_COUNT_NVgl_MAX_FRAMEBUFFER_HEIGHTgl_INCR_WRAP_OESgl_GCCSO_SHADER_BINARY_FJgl_DRAW_BUFFER4_NV gl_RGB565gl_WRITE_PIXEL_DATA_RANGE_NVgl_UNIFORM_OFFSETgl_UNSIGNED_INT64_ARBgl_STENCIL_RENDERABLEgl_COMPRESSED_RGBA_BPTC_UNORMgl_FLOAT_R32_NVgl_TEXTURE_CLIPMAP_OFFSET_SGIXgl_TEXTURE_IMAGE_VALID_QCOM#gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EACgl_IMAGE_PIXEL_TYPEgl_EDGE_FLAG_ARRAY_STRIDE gl_RED_SCALEgl_RENDERBUFFER_ALPHA_SIZE_OESgl_CLIP_DISTANCE7gl_INTENSITY32UI_EXT!gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHRgl_PN_TRIANGLES_ATI gl_LIGHT5gl_QUERY_RESULT_ARBgl_LUMINANCE16gl_ALPHA_TEST_QCOMgl_TEXTURE_BORDER_COLOR_NVgl_CULL_FRAGMENT_NVgl_PATH_GEN_MODE_NVgl_PROGRAM_POINT_SIZE_ARBgl_INTERNALFORMAT_DEPTH_TYPEgl_UNPACK_SKIP_ROWSgl_DEBUG_SEVERITY_NOTIFICATIONgl_MAX_FRAGMENT_LIGHTS_SGIXgl_COUNTER_TYPE_AMD gl_TEXTURE_FETCH_BARRIER_BIT_EXTgl_CURRENT_NORMAL)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OESgl_MULTIVIEW_EXTgl_TESS_GEN_VERTEX_ORDER_EXTgl_IMAGE_SCALE_X_HPgl_TEXTURE_COLOR_TABLE_SGIgl_DSDT_MAG_NVgl_Z400_BINARY_AMDgl_COLOR_INDEX8_EXT gl_SRGB8_NVgl_UNSIGNED_IDENTITY_NV+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OESgl_ALPHA_SNORMgl_MAX_TEXTURE_UNITSgl_DEBUG_SEVERITY_MEDIUM_KHRgl_TEXTURE_RECTANGLEgl_CONTRAST_NVgl_FILLgl_BLEND_COLORgl_POINT_SMOOTH_HINTgl_CONTEXT_ROBUST_ACCESSgl_FRAGMENT_PROGRAM_NVgl_OP_MULTIPLY_MATRIX_EXTgl_DEPENDENT_GB_TEXTURE_2D_NV gl_DOUBLE_EXTgl_VERTEX_PROGRAM_NVgl_PATH_END_CAPS_NVgl_PATH_STROKE_MASK_NVgl_SAMPLER_CUBE_SHADOW_EXTgl_COLOR_SAMPLES_NVgl_DUAL_INTENSITY16_SGIS%gl_IMPLEMENTATION_COLOR_READ_TYPE_OES"gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHRgl_SCISSOR_TESTgl_ADJACENT_PAIRS_NVgl_MAX_VERTEX_ATTRIB_BINDINGSgl_TEXTURE_GATHERgl_LUMINANCE_ALPHA8UI_EXTgl_RELATIVE_ARC_TO_NV(gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHRgl_TEXTURE_BINDING_CUBE_MAP_EXTgl_FRAGMENT_ALPHA_MODULATE_IMGgl_CURRENT_VERTEX_EXTgl_MAP1_VERTEX_ATTRIB11_4_NVgl_MATRIX_INDEX_ARRAY_SIZE_ARB!gl_TRANSFORM_FEEDBACK_BUFFER_MODEgl_PIXEL_TILE_CACHE_SIZE_SGIXgl_MODELVIEW0_EXTgl_FONT_DESCENDER_BIT_NV-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERSgl_RASTERIZER_DISCARD!gl_TRANSFORM_FEEDBACK_BUFFER_SIZEgl_MAX_DEBUG_MESSAGE_LENGTH_ARB gl_EXTENSIONSgl_RESAMPLE_AVERAGE_OML gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NVgl_RELATIVE_SMALL_CCW_ARC_TO_NVgl_FRONTgl_BLEND_COLOR_EXTgl_BUFFER_ACCESS_OESgl_MATRIX29_ARB!gl_GEOMETRY_LINKED_INPUT_TYPE_EXT)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OESgl_COLOR_ATTACHMENT12_EXTgl_DRAW_BUFFER1!gl_FLOAT_32_UNSIGNED_INT_24_8_REV#gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXTgl_UNSIGNED_INT_SAMPLER_CUBE)gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGIgl_MAX_CULL_DISTANCESgl_TEXTURE_LOD_BIAS_S_SGIXgl_SPRITE_SGIXgl_VERTEX_ATTRIB_ARRAY3_NVgl_QUAD_INTENSITY4_SGISgl_DIFFERENCE_KHR0gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXTgl_VOLATILE_APPLEgl_MAT_EMISSION_BIT_PGI.gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NVgl_DRAW_FRAMEBUFFER_BINDING gl_TEXTURE8 gl_MUL_ATIgl_PROGRAM_OBJECT_EXT*gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARBgl_MATRIX_INDEX_ARRAY_TYPE_ARBgl_PIXEL_MAG_FILTER_EXTgl_LESSgl_SOURCE2_RGB_ARB'gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTHgl_PATH_STENCIL_VALUE_MASK_NV!gl_IMPLEMENTATION_COLOR_READ_TYPEgl_TEXTURE_CLIPMAP_CENTER_SGIX gl_BUFFER gl_DEBUG_CALLBACK_USER_PARAM_ARB gl_FIXED_OES gl_INT_VEC2gl_VARIANT_VALUE_EXT gl_QUAD_STRIP#gl_COMPRESSED_RGB_BPTC_SIGNED_FLOATgl_ZERO_TO_ONE&gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB gl_CND_ATIgl_PROGRAM_POINT_SIZEgl_VIEWPORT_BOUNDS_RANGE'gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTELgl_R1UI_T2F_N3F_V3F_SUNgl_DEPTH_STENCIL_EXTgl_RESCALE_NORMALgl_INDEX_CLEAR_VALUEgl_VERTEX_STREAM5_ATI gl_CON_4_ATIgl_LAYOUT_DEFAULT_INTEL gl_RGBA8I_EXTgl_IMAGE_CLASS_4_X_16 gl_RGB8_EXTgl_TEXTURE_DS_SIZE_NVgl_CLAMP_VERTEX_COLORgl_DEPTH_CLEAR_VALUEgl_VERTEX_ATTRIB_ARRAY_SIZE_ARB)gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKSgl_RGB_FLOAT16_APPLE"gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NVgl_COLOR_ATTACHMENT1gl_MAX_TESS_GEN_LEVEL_EXT.gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARMgl_MATRIX3_ARB&gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARBgl_FRAGMENT_PROGRAM_BINDING_NVgl_DOT2_ADD_ATI gl_CON_2_ATI(gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OESgl_UNIFORM_ARRAY_STRIDEgl_RECLAIM_MEMORY_HINT_PGI)gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTSgl_DRAW_BUFFER11_ARBgl_NORMAL_ARRAYgl_PATH_GEN_COMPONENTS_NVgl_COLOR_FLOAT_APPLEgl_WAIT_FAILEDgl_SAMPLER_1D_ARRAY_SHADOWgl_PIXEL_TEX_GEN_Q_CEILING_SGIXgl_ALWAYS_FAST_HINT_PGIgl_GEOMETRY_OUTPUT_TYPE_EXTgl_MAX_PROGRAM_PATCH_ATTRIBS_NVgl_TEXTURE_1D_ARRAY gl_LIST_MODEgl_COLOR_ARRAY_TYPEgl_SAMPLE_MASK_VALUE_EXTgl_PIXEL_BUFFER_BARRIER_BITgl_SCISSOR_BOXgl_UNSIGNED_INT_SAMPLER_3D_EXT!gl_MAX_ATOMIC_COUNTER_BUFFER_SIZEgl_CLIENT_ALL_ATTRIB_BITS!gl_TRANSPOSE_MODELVIEW_MATRIX_ARBgl_TEXTURE_BINDING_RECTANGLE_NVgl_ALPHA_FLOAT32_ATIgl_MAP1_TEXTURE_COORD_4gl_CONSTANT_ALPHAgl_PREVIOUS_EXTgl_PACK_COMPRESSED_SIZE_SGIXgl_IMAGE_2D_ARRAY_EXTgl_ASYNC_TEX_IMAGE_SGIXgl_QUERY_RESULTgl_MATRIX0_ARBgl_UNPACK_CMYK_HINT_EXTgl_MAP1_TEXTURE_COORD_1!gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH%gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATIgl_TEXTURE_BLUE_SIZE_EXTgl_VARIANT_EXTgl_UNPACK_ROW_LENGTHgl_VARIANT_DATATYPE_EXTgl_LINEAR_MIPMAP_LINEARgl_ALPHA8I_EXTgl_OUTPUT_TEXTURE_COORD20_EXT gl_EYE_LINEAR gl_VIEWPORTgl_SHADER_BINARY_DMPgl_TEXTURE25_ARBgl_UNSIGNED_SHORT_4_4_4_4_EXTgl_PROXY_HISTOGRAM_EXTgl_SCALEBIAS_HINT_SGIXgl_MAP_INVALIDATE_RANGE_BIT_EXT!gl_FRAGMENT_PROGRAM_CALLBACK_MESAgl_TRANSLATE_3D_NVgl_PATH_COORD_COUNT_NVgl_MAX_ACTIVE_LIGHTS_SGIX"gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB gl_REFERENCE_PLANE_EQUATION_SGIXgl_PATH_TERMINAL_DASH_CAP_NVgl_INDEX_ARRAYgl_INNOCENT_CONTEXT_RESET_ARBgl_TEXTURE_BINDING_1D#gl_TRANSFORM_FEEDBACK_BUFFER_STRIDEgl_QUERY_OBJECT_EXTgl_UNIFORM_BLOCKgl_CONVOLUTION_HEIGHTgl_STENCIL_FAIL&gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIXgl_TEXTURE_SAMPLES_IMGgl_REFLECTION_MAP_NVgl_GREEN_SCALE gl_TRANSFORM_FEEDBACK_BUFFER_EXT gl_LIGHTEN_NVgl_HISTOGRAM_ALPHA_SIZE_EXTgl_UNSIGNED_INT64_NVgl_LINE_STIPPLE_REPEAT gl_YCBCR_MESA gl_LEQUALgl_BUFFER_USAGE_ARBgl_MAP1_VERTEX_ATTRIB6_4_NVgl_SAMPLER_BUFFER_AMDgl_OBJECT_DISTANCE_TO_LINE_SGISgl_PIXEL_COUNT_NVgl_VERTEX_PROGRAM_POSITION_MESA&gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATIgl_POST_COLOR_MATRIX_BLUE_BIAS%gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVXgl_VERTEX_ATTRIB_MAP2_APPLEgl_PLUS_DARKER_NV(gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT"gl_FRAGMENT_SHADER_INVOCATIONS_ARB"gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXTgl_PROXY_TEXTURE_CUBE_MAP_ARRAYgl_UNSIGNED_INT_IMAGE_CUBE_EXTgl_DYNAMIC_DRAW_ARB gl_RGBA_SNORMgl_MAX_UNIFORM_BLOCK_SIZEgl_FUNC_REVERSE_SUBTRACT_EXTgl_STENCIL_BUFFER_BIT1_QCOM%gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFERgl_TEXTURE_1D_BINDING_EXT gl_RGBA4_EXTgl_PREFER_DOUBLEBUFFER_HINT_PGIgl_UNKNOWN_CONTEXT_RESET_KHR(gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OESgl_REFERENCED_BY_COMPUTE_SHADER gl_REG_17_ATIgl_BUFFER_FLUSHING_UNMAP_APPLE gl_UNIFORMgl_TEXCOORD4_BIT_PGIgl_BIAS_BY_NEGATIVE_ONE_HALF_NVgl_OP_FLOOR_EXT'gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NVgl_CURRENT_QUERYgl_UNIFORM_BUFFER_STARTgl_DEBUG_SEVERITY_HIGH_KHRgl_T2F_C4UB_V3Fgl_FONT_GLYPHS_AVAILABLE_NVgl_MAX_CONVOLUTION_HEIGHT_EXTgl_STENCIL_BUFFER_BIT3_QCOMgl_MAP1_VERTEX_ATTRIB3_4_NVgl_BLEND_EQUATION_ALPHA_EXTgl_RGB_FLOAT32_APPLEgl_CONSTANT_BORDER gl_CON_0_ATI gl_VERTEX_ARRAY_RANGE_POINTER_NV)gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NVgl_INTERLACE_SGIXgl_UNPACK_CONSTANT_DATA_SUNXgl_VERTEX_BINDING_STRIDEgl_IS_PER_PATCH gl_AVERAGE_HPgl_MAX_VERTEX_ATTRIBSgl_MAX_SAMPLES_ANGLE gl_RED_EXTgl_MAP1_NORMAL"gl_TEXTURE_COMPRESSED_BLOCK_HEIGHTgl_MIN_SAMPLE_SHADING_VALUE_ARBgl_COMPRESSED_SLUMINANCE_EXTgl_RGBA4gl_TEXTURE_VIEW_MIN_LAYER gl_ONE_EXT0gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OESgl_MODELVIEW31_ARBgl_MAX_TEXTURE_IMAGE_UNITSgl_COLOR_ATTACHMENT3_NVgl_LUMINANCE6_ALPHA2gl_POINT_SPRITE_R_MODE_NVgl_COMPARE_REF_TO_TEXTUREgl_MAX_PROJECTION_STACK_DEPTHgl_BLEND_DST_ALPHA!gl_TEXTURE_1D_STACK_BINDING_MESAX gl_VERTEX_ATTRIB_ARRAY_LENGTH_NVgl_PROGRAM_PARAMETER_NVgl_VIDEO_CAPTURE_FRAME_WIDTH_NVgl_MATRIX21_ARB gl_LIST_BASEgl_COLOR_ATTACHMENT5gl_VERTEX_ARRAY_BINDING_APPLEgl_RELATIVE_LARGE_CW_ARC_TO_NVgl_MAX_DEFORMATION_ORDER_SGIXgl_COVERAGE_AUTOMATIC_NVgl_FOG_FUNC_SGISgl_SAMPLER_BUFFER_EXT+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXTgl_RGB8gl_PRIMARY_COLOR_NVgl_DEPTH_TEXTURE_MODE_ARBgl_LUMINANCE12_ALPHA4,gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKSgl_TEXTURE_BUFFER_EXTgl_LINK_STATUSgl_VERTEX_SHADER_EXTgl_VERTEX_ARRAY_POINTERgl_ONE_MINUS_SRC1_ALPHAgl_TEXTURE_BUFFER_SIZE_EXTgl_DEBUG_SEVERITY_MEDIUMgl_ASYNC_READ_PIXELS_SGIX%gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAMEgl_REPLACE_EXTgl_DEBUG_SOURCE_APPLICATION_ARB&gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OESgl_BROWSER_DEFAULT_WEBGLgl_MULTISAMPLE_BUFFER_BIT0_QCOMgl_DUAL_ALPHA8_SGISgl_COMPRESSED_RGB_FXT1_3DFXgl_BLEND_SRC_RGB_OESgl_T2F_IUI_V2F_EXTgl_DRAW_BUFFER13_ARB%gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NVgl_TEXTURE_INTENSITY_TYPE_ARB gl_DU8DV8_ATIgl_MAP1_VERTEX_ATTRIB14_4_NVgl_VARIANT_ARRAY_STRIDE_EXT gl_RGB_S3TCgl_NORMAL_ARRAY_POINTERgl_CONSTANT_ALPHA_EXTgl_COLOR_ATTACHMENT8_NVgl_MAX_LIST_NESTINGgl_FRAMEBUFFER_UNDEFINEDgl_ACTIVE_STENCIL_FACE_EXTgl_DEPTH_SCALEgl_READ_PIXELS_FORMAT gl_QUADS_EXT%gl_MAX_COMBINED_SHADER_STORAGE_BLOCKSgl_OUTPUT_VERTEX_EXTgl_PROGRAM_ATTRIBS_ARBgl_MAP1_VERTEX_ATTRIB8_4_NVgl_INVALID_ENUM gl_1PASS_EXTgl_FUNC_ADD_EXTgl_DISTANCE_ATTENUATION_SGIS gl_REG_3_ATIgl_INTERPOLATEgl_MITER_TRUNCATE_NV!gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB$gl_CONTEXT_COMPATIBILITY_PROFILE_BITgl_MATRIX_STRIDEgl_FONT_Y_MIN_BOUNDS_BIT_NVgl_COMBINER_BIAS_NV"gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARBgl_CIRCULAR_CW_ARC_TO_NVgl_UNSIGNED_INT_IMAGE_1D_EXT gl_BLUE_SCALEgl_OFFSET_TEXTURE_SCALE_NVgl_OFFSET_TEXTURE_2D_NVgl_INTERNALFORMAT_DEPTH_SIZEgl_TIMEOUT_IGNORED gl_BGRA_EXT gl_GEQUALgl_EXCLUSION_KHRgl_LINES_ADJACENCY_ARBgl_MAX_COMPUTE_WORK_GROUP_COUNTgl_RENDERBUFFER_EXTgl_GENERATE_MIPMAPgl_SOURCE1_ALPHA_EXTgl_VERTEX_TEXTURE gl_LIGHT1gl_STATIC_READ_ARBgl_INTERLACE_READ_INGRgl_COMPRESSED_R11_EAC_OESgl_FRAGMENT_SHADER_ARBgl_CURRENT_RASTER_POSITION"gl_WEIGHT_ARRAY_BUFFER_BINDING_OES(gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXTgl_RGB_FLOAT32_ATIgl_LUMINANCE16_ALPHA16_EXTgl_RENDERBUFFER_WIDTH_EXTgl_DEPTH_RANGE gl_4_BYTESgl_VERTEX_WEIGHTING_EXTgl_TEXTURE_SWIZZLE_B"gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NVgl_FEEDBACK_BUFFER_POINTERgl_CULL_VERTEX_IBMgl_UNPACK_SKIP_VOLUMES_SGISgl_PIXEL_CUBIC_WEIGHT_EXTgl_DECR_WRAP_EXT gl_TEXTURE31gl_MAX_TESS_GEN_LEVELgl_YCBAYCR8A_4224_NVgl_POINT_SPRITE_OESgl_SAMPLER_EXTERNAL_OES/gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT gl_PIXEL_PACK_BUFFER_BINDING_ARBgl_DEBUG_CATEGORY_API_ERROR_AMDgl_TEXCOORD3_BIT_PGIgl_UNIFORM_BUFFER_EXTgl_COMPRESSED_RGBA8_ETC2_EACgl_COLOR_SUM_CLAMP_NVgl_SAMPLER_CUBEgl_FRACTIONAL_ODDgl_ONE_MINUS_DST_COLOR gl_REG_9_ATI gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NVgl_PIXEL_MAP_I_TO_Ggl_FOG_COORD_ARRAY_STRIDEgl_TRIANGLES_ADJACENCY_EXTgl_DRAW_BUFFER14_EXTgl_TEXTURE_COMPARE_MODE_ARBgl_REFLECTION_MAP_OESgl_WARPS_PER_SM_NV gl_QUERY_WAITgl_COMPRESSED_SLUMINANCE_ALPHAgl_MAP2_TEXTURE_COORD_3$gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV"gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NVgl_INTENSITY_FLOAT32_ATIgl_CLAMP_TO_BORDER_SGIS gl_FIELDS_NVgl_MAX_GEOMETRY_OUTPUT_VERTICES'gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYERgl_INT_SAMPLER_CUBE_EXTgl_SOURCE0_RGB_EXTgl_DRAW_BUFFER10_ATI"gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXTgl_COPY_WRITE_BUFFER_NV-gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NVgl_LUMINANCE8_OES gl_POST_CONVOLUTION_RED_BIAS_EXTgl_HSL_COLOR_KHRgl_SAMPLE_MASK_VALUE_NVgl_SLUMINANCE8_NVgl_ASYNC_MARKER_SGIX gl_TEXTURE17gl_SYNC_CL_EVENT_COMPLETE_ARBgl_INVARIANT_VALUE_EXTgl_BUMP_ROT_MATRIX_SIZE_ATIgl_ACTIVE_VARYING_MAX_LENGTH_NVgl_DEPTH_COMPONENT16gl_MODELVIEW25_ARBgl_SHADER_BINARY_VIVgl_VERTEX_ARRAY_STRIDE_EXT"gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB%gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARBgl_MAX_PALETTE_MATRICES_ARB6gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADERgl_DEPTH_COMPONENT32_ARBgl_PRESERVE_ATIgl_PIXEL_TEX_GEN_ALPHA_LS_SGIXgl_VERTEX_PROGRAM_TWO_SIDE_NVgl_MAX_ELEMENTS_INDICES_EXT+gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTSgl_CONTEXT_LOSTgl_VERTEX_SUBROUTINE_UNIFORMgl_COMPRESSED_SRGB_EXTgl_SAMPLER_2D_MULTISAMPLE_ARRAY$gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARBgl_STENCIL_INDEX_OESgl_PATH_INITIAL_END_CAP_NVgl_INTENSITY32F_ARBgl_SAMPLES_PASSEDgl_INT_IMAGE_2D_RECT_EXTgl_CLIP_PLANE2gl_PALETTE8_RGB8_OESgl_ALPHA16I_EXTgl_VERTEX_ARRAYgl_TEXTURE23_ARBgl_AMBIENT_AND_DIFFUSEgl_MULTISAMPLE_BUFFER_BIT2_QCOMgl_LUMINANCE_FLOAT16_ATIgl_INDEX_ARRAY_TYPEgl_COMPATIBLE_SUBROUTINESgl_VERTEX4_BIT_PGIgl_FOG_COORD_SRCgl_FULL_SUPPORT gl_STEREOgl_LUMINANCE_ALPHA16UI_EXTgl_ONE_MINUS_SRC_COLOR gl_MAX_SHADER_STORAGE_BLOCK_SIZEgl_REPLICATE_BORDER_HP!gl_VERTEX_ATTRIB_MAP1_ORDER_APPLEgl_CPU_OPTIMIZED_QCOMgl_FLOAT16_VEC2_NVgl_SAMPLE_ALPHA_TO_ONE_SGISgl_MAP2_VERTEX_ATTRIB12_4_NVgl_COMBINER_MUX_SUM_NVgl_UNSIGNED_SHORT_5_6_5_REV_EXTgl_TEXTURE20_ARB gl_DOT3_RGBgl_STENCIL_BUFFER_BIT0_QCOMgl_LO_SCALE_NVgl_FONT_ASCENDER_BIT_NVgl_DRAW_BUFFER9_EXTgl_UNSIGNED_INT_2_10_10_10_REVgl_BINNING_CONTROL_HINT_QCOMgl_PROGRAM_TEMPORARIES_ARBgl_MODELVIEW27_ARBgl_RGBA16F_EXTgl_INDEX_ARRAY_TYPE_EXTgl_MAX_VERTEX_SHADER_LOCALS_EXT"gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OESgl_COMP_BIT_ATI"gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT!gl_INT_IMAGE_2D_MULTISAMPLE_ARRAYgl_RGB10_A2_EXTgl_MAP1_VERTEX_ATTRIB4_4_NV gl_FLOAT_VEC3gl_DELETE_STATUS%gl_PN_TRIANGLES_TESSELATION_LEVEL_ATIgl_UNCORRELATED_NVgl_RELATIVE_SMALL_CW_ARC_TO_NV&gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXTgl_RGB_FLOAT16_ATIgl_DRAW_BUFFER7_ATIgl_COMBINE_ALPHA_ARB"gl_RESET_NOTIFICATION_STRATEGY_EXTgl_DRAW_BUFFER10_NV#gl_READ_PIXEL_DATA_RANGE_POINTER_NVgl_TRANSFORM_FEEDBACK_ACTIVE'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHRgl_PROGRAM_PIPELINE_BINDINGgl_SRGB8_ALPHA8gl_COLOR_INDEX16_EXT gl_PHONG_WINgl_MAX_TEXTURE_IMAGE_UNITS_NVgl_DSDT8_MAG8_NVgl_COPY_READ_BUFFER gl_RGBA16Fgl_UNSIGNED_SHORT_5_6_5gl_CLIP_DISTANCE5gl_TEXTURE_BINDING_3D_OESgl_IUI_V2F_EXT#gl_OFFSET_HILO_TEXTURE_RECTANGLE_NVgl_ONE_MINUS_CONSTANT_ALPHAgl_SMALL_CW_ARC_TO_NVgl_IMAGE_BINDING_NAME_EXTgl_CURRENT_FOG_COORDINATE_EXTgl_SKIP_COMPONENTS4_NVgl_CLIP_PLANE5_IMGgl_PATH_MITER_LIMIT_NV gl_TEXTURE_3D$gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS!gl_COMPRESSED_LUMINANCE_LATC1_EXTgl_MULTISAMPLE_BUFFER_BIT3_QCOMgl_SECONDARY_COLOR_ARRAY_SIZEgl_RENDERBUFFER_SAMPLES_IMGgl_R1UI_C4UB_V3F_SUNgl_PIXEL_TEX_GEN_ALPHA_MS_SGIXgl_TRANSFORM_FEEDBACK_NVgl_FRAMEBUFFER_RENDERABLEgl_HARDLIGHT_KHRgl_SOURCE0_ALPHAgl_COMBINER4_NVgl_ELEMENT_ARRAY_BUFFER_BINDINGgl_TEXTURE10_ARBgl_CURRENT_BINORMAL_EXT gl_REG_26_ATI'gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTSgl_ACTIVE_VARYINGS_NVgl_COMBINE_RGB_EXTgl_FRAMEBUFFER_COMPLETE_EXT gl_MAX_WIDTH/gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS(gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXTgl_COLORDODGE_KHRgl_PATH_GEN_COEFF_NVgl_FLOAT_MAT4x3_NVgl_MINMAX_SINKgl_FRONT_AND_BACK&gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXTgl_MATRIX1_ARBgl_VIEWPORT_SUBPIXEL_BITSgl_MAX_DUAL_SOURCE_DRAW_BUFFERSgl_BOOL_VEC3_ARBgl_OPERAND2_ALPHAgl_MAX_DEBUG_GROUP_STACK_DEPTH)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR gl_PROGRAMgl_WEIGHT_ARRAY_SIZE_ARBgl_BUFFER_GPU_ADDRESS_NV gl_ALPHA8_EXT gl_RGBA_MODE gl_DUDV_ATI!gl_VERTEX_ATTRIB_ARRAY_INTEGER_NVgl_RESAMPLE_DECIMATE_OMLgl_QUERY_BUFFERgl_SINGLE_COLORgl_INT_SAMPLER_RENDERBUFFER_NVgl_MAT_COLOR_INDEXES_BIT_PGIgl_MODELVIEW3_ARB#gl_TESS_CONTROL_OUTPUT_VERTICES_EXTgl_PIXEL_MAP_B_TO_B gl_VERTEX_ATTRIB_MAP1_SIZE_APPLEgl_DOUBLE_MAT3gl_MAX_COMBINED_UNIFORM_BLOCKS$gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXTgl_MAX_VERTEX_IMAGE_UNIFORMSgl_QUERY_RESULT_NO_WAIT_AMDgl_MODELVIEW26_ARBgl_DEPTH_COMPONENT24_OES'gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARBgl_EVAL_VERTEX_ATTRIB6_NVgl_OUTPUT_TEXTURE_COORD24_EXTgl_COMPUTE_SHADER_BITgl_MATRIX7_ARB gl_RENDERgl_VERTEX_ATTRIB_BINDING$gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV!gl_TEXTURE_COORD_ARRAY_ADDRESS_NVgl_UNSIGNED_INT_SAMPLER_2D_RECT'gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARBgl_GENERATE_MIPMAP_SGISgl_SHADER_IMAGE_STOREgl_INT_SAMPLER_3Dgl_PROGRAM_BINARY_LENGTH gl_REFERENCED_BY_GEOMETRY_SHADER"gl_SHADER_IMAGE_ACCESS_BARRIER_BIT#gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS"gl_TEXTURE_BUFFER_OFFSET_ALIGNMENTgl_LINEgl_RENDERBUFFER_ALPHA_SIZE_EXT gl_INTENSITYgl_AFFINE_3D_NVgl_ADD_SIGNED_ARBgl_OBJECT_COMPILE_STATUS_ARB gl_RGB8I_EXTgl_COMMAND_BARRIER_BITgl_COMBINE_RGBgl_VERTEX_SHADER_BINDING_EXT!gl_SECONDARY_COLOR_ARRAY_SIZE_EXT gl_DEPTH_EXTgl_LINE_RESET_TOKEN gl_SMOOTH_POINT_SIZE_GRANULARITYgl_SAMPLER_2D_MULTISAMPLEgl_PRIMARY_COLOR_ARB%gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAYgl_GEOMETRY_TEXTUREgl_SOURCE1_RGB_ARBgl_COLOR_ATTACHMENT6_EXTgl_PIXEL_MAP_I_TO_Igl_EVAL_VERTEX_ATTRIB7_NV gl_OP_MIN_EXT gl_RGB16F_EXTgl_TEXTURE_CUBE_MAP_POSITIVE_Z0gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTSgl_PACK_RESAMPLE_SGIX gl_GREEN_BIASgl_DEPTH_STENCIL_NV:gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER gl_CON_29_ATIgl_COLOR_ARRAY_STRIDE_EXTgl_ISOLINES_EXTgl_MODELVIEW4_ARBgl_LINES_ADJACENCYgl_PATH_FILL_MASK_NVgl_HISTOGRAM_LUMINANCE_SIZE"gl_TEXTURE_BINDING_RENDERBUFFER_NVgl_PIXEL_UNPACK_BUFFER_EXTgl_RENDERBUFFER_GREEN_SIZEgl_PASS_THROUGH_NVgl_GEOMETRY_VERTICES_OUT_EXTgl_EVAL_VERTEX_ATTRIB12_NVgl_SMOOTH_QUADRATIC_CURVE_TO_NVgl_TEXTURE_BUFFER_SIZEgl_READ_PIXEL_DATA_RANGE_NVgl_ALIASED_LINE_WIDTH_RANGEgl_TRACK_MATRIX_NVgl_COLOR_ARRAY_LIST_STRIDE_IBMgl_WEIGHT_ARRAY_POINTER_ARB gl_SMOOTH_LINE_WIDTH_GRANULARITYgl_CLIP_DISTANCE6gl_FRAMEBUFFER_BINDINGgl_EVAL_VERTEX_ATTRIB4_NVgl_CURRENT_SECONDARY_COLOR_EXTgl_IMAGE_CLASS_2_X_32gl_PERSPECTIVE_CORRECTION_HINT!gl_NATIVE_GRAPHICS_BEGIN_HINT_PGIgl_SATURATE_BIT_ATIgl_FONT_UNITS_PER_EM_BIT_NVgl_EVAL_VERTEX_ATTRIB3_NVgl_R16UIgl_OUTPUT_TEXTURE_COORD17_EXT!gl_TEXTURE_MULTI_BUFFER_HINT_SGIXgl_SKIP_MISSING_GLYPH_NVgl_MIRROR_CLAMP_TO_EDGE_EXTgl_TEXTURE_TYPE_QCOM gl_RGB5_A1gl_UNIFORM_BARRIER_BIT_EXTgl_MULTISAMPLEgl_SAMPLES_ARBgl_RGBA_INTEGERgl_STENCIL_COMPONENTSgl_DEBUG_SEVERITY_LOWgl_TEXTURE_COMPARE_SGIXgl_COLOR_ARRAY_LIST_IBMgl_COMPRESSED_SIGNED_RED_RGTC1 gl_MATRIX3_NVgl_MAX_FRAGMENT_UNIFORM_BLOCKSgl_INT_SAMPLER_3D_EXTgl_MODELVIEW19_ARBgl_SWIZZLE_STRQ_DQ_ATIgl_COMBINE_ARBgl_FRAGMENT_COLOR_EXTgl_RENDERBUFFER_WIDTHgl_LUMINANCE4_EXTgl_UNSIGNED_INT_SAMPLER_2D_EXTgl_RGB_SCALE_EXTgl_PIXEL_MAP_I_TO_R gl_DOT4_ATIgl_MAP1_VERTEX_ATTRIB7_4_NV"gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB#gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB#gl_POST_COLOR_MATRIX_BLUE_SCALE_SGIgl_NUM_VIRTUAL_PAGE_SIZES_ARBgl_RENDERBUFFER_FREE_MEMORY_ATIgl_FRAMEBUFFER_DEFAULT_LAYERSgl_COMPUTE_SUBROUTINEgl_PROGRAM_TEX_INSTRUCTIONS_ARBgl_SIGNALED_APPLEgl_MULTISAMPLE_3DFXgl_TEXTURE_INDEX_SIZE_EXTgl_LAYOUT_LINEAR_INTEL gl_LERP_ATIgl_FACTOR_MAX_AMDgl_MATRIX2_ARBgl_EQUALgl_COLOR_ATTACHMENT0_OES#gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGIgl_RGB16gl_COLOR_INDEX4_EXTgl_PROXY_TEXTURE_CUBE_MAP_EXTgl_STENCIL_BACK_FUNC_ATIgl_DRAW_BUFFER8_EXT gl_DST_ALPHA#gl_DEBUG_SOURCE_SHADER_COMPILER_KHR gl_C4UB_V2Fgl_INTERNALFORMAT_BLUE_TYPEgl_PIXEL_TILE_GRID_DEPTH_SGIX gl_DEPTH_BITSgl_FLOAT16_VEC3_NVgl_ARRAY_OBJECT_OFFSET_ATIgl_DOUBLE_MAT2_EXTgl_TEXTURE_COLOR_SAMPLES_NVgl_NORMAL_ARRAY_EXTgl_MIRROR_CLAMP_TO_EDGE_ATIgl_EDGE_FLAG_ARRAY_POINTERgl_UNSIGNED_INT_24_8_MESAgl_IMAGE_COMPATIBILITY_CLASS gl_BACK_LEFT)gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARBgl_COLOR_TABLE_BIAS)gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG gl_DARKEN_KHRgl_OCCLUSION_TEST_RESULT_HPgl_DEBUG_TYPE_POP_GROUP_KHRgl_CLAMP_TO_BORDER_ARBgl_UNSIGNED_BYTE_2_3_3_REVgl_SOURCE2_ALPHA_ARBgl_SAMPLE_COVERAGEgl_INTERLEAVED_ATTRIBS_EXT&gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL%gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDINGgl_VERTEX_SHADERgl_INDEX_ARRAY_ADDRESS_NVgl_QUERY_COUNTER_BITSgl_COMPRESSED_RGBA_ASTC_8x6_KHRgl_FRAMEBUFFER_BINDING_EXTgl_VERTEX_ELEMENT_SWIZZLE_AMD%gl_DEBUG_CATEGORY_SHADER_COMPILER_AMDgl_ARRAY_OBJECT_BUFFER_ATI'gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OESgl_RENDERBUFFER_INTERNAL_FORMATgl_VIEW_CLASS_8_BITS"gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OESgl_SHADER_IMAGE_ATOMIC#gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARBgl_COVERAGE_ATTACHMENT_NV!gl_NUM_PROGRAM_BINARY_FORMATS_OES gl_CURRENT_RASTER_TEXTURE_COORDS(gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTSgl_PIXEL_MAP_A_TO_Agl_TEXTURE_WRAP_Tgl_LINE_SMOOTH_HINTgl_DRAW_BUFFER11_EXT$gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NVgl_LUMINANCE16_SNORMgl_PERFQUERY_FLUSH_INTELgl_HISTOGRAM_SINKgl_MAP1_VERTEX_ATTRIB15_4_NVgl_OUTPUT_TEXTURE_COORD7_EXTgl_HISTOGRAM_BLUE_SIZEgl_LUMINANCE32F_EXT gl_RG16UIgl_TEXTURE_ALPHA_MODULATE_IMGgl_INT_SAMPLER_2D_RECTgl_STENCIL_BACK_WRITEMASK gl_PIXEL_TRANSFORM_2D_MATRIX_EXTgl_AUX3gl_FRAMEBUFFER_UNSUPPORTED!gl_MAX_TEXTURE_MAX_ANISOTROPY_EXTgl_TEXTURE_DEFORMATION_SGIX gl_CON_23_ATIgl_CLIP_DISTANCE0gl_COLOR_ATTACHMENT10gl_POINT_SIZE_MAX_EXT gl_TEXTURE5'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHRgl_PATH_MODELVIEW_MATRIX_NV gl_LINE_LOOPgl_MODELVIEW17_ARBgl_UNSIGNED_INT16_VEC2_NV'gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES%gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERSgl_DRAW_BUFFER3_EXTgl_TEXTURE_SHADOWgl_STENCIL_ATTACHMENTgl_MAP_STENCILgl_PATH_DASH_ARRAY_COUNT_NVgl_BLEND"gl_UNIFORM_BUFFER_OFFSET_ALIGNMENTgl_TEXTURE_TARGET_QCOMgl_NORMAL_MAP_OES!gl_UNSIGNED_SHORT_4_4_4_4_REV_EXT gl_TEXTURE20gl_EDGE_FLAG_ARRAY_COUNT_EXT gl_SMOOTHgl_SHADER_INCLUDE_ARBgl_CLAMP_TO_EDGE_SGISgl_COMPRESSED_ALPHAgl_TEXTURE_IMAGE_FORMATgl_MAX_FRAMEBUFFER_LAYERSgl_WRITEONLY_RENDERING_QCOM gl_BACK_RIGHTgl_INVARIANT_DATATYPE_EXT gl_LINE_TO_NV"gl_PIXEL_UNPACK_BUFFER_BINDING_ARB gl_LIST_BITgl_MAX_ATTRIB_STACK_DEPTHgl_FRAGMENT_SHADER#gl_IMPLEMENTATION_COLOR_READ_FORMATgl_COLOR_TABLE_WIDTH_SGIgl_DEBUG_OBJECT_MESAgl_EYE_LINE_SGISgl_COMPRESSED_ALPHA_ARBgl_DEPTH_BUFFER_BIT7_QCOMgl_OPERAND2_RGB_ARBgl_PROGRAM_BINARY_ANGLE gl_MATRIX_EXT-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS gl_RED_NV gl_LIGHT7 gl_LOW_FLOAT%gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT gl_CON_18_ATIgl_UNIFORM_BUFFER_ADDRESS_NV"gl_VERTEX_ARRAY_BUFFER_BINDING_ARBgl_RED_BIT_ATIgl_TRACE_TEXTURES_BIT_MESAgl_GEOMETRY_SHADERgl_VERTEX_ARRAY_ADDRESS_NVgl_TIMEOUT_IGNORED_APPLEgl_RENDERBUFFER_BINDING gl_RGB16F gl_TEXTURE_COORD_ARRAY_LENGTH_NVgl_MAX_FRAMEBUFFER_LAYERS_EXTgl_MODELVIEW23_ARB gl_BGR_EXTgl_ONE_MINUS_SRC1_COLORgl_VARIANT_ARRAY_EXTgl_RGB4gl_RENDERBUFFER_DEPTH_SIZE_OESgl_MAX_VARYING_COMPONENTS_EXTgl_CURRENT_MATRIX_NVgl_T2F_IUI_N3F_V3F_EXTgl_SLUMINANCE8gl_MODELVIEW1_MATRIX_EXTgl_MODELVIEW29_ARBgl_COLOR_ATTACHMENT5_EXTgl_DOUBLE_MAT2 gl_RGBA12_EXTgl_ACCUM_BLUE_BITSgl_INVARIANT_EXTgl_ACTIVE_UNIFORM_MAX_LENGTHgl_FOG_SPECULAR_TEXTURE_WINgl_COLOR_TABLE_SCALE_SGIgl_IUI_V3F_EXTgl_UNSIGNED_INT_IMAGE_3D_EXTgl_MAX_DEBUG_MESSAGE_LENGTH_KHRgl_TEXTURE_CUBE_MAP_POSITIVE_Ygl_DOUBLE_VEC2gl_MAX_SAMPLE_MASK_WORDSgl_DEBUG_OUTPUT"gl_OBJECT_SHADER_SOURCE_LENGTH_ARB gl_R32F_EXT%gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NVgl_COPY_WRITE_BUFFER_BINDINGgl_TEXTURE15_ARBgl_UNIFORM_BLOCK_NAME_LENGTHgl_COLOR_ATTACHMENT4_NVgl_DST_OVER_NVgl_ATOMIC_COUNTER_BUFFERgl_MAP1_VERTEX_ATTRIB12_4_NV%gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB(gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV/gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACEgl_RGB_RAW_422_APPLEgl_MAX_RECTANGLE_TEXTURE_SIZE%gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXTgl_FRAGMENT_COLOR_MATERIAL_SGIX"gl_POST_COLOR_MATRIX_RED_SCALE_SGIgl_VIBRANCE_SCALE_NVgl_POINT_FADE_THRESHOLD_SIZEgl_QUERY_NO_WAIT_NV&gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OESgl_RESAMPLE_REPLICATE_OMLgl_RENDERBUFFER_BINDING_ANGLEgl_R1UI_V3F_SUNgl_CONVOLUTION_2Dgl_OBJECT_TYPEgl_MAX_MAP_TESSELLATION_NVgl_DOUBLE_MAT4x3_EXTgl_MULTISAMPLE_BUFFER_BIT4_QCOMgl_UNSIGNED_INT64_AMDgl_MAX_PATCH_VERTICESgl_TEXTURE_COMPONENTSgl_ELEMENT_ARRAY_POINTER_APPLEgl_COLOR_ATTACHMENT6_NVgl_MODELVIEW_PROJECTION_NV gl_STATIC_ATIgl_TEXTURE_CUBE_MAP_NEGATIVE_Zgl_CONVOLUTION_BORDER_MODEgl_2PASS_0_SGISgl_GREEN_INTEGER_EXTgl_DEBUG_TYPE_OTHERgl_FRAMEBUFFER_SRGB_EXTgl_COLOR_WRITEMASKgl_TANGENT_ARRAY_EXTgl_FONT_TARGET_UNAVAILABLE_NVgl_FONT_UNAVAILABLE_NVgl_COMBINER2_NVgl_TEXTURE22_ARBgl_PATH_INITIAL_DASH_CAP_NVgl_SWIZZLE_STRQ_ATIgl_OBJECT_LINE_SGISgl_MAX_NUM_ACTIVE_VARIABLESgl_COLOR_ATTACHMENT3_EXT%gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI gl_SCREEN_KHR gl_ZOOM_Xgl_PROGRAM_MATRIX_EXTgl_TEXTURE_VIEWgl_NEGATIVE_ONE_TO_ONEgl_CONVOLUTION_1D_EXTgl_CLAMP_READ_COLORgl_REFLECTION_MAPgl_PROXY_HISTOGRAM'gl_MAX_TESS_EVALUATION_INPUT_COMPONENTSgl_HALF_FLOAT_ARBgl_LINE_QUALITY_HINT_SGIXgl_MAP_WRITE_BIT_EXTgl_PIXEL_TRANSFORM_2D_EXTgl_INCR)gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OESgl_LUMINANCE_FLOAT32_ATIgl_EVAL_VERTEX_ATTRIB11_NVgl_TEXTURE_COORD_ARRAY_SIZEgl_IMAGE_BINDING_LEVEL_EXTgl_RGBA16I_EXTgl_T2F_IUI_N3F_V2F_EXTgl_MIN_PROGRAM_TEXEL_OFFSET_NVgl_EQUIVgl_TEXTURE_BINDING_CUBE_MAP_ARBgl_DRAW_BUFFER1_NVgl_INTERLACE_READ_OML gl_TEXTURE15gl_NANDgl_VERTEX_ARRAY_RANGE_APPLEgl_CONDITION_SATISFIED_APPLE#gl_DISPATCH_INDIRECT_BUFFER_BINDINGgl_RG16Igl_EYE_RADIAL_NVgl_SLUMINANCE_ALPHA_EXT'gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXTgl_RG32F gl_SRC1_ALPHAgl_RGBA20gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES,gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT!gl_TEXTURE_COORD_ARRAY_STRIDE_EXTgl_OUTPUT_TEXTURE_COORD10_EXTgl_DEPTH_ATTACHMENTgl_NORMAL_ARRAY_POINTER_EXTgl_OPERAND0_ALPHA_ARBgl_COMPRESSED_LUMINANCE_ARBgl_LIST_PRIORITY_SGIXgl_BOUNDING_BOX_NVgl_PATCH_VERTICES_EXTgl_COPY_INVERTEDgl_FRAMEBUFFER_BARRIER_BIT_EXTgl_OBJECT_ACTIVE_ATTRIBUTES_ARBgl_DISCRETE_AMDgl_DOT3_RGBA_ARB+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OESgl_SETgl_TEXTURE_MAX_ANISOTROPY_EXT+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2&gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARBgl_MAP2_GRID_DOMAINgl_RENDERBUFFER_SAMPLESgl_MAX_TEXTURE_LOD_BIASgl_DEPTH_PASS_INSTRUMENT_SGIXgl_TEXTURE_COORD_NVgl_PROGRAM_ERROR_POSITION_NVgl_RENDERBUFFER_RED_SIZE_EXTgl_INDEX_OFFSETgl_CURRENT_FOG_COORDgl_MIRRORED_REPEATgl_MAP_INVALIDATE_BUFFER_BITgl_MATRIX_INDEX_ARRAY_OESgl_DRAW_BUFFER6_ATIgl_INTENSITY12gl_FLOAT_RGBA_NVgl_SMOOTH_POINT_SIZE_RANGEgl_COLOR_BUFFER_BIT1_QCOMgl_TEXT_FRAGMENT_SHADER_ATI+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXTgl_CLIP_PLANE3gl_NAMED_STRING_TYPE_ARB*gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARBgl_TEXTURE_VIEW_MIN_LEVELgl_SWIZZLE_STQ_ATIgl_RGBA_FLOAT_MODE_ARBgl_RG8UIgl_FRAGMENT_DEPTH'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHRgl_MULTISAMPLE_SGISgl_PROXY_TEXTURE_1Dgl_MODELVIEW0_ARBgl_LINE_STRIP_ADJACENCY_EXT gl_RGBA16UIgl_SRC_ATOP_NV'gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE gl_REG_30_ATIgl_4PASS_3_EXTgl_INT_IMAGE_3D_EXTgl_SYSTEM_FONT_NAME_NVgl_DRAW_BUFFER6gl_RG32Igl_COLOR_BUFFER_BIT3_QCOM gl_CURRENT_OCCLUSION_QUERY_ID_NVgl_INTERNALFORMAT_STENCIL_SIZEgl_STATIC_DRAW_ARBgl_COMPRESSED_SRGB_ALPHA_EXT"gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGIgl_PALETTE8_RGBA4_OES gl_FOG_STARTgl_DEBUG_TYPE_POP_GROUPgl_DRAW_BUFFER14_ATIgl_IMAGE_1D_ARRAYgl_RELATIVE_LARGE_CCW_ARC_TO_NV!gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NVgl_EXCLUSION_NVgl_FONT_X_MAX_BOUNDS_BIT_NVgl_PIXEL_TEX_GEN_Q_FLOOR_SGIXgl_DEPTH_BUFFER_BIT2_QCOMgl_UNPACK_FLIP_Y_WEBGLgl_COLOR_ATTACHMENT15_NV gl_RG16F_EXTgl_PRIMARY_COLORgl_UNIFORM_BLOCK_DATA_SIZEgl_INTERNALFORMAT_STENCIL_TYPEgl_COLOR_MATRIX_STACK_DEPTH_SGIgl_ANDgl_GEOMETRY_INPUT_TYPE_ARBgl_SAMPLER_BUFFERgl_COLOR_BUFFER_BIT2_QCOMgl_MAX_CLIP_DISTANCESgl_OUTPUT_TEXTURE_COORD25_EXTgl_SLIM8U_SGIXgl_OP_DOT4_EXTgl_INFO_LOG_LENGTH gl_REG_25_ATIgl_MAX_PROGRAM_CALL_DEPTH_NVgl_VIRTUAL_PAGE_SIZE_INDEX_ARB#gl_MAX_PROGRAM_RESULT_COMPONENTS_NVgl_RELATIVE_CONIC_CURVE_TO_NVgl_CLIP_DISTANCE4 gl_UTF8_NVgl_INVALID_INDEXgl_DOT3_RGBA_IMGgl_FRAGMENT_MATERIAL_EXTgl_PACK_CMYK_HINT_EXTgl_LUMINANCE_ALPHA8I_EXTgl_PIXEL_BUFFER_BARRIER_BIT_EXT gl_BUFFER_KHRgl_STENCIL_BACK_OP_VALUE_AMD gl_DST_COLOR%gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXTgl_ZEROgl_COORD_REPLACEgl_FRAMEBUFFER_SRGB'gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES gl_CONSTANTgl_TEXTURE_CONSTANT_DATA_SUNXgl_MAX_DEBUG_MESSAGE_LENGTHgl_MAX_VARYING_FLOATS gl_PLUS_NVgl_UNIFORM_NAME_LENGTHgl_SECONDARY_COLOR_ARRAY_STRIDEgl_MAP1_VERTEX_ATTRIB13_4_NVgl_TRACK_MATRIX_TRANSFORM_NV!gl_MAX_COMPUTE_UNIFORM_COMPONENTSgl_DOUBLE_MAT4gl_TEXTURE_SRGB_DECODE_EXTgl_TEXTURE_BORDER_COLORgl_DISPLAY_LISTgl_COLOR_ENCODINGgl_EXPAND_NEGATE_NVgl_UNPACK_ROW_LENGTH_EXTgl_RGB_SCALE_ARBgl_CURRENT_ATTRIB_NV gl_TEXTURE25gl_DEPTHgl_DRAW_BUFFER2_ARBgl_FENCE_CONDITION_NV%gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARBgl_OP_POWER_EXT(gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARBgl_FRAMEBUFFER_DEFAULTgl_COLOR_ATTACHMENT13_EXT$gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE gl_CUBIC_HP gl_GREATER gl_OP_MOV_EXT gl_RED_SNORMgl_ALPHA_MAX_CLAMP_INGRgl_VERTEX_ATTRIB_ARRAY_LONGgl_DEBUG_SEVERITY_LOW_ARBgl_PURGEABLE_APPLEgl_MAX_SHININESS_NVgl_VERTEX_SHADER_INVARIANTS_EXTgl_CLIP_DISTANCE1 gl_PROGRAM_NATIVE_PARAMETERS_ARBgl_SRC_ALPHA_SATURATEgl_COLOR_RENDERABLEgl_LINE_STIPPLEgl_COMPILE_AND_EXECUTEgl_FOG_COORDINATE gl_MULTISAMPLE_COVERAGE_MODES_NVgl_OUTPUT_TEXTURE_COORD16_EXTgl_SCALE_BY_FOUR_NV!gl_INDEX_ARRAY_BUFFER_BINDING_ARBgl_MAX_TEXTURE_IMAGE_UNITS_ARBgl_HALF_BIAS_NEGATE_NVgl_INT_IMAGE_2D_MULTISAMPLE_EXT gl_CON_30_ATIgl_SAMPLE_ALPHA_TO_ONE_EXT)gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARBgl_STORAGE_CACHED_APPLEgl_SAMPLER_2D_SHADOWgl_ALPHA_FLOAT16_APPLE gl_PERFQUERY_COUNTER_EVENT_INTEL-gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARBgl_BACK_PRIMARY_COLOR_NVgl_PROGRAM_PARAMETERS_ARBgl_MIN_SPARSE_LEVEL_AMDgl_INT_SAMPLER_1D_ARRAY_EXTgl_DOUBLEBUFFERgl_NEGATIVE_W_EXTgl_VIEW_CLASS_RGTC1_REDgl_PROGRAM_KHRgl_LINEARDODGE_NVgl_NORMALIZED_RANGE_EXT!gl_BUFFER_SERIALIZED_MODIFY_APPLEgl_TEXTURE3_ARBgl_INDEX_TEST_FUNC_EXTgl_COMPUTE_TEXTURE gl_UNSIGNED_INT_IMAGE_BUFFER_EXT gl_CON_9_ATIgl_RELATIVE_LINE_TO_NVgl_TEXTURE_RECTANGLE_NV"gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLEgl_COMPRESSED_RGBA_ASTC_6x5_KHRgl_TEXTURE_LUMINANCE_SIZEgl_PROJECTION_MATRIXgl_VIBRANCE_BIAS_NVgl_MAX_VERTEX_ATOMIC_COUNTERSgl_FOG_COORD_ARRAY_POINTERgl_POLYGON_OFFSET_BIAS_EXTgl_DEBUG_SOURCE_OTHERgl_LINEAR_SHARPEN_ALPHA_SGISgl_AVERAGE_EXTgl_PACK_SKIP_IMAGES_EXTgl_BITMAP_TOKENgl_TESSELLATION_MODE_AMD#gl_POST_CONVOLUTION_COLOR_TABLE_SGIgl_MODELVIEW1_EXTgl_OPERAND1_RGB_ARBgl_4D_COLOR_TEXTUREgl_ACTIVE_ATTRIBUTESgl_BUFFER_BINDINGgl_VERTEX_STATE_PROGRAM_NVgl_DST_ATOP_NVgl_TEXTURE_DEPTH_EXTgl_UNSIGNED_INT_VEC4gl_GREEN_INTEGERgl_DOUBLE_MAT4x2_EXT'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHRgl_INDEX_ARRAY_LIST_IBMgl_SAMPLER_2D_ARRAY_SHADOWgl_COMPRESSED_SRGB_S3TC_DXT1_NV!gl_COMPRESSED_RGBA_ASTC_4x3x3_OESgl_DRAW_BUFFER3_ATI"gl_MAX_FRAGMENT_UNIFORM_COMPONENTSgl_PROXY_TEXTURE_3D_EXT/gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXTgl_PATH_COMPUTED_LENGTH_NVgl_DEPTH_STENCIL_MESAgl_MAT_DIFFUSE_BIT_PGIgl_TEXTURE_STENCIL_SIZEgl_PATH_PROJECTION_NVgl_DUAL_TEXTURE_SELECT_SGISgl_MATRIX14_ARBgl_PATH_OBJECT_BOUNDING_BOX_NVgl_READ_PIXELSgl_TRIANGLE_LIST_SUNgl_COMPARE_R_TO_TEXTUREgl_INTENSITY8UI_EXTgl_DEBUG_OUTPUT_SYNCHRONOUS_ARBgl_COLOR_TABLE_GREEN_SIZEgl_CURRENT_VERTEX_ATTRIBgl_POST_COLOR_MATRIX_GREEN_BIAS%gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVXgl_SUBSAMPLE_DISTANCE_AMD gl_SRGB8_EXT"gl_DETAIL_TEXTURE_FUNC_POINTS_SGISgl_INCR_WRAP_EXTgl_UNPACK_COMPRESSED_BLOCK_SIZEgl_OBJECT_VALIDATE_STATUS_ARBgl_WEIGHT_ARRAY_STRIDE_ARBgl_OUTPUT_TEXTURE_COORD3_EXTgl_TEXTURE16_ARB#gl_VIDEO_COLOR_CONVERSION_MATRIX_NVgl_EYE_DISTANCE_TO_POINT_SGISgl_TEXTURE_COMPARE_FUNCgl_DEPTH_BUFFER_FLOAT_MODE_NVgl_TEXTURE_SWIZZLE_Ggl_DEBUG_TYPE_OTHER_ARB!gl_TESS_EVALUATION_SHADER_BIT_EXT$gl_VERTEX_PROGRAM_CALLBACK_DATA_MESAgl_INT_SAMPLER_BUFFER_EXTgl_OP_CLAMP_EXTgl_POINT_SIZE_MINgl_UNSIGNED_BYTE_3_3_2_EXTgl_TEXTURE_CLIPMAP_DEPTH_SGIX&gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXTgl_DOUBLE_VEC4_EXTgl_SYNC_CONDITION_APPLEgl_MAX_TEXTURE_COORDS_NV!gl_RELATIVE_QUADRATIC_CURVE_TO_NVgl_DEBUG_GROUP_STACK_DEPTH_KHRgl_CONTEXT_LOST_KHRgl_QUADRATIC_CURVE_TO_NV gl_MIN_EXTgl_VERTEX_ATTRIB_ARRAY11_NVgl_FACTOR_ALPHA_MODULATE_IMGgl_MAP1_GRID_DOMAINgl_COLOR_MATRIX_STACK_DEPTHgl_IMAGE_PIXEL_FORMATgl_DRAW_BUFFER1_EXTgl_UNSIGNED_INT_VEC2gl_QUAD_LUMINANCE8_SGISgl_ELEMENT_ARRAY_UNIFIED_NVgl_COLOR_LOGIC_OP gl_GREEN_NVgl_DEPTH_COMPONENT gl_TEXTURE18gl_COMBINER_SUM_OUTPUT_NVgl_DUAL_LUMINANCE8_SGISgl_PATH_DASH_OFFSET_RESET_NVgl_INT_SAMPLER_BUFFERgl_DEBUG_SEVERITY_MEDIUM_ARB,gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT$gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIXgl_UNSIGNED_SHORT_15_1_MESAgl_LUMINANCE32F_ARBgl_TRANSPOSE_NVgl_LUMINANCE8_EXTgl_WRITE_DISCARD_NVgl_STENCIL_BUFFER_BIT5_QCOM gl_FOG_ENDgl_DRAW_BUFFER9_NVgl_PROVOKING_VERTEX_EXT&gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERSgl_2PASS_0_EXTgl_MAP_UNSYNCHRONIZED_BIT)gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI'gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NVgl_SAMPLER_CUBE_SHADOWgl_V2Fgl_IMAGE_2D_EXTgl_LUMINANCE32UI_EXT*gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXTgl_SLUMINANCE8_ALPHA8_NVgl_MAX_ASYNC_DRAW_PIXELS_SGIXgl_POINT_SIZE_ARRAY_TYPE_OESgl_SIGNED_LUMINANCE8_ALPHA8_NVgl_UNSIGNED_INT_24_8_EXT%gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NVgl_CONIC_CURVE_TO_NVgl_STREAM_DRAW_ARBgl_ACTIVE_PROGRAM_EXT#gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARBgl_PROGRAM_RESIDENT_NVgl_COLOR_TABLE_ALPHA_SIZE_SGIgl_INT_IMAGE_2D_ARRAY_EXTgl_OUTPUT_TEXTURE_COORD15_EXT gl_SRC_OUT_NVgl_MAP_FLUSH_EXPLICIT_BIT)gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTSgl_EVAL_VERTEX_ATTRIB2_NVgl_PIXEL_TILE_WIDTH_SGIXgl_PROXY_TEXTURE_RECTANGLEgl_VERTEX_ARRAY_BINDINGgl_CLIP_PLANE4gl_EVAL_VERTEX_ATTRIB15_NV gl_POINT_FADE_THRESHOLD_SIZE_ARBgl_UNSIGNED_INT_5_9_9_9_REV_EXTgl_DEBUG_GROUP_STACK_DEPTHgl_QUERY_WAIT_INVERTEDgl_DRAW_PIXEL_TOKENgl_OPERAND2_ALPHA_ARBgl_STACK_UNDERFLOWgl_FLOAT_VEC4_ARBgl_OBJECT_INFO_LOG_LENGTH_ARBgl_DRAW_BUFFER15_EXTgl_PATH_PROJECTION_MATRIX_NV gl_ADD_SIGNED%gl_FRAGMENT_INTERPOLATION_OFFSET_BITS!gl_VERTEX_SHADER_INSTRUCTIONS_EXTgl_NEXT_BUFFER_NVgl_TRIANGLE_STRIP_ADJACENCY_ARBgl_UNSIGNED_BYTE_2_3_3_REV_EXTgl_QUERY_RESULT_NO_WAIT#gl_SECONDARY_COLOR_ARRAY_ADDRESS_NVgl_ALPHA16_SNORMgl_COLOR_ARRAY_LENGTH_NVgl_SLUMINANCE_EXTgl_DOT_PRODUCT_TEXTURE_2D_NV0gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OESgl_INT_IMAGE_2D_ARRAYgl_POLYGON_OFFSET_LINEgl_ONE_MINUS_DST_ALPHAgl_ACCUM_BUFFER_BITgl_SOURCE1_ALPHA_ARBgl_HISTOGRAM_WIDTH_EXTgl_RENDERBUFFER_SAMPLES_EXTgl_FRAGMENT_LIGHTING_SGIXgl_TEXTURE_WIDTH_QCOMgl_TEXTURE_BUFFER_FORMAT_EXTgl_VERTEX_PROGRAM_TWO_SIDEgl_DEBUG_TYPE_OTHER_KHRgl_PRIMARY_COLOR_EXTgl_TEXTURE_COMPRESSED_ARBgl_PROXY_TEXTURE_1D_ARRAY_EXTgl_NORMAL_ARRAY_TYPE!gl_POST_COLOR_MATRIX_RED_BIAS_SGI*gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARBgl_VERTEX_ATTRIB_ARRAY7_NVgl_MAX_VERTEX_ATTRIB_STRIDEgl_COLORgl_YCBCR_422_APPLEgl_TESS_GEN_SPACING gl_VERTEX_SHADER_INVOCATIONS_ARBgl_STENCIL_INDEX4_OESgl_COMBINER_CD_DOT_PRODUCT_NVgl_VIRTUAL_PAGE_SIZE_Z_ARBgl_RIGHTgl_ALPHA16F_ARBgl_TANGENT_ARRAY_TYPE_EXTgl_READ_FRAMEBUFFER_NV'gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXTgl_PALETTE4_RGB8_OESgl_UNSIGNED_INT_IMAGE_3Dgl_NORMAL_ARRAY_ADDRESS_NVgl_NO_RESET_NOTIFICATION_EXT gl_RGB4_S3TCgl_AUX1gl_MODELVIEW1_ARBgl_OP_NEGATE_EXTgl_PACK_COMPRESSED_BLOCK_HEIGHTgl_RENDERBUFFER_BINDING_OESgl_INT_IMAGE_1Dgl_TEXTURE_GEQUAL_R_SGIXgl_VERTEX_BINDING_DIVISORgl_BLEND_SRC_ALPHA_OESgl_READ_BUFFER_NVgl_DEBUG_TYPE_ERROR_KHRgl_INT_IMAGE_CUBE_EXT!gl_COMPRESSED_RGBA_ASTC_6x6x6_OESgl_IMAGE_MIN_FILTER_HPgl_QUAD_ALPHA8_SGISgl_IMAGE_BINDING_LEVELgl_DOT3_RGB_EXTgl_SAMPLER_3D_OES gl_INT_VEC4)gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXTgl_NO_RESET_NOTIFICATION_ARBgl_IMAGE_MAG_FILTER_HPgl_COLOR4_BIT_PGIgl_MAX_CLIPMAP_DEPTH_SGIXgl_DEBUG_CATEGORY_OTHER_AMDgl_INT_IMAGE_2D_MULTISAMPLE%gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL&gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARBgl_BINORMAL_ARRAY_EXT,gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXTgl_DRAW_BUFFER9_ARB gl_DSDT8_NVgl_MAP1_VERTEX_ATTRIB9_4_NVgl_PROGRAM_OBJECT_ARB!gl_FONT_UNDERLINE_POSITION_BIT_NVgl_SHADER_OPERATION_NVgl_QUERY_RESULT_AVAILABLE_EXTgl_VIVIDLIGHT_NV gl_HSL_HUE_NVgl_EMBOSS_MAP_NV%gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARBgl_ALL_BARRIER_BITSgl_TEXTURE11_ARBgl_BOLD_BIT_NVgl_SAMPLE_BUFFERS_3DFXgl_INTERNALFORMAT_ALPHA_SIZEgl_COMPRESSED_RGBA_ASTC_8x8_KHRgl_VIRTUAL_PAGE_SIZE_Z_AMD"gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE)gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARBgl_DRAW_PIXELS_APPLE"gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB$gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIXgl_DRAW_INDIRECT_ADDRESS_NVgl_COVERAGE_BUFFER_BIT_NV)gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT)gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT gl_BLUE_NVgl_TEXTURE0_ARBgl_DEBUG_SOURCE_THIRD_PARTY_ARBgl_TEXTURE_NORMAL_EXTgl_TEXTURE_BUFFER_FORMAT_ARBgl_OPERAND0_ALPHAgl_FLOAT_MAT2x3gl_TEXTURE_BINDINGgl_INT_SAMPLER_2Dgl_ORgl_INT16_VEC2_NVgl_DUAL_ALPHA4_SGISgl_FRAMEZOOM_FACTOR_SGIX!gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXTgl_RGB_INTEGERgl_UNSIGNED_INT64_VEC2_NVgl_OUTPUT_TEXTURE_COORD21_EXT gl_ENABLE_BITgl_POLYGON_OFFSET_EXTgl_PIXEL_TEX_GEN_MODE_SGIXgl_LINE_SMOOTH&gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB!gl_COLOR_TABLE_LUMINANCE_SIZE_SGIgl_COLOR_BUFFER_BIT7_QCOMgl_PATH_FILL_MODE_NV gl_IMAGE_CUBE gl_CON_5_ATIgl_COLOR_ATTACHMENT2_EXT gl_FAILURE_NVgl_VERTEX_ARRAY_LIST_STRIDE_IBMgl_MAX_SPARSE_TEXTURE_SIZE_ARBgl_VERSION_ES_CL_1_1gl_PERFMON_GLOBAL_MODE_QCOMgl_DEPTH_COMPONENT32F%gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT&gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTSgl_IMAGE_2D_MULTISAMPLE_EXTgl_FRAMEBUFFER_OESgl_TRANSPOSE_PROJECTION_MATRIXgl_BUFFER_MAP_POINTERgl_INT_10_10_10_2_OESgl_PROGRAM_PIPELINE_OBJECT_EXT"gl_GEOMETRY_SHADER_INVOCATIONS_EXTgl_SPRITE_AXIS_SGIXgl_RED_INTEGER_EXT gl_COMPRESSED_RGBA_ASTC_10x6_KHR gl_TEXTURE_COORD_ARRAY_COUNT_EXTgl_SIGNED_RGB_NVgl_CWgl_PACK_SUBSAMPLE_RATE_SGIXgl_TEXTURE14_ARBgl_OUTPUT_TEXTURE_COORD26_EXTgl_DRAW_BUFFERgl_PACK_ROW_BYTES_APPLEgl_BLUE_INTEGER_EXTgl_STORAGE_CLIENT_APPLEgl_ALL_SHADER_BITSgl_FOG_COORDINATE_ARRAY_POINTERgl_ACTIVE_PROGRAMgl_RGBA32F_ARBgl_VERTEX_ATTRIB_ARRAY_INTEGERgl_MAP2_VERTEX_ATTRIB13_4_NV gl_SAMPLER_2Dgl_QUERYgl_GEOMETRY_INPUT_TYPE_EXTgl_RGB5_A1_OESgl_MATRIX15_ARBgl_INT_IMAGE_CUBE_MAP_ARRAYgl_STACK_OVERFLOWgl_NORMAL_ARRAY_LENGTH_NVgl_RENDERBUFFER_BLUE_SIZE_EXTgl_TEXTURE_INTENSITY_SIZE_EXTgl_POINT_SIZE_MIN_SGIS gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW gl_BEVEL_NV&gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIXgl_SIGNED_RGBA_NVgl_COLOR_CLEAR_VALUEgl_ARRAY_BUFFERgl_CLIP_PLANE2_IMGgl_POLYGON_OFFSET_UNITSgl_COLOR_ARRAY_POINTER_EXT gl_POST_COLOR_MATRIX_COLOR_TABLEgl_SHADOW_AMBIENT_SGIX gl_SAMPLES)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OESgl_MIRRORED_REPEAT_IBM#gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OESgl_FRAMEBUFFER_DEFAULT_WIDTHgl_TEXTURE_GEN_MODE_OESgl_BLEND_SRC_ALPHA_EXTgl_OUTPUT_COLOR0_EXTgl_SLUMINANCE8_ALPHA8gl_SAMPLER_3D_ARBgl_UNSIGNED_INT_SAMPLER_3D%gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXTgl_PATH_FORMAT_SVG_NVgl_MAP1_BINORMAL_EXT&gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIXgl_COLOR_ARRAY_BUFFER_BINDINGgl_MATRIX_INDEX_ARRAY_TYPE_OESgl_PROJECTION_STACK_DEPTHgl_AUTO_NORMALgl_FRAGMENT_SHADER_ATIgl_SAMPLE_BUFFERS_EXT.gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXTgl_UNSIGNED_INT_10_10_10_2gl_COMPRESSED_RG11_EAC_OESgl_LUMINANCE8I_EXTgl_VERTEX_ATTRIB_ARRAY13_NVgl_UNIFORM_BUFFER_SIZEgl_TEXTURE2_ARB!gl_COMPRESSED_RGBA_BPTC_UNORM_ARB gl_POLYGON#gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT#gl_ELEMENT_ARRAY_BUFFER_BINDING_ARBgl_SAMPLE_BUFFERS_ARBgl_RGBA4_DXT5_S3TCgl_STREAM_READgl_STATIC_READgl_MAX_FRAGMENT_ATOMIC_COUNTERS'gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT(gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TESTgl_COUNT_DOWN_NV gl_SLUMINANCEgl_INNOCENT_CONTEXT_RESETgl_DRAW_FRAMEBUFFER_BINDING_NVgl_VERTEX_STREAM3_ATIgl_TRIANGULAR_NVgl_SAMPLER_2D_RECT_ARB#gl_POST_CONVOLUTION_GREEN_SCALE_EXTgl_SKIP_COMPONENTS2_NV gl_IMAGE_1Dgl_ATTRIB_ARRAY_TYPE_NVgl_ORDER*gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB gl_RGB4_EXT!gl_COMPRESSED_TEXTURE_FORMATS_ARBgl_STENCIL_INDEX16_EXTgl_OP_RECIP_SQRT_EXT&gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERSgl_MAX_PROGRAM_TEXEL_OFFSET gl_POST_TEXTURE_FILTER_BIAS_SGIX gl_RGB32F_EXTgl_SURFACE_REGISTERED_NVgl_RGBA_FLOAT16_APPLEgl_VIDEO_BUFFER_BINDING_NVgl_PRIMITIVE_RESTART_INDEXgl_DOT3_RGB_ARBgl_INT64_VEC4_NVgl_DRAW_BUFFER12_ATIgl_RESAMPLE_REPLICATE_SGIXgl_ALPHAgl_MATRIX22_ARB gl_DEPTH_TEST'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHRgl_BLEND_SRC_ALPHAgl_MIRROR_CLAMP_ATIgl_COMBINER3_NVgl_TEXTURE_BINDING_1D_ARRAY_EXTgl_MIRROR_CLAMP_TO_BORDER_EXT gl_MAP1_INDEXgl_VIEW_CLASS_BPTC_FLOATgl_TRANSPOSE_AFFINE_2D_NVgl_IMAGE_CLASS_2_X_8&gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARBgl_EYE_POINT_SGISgl_TEXTURE_DEPTH_SIZE_ARBgl_GLYPH_HAS_KERNING_BIT_NVgl_ACTIVE_SUBROUTINESgl_MVP_MATRIX_EXTgl_READ_FRAMEBUFFER_BINDINGgl_GUILTY_CONTEXT_RESET_EXTgl_ALPHA16UI_EXTgl_TEXTURE_SWIZZLE_B_EXT gl_RGB16I_EXT%gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARBgl_VERTEX_WEIGHT_ARRAY_EXTgl_SWIZZLE_STR_DR_ATIgl_READ_FRAMEBUFFER*gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGIgl_COORD_REPLACE_NVgl_MAX_CLIP_PLANESgl_DRAW_BUFFER0gl_SPRITE_OBJECT_ALIGNED_SGIX1gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIXgl_CONSERVE_MEMORY_HINT_PGIgl_GET_TEXTURE_IMAGE_FORMATgl_MOVE_TO_RESETS_NVgl_SHADER_CONSISTENT_NV"gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXTgl_PACK_ALIGNMENTgl_HISTOGRAM_ALPHA_SIZEgl_SHARED_TEXTURE_PALETTE_EXTgl_MODELVIEW0_MATRIX_EXTgl_MAX_NAME_LENGTH'gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY gl_IMAGE_2Dgl_QUERY_BUFFER_AMDgl_BUMP_ENVMAP_ATI gl_POINTS gl_ARRAY_SIZEgl_MAX_CLIP_PLANES_IMGgl_TRIANGLE_STRIP_ADJACENCY_EXTgl_VERTEX_STREAM6_ATI$gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR gl_TEXTURE22gl_CURRENT_FOG_COORDINATE gl_CON_27_ATIgl_MAX_VERTEX_UNITS_OES&gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXTgl_SIGNED_INTENSITY8_NVgl_MAX_EVAL_ORDER"gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXTgl_DYNAMIC_READ_ARB&gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV gl_FLOAT16_NV!gl_COMPUTE_SHADER_INVOCATIONS_ARBgl_VERTEX_SHADER_OPTIMIZED_EXTgl_TEXTURE_LOD_BIAS_EXTgl_INT8_VEC3_NVgl_4PASS_0_SGISgl_HISTOGRAM_EXTgl_ALLOW_DRAW_WIN_HINT_PGIgl_TEXTURE_GREEN_SIZE_EXTgl_R32I gl_REG_22_ATIgl_UNSIGNED_INT_ATOMIC_COUNTERgl_COLOR_ATTACHMENT2 gl_INTENSITY8%gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKSgl_FOG_DENSITYgl_RENDERBUFFER_HEIGHT_EXTgl_Z_EXTgl_TEXTURE_FETCH_BARRIER_BITgl_PROGRAM_BINARY_FORMATSgl_UNSIGNED_INT_IMAGE_BUFFERgl_OPERAND0_RGBgl_COVERAGE_COMPONENT_NVgl_NEGATE_BIT_ATIgl_DEBUG_TYPE_PUSH_GROUP gl_SELECTgl_IMAGE_BINDING_ACCESS_EXTgl_TEXTURE_GEN_STR_OESgl_OCCLUSION_TEST_HPgl_BLEND_DST_RGB_OESgl_IMAGE_BINDING_NAMEgl_DUAL_LUMINANCE_ALPHA8_SGISgl_POLYGON_BIT#gl_POST_COLOR_MATRIX_GREEN_BIAS_SGIgl_COLOR_ATTACHMENT8_EXT gl_BLUE_BIAS gl_EMISSIONgl_DEPTH_ATTACHMENT_OESgl_POLYGON_OFFSET_FACTOR_EXT*gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXTgl_TEXTURE_MATERIAL_FACE_EXT$gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATIgl_DRAW_FRAMEBUFFER_ANGLEgl_DEPTH_BUFFER_BIT3_QCOMgl_DISTANCE_ATTENUATION_EXTgl_TRACE_ARRAYS_BIT_MESA gl_MOVE_TO_NVgl_2PASS_1_SGISgl_DUAL_LUMINANCE4_SGISgl_PRIMITIVES_SUBMITTED_ARBgl_TOP_LEVEL_ARRAY_STRIDEgl_NORMAL_ARRAY_STRIDEgl_TEXTURE_2D_ARRAY_EXT gl_UNPACK_COMPRESSED_BLOCK_WIDTH!gl_TEXTURE_FIXED_SAMPLE_LOCATIONSgl_YCRCBA_SGIXgl_LOCATION_COMPONENT gl_TEXTURE27gl_CONTEXT_FLAG_DEBUG_BIT_KHRgl_FOG_COORDINATE_EXT gl_DEBUG_CALLBACK_USER_PARAM_KHRgl_MIRRORED_REPEAT_OESgl_SYNC_GPU_COMMANDS_COMPLETEgl_SLUMINANCE8_ALPHA8_EXTgl_TEXTURE_BUFFER_OFFSETgl_PROXY_COLOR_TABLEgl_FIXEDgl_SRGB8gl_COMPRESSED_RGBAgl_IMAGE_BINDING_FORMATgl_MAX_RENDERBUFFER_SIZE_OESgl_DEBUG_SOURCE_API'gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTHgl_CLIP_PLANE3_IMG gl_TEXTURE16gl_FRAGMENTS_INSTRUMENT_SGIXgl_MATRIX8_ARBgl_DOUBLE_MAT2x4gl_DRAW_BUFFER9_ATIgl_CURRENT_TEXTURE_COORDSgl_DOT_PRODUCT_TEXTURE_3D_NV#gl_SECONDARY_COLOR_ARRAY_STRIDE_EXTgl_UNSIGNED_INT_IMAGE_2D_ARRAYgl_FRAMEBUFFER_BARRIER_BITgl_MAX_SAMPLES_IMGgl_TESS_CONTROL_SHADER_BIT_EXT!gl_PROGRAM_NATIVE_TEMPORARIES_ARB"gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMGgl_VERTEX_PROGRAM_ARBgl_MAP2_BINORMAL_EXTgl_ETC1_RGB8_OES!gl_PROGRAM_MATRIX_STACK_DEPTH_EXTgl_TEXTURE_USAGE_ANGLEgl_TEXTURE_MATRIX!gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXTgl_INDEX_ARRAY_STRIDEgl_POST_COLOR_MATRIX_BLUE_SCALEgl_TESS_CONTROL_OUTPUT_VERTICES$gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSETgl_COMPRESSED_RGBA_ASTC_6x6_KHRgl_INTERNALFORMAT_SHARED_SIZEgl_SOURCE1_RGB_EXTgl_STENCIL_PASS_DEPTH_FAILgl_MATRIX_PALETTE_OES$gl_MIN_FRAGMENT_INTERPOLATION_OFFSETgl_DOT3_RGBA_EXT gl_CLIP_VOLUME_CLIPPING_HINT_EXT(gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NVgl_FONT_X_MIN_BOUNDS_BIT_NVgl_WRAP_BORDER_SUNgl_MAP_INVALIDATE_RANGE_BITgl_PATH_MODELVIEW_NVgl_TESS_CONTROL_SHADERgl_VERTEX_STREAM1_ATI gl_R3_G3_B2gl_LARGE_CW_ARC_TO_NVgl_PRIMITIVE_BOUNDING_BOX_EXT gl_ALPHA_BIAS gl_DST_IN_NV'gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXTgl_NUM_FILL_STREAMS_NVgl_ATTRIB_ARRAY_POINTER_NVgl_SOURCE0_RGB_ARBgl_MAX_PROGRAM_TEXEL_OFFSET_EXTgl_MATRIX27_ARBgl_R11F_G11F_B10Fgl_ATOMIC_COUNTER_BUFFER_INDEXgl_TEXTURE_SWIZZLE_R_EXTgl_MAX_ASYNC_READ_PIXELS_SGIXgl_ACTIVE_TEXTURE_ARB$gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXTgl_REFERENCE_PLANE_SGIXgl_UNPACK_CLIENT_STORAGE_APPLEgl_SKIP_DECODE_EXTgl_MAP2_VERTEX_ATTRIB10_4_NVgl_ALIASED_POINT_SIZE_RANGE gl_MATRIX1_NVgl_CCWgl_SIGNED_RGB_UNSIGNED_ALPHA_NVgl_TEXTURE_BUFFER_BINDING_EXTgl_LINEAR_ATTENUATIONgl_FACTOR_MIN_AMDgl_POINT_SPRITE_NV"gl_IMAGE_FORMAT_COMPATIBILITY_TYPE!gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMDgl_MAP2_VERTEX_ATTRIB4_4_NVgl_PATCHES_EXT%gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKSgl_OUTPUT_TEXTURE_COORD14_EXTgl_V3Fgl_4PASS_2_EXTgl_SAMPLES_3DFXgl_MINOR_VERSION gl_MAX_DEBUG_LOGGED_MESSAGES_ARBgl_FUNC_REVERSE_SUBTRACT!gl_LAYOUT_LINEAR_CPU_CACHED_INTELgl_MULTISAMPLE_BUFFER_BIT1_QCOM!gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NVgl_PATH_COVER_DEPTH_FUNC_NVgl_MAX_FRAGMENT_IMAGE_UNIFORMS gl_PROXY_TEXTURE_COLOR_TABLE_SGIgl_PIXEL_MAP_I_TO_A_SIZE%gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR gl_FRAME_NV gl_FLOAT_R_NVgl_REFLECTION_MAP_EXT gl_RG_SNORMgl_REPLACE_MIDDLE_SUNgl_COMBINER_MAPPING_NVgl_ELEMENT_ARRAY_BUFFER_ARB"gl_SECONDARY_COLOR_ARRAY_LENGTH_NVgl_INTERPOLATE_ARB gl_POSITIONgl_PIXEL_MAP_S_TO_Sgl_READ_ONLY_ARB$gl_INVALID_FRAMEBUFFER_OPERATION_OES gl_3DC_X_AMDgl_FRAGMENT_LIGHT2_SGIXgl_IMAGE_SCALE_Y_HPgl_READ_FRAMEBUFFER_APPLE6gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICESgl_INDEX_MATERIAL_PARAMETER_EXT(gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTHgl_CUBIC_CURVE_TO_NVgl_QUAD_ALPHA4_SGISgl_FORCE_BLUE_TO_ONE_NVgl_DOT_PRODUCT_DEPTH_REPLACE_NVgl_MAX_VERTEX_OUTPUT_COMPONENTS!gl_COMPRESSED_RGBA_ASTC_4x4x3_OESgl_COLOR_INDEX1_EXTgl_RELATIVE_CUBIC_CURVE_TO_NVgl_NOR!gl_CLIPPING_OUTPUT_PRIMITIVES_ARBgl_VERTEX_ATTRIB_ARRAY12_NV gl_LINE_BITgl_FOG_COORDINATE_ARRAY_STRIDEgl_DUP_FIRST_CUBIC_CURVE_TO_NV%gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES/gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS$gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NVgl_FRAGMENT_LIGHT1_SGIXgl_PALETTE8_R5_G6_B5_OESgl_DUAL_INTENSITY4_SGISgl_TEXTURE_RANGE_LENGTH_APPLEgl_TEXTURE_RECTANGLE_ARBgl_LUMINANCE16F_EXTgl_DEPTH_COMPONENT16_ARBgl_BUMP_TARGET_ATI gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARBgl_DOUBLE_MAT3_EXT#gl_QUERY_BY_REGION_NO_WAIT_INVERTED#gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARBgl_QUADSgl_ALPHA_INTEGER_EXTgl_VERTEX_SHADER_BIT_EXT"gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIXgl_COLOR_MATERIAL_FACEgl_LIGHT_MODEL_TWO_SIDEgl_INTERLEAVED_ATTRIBS gl_RGBA16Igl_VERTEX_ATTRIB_ARRAY_TYPE_ARBgl_DEBUG_SEVERITY_LOW_AMDgl_POINT_SPRITE_COORD_ORIGINgl_DRAW_BUFFER8gl_SPOT_DIRECTIONgl_SAMPLE_COVERAGE_INVERT_ARBgl_PERFQUERY_COUNTER_RAW_INTELgl_STRICT_SCISSOR_HINT_PGIgl_LUMINANCE16_EXTgl_UNPACK_ALIGNMENTgl_BIAS_BIT_ATIgl_LARGE_CCW_ARC_TO_NV$gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB gl_FASTESTgl_LUMINANCE8_ALPHA8gl_CONVOLUTION_FILTER_BIAS_EXTgl_VIEW_CLASS_S3TC_DXT5_RGBAgl_DEPTH32F_STENCIL8_NVgl_TRACE_OPERATIONS_BIT_MESAgl_QUERY_RESULT_EXT gl_TRANSFORM_FEEDBACK_BINDING_NV gl_REG_10_ATIgl_MATRIX16_ARBgl_FONT_HAS_KERNING_BIT_NVgl_INNOCENT_CONTEXT_RESET_EXT gl_VIDEO_CAPTURE_FRAME_HEIGHT_NVgl_NATIVE_GRAPHICS_END_HINT_PGIgl_HISTOGRAM_LUMINANCE_SIZE_EXTgl_COMBINER0_NVgl_COORD_REPLACE_OES-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXTgl_TIMESTAMP_EXTgl_MAX_IMAGE_UNITS_EXTgl_POINT_SIZE_MAX_ARBgl_DEPTH_WRITEMASK"gl_FOG_COORDINATE_ARRAY_STRIDE_EXTgl_BUMP_NUM_TEX_UNITS_ATIgl_INT_SAMPLER_1D_EXT gl_INDEX_MODE gl_422_EXTgl_ATOMIC_COUNTER_BUFFER_STARTgl_GPU_ADDRESS_NV gl_REG_19_ATIgl_IMAGE_BUFFERgl_HISTOGRAM_GREEN_SIZE!gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NVgl_INTENSITY8_SNORMgl_DEBUG_TYPE_MARKERgl_VERTEX_PROGRAM_TWO_SIDE_ARBgl_INDEX_MATERIAL_FACE_EXT'gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB gl_CMYKA_EXTgl_MAP_ATTRIB_V_ORDER_NVgl_OFFSET_HILO_TEXTURE_2D_NVgl_CALLIGRAPHIC_FRAGMENT_SGIXgl_MAX_PROGRAM_PARAMETERS_ARB(gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NVgl_MAP_READ_BITgl_IMAGE_1D_EXTgl_READ_BUFFERgl_POST_CONVOLUTION_RED_SCALEgl_MATRIX23_ARBgl_MAX_SAMPLES_NV gl_RGB8_SNORM gl_MATRIX5_NVgl_UNPACK_SWAP_BYTESgl_TABLE_TOO_LARGEgl_MIN_SAMPLE_SHADING_VALUE_OESgl_SWIZZLE_STQ_DQ_ATIgl_BUFFER_IMMUTABLE_STORAGEgl_ELEMENT_ARRAY_TYPE_APPLE"gl_POST_COLOR_MATRIX_BLUE_BIAS_SGIgl_PARTIAL_SUCCESS_NVgl_LOCAL_CONSTANT_EXT"gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARBgl_GEOMETRY_DEFORMATION_SGIXgl_SAMPLER_CUBE_MAP_ARRAY_EXT#gl_STENCIL_BACK_PASS_DEPTH_PASS_ATIgl_DISJOINT_NVgl_FLOAT_MAT4x3gl_TRANSFORM_FEEDBACK_PAUSED+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION gl_RG8_EXT gl_RECT_NVgl_GEOMETRY_OUTPUT_TYPE_ARBgl_DEBUG_SOURCE_API_ARBgl_COLOR_ATTACHMENT15gl_MAX_VARYING_FLOATS_ARBgl_MAX_DRAW_BUFFERS_NVgl_VERTEX_BLEND_ARBgl_DOUBLE_MAT2x3_EXT gl_MAX_DEBUG_LOGGED_MESSAGES_AMDgl_VERTICES_SUBMITTED_ARB!gl_UNSIGNED_SHORT_4_4_4_4_REV_IMGgl_STATE_RESTOREgl_MAX_COLOR_ATTACHMENTS_EXTgl_INDEX_LOGIC_OPgl_PRIMITIVE_RESTART_NVgl_FLOAT_MAT3x2_NVgl_VERTEX_CONSISTENT_HINT_PGIgl_LUMINANCE_ALPHA16F_EXTgl_FLOAT_VEC2_ARBgl_TEXTURE_SWIZZLE_RGBAgl_PROGRAM_SEPARABLE_EXT gl_COMPRESSED_RGBA_ASTC_10x8_KHRgl_DEPTH_ATTACHMENT_EXTgl_FRAMEBUFFER_UNSUPPORTED_OESgl_OPERAND1_ALPHAgl_PIXEL_MAP_I_TO_B_SIZE4gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT gl_EVAL_2D_NVgl_GREEN_MIN_CLAMP_INGR&gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERSgl_VERTEX_ARRAY_RANGE_NVgl_CONTEXT_LOST_WEBGLgl_MAX_VERTEX_UNIFORM_BLOCKS!gl_VERTEX_ATTRIB_MAP2_COEFF_APPLEgl_TEXTURE_MAX_CLAMP_T_SGIXgl_LUMINANCE_SNORMgl_PIXEL_UNPACK_BUFFER_BINDINGgl_RGBA8_SNORM-gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVXgl_PIXEL_SUBSAMPLE_2424_SGIXgl_TEXTURE_GATHER_SHADOW"gl_VIEWPORT_INDEX_PROVOKING_VERTEX&gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXTgl_UNSIGNED_INT_IMAGE_CUBEgl_WEIGHT_ARRAY_POINTER_OESgl_ALL_ATTRIB_BITS$gl_PERFQUERY_COUNTER_TIMESTAMP_INTELgl_TESS_EVALUATION_SHADER_EXTgl_BUFFER_OBJECT_EXT gl_TIMESTAMPgl_RGBA_INTEGER_EXT gl_RGB16UI+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXTgl_SAMPLE_SHADING_OESgl_CONVOLUTION_BORDER_COLOR'gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NVgl_VERTEX_ARRAY_BUFFER_BINDINGgl_DEPTH_CLAMP_NEAR_AMDgl_POLYGON_TOKEN+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB gl_R8_SNORM gl_DS_BIAS_NV gl_2X_BIT_ATIgl_ALREADY_SIGNALEDgl_2D gl_MAX_VERTEX_UNIFORM_COMPONENTS!gl_DEBUG_CATEGORY_PERFORMANCE_AMD gl_OVERLAY_NVgl_ATOMIC_COUNTER_BUFFER_SIZEgl_COLOR_ATTACHMENT10_EXTgl_COLOR_TABLE_BLUE_SIZE_SGIgl_ADD_SIGNED_EXTgl_INT_SAMPLER_2D_ARRAY_EXT"gl_TRANSFORM_FEEDBACK_BUFFER_INDEX$gl_REFERENCED_BY_TESS_CONTROL_SHADERgl_FIELD_LOWER_NVgl_POST_COLOR_MATRIX_RED_SCALEgl_IMAGE_BUFFER_EXTgl_3D_COLOR_TEXTUREgl_DEBUG_CALLBACK_FUNCTION_KHRgl_SCISSOR_BITgl_IMAGE_TRANSLATE_X_HPgl_PIXEL_MAP_I_TO_Agl_VERTEX_SUBROUTINEgl_TEXTURE4_ARBgl_PACK_COMPRESSED_BLOCK_DEPTHgl_SHADER_STORAGE_BLOCKgl_SIGNED_ALPHA_NVgl_BLEND_DST_ALPHA_EXTgl_MAP2_VERTEX_ATTRIB9_4_NV gl_HILO8_NVgl_SHADER_BINARY_FORMATSgl_DEBUG_OUTPUT_SYNCHRONOUSgl_TEXTURE_GEN_Rgl_PERFORMANCE_MONITOR_AMDgl_INTENSITY_FLOAT16_APPLEgl_PROGRAM_PIPELINEgl_COLOR_BUFFER_BIT5_QCOM&gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXTgl_DEBUG_TYPE_PORTABILITY_KHR gl_RGB16F_ARBgl_PRIMITIVES_GENERATED_EXTgl_PROGRAM_BINARY_FORMATS_OES gl_AMBIENTgl_QUERY_BY_REGION_NO_WAIT_NVgl_VIEW_CLASS_RGTC2_RG)gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXTgl_DRAW_BUFFER2_EXTgl_TEXTURE_BUFFER_BINDING#gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXTgl_OPERAND3_ALPHA_NV'gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NVgl_LINEAR_SHARPEN_SGISgl_MAP_UNSYNCHRONIZED_BIT_EXTgl_MODELVIEW28_ARBgl_EDGE_FLAG_ARRAY_LIST_IBMgl_PALETTE4_RGB5_A1_OESgl_MULTIPLY_KHRgl_GPU_OPTIMIZED_QCOMgl_FOG_FUNC_POINTS_SGISgl_MAX_IMAGE_SAMPLESgl_DRAW_BUFFER3_NV&gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"gl_RESET_NOTIFICATION_STRATEGY_ARBgl_MAX_TEXTURE_STACK_DEPTH gl_INT64_NVgl_DEBUG_SOURCE_APPLICATIONgl_STENCIL_CLEAR_VALUE gl_SRC1_COLOR gl_LIGHT4gl_PIXEL_PACK_BUFFER_BINDING gl_MAX_LIGHTSgl_OPERAND1_ALPHA_EXTgl_PIXEL_MAP_B_TO_B_SIZEgl_COLOR_TABLE_FORMAT_SGIgl_MODELVIEW22_ARBgl_UNSIGNED_INT64_VEC4_NVgl_COLOR_ARRAY_TYPE_EXTgl_LOSE_CONTEXT_ON_RESET_EXT+gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NVgl_TEXTURE_PRIORITY_EXTgl_UNPACK_COMPRESSED_SIZE_SGIXgl_SEPARATE_ATTRIBS_EXTgl_IMAGE_BINDING_LAYERED(gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR$gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE gl_READ_ONLYgl_TEXTURE_3D_BINDING_OES4gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADERgl_COVERAGE_ALL_FRAGMENTS_NV gl_SRC2_ALPHAgl_PRIMITIVE_ID_NV gl_VIDEO_COLOR_CONVERSION_MAX_NVgl_MAP2_TANGENT_EXT gl_LIGHTING"gl_PROGRAM_UNDER_NATIVE_LIMITS_ARBgl_VERTEX_ATTRIB_ARRAY2_NVgl_PRESENT_TIME_NVgl_PATCH_DEFAULT_INNER_LEVELgl_NEVERgl_PATH_STROKE_WIDTH_NVgl_INVERT_RGB_NVgl_BUFFER_MAP_POINTER_ARBgl_MAP2_GRID_SEGMENTSgl_INVALID_VALUEgl_BLEND_EQUATION_ALPHA_OESgl_MAX_RATIONAL_EVAL_ORDER_NVgl_VERTEX_ATTRIB_ARRAY10_NVgl_UNPACK_IMAGE_DEPTH_SGIS)gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES*gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"gl_TRANSPOSE_PROJECTION_MATRIX_ARB gl_REDUCE_EXT gl_RGB8UI_EXT gl_MAX_CLIENT_ATTRIB_STACK_DEPTHgl_RGB9_E5_EXTgl_OUTPUT_TEXTURE_COORD18_EXTgl_COLOR_ATTACHMENT0_EXTgl_ALPHA_SCALE&gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV$gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE gl_BLEND_SRCgl_TEXTURE_MAX_CLAMP_R_SGIXgl_MAX_PROGRAM_TEXEL_OFFSET_NVgl_TEXTURE_LOD_BIAS_R_SGIXgl_UNSIGNED_INT_SAMPLER_2Dgl_TEXTURE_FILTER_CONTROL_EXTgl_VARIABLE_G_NVgl_SELECTION_BUFFER_POINTERgl_INT_SAMPLER_1Dgl_COMBINE_ALPHAgl_FONT_Y_MAX_BOUNDS_BIT_NVgl_UNIFORM_BARRIER_BITgl_TEXTURE_BLUE_TYPE_ARBgl_STENCIL_INDEX16gl_SRC_OVER_NVgl_INT_SAMPLER_2D_MULTISAMPLEgl_COLOR_TABLE_GREEN_SIZE_SGI#gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV gl_TEXTURE_COMPRESSED_IMAGE_SIZE'gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV'gl_REFERENCED_BY_TESS_EVALUATION_SHADER,gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT gl_MAX_HEIGHTgl_ALPHA32F_ARBgl_COLOR_ATTACHMENT13gl_OP_SET_GE_EXT gl_RGBA16_EXTgl_OPERAND3_RGB_NVgl_RENDERBUFFER_BLUE_SIZE_OESgl_LUMINANCE_ALPHA_FLOAT16_ATI!gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NV'gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL gl_MAX_DEPTHgl_LINEAR_MIPMAP_NEAREST gl_UNSIGNED_INT_8_8_S8_S8_REV_NV gl_N3F_V3F gl_PACK_MAX_COMPRESSED_SIZE_SGIXgl_QUERY_BUFFER_BINDING_AMD gl_FOG_MODE gl_RGBA32F"gl_FRAGMENT_SHADER_DERIVATIVE_HINTgl_UNPACK_SKIP_ROWS_EXTgl_LINESgl_SPOT_EXPONENT!gl_MAX_NUM_COMPATIBLE_SUBROUTINESgl_RGBA_FLOAT32_APPLE)gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXTgl_BLEND_EQUATION_ALPHA gl_PATH_MODELVIEW_STACK_DEPTH_NVgl_TEXTURE_SHARED_SIZE_EXT gl_RGBA16gl_UNDEFINED_VERTEX_EXTgl_PALETTE8_RGB5_A1_OES#gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXTgl_IMAGE_CLASS_11_11_10gl_HISTOGRAM_GREEN_SIZE_EXT-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXTgl_MAX_COMPUTE_IMAGE_UNIFORMSgl_MAX_PATCH_VERTICES_EXT gl_ISOLINESgl_LUMINANCE_ALPHA_SNORMgl_PROGRAM_PIPELINE_BINDING_EXTgl_FIRST_VERTEX_CONVENTION_EXT,gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT gl_UTF16_NVgl_PRESENT_DURATION_NVgl_TEXTURE_SAMPLESgl_BGR"gl_CULL_VERTEX_OBJECT_POSITION_EXT!gl_FRAGMENT_PROGRAM_POSITION_MESAgl_FLOAT_RG_NVgl_PROXY_TEXTURE_2D_MULTISAMPLE gl_CON_21_ATIgl_MAX_GEOMETRY_IMAGE_UNIFORMSgl_FLOAT_MAT3x4_NVgl_BUFFER_VARIABLEgl_ANY_SAMPLES_PASSED_EXTgl_TEXTURE_GEN_Qgl_GEOMETRY_VERTICES_OUT_ARBgl_POLYGON_SMOOTH_HINT!gl_TEXTURE_BINDING_CUBE_MAP_ARRAYgl_SEPARABLE_2D_EXTgl_VERSION_ES_CL_1_0%gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NVgl_RED_INTEGER#gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMDgl_OFFSET_TEXTURE_RECTANGLE_NVgl_TEXTURE_COORD_ARRAY_TYPE_EXT gl_INT8_NV gl_VIDEO_COLOR_CONVERSION_MIN_NV%gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NVgl_FRAMEBUFFER_ATTACHMENT_ANGLE gl_SRC1_RGB gl_CON_24_ATIgl_DEBUG_CALLBACK_USER_PARAMgl_MALI_SHADER_BINARY_ARMgl_VIEW_CLASS_16_BITS gl_DITHERgl_PATH_STROKE_COVER_MODE_NVgl_BGR_INTEGER!gl_TEXTURE_MATERIAL_PARAMETER_EXTgl_COMPRESSED_RGBA_ASTC_5x4_KHR%gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"gl_POST_CONVOLUTION_GREEN_BIAS_EXTgl_PATH_ERROR_POSITION_NVgl_SAMPLE_ALPHA_TO_COVERAGE,gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAYgl_NUM_COMPATIBLE_SUBROUTINESgl_RGBA16UI_EXTgl_VERTEX_SHADER_ARBgl_RGBgl_MAP_PERSISTENT_BITgl_QUERY_COUNTER_BITS_ARBgl_BLEND_EQUATION_RGB_OESgl_FRAGMENT_SHADER_BITgl_MATRIX_INDEX_ARRAY_ARBgl_OUTPUT_TEXTURE_COORD29_EXTgl_HISTOGRAM_FORMATgl_MAX_ASYNC_HISTOGRAM_SGIXgl_MAX_VERTEX_ATTRIBS_ARBgl_SAMPLE_MASK_NVgl_COLOR_INDEXESgl_QUAD_TEXTURE_SELECT_SGIS gl_RG16_SNORMgl_ACTIVE_SUBROUTINE_MAX_LENGTHgl_LOGIC_OP_MODE!gl_DEPTH_COMPONENT16_NONLINEAR_NVgl_PRIMITIVE_RESTART_INDEX_NVgl_UNKNOWN_CONTEXT_RESETgl_VBO_FREE_MEMORY_ATI"gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES%gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHRgl_TEXTURE_2D_STACK_MESAXgl_DRAW_BUFFER10gl_FLOAT16_VEC4_NVgl_SIGNED_HILO16_NVgl_BUFFER_MAPPED_OES)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXTgl_DRAW_BUFFER5_EXT+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARBgl_NUM_EXTENSIONSgl_WARP_SIZE_NV gl_TEXTURE23gl_INT_SAMPLER_2D_RECT_EXT)gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES gl_REG_4_ATI#gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG gl_FOG_INDEXgl_QUADRATIC_ATTENUATIONgl_COLOR_MATERIALgl_SAMPLE_MASKgl_DRAW_FRAMEBUFFER_BINDING_EXTgl_MULTISAMPLE_BUFFER_BIT5_QCOMgl_DEPTH_STENCIL_OESgl_STENCIL_BITSgl_CURRENT_VERTEX_ATTRIB_ARB)gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARBgl_COORD_REPLACE_ARBgl_RGBA32I_EXT gl_TEXTURE6gl_FLOAT_RGB16_NVgl_TEXTURE_IMMUTABLE_FORMAT gl_ZERO_EXTgl_SOFTLIGHT_NV(gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXTgl_TEXTURE_BASE_LEVELgl_COMPRESSED_SRGB_ALPHAgl_TEXTURE18_ARBgl_AND_INVERTED(gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXTgl_ARRAY_BUFFER_ARBgl_RGBA32F_EXTgl_BLEND_EQUATION_RGB_EXT gl_FRONT_FACEgl_SINGLE_COLOR_EXTgl_QUERY_COUNTER_BITS_EXT"gl_TESS_CONTROL_SHADER_PATCHES_ARBgl_SPOT_CUTOFF"gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARBgl_OUTPUT_TEXTURE_COORD6_EXTgl_COLOR_ATTACHMENT13_NV gl_COMPRESSED_RGBA_S3TC_DXT3_EXT&gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NVgl_TRANSPOSE_TEXTURE_MATRIXgl_MULTISAMPLE_ARBgl_DEPTH_COMPONENT24gl_PIXEL_MAP_G_TO_Ggl_NAMED_STRING_LENGTH_ARB)gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXTgl_UNIFORM_SIZEgl_MODELVIEW21_ARBgl_FRAGMENT_LIGHT7_SGIXgl_DRAW_BUFFER3_ARB)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OESgl_UNSIGNED_SHORTgl_MULTISAMPLE_BIT_ARBgl_FOGgl_TEXTURE_COMPARE_MODE gl_SPHERE_MAPgl_TIMEOUT_EXPIRED_APPLE*gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXTgl_PROXY_TEXTURE_1D_ARRAY(gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXTgl_TEXTURE_BINDING_CUBE_MAPgl_COLOR_ATTACHMENT14gl_STENCIL_BUFFER_BIT gl_SIGNALEDgl_TEXTURE_WIDTH gl_EVAL_BIT gl_REG_28_ATIgl_TEXTURE_BITgl_CONTEXT_ROBUST_ACCESS_EXT0gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV)gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARBgl_DEPTH_BUFFER_BITgl_TEXCOORD2_BIT_PGI!gl_POST_CONVOLUTION_RED_SCALE_EXT gl_QUERY_KHRgl_PACK_IMAGE_HEIGHT_EXTgl_COMPRESSED_RGBA_ASTC_5x5_KHR$gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARBgl_DEPTH_STENCIL_ATTACHMENTgl_HSL_HUE_KHRgl_ATC_RGB_AMD gl_DECR_WRAPgl_GEOMETRY_VERTICES_OUTgl_OFFSET_TEXTURE_BIAS_NVgl_COLOR_ATTACHMENT5_NVgl_POINT_SIZE_ARRAY_POINTER_OES!gl_TEXTURE_COMPARE_FAIL_VALUE_ARB gl_RENDERBUFFER_COLOR_SAMPLES_NV gl_CON_10_ATIgl_IMAGE_ROTATE_ANGLE_HPgl_UNIFORM_BUFFER_UNIFIED_NV gl_INTENSITY4gl_DEBUG_LOGGED_MESSAGES_KHRgl_MINUS_CLAMPED_NVgl_BUFFER_SIZE gl_SRGB_EXTgl_PIXEL_TEX_GEN_Q_ROUND_SGIXgl_R16Igl_COLOR_COMPONENTSgl_TEXTURE_VIEW_NUM_LEVELSgl_COLOR_ATTACHMENT11gl_OBJECT_PLANEgl_IMAGE_3D_EXT gl_MAX_GEOMETRY_INPUT_COMPONENTSgl_TEXTURE_COORD_ARRAY_LIST_IBM!gl_MAX_VERTEX_TEXTURE_IMAGE_UNITSgl_CLIENT_ACTIVE_TEXTURE&gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARBgl_OPERAND1_RGBgl_POINT_SIZE_ARRAY_OES"gl_GLYPH_VERTICAL_BEARING_Y_BIT_NVgl_MODELVIEW6_ARBgl_DEBUG_OUTPUT_SYNCHRONOUS_KHRgl_AND_REVERSEgl_CLAMP_TO_BORDER_NVgl_GUILTY_CONTEXT_RESET_ARBgl_INT64_VEC2_NV gl_C3F_V3Fgl_OBJECT_LINEAR_NV6gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXTgl_TEXTURE_FLOAT_COMPONENTS_NVgl_SOURCE3_ALPHA_NVgl_OPERAND2_ALPHA_EXT gl_CON_12_ATIgl_SYNC_STATUSgl_BLEND_SRC_RGB_EXT!gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARBgl_TEXTURE_2D_MULTISAMPLE_ARRAYgl_LEFTgl_UNSIGNED_INT_SAMPLER_1Dgl_PIXEL_MAP_I_TO_R_SIZEgl_VERTEX_ARRAY_BINDING_OESgl_COMBINE_ALPHA_EXT gl_TRANSFORM_FEEDBACK_ATTRIBS_NVgl_CURRENT_WEIGHT_ARBgl_RASTERIZER_DISCARD_NV gl_SRC_IN_NV gl_OBJECT_DISTANCE_TO_POINT_SGISgl_COMPRESSED_RGB8_ETC2#gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS gl_RGB_SNORMgl_INTENSITY4_EXTgl_R8I#gl_MAX_SUBROUTINE_UNIFORM_LOCATIONSgl_EDGEFLAG_BIT_PGIgl_MAX_FRAMEBUFFER_SAMPLESgl_SECONDARY_COLOR_ARRAY_TYPEgl_ALL_BARRIER_BITS_EXT gl_TEXTURE145gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER gl_SRC0_ALPHAgl_MODELVIEW16_ARB gl_DARKEN_NVgl_INTENSITY_EXTgl_CURRENT_BITgl_FLOAT_RGBA32_NVgl_SHADOW_ATTENUATION_EXTgl_COMPRESSED_SRGB8_ETC2gl_DRAW_BUFFER15gl_COMPARE_R_TO_TEXTURE_ARBgl_R11F_G11F_B10F_EXT#gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMGgl_MULTISAMPLE_BUFFER_BIT6_QCOM*gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXTgl_FEEDBACK_BUFFER_TYPEgl_IMAGE_BINDING_FORMAT_EXTgl_PROXY_TEXTURE_2D_EXTgl_DEPTH32F_STENCIL8*gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBSgl_TESS_EVALUATION_SUBROUTINEgl_TEXTURE_LOD_BIAS_T_SGIXgl_COVERAGE_COMPONENT4_NVgl_TEXTURE6_ARBgl_MAX_3D_TEXTURE_SIZE_EXTgl_TEXTURE_RESIDENTgl_FOG_COORD_ARRAY_TYPE!gl_DEBUG_TYPE_DEPRECATED_BEHAVIORgl_QUERY_BY_REGION_WAITgl_SLUMINANCE_ALPHAgl_INT_SAMPLER_CUBEgl_UNSIGNED_SHORT_4_4_4_4_REV$gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARBgl_LUMINANCE4_ALPHA4_EXTgl_OPERAND0_RGB_ARBgl_PROXY_TEXTURE_2D_STACK_MESAXgl_TEXTURE_3D_EXTgl_STREAM_RASTERIZATION_AMD$gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXTgl_DEPTH_COMPONENT32_SGIX gl_LINE_STRIP gl_CON_25_ATIgl_SLIM10U_SGIXgl_COLOR_INDEX2_EXT gl_CON_22_ATIgl_DEFORMATIONS_MASK_SGIXgl_INVERSE_TRANSPOSE_NVgl_MULTgl_ATTRIB_ARRAY_STRIDE_NVgl_RGBA16_SNORMgl_MIN_SAMPLE_SHADING_VALUE gl_RG8_SNORMgl_OBJECT_ATTACHED_OBJECTS_ARBgl_UNPACK_SKIP_PIXELS_EXTgl_ACTIVE_VERTEX_UNITS_ARB%gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXTgl_INTERNALFORMAT_RED_TYPE+gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NVgl_FLOAT_RGB_NVgl_MAP_FLUSH_EXPLICIT_BIT_EXT'gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETSgl_HALF_FLOAT_NVgl_DEPTH_STENCILgl_PROGRAM_ERROR_POSITION_ARBgl_TRACE_ERRORS_BIT_MESAgl_STENCIL_OP_VALUE_AMD(gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OESgl_COMPRESSED_SIGNED_R11_EACgl_FLOAT_MAT3x2gl_PROGRAM_ERROR_STRING_NVgl_VERTEX_ID_NVgl_VERTEX_BINDING_OFFSETgl_RESTART_SUNgl_INT_IMAGE_CUBE_MAP_ARRAY_EXTgl_COLOR_INDEXgl_TEXTURE31_ARBgl_MAX_DRAW_BUFFERS_ARBgl_MAX_IMAGE_UNITSgl_OUTPUT_TEXTURE_COORD4_EXTgl_COLOR_ARRAY_POINTERgl_MAX_COLOR_TEXTURE_SAMPLESgl_SIGNED_NEGATE_NVgl_MAX_GEOMETRY_UNIFORM_BLOCKSgl_DEBUG_TYPE_ERRORgl_HISTOGRAM_RED_SIZE_EXT$gl_SECONDARY_COLOR_ARRAY_POINTER_EXT gl_UNSIGNALED gl_CON_8_ATIgl_COMPRESSED_RED gl_RGBA2_EXTgl_T2F_C3F_V3Fgl_SECONDARY_COLOR_ARRAY-gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXTgl_COLOR3_BIT_PGIgl_CLIP_DISTANCE3gl_TEXTURE_SWIZZLE_G_EXTgl_SAMPLER_CUBE_MAP_ARRAYgl_4PASS_3_SGIS,gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT#gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXTgl_VERTEX_ARRAY_STRIDE-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONSgl_TEXTURE_SWIZZLE_Agl_DOUBLE_MAT3x2!gl_TEXTURE_UPDATE_BARRIER_BIT_EXTgl_SHADING_LANGUAGE_VERSION&gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HPgl_FIXED_ONLY_ARB(gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI gl_CON_19_ATIgl_CONTEXT_RELEASE_BEHAVIORgl_ARRAY_BUFFER_BINDING%gl_UNPACK_COLORSPACE_CONVERSION_WEBGLgl_CONVEX_HULL_NV$gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARBgl_FIRST_TO_REST_NVgl_MAX_TEXTURE_COORDSgl_TEXTURE_DEPTH gl_LIGHT0gl_VERTEX_STREAM4_ATI#gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI$gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERSgl_SAMPLER_2D_RECT_SHADOW_ARBgl_DRAW_BUFFER1_ATIgl_SAMPLE_BUFFERS_SGISgl_SIGNED_LUMINANCE_ALPHA_NV gl_R16_SNORMgl_DRAW_BUFFER13_ATIgl_TEXTURE_LIGHT_EXT gl_BOOL_ARB gl_BGRA_IMGgl_SRGB_ALPHA_EXTgl_RELATIVE_ROUNDED_RECT2_NVgl_LUMINANCE16UI_EXT gl_MATRIX7_NVgl_INTENSITY16gl_DRAW_INDIRECT_BUFFER"gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBMgl_MAX_IMAGE_SAMPLES_EXTgl_DEBUG_SOURCE_OTHER_ARB gl_POINT_BITgl_MAX_VARYING_VECTORSgl_SUBTRACT_ARBgl_INT_SAMPLER_BUFFER_AMDgl_SAMPLE_MASK_INVERT_SGIS!gl_POINT_DISTANCE_ATTENUATION_ARBgl_GREEN_BIT_ATI/gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXTgl_FRAMEBUFFERgl_TEXTURE_COMPRESSION_HINT_ARBgl_PROGRAM_INPUT gl_SCREEN_NVgl_TEXTURE_CUBE_MAP_ARRAY_EXTgl_FENCE_STATUS_NV gl_MAX_BINDABLE_UNIFORM_SIZE_EXTgl_PACK_COMPRESSED_BLOCK_WIDTHgl_RELATIVE_VERTICAL_LINE_TO_NV$gl_POST_COLOR_MATRIX_COLOR_TABLE_SGIgl_ALPHA_INTEGERgl_MAX_SUBROUTINESgl_UNSIGNED_INT_VEC3_EXTgl_ELEMENT_ARRAY_ATIgl_ONE_MINUS_CONSTANT_COLORgl_MODELVIEW18_ARBgl_CONSTANT_ARB'gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV(gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTELgl_DRAW_BUFFER_EXT"gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXTgl_FLOAT_MAT2x4_NVgl_CULL_VERTEX_EXTgl_MATRIX_PALETTE_ARB gl_VERTEX_PROGRAM_POINT_SIZE_ARBgl_FLOAT_RG16_NV gl_CON_1_ATIgl_BLEND_EQUATION_RGBgl_OP_CROSS_PRODUCT_EXT!gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXTgl_TESS_CONTROL_PROGRAM_NV gl_FIXED_ONLYgl_4PASS_1_EXT#gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OESgl_UNSIGNED_INT_8_8_8_8_REV gl_UNIFORM_BLOCK_ACTIVE_UNIFORMSgl_SLUMINANCE_ALPHA_NVgl_PROXY_TEXTURE_CUBE_MAPgl_IMAGE_CLASS_1_X_32gl_STACK_OVERFLOW_KHR!gl_COMPRESSED_RGBA_ASTC_5x5x5_OESgl_CLOSE_PATH_NVgl_PIXEL_COUNT_AVAILABLE_NVgl_PATH_DASH_OFFSET_NV3gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NVgl_GLOBAL_ALPHA_FACTOR_SUNgl_INDEX_ARRAY_COUNT_EXTgl_PACK_RESAMPLE_OML gl_LAYER_NVgl_DRAW_FRAMEBUFFERgl_LINEAR_DETAIL_ALPHA_SGIS&gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXTgl_EDGE_FLAG_ARRAYgl_TEXTURE_DEFORMATION_BIT_SGIXgl_SOURCE1_RGBgl_TEXTURE_3D_OESgl_ALLOW_DRAW_OBJ_HINT_PGIgl_PATH_STROKE_BOUNDING_BOX_NV gl_HINT_BITgl_VERTICAL_LINE_TO_NVgl_MAX_TEXTURE_BUFFER_SIZE_EXTgl_MAX_DRAW_BUFFERS_ATI gl_R8_EXTgl_TEXTURE_COVERAGE_SAMPLES_NV&gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NVgl_REFERENCED_BY_VERTEX_SHADERgl_FLOAT_RG32_NVgl_TESSELLATION_FACTOR_AMDgl_MAX_PROGRAM_TEMPORARIES_ARB!gl_COMPRESSED_RGBA_ASTC_12x12_KHR gl_PROJECTIONgl_Sgl_ALPHA_FLOAT32_APPLEgl_LUMINANCE8_ALPHA8_OES gl_4_BYTES_NVgl_CONST_EYE_NVgl_MAT_SPECULAR_BIT_PGIgl_TEXTURE1_ARBgl_LINE_WIDTH_GRANULARITYgl_DRAW_INDIRECT_BUFFER_BINDINGgl_BLEND_EQUATIONgl_RGBA8UI_EXT gl_NORMALIZE gl_LUMINANCE_ALPHA_FLOAT16_APPLE/gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX gl_INVERSE_NVgl_TEXTURE_SWIZZLE_A_EXTgl_DEPTH24_STENCIL8_OES!gl_UNPACK_COMPRESSED_BLOCK_HEIGHT gl_RGBA32UIgl_MAP1_COLOR_4gl_MAX_ELEMENTS_VERTICESgl_CLIENT_VERTEX_ARRAY_BITgl_TEXTURE_GREEN_TYPEgl_TEXTURE_BINDING_BUFFER_ARB gl_MAX_RECTANGLE_TEXTURE_SIZE_NVgl_INTERNALFORMAT_GREEN_TYPE gl_OP_ADD_EXTgl_UNSIGNED_INT_24_8+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS gl_3D_COLORgl_MODULATE_COLOR_IMG"gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARBgl_TEXTURE_CLIPMAP_FRAME_SGIXgl_NORMAL_ARRAY_STRIDE_EXTgl_R16gl_PIXEL_PACK_BUFFERgl_SOFTLIGHT_KHRgl_POST_CONVOLUTION_BLUE_SCALEgl_INTERLEAVED_ATTRIBS_NVgl_COLOR_ATTACHMENT8gl_DEBUG_TYPE_PUSH_GROUP_KHR&gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL gl_MOV_ATIgl_PROGRAM_SEPARABLE gl_REG_20_ATIgl_DOUBLE_VEC3 gl_8X_BIT_ATI#gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAYgl_MATRIX26_ARBgl_PROXY_TEXTURE_RECTANGLE_ARBgl_TRANSFORM_HINT_APPLEgl_UNPACK_ROW_BYTES_APPLE$gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI(gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARBgl_ONE_MINUS_CONSTANT_COLOR_EXTgl_TEXTURE_BINDING_CUBE_MAP_OES&gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"gl_VERTEX_ARRAY_STORAGE_HINT_APPLEgl_VERTEX_BINDING_BUFFERgl_FRAGMENT_LIGHT0_SGIX$gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV(gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT gl_SRC2_RGB!gl_NUM_COMPRESSED_TEXTURE_FORMATSgl_OUTPUT_TEXTURE_COORD2_EXTgl_DEPTH_TEXTURE_MODEgl_SAMPLE_PATTERN_EXTgl_ELEMENT_ARRAY_APPLEgl_MAX_FOG_FUNC_POINTS_SGISgl_TEXTURE_APPLICATION_MODE_EXTgl_COLOR_ARRAY_SIZE_EXTgl_VERTEX_SOURCE_ATIgl_MAP2_VERTEX_ATTRIB3_4_NVgl_LIGHTEN_KHRgl_INT_SAMPLER_1D_ARRAY#gl_UNSIGNED_INT_10F_11F_11F_REV_EXT gl_LUMINANCE8gl_ACCUM_ALPHA_BITSgl_MINMAX_FORMATgl_NOOPgl_READ_FRAMEBUFFER_EXT gl_SHADERgl_UNSIGNED_INT_10_10_10_2_OES!gl_TEXTURE_COMPRESSED_BLOCK_WIDTHgl_DEBUG_OUTPUT_KHRgl_SOURCE0_ALPHA_ARBgl_SAMPLER_1D_ARRAY_EXT gl_T2F_V3Fgl_SAMPLE_MASK_SGISgl_CIRCULAR_TANGENT_ARC_TO_NV%gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTSgl_MAX_DEBUG_LOGGED_MESSAGESgl_SOURCE1_ALPHAgl_RGB_422_APPLEgl_COLOR_TABLEgl_MAP1_TEXTURE_COORD_3gl_DEBUG_SEVERITY_HIGH_AMDgl_UNSIGNED_INTgl_VERTEX_PROGRAM_CALLBACK_MESAgl_BLOCK_INDEXgl_FLOATgl_TRACE_PIXELS_BIT_MESAgl_BACKgl_PATH_JOIN_STYLE_NVgl_LUMINANCE_ALPHA16I_EXT gl_FLOAT_MAT2gl_SIGNED_IDENTITY_NV&gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA!gl_DEPTH_PASS_INSTRUMENT_MAX_SGIXgl_CLIP_DEPTH_MODE-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT gl_CULL_FACEgl_DETAIL_TEXTURE_LEVEL_SGIS'gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARBgl_PACK_SKIP_ROWSgl_COEFF3gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT gl_NUM_INSTRUCTIONS_PER_PASS_ATI+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARBgl_RGBA8gl_TESS_GEN_VERTEX_ORDERgl_TEXTURE_CUBE_MAPgl_VERTEX_PRECLIP_HINT_SGIX gl_NUM_SHADING_LANGUAGE_VERSIONSgl_OUTPUT_TEXTURE_COORD9_EXT!gl_MAX_PROGRAM_GENERIC_RESULTS_NVgl_COLOR_ATTACHMENT7_NVgl_OUT_OF_MEMORY"gl_TEXTURE_COORD_ARRAY_POINTER_EXTgl_FLOAT_MAT2_ARBgl_COMBINER_AB_DOT_PRODUCT_NVgl_INDEX_ARRAY_POINTER_EXT$gl_WRITE_PIXEL_DATA_RANGE_POINTER_NVgl_3D)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES gl_UPPER_LEFTgl_IMAGE_1D_ARRAY_EXTgl_GREENgl_RGB12 gl_GEOMETRY_DEFORMATION_BIT_SGIXgl_LUMINANCE_ALPHA_FLOAT32_ATIgl_INT_SAMPLER_CUBE_MAP_ARRAYgl_EVAL_TRIANGULAR_2D_NV gl_QUERY_BY_REGION_WAIT_INVERTEDgl_CONTEXT_ROBUST_ACCESS_KHRgl_STREAM_READ_ARBgl_INT_IMAGE_1D_ARRAY_EXTgl_QUERY_NO_WAIT_INVERTED)gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENTgl_COLOR_ATTACHMENT4_EXT gl_DEBUG_TYPE_UNDEFINED_BEHAVIORgl_LOSE_CONTEXT_ON_RESET&gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBMgl_REPLACEMENT_CODE_SUNgl_422_REV_EXTgl_COMPILE_STATUS!gl_VERTEX_ATTRIB_MAP1_COEFF_APPLEgl_TRANSPOSE_COLOR_MATRIXgl_COLOR_TABLE_FORMATgl_VERSION_ES_CM_1_1#gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVEgl_BUFFER_STORAGE_FLAGSgl_UNSIGNED_NORMALIZED_EXT$gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE&gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT gl_3_BYTES gl_CND0_ATIgl_TEXTURE_MAX_LEVEL_APPLEgl_POINTgl_MODELVIEW11_ARB gl_RED_BITSgl_PIXEL_TILE_GRID_WIDTH_SGIXgl_DRAW_BUFFER7_NVgl_OP_SET_LT_EXTgl_TEXTURE24_ARBgl_TESS_GEN_POINT_MODEgl_INTERNALFORMAT_PREFERREDgl_VERTEX_SHADER_VARIANTS_EXTgl_COMBINER_CD_OUTPUT_NVgl_TRANSPOSE_CURRENT_MATRIX_ARBgl_MAX_ARRAY_TEXTURE_LAYERS_EXTgl_UNSIGNED_SHORT_8_8_MESAgl_BLEND_ADVANCED_COHERENT_NVgl_VERTEX_ARRAY_EXTgl_BOOL_VEC4_ARB/gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NVgl_UNSIGNED_SHORT_5_5_5_1gl_SHADE_MODELgl_MIRROR_CLAMP_TO_EDGE gl_RGB5_EXTgl_TEXTURE_GEN_Sgl_TEXTURE_COMPRESSEDgl_FRAMEBUFFER_BLENDgl_REPLACE_VALUE_AMD gl_YCRCB_SGIXgl_UNIFORM_BLOCK_INDEXgl_TEXTURE_TOO_LARGE_EXTgl_MIRRORED_REPEAT_ARB6gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER#gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARBgl_MAX_SAMPLESgl_ATTENUATION_EXTgl_MIRROR_CLAMP_EXTgl_DEBUG_LOGGED_MESSAGES gl_DOT3_ATIgl_EMBOSS_CONSTANT_NVgl_OUTPUT_TEXTURE_COORD11_EXT.gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTELgl_INDEXgl_CURRENT_MATRIX_ARB&gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERSgl_MAX_DRAW_BUFFERS_EXTgl_ADD_BLEND_IMGgl_CLIP_FAR_HINT_PGIgl_POST_CONVOLUTION_COLOR_TABLE gl_RGBA4_OESgl_QUERY_RESULT_AVAILABLE_ARB gl_RGB8UIgl_DYNAMIC_READ!gl_TEXTURE_BINDING_2D_MULTISAMPLEgl_OBJECT_TYPE_APPLEgl_PERCENTAGE_AMDgl_LIGHT_MODEL_LOCAL_VIEWER!gl_SPARE0_PLUS_SECONDARY_COLOR_NVgl_OP_INDEX_EXTgl_VIEW_CLASS_S3TC_DXT3_RGBAgl_TEXTURE_DEPTH_TYPE_ARBgl_TEXTURE_ALPHA_SIZEgl_YCRCB_422_SGIXgl_INDEX_ARRAY_LENGTH_NVgl_TRANSPOSE_AFFINE_3D_NVgl_MATRIX17_ARB gl_SRGB_ALPHAgl_MAP_TESSELLATION_NVgl_PACK_SKIP_VOLUMES_SGISgl_COLOR_BUFFER_BIT gl_REG_6_ATI gl_ATOMIC_COUNTER_BUFFER_BINDINGgl_POST_CONVOLUTION_ALPHA_BIASgl_HARDLIGHT_NVgl_INTENSITY16_SNORMgl_TEXCOORD1_BIT_PGIgl_DEBUG_CALLBACK_FUNCTIONgl_TEXTURE8_ARBgl_DOUBLE_VEC2_EXTgl_TRIANGLES_ADJACENCY,gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADERgl_R16Fgl_OUTPUT_TEXTURE_COORD19_EXTgl_QUAD_LUMINANCE4_SGISgl_SAMPLER_OBJECT_AMD"gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLEgl_UNSIGNED_INT_IMAGE_2D gl_ALPHA_TESTgl_CONVOLUTION_WIDTHgl_SLUMINANCE_NVgl_FRAMEBUFFER_UNDEFINED_OES#gl_TRANSFORM_FEEDBACK_BUFFER_PAUSEDgl_HALF_FLOAT_OESgl_CONVOLUTION_FORMAT_EXTgl_FALSE gl_ADD_ATIgl_STENCIL_BACK_FAILgl_DOUBLE_VEC4gl_STANDARD_FONT_NAME_NV gl_ALPHA4_EXTgl_EXPAND_NORMAL_NV)gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARBgl_TRACE_MASK_MESAgl_VARIABLE_B_NV gl_RGB16_EXT gl_TEXTURE"gl_PIXEL_UNPACK_BUFFER_BINDING_EXTgl_IMAGE_CLASS_1_X_8%gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLEgl_BOOL_VEC2_ARBgl_MAP2_VERTEX_3#gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTHgl_TEXTURE_WRAP_Sgl_TEXTURE_CUBE_MAP_NEGATIVE_Xgl_TEXTURE_CUBE_MAP_ARRAYgl_TEXTURE_ALPHA_TYPEgl_MAX_COLOR_ATTACHMENTS_NVgl_MAX_CUBE_MAP_TEXTURE_SIZEgl_ANY_SAMPLES_PASSED$gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZEgl_COLOR_ARRAY_STRIDEgl_MULTISAMPLE_BIT_EXTgl_VERTEX_ATTRIB_ARRAY_DIVISORgl_UNSIGNED_INT64_VEC3_NVgl_WAIT_FAILED_APPLEgl_DRAW_BUFFER5_ATI gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXTgl_ONE_MINUS_CONSTANT_ALPHA_EXTgl_UNSIGNED_INT_8_24_REV_MESA!gl_MAX_PROGRAM_ENV_PARAMETERS_ARB$gl_MAX_VERTEX_VARYING_COMPONENTS_EXTgl_CURRENT_TANGENT_EXT"gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB gl_ALPHA16gl_MAP1_VERTEX_4gl_SAMPLER_CUBE_SHADOW_NVgl_SAMPLER_2D_SHADOW_ARBgl_PROGRAM_LENGTH_NV'gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBMgl_IGNORE_BORDER_HPgl_DEBUG_SOURCE_SHADER_COMPILERgl_TEXTURE_BORDER_VALUES_NVgl_FRAGMENT_SUBROUTINEgl_MAX_DEPTH_TEXTURE_SAMPLESgl_VERTEX_ATTRIB_ARRAY_POINTERgl_COLOR_ATTACHMENT7gl_LAST_VERTEX_CONVENTION_EXTgl_TEXTURE_LO_SIZE_NV.gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADERgl_COMPRESSED_RGB8_ETC2_OESgl_NORMAL_MAP_NVgl_COLOR_ARRAY_COUNT_EXTgl_TEXTURE_COMPARE_MODE_EXTgl_BINORMAL_ARRAY_TYPE_EXTgl_OPERAND0_RGB_EXT$gl_MAX_VERTEX_VARYING_COMPONENTS_ARBgl_PIXEL_MIN_FILTER_EXTgl_ACCUM_ADJACENT_PAIRS_NV gl_BLEND_DSTgl_W_EXT#gl_RENDERBUFFER_COVERAGE_SAMPLES_NVgl_STENCIL_FUNCgl_MAX_VERTEX_STREAMSgl_GEOMETRY_INPUT_TYPE.gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NVgl_MINMAX_SINK_EXT%gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFERgl_DOUBLE_MAT2x3gl_FRACTIONAL_EVEN_EXTgl_VERTEX_ARRAY_TYPE_EXTgl_BINORMAL_ARRAY_POINTER_EXTgl_SAMPLE_MASK_EXTgl_TESS_CONTROL_SHADER_EXT1gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXTgl_TANGENT_ARRAY_STRIDE_EXTgl_GET_TEXTURE_IMAGE_TYPE gl_OFFSETgl_ALL_STATIC_DATA_IBM"gl_READ_PIXEL_DATA_RANGE_LENGTH_NVgl_CONSTANT_COLOR!gl_UNSIGNED_SHORT_1_5_5_5_REV_EXTgl_MATERIAL_SIDE_HINT_PGIgl_UNPACK_RESAMPLE_OMLgl_SAMPLE_SHADINGgl_OUTPUT_TEXTURE_COORD13_EXTgl_MAX_COLOR_MATRIX_STACK_DEPTHgl_INT64_VEC3_NV&gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NVgl_TEXTURE_STACK_DEPTH(gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTELgl_FRAMEBUFFER_UNSUPPORTED_EXTgl_QUERY_TARGETgl_LUMINANCE4_ALPHA4!gl_TRANSFORM_FEEDBACK_BARRIER_BIT gl_RGB32UIgl_STATIC_DRAWgl_MAX_COMPUTE_UNIFORM_BLOCKSgl_PALETTE4_RGBA8_OES!gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL gl_TEXTURE21 gl_RGB32Igl_MAX_TEXTURE_LOD_BIAS_EXTgl_PATH_GEN_COLOR_FORMAT_NV gl_RGB10_A2UI gl_GREEN_BITSgl_POLYGON_MODE gl_SUCCESS_NV gl_RGBA12 gl_PATCHESgl_ACCUMgl_NUM_PASSES_ATIgl_DEBUG_TYPE_ERROR_ARBgl_TEXTURE_LIGHTING_MODE_HPgl_HISTOGRAM_SINK_EXTgl_POINT_SIZE_GRANULARITYgl_R32Fgl_STATIC_COPY gl_FOG_COORDINATE_ARRAY_TYPE_EXT gl_SPARE0_NV gl_3DC_XY_AMDgl_LUMINANCE_ALPHA32F_ARBgl_VERTEX_ARRAY_RANGE_VALID_NVgl_DEPTH_BUFFER_BIT6_QCOM%gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX gl_LINE_WIDTHgl_FOG_OFFSET_SGIXgl_GEOMETRY_SHADER_BIT_EXTgl_TEXTURE_BLUE_SIZEgl_TEXTURE_SHADER_NV'gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NVgl_FRAMEZOOM_SGIX+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXTgl_DEPTH_RENDERABLEgl_MAX_TEXTURE_BUFFER_SIZEgl_COLOR_ALPHA_PAIRING_ATIgl_PACK_REVERSE_ROW_ORDER_ANGLE!gl_VERTEX_ATTRIB_ARRAY_NORMALIZEDgl_OP_MADD_EXT gl_TEXTURE7 gl_RGB32I_EXT gl_RED_BIAS gl_FLOAT_VEC2 gl_HALF_APPLEgl_SGX_BINARY_IMG gl_CON_28_ATI,gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP&gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NVgl_MAP2_VERTEX_ATTRIB2_4_NVgl_TRANSFORM_BITgl_R8(gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NVgl_Tgl_TEXTURE_ENV_MODE gl_HIGH_INT!gl_TEXTURE_UNSIGNED_REMAP_MODE_NVgl_MAX_PROGRAM_LOOP_COUNT_NVgl_PERFQUERY_WAIT_INTEL$gl_INVALID_FRAMEBUFFER_OPERATION_EXTgl_TEXTURE_2D_BINDING_EXTgl_TEXTURE_NUM_LEVELS_QCOMgl_TEXTURE_BUFFER_ARBgl_TRUE gl_MAX_LAYERSgl_MAX_TEXTURE_UNITS_ARBgl_MAP2_NORMALgl_DUAL_ALPHA16_SGISgl_PROGRAM_OUTPUTgl_OUTPUT_TEXTURE_COORD22_EXTgl_SAMPLER_1D_ARBgl_POST_CONVOLUTION_GREEN_BIASgl_INT_IMAGE_CUBEgl_CURRENT_VERTEX_WEIGHT_EXTgl_SIGNED_LUMINANCE8_NVgl_TEXTURE_VIEW_NUM_LAYERS_EXTgl_RG16Fgl_PROGRAM_POINT_SIZE_EXTgl_FILE_NAME_NVgl_INT_IMAGE_BUFFER_EXTgl_TEXTURE_UPDATE_BARRIER_BIT gl_HARDMIX_NVgl_FLOAT_MAT3x4gl_TEXTURE_INTERNAL_FORMAT_QCOMgl_INTERNALFORMAT_BLUE_SIZE)gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NVgl_HSL_COLOR_NVgl_CONDITION_SATISFIEDgl_UNIFORM_BUFFER_LENGTH_NVgl_ALPHA8UI_EXT gl_REG_23_ATIgl_UNSIGNED_SHORT_5_6_5_EXTgl_EDGE_FLAG_ARRAY_LENGTH_NVgl_IMAGE_CLASS_1_X_16gl_LUMINANCE8_ALPHA8_SNORMgl_PATH_FILL_COVER_MODE_NV gl_LUMINANCE_ALPHA_FLOAT32_APPLEgl_INTENSITY16UI_EXTgl_RENDERBUFFER_SAMPLES_APPLE)gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITEgl_LUMINANCE_ALPHA32I_EXTgl_REGISTER_COMBINERS_NVgl_R1UI_N3F_V3F_SUNgl_FOG_COORDINATE_SOURCEgl_DEBUG_SEVERITY_MEDIUM_AMDgl_MODELVIEW30_ARB gl_COMPRESSED_RGBA_S3TC_DXT5_EXTgl_DRAW_BUFFER0_NV2gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXTgl_ELEMENT_ARRAY_BARRIER_BIT!gl_SHADER_PIXEL_LOCAL_STORAGE_EXT gl_FRONT_LEFTgl_UNIFORM_BUFFER_BINDINGgl_SIGNED_RGBA8_NV gl_EYE_PLANE gl_TEXTURE_1D1gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXTgl_MALI_PROGRAM_BINARY_ARMgl_SKIP_COMPONENTS3_NVgl_LUMINANCE_ALPHAgl_ACCUM_RED_BITSgl_POLYGON_OFFSET_FACTORgl_SAMPLER_2D_ARRAY_SHADOW_NVgl_VARIABLE_D_NVgl_TEXTURE_LEQUAL_R_SGIXgl_INTgl_IMAGE_TRANSLATE_Y_HPgl_POINT_TOKENgl_RESAMPLE_ZERO_FILL_OMLgl_DEBUG_SOURCE_THIRD_PARTY_KHRgl_TEXTURE_MAG_SIZE_NVgl_PER_STAGE_CONSTANTS_NVgl_VIRTUAL_PAGE_SIZE_Y_ARBgl_SPRITE_EYE_ALIGNED_SGIXgl_EVAL_VERTEX_ATTRIB14_NV!gl_TRANSFORM_FEEDBACK_VARYINGS_NVgl_RGB10gl_MAX_VIEWPORT_DIMSgl_BLUE_MAX_CLAMP_INGR gl_INCR_WRAPgl_VIRTUAL_PAGE_SIZE_X_AMD gl_BOOL_VEC3 gl_CON_17_ATI gl_MAX_CUBE_MAP_TEXTURE_SIZE_OES+gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT)gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI gl_MINMAXgl_CONSTANT_BORDER_HP gl_SRGB_WRITEgl_MAX_TEXTURE_BUFFER_SIZE_ARB'gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NVgl_DECAL gl_REG_7_ATIgl_TESS_GEN_SPACING_EXTgl_ELEMENT_ARRAY_LENGTH_NVgl_MATRIX31_ARBgl_TRANSFORM_FEEDBACK_VARYINGgl_VERTEX_ATTRIB_ARRAY_SIZE gl_NOTEQUALgl_READ_PIXELS_TYPEgl_MODELVIEW_STACK_DEPTH!gl_COMPRESSED_RGBA_ASTC_6x6x5_OESgl_COMBINE_EXT gl_NICESTgl_MODELVIEW2_ARBgl_UNPACK_IMAGE_HEIGHTgl_TEXTURE_CUBE_MAP_ARRAY_ARBgl_DRAW_BUFFER12$gl_MAX_FRAGMENT_INTERPOLATION_OFFSETgl_FRAMEBUFFER_DEFAULT_HEIGHT gl_DT_BIAS_NV gl_DSDT_NVgl_IMAGE_CUBE_MAP_ARRAYgl_STENCIL_INDEX4 gl_ROUND_NVgl_Y_EXTgl_PATH_DASH_CAPS_NVgl_TEXTURE_PRIORITYgl_TEXTURE_4D_BINDING_SGIS(gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMDgl_CULL_MODES_NV gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE$gl_REFERENCED_BY_GEOMETRY_SHADER_EXTgl_MODELVIEW_MATRIXgl_VIDEO_BUFFER_NV gl_TEXTURE12gl_COLORBURN_NV!gl_COLOR_ARRAY_BUFFER_BINDING_ARBgl_READ_BUFFER_EXTgl_RENDERBUFFER_RED_SIZE_OESgl_TEXTURE_SHARED_SIZE#gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGISgl_ALL_SHADER_BITS_EXT!gl_PERFQUERY_SINGLE_CONTEXT_INTEL.gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXTgl_PERFMON_RESULT_AMDgl_GUILTY_CONTEXT_RESET gl_PREVIOUSgl_UNSIGNED_INT16_VEC3_NVgl_VERTEX_ATTRIB_MAP1_APPLE gl_LIGHT3%gl_TESS_EVALUATION_SUBROUTINE_UNIFORMgl_DUAL_INTENSITY8_SGISgl_PARAMETER_BUFFER_BINDING_ARBgl_CURRENT_SECONDARY_COLORgl_RENDERBUFFER_ALPHA_SIZEgl_DUAL_INTENSITY12_SGIS%gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING gl_OP_MAX_EXTgl_EDGE_FLAG_ARRAY_EXTgl_COLOR_TABLE_LUMINANCE_SIZEgl_FOG_COORD_ARRAY_ADDRESS_NVgl_COPYgl_DRAW_BUFFER2_NVgl_SAMPLER_BINDINGgl_COPY_WRITE_BUFFERgl_PIXEL_UNPACK_BUFFERgl_VIEW_CLASS_S3TC_DXT1_RGBAgl_DRAW_FRAMEBUFFER_APPLEgl_PIXEL_MAP_A_TO_A_SIZE gl_EDGE_FLAGgl_CLIP_DISTANCE2gl_TEXTURE_GEN_MODEgl_HALF_BIAS_NORMAL_NVgl_RESAMPLE_ZERO_FILL_SGIXgl_OUTPUT_TEXTURE_COORD12_EXTgl_UNSIGNED_SHORT_8_8_REV_MESAgl_PALETTE8_RGBA8_OESgl_TEXTURE_4D_SGISgl_PIXEL_PACK_BUFFER_EXTgl_MAP_ATTRIB_U_ORDER_NVgl_FUNC_SUBTRACTgl_PIXEL_SUBSAMPLE_4444_SGIXgl_TEXTURE_CUBE_MAP_NEGATIVE_Y(gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXTgl_DYNAMIC_COPY"gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT%gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXTgl_PROGRAM_LENGTH_ARBgl_MODELVIEW14_ARBgl_ITALIC_BIT_NVgl_OR_INVERTEDgl_CLIP_NEAR_HINT_PGIgl_COVERAGE_EDGE_FRAGMENTS_NV'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHRgl_PROGRAM_BINARY_LENGTH_OESgl_DRAW_BUFFER8_ARBgl_DRAW_FRAMEBUFFER_EXT$gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSETgl_SYNC_CL_EVENT_ARB%gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZEgl_MAX_VERTEX_HINT_PGIgl_UNPACK_IMAGE_HEIGHT_EXT%gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV#gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE&gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARBgl_STENCIL_BACK_REFgl_CLAMP_READ_COLOR_ARBgl_INTERNALFORMAT_RED_SIZE gl_PATCH_DEFAULT_INNER_LEVEL_EXTgl_OUTPUT_TEXTURE_COORD27_EXT#gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS gl_LOCATION*gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS gl_POST_COLOR_MATRIX_GREEN_SCALE(gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR gl_POST_COLOR_MATRIX_ALPHA_SCALEgl_HORIZONTAL_LINE_TO_NV gl_MAX_FRAGMENT_INPUT_COMPONENTSgl_PROGRAM_STRING_ARBgl_EDGE_FLAG_ARRAY_ADDRESS_NV gl_VENDOR gl_CLIPPING_INPUT_PRIMITIVES_ARBgl_TEXTURE_RENDERBUFFER_NVgl_ELEMENT_ARRAY_ADDRESS_NV gl_LOCAL_EXTgl_GEOMETRY_SHADER_INVOCATIONSgl_INT_VEC4_ARB&gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZEgl_SEPARATE_ATTRIBS_NVgl_FLOAT_MAT4_ARBgl_COLOR_ATTACHMENT_EXT%gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE%gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB gl_SHININESSgl_INTERPOLATE_EXTgl_TRANSFORM_FEEDBACKgl_TEXTURE_DEPTH_QCOMgl_DOUBLE_MAT4x2"gl_NORMAL_ARRAY_BUFFER_BINDING_ARBgl_PIXEL_TEX_GEN_SGIX"gl_TRANSFORM_FEEDBACK_BUFFER_STARTgl_GLYPH_WIDTH_BIT_NVgl_STENCIL_ATTACHMENT_EXT#gl_VERTEX_ARRAY_RANGE_POINTER_APPLEgl_VERTEX_WEIGHT_ARRAY_TYPE_EXT gl_MATRIX4_NVgl_READ_FRAMEBUFFER_ANGLE"gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERSgl_VERTEX_ARRAY_POINTER_EXTgl_RELATIVE_ROUNDED_RECT_NV$gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV!gl_MAX_PROGRAM_GENERIC_ATTRIBS_NVgl_TEXTURE_MEMORY_LAYOUT_INTEL gl_REG_0_ATIgl_VERTEX_ATTRIB_ARRAY15_NV gl_RGB12_EXTgl_FRAGMENT_LIGHT6_SGIX#gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NVgl_QUERY_ALL_EVENT_BITS_AMDgl_INTENSITY_FLOAT32_APPLE gl_LIST_INDEX"gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG gl_REG_18_ATI%gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT gl_COMPILEgl_VIEW_CLASS_128_BITS gl_4X_BIT_ATIgl_CLIENT_PIXEL_STORE_BITgl_OPERAND2_RGBgl_MINMAX_FORMAT_EXTgl_UNSIGNED_INT_IMAGE_1Dgl_INSTRUMENT_MEASUREMENTS_SGIXgl_VALIDATE_STATUSgl_NORMAL_ARRAY_COUNT_EXTgl_PATH_STENCIL_REF_NVgl_DRAW_BUFFER5_NVgl_COMPRESSED_RGBA_ARB$gl_MAX_MULTISAMPLE_COVERAGE_MODES_NVgl_MAX_3D_TEXTURE_SIZEgl_FRAGMENT_NORMAL_EXT gl_SHADER_KHRgl_TEXTURE_DEPTH_TYPE$gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESA(gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE!gl_TEXTURE_2D_STACK_BINDING_MESAX%gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARBgl_INT_SAMPLER_2D_EXT gl_RGBA4_S3TCgl_MAX_SPOT_EXPONENT_NVgl_NEGATIVE_X_EXTgl_SYNC_X11_FENCE_EXTgl_OP_DOT3_EXTgl_LUMINANCE8_SNORMgl_SAMPLE_SHADING_ARBgl_CONVOLUTION_2D_EXTgl_MAP2_TEXTURE_COORD_2gl_SHADER_IMAGE_LOAD$gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NVgl_TEXTURE_VIEW_NUM_LEVELS_EXTgl_ACTIVE_UNIFORMSgl_ACCUM_GREEN_BITSgl_TESS_EVALUATION_PROGRAM_NVgl_COMPRESSED_SLUMINANCEgl_COLOR_ATTACHMENT14_EXTgl_VERTEX23_BIT_PGIgl_BUMP_ROT_MATRIX_ATI)gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXTgl_MAX_PALETTE_MATRICES_OES+gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NVgl_CONVOLUTION_BORDER_MODE_EXT"gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLEgl_INTENSITY32I_EXTgl_RASTERIZER_DISCARD_EXTgl_MAX_SAMPLES_EXTgl_DRAW_BUFFER10_EXTgl_INT_IMAGE_2Dgl_PROVOKING_VERTEXgl_UNPACK_RESAMPLE_SGIXgl_SAMPLE_POSITION_NVgl_MAX_PROGRAM_MATRICES_ARB gl_SHADER_STORAGE_BUFFER_BINDING gl_TEXTURE0gl_DSDT_MAG_VIB_NVgl_DOUBLE_MAT4x3gl_TEXTURE27_ARB gl_ACTIVE_ATOMIC_COUNTER_BUFFERSgl_LUMINANCE32I_EXTgl_SAMPLER_KHRgl_MITER_REVERT_NVgl_RGB32UI_EXTgl_DUAL_LUMINANCE12_SGIS gl_BOOL_VEC2gl_COLOR_ATTACHMENT1_NVgl_MAX_CONVOLUTION_WIDTHgl_DRAW_BUFFER14_NVgl_BLEND_DST_RGB_EXTgl_LUMINANCE12_ALPHA12_EXTgl_DEPTH_BOUNDS_EXTgl_CIRCULAR_CCW_ARC_TO_NVgl_COMPRESSED_LUMINANCE_ALPHAgl_SAMPLE_COVERAGE_VALUE_ARBgl_DEPTH_STENCIL_TO_RGBA_NV'gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDINGgl_NAME_LENGTHgl_STENCIL_TEST_TWO_SIDE_EXT)gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES!gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARBgl_OUTPUT_TEXTURE_COORD30_EXT gl_MAX_PROGRAM_SUBROUTINE_NUM_NVgl_MULTIPLY_NV gl_TEXTURE19gl_INVERT_OVG_NV'gl_IMPLEMENTATION_COLOR_READ_FORMAT_OESgl_NEAREST_CLIPMAP_LINEAR_SGIXgl_VARIABLE_A_NV(gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXTgl_TEXTURE_2D_MULTISAMPLEgl_DEBUG_SOURCE_THIRD_PARTYgl_DRAW_BUFFER7_ARBgl_MAX_DRAW_BUFFERSgl_MAX_SERVER_WAIT_TIMEOUTgl_COMPRESSED_SIGNED_RG11_EACgl_VERTEX_PROGRAM_POINT_SIZEgl_STENCIL_PASS_DEPTH_PASSgl_RENDERBUFFER_STENCIL_SIZEgl_TEXTURE_BINDING_2Dgl_DATA_BUFFER_AMD!gl_DEBUG_CATEGORY_APPLICATION_AMDgl_ASYNC_HISTOGRAM_SGIXgl_UNPACK_LSB_FIRST gl_UNSIGNED_INT_SAMPLER_CUBE_EXTgl_DEPTH_CLAMP_FAR_AMD$gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NVgl_VERTEX_ATTRIB_ARRAY_STRIDEgl_UNSIGNED_INT16_VEC4_NVgl_OBJECT_BUFFER_SIZE_ATIgl_YCRCB_444_SGIXgl_LOSE_CONTEXT_ON_RESET_KHRgl_TEXTURE_VIEW_NUM_LAYERS'gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB&gl_PERFQUERY_COUNTER_DATA_BOOL32_INTELgl_OBJECT_DELETE_STATUS_ARB gl_SQUARE_NV+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"gl_DEBUG_SEVERITY_NOTIFICATION_KHRgl_EYE_LINEAR_NV gl_REG_16_ATIgl_LUMINANCE_ALPHA32UI_EXTgl_OUTPUT_TEXTURE_COORD31_EXTgl_COMPRESSED_RG_RGTC2 gl_FLOAT_MAT3gl_INDEX_ARRAY_POINTER gl_FOG_COORDgl_DRAW_BUFFER13gl_SCALED_RESOLVE_NICEST_EXTgl_QUERY_RESULT_AVAILABLEgl_UNPACK_SUBSAMPLE_RATE_SGIX gl_3_BYTES_NVgl_CLEAR.gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXTgl_R8UIgl_OFFSET_TEXTURE_2D_MATRIX_NVgl_BGRA_INTEGERgl_MAX_ARRAY_TEXTURE_LAYERSgl_COMPRESSED_RGB_ARB#gl_FOG_COORDINATE_ARRAY_POINTER_EXT&gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXTgl_TEXTURE_MAG_FILTERgl_DEPTH_COMPONENT32gl_VIEW_CLASS_S3TC_DXT1_RGBgl_FRONT_RIGHTgl_HISTOGRAM_WIDTHgl_SAMPLER_CUBE_MAP_ARRAY_ARBgl_WEIGHT_ARRAY_STRIDE_OESgl_PIXEL_PACK_BUFFER_ARBgl_DOT_PRODUCT_PASS_THROUGH_NVgl_COMPRESSED_RG11_EACgl_SRGB_DECODE_ARB gl_OP_SUB_EXTgl_SLIM12S_SGIXgl_SECONDARY_COLOR_NV%gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKSgl_MAP1_VERTEX_3gl_RELATIVE_ROUNDED_RECT8_NVgl_PALETTE4_R5_G6_B5_OESgl_UNSIGNED_INT8_NV!gl_CURRENT_MATRIX_STACK_DEPTH_ARBgl_PIXEL_MODE_BITgl_FONT_UNINTELLIGIBLE_NV$gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENTgl_LUMINANCE8UI_EXT gl_HILO16_NVgl_MAP2_VERTEX_ATTRIB8_4_NVgl_ATTACHED_SHADERSgl_OBJECT_POINT_SGISgl_TEXTURE_CUBE_MAP_SEAMLESSgl_COLOR_ATTACHMENT0"gl_POST_CONVOLUTION_ALPHA_BIAS_EXTgl_SAMPLE_PATTERN_SGISgl_COPY_PIXEL_TOKENgl_BUFFER_SIZE_ARBgl_DEPTH_BOUNDS_TEST_EXTgl_SAMPLE_POSITIONgl_FULL_STIPPLE_HINT_PGIgl_DEBUG_ASSERT_MESA%gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARBgl_RENDERBUFFER_WIDTH_OESgl_FLOAT_RGBA16_NVgl_MODELVIEW5_ARB gl_VERSIONgl_TEXTURE17_ARB/gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXTgl_MODELVIEW0_STACK_DEPTH_EXTgl_OUTPUT_TEXTURE_COORD1_EXT#gl_REQUIRED_TEXTURE_IMAGE_UNITS_OES)gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIXgl_IMAGE_TRANSFORM_2D_HPgl_HSL_SATURATION_NVgl_UNSIGNED_SHORT_5_6_5_REVgl_LINEAR_CLIPMAP_NEAREST_SGIXgl_PREVIOUS_ARB0gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT(gl_PERFQUERY_COUNTER_DURATION_NORM_INTELgl_SLUMINANCE8_EXTgl_RGBA16F_ARBgl_PIXEL_UNPACK_BUFFER_ARBgl_STENCIL_REFgl_TEXTURE_VIEW_MIN_LAYER_EXTgl_HISTOGRAM_RED_SIZEgl_CLIP_PLANE1gl_UNKNOWN_CONTEXT_RESET_ARB gl_CMYK_EXT gl_TEXTURE_COMPRESSED_BLOCK_SIZE gl_RGBA8Igl_TEXTURE29_ARBgl_STENCIL_BUFFER_BIT2_QCOMgl_RED_MIN_CLAMP_INGRgl_ATC_RGBA_EXPLICIT_ALPHA_AMDgl_ALL_COMPLETED_NV&gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLEgl_MATRIX10_ARBgl_MAP1_VERTEX_ATTRIB1_4_NVgl_MAX_4D_TEXTURE_SIZE_SGISgl_VIEW_CLASS_32_BITSgl_TEXTURE7_ARBgl_DEBUG_TYPE_PERFORMANCE_ARBgl_ACTIVE_VARIABLESgl_SOURCE2_RGB_EXTgl_PACK_INVERT_MESAgl_QUERY_BY_REGION_WAIT_NVgl_VERTEX_ID_SWIZZLE_AMDgl_SPRITE_TRANSLATION_SGIXgl_RENDERBUFFER_HEIGHT gl_CUBIC_EXTgl_TEXTURE19_ARBgl_T2F_N3F_V3F!gl_ATOMIC_COUNTER_BARRIER_BIT_EXTgl_ARRAY_ELEMENT_LOCK_FIRST_EXTgl_PROGRAM_RESULT_COMPONENTS_NV!gl_MAX_RECTANGLE_TEXTURE_SIZE_ARBgl_TRIANGLE_MESH_SUNgl_TEXTURE_WRAP_Q_SGISgl_ATTRIB_ARRAY_SIZE_NVgl_DEBUG_LOGGED_MESSAGES_AMDgl_BOOLgl_MIN_LOD_WARNING_AMDgl_PACK_SKIP_PIXELSgl_IMAGE_TEXEL_SIZE gl_SRC_ALPHAgl_DEPENDENT_HILO_TEXTURE_2D_NV!gl_FRAMEBUFFER_ATTACHMENT_LAYERED&gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL'gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHRgl_VERTEX_ARRAY_RANGE_LENGTH_NV&gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASSgl_POST_CONVOLUTION_GREEN_SCALEgl_SEPARATE_ATTRIBSgl_UNSIGNED_BYTE_3_3_2 gl_SCALAR_EXTgl_POINT_SIZE_ARRAY_STRIDE_OESgl_DOUBLE_MAT3x4 gl_SRC0_RGBgl_VIEW_CLASS_BPTC_UNORM gl_SYNC_FLAGSgl_TEXTURE_SWIZZLE_RGBA_EXT'gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX gl_TEXTURE29 gl_MEDIUM_INTgl_CURRENT_QUERY_ARBgl_DT_SCALE_NVgl_CLAMP_VERTEX_COLOR_ARBgl_DEPTH_BUFFER_BIT4_QCOM,gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2gl_USE_MISSING_GLYPH_NVgl_MAX_ASYNC_TEX_IMAGE_SGIXgl_TESS_CONTROL_TEXTURE gl_DEPTH_FUNCgl_RG8I!gl_MAX_VERTEX_SHADER_VARIANTS_EXT'gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARBgl_COMPRESSED_SRGBgl_PROGRAM_BINDING_ARBgl_SAMPLER_2D_ARRAYgl_IMAGE_CUBE_MAP_ARRAY_EXTgl_BUFFER_ACCESS_FLAGSgl_EIGHTH_BIT_ATI+gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NVgl_INT8_VEC4_NVgl_CLEAR_TEXTUREgl_TEXTURE_CUBE_MAP_OES gl_FONT_NUM_GLYPH_INDICES_BIT_NV$gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NVgl_RENDERBUFFER_DEPTH_SIZEgl_DOT_PRODUCT_TEXTURE_1D_NVgl_DOUBLE_VEC3_EXT!gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NVgl_TEXTURE_LUMINANCE_TYPEgl_CONTEXT_FLAGSgl_NORMAL_ARRAY_BUFFER_BINDINGgl_PROGRAM_FORMAT_ARBgl_MOVE_TO_CONTINUES_NV gl_LO_BIAS_NVgl_CONVOLUTION_WIDTH_EXTgl_FRAGMENT_TEXTUREgl_NORMAL_BIT_PGI!gl_COMPRESSED_SIGNED_RG11_EAC_OESgl_FIRST_VERTEX_CONVENTIONgl_ROUNDED_RECT2_NVgl_POST_COLOR_MATRIX_RED_BIASgl_UNIFORM_BUFFER%gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXTgl_NUM_SAMPLE_COUNTSgl_FOG_OFFSET_VALUE_SGIX gl_DIFFUSEgl_CLIP_PLANE5gl_OUTPUT_FOG_EXTgl_PROGRAM_ATTRIB_COMPONENTS_NVgl_RGBA_SIGNED_COMPONENTS_EXTgl_COLOR_ARRAY_EXTgl_PROXY_TEXTURE_1D_STACK_MESAXgl_TEXTURE_COORD_ARRAY_POINTERgl_MAX_COLOR_ATTACHMENTSgl_TEXTURE28_ARB)gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIXgl_DEPTH24_STENCIL8_EXTgl_MAXgl_MODELVIEW12_ARB)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OESgl_PIXEL_MAP_I_TO_I_SIZEgl_NORMAL_ARRAY_LIST_STRIDE_IBMgl_SOURCE3_RGB_NVgl_ALPHA12_EXTgl_STREAM_COPY_ARB#gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATIgl_FRAGMENT_SUBROUTINE_UNIFORMgl_IS_ROW_MAJORgl_UNPACK_SKIP_IMAGESgl_NUM_GENERAL_COMBINERS_NVgl_STENCIL_CLEAR_TAG_VALUE_EXT#gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITSgl_DRAW_BUFFER12_ARB"gl_OFFSET_PROJECTIVE_TEXTURE_2D_NVgl_VERTEX_ARRAY_OBJECT_EXTgl_PN_TRIANGLES_NORMAL_MODE_ATI gl_C4UB_V3F gl_REPEATgl_MAX_SAMPLE_MASK_WORDS_NVgl_STORAGE_SHARED_APPLEgl_TEXTURE9_ARBgl_QUERY_BUFFER_BINDINGgl_UNSIGNED_SHORT_8_8_REV_APPLEgl_MAX_FRAGMENT_UNIFORM_VECTORSgl_UNDEFINED_APPLEgl_TABLE_TOO_LARGE_EXT gl_MAX_TESS_PATCH_COMPONENTS_EXT gl_XOR_NVgl_MAX_SHADER_BUFFER_ADDRESS_NVgl_DEBUG_SOURCE_WINDOW_SYSTEMgl_UNSIGNALED_APPLEgl_SIGNED_LUMINANCE_NVgl_FOG_DISTANCE_MODE_NVgl_PN_TRIANGLES_POINT_MODE_ATIgl_GEOMETRY_SUBROUTINE_UNIFORMgl_NEGATIVE_Z_EXTgl_PIXEL_MAP_R_TO_Rgl_OBJECT_LINK_STATUS_ARBgl_NUM_ACTIVE_VARIABLES gl_BUFFER_UPDATE_BARRIER_BIT_EXTgl_IMAGE_CUBE_EXTgl_RGB_INTEGER_EXTgl_DRAW_BUFFER13_EXT)gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT#gl_SYNC_GPU_COMMANDS_COMPLETE_APPLE gl_RGB_SCALEgl_DOUBLE_MAT3x4_EXTgl_EXPgl_PERFMON_RESULT_AVAILABLE_AMDgl_STENCIL_VALUE_MASKgl_COLOR_ATTACHMENT12_NVgl_VERTEX_STREAM2_ATIgl_MAP_COHERENT_BITgl_COMPRESSED_SIGNED_RG_RGTC2-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADERgl_FRAGMENT_PROGRAM_ARBgl_COLOR_BUFFER_BIT6_QCOM$gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NVgl_WIDE_LINE_HINT_PGIgl_FRAGMENT_LIGHT4_SGIXgl_RGBA_FLOAT_MODE_ATIgl_UNSIGNED_INT_10F_11F_11F_REVgl_MODELVIEW1_STACK_DEPTH_EXT&gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NVgl_POINT_SIZE_MAXgl_ALPHA_TEST_REF_QCOM!gl_RELATIVE_HORIZONTAL_LINE_TO_NVgl_FILTER4_SGIS gl_TEXTURE4gl_INDEX_MATERIAL_EXTgl_FETCH_PER_SAMPLE_ARMgl_VARIANT_ARRAY_TYPE_EXTgl_ALPHA_MAX_SGIXgl_NUM_INSTRUCTIONS_TOTAL_ATIgl_TEXTURE_IMAGE_TYPE"gl_MAX_TESS_CONTROL_IMAGE_UNIFORMSgl_DRAW_BUFFER11_NVgl_SURFACE_STATE_NVgl_BLEND_SRC_RGBgl_OBJECT_ACTIVE_UNIFORMS_ARBgl_COLORDODGE_NVgl_PRIMITIVES_GENERATED_NVgl_IMAGE_2D_ARRAYgl_LOSE_CONTEXT_ON_RESET_ARB gl_RG_INTEGERgl_UNSIGNED_INT_SAMPLER_1D_EXTgl_REFLECTION_MAP_ARBgl_NORMAL_ARRAY_TYPE_EXT gl_BLUE_BITSgl_ATOMIC_COUNTER_BARRIER_BITgl_INTENSITY8I_EXT gl_TEXTURE_BINDING_RECTANGLE_ARBgl_SCALE_BY_TWO_NVgl_PACK_IMAGE_HEIGHT*gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTELgl_DEPTH_COMPONENT24_SGIXgl_NUM_FRAGMENT_CONSTANTS_ATIgl_EDGE_FLAG_ARRAY_STRIDE_EXT%gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXTgl_SAMPLE_ALPHA_TO_COVERAGE_ARBgl_UNPACK_SKIP_IMAGES_EXT'gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL gl_RGBA8_OESgl_STENCIL_INDEX8_OES!gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMDgl_COMPUTE_SHADERgl_QUERY_WAIT_NVgl_TEXTURE_COMPARE_FUNC_ARBgl_SCREEN_COORDINATES_RENDgl_DRAW_BUFFER4_EXT)gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXTgl_TOP_LEVEL_ARRAY_SIZEgl_STATIC_COPY_ARBgl_MAP1_TANGENT_EXTgl_MAP2_VERTEX_ATTRIB11_4_NV#gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIXgl_DRAW_BUFFER9gl_COMPRESSED_INTENSITY_ARB"gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARBgl_MATRIX19_ARBgl_MAX_MULTIVIEW_BUFFERS_EXTgl_CONJOINT_NVgl_INTENSITY_SNORMgl_DRAW_BUFFER14gl_MAX_PROGRAM_INSTRUCTIONS_ARBgl_TEXTURE_BINDING_RECTANGLE#gl_DEBUG_SOURCE_SHADER_COMPILER_ARB)gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHRgl_MULTISAMPLE_EXTgl_NEAREST_MIPMAP_NEARESTgl_COLOR_ATTACHMENT7_EXTgl_STENCIL_BUFFER_BIT6_QCOM%gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT gl_REG_29_ATIgl_COVERAGE_SAMPLES_NVgl_RELEASED_APPLEgl_ALPHA_TEST_FUNCgl_DRAW_BUFFER2gl_VERTEX_PROGRAM_BINDING_NVgl_IMAGE_2D_RECTgl_COLOR_TABLE_BIAS_SGIgl_CLIENT_ACTIVE_TEXTURE_ARBgl_CURRENT_MATRIX_INDEX_ARBgl_TEXTURE_COORD_ARRAY_STRIDE gl_FILTERgl_MAX_MODELVIEW_STACK_DEPTHgl_VERTEX_ATTRIB_ARRAY5_NVgl_UNSIGNED_BYTEgl_DETAIL_TEXTURE_2D_SGISgl_POST_CONVOLUTION_BLUE_BIASgl_TYPEgl_COMPRESSED_RGgl_4PASS_1_SGISgl_SOURCE2_RGBgl_TEXTURE_MAX_LODgl_EYE_DISTANCE_TO_LINE_SGISgl_LUMINANCE_ALPHA32F_EXT gl_MATRIX_INDEX_ARRAY_STRIDE_ARBgl_COLOR_ATTACHMENT4gl_INDEX_ARRAY_BUFFER_BINDING gl_UNSIGNED_INT_SAMPLER_2D_ARRAY!gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX gl_SPECULARgl_PACK_IMAGE_DEPTH_SGISgl_PLUS_CLAMPED_NV gl_INVALID_FRAMEBUFFER_OPERATIONgl_RGgl_COLOR_ATTACHMENT11_NVgl_UNPACK_SKIP_PIXELSgl_SAMPLE_BUFFERSgl_DRAW_BUFFER1_ARBgl_COMBINER6_NV"gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OESgl_TEXTURE_ENVgl_QUAD_MESH_SUN(gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXT-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NVgl_TIMEOUT_EXPIREDgl_FLOAT_MAT4x2_NV0gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OESgl_COMBINER1_NV%gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARBgl_RENDERBUFFER_SAMPLES_ANGLEgl_VERTEX_ARRAY_SIZE gl_TEXTURE2gl_RELATIVE_MOVE_TO_NVgl_ALPHA_TEST_FUNC_QCOMgl_INNOCENT_CONTEXT_RESET_KHRgl_MAP1_VERTEX_ATTRIB5_4_NVgl_SAMPLER_1D_SHADOWgl_TEXTURE_1D_ARRAY_EXTgl_STENCIL_INDEXgl_SOURCE2_ALPHA_EXTgl_NORMAL_MAP_EXTgl_FOG_COORDINATE_SOURCE_EXTgl_TEXTURE_FILTER_CONTROLgl_REPLACE_OLDEST_SUN gl_PROGRAM_ADDRESS_REGISTERS_ARBgl_2PASS_1_EXTgl_LIGHT_ENV_MODE_SGIXgl_OP_FRAC_EXTgl_PROXY_TEXTURE_RECTANGLE_NVgl_RENDERBUFFERgl_MAP2_TEXTURE_COORD_4gl_TEXTURE_BORDER_COLOR_EXTgl_SEPARABLE_2D gl_COMPRESSED_SRGB_S3TC_DXT1_EXTgl_DRAW_BUFFER0_ATIgl_TEXTURE_IMMUTABLE_LEVELSgl_E_TIMES_F_NVgl_MATRIX24_ARBgl_PIXEL_GROUP_COLOR_SGISgl_CURRENT_RASTER_COLORgl_DOUBLE_MAT2x4_EXTgl_BUMP_TEX_UNITS_ATIgl_FOG_COORDINATE_ARRAY_EXT gl_ALWAYS(gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OESgl_MAP2_VERTEX_4#gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMGgl_MODULATE_SIGNED_ADD_ATIgl_RG8gl_ACTIVE_UNIFORM_BLOCKSgl_MAX_SPARSE_TEXTURE_SIZE_AMDgl_COLOR_ATTACHMENT11_EXT!gl_POST_CONVOLUTION_BLUE_BIAS_EXTgl_BUFFER_OBJECT_APPLEgl_UNIFORM_TYPEgl_VARIABLE_E_NVgl_MAX_COMPUTE_ATOMIC_COUNTERSgl_COMPRESSED_RED_RGTC1gl_LUMINANCE_INTEGER_EXT&gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY$gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE gl_R16F_EXTgl_MATRIX4_ARBgl_MATRIX_INDEX_ARRAY_SIZE_OESgl_POLYGON_STIPPLEgl_DUAL_ALPHA12_SGISgl_PIXEL_MAP_I_TO_Bgl_VERTEX_ATTRIB_ARRAY6_NV gl_REG_21_ATIgl_PERFMON_RESULT_SIZE_AMD gl_ALPHA8_OESgl_OBJECT_BUFFER_USAGE_ATIgl_PATH_STENCIL_FUNC_NVgl_TEXTURE12_ARBgl_DEPTH_COMPONENT16_OESgl_MODELVIEW20_ARB gl_ALPHA12&gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXTgl_MODULATE_ADD_ATIgl_CLAMP_TO_BORDER_EXTgl_CONSTANT_EXTgl_OP_LOG_BASE_2_EXT gl_SET_AMDgl_ONE_MINUS_SRC_ALPHA!gl_COMPRESSED_LUMINANCE_ALPHA_ARB gl_MAX_SERVER_WAIT_TIMEOUT_APPLE gl_LINE_TOKEN%gl_PROXY_POST_CONVOLUTION_COLOR_TABLEgl_TEXTURE_BINDING_3Dgl_INTENSITY16I_EXTgl_DEPENDENT_AR_TEXTURE_2D_NVgl_CURRENT_RASTER_NORMAL_SGIXgl_TEXTURE_INTENSITY_TYPE!gl_TEXTURE_STORAGE_SPARSE_BIT_AMD#gl_RENDERBUFFER_INTERNAL_FORMAT_EXTgl_VERTEX_ATTRIB_ARRAY1_NVgl_TEXTURE_RED_SIZEgl_CURRENT_COLORgl_COMPRESSED_RGBA_ASTC_8x5_KHRgl_STENCIL_BUFFER_BIT7_QCOMgl_CLIP_PLANE0_IMGgl_ALPHA_TEST_REFgl_POINT_SMOOTHgl_WEIGHT_ARRAY_SIZE_OES gl_DECODE_EXTgl_SPARSE_BUFFER_PAGE_SIZE_ARBgl_CLIENT_ATTRIB_STACK_DEPTHgl_TEXTURE_BINDING_EXTERNAL_OES)gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT gl_RENDERBUFFER_STENCIL_SIZE_OESgl_POST_COLOR_MATRIX_ALPHA_BIAS#gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXTgl_HSL_LUMINOSITY_KHRgl_MAX_VERTEX_STREAMS_ATI%gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL"gl_COMPRESSED_SIGNED_RED_RGTC1_EXTgl_DEPTH_COMPONENT32_OES gl_CON_3_ATI gl_COMPRESSED_RGBA_S3TC_DXT1_EXTgl_MATRIX6_ARBgl_MAP2_VERTEX_ATTRIB5_4_NVgl_LINE_WIDTH_RANGE"gl_GLYPH_VERTICAL_BEARING_X_BIT_NVgl_FOG_COORDINATE_ARRAY"gl_VERTEX_ARRAY_RANGE_LENGTH_APPLEgl_CLAMP_FRAGMENT_COLOR gl_COMPRESSED_RGBA_ASTC_10x5_KHR(gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARBgl_COLOR_BUFFER_BIT4_QCOM gl_TEXTURE13gl_MAX_DEBUG_MESSAGE_LENGTH_AMDgl_EVAL_VERTEX_ATTRIB0_NVgl_ALPHA_MIN_CLAMP_INGR gl_SUB_ATI!gl_SECONDARY_COLOR_ARRAY_LIST_IBMgl_RGBA_INTEGER_MODE_EXTgl_DEBUG_TYPE_MARKER_KHRgl_VERTEX_ATTRIB_ARRAY14_NVgl_TEXTURE_MIN_LODgl_INDEX_TEST_REF_EXTgl_AUX0gl_UNSIGNED_INT_IMAGE_2D_RECT gl_2_BYTESgl_UNDEFINED_VERTEXgl_LINE_STIPPLE_PATTERNgl_FRAMEBUFFER_SRGB_CAPABLE_EXT,gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB gl_UNSIGNED_INT_SAMPLER_1D_ARRAYgl_LOADgl_SIGNED_ALPHA8_NVgl_STENCIL_INDEX8_EXTgl_VIEW_CLASS_24_BITSgl_SHADER_STORAGE_BARRIER_BIT"gl_UNSIGNED_INT_SAMPLER_BUFFER_AMDgl_IMAGE_BINDING_LAYERgl_MULTISAMPLE_FILTER_HINT_NV gl_SPARE1_NVgl_MAP_READ_BIT_EXTgl_COMPRESSED_LUMINANCEgl_COMPRESSED_TEXTURE_FORMATSgl_UNIFORM_IS_ROW_MAJORgl_OFFSET_TEXTURE_2D_SCALE_NVgl_RGBA_DXT5_S3TC#gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARBgl_MAX_UNIFORM_BUFFER_BINDINGSgl_RGB16UI_EXT gl_TEXTURE_COMPARE_OPERATOR_SGIXgl_VIDEO_BUFFER_PITCH_NVgl_RELATIVE_RECT_NVgl_DRAW_BUFFER8_ATI gl_SRC_COLORgl_SHADER_OBJECT_EXTgl_GUILTY_CONTEXT_RESET_KHRgl_EVAL_VERTEX_ATTRIB5_NVgl_PALETTE4_RGBA4_OESgl_LUMINANCE12_EXT gl_DONT_CAREgl_TEXTURE_BUFFER!gl_COMPRESSED_RGBA_ASTC_4x4x4_OESgl_TEXTURE_BINDING_1D_ARRAYgl_SEPARATE_SPECULAR_COLOR*gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTEDgl_NORMAL_ARRAY_LIST_IBM gl_CURRENT_MATRIX_STACK_DEPTH_NVgl_INT_IMAGE_3D,gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NVgl_CONTEXT_FLAG_DEBUG_BIT"gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB&gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX gl_VECTOR_EXT$gl_TEXTURE_BUFFER_DATA_STORE_BINDINGgl_TEXTURE_LOD_BIASgl_GEOMETRY_SHADER_EXT gl_TEXTURE30gl_VERTEX_SHADER_BITgl_HISTOGRAM_BLUE_SIZE_EXTgl_PATH_COMMAND_COUNT_NV&gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NVgl_STENCIL_TAG_BITS_EXTgl_MAX_PROGRAM_LOOP_DEPTH_NVgl_FLOAT_MAT2x3_NVgl_CURRENT_RASTER_DISTANCEgl_COMPRESSED_SRGB8_ETC2_OES/gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OESgl_PIXEL_MAP_I_TO_G_SIZE gl_COMBINE gl_FOG_HINTgl_COMPUTE_SUBROUTINE_UNIFORMgl_FRAGMENT_LIGHT3_SGIXgl_DEBUG_TYPE_PORTABILITY_ARBgl_MIN_PROGRAM_TEXEL_OFFSET_EXTgl_TRANSFORM_FEEDBACK_BUFFER_NVgl_UNKNOWN_CONTEXT_RESET_EXT!gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARBgl_UNSIGNED_INT_24_8_NV*gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAYgl_MANUAL_GENERATE_MIPMAPgl_MAP2_VERTEX_ATTRIB6_4_NVgl_FRAMEBUFFER_EXT gl_INT16_NVgl_FULL_RANGE_EXTgl_MAP1_VERTEX_ATTRIB2_4_NVgl_UNSIGNED_INT_8_8_8_8_EXT"gl_TESS_CONTROL_SUBROUTINE_UNIFORMgl_PREVIOUS_TEXTURE_INPUT_NV"gl_ATOMIC_COUNTER_BUFFER_DATA_SIZEgl_SYNC_STATUS_APPLEgl_4PASS_0_EXTgl_POLYGON_SMOOTHgl_FEEDBACK_BUFFER_SIZEgl_COLORBURN_KHRgl_DEPTH24_STENCIL8gl_LINEAR_CLIPMAP_LINEAR_SGIXgl_TEXTURE_MAX_LEVELgl_TEXTURE_WRAP_R_EXTgl_OBJECT_SUBTYPE_ARBgl_MATRIX18_ARB!gl_MATRIX_INDEX_ARRAY_POINTER_OES$gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARBgl_ALPHA8_SNORMgl_TESS_CONTROL_SUBROUTINE*gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB#gl_POST_CONVOLUTION_ALPHA_SCALE_EXTgl_RGB5_A1_EXT%gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS$gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM$gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NVgl_TEXTURE21_ARBgl_SAMPLER_2D_RECT_SHADOWgl_DEPTH_STENCIL_TEXTURE_MODEgl_MAP1_VERTEX_ATTRIB10_4_NVgl_PINLIGHT_NVgl_TEXTURE_INTERNAL_FORMATgl_VERTEX_ARRAY_OBJECT_AMDgl_OBJECT_LINEARgl_TEXTURE_IMMUTABLE_FORMAT_EXTgl_COMBINER_COMPONENT_USAGE_NVgl_RENDERBUFFER_GREEN_SIZE_EXTgl_CONVOLUTION_FILTER_SCALE gl_TEXTURE11 gl_BITMAPgl_VIEW_COMPATIBILITY_CLASS gl_TEXTURE26gl_UNSIGNED_INT8_VEC4_NVgl_UNSIGNED_INT_VEC3gl_VERTEX_PRECLIP_SGIXgl_PACK_LSB_FIRSTgl_NEGATIVE_Y_EXTgl_FRAMEBUFFER_BINDING_ANGLE gl_MAP_INVALIDATE_BUFFER_BIT_EXTgl_NO_RESET_NOTIFICATION gl_MINMAX_EXT&gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TESTgl_QUARTER_BIT_ATI gl_TEXTURE9gl_FLOAT_R16_NVgl_BLEND_ADVANCED_COHERENT_KHR!gl_MATRIX_INDEX_ARRAY_POINTER_ARBgl_PROXY_TEXTURE_1D_EXTgl_PERTURB_EXTgl_IUI_N3F_V3F_EXTgl_COMBINE_RGB_ARBgl_DEBUG_SOURCE_APPLICATION_KHR"gl_MAX_GEOMETRY_UNIFORM_COMPONENTS+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLEgl_PROGRAM_ALU_INSTRUCTIONS_ARBgl_VERTEX_STREAM0_ATIgl_EDGE_FLAG_ARRAY_POINTER_EXTgl_INT_IMAGE_2D_EXTgl_READ_FRAMEBUFFER_BINDING_EXTgl_TEXTURE_CUBE_MAP_ARBgl_LUMINANCE12_ALPHA12 gl_FUNC_ADDgl_TRANSPOSE_COLOR_MATRIX_ARBgl_COLOR_ATTACHMENT6gl_GEOMETRY_SUBROUTINEgl_MAX_ELEMENT_INDEXgl_QUERY_OBJECT_AMDgl_TEXTURE_CUBE_MAP_EXTgl_CONSTANT_ATTENUATIONgl_LUMINANCE_FLOAT32_APPLEgl_R32UIgl_UNSIGNED_INT_VEC4_EXT/gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXTgl_SAMPLE_MASK_VALUEgl_STRICT_DEPTHFUNC_HINT_PGIgl_CONVOLUTION_HEIGHT_EXTgl_DEPTH_BUFFER_BIT1_QCOMgl_CLIP_DISTANCE_NVgl_DISPATCH_INDIRECT_BUFFER gl_LUMINANCE4gl_CLAMPgl_CONVOLUTION_FORMATgl_IMAGE_2D_MULTISAMPLEgl_TRIANGLE_STRIPgl_BGRA_INTEGER_EXT gl_FRAGMENTS_INSTRUMENT_MAX_SGIXgl_TESS_CONTROL_SHADER_BIT&gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OESgl_BACK_NORMALS_HINT_PGIgl_FOG_COORD_ARRAY%gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHRgl_OPERAND1_RGB_EXTgl_LINEAR_SHARPEN_COLOR_SGIS!gl_POST_TEXTURE_FILTER_SCALE_SGIXgl_FRAMEBUFFER_COMPLETE_OESgl_SYNC_OBJECT_APPLEgl_INDEX_WRITEMASKgl_SIGNED_INTENSITY_NVgl_SGX_PROGRAM_BINARY_IMG gl_T4F_V4FshowTatomicModifyIORef_'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 giveContextrunPendingFinalizersscheduleFinalizer MemoryInfoavailableVideoMemorytotalVideoMemory getMemoryInfoResource newResource withResourceFencefence waitFenceisFenceSignalledMapFlagUnSynchronized AccessFlagsNoAccessReadWriteAccess WriteAccess ReadAccessBuffer_ BufferStatusmappedBufferresourcestatusviewAllowedMappingsviewSizeordIndexbufferOrdIndex $fEqBuffer $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 withBindinggetTopologyBindPointswithBindingByTopologywithTextureBinding $fOrdTexture $fEqTexture 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 getAnisotropy TextureTargetattachertexture Framebuffer_ AttachmentStencilAttachmentDepthAttachmentColorAttachment Framebuffer viewTargets dimensionsbindersetterScreenFramebuffer setBinding getDimensions$fOrdFramebuffer$fEqFramebufferClearing 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 gldynCullFaceprochasref_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.3Data.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$fShowShaderBuildingErrorTexParamtpEnum tpToConstanttpFromConstantisMultisamplingTopology toConstantUF toConstantCSupload1Dupload2Dupload3D uploadCube isValidMipmap toConstantC toConstantW setTexParam getTexParam$fTexParamMagFilter$fTexParamMinFilterrunningIndices toConstantAsetActiveTexture $fMonadIODrawtransformers-0.4.1.0Control.Monad.IO.ClassliftIO DrawState boundPipelineboundEbo boundTextures boundBlendingboundFramebufferboundFragmentPassTests activeTexture toConstantIT withParamswithPolygonOffsetwithBoundTextures withPipeline$fIndexTypeableCUChar$fIndexTypeableCUShort$fIndexTypeableCUInt$fIndexTypeableWord8$fIndexTypeableWord16$fIndexTypeableWord32