changeset 11242:2c6a0304266d

Merge
author kcr
date Wed, 13 Mar 2019 09:30:47 +0530
parents f8b8ead4ac56 e687603602c1
children f9d0dcb8f3bd
files buildSrc/linux.gradle modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/COPYING modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/osx/config.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/osx/glibconfig.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/osx/gmoduleconf.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/dirent/dirent.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/dirent/dirent.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/dirent/wdirent.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/vs100/config.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/vs100/glib-lite.def modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/vs100/glib-liteD.def modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/vs100/glibconfig.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/vs100/gmoduleconf.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/build/win32/vs100/msvc_recommended_pragmas.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/deprecated/gthread.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/galloca.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/garray.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/garray.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gasyncqueue.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gasyncqueue.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gasyncqueueprivate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gatomic.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gatomic.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbacktrace.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbacktrace.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbase64.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbase64.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbitlock.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbitlock.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbookmarkfile.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbookmarkfile.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbsearcharray.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbytes.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gbytes.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gcharset.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gcharset.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gcharsetprivate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gchecksum.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gchecksum.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gconstructor.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gconvert.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gconvert.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdataset.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdataset.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdatasetprivate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdate.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdatetime.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdatetime.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdir.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gdir.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/genviron.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/genviron.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gerror.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gerror.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gfileutils.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gfileutils.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ggettext.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ggettext.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghash.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghash.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghmac.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghmac.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghook.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghook.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghostutils.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/ghostutils.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gi18n-lib.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gi18n.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/giochannel.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/giochannel.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/giounix.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/giowin32.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gkeyfile.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gkeyfile.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-autocleanups.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-init.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-init.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-object.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-private.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-private.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-unix.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib-unix.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glib_trace.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glibintl.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glist.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/glist.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmacros.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmain-internal.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmain.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmain.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmappedfile.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmappedfile.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmarkup.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmarkup.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmem.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmem.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmessages.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmessages.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gmirroringtable.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnode.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnode.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/asnprintf.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/g-gnulib.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/printf-args.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/printf-args.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/printf-parse.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/printf-parse.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/printf.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/printf.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/vasnprintf.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/vasnprintf.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/verify.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gnulib/xsize.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/goption.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/goption.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gpattern.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gpattern.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gpoll.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gpoll.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gprimes.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gprimes.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gprintf.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gprintf.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gprintfint.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gqsort.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gqsort.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gquark.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gquark.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gqueue.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gqueue.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/grand.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/grand.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gregex.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gregex.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gscanner.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gscanner.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gscripttable.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gsequence.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gsequence.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gshell.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gshell.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gslice.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gslice.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gslist.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gslist.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn-win32-helper-console.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn-win32-helper.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn-win32.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn-win64-helper-console.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn-win64-helper.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gspawn.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstdio.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstdio.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstdioprivate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstring.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstring.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstringchunk.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstringchunk.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtestutils.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtestutils.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthread-posix.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthread-win32.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthread.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthread.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthreadpool.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthreadpool.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gthreadprivate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtimer.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtimer.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtimezone.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtimezone.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtranslit-data.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtranslit.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtrashstack.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtrashstack.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtree.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtree.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gtypes.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunibreak.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunibreak.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunichartables.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunicode.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunicodeprivate.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunicollate.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunicomp.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunidecomp.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gunidecomp.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/guniprop.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gurifuncs.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gurifuncs.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gutf8.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gutils.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gutils.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant-core.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant-core.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant-internal.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant-parser.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant-serialiser.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant-serialiser.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvariant.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvarianttype.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvarianttype.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvarianttypeinfo.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gvarianttypeinfo.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gversion.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gversion.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gversionmacros.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gwakeup.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gwakeup.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gwin32.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gwin32.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/libcharset/libcharset.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/libcharset/localcharset.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/libcharset/localcharset.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_chartables.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_compile.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_config.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_dfa_exec.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_exec.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_fullinfo.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_get.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_globals.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_internal.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_newline.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_ord2utf8.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_study.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_tables.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/pcre_xclass.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/pcre/ucp.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/valgrind.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/win_iconv.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gmodule/gmodule-dl.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gmodule/gmodule-dyld.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gmodule/gmodule-win32.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gmodule/gmodule.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gmodule/gmodule.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gatomicarray.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gatomicarray.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gbinding.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gbinding.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gboxed.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gboxed.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gclosure.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gclosure.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/genums.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/genums.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/glib-types.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gmarshal.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gmarshal.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gobject-autocleanups.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gobject.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gobject.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gobject_trace.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gparam.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gparam.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gparamspecs.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gparamspecs.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gsignal.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gsignal.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gsourceclosure.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gsourceclosure.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtype-private.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtype.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtype.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtypemodule.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtypemodule.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtypeplugin.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gtypeplugin.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvalue.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvalue.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvaluearray.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvaluearray.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvaluecollector.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvaluetransform.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvaluetypes.c modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gobject/gvaluetypes.h modules/javafx.media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/gthread/gthread-impl.c modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/pbutils/encoding-target.c modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/pbutils/encoding-target.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/pbutils/install-plugins.c modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/pbutils/install-plugins.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/win32/common/_stdint.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-good/gst/isomp4/qtdemux.c modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstpreset.c modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstpreset.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/projects/build/linux/common/_stdint.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/projects/build/osx/common/i386/_stdint.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/projects/build/osx/common/i386/config.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/projects/build/osx/common/i386/stamp.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/projects/build/osx/common/x86_64/_stdint.h modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/projects/build/osx/common/x86_64/stamp.h modules/javafx.web/src/main/native/Source/WTF/wtf/spi/darwin/CommonCryptoSPI.h
diffstat 927 files changed, 305716 insertions(+), 305724 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Jan 11 07:56:05 2019 -0800
+++ b/.hgtags	Wed Mar 13 09:30:47 2019 +0530
@@ -519,3 +519,11 @@
 1f990b4b789afb91f5ca1e37bbeaa7172744108e 12+6
 aea5c65b89db93c41af94bf7c67634b6e9c40f93 12+7
 1d6bec87575fb993de57e9b63d0c56a845bbf7e7 12+8
+51364187b4e1b02c07bb2490ca513806ca0fd626 12+9
+20234c4d09b8e50d913f731916abd4af44dd6881 12+10
+b5c27572ab56e5a8df14f4252f90c84532c471dd 13+0
+c8bb215eb1a56a2b71133b5a25f758057f255407 12+11
+d1c7e1786e8793ccbbc5514e19636b6badfaac2c 12+12
+653d5bdbfa2a7f21e81bb3c5ce6eb4b2087ce91b 12+13
+5bc59c85d44c7f88937915c2df88c496648241d4 12+14
+4d10485201c7dd803ada7c257d0452b8e13c7c82 13+1
--- a/build.gradle	Fri Jan 11 07:56:05 2019 -0800
+++ b/build.gradle	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -2049,57 +2049,57 @@
                 def PASSTHROUGH_VS_SRC = file("src/main/native-prism-d3d/PassThroughVS.hlsl")
                 def jobs = [
                         ["$FXC", "/nologo", "/T", "vs_3_0", "/Fh", "$buildDir/headers/PrismD3D/PassThroughVS.h", "/E", "passThrough", "$PASSTHROUGH_VS_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS.h", "/DSpec=0", "/DSType=0", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_i.h", "/DSpec=0", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1n.h", "/DSpec=1", "/DSType=0", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2n.h", "/DSpec=2", "/DSType=0", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3n.h", "/DSpec=3", "/DSType=0", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1t.h", "/DSpec=1", "/DSType=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2t.h", "/DSpec=2", "/DSType=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3t.h", "/DSpec=3", "/DSType=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1c.h", "/DSpec=1", "/DSType=2", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2c.h", "/DSpec=2", "/DSType=2", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3c.h", "/DSpec=3", "/DSType=2", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1m.h", "/DSpec=1", "/DSType=3", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2m.h", "/DSpec=2", "/DSType=3", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3m.h", "/DSpec=3", "/DSType=3", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1n.h", "/DSpec=1", "/DSType=0", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2n.h", "/DSpec=2", "/DSType=0", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3n.h", "/DSpec=3", "/DSType=0", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1t.h", "/DSpec=1", "/DSType=1", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2t.h", "/DSpec=2", "/DSType=1", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3t.h", "/DSpec=3", "/DSType=1", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1c.h", "/DSpec=1", "/DSType=2", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2c.h", "/DSpec=2", "/DSType=2", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3c.h", "/DSpec=3", "/DSType=2", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1m.h", "/DSpec=1", "/DSType=3", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2m.h", "/DSpec=2", "/DSType=3", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3m.h", "/DSpec=3", "/DSType=3", "/DBump=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1ni.h", "/DSpec=1", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2ni.h", "/DSpec=2", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3ni.h", "/DSpec=3", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1ti.h", "/DSpec=1", "/DSType=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2ti.h", "/DSpec=2", "/DSType=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3ti.h", "/DSpec=3", "/DSType=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1ci.h", "/DSpec=1", "/DSType=2", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2ci.h", "/DSpec=2", "/DSType=2", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3ci.h", "/DSpec=3", "/DSType=2", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1mi.h", "/DSpec=1", "/DSType=3", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2mi.h", "/DSpec=2", "/DSType=3", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3mi.h", "/DSpec=3", "/DSType=3", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1ni.h", "/DSpec=1", "/DSType=0", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2ni.h", "/DSpec=2", "/DSType=0", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3ni.h", "/DSpec=3", "/DSType=0", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1ti.h", "/DSpec=1", "/DSType=1", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2ti.h", "/DSpec=2", "/DSType=1", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3ti.h", "/DSpec=3", "/DSType=1", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1ci.h", "/DSpec=1", "/DSType=2", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2ci.h", "/DSpec=2", "/DSType=2", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3ci.h", "/DSpec=3", "/DSType=2", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1mi.h", "/DSpec=1", "/DSType=3", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2mi.h", "/DSpec=2", "/DSType=3", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "ps_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3mi.h", "/DSpec=3", "/DSType=3", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
-                        ["$FXC", "/nologo", "/T", "vs_2_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1VS_Obj.h", "/DVertexType=ObjVertex", "$VS_3D_SRC"]
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS.h", "/DSpec=0", "/DSType=0", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_i.h", "/DSpec=0", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1n.h", "/DSpec=1", "/DSType=0", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2n.h", "/DSpec=2", "/DSType=0", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3n.h", "/DSpec=3", "/DSType=0", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1t.h", "/DSpec=1", "/DSType=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2t.h", "/DSpec=2", "/DSType=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3t.h", "/DSpec=3", "/DSType=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1c.h", "/DSpec=1", "/DSType=2", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2c.h", "/DSpec=2", "/DSType=2", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3c.h", "/DSpec=3", "/DSType=2", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1m.h", "/DSpec=1", "/DSType=3", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2m.h", "/DSpec=2", "/DSType=3", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3m.h", "/DSpec=3", "/DSType=3", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1n.h", "/DSpec=1", "/DSType=0", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2n.h", "/DSpec=2", "/DSType=0", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3n.h", "/DSpec=3", "/DSType=0", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1t.h", "/DSpec=1", "/DSType=1", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2t.h", "/DSpec=2", "/DSType=1", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3t.h", "/DSpec=3", "/DSType=1", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1c.h", "/DSpec=1", "/DSType=2", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2c.h", "/DSpec=2", "/DSType=2", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3c.h", "/DSpec=3", "/DSType=2", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1m.h", "/DSpec=1", "/DSType=3", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2m.h", "/DSpec=2", "/DSType=3", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3m.h", "/DSpec=3", "/DSType=3", "/DBump=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1ni.h", "/DSpec=1", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2ni.h", "/DSpec=2", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3ni.h", "/DSpec=3", "/DSType=0", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1ti.h", "/DSpec=1", "/DSType=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2ti.h", "/DSpec=2", "/DSType=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3ti.h", "/DSpec=3", "/DSType=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1ci.h", "/DSpec=1", "/DSType=2", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2ci.h", "/DSpec=2", "/DSType=2", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3ci.h", "/DSpec=3", "/DSType=2", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s1mi.h", "/DSpec=1", "/DSType=3", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s2mi.h", "/DSpec=2", "/DSType=3", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_s3mi.h", "/DSpec=3", "/DSType=3", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1ni.h", "/DSpec=1", "/DSType=0", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2ni.h", "/DSpec=2", "/DSType=0", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3ni.h", "/DSpec=3", "/DSType=0", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1ti.h", "/DSpec=1", "/DSType=1", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2ti.h", "/DSpec=2", "/DSType=1", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3ti.h", "/DSpec=3", "/DSType=1", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1ci.h", "/DSpec=1", "/DSType=2", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2ci.h", "/DSpec=2", "/DSType=2", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3ci.h", "/DSpec=3", "/DSType=2", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b1mi.h", "/DSpec=1", "/DSType=3", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b2mi.h", "/DSpec=2", "/DSType=3", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "ps_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1PS_b3mi.h", "/DSpec=3", "/DSType=3", "/DBump=1", "/DIllumMap=1", "$PS_3D_SRC"],
+                        ["$FXC", "/nologo", "/T", "vs_3_0", "/Fh", "$buildDir/headers/PrismD3D/hlsl/Mtl1VS_Obj.h", "/DVertexType=ObjVertex", "$VS_3D_SRC"]
                 ]
                 final ExecutorService executor = Executors.newFixedThreadPool(Integer.parseInt(project.NUM_COMPILE_THREADS.toString()));
                 final CountDownLatch latch = new CountDownLatch(jobs.size());
--- a/build.properties	Fri Jan 11 07:56:05 2019 -0800
+++ b/build.properties	Wed Mar 13 09:30:47 2019 +0530
@@ -39,7 +39,7 @@
 jfx.release.suffix=-ea
 
 # UPDATE THE FOLLOWING VALUES FOR A NEW RELEASE
-jfx.release.major.version=12
+jfx.release.major.version=13
 jfx.release.minor.version=0
 jfx.release.security.version=0
 jfx.release.patch.version=0
@@ -56,8 +56,8 @@
 
 javadoc.bottom=<small><a href="http://bugreport.java.com/bugreport/">Report a bug or suggest an enhancement</a><br> Copyright &copy; 2008, 2019, Oracle and/or its affiliates. All rights reserved.</small>
 
-javadoc.title=JavaFX 12
-javadoc.header=JavaFX&nbsp;12
+javadoc.title=JavaFX 13
+javadoc.header=JavaFX&nbsp;13
 
 ##############################################################################
 #
--- a/buildSrc/ios.gradle	Fri Jan 11 07:56:05 2019 -0800
+++ b/buildSrc/ios.gradle	Wed Mar 13 09:30:47 2019 +0530
@@ -166,45 +166,6 @@
 IOS.glass.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
 IOS.glass.x86_64.lib = "glass_${archX86_64}"
 
-IOS.extensions = [:]
-IOS.extensions.variants = ["arm", "arm64", "x86", "x86_64"];
-IOS.extensions.javahSource = files("${project("extensions").buildDir}/classes/ios")
-IOS.extensions.javahClasspath = files("${project("extensions").buildDir}/classes/ios/")
-IOS.extensions.javahInclude = ["com/sun/javafx/ext/device/ios/**/*"]
-IOS.extensions.lib = "extensions_ios"
-
-IOS.extensions.arm = [:]
-IOS.extensions.arm.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
-IOS.extensions.arm.compiler = compiler
-IOS.extensions.arm.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
-IOS.extensions.arm.linker = linker
-IOS.extensions.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags, "-L${sdkPath(iPhoneOS)}/usr/lib"].flatten()
-IOS.extensions.arm.lib = "extensions_ios_${archArm}"
-
-IOS.extensions.arm64 = [:]
-IOS.extensions.arm64.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
-IOS.extensions.arm64.compiler = compiler
-IOS.extensions.arm64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
-IOS.extensions.arm64.linker = linker
-IOS.extensions.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags, "-L${sdkPath(iPhoneOS)}/usr/lib"].flatten()
-IOS.extensions.arm64.lib = "extensions_ios_${archArm64}"
-
-IOS.extensions.x86 = [:]
-IOS.extensions.x86.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
-IOS.extensions.x86.compiler = compiler
-IOS.extensions.x86.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
-IOS.extensions.x86.linker = linker
-IOS.extensions.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
-IOS.extensions.x86.lib = "extensions_ios_${archX86}"
-
-IOS.extensions.x86_64 = [:]
-IOS.extensions.x86_64.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
-IOS.extensions.x86_64.compiler = compiler
-IOS.extensions.x86_64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
-IOS.extensions.x86_64.linker = linker
-IOS.extensions.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
-IOS.extensions.x86_64.lib = "extensions_ios_${archX86_64}"
-
 IOS.decora = [:]
 IOS.decora.variants = ["arm", "arm64"];
 IOS.decora.lib = "decora_sse"
--- a/buildSrc/linux.gradle	Fri Jan 11 07:56:05 2019 -0800
+++ b/buildSrc/linux.gradle	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@
 def commonFlags = [
         "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
         "-fstack-protector",
-        "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
+        "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration", "-Werror=trampolines"] // warning flags
 
 if (!IS_64) {
     commonFlags += "-m32"
--- a/modules/javafx.base/src/main/java/javafx/util/Duration.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.base/src/main/java/javafx/util/Duration.java	Wed Mar 13 09:30:47 2019 +0530
@@ -32,7 +32,7 @@
  * <p>
  *     A class that defines a duration of time. Duration instances are immutable,
  *     and are therefore replaced rather than modified, similar to {@link java.math.BigDecimal}.
- *     Duration's can be created using the constructor, or one of the static construction
+ *     Durations can be created using the constructor, or one of the static construction
  *     methods such as {@link #seconds} or {@link #minutes}.
  * </p>
  * @since JavaFX 2.0
--- a/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java	Wed Mar 13 09:30:47 2019 +0530
@@ -89,7 +89,7 @@
         String version = VersionInfo.getVersion();
         // Need to update major version number when we develop the next
         // major release.
-        assertTrue(version.startsWith("12"));
+        assertTrue(version.startsWith("13"));
         String runtimeVersion = VersionInfo.getRuntimeVersion();
         assertTrue(runtimeVersion.startsWith(version));
     }
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Accordion.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Alert.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Button.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckBox.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckBoxTreeItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ChoiceBox.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ChoiceDialog.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ColorPicker.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ComboBox.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ContextMenu.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CustomMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/DatePicker.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Dialog.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Hyperlink.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Label.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ListView.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Menu.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Pagination.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/PasswordField.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressBar_indeterminate.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressIndicator.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressIndicator_indeterminate.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/RadioButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/RadioMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ScrollBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ScrollPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Separator.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SeparatorMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Slider.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Spinner.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SplitMenuButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SplitPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TabPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TableView.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TextArea.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TextField.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TitledPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ToggleButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ToolBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Tooltip.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TreeTableView.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TreeView.png has changed
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Accordion.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Accordion.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,13 +55,16 @@
  * Accordion sets focusTraversable to false.
  * </p>
  *
- * <p>Example:
- * <pre><code>
- * TitledPane t1 = new TitledPane("T1", new Button("B1"));
+ * <p>
+ * Example:
+ * <pre><code> TitledPane t1 = new TitledPane("T1", new Button("B1"));
  * TitledPane t2 = new TitledPane("T2", new Button("B2"));
  * TitledPane t3 = new TitledPane("T3", new Button("B3"));
  * Accordion accordion = new Accordion();
  * accordion.getPanes().addAll(t1, t2, t3);</code></pre>
+ *
+ * <img src="doc-files/Accordion.png" alt="Image of the Accordion control">
+ *
  * @since JavaFX 2.0
  */
 public class Accordion extends Control {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Alert.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Alert.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,7 +56,9 @@
  * a dialog of the given type.
  *
  * <p>To instantiate (but not yet show) an Alert, simply use code such as the following:
- * {@code Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");}
+ * <pre>{@code Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");}</pre>
+ *
+ * <img src="doc-files/Alert.png" alt="Image of the Alert control">
  *
  * <p>Once an Alert is instantiated, we must show it. More often than not, alerts
  * (and dialogs in general) are shown in a modal and blocking fashion. 'Modal'
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Button.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Button.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -70,6 +70,9 @@
  *
  * <p>Example:
  * <pre><code>Button button = new Button("Click Me");</code></pre>
+ *
+ * <img src="doc-files/Button.png" alt="Image of the Button control">
+ *
  * @since JavaFX 2.0
  */
 public class Button extends ButtonBase {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBox.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBox.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,8 +63,10 @@
  * state.
  *
  * <p>Example:
- * <pre><code>CheckBox cb = new CheckBox("a checkbox");
- * cb.setIndeterminate(false);</code></pre>
+ * <pre><code> CheckBox cb = new CheckBox("a checkbox");
+ * cb.setSelected(true);</code></pre>
+ *
+ * <img src="doc-files/CheckBox.png" alt="Image of the CheckBox control">
  *
  * <p>
  * MnemonicParsing is enabled by default for CheckBox.
@@ -72,7 +74,6 @@
  *
  * @since JavaFX 2.0
  */
-
 public class CheckBox extends ButtonBase {
 
     /***************************************************************************
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBoxTreeItem.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBoxTreeItem.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,25 +55,26 @@
  * <p>A simple example of using the CheckBoxTreeItem class, in conjunction with
  * {@link CheckBoxTreeCell} is shown below:
  *
- * <pre><code>
- * // create the tree model
- * CheckBoxTreeItem&lt;String&gt; jonathanGiles = new CheckBoxTreeItem&lt;String&gt;("Jonathan");
- * CheckBoxTreeItem&lt;String&gt; juliaGiles = new CheckBoxTreeItem&lt;String&gt;("Julia");
- * CheckBoxTreeItem&lt;String&gt; mattGiles = new CheckBoxTreeItem&lt;String&gt;("Matt");
- * CheckBoxTreeItem&lt;String&gt; sueGiles = new CheckBoxTreeItem&lt;String&gt;("Sue");
- * CheckBoxTreeItem&lt;String&gt; ianGiles = new CheckBoxTreeItem&lt;String&gt;("Ian");
+ * <pre><code>// create the tree model
+ * CheckBoxTreeItem&lt;String&gt; jonathanGiles = new CheckBoxTreeItem&lt;&gt;("Jonathan");
+ * CheckBoxTreeItem&lt;String&gt; juliaGiles = new CheckBoxTreeItem&lt;&gt;("Julia");
+ * CheckBoxTreeItem&lt;String&gt; mattGiles = new CheckBoxTreeItem&lt;&gt;("Matt");
+ * CheckBoxTreeItem&lt;String&gt; sueGiles = new CheckBoxTreeItem&lt;&gt;("Sue");
+ * CheckBoxTreeItem&lt;String&gt; ianGiles = new CheckBoxTreeItem&lt;&gt;("Ian");
  *
- * CheckBoxTreeItem&lt;String&gt; gilesFamily = new CheckBoxTreeItem&lt;String&gt;("Giles Family");
+ * CheckBoxTreeItem&lt;String&gt; gilesFamily = new CheckBoxTreeItem&lt;&gt;("Giles Family");
  * gilesFamily.setExpanded(true);
  * gilesFamily.getChildren().addAll(jonathanGiles, juliaGiles, mattGiles, sueGiles, ianGiles);
  *
  * // create the treeView
- * final TreeView&lt;String&gt; treeView = new TreeView&lt;String&gt;();
+ * final TreeView&lt;String&gt; treeView = new TreeView&lt;&gt;();
  * treeView.setRoot(gilesFamily);
  *
  * // set the cell factory
  * treeView.setCellFactory(CheckBoxTreeCell.&lt;String&gt;forTreeView());</code></pre>
  *
+ * <img src="doc-files/CheckBoxTreeItem.png" alt="Image of the CheckBoxTreeItem control">
+ *
  * @param <T> The type of the value contained within the TreeItem
  * @see CheckBoxTreeCell
  * @see TreeItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CheckMenuItem.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CheckMenuItem.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,30 +36,23 @@
  * {@link Menu} or {@link ContextMenu} controls.
  * <p>
  * Creating and inserting a CheckMenuItem into a Menu is shown below.
-<pre><code>
-final subsystem1 = new CheckMenuItem("Enabled");
-subsystem1.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    public void handle(ActionEvent e) {
-        System.out.println("subsystem1 #1 Enabled!");
-    }
-});
+<pre><code>CheckMenuItem subsystem1 = new CheckMenuItem("Enabled");
+subsystem1.setOnAction(e {@literal ->} System.out.println("subsystem1 #1 Enabled!"));
 
-Menu subsystemsMenu = new Menu("Subsystems");
-subsystemsMenu.add(subsystem1);
-</code></pre>
+Menu menu = new Menu("Subsystems");
+menu.getItems().add(subsystem1);
+MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/CheckMenuItem.png" alt="Image of the CheckMenuItem control">
+ *
  * <p>
  * Of course, the approach shown above separates out the definition of the
  * CheckMenuItem from the Menu, but this needn't be so.
  * <p>
  * To ascertain the current state of the CheckMenuItem, you should refer to the
  * {@link #selectedProperty() selected} boolean. An example use case may be the following example:
-<pre><code>
-final checkMenuItem = new CheckMenuItem("Show Widget");
-subsystem1.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    public void handle(ActionEvent e) {
-        System.out.println("Show the widget!");
-    }
-});
+<pre><code>final checkMenuItem = new CheckMenuItem("Show Widget");
+subsystem1.setOnAction(e {@literal ->} System.out.println("Show the widget!"));
 private final BooleanProperty widgetShowing();
 public final boolean isWidgetShowing() { return widgetShowing.get(); )
 public final void setWidgetShowing(boolean value) {
@@ -72,8 +65,8 @@
     return widgetShowing;
 }
 
-widgetShowing.bind(checkMenuItem.selected);
-</code></pre>
+widgetShowing.bind(checkMenuItem.selected);</code></pre>
+ *
  * <p>
  * Typically a CheckMenuItem will be rendered such that, when selected, it shows
  * a check (or tick) mark in the area normally reserved for the MenuItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceBox.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceBox.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,26 +58,25 @@
  * Although the ChoiceBox will only allow a user to select from the predefined
  * list, it is possible for the developer to specify the selected item to be
  * something other than what is available in the predefined list. This is
- * required for several important use cases.
- * <p>
- * It means configuration of the ChoiceBox is order independent. You
- * may either specify the items and then the selected item, or you may
- * specify the selected item and then the items. Either way will function
+ * required for several important use cases. Configuration of the ChoiceBox is
+ * order independent. You may either specify the items and then the selected item,
+ * or you may specify the selected item and then the items. Either way will function
  * correctly.
  * <p>
  * ChoiceBox item selection is handled by
- * {@link javafx.scene.control.SelectionModel SelectionModel}
+ * {@link javafx.scene.control.SelectionModel SelectionModel}.
  * As with ListView and ComboBox, it is possible to modify the
  * {@link javafx.scene.control.SelectionModel SelectionModel} that is used,
  * although this is likely to be rarely changed. ChoiceBox supports only a
  * single selection model, hence the default used is a {@link SingleSelectionModel}.
  *
- * <pre>
- * import javafx.scene.control.ChoiceBox;
+ * <p>
+ * Example:
+ * <pre> ChoiceBox cb = new ChoiceBox();
+ * cb.getItems().addAll("item1", "item2", "item3");</pre>
  *
- * ChoiceBox cb = new ChoiceBox();
- * cb.getItems().addAll("item1", "item2", "item3");
- * </pre>
+ * <img src="doc-files/ChoiceBox.png" alt="Image of the ChoiceBox control">
+ *
  * @since JavaFX 2.0
  */
 @DefaultProperty("items")
@@ -398,7 +397,7 @@
 
     // -- On Shown
     /**
-     * Called just after the {@link ChoiceBox} popup is shown.
+     * Called just after the {@code ChoiceBox} popup is shown.
      * @return the on shown property
      * @since JavaFX 8u60
      */
@@ -422,7 +421,7 @@
 
     // --- On Hiding
     /**
-     * Called just prior to the {@link ChoiceBox} popup being hidden.
+     * Called just prior to the {@code ChoiceBox} popup being hidden.
      * @return the on hiding property
      * @since JavaFX 8u60
      */
@@ -446,7 +445,7 @@
 
     // --- On Hidden
     /**
-     * Called just after the {@link ChoiceBox} popup has been hidden.
+     * Called just after the {@code ChoiceBox} popup has been hidden.
      * @return the on hidden property
      * @since JavaFX 8u60
      */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceDialog.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceDialog.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,14 @@
  * A dialog that shows a list of choices to the user, from which they can pick
  * one item at most.
  *
+ * <p>
+ * Example:
+ * <pre> {@code List<String> colors = List.of("Red", "Yellow", "Green");
+ * ChoiceDialog choiceDialog = new ChoiceDialog<>("Yellow", colors);
+ * choiceDialog.showAndWait();}</pre>
+ *
+ * <img src="doc-files/ChoiceDialog.png" alt="Image of the ChoiceDialog control">
+ *
  * @see Dialog
  * @param <T> The type of the items to show to the user, and the type that is returned
  *            via {@link #getResult()} when the dialog is dismissed.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ColorPicker.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ColorPicker.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,15 +52,13 @@
  * <p>The {@link #promptTextProperty() promptText} is not supported and hence is a no-op.
  * But it may be supported in the future.
  *
- * <pre><code>
- * final ColorPicker colorPicker = new ColorPicker();
- * colorPicker.setOnAction(new EventHandler() {
- *     public void handle(Event t) {
- *         Color c = colorPicker.getValue();
- *         System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue());
- *     }
- * });
- * </code></pre>
+ * <pre><code> ColorPicker colorPicker = new ColorPicker();
+ * colorPicker.setOnAction(e {@literal ->} {
+ *     Color c = colorPicker.getValue();
+ *     System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue());
+ * });</code></pre>
+ *
+ * <img src="doc-files/ColorPicker.png" alt="Image of the ColorPicker control">
  *
  * <p>The ColorPicker control's appearance can be styled in three ways: a simple Button mode,
  * MenuButton mode or SplitMenuButton mode. The default is MenuButton mode.
@@ -68,13 +66,10 @@
  * and for SplitMenuButton appearance and behavior, the style class to use is
  * {@link #STYLE_CLASS_SPLIT_BUTTON STYLE_CLASS_SPLIT_BUTTON}.
  *
- * <pre><code>
- * colorPicker.getStyleClass().add("button");
- * </code></pre>
- * or
- * <pre><code>
- * colorPicker.getStyleClass().add("split-button");
- * </code></pre>
+ * <pre>colorPicker.getStyleClass().add("button");</pre>
+ * <p>or
+ * <pre>colorPicker.getStyleClass().add("split-button");</pre>
+ *
  * @since JavaFX 2.2
  */
 public class ColorPicker extends ComboBoxBase<Color> {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ComboBox.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ComboBox.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -107,8 +107,7 @@
  * is with the following code (note the use of {@code setButtonCell}:
  *
  * <pre>
- * {@code
- * Callback<ListView<String>, ListCell<String>> cellFactory = ...;
+ * {@code Callback<ListView<String>, ListCell<String>> cellFactory = ...;
  * ComboBox comboBox = new ComboBox();
  * comboBox.setItems(items);
  * comboBox.setButtonCell(cellFactory.call(null));
@@ -140,45 +139,42 @@
  * provide a custom {@link #cellFactoryProperty() cell factory}. For example,
  * rather than use the following code:
  *
- * <pre>
- * {@code
- * ComboBox<Rectangle> cmb = new ComboBox<Rectangle>();
+ * <pre> {@code ComboBox<Rectangle> cmb = new ComboBox<>();
  * cmb.getItems().addAll(
  *     new Rectangle(10, 10, Color.RED),
  *     new Rectangle(10, 10, Color.GREEN),
- *     new Rectangle(10, 10, Color.BLUE));}</pre>
+ *     new Rectangle(10, 10, Color.BLUE));}}</pre>
  *
  * <p>You should do the following:</p>
  *
- * <pre><code>
- * ComboBox&lt;Color&gt; cmb = new ComboBox&lt;Color&gt;();
+ * <pre><code> ComboBox&lt;Color&gt; cmb = new ComboBox&lt;&gt;();
  * cmb.getItems().addAll(
  *     Color.RED,
  *     Color.GREEN,
  *     Color.BLUE);
  *
- * cmb.setCellFactory(new Callback&lt;ListView&lt;Color&gt;, ListCell&lt;Color&gt;&gt;() {
- *     &#064;Override public ListCell&lt;Color&gt; call(ListView&lt;Color&gt; p) {
- *         return new ListCell&lt;Color&gt;() {
- *             private final Rectangle rectangle;
- *             {
- *                 setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
- *                 rectangle = new Rectangle(10, 10);
+ * cmb.setCellFactory(p {@literal ->} {
+ *     return new ListCell&lt;&gt;() {
+ *         private final Rectangle rectangle;
+ *         {
+ *             setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
+ *             rectangle = new Rectangle(10, 10);
+ *         }
+ *
+ *         &#064;Override protected void updateItem(Color item, boolean empty) {
+ *             super.updateItem(item, empty);
+ *
+ *             if (item == null || empty) {
+ *                 setGraphic(null);
+ *             } else {
+ *                 rectangle.setFill(item);
+ *                 setGraphic(rectangle);
  *             }
+ *         }
+ *     };
+ * });</code></pre>
  *
- *             &#064;Override protected void updateItem(Color item, boolean empty) {
- *                 super.updateItem(item, empty);
- *
- *                 if (item == null || empty) {
- *                     setGraphic(null);
- *                 } else {
- *                     rectangle.setFill(item);
- *                     setGraphic(rectangle);
- *                 }
- *            }
- *       };
- *   }
- *});</code></pre>
+ * <img src="doc-files/ComboBox.png" alt="Image of the ComboBox control">
  *
  * <p>Admittedly the above approach is far more verbose, but it offers the
  * required functionality without encountering the scenegraph constraints.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ContextMenu.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ContextMenu.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,8 +59,8 @@
  * A common use case for this class is creating and showing context menus to
  * users. To create a context menu using ContextMenu you can do the
  * following:
-<pre><code>
-final ContextMenu contextMenu = new ContextMenu();
+ *
+<pre><code>final ContextMenu contextMenu = new ContextMenu();
 contextMenu.setOnShowing(new EventHandler&lt;WindowEvent&gt;() {
     public void handle(WindowEvent e) {
         System.out.println("showing");
@@ -87,16 +87,17 @@
 contextMenu.getItems().addAll(item1, item2);
 
 final TextField textField = new TextField("Type Something");
-textField.setContextMenu(contextMenu);
-</code></pre>
+textField.setContextMenu(contextMenu);</code></pre>
+ *
+ * <img src="doc-files/ContextMenu.png" alt="Image of the ContextMenu control">
  *
  * <p>{@link Control#setContextMenu(javafx.scene.control.ContextMenu) } convenience
  * method can be used to set a context menu on on any control. The example above results in the
  * context menu being displayed on the right {@link javafx.geometry.Side Side}
  * of the TextField. Alternatively, an event handler can also be set on the control
  * to invoke the context menu as shown below.
- * <pre><code>
-textField.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
+ *
+<pre><code>textField.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
     public void handle(ActionEvent e) {
         contextMenu.show(textField, Side.BOTTOM, 0, 0);
     }
@@ -268,7 +269,7 @@
      * Shows the {@code ContextMenu} at the specified screen coordinates. If there
      * is not enough room at the specified location to show the {@code ContextMenu}
      * given its size requirements, the necessary adjustments are made to bring
-     * the {@code ContextMenu} back back on screen. This also means that the
+     * the {@code ContextMenu} back on screen. This also means that the
      * {@code ContextMenu} will not span multiple monitors.
      * @param anchor the anchor node
      * @param screenX the x position of the anchor in screen coordinates
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CustomMenuItem.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CustomMenuItem.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,15 +50,19 @@
  * Note that by default hideOnClick is true.
  * <p>
  * An example of how to use CustomMenuItem is shown below.
-<pre><code>
-CustomMenuItem customMenuItem = new CustomMenuItem(new Slider());
-customMenuItem.setHideOnClick(false);
-</code></pre>
+ *
+ * <pre><code> CustomMenuItem customMenuItem = new CustomMenuItem(new Slider());
+ * customMenuItem.setHideOnClick(false);
+ *
+ * Menu menu = new Menu("Brightness");
+ * menu.getItems().add(customMenuItem);
+ * MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/CustomMenuItem.png" alt="Image of the CustomMenuItem control">
+ *
  * <p>
- * If this CustomMenuItem, with the {@link Slider} within it, is placed in a
- * menu, you'll be presented with a slider that is horizontally centered when
- * the menu is visible, and interacting with the slider will not result in the
- * menu disappearing.
+ * The slider is horizontally centered when the menu is visible, and interacting
+ * with the slider will not result in the menu disappearing.
  *
  * @see MenuItem
  * @see Menu
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/DatePicker.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/DatePicker.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,7 +59,6 @@
 import javafx.scene.control.skin.DatePickerSkin;
 import com.sun.javafx.scene.control.skin.resources.ControlResources;
 
-
 /**
  * The DatePicker control allows the user to enter a date as text or
  * to select a date from a calendar popup. The calendar is based on
@@ -72,17 +71,15 @@
  * or by calling {@link #setValue setValue(LocalDate)}.  The
  * default value is null.
  *
- * <pre><code>
- * final DatePicker datePicker = new DatePicker();
- * datePicker.setOnAction(new EventHandler() {
- *     public void handle(Event t) {
- *         LocalDate date = datePicker.getValue();
- *         System.err.println("Selected date: " + date);
- *     }
- * });
- * </code></pre>
+ * <pre><code> DatePicker datePicker = new DatePicker();
+ * datePicker.setOnAction(e {@literal ->} {
+ *     LocalDate date = datePicker.getValue();
+ *     System.err.println("Selected date: " + date);
+ * });</code></pre>
  *
- * The {@link #chronologyProperty() chronology} property specifies a
+ * <img src="doc-files/DatePicker.png" alt="Image of the DatePicker control">
+ *
+ * <p>The {@link #chronologyProperty() chronology} property specifies a
  * calendar system to be used for parsing, displaying, and choosing
  * dates.
  * The {@link #valueProperty() value} property is always defined in
@@ -92,13 +89,10 @@
  * corresponding {@link java.time.chrono.ChronoLocalDate} value. For
  * example:
  *
- * <pre><code>
- * LocalDate isoDate = datePicker.getValue();
+ * <pre><code>LocalDate isoDate = datePicker.getValue();
  * ChronoLocalDate chronoDate =
  *     ((isoDate != null) ? datePicker.getChronology().date(isoDate) : null);
- * System.err.println("Selected date: " + chronoDate);
- * </code></pre>
- *
+ * System.err.println("Selected date: " + chronoDate);</code></pre>
  *
  * @since JavaFX 8.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -101,12 +101,16 @@
  * on if the {@link DialogPane#createButton(ButtonType)} method has been overridden. A
  * typical approach is therefore along the following lines:
  *
- * <pre>{@code
- *     ButtonType loginButtonType = new ButtonType("Login", ButtonData.OK_DONE);
- *     Dialog<String> dialog = new Dialog<>();
- *     dialog.getDialogPane().getButtonTypes().add(loginButtonType);
- *     boolean disabled = false; // computed based on content of text fields, for example
- *     dialog.getDialogPane().lookupButton(loginButtonType).setDisable(disabled);}</pre>
+ * <pre> {@code ButtonType loginButtonType = new ButtonType("Login", ButtonData.OK_DONE);
+ * Dialog<String> dialog = new Dialog<>();
+ * dialog.setTitle("Login Dialog");
+ * dialog.setContentText("Would you like to log in?");
+ * dialog.getDialogPane().getButtonTypes().add(loginButtonType);
+ * boolean disabled = false; // computed based on content of text fields, for example
+ * dialog.getDialogPane().lookupButton(loginButtonType).setDisable(disabled);
+ * dialog.showAndWait();}</pre>
+ *
+ * <img src="doc-files/Dialog.png" alt="Image of the Dialog control">
  *
  * <p>Once a Dialog is instantiated and fully configured, the next step is to
  * show it. More often than not, dialogs are shown in a modal and blocking
@@ -126,25 +130,22 @@
  * equally valid ways of showing a dialog:
  *
  * <p><strong>Option 1: The 'traditional' approach</strong>
- * <pre>{@code
- * Optional<ButtonType> result = dialog.showAndWait();
+ * <pre> {@code Optional<ButtonType> result = dialog.showAndWait();
  * if (result.isPresent() && result.get() == ButtonType.OK) {
  *     formatSystem();
  * }}</pre>
  *
  * <p><strong>Option 2: The traditional + Optional approach</strong>
- * <pre>{@code
- * dialog.showAndWait().ifPresent(response -> {
+ * <pre> {@code dialog.showAndWait().ifPresent(response -> {
  *     if (response == ButtonType.OK) {
  *         formatSystem();
  *     }
  * });}</pre>
  *
  * <p><strong>Option 3: The fully lambda approach</strong>
- * <pre>{@code
- * dialog.showAndWait()
- *      .filter(response -> response == ButtonType.OK)
- *      .ifPresent(response -> formatSystem());}</pre>
+ * <pre> {@code dialog.showAndWait()
+ *       .filter(response -> response == ButtonType.OK)
+ *       .ifPresent(response -> formatSystem());}</pre>
  *
  * <p>There is no better or worse option of the three listed above, so developers
  * are encouraged to work to their own style preferences. The purpose of showing
@@ -167,7 +168,7 @@
  * prevent the event handling by {@code consuming} the event. Here's a simplified
  * example:
  *
- * <pre>{@code final Button btOk = (Button) dlg.getDialogPane().lookupButton(ButtonType.OK);
+ * <pre> {@code final Button btOk = (Button) dlg.getDialogPane().lookupButton(ButtonType.OK);
  * btOk.addEventFilter(ActionEvent.ACTION, event -> {
  *     if (!validateAndStore()) {
  *         event.consume();
@@ -248,7 +249,7 @@
      *
      **************************************************************************/
 
-    final FXDialog dialog;
+     FXDialog dialog;
 
     private boolean isClosing;
 
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Hyperlink.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Hyperlink.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,6 @@
 
 import javafx.css.StyleableProperty;
 
-
 /**
  * <p>An HTML like label which can be a graphic and/or text which responds to rollovers and clicks.
  * When a hyperlink is clicked/pressed {@link #isVisited} becomes {@code true}.  A Hyperlink behaves
@@ -47,8 +46,11 @@
  * a {@link ActionEvent} is sent, and your application can perform some action based on this event.
  * </p>
  *
- * <p>Example:</p>
- * {@code Hyperlink link = new Hyperlink("www.oracle.com"); }
+ * <p>Example:
+ * <pre><code>Hyperlink link = new Hyperlink("www.oracle.com");</code></pre>
+ *
+ * <img src="doc-files/Hyperlink.png" alt="Image of the Hyperlink control">
+ *
  * @since JavaFX 2.0
  */
 public class Hyperlink extends ButtonBase {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Label.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Label.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,9 @@
  *
  * <p>Example:
  * <pre><code>Label label = new Label("a label");</code></pre>
+ *
+ * <img src="doc-files/Label.png" alt="Image of the Label control">
+ *
  * @since JavaFX 2.0
  */
 public class Label extends Labeled {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ListView.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ListView.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -92,9 +92,7 @@
  * <p>A simple example of how to create and populate a ListView of names (Strings)
  * is shown here:
  *
- * <pre>
- * {@code
- * ObservableList<String> names = FXCollections.observableArrayList(
+ * <pre> {@code ObservableList<String> names = FXCollections.observableArrayList(
  *          "Julia", "Ian", "Sue", "Matthew", "Hannah", "Stephan", "Denise");
  * ListView<String> listView = new ListView<String>(names);}</pre>
  *
@@ -106,20 +104,18 @@
  * ListView constructor is not feasible, the recommended approach for setting
  * the items is to simply call:
  *
- * <pre>
- * {@code
- * ObservableList<T> content = ...
+ * <pre> {@code ObservableList<T> content = ...
  * listView.setItems(content);}</pre>
  *
- * The end result of this is, as noted above, that the ListView will automatically
+ * <img src="doc-files/ListView.png" alt="Image of the ListView control">
+ *
+ * <p>The end result of this is, as noted above, that the ListView will automatically
  * refresh the view to represent the items in the list.
  *
  * <p>Another approach, whilst accepted by the ListView, <b>is not the
  * recommended approach</b>:
  *
- * <pre>
- * {@code
- * List<T> content = ...
+ * <pre> {@code List<T> content = ...
  * getItems().setAll(content);}</pre>
  *
  * The issue with the approach shown above is that the content list is being
@@ -144,9 +140,7 @@
  * multiple selection in a default ListView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing ListView Visuals</h3>
  * <p>The visuals of the ListView can be entirely customized by replacing the
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Menu.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Menu.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,18 +57,17 @@
  * {@link ContextMenu} should be used in this circumstance.
  * <p>
  * Creating a Menu and inserting it into a MenuBar is easy, as shown below:
- * <pre><code>
- * final Menu menu1 = new Menu("File");
- * MenuBar menuBar = new MenuBar();
- * menuBar.getMenus().add(menu1);
- * </code></pre>
+ * <pre><code> Menu menu1 = new Menu("File");
+ * MenuBar menuBar = new MenuBar(menu1);</code></pre>
+ *
  * <p>
  * A Menu is a subclass of {@link MenuItem} which means that it can be inserted
  * into a Menu's {@link #getItems() items} ObservableList, resulting in a submenu being created:
- * <pre><code>
- * MenuItem menu12 = new MenuItem("Open");
- * menu1.getItems().add(menu12);
- * </code></pre>
+ * <pre><code> MenuItem menu12 = new MenuItem("Open");
+ * menu1.getItems().add(menu12);</code></pre>
+ *
+ * <img src="doc-files/Menu.png" alt="Image of the Menu control">
+ *
  * <p>
  * The items ObservableList allows for any {@link MenuItem} type to be inserted,
  * including its subclasses {@link Menu}, {@link MenuItem}, {@link RadioMenuItem}, {@link CheckMenuItem},
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/MenuBar.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/MenuBar.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -60,14 +60,13 @@
  * To create and populate a {@code MenuBar}, you may do what is shown below.
  * Please refer to the {@link Menu} API page for more information on how to
  * configure it.
- * <pre><code>
- * final Menu menu1 = new Menu("File");
- * final Menu menu2 = new Menu("Options");
- * final Menu menu3 = new Menu("Help");
+ * <pre><code> Menu menu1 = new Menu("File");
+ * Menu menu2 = new Menu("Options");
+ * Menu menu3 = new Menu("Help");
  *
- * MenuBar menuBar = new MenuBar();
- * menuBar.getMenus().addAll(menu1, menu2, menu3);
- * </code></pre>
+ * MenuBar menuBar = new MenuBar(menu1, menu2, menu3);</code></pre>
+ *
+ * <img src="doc-files/MenuBar.png" alt="Image of the MenuBar control">
  *
  * @see Menu
  * @see MenuItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/MenuButton.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/MenuButton.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,10 +63,10 @@
  * MenuButton.
  *
  * <p>Example:</p>
- * <pre>
- * MenuButton m = new MenuButton("Eats");
- * m.getItems().addAll(new MenuItem("Burger"), new MenuItem("Hot Dog"));
- * </pre>
+ * <pre> MenuButton m = new MenuButton("Eats");
+ * m.getItems().addAll(new MenuItem("Burger"), new MenuItem("Hot Dog"));</pre>
+ *
+ * <img src="doc-files/MenuButton.png" alt="Image of the MenuButton control">
  *
  * <p>
  * MnemonicParsing is enabled by default for MenuButton.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/MenuItem.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/MenuItem.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,23 +78,17 @@
  * JavaFX.
  * <p>
  * To create a MenuItem is simple:
-<pre><code>
-MenuItem menuItem = new MenuItem("Open");
-menuItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("Opening Database Connection...");
-    }
-});
-menuItem.setGraphic(new ImageView(new Image("flower.png")));
-</code></pre>
- * <p>
- * Refer to the {@link Menu} page to learn how to insert MenuItem into a menu
- * instance. Briefly however, you can insert the MenuItem from the previous
- * example into a Menu as such:
-<pre><code>
-final Menu menu = new Menu("File");
+<pre><code>MenuItem menuItem = new MenuItem("Open");
+menuItem.setOnAction(e {@literal ->} System.out.println("Opening Database Connection..."));
+Circle graphic = new Circle(8);
+graphic.setFill(Color.GREEN);
+menuItem.setGraphic(graphic);
+
+Menu menu = new Menu("File");
 menu.getItems().add(menuItem);
-</code></pre>
+MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/MenuItem.png" alt="Image of the MenuItem control">
  *
  * @see Menu
  * @since JavaFX 2.0
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Pagination.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Pagination.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -79,23 +79,22 @@
  * <h3>Creating a Pagination control:</h3>
  * <p>
  * A simple example of how to create a pagination control with ten pages and
- * each page containing ten hyperlinks.
+ * each page containing text.
  * </p>
  *
- * <pre>
- * {@code
- *   Pagination pagination = new Pagination(10, 0);
- *   pagination.setPageFactory(new Callback<Integer, Node>() {
- *       public Node call(Integer pageIndex) {
- *           VBox box = new VBox(5);
- *           for (int i = 0; i < pageIndex + 10; i++) {
- *               Hyperlink link = new Hyperlink(myurls[i]);
- *               box.getChildren().add(link);
- *           }
- *           return box;
- *       }
- *   });
- * }</pre>
+ * <pre><code> Pagination pagination = new Pagination(10, 0);
+ * pagination.setPageFactory(new Callback&lt;Integer, Node&gt;() {
+ *     &#064;Override
+ *     public Node call(Integer pageIndex) {
+ *         return new Label(pageIndex+1 + ". Lorem ipsum dolor sit amet,\n"
+ *                      + "consectetur adipiscing elit,\n"
+ *                      + "sed do eiusmod tempor incididunt ut\n"
+ *                      + "labore et dolore magna aliqua.");
+ *     }
+ * });</code></pre>
+ *
+ * <img src="doc-files/Pagination.png" alt="Image of the Pagination control">
+ *
  * @since JavaFX 2.2
  */
 @DefaultProperty("pages")
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,13 @@
 
 /**
  * Text field that masks entered characters.
+ *
+ * <p>Example:
+ * <pre><code> var passwordField = new PasswordField();
+ * passwordField.setText("password123");</code></pre>
+ *
+ * <img src="doc-files/PasswordField.png" alt="Image of the PasswordField control">
+ *
  * @since JavaFX 2.0
  */
 public class PasswordField extends TextField {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressBar.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressBar.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,21 +40,18 @@
  * </p>
  *
  * <p>
- * This first example creates a ProgressBar with an indeterminate value :
- * <pre><code>
- * import javafx.scene.control.ProgressBar;
+ * This first example creates a ProgressBar with an indeterminate value:
+ * <pre><code> ProgressBar p1 = new ProgressBar();</code></pre>
  *
- * ProgressBar p1 = new ProgressBar();
- * </code></pre>
+ * <img src="doc-files/ProgressBar_indeterminate.png" alt="Image of the indeterminate progress ProgressBar control">
+ *
  * <p>
- * This next example creates a ProgressBar which is 25% complete :
- * <pre><code>
- * import javafx.scene.control.ProgressBar;
- * ProgressBar p2 = new ProgressBar();
- * p2.setProgress(0.25F);
- * </code></pre>
+ * This next example creates a ProgressBar which is 25% complete:
+ * <pre><code> ProgressBar p2 = new ProgressBar();
+ * p2.setProgress(0.25F);</code></pre>
  *
- * Implementation of ProgressBar According to JavaFX UI Control API Specification
+ * <img src="doc-files/ProgressBar.png" alt="Image of the ProgressBar control">
+ *
  * @since JavaFX 2.0
  */
 public class ProgressBar extends ProgressIndicator {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressIndicator.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressIndicator.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,6 @@
 import javafx.scene.AccessibleAttribute;
 import javafx.scene.AccessibleRole;
 
-
 /**
  * A circular control which is used for indicating progress, either
  * infinite (aka indeterminate) or finite. Often used with the Task API for
@@ -48,24 +47,20 @@
  * </p>
  *
  * <p>
- * This first example creates a ProgressIndicator with an indeterminate value :
- * <pre><code>
- * import javafx.scene.control.ProgressIndicator;
- * ProgressIndicator p1 = new ProgressIndicator();
- * </code></pre>
+ * This first example creates a ProgressIndicator with an indeterminate value:
+ * <pre><code> ProgressIndicator p1 = new ProgressIndicator();</code></pre>
+ *
+ * <img src="doc-files/ProgressIndicator_indeterminate.png" alt="Image of the indeterminate progress ProgressIndicator control">
  *
  * <p>
- * This next example creates a ProgressIndicator which is 25% complete :
- * <pre><code>
- * import javafx.scene.control.ProgressIndicator;
- * ProgressIndicator p2 = new ProgressIndicator();
- * p2.setProgress(0.25F);
- * </code></pre>
+ * This next example creates a ProgressIndicator which is 25% complete:
+ * <pre><code> ProgressIndicator p2 = new ProgressIndicator();
+ * p2.setProgress(0.25F);</code></pre>
  *
- * Implementation of ProgressIndicator According to JavaFX UI Control API Specification
+ * <img src="doc-files/ProgressIndicator.png" alt="Image of the ProgressIndicator control">
+ *
  * @since JavaFX 2.0
  */
-
 public class ProgressIndicator extends Control {
 
     /**
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/RadioButton.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/RadioButton.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,16 +50,15 @@
  * will return you the RadioButton that has been selected.
  * </p>
  *
- * <pre>
- * <code>
- *    ToggleGroup group = new ToggleGroup();
- *    RadioButton button1 = new RadioButton("select first");
- *    button1.setToggleGroup(group);
- *    button1.setSelected(true);
- *    RadioButton button2 = new RadioButton("select second");
- *    button2.setToggleGroup(group);
- * </code>
- * </pre>
+ * <pre><code> ToggleGroup group = new ToggleGroup();
+ * RadioButton button1 = new RadioButton("select first");
+ * button1.setToggleGroup(group);
+ * button1.setSelected(true);
+ * RadioButton button2 = new RadioButton("select second");
+ * button2.setToggleGroup(group);</code></pre>
+ *
+ * <img src="doc-files/RadioButton.png" alt="Image of the RadioButton control">
+ *
  * @since JavaFX 2.0
  */
  public class RadioButton extends ToggleButton {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/RadioMenuItem.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/RadioMenuItem.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,15 +43,11 @@
  * API documentation for more information on how to add a RadioMenuItem into it.
  * <p>
  * To create a simple, ungrouped RadioMenuItem, do the following:
-<pre><code>
-RadioMenuItem radioItem = new RadioMenuItem("radio text");
+ *
+<pre><code>RadioMenuItem radioItem = new RadioMenuItem("radio text");
 radioItem.setSelected(false);
-radioItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("radio toggled");
-    }
-});
-</code></pre>
+radioItem.setOnAction(e {@literal ->} System.out.println("radio toggled"));</code></pre>
+ *
  * <p>
  * The problem with the example above is that this offers no benefit over using
  * a normal MenuItem. As already mentioned, the purpose of a
@@ -62,26 +58,24 @@
  * in groups, only one RadioMenuItem at a time within that group can be selected.
  * To put two RadioMenuItem instances into the same group, simply assign them
  * both the same value for {@code toggleGroup}. For example:
-<pre><code>
-ToggleGroup toggleGroup = new ToggleGroup();
+ *
+<pre><code>ToggleGroup toggleGroup = new ToggleGroup();
 
 RadioMenuItem radioItem1 = new RadioMenuItem("Option 1");
-radioItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("radio toggled");
-    }
-});
+radioItem1.setOnAction(e {@literal ->} System.out.println("radio1 toggled"));
 radioItem1.setToggleGroup(toggleGroup);
+
 RadioMenuItem radioItem2 = new RadioMenuItem("Option 2");
-radioItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("radio toggled");
-    }
-});
+radioItem2.setOnAction(e {@literal ->} System.out.println("radio2 toggled"));
 radioItem2.setToggleGroup(toggleGroup);
 
-</code></pre>
+Menu menu = new Menu("Selection");
+menu.getItems().addAll(radioItem1, radioItem2);
+MenuBar menuBar = new MenuBar(menu);</code></pre>
  *
+ * <img src="doc-files/RadioMenuItem.png" alt="Image of the RadioMenuItem control">
+ *
+ * <p>
  * In this example, with both RadioMenuItem's assigned to the same
  * {@link javafx.scene.control.ToggleGroup ToggleGroup}, only one item may be
  * selected at any one time, and should
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollBar.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollBar.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,7 +50,6 @@
 import java.util.Collections;
 import java.util.List;
 
-
 /**
  * Either a horizontal or vertical bar with increment and decrement buttons and
  * a "thumb" with which the user can interact. Typically not used alone but used
@@ -60,18 +59,14 @@
  * </p>
  *
  * <p>
- * This example creates a vertical ScrollBar :
- * <pre><code>
- * import javafx.scene.control.ScrollBar;
+ * This example creates a vertical ScrollBar:
+ * <pre><code> ScrollBar s1 = new ScrollBar();
+ * s1.setOrientation(Orientation.VERTICAL);</code></pre>
  *
- * ScrollBar s1 = new ScrollBar();
- * s1.setOrientation(Orientation.VERTICAL);
- * </code></pre>
+ * <img src="doc-files/ScrollBar.png" alt="Image of the ScrollBar control">
  *
- * Implementation of ScrollBar According to JavaFX UI Control API Specification
  * @since JavaFX 2.0
  */
-
 public class ScrollBar extends Control {
 
     /***************************************************************************
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollPane.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollPane.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,23 +69,20 @@
  * ScrollPane layout calculations are based on the layoutBounds rather than
  * the boundsInParent (visual bounds) of the scroll node.
  * If an application wants the scrolling to be based on the visual bounds
- * of the node (for scaled content etc.), they need to wrap the scroll
+ * of the node (for scaled content etc.), it needs to wrap the scroll
  * node in a Group.
  * <p>
  * ScrollPane sets focusTraversable to false.
  * </p>
  *
  * <p>
- * This example creates a ScrollPane, which contains a Rectangle :
- * <pre><code>
- * import javafx.scene.control.ScrollPane;
- * import javafx.scene.shape.Rectangle;
- *
- * Rectangle rect = new Rectangle(200, 200, Color.RED);
+ * This example creates a ScrollPane, which contains a Rectangle:
+ * <pre><code> Rectangle rect = new Rectangle(200, 200, Color.RED);
  * ScrollPane s1 = new ScrollPane();
  * s1.setPrefSize(120, 120);
- * s1.setContent(rect);
- * </code></pre>
+ * s1.setContent(rect);</code></pre>
+ *
+ * <img src="doc-files/ScrollPane.png" alt="Image of the ScrollPane control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Separator.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Separator.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
 
 import javafx.css.converter.EnumConverter;
 import javafx.scene.control.skin.SeparatorSkin;
-
+import javafx.scene.layout.VBox;
 import javafx.css.Styleable;
 import javafx.css.StyleableProperty;
 
@@ -66,6 +66,18 @@
  * <p>
  * Separator sets focusTraversable to false.
  * </p>
+ *
+ * <p>
+ * Example:
+ * <pre><code> Button b0 = new Button("Button 0");
+ * Button b1 = new Button("Button 1");
+ * Button b2 = new Button("Button 2");
+ * Button b3 = new Button("Button 3");
+ * Separator separator = new Separator(Orientation.HORIZONTAL);
+ * VBox vBox = new VBox(b0, b1, separator, b2, b3);</code></pre>
+ *
+ * <img src="doc-files/Separator.png" alt="Image of the Separator control">
+ *
  * @since JavaFX 2.0
  */
 public class Separator extends Control {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/SeparatorMenuItem.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/SeparatorMenuItem.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,9 +39,15 @@
  * by a separator. Instead of a creating a {@link CustomMenuItem}  for this purpose, the user
  * can use this class as indicated below.
  *
-<pre><code>
-SeparatorMenuItem separatorMenuItem = new SeparatorMenuItem();
-</code></pre>
+<pre><code>MenuItem item1 = new MenuItem("Item1");
+MenuItem item2 = new MenuItem("Item2");
+SeparatorMenuItem separator = new SeparatorMenuItem();
+
+Menu menu = new Menu("Items");
+menu.getItems().addAll(item1, separator, item2);
+MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/SeparatorMenuItem.png" alt="Image of the SeparatorMenuItem control">
  *
  * @see CustomMenuItem
  * @see MenuItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Slider.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Slider.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,25 +78,20 @@
  * This first example creates a slider whose range, or span, goes from 0 to 1,
  * and whose value defaults to .5:
  *
- * <pre>
- * import javafx.scene.control.Slider;
- *
- * Slider slider = new Slider(0, 1, 0.5);
- * </pre>
+ * <pre> Slider slider = new Slider(0, 1, 0.5);</pre>
  *
  * <p>
  * This next example shows a slider with customized tick marks and tick mark
  * labels, which also spans from 0 to 1:
  *
- * <pre>
- * import javafx.scene.control.Slider;
- *
- * Slider slider = new Slider(0, 1, 0.5);
+ * <pre> Slider slider = new Slider(0, 1, 0.5);
  * slider.setShowTickMarks(true);
  * slider.setShowTickLabels(true);
  * slider.setMajorTickUnit(0.25f);
- * slider.setBlockIncrement(0.1f);
- * </pre>
+ * slider.setBlockIncrement(0.1f);</pre>
+ *
+ * <img src="doc-files/Slider.png" alt="Image of the Slider control">
+ *
  * @since JavaFX 2.0
  */
 public class Slider extends Control {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Spinner.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Spinner.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,6 +98,11 @@
  * To make sure the model has the same value as the editor, the user must commit
  * the edit using the Enter key.
  *
+ * <p>Example:
+ * <pre>Spinner spinner = new Spinner(0, 10, 5);</pre>
+ *
+ * <img src="doc-files/Spinner.png" alt="Image of the Spinner control">
+ *
  * @see SpinnerValueFactory
  * @param <T> The type of all values that can be iterated through in the Spinner.
  *            Common types include Integer and String.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/SplitMenuButton.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/SplitMenuButton.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,18 +48,12 @@
  * selected in the menu to be the action should the action region be clicked.
  *
  * <p>Example:</p>
- * <pre>
- * {@literal
- * SplitMenuButton m = new SplitMenuButton();
+ * <pre><code> SplitMenuButton m = new SplitMenuButton();
  * m.setText("Shutdown");
  * m.getItems().addAll(new MenuItem("Logout"), new MenuItem("Sleep"));
- * m.setOnAction(new EventHandler<ActionEvent>() {
- *     &#064;Override public void handle(ActionEvent e) {
- *         System.out.println("Shutdown");
- *     }
- * });
- * }
- * </pre>
+ * m.setOnAction(e {@literal ->} System.out.println("Shutdown"));</code></pre>
+ *
+ * <img src="doc-files/SplitMenuButton.png" alt="Image of the SplitMenuButton control">
  *
  * <p>
  * MnemonicParsing is enabled by default for SplitMenuButton.
@@ -69,7 +63,6 @@
  * @see Menu
  * @since JavaFX 2.0
  */
-
 public class SplitMenuButton extends MenuButton {
 
     /***************************************************************************
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/SplitPane.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/SplitPane.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -107,17 +107,17 @@
  * </p>
  *
  * <p>Example:</p>
- * <pre><code>
- * SplitPane sp = new SplitPane();
+ * <pre><code> SplitPane sp = new SplitPane();
  * final StackPane sp1 = new StackPane();
- * sp1.getItems().add(new Button("Button One"));
+ * sp1.getChildren().add(new Button("Button One"));
  * final StackPane sp2 = new StackPane();
- * sp2.getItems().add(new Button("Button Two"));
+ * sp2.getChildren().add(new Button("Button Two"));
  * final StackPane sp3 = new StackPane();
- * sp3.getItems().add(new Button("Button Three"));
+ * sp3.getChildren().add(new Button("Button Three"));
  * sp.getItems().addAll(sp1, sp2, sp3);
- * sp.setDividerPositions(0.3f, 0.6f, 0.9f);
- * </code></pre>
+ * sp.setDividerPositions(0.3f, 0.6f, 0.9f);</code></pre>
+ *
+ * <img src="doc-files/SplitPane.png" alt="Image of the SplitPane control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TabPane.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TabPane.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,13 +77,13 @@
  * </p>
  *
  * <p>Example:</p>
- * <pre><code>
- * TabPane tabPane = new TabPane();
+ * <pre><code> TabPane tabPane = new TabPane();
  * Tab tab = new Tab();
  * tab.setText("new tab");
- * tab.setContent(new Rectangle(200,200, Color.LIGHTSTEELBLUE));
- * tabPane.getTabs().add(tab);
- * </code></pre>
+ * tab.setContent(new Rectangle(100, 50, Color.LIGHTSTEELBLUE));
+ * tabPane.getTabs().add(tab);</code></pre>
+ *
+ * <img src="doc-files/TabPane.png" alt="Image of the TabPane control">
  *
  * @see Tab
  * @since JavaFX 2.0
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TableView.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TableView.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,7 @@
 import com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList;
 import com.sun.javafx.scene.control.behavior.TableCellBehavior;
 import com.sun.javafx.scene.control.behavior.TableCellBehaviorBase;
+
 import javafx.beans.*;
 import javafx.beans.Observable;
 import javafx.beans.property.BooleanProperty;
@@ -123,9 +124,7 @@
  * TableView. The {@code Person} class will consist of a first
  * name and last name properties. That is:
  *
- * <pre>
- * {@code
- * public class Person {
+ * <pre> {@code public class Person {
  *     private StringProperty firstName;
  *     public void setFirstName(String value) { firstNameProperty().set(value); }
  *     public String getFirstName() { return firstNameProperty().get(); }
@@ -141,27 +140,36 @@
  *         if (lastName == null) lastName = new SimpleStringProperty(this, "lastName");
  *         return lastName;
  *     }
+ *
+ *     public Person(String firstName, String lastName) {
+ *         setFirstName(firstName);
+ *         setLastName(lastName);
+ *     }
  * }}</pre>
  *
- * <p>Firstly, a TableView instance needs to be defined, as such:
+ * <p>The data we will use for this example is:
  *
- * <pre>
- * {@code
- * TableView<Person> table = new TableView<>();}</pre>
+ * <pre> {@code List<Person> members = List.of(
+ *     new Person("William", "Reed"),
+ *     new Person("James", "Michaelson"),
+ *     new Person("Julius", "Dean"));}</pre>
  *
- * <p>With the basic table defined, we next focus on the data model. As mentioned,
- * for this example, we'll be using an {@literal ObservableList<Person>}. We can immediately
- * set such a list directly in to the TableView, as such:
+ * <p>Firstly, we need to create a data model. As mentioned,
+ * for this example, we'll be using an {@literal ObservableList<Person>}:
  *
- * <pre>
- * {@code
- * ObservableList<Person> teamMembers = getTeamMembers();
+ * <pre> {@code ObservableList<Person> teamMembers = FXCollections.observableArrayList(members);}</pre>
+ *
+ * <p>Then we create a TableView instance:
+ *
+ * <pre> {@code TableView<Person> table = new TableView<>();
  * table.setItems(teamMembers);}</pre>
  *
  * <p>With the items set as such, TableView will automatically update whenever
  * the <code>teamMembers</code> list changes. If the items list is available
  * before the TableView is instantiated, it is possible to pass it directly into
- * the constructor.
+ * the constructor:
+ *
+ * <pre> {@code TableView<Person> table = new TableView<>(teamMembers);}</pre>
  *
  * <p>At this point we now have a TableView hooked up to observe the
  * <code>teamMembers</code> observableList. The missing ingredient
@@ -170,21 +178,18 @@
  * create a two-column TableView to show the firstName and lastName properties,
  * we extend the last code sample as follows:
  *
- * <pre>
- * {@code
- * ObservableList<Person> teamMembers = ...;
- * table.setItems(teamMembers);
- *
- * TableColumn<Person,String> firstNameCol = new TableColumn<>("First Name");
- * firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
- * TableColumn<Person,String> lastNameCol = new TableColumn<>("Last Name");
- * lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
+ * <pre> {@code TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
+ * firstNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).firstNameProperty().getName())));
+ * TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name");
+ * lastNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).lastNameProperty().getName())));
  *
  * table.getColumns().setAll(firstNameCol, lastNameCol);}</pre>
  *
+ * <img src="doc-files/TableView.png" alt="Image of the TableView control">
+ *
  * <p>With the code shown above we have fully defined the minimum properties
- * required to create a TableView instance. Running this code (assuming the
- * people ObservableList is appropriately created) will result in a TableView being
+ * required to create a TableView instance. Running this code  will result in the
+ * TableView being
  * shown with two columns for firstName and lastName. Any other properties of the
  * Person class will not be shown, as no TableColumns are defined.
  *
@@ -199,9 +204,7 @@
  * about cell value factories can be found in the {@link TableColumn} API
  * documentation, but briefly, here is how a TableColumn could be specified:
  *
- * <pre>
- * {@code
- * firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
+ * <pre> {@code firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
  *     public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
  *         // p.getValue() returns the Person instance for a particular TableView row
  *         return p.getValue().firstNameProperty();
@@ -209,8 +212,7 @@
  * });
  *
  * // or with a lambda expression:
- * firstNameCol.setCellValueFactory(p -> p.getValue().firstNameProperty());
- * }</pre>
+ * firstNameCol.setCellValueFactory(p -> p.getValue().firstNameProperty());}</pre>
  *
  * <h3>TableView Selection / Focus APIs</h3>
  * <p>To track selection and focus, it is necessary to become familiar with the
@@ -230,9 +232,7 @@
  * multiple selection in a default TableView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing TableView Visuals</h3>
  * <p>The visuals of the TableView can be entirely customized by replacing the
@@ -274,9 +274,7 @@
  * property to the TableView {@link #comparatorProperty() comparator} property,
  * list so:</p>
  *
- * <pre>
- * {@code
- * // create a SortedList based on the provided ObservableList
+ * <pre> {@code // create a SortedList based on the provided ObservableList
  * SortedList sortedList = new SortedList(FXCollections.observableArrayList(2, 1, 3));
  *
  * // create a TableView with the sorted list set as the items it will show
@@ -285,8 +283,7 @@
  * // bind the sortedList comparator to the TableView comparator
  * sortedList.comparatorProperty().bind(tableView.comparatorProperty());
  *
- * // Don't forget to define columns!
- * }</pre>
+ * // Don't forget to define columns!}</pre>
  *
  * <h3>Editing</h3>
  * <p>This control supports inline editing of values, and this section attempts to
@@ -899,10 +896,9 @@
     }
 
     /**
-     * This is the function called when the user completes a column-resize
-     * operation. The two most common policies are available as static functions
-     * in the TableView class: {@link #UNCONSTRAINED_RESIZE_POLICY} and
-     * {@link #CONSTRAINED_RESIZE_POLICY}.
+     * Called when the user completes a column-resize operation. The two most common
+     * policies are available as static functions in the TableView class:
+     * {@link #UNCONSTRAINED_RESIZE_POLICY} and {@link #CONSTRAINED_RESIZE_POLICY}.
      * @return columnResizePolicy property
      */
     public final ObjectProperty<Callback<ResizeFeatures, Boolean>> columnResizePolicyProperty() {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TextArea.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TextArea.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,6 +69,17 @@
  * way of informing the user as to what is expected in the text area, without
  * having to resort to {@link Tooltip tooltips} or on-screen {@link Label labels}.
  *
+ * <p>Example:
+ * <pre><code> var textArea = new TextArea("Lorem ipsum dolor sit amet, consectetur adipiscing elit, "
+ *        + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim "
+ *        + "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip "
+ *        + "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate "
+ *        + "velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat "
+ *        + "cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.");
+ * textArea.setWrapText(true);</code></pre>
+ *
+ * <img src="doc-files/TextArea.png" alt="Image of the TextArea control">
+ *
  * @see TextField
  * @since JavaFX 2.0
  */
@@ -609,6 +620,10 @@
         return new TextAreaSkin(this);
     }
 
+    @Override
+    String filterInput(String text) {
+        return TextInputControl.filterInput(text, false, false);
+    }
 
     /***************************************************************************
      *                                                                         *
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TextField.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TextField.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,7 +51,6 @@
 
 import javafx.css.Styleable;
 
-
 /**
  * Text input component that allows a user to enter a single line of
  * unformatted text. Unlike in previous releases of JavaFX, support for multi-line
@@ -66,6 +65,11 @@
  * way of informing the user as to what is expected in the text field, without
  * having to resort to {@link Tooltip tooltips} or on-screen {@link Label labels}.
  *
+ * <p>Example:
+ * <pre> var textField = new TextField("Hello World!");</pre>
+ *
+ * <img src="doc-files/TextField.png" alt="Image of the TextField control">
+ *
  * @see TextArea
  * @since JavaFX 2.0
  */
@@ -272,6 +276,11 @@
         return new TextFieldSkin(this);
     }
 
+    @Override
+    String filterInput(String text) {
+        return TextInputControl.filterInput(text, true, true);
+    }
+
     /***************************************************************************
      *                                                                         *
      * Stylesheet Handling                                                     *
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TextInputControl.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TextInputControl.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -546,12 +546,15 @@
         if (!this.text.isBound()) {
             final int oldLength = getLength();
             TextFormatter<?> formatter = getTextFormatter();
-            TextFormatter.Change change = new TextFormatter.Change(this, getFormatterAccessor(), start, end, text);
+            TextFormatter.Change change;
             if (formatter != null && formatter.getFilter() != null) {
+                change = new TextFormatter.Change(this, getFormatterAccessor(), start, end, text);
                 change = formatter.getFilter().apply(change);
                 if (change == null) {
                     return;
                 }
+            } else {
+                change = new TextFormatter.Change(this, getFormatterAccessor(), start, end, filterInput(text));
             }
 
             // Update the content
@@ -1289,6 +1292,11 @@
         return accessor;
     }
 
+    String filterInput(String text) {
+        // This method should be overridden by child classes.
+        // It is overridden in TextField and TextArea as needed.
+        return text;
+    }
 
     /**
      * A little utility method for stripping out unwanted characters.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TitledPane.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TitledPane.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -68,9 +68,9 @@
  * results you are after.</p>
  *
  * <p>Example:</p>
- * <pre><code>
- *  TitledPane t1 = new TitledPane("T1", new Button("B1"));
- * </code></pre>
+ * <pre><code> TitledPane t1 = new TitledPane("T1", new Button("B1"));</code></pre>
+ *
+ * <img src="doc-files/TitledPane.png" alt="Image of the TitledPane control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ToggleButton.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ToggleButton.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,15 +69,15 @@
  * </p>
  *
  * <p>Example:</p>
- * <pre><code>
- * ToggleButton tb1 = new ToggleButton("toggle button 1");
+ * <pre><code> ToggleButton tb1 = new ToggleButton("toggle button 1");
  * ToggleButton tb2 = new ToggleButton("toggle button 2");
  * ToggleButton tb3 = new ToggleButton("toggle button 3");
  * ToggleGroup group = new ToggleGroup();
  * tb1.setToggleGroup(group);
  * tb2.setToggleGroup(group);
- * tb3.setToggleGroup(group);
- * </code></pre>
+ * tb3.setToggleGroup(group);</code></pre>
+ *
+ * <img src="doc-files/ToggleButton.png" alt="Image of the ToggleButton control">
  *
  * <p>
  * MnemonicParsing is enabled by default for ToggleButton.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ToolBar.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ToolBar.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,20 +66,20 @@
  * <p>
  * Example of a horizontal ToolBar with eight buttons separated with two vertical separators.
  * </p>
- * <pre><code>
- * ToolBar toolBar = new ToolBar(
+ * <pre><code> ToolBar toolBar = new ToolBar(
  *     new Button("New"),
  *     new Button("Open"),
  *     new Button("Save"),
- *     new Separator(true),
+ *     new Separator(),
  *     new Button("Clean"),
  *     new Button("Compile"),
  *     new Button("Run"),
- *     new Separator(true),
+ *     new Separator(),
  *     new Button("Debug"),
  *     new Button("Profile")
- * );
- * </code></pre>
+ * );</code></pre>
+ *
+ * <img src="doc-files/ToolBar.png" alt="Image of the ToolBar control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Tooltip.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Tooltip.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
 
 package javafx.scene.control;
 
-
 import com.sun.javafx.beans.IDProperty;
 import com.sun.javafx.css.StyleManager;
 import com.sun.javafx.scene.NodeHelper;
@@ -71,7 +70,6 @@
 import javafx.stage.Window;
 import javafx.util.Duration;
 
-
 /**
  * Tooltips are common UI elements which are typically used for showing
  * additional information about a Node in the scenegraph when the Node is
@@ -84,11 +82,9 @@
  *
  * <p>You use the following approach to set a Tooltip on any node:
  *
- * <pre>
- * Rectangle rect = new Rectangle(0, 0, 100, 100);
+ * <pre> Rectangle rect = new Rectangle(0, 0, 100, 100);
  * Tooltip t = new Tooltip("A Square");
- * Tooltip.install(rect, t);
- * </pre>
+ * Tooltip.install(rect, t);</pre>
  *
  * This tooltip will then participate with the typical tooltip semantics (i.e.
  * appearing on hover, etc). Note that the Tooltip does not have to be
@@ -102,13 +98,11 @@
  * for all controls to make installing a Tooltip less verbose. The example below
  * shows how to create a tooltip for a Button control:
  *
- * <pre>
- * import javafx.scene.control.Tooltip;
- * import javafx.scene.control.Button;
+ * <pre> Button button = new Button("Hover Over Me");
+ * button.setTooltip(new Tooltip("Tooltip for Button"));</pre>
  *
- * Button button = new Button("Hover Over Me");
- * button.setTooltip(new Tooltip("Tooltip for Button"));
- * </pre>
+ * <img src="doc-files/Tooltip.png" alt="Image of the Tooltip control">
+ *
  * @since JavaFX 2.0
  */
 @IDProperty("id")
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableView.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableView.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 import com.sun.javafx.scene.control.behavior.TableCellBehavior;
 import com.sun.javafx.scene.control.behavior.TableCellBehaviorBase;
 import com.sun.javafx.scene.control.behavior.TreeTableCellBehavior;
+
 import javafx.beans.property.DoubleProperty;
 import javafx.css.CssMetaData;
 import javafx.css.PseudoClass;
@@ -137,8 +138,7 @@
  * the TreeTableView to visualise a file system, and will therefore make use
  * of an imaginary (and vastly simplified) File class as defined below:
  *
- * <pre>{@code
- * public class File {
+ * <pre> {@code public class File {
  *     private StringProperty name;
  *     public void setName(String value) { nameProperty().set(value); }
  *     public String getName() { return nameProperty().get(); }
@@ -154,36 +154,46 @@
  *         if (lastModified == null) lastModified = new SimpleLongProperty(this, "lastModified");
  *         return lastModified;
  *     }
+ *
+ *     public File(String name, long size) {
+ *         setName(name);
+ *         setSize(size);
+ *     }
  * }}</pre>
  *
- * <p>Firstly, a TreeTableView instance needs to be defined, as such:
+ * <p>The data we will use for this example is a single root with 3 files:
  *
- * <pre>{@code
- * TreeTableView<File> treeTable = new TreeTableView<>();}</pre>
+ * <pre> {@code File rootFile = new File("Images", 900);
+ * List<File> files = List.of(
+ *     new File("Cat.png", 300),
+ *     new File("Dog.png", 500),
+ *     new File("Bird.png", 100));}</pre>
  *
- * <p>With the basic TreeTableView instantiated, we next focus on the data model.
- * As mentioned, for this example, we'll be representing a file system using File
- * instances. To do this, we need to define the root node of the tree table, as such:
+ * <p>Firstly, we need to create a data model. As mentioned, for this example,
+ * we'll be representing a file system using File instances. To do this, we need
+ * to define the root node of the tree table and its hierarchy:
  *
- * <pre>{@code
- * TreeItem<File> root = new TreeItem<>(new File("/"));
- * treeTable.setRoot(root);}</pre>
+ * <pre> {@code TreeItem<File> root = new TreeItem<>(rootFile);
+ * files.forEach(file -> root.getChildren().add(new TreeItem<>(file)));}</pre>
+ *
+ * <p> Then we create a TreeTableView instance:
+ *
+ * <pre> {@code TreeTableView<File> treeTable = new TreeTableView<>(root);}</pre>
  *
  * <p>With the root set as such, the TreeTableView will automatically update whenever
- * the {@link TreeItem#getChildren() children} of the root changes.
+ * the {@link TreeItem#getChildren() children} of the root change.
  *
- * <p>At this point we now have a TreeTableView hooked up to observe the root
+ * <p>At this point we have a TreeTableView hooked up to observe the root
  * TreeItem instance. The missing ingredient
  * now is the means of splitting out the data contained within the model and
  * representing it in one or more {@link TreeTableColumn} instances. To
- * create a two-column TreeTableView to show the file name and last modified
- * properties, we extend the code shown above as follows:
+ * create a two-column TreeTableView to show the file name and size
+ * properties, we write:
  *
- * <pre>{@code
- * TreeTableColumns<File,String> fileNameCol = new TreeTableColumn<>("Filename");
- * TreeTableColumns<File,Long> lastModifiedCol = new TreeTableColumn<>("Size");
+ * <pre> {@code TreeTableColumns<File, String> fileNameCol = new TreeTableColumn<>("Filename");
+ * TreeTableColumns<File, Long> sizeCol = new TreeTableColumn<>("Size");
  *
- * table.getColumns().setAll(fileNameCol, lastModifiedCol);}</pre>
+ * treeTable.getColumns().setAll(fileNameCol, sizeCol);}</pre>
  *
  * <p>With the code shown above we have nearly fully defined the minimum properties
  * required to create a TreeTableView instance. The only thing missing is the
@@ -195,14 +205,14 @@
  * necessary. For example, using {@link javafx.scene.control.cell.TreeItemPropertyValueFactory}
  * you would do the following:
  *
- * <pre>{@code
- * fileNameCol.setCellValueFactory(new TreeItemPropertyValueFactory("name"));
- * lastModifiedCol.setCellValueFactory(new TreeItemPropertyValueFactory("lastModified"));}</pre>
+ * <pre> {@code fileNameCol.setCellValueFactory(new TreeItemPropertyValueFactory(rootFile.nameProperty().getName()));
+ * sizeCol.setCellValueFactory(new TreeItemPropertyValueFactory(rootFile.sizeProperty().getName()));}</pre>
  *
- * Running this code (assuming the file system structure is probably built up in
- * memory) will result in a TreeTableView being shown with two columns for name
- * and lastModified. Any other properties of the File class will not be shown, as
- * no TreeTableColumns are defined for them.
+ * <img src="doc-files/TreeTableView.png" alt="Image of the TreeTableView control">
+ *
+ * <p>Running this code will result in a TreeTableView as shown above with two columns
+ * for name and size. Any other properties the File class might have will not be shown,
+ * as no TreeTableColumns are defined for them.
  *
  * <h3>TreeTableView support for classes that don't contain properties</h3>
  *
@@ -215,15 +225,16 @@
  * about cell value factories can be found in the {@link TreeTableColumn} API
  * documentation, but briefly, here is how a TreeTableColumns could be specified:
  *
- * <pre>{@code
- * firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
+ * <pre> {@code firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
  *     public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
  *         // p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
  *         // p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
  *         return p.getValue().getValue().firstNameProperty();
  *     }
- *  });
- * }}</pre>
+ * });
+ *
+ * // or with a lambda expression:
+ * firstNameCol.setCellValueFactory(p -> p.getValue().getValue().firstNameProperty());}</pre>
  *
  * <h3>TreeTableView Selection / Focus APIs</h3>
  * <p>To track selection and focus, it is necessary to become familiar with the
@@ -243,9 +254,7 @@
  * multiple selection in a default TreeTableView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing TreeTableView Visuals</h3>
  * <p>The visuals of the TreeTableView can be entirely customized by replacing the
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TreeView.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TreeView.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -80,16 +80,17 @@
  * For more information on building up a tree using this approach, refer to the
  * {@link TreeItem} class documentation. Briefly however, to create a TreeView,
  * you should do something along the lines of the following:
- * <pre><code>
- * TreeItem&lt;String&gt; root = new TreeItem&lt;String&gt;("Root Node");
+ *
+ * <pre><code> TreeItem&lt;String&gt; root = new TreeItem&lt;&gt;("Root Node");
  * root.setExpanded(true);
  * root.getChildren().addAll(
- *     new TreeItem&lt;String&gt;("Item 1"),
- *     new TreeItem&lt;String&gt;("Item 2"),
- *     new TreeItem&lt;String&gt;("Item 3")
+ *     new TreeItem&lt;&gt;("Item 1"),
+ *     new TreeItem&lt;&gt;("Item 2"),
+ *     new TreeItem&lt;&gt;("Item 3")
  * );
- * TreeView&lt;String&gt; treeView = new TreeView&lt;String&gt;(root);
- * </code></pre>
+ * TreeView&lt;String&gt; treeView = new TreeView&lt;&gt;(root);</code></pre>
+ *
+ * <img src="doc-files/TreeView.png" alt="Image of the TreeView control">
  *
  * <p>
  * A TreeView may be configured to optionally hide the root node by setting the
@@ -116,9 +117,7 @@
  * multiple selection in a default TreeView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing TreeView Visuals</h3>
  * <p>The visuals of the TreeView can be entirely customized by replacing the
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/package.html	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/package.html	Wed Mar 13 09:30:47 2019 +0530
@@ -156,6 +156,6 @@
     <p>The class documentation for each Control defines the default Skin
     regions which can be styled. For further information regarding the CSS
     capabilities provided with JavaFX, see the
-    <a href="../doc-files/cssref.html">CSS Reference Guide</a>.</p>
+    <a href="../../../../javafx.graphics/javafx/scene/doc-files/cssref.html">CSS Reference Guide</a>.</p>
 </body>
 </html>
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/skin/TableColumnHeader.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/skin/TableColumnHeader.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1095,8 +1095,9 @@
     }
 
     /**
-     * Returnst the CssMetaData associated with this class, which may include the
+     * Returns the CssMetaData associated with this class, which may include the
      * CssMetaData of its superclasses.
+     *
      * @return the CssMetaData associated with this class, which may include the
      * CssMetaData of its superclasses
      */
--- a/modules/javafx.controls/src/test/java/test/javafx/scene/control/TextInputControlTest.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.controls/src/test/java/test/javafx/scene/control/TextInputControlTest.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-
+import static org.junit.Assert.fail;
 /**
  */
 @RunWith(Parameterized.class)
@@ -235,7 +235,33 @@
         assertTrue(passed[0]);
     }
 
-    // TODO test that setting text which includes a \n works
+    // Test for JDK-8212102
+    @Test public void testControlCharacters() {
+        try {
+            String cc = "\r\n\n";
+            String str = "123456";
+
+            textInput.setText(cc);
+
+            textInput.setText(str);
+            textInput.replaceText(0, 6, cc);
+
+            textInput.setText(str);
+            textInput.replaceText(new IndexRange(0, 6), cc);
+
+            textInput.setText(str);
+            textInput.selectAll();
+            textInput.replaceSelection(cc);
+
+            textInput.setText(str);
+            textInput.selectRange(0, 6);
+            textInput.replaceSelection(cc);
+
+        } catch (Exception e) {
+            fail("Control characters(\\r\\n) caused Exception: " + e);
+        }
+    }
+
     @Test public void controlCharactersAreOmitted_setText_getText() {
         String s = "This is " + '\0' + "a test";
         textInput.setText(s);
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/font/CompositeGlyphMapper.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/font/CompositeGlyphMapper.java	Wed Mar 13 09:30:47 2019 +0530
@@ -100,7 +100,6 @@
                 return glyphCode;
             }
         }
-        glyphMap.put(unicode, missingGlyph);
         return missingGlyph;
     }
 
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/DWFactory.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/DWFactory.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
 import com.sun.javafx.font.PrismFontFactory;
 import com.sun.javafx.font.PrismFontFile;
 import com.sun.javafx.text.GlyphLayout;
+import com.sun.prism.GraphicsPipeline;
 
 public class DWFactory extends PrismFontFactory {
 
@@ -120,7 +121,24 @@
         checkThread();
         /* Using single threaded WIC Factory as it should only be used by the rendering thread */
         if (WIC_FACTORY == null) {
+            /* Initialize COM in order to create a WICImagingFactory.
+             * It runs on the prism thread and expects no other code in this thread
+             * to interface with COM. */
+            if (!OS.CoInitializeEx(OS.COINIT_APARTMENTTHREADED | OS.COINIT_DISABLE_OLE1DDE)) {
+                return null;
+            }
+
             WIC_FACTORY = OS.WICCreateImagingFactory();
+            if (WIC_FACTORY == null) {
+                return null;
+            }
+
+            GraphicsPipeline.getPipeline().addDisposeHook(() -> {
+                checkThread();
+                WIC_FACTORY.Release();
+                OS.CoUninitialize();
+                WIC_FACTORY = null;
+            });
         }
         return WIC_FACTORY;
     }
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/DWGlyph.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/DWGlyph.java	Wed Mar 13 09:30:47 2019 +0530
@@ -52,6 +52,7 @@
     private static D2D1_COLOR_F WHITE = new D2D1_COLOR_F(1f, 1f, 1f, 1f);
     private static D2D1_MATRIX_3X2_F D2D2_MATRIX_IDENTITY = new D2D1_MATRIX_3X2_F(1,0, 0,1, 0,0);
 
+    public static final int SHORTMASK = 0x0000ffff;
 
     DWGlyph(DWFontStrike strike, int glyphCode, boolean drawShapes) {
         this.strike = strike;
@@ -303,12 +304,12 @@
 
     @Override
     public int getGlyphCode() {
-        return run.glyphIndices;
+        return (run.glyphIndices & SHORTMASK);
     }
 
     @Override
     public RectBounds getBBox() {
-        return strike.getBBox(run.glyphIndices);
+        return strike.getBBox(run.glyphIndices & SHORTMASK);
     }
 
     @Override
@@ -321,7 +322,7 @@
 
     @Override
     public Shape getShape() {
-        return strike.createGlyphOutline(run.glyphIndices);
+        return strike.createGlyphOutline(run.glyphIndices & SHORTMASK);
     }
 
     @Override
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/DWGlyphLayout.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/DWGlyphLayout.java	Wed Mar 13 09:30:47 2019 +0530
@@ -145,7 +145,7 @@
                 missingGlyph = true;
                 if (composite) break;
             }
-            iglyphs[i] = glyphs[j] | slotMask;
+            iglyphs[i] = (glyphs[j] & DWGlyph.SHORTMASK) | slotMask;
             i++;
             j+=step;
         }
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/OS.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/font/directwrite/OS.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,10 @@
     static final int S_OK = 0x0;
     static final int E_NOT_SUFFICIENT_BUFFER = 0x8007007A;
 
+    /* COM init constants */
+    static final int COINIT_APARTMENTTHREADED = 0x2;
+    static final int COINIT_DISABLE_OLE1DDE = 0x4;
+
     /* Direct2D constants */
     static final int D2D1_FACTORY_TYPE_SINGLE_THREADED = 0;
     static final int D2D1_RENDER_TARGET_TYPE_DEFAULT    = 0;
@@ -175,6 +179,9 @@
         return ptr != 0 ? new IWICImagingFactory(ptr) : null;
     }
 
+    static final native boolean CoInitializeEx(int dwCoInit);
+    static final native void CoUninitialize();
+
     private static final native long _NewJFXTextAnalysisSink(char[] text,
                                                              int start,
                                                              int length,
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java	Wed Mar 13 09:30:47 2019 +0530
@@ -832,7 +832,10 @@
     // closed notification. This state is necessary to prevent the platform
     // window from being closed more than once.
     void setPlatformWindowClosed() {
-        platformWindow = null;
+        if (platformWindow != null) {
+            platformWindows.remove(platformWindow);
+            platformWindow = null;
+        }
     }
 
     static void addActiveWindow(WindowStage window) {
--- a/modules/javafx.graphics/src/main/java/com/sun/prism/GraphicsPipeline.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/com/sun/prism/GraphicsPipeline.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,9 +31,12 @@
 import com.sun.prism.impl.PrismSettings;
 
 import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public abstract class GraphicsPipeline {
 
@@ -56,12 +59,40 @@
         SM3
     }
     private FontFactory fontFactory;
+    private final Set<Runnable> disposeHooks = new HashSet<Runnable>();
 
     public abstract boolean init();
     public void dispose() {
+        notifyDisposeHooks();
         installedPipeline = null;
     }
 
+    /**
+     * Add a dispose hook to be called when the pipeline is disposed.
+     *
+     * @param runnable the {@link Runnable} to be called when the pipeline is disposed
+     */
+    public void addDisposeHook(Runnable runnable) {
+        if (runnable == null) {
+            return;
+        }
+        synchronized (disposeHooks) {
+            disposeHooks.add(runnable);
+        }
+    }
+
+    private void notifyDisposeHooks() {
+        List<Runnable> hooks;
+        synchronized (disposeHooks) {
+            hooks = new ArrayList<Runnable>(disposeHooks);
+            disposeHooks.clear();
+        }
+
+        for (Runnable hook : hooks) {
+            hook.run();
+        }
+    }
+
     public abstract int getAdapterOrdinal(Screen screen);
 
     /*
--- a/modules/javafx.graphics/src/main/java/javafx/animation/Animation.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/animation/Animation.java	Wed Mar 13 09:30:47 2019 +0530
@@ -640,7 +640,7 @@
     /**
      * The status of the {@code Animation}.
      *
-     * In {@code Animation} can be in one of three states:
+     * An {@code Animation} can be in one of three states:
      * {@link Status#STOPPED}, {@link Status#PAUSED} or {@link Status#RUNNING}.
      */
     private ReadOnlyObjectProperty<Status> status;
--- a/modules/javafx.graphics/src/main/java/javafx/animation/Timeline.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/animation/Timeline.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,14 +62,12 @@
  * has to be stopped and started again to pick up the new value.
  * <p>
  * A simple Timeline can be created like this:
- * <pre>{@code
- * final Timeline timeline = new Timeline();
+ * <pre> {@code final Timeline timeline = new Timeline();
  * timeline.setCycleCount(2);
  * timeline.setAutoReverse(true);
  * timeline.getKeyFrames().add(new KeyFrame(Duration.millis(5000),
  *   new KeyValue (node.translateXProperty(), 25)));
- * timeline.play();
- * }</pre>
+ * timeline.play();}</pre>
  * <p>
  * This Timeline will run for 10s, animating the node by x axis to value 25 and then back to 0 on the second cycle.
  * <p>
--- a/modules/javafx.graphics/src/main/java/javafx/animation/Transition.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/animation/Transition.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,10 +52,7 @@
  * with an empty {@code String} and adds gradually letter by letter until the
  * full {@code String} was set when the animation finishes.
  *
- * <pre>
- * {@code
- *
- * final String content = "Lorem ipsum";
+ * <pre> {@code final String content = "Lorem ipsum";
  * final Text text = new Text(10, 20, "");
  *
  * final Animation animation = new Transition() {
@@ -71,8 +68,7 @@
  *
  * };
  *
- * animation.play();
- * }</pre>
+ * animation.play();}</pre>
  *
  * @see Animation
  *
--- a/modules/javafx.graphics/src/main/java/javafx/application/Application.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/application/Application.java	Wed Mar 13 09:30:47 2019 +0530
@@ -185,12 +185,12 @@
 
     /**
      * Launch a standalone application. This method is typically called
-     * from the main method(). It must not be called more than once or an
+     * from the {@code main} method. It must not be called more than once or an
      * exception will be thrown.
      *
      * <p>
      * The launch method does not return until the application has exited,
-     * either via a call to Platform.exit or all of the application windows
+     * either via a call to {@link Platform#exit()} or all of the application windows
      * have been closed.
      * The class specified by the {@code appClass} argument must be
      * a public subclass of {@code Application}
@@ -229,7 +229,7 @@
 
     /**
      * Launch a standalone application. This method is typically called
-     * from the main method(). It must not be called more than once or an
+     * from the {@code main} method. It must not be called more than once or an
      * exception will be thrown.
      * This is equivalent to {@code launch(TheClass.class, args)} where
      * {@code TheClass} is the
@@ -242,7 +242,7 @@
      *
      * <p>
      * The launch method does not return until the application has exited,
-     * either via a call to Platform.exit or all of the application windows
+     * either via a call to {@link Platform#exit()} or all of the application windows
      * have been closed.
      *
      * <p>
--- a/modules/javafx.graphics/src/main/java/javafx/scene/Node.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/Node.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1078,9 +1078,20 @@
         // isTreeShowing needs to take into account of Window's showing
         if (oldScene != null) {
             oldScene.windowProperty().removeListener(sceneWindowChangedListener);
+
+            Window window = oldScene.windowProperty().get();
+            if (window != null) {
+                window.showingProperty().removeListener(windowShowingChangedListener);
+            }
         }
         if (newScene != null) {
             newScene.windowProperty().addListener(sceneWindowChangedListener);
+
+            Window window = newScene.windowProperty().get();
+            if (window != null) {
+                window.showingProperty().addListener(windowShowingChangedListener);
+            }
+
         }
         updateTreeShowing();
 
--- a/modules/javafx.graphics/src/main/java/javafx/scene/Parent.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/Parent.java	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -194,7 +194,8 @@
         }
 
         if (isDirty(DirtyBits.PARENT_CHILDREN_VIEW_ORDER)) {
-            computeViewOrderChidrenAndUpdatePeer();
+            computeViewOrderChildren();
+            peer.setViewOrderChildren(viewOrderChildren);
         }
 
         if (Utils.assertionEnabled()) validatePG();
@@ -265,7 +266,7 @@
         NodeHelper.markDirty(this, DirtyBits.PARENT_CHILDREN_VIEW_ORDER);
     }
 
-    private void computeViewOrderChidrenAndUpdatePeer() {
+    private void computeViewOrderChildren() {
         boolean viewOrderSet = false;
         for (Node child : children) {
             double vo = child.getViewOrder();
@@ -284,14 +285,15 @@
                     -> a.getViewOrder() < b.getViewOrder() ? 1
                             : a.getViewOrder() == b.getViewOrder() ? 0 : -1);
         }
-
-        final NGGroup peer = getPeer();
-        peer.setViewOrderChildren(viewOrderChildren);
     }
 
     // Call this method if children view order is needed for picking.
     // The returned list should be treated as read only.
     private List<Node> getOrderedChildren() {
+        if (isDirty(DirtyBits.PARENT_CHILDREN_VIEW_ORDER)) {
+            //Fix for JDK-8205092
+            computeViewOrderChildren();
+        }
         if (!viewOrderChildren.isEmpty()) {
             return viewOrderChildren;
         }
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/GridPane.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/GridPane.java	Wed Mar 13 09:30:47 2019 +0530
@@ -136,7 +136,7 @@
  *
  * By default, rows and columns will be sized to fit their content;
  * a column will be wide enough to accommodate the widest child, a
- * row tall enough to fit the tallest child.However, if an application needs
+ * row tall enough to fit the tallest child. However, if an application needs
  * to explicitly control the size of rows or columns, it may do so by adding
  * RowConstraints and ColumnConstraints objects to specify those metrics.
  * For example, to create a grid with two fixed-width columns:
@@ -962,7 +962,7 @@
     public final ObservableList<ColumnConstraints> getColumnConstraints() { return columnConstraints; }
 
     /**
-     * Adds a child to the gridpane at the specified column,row position.
+     * Adds a child to the gridpane at the specified [column, row] position.
      * This convenience method will set the gridpane column and row constraints
      * on the child.
      * @param child the node being added to the gridpane
@@ -975,7 +975,7 @@
     }
 
     /**
-     * Adds a child to the gridpane at the specified column,row position and spans.
+     * Adds a child to the gridpane at the specified [column, row] position and spans.
      * This convenience method will set the gridpane column, row, and span constraints
      * on the child.
      * @param child the node being added to the gridpane
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/Region.java	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/Region.java	Wed Mar 13 09:30:47 2019 +0530
@@ -646,8 +646,8 @@
     /**
      * The top, right, bottom, and left padding around the region's content.
      * This space will be included in the calculation of the region's
-     * minimum and preferred sizes. By default padding is Insets.EMPTY. Setting the
-     * value to null should be avoided.
+     * minimum and preferred sizes. By default, padding is {@code Insets.EMPTY}. Setting the
+     * value to {@code null} should be avoided.
      */
     private ObjectProperty<Insets> padding = new StyleableObjectProperty<Insets>(Insets.EMPTY) {
         // Keep track of the last valid value for the sake of
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/javafx.graphics/src/main/legal/mesa3d.md	Wed Mar 13 09:30:47 2019 +0530
@@ -0,0 +1,28 @@
+## Mesa 3-D Graphics Library v5.0
+
+### Mesa License
+<pre>
+
+Mesa 3-D graphics library
+Version:  5.0
+
+Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+</pre>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/javafx.graphics/src/main/legal/opengl_fx.md	Wed Mar 13 09:30:47 2019 +0530
@@ -0,0 +1,27 @@
+## Khronos Group OpenGL Headers v4.6
+
+### Khronos Group License
+<pre>
+
+Copyright (c) 2008-2018 The Khronos Group Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Materials.
+
+THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+</pre>
--- a/modules/javafx.graphics/src/main/native-font/directwrite.cpp	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/native-font/directwrite.cpp	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -845,30 +845,35 @@
 /*                                                                        */
 /**************************************************************************/
 
+JNIEXPORT jboolean JNICALL OS_NATIVE(CoInitializeEx)
+    (JNIEnv *env, jclass that, jint arg0)
+{
+    HRESULT hr = CoInitializeEx(NULL, (DWORD)arg0);
+
+    /* This means COM has been initialized with a different concurrency model.
+     * This should never happen. */
+    if (hr == RPC_E_CHANGED_MODE) return JNI_FALSE;
+
+    return JNI_TRUE;
+}
+
+JNIEXPORT void JNICALL OS_NATIVE(CoUninitialize)
+    (JNIEnv *env, jclass that)
+{
+    CoUninitialize();
+}
+
 JNIEXPORT jlong JNICALL OS_NATIVE(_1WICCreateImagingFactory)
     (JNIEnv *env, jclass that)
 {
-    /* This routine initialize COM in order to create an WICImagingFactory.
-     * It runs on the prism thread and expects no other codes in this thread
-     * to interface with COM.
-     * Note: This method is called by DWFactory a single time.
-     */
-    HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
-
-    /* This means COM has been initialize with a different concurrency model.
-     * This should never happen. */
-    if (hr == RPC_E_CHANGED_MODE) return NULL;
-
     IWICImagingFactory* result = NULL;
-    hr = CoCreateInstance(
+    HRESULT hr = CoCreateInstance(
             CLSID_WICImagingFactory,
             NULL,
             CLSCTX_INPROC_SERVER,
             IID_PPV_ARGS(&result)
             );
 
-    /* Unload COM as no other COM objects will be create directly */
-    CoUninitialize();
     return SUCCEEDED(hr) ? (jlong)result : NULL;
 }
 
--- a/modules/javafx.graphics/src/main/native-glass/mac/GlassViewDelegate.m	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/native-glass/mac/GlassViewDelegate.m	Wed Mar 13 09:30:47 2019 +0530
@@ -455,9 +455,17 @@
     jdouble rotationY = 0.0;
     if (type == com_sun_glass_events_MouseEvent_WHEEL)
     {
-        rotationX = (jdouble)[theEvent scrollingDeltaX] * 0.1;
-        rotationY = (jdouble)[theEvent scrollingDeltaY] * 0.1;
-
+        if ([theEvent hasPreciseScrollingDeltas])
+        {
+            rotationX = (jdouble)[theEvent scrollingDeltaX] * 0.1;
+            rotationY = (jdouble)[theEvent scrollingDeltaY] * 0.1;
+        }
+        else
+        {
+            rotationX = (jdouble)[theEvent deltaX];
+            rotationY = (jdouble)[theEvent deltaY];
+        }
+        
         //XXX: check for equality for doubles???
         if (rotationX == 0.0 && rotationY == 0.0)
         {
--- a/modules/javafx.graphics/src/main/native-prism-d3d/D3DPhongShaderGen.cc	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/native-prism-d3d/D3DPhongShaderGen.cc	Wed Mar 13 09:30:47 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,204 +33,204 @@
 
 shader(vsMtl1_Obj)
 #include "hlsl/Mtl1VS_Obj.h"
-endshader(vs, 20)
+endshader(vs, 30)
 
 shader(psMtl1)
 #include "hlsl/Mtl1PS.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_i)
 #include "hlsl/Mtl1PS_i.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1n)
 #include "hlsl/Mtl1PS_s1n.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2n)
 #include "hlsl/Mtl1PS_s2n.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3n)
 #include "hlsl/Mtl1PS_s3n.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1t)
 #include "hlsl/Mtl1PS_s1t.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2t)
 #include "hlsl/Mtl1PS_s2t.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3t)
 #include "hlsl/Mtl1PS_s3t.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1c)
 #include "hlsl/Mtl1PS_s1c.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2c)
 #include "hlsl/Mtl1PS_s2c.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3c)
 #include "hlsl/Mtl1PS_s3c.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1m)
 #include "hlsl/Mtl1PS_s1m.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2m)
 #include "hlsl/Mtl1PS_s2m.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3m)
 #include "hlsl/Mtl1PS_s3m.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1n)
 #include "hlsl/Mtl1PS_b1n.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2n)
 #include "hlsl/Mtl1PS_b2n.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3n)
 #include "hlsl/Mtl1PS_b3n.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1t)
 #include "hlsl/Mtl1PS_b1t.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2t)
 #include "hlsl/Mtl1PS_b2t.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3t)
 #include "hlsl/Mtl1PS_b3t.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1c)
 #include "hlsl/Mtl1PS_b1c.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2c)
 #include "hlsl/Mtl1PS_b2c.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3c)
 #include "hlsl/Mtl1PS_b3c.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1m)
 #include "hlsl/Mtl1PS_b1m.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2m)
 #include "hlsl/Mtl1PS_b2m.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3m)
 #include "hlsl/Mtl1PS_b3m.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1ni)
 #include "hlsl/Mtl1PS_s1ni.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2ni)
 #include "hlsl/Mtl1PS_s2ni.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3ni)
 #include "hlsl/Mtl1PS_s3ni.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1ti)
 #include "hlsl/Mtl1PS_s1ti.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2ti)
 #include "hlsl/Mtl1PS_s2ti.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3ti)
 #include "hlsl/Mtl1PS_s3ti.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1ci)
 #include "hlsl/Mtl1PS_s1ci.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2ci)
 #include "hlsl/Mtl1PS_s2ci.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3ci)
 #include "hlsl/Mtl1PS_s3ci.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s1mi)
 #include "hlsl/Mtl1PS_s1mi.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s2mi)
 #include "hlsl/Mtl1PS_s2mi.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_s3mi)
 #include "hlsl/Mtl1PS_s3mi.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1ni)
 #include "hlsl/Mtl1PS_b1ni.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2ni)
 #include "hlsl/Mtl1PS_b2ni.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3ni)
 #include "hlsl/Mtl1PS_b3ni.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1ti)
 #include "hlsl/Mtl1PS_b1ti.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2ti)
 #include "hlsl/Mtl1PS_b2ti.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3ti)
 #include "hlsl/Mtl1PS_b3ti.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1ci)
 #include "hlsl/Mtl1PS_b1ci.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2ci)
 #include "hlsl/Mtl1PS_b2ci.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3ci)
 #include "hlsl/Mtl1PS_b3ci.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b1mi)
 #include "hlsl/Mtl1PS_b1mi.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b2mi)
 #include "hlsl/Mtl1PS_b2mi.h"
-endshader(ps, 20)
+endshader(ps, 30)
 
 shader(psMtl1_b3mi)
 #include "hlsl/Mtl1PS_b3mi.h"
-endshader(ps, 20)
+endshader(ps, 30)
--- a/modules/javafx.graphics/src/main/native-prism-es2/GL/glext.h	Fri Jan 11 07:56:05 2019 -0800
+++ b/modules/javafx.graphics/src/main/native-prism-es2/GL/glext.h	Wed Mar 13 09:30:47 2019 +0530
@@ -1,12 +1,12 @@
-#ifndef __glext_h_
-#define __glext_h_
+#ifndef __gl_glext_h_
+#define __gl_glext_h_ 1
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /*
-** Copyright (c) 2007-2012 The Khronos Group Inc.
+** Copyright (c) 2013-2018 The Khronos Group Inc.
 **
 ** Permission is hereby granted, free of charge, to any person obtaining a
 ** copy of this software and/or associated documentation files (the
@@ -27,15 +27,17 @@
 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
 */
-
-/* Header file version number, required by OpenGL ABI for Linux */
-/* glext.h last updated $Date: 2013-02-07 01:42:49 -0800 (Thu, 07 Feb 2013) $ */
-/* Current version at http://www.opengl.org/registry/ */
-#define GL_GLEXT_VERSION 86
-/* Function declaration macros - to move into glplatform.h */
+/*
+** This header is generated from the Khronos OpenGL / OpenGL ES XML
+** API Registry. The current version of the Registry, generator scripts
+** used to make the header, and the header can be found at
+**   https://github.com/KhronosGroup/OpenGL-Registry
+*/
 
 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
+#ifndef WIN32_LEAN_AND_MEAN
 #define WIN32_LEAN_AND_MEAN 1
+#endif
 #include <windows.h>
 #endif
 
@@ -49,9 +51,22 @@
 #define GLAPI extern
 #endif
 
-/*************************************************************/
+#define GL_GLEXT_VERSION 20190204
+
+#include <KHR/khrplatform.h>
+
+/* Generated C header for:
+ * API: gl
+ * Profile: compatibility
+ * Versions considered: .*
+ * Versions emitted: 1\.[2-9]|[234]\.[0-9]
+ * Default extensions included: gl
+ * Additional extensions included: _nomatch_^
+ * Extensions removed: _nomatch_^
+ */
 
 #ifndef GL_VERSION_1_2
+#define GL_VERSION_1_2 1
 #define GL_UNSIGNED_BYTE_3_3_2            0x8032
 #define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
 #define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
@@ -93,87 +108,20 @@
 #define GL_SINGLE_COLOR                   0x81F9
 #define GL_SEPARATE_SPECULAR_COLOR        0x81FA
 #define GL_ALIASED_POINT_SIZE_RANGE       0x846D
-#endif
-
-#ifndef GL_ARB_imaging
-#define GL_CONSTANT_COLOR                 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
-#define GL_CONSTANT_ALPHA                 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
-#define GL_BLEND_COLOR                    0x8005
-#define GL_FUNC_ADD                       0x8006
-#define GL_MIN                            0x8007
-#define GL_MAX                            0x8008
-#define GL_BLEND_EQUATION                 0x8009
-#define GL_FUNC_SUBTRACT                  0x800A
-#define GL_FUNC_REVERSE_SUBTRACT          0x800B
-#define GL_CONVOLUTION_1D                 0x8010
-#define GL_CONVOLUTION_2D                 0x8011
-#define GL_SEPARABLE_2D                   0x8012
-#define GL_CONVOLUTION_BORDER_MODE        0x8013
-#define GL_CONVOLUTION_FILTER_SCALE       0x8014
-#define GL_CONVOLUTION_FILTER_BIAS        0x8015
-#define GL_REDUCE                         0x8016
-#define GL_CONVOLUTION_FORMAT             0x8017
-#define GL_CONVOLUTION_WIDTH              0x8018
-#define GL_CONVOLUTION_HEIGHT             0x8019
-#define GL_MAX_CONVOLUTION_WIDTH          0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT         0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE     0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE   0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE    0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE   0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS      0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS    0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS     0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS    0x8023
-#define GL_HISTOGRAM                      0x8024
-#define GL_PROXY_HISTOGRAM                0x8025
-#define GL_HISTOGRAM_WIDTH                0x8026
-#define GL_HISTOGRAM_FORMAT               0x8027
-#define GL_HISTOGRAM_RED_SIZE             0x8028
-#define GL_HISTOGRAM_GREEN_SIZE           0x8029
-#define GL_HISTOGRAM_BLUE_SIZE            0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE           0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE       0x802C
-#define GL_HISTOGRAM_SINK                 0x802D
-#define GL_MINMAX                         0x802E
-#define GL_MINMAX_FORMAT                  0x802F
-#define GL_MINMAX_SINK                    0x8030
-#define GL_TABLE_TOO_LARGE                0x8031
-#define GL_COLOR_MATRIX                   0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH       0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH   0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE    0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE  0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE   0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE  0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS     0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS   0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS    0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS   0x80BB
-#define GL_COLOR_TABLE                    0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE   0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE  0x80D2
-#define GL_PROXY_COLOR_TABLE              0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE              0x80D6
-#define GL_COLOR_TABLE_BIAS               0x80D7
-#define GL_COLOR_TABLE_FORMAT             0x80D8
-#define GL_COLOR_TABLE_WIDTH              0x80D9
-#define GL_COLOR_TABLE_RED_SIZE           0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE         0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE          0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE         0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE     0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE     0x80DF
-#define GL_CONSTANT_BORDER                0x8151
-#define GL_REPLICATE_BORDER               0x8153
-#define GL_CONVOLUTION_BORDER_COLOR       0x8154
-#endif
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
+GLAPI void APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
+GLAPI void APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
+GLAPI void APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+#endif
+#endif /* GL_VERSION_1_2 */
 
 #ifndef GL_VERSION_1_3
+#define GL_VERSION_1_3 1
 #define GL_TEXTURE0                       0x84C0
 #define GL_TEXTURE1                       0x84C1
 #define GL_TEXTURE2                       0x84C2
@@ -270,9 +218,104 @@
 #define GL_PREVIOUS                       0x8578
 #define GL_DOT3_RGB                       0x86AE
 #define GL_DOT3_RGBA                      0x86AF
-#endif
+typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
+typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glActiveTexture (GLenum texture);
+GLAPI void APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
+GLAPI void APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
+GLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
+GLAPI void APIENTRY glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
+GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
+GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
+GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
+GLAPI void APIENTRY glGetCompressedTexImage (GLenum target, GLint level, void *img);
+GLAPI void APIENTRY glClientActiveTexture (GLenum texture);
+GLAPI void APIENTRY glMultiTexCoord1d (GLenum target, GLdouble s);
+GLAPI void APIENTRY glMultiTexCoord1dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord1f (GLenum target, GLfloat s);
+GLAPI void APIENTRY glMultiTexCoord1fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord1i (GLenum target, GLint s);
+GLAPI void APIENTRY glMultiTexCoord1iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord1s (GLenum target, GLshort s);
+GLAPI void APIENTRY glMultiTexCoord1sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t);
+GLAPI void APIENTRY glMultiTexCoord2dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t);
+GLAPI void APIENTRY glMultiTexCoord2fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord2i (GLenum target, GLint s, GLint t);
+GLAPI void APIENTRY glMultiTexCoord2iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord2s (GLenum target, GLshort s, GLshort t);
+GLAPI void APIENTRY glMultiTexCoord2sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+GLAPI void APIENTRY glMultiTexCoord3dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+GLAPI void APIENTRY glMultiTexCoord3fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r);
+GLAPI void APIENTRY glMultiTexCoord3iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r);
+GLAPI void APIENTRY glMultiTexCoord3sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+GLAPI void APIENTRY glMultiTexCoord4dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+GLAPI void APIENTRY glMultiTexCoord4fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q);
+GLAPI void APIENTRY glMultiTexCoord4iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+GLAPI void APIENTRY glMultiTexCoord4sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *m);
+GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *m);
+GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *m);
+GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *m);
+#endif
+#endif /* GL_VERSION_1_3 */
 
 #ifndef GL_VERSION_1_4
+#define GL_VERSION_1_4 1
 #define GL_BLEND_DST_RGB                  0x80C8
 #define GL_BLEND_SRC_RGB                  0x80C9
 #define GL_BLEND_DST_ALPHA                0x80CA
@@ -312,9 +355,119 @@
 #define GL_TEXTURE_FILTER_CONTROL         0x8500
 #define GL_DEPTH_TEXTURE_MODE             0x884B
 #define GL_COMPARE_R_TO_TEXTURE           0x884E
-#endif
+#define GL_BLEND_COLOR                    0x8005
+#define GL_BLEND_EQUATION                 0x8009
+#define GL_CONSTANT_COLOR                 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
+#define GL_CONSTANT_ALPHA                 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
+#define GL_FUNC_ADD                       0x8006
+#define GL_FUNC_REVERSE_SUBTRACT          0x800B
+#define GL_FUNC_SUBTRACT                  0x800A
+#define GL_MIN                            0x8007
+#define GL_MAX                            0x8008
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);
+typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
+typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);
+typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
+typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
+typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+GLAPI void APIENTRY glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
+GLAPI void APIENTRY glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
+GLAPI void APIENTRY glPointParameterf (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glPointParameteri (GLenum pname, GLint param);
+GLAPI void APIENTRY glPointParameteriv (GLenum pname, const GLint *params);
+GLAPI void APIENTRY glFogCoordf (GLfloat coord);
+GLAPI void APIENTRY glFogCoordfv (const GLfloat *coord);
+GLAPI void APIENTRY glFogCoordd (GLdouble coord);
+GLAPI void APIENTRY glFogCoorddv (const GLdouble *coord);
+GLAPI void APIENTRY glFogCoordPointer (GLenum type, GLsizei stride, const void *pointer);
+GLAPI void APIENTRY glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue);
+GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *v);
+GLAPI void APIENTRY glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue);
+GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *v);
+GLAPI void APIENTRY glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue);
+GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *v);
+GLAPI void APIENTRY glSecondaryColor3i (GLint red, GLint green, GLint blue);
+GLAPI void APIENTRY glSecondaryColor3iv (const GLint *v);
+GLAPI void APIENTRY glSecondaryColor3s (GLshort red, GLshort green, GLshort blue);
+GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *v);
+GLAPI void APIENTRY glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue);
+GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *v);
+GLAPI void APIENTRY glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue);
+GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *v);
+GLAPI void APIENTRY glSecondaryColor3us (GLushort red, GLushort green, GLushort blue);
+GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *v);
+GLAPI void APIENTRY glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
+GLAPI void APIENTRY glWindowPos2d (GLdouble x, GLdouble y);
+GLAPI void APIENTRY glWindowPos2dv (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos2f (GLfloat x, GLfloat y);
+GLAPI void APIENTRY glWindowPos2fv (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos2i (GLint x, GLint y);
+GLAPI void APIENTRY glWindowPos2iv (const GLint *v);
+GLAPI void APIENTRY glWindowPos2s (GLshort x, GLshort y);
+GLAPI void APIENTRY glWindowPos2sv (const GLshort *v);
+GLAPI void APIENTRY glWindowPos3d (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glWindowPos3dv (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos3f (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glWindowPos3fv (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos3i (GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glWindowPos3iv (const GLint *v);
+GLAPI void APIENTRY glWindowPos3s (GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glWindowPos3sv (const GLshort *v);
+GLAPI void APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+GLAPI void APIENTRY glBlendEquation (GLenum mode);
+#endif
+#endif /* GL_VERSION_1_4 */
 
 #ifndef GL_VERSION_1_5
+#define GL_VERSION_1_5 1
+typedef khronos_ssize_t GLsizeiptr;
+typedef khronos_intptr_t GLintptr;
 #define GL_BUFFER_SIZE                    0x8764
 #define GL_BUFFER_USAGE                   0x8765
 #define GL_QUERY_COUNTER_BITS             0x8864
@@ -365,9 +518,51 @@
 #define GL_SRC2_RGB                       0x8582
 #define GL_SRC0_ALPHA                     0x8588
 #define GL_SRC2_ALPHA                     0x858A
-#endif
+typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
+typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
+typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
+typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
+typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
+typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
+typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, void *data);
+typedef void *(APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenQueries (GLsizei n, GLuint *ids);
+GLAPI void APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
+GLAPI GLboolean APIENTRY glIsQuery (GLuint id);
+GLAPI void APIENTRY glBeginQuery (GLenum target, GLuint id);
+GLAPI void APIENTRY glEndQuery (GLenum target);
+GLAPI void APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glBindBuffer (GLenum target, GLuint buffer);
+GLAPI void APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
+GLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
+GLAPI GLboolean APIENTRY glIsBuffer (GLuint buffer);
+GLAPI void APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
+GLAPI void APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
+GLAPI void APIENTRY glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, void *data);
+GLAPI void *APIENTRY glMapBuffer (GLenum target, GLenum access);
+GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum target);
+GLAPI void APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
+#endif
+#endif /* GL_VERSION_1_5 */
 
 #ifndef GL_VERSION_2_0
+#define GL_VERSION_2_0 1
+typedef char GLchar;
 #define GL_BLEND_EQUATION_RGB             0x8009
 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED    0x8622
 #define GL_VERTEX_ATTRIB_ARRAY_SIZE       0x8623
@@ -452,9 +647,198 @@
 #define GL_POINT_SPRITE                   0x8861
 #define GL_COORD_REPLACE                  0x8862
 #define GL_MAX_TEXTURE_COORDS             0x8871
-#endif
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
+typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
+typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
+typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
+typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
+typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
+typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
+typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
+typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
+typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
+typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
+typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
+GLAPI void APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
+GLAPI void APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+GLAPI void APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
+GLAPI void APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
+GLAPI void APIENTRY glAttachShader (GLuint program, GLuint shader);
+GLAPI void APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
+GLAPI void APIENTRY glCompileShader (GLuint shader);
+GLAPI GLuint APIENTRY glCreateProgram (void);
+GLAPI GLuint APIENTRY glCreateShader (GLenum type);
+GLAPI void APIENTRY glDeleteProgram (GLuint program);
+GLAPI void APIENTRY glDeleteShader (GLuint shader);
+GLAPI void APIENTRY glDetachShader (GLuint program, GLuint shader);
+GLAPI void APIENTRY glDisableVertexAttribArray (GLuint index);
+GLAPI void APIENTRY glEnableVertexAttribArray (GLuint index);
+GLAPI void APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
+GLAPI GLint APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+GLAPI void APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+GLAPI void APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+GLAPI GLint APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
+GLAPI void APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
+GLAPI GLboolean APIENTRY glIsProgram (GLuint program);
+GLAPI GLboolean APIENTRY glIsShader (GLuint shader);
+GLAPI void APIENTRY glLinkProgram (GLuint program);
+GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
+GLAPI void APIENTRY glUseProgram (GLuint program);
+GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);
+GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
+GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+GLAPI void APIENTRY glUniform1i (GLint location, GLint v0);
+GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
+GLAPI void APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
+GLAPI void APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+GLAPI void APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glValidateProgram (GLuint program);
+GLAPI void APIENTRY glVertexAttrib1d (GLuint index, GLdouble x);
+GLAPI void APIENTRY glVertexAttrib1dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
+GLAPI void APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib1s (GLuint index, GLshort x);
+GLAPI void APIENTRY glVertexAttrib1sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexAttrib2dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
+GLAPI void APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib2s (GLuint index, GLshort x, GLshort y);
+GLAPI void APIENTRY glVertexAttrib2sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexAttrib3dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glVertexAttrib3sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttrib4Niv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttrib4bv (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexAttrib4dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib4iv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void APIENTRY glVertexAttrib4sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4ubv (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttrib4uiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttrib4usv (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
+#endif
+#endif /* GL_VERSION_2_0 */
 
 #ifndef GL_VERSION_2_1
+#define GL_VERSION_2_1 1
 #define GL_PIXEL_PACK_BUFFER              0x88EB
 #define GL_PIXEL_UNPACK_BUFFER            0x88EC
 #define GL_PIXEL_PACK_BUFFER_BINDING      0x88ED
@@ -478,9 +862,25 @@
 #define GL_SLUMINANCE8                    0x8C47
 #define GL_COMPRESSED_SLUMINANCE          0x8C4A
 #define GL_COMPRESSED_SLUMINANCE_ALPHA    0x8C4B
-#endif
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+#endif
+#endif /* GL_VERSION_2_1 */
 
 #ifndef GL_VERSION_3_0
+#define GL_VERSION_3_0 1
+typedef khronos_uint16_t GLhalf;
 #define GL_COMPARE_REF_TO_TEXTURE         0x884E
 #define GL_CLIP_DISTANCE0                 0x3000
 #define GL_CLIP_DISTANCE1                 0x3001
@@ -497,7 +897,7 @@
 #define GL_CONTEXT_FLAGS                  0x821E
 #define GL_COMPRESSED_RED                 0x8225
 #define GL_COMPRESSED_RG                  0x8226
-#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
 #define GL_RGBA32F                        0x8814
 #define GL_RGB32F                         0x8815
 #define GL_RGBA16F                        0x881A
@@ -581,1354 +981,9 @@
 #define GL_BUFFER_ACCESS_FLAGS            0x911F
 #define GL_BUFFER_MAP_LENGTH              0x9120
 #define GL_BUFFER_MAP_OFFSET              0x9121
-/* Reuse tokens from ARB_depth_buffer_float */
-/* reuse GL_DEPTH_COMPONENT32F */
-/* reuse GL_DEPTH32F_STENCIL8 */
-/* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */
-/* Reuse tokens from ARB_framebuffer_object */
-/* reuse GL_INVALID_FRAMEBUFFER_OPERATION */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
-/* reuse GL_FRAMEBUFFER_DEFAULT */
-/* reuse GL_FRAMEBUFFER_UNDEFINED */
-/* reuse GL_DEPTH_STENCIL_ATTACHMENT */
-/* reuse GL_INDEX */
-/* reuse GL_MAX_RENDERBUFFER_SIZE */
-/* reuse GL_DEPTH_STENCIL */
-/* reuse GL_UNSIGNED_INT_24_8 */
-/* reuse GL_DEPTH24_STENCIL8 */
-/* reuse GL_TEXTURE_STENCIL_SIZE */
-/* reuse GL_TEXTURE_RED_TYPE */
-/* reuse GL_TEXTURE_GREEN_TYPE */
-/* reuse GL_TEXTURE_BLUE_TYPE */
-/* reuse GL_TEXTURE_ALPHA_TYPE */
-/* reuse GL_TEXTURE_DEPTH_TYPE */
-/* reuse GL_UNSIGNED_NORMALIZED */
-/* reuse GL_FRAMEBUFFER_BINDING */
-/* reuse GL_DRAW_FRAMEBUFFER_BINDING */
-/* reuse GL_RENDERBUFFER_BINDING */
-/* reuse GL_READ_FRAMEBUFFER */
-/* reuse GL_DRAW_FRAMEBUFFER */
-/* reuse GL_READ_FRAMEBUFFER_BINDING */
-/* reuse GL_RENDERBUFFER_SAMPLES */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
-/* reuse GL_FRAMEBUFFER_COMPLETE */
-/* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
-/* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
-/* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
-/* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
-/* reuse GL_FRAMEBUFFER_UNSUPPORTED */
-/* reuse GL_MAX_COLOR_ATTACHMENTS */
-/* reuse GL_COLOR_ATTACHMENT0 */
-/* reuse GL_COLOR_ATTACHMENT1 */
-/* reuse GL_COLOR_ATTACHMENT2 */
-/* reuse GL_COLOR_ATTACHMENT3 */
-/* reuse GL_COLOR_ATTACHMENT4 */
-/* reuse GL_COLOR_ATTACHMENT5 */
-/* reuse GL_COLOR_ATTACHMENT6 */
-/* reuse GL_COLOR_ATTACHMENT7 */
-/* reuse GL_COLOR_ATTACHMENT8 */
-/* reuse GL_COLOR_ATTACHMENT9 */
-/* reuse GL_COLOR_ATTACHMENT10 */
-/* reuse GL_COLOR_ATTACHMENT11 */
-/* reuse GL_COLOR_ATTACHMENT12 */
-/* reuse GL_COLOR_ATTACHMENT13 */
-/* reuse GL_COLOR_ATTACHMENT14 */
-/* reuse GL_COLOR_ATTACHMENT15 */
-/* reuse GL_DEPTH_ATTACHMENT */
-/* reuse GL_STENCIL_ATTACHMENT */
-/* reuse GL_FRAMEBUFFER */
-/* reuse GL_RENDERBUFFER */
-/* reuse GL_RENDERBUFFER_WIDTH */
-/* reuse GL_RENDERBUFFER_HEIGHT */
-/* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */
-/* reuse GL_STENCIL_INDEX1 */
-/* reuse GL_STENCIL_INDEX4 */
-/* reuse GL_STENCIL_INDEX8 */
-/* reuse GL_STENCIL_INDEX16 */
-/* reuse GL_RENDERBUFFER_RED_SIZE */
-/* reuse GL_RENDERBUFFER_GREEN_SIZE */
-/* reuse GL_RENDERBUFFER_BLUE_SIZE */
-/* reuse GL_RENDERBUFFER_ALPHA_SIZE */
-/* reuse GL_RENDERBUFFER_DEPTH_SIZE */
-/* reuse GL_RENDERBUFFER_STENCIL_SIZE */
-/* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
-/* reuse GL_MAX_SAMPLES */
-/* Reuse tokens from ARB_framebuffer_sRGB */
-/* reuse GL_FRAMEBUFFER_SRGB */
-/* Reuse tokens from ARB_half_float_vertex */
-/* reuse GL_HALF_FLOAT */
-/* Reuse tokens from ARB_map_buffer_range */
-/* reuse GL_MAP_READ_BIT */
-/* reuse GL_MAP_WRITE_BIT */
-/* reuse GL_MAP_INVALIDATE_RANGE_BIT */
-/* reuse GL_MAP_INVALIDATE_BUFFER_BIT */
-/* reuse GL_MAP_FLUSH_EXPLICIT_BIT */
-/* reuse GL_MAP_UNSYNCHRONIZED_BIT */
-/* Reuse tokens from ARB_texture_compression_rgtc */
-/* reuse GL_COMPRESSED_RED_RGTC1 */
-/* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */
-/* reuse GL_COMPRESSED_RG_RGTC2 */
-/* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */
-/* Reuse tokens from ARB_texture_rg */
-/* reuse GL_RG */
-/* reuse GL_RG_INTEGER */
-/* reuse GL_R8 */
-/* reuse GL_R16 */
-/* reuse GL_RG8 */
-/* reuse GL_RG16 */
-/* reuse GL_R16F */
-/* reuse GL_R32F */
-/* reuse GL_RG16F */
-/* reuse GL_RG32F */
-/* reuse GL_R8I */
-/* reuse GL_R8UI */
-/* reuse GL_R16I */
-/* reuse GL_R16UI */
-/* reuse GL_R32I */
-/* reuse GL_R32UI */
-/* reuse GL_RG8I */
-/* reuse GL_RG8UI */
-/* reuse GL_RG16I */
-/* reuse GL_RG16UI */
-/* reuse GL_RG32I */
-/* reuse GL_RG32UI */
-/* Reuse tokens from ARB_vertex_array_object */
-/* reuse GL_VERTEX_ARRAY_BINDING */
-#define GL_CLAMP_VERTEX_COLOR             0x891A
-#define GL_CLAMP_FRAGMENT_COLOR           0x891B
-#define GL_ALPHA_INTEGER                  0x8D97
-/* Reuse tokens from ARB_framebuffer_object */
-/* reuse GL_TEXTURE_LUMINANCE_TYPE */
-/* reuse GL_TEXTURE_INTENSITY_TYPE */
-#endif
-
-#ifndef GL_VERSION_3_1
-#define GL_SAMPLER_2D_RECT                0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW         0x8B64
-#define GL_SAMPLER_BUFFER                 0x8DC2
-#define GL_INT_SAMPLER_2D_RECT            0x8DCD
-#define GL_INT_SAMPLER_BUFFER             0x8DD0
-#define GL_UNSIGNED_INT_SAMPLER_2D_RECT   0x8DD5
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER    0x8DD8
-#define GL_TEXTURE_BUFFER                 0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE        0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER         0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
-#define GL_TEXTURE_RECTANGLE              0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE      0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE        0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE     0x84F8
-#define GL_RED_SNORM                      0x8F90
-#define GL_RG_SNORM                       0x8F91
-#define GL_RGB_SNORM                      0x8F92
-#define GL_RGBA_SNORM                     0x8F93
-#define GL_R8_SNORM                       0x8F94
-#define GL_RG8_SNORM                      0x8F95
-#define GL_RGB8_SNORM                     0x8F96
-#define GL_RGBA8_SNORM                    0x8F97
-#define GL_R16_SNORM                      0x8F98
-#define GL_RG16_SNORM                     0x8F99
-#define GL_RGB16_SNORM                    0x8F9A
-#define GL_RGBA16_SNORM                   0x8F9B
-#define GL_SIGNED_NORMALIZED              0x8F9C
-#define GL_PRIMITIVE_RESTART              0x8F9D
-#define GL_PRIMITIVE_RESTART_INDEX        0x8F9E
-/* Reuse tokens from ARB_copy_buffer */
-/* reuse GL_COPY_READ_BUFFER */
-/* reuse GL_COPY_WRITE_BUFFER */
-/* Reuse tokens from ARB_draw_instanced (none) */
-/* Reuse tokens from ARB_uniform_buffer_object */
-/* reuse GL_UNIFORM_BUFFER */
-/* reuse GL_UNIFORM_BUFFER_BINDING */
-/* reuse GL_UNIFORM_BUFFER_START */
-/* reuse GL_UNIFORM_BUFFER_SIZE */
-/* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */
-/* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */
-/* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */
-/* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */
-/* reuse GL_MAX_UNIFORM_BLOCK_SIZE */
-/* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */
-/* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */
-/* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */
-/* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */
-/* reuse GL_ACTIVE_UNIFORM_BLOCKS */
-/* reuse GL_UNIFORM_TYPE */
-/* reuse GL_UNIFORM_SIZE */
-/* reuse GL_UNIFORM_NAME_LENGTH */
-/* reuse GL_UNIFORM_BLOCK_INDEX */
-/* reuse GL_UNIFORM_OFFSET */
-/* reuse GL_UNIFORM_ARRAY_STRIDE */
-/* reuse GL_UNIFORM_MATRIX_STRIDE */
-/* reuse GL_UNIFORM_IS_ROW_MAJOR */
-/* reuse GL_UNIFORM_BLOCK_BINDING */
-/* reuse GL_UNIFORM_BLOCK_DATA_SIZE */
-/* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */
-/* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */
-/* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */
-/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */
-/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */
-/* reuse GL_INVALID_INDEX */
-#endif
-
-#ifndef GL_VERSION_3_2
-#define GL_CONTEXT_CORE_PROFILE_BIT       0x00000001
-#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
-#define GL_LINES_ADJACENCY                0x000A
-#define GL_LINE_STRIP_ADJACENCY           0x000B
-#define GL_TRIANGLES_ADJACENCY            0x000C
-#define GL_TRIANGLE_STRIP_ADJACENCY       0x000D
-#define GL_PROGRAM_POINT_SIZE             0x8642
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
-#define GL_GEOMETRY_SHADER                0x8DD9
-#define GL_GEOMETRY_VERTICES_OUT          0x8916
-#define GL_GEOMETRY_INPUT_TYPE            0x8917
-#define GL_GEOMETRY_OUTPUT_TYPE           0x8918
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES   0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
-#define GL_MAX_VERTEX_OUTPUT_COMPONENTS   0x9122
-#define GL_MAX_GEOMETRY_INPUT_COMPONENTS  0x9123
-#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
-#define GL_MAX_FRAGMENT_INPUT_COMPONENTS  0x9125
-#define GL_CONTEXT_PROFILE_MASK           0x9126
-/* reuse GL_MAX_VARYING_COMPONENTS */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
-/* Reuse tokens from ARB_depth_clamp */
-/* reuse GL_DEPTH_CLAMP */
-/* Reuse tokens from ARB_draw_elements_base_vertex (none) */
-/* Reuse tokens from ARB_fragment_coord_conventions (none) */
-/* Reuse tokens from ARB_provoking_vertex */
-/* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
-/* reuse GL_FIRST_VERTEX_CONVENTION */
-/* reuse GL_LAST_VERTEX_CONVENTION */
-/* reuse GL_PROVOKING_VERTEX */
-/* Reuse tokens from ARB_seamless_cube_map */
-/* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */
-/* Reuse tokens from ARB_sync */
-/* reuse GL_MAX_SERVER_WAIT_TIMEOUT */
-/* reuse GL_OBJECT_TYPE */
-/* reuse GL_SYNC_CONDITION */
-/* reuse GL_SYNC_STATUS */
-/* reuse GL_SYNC_FLAGS */
-/* reuse GL_SYNC_FENCE */
-/* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */
-/* reuse GL_UNSIGNALED */
-/* reuse GL_SIGNALED */
-/* reuse GL_ALREADY_SIGNALED */
-/* reuse GL_TIMEOUT_EXPIRED */
-/* reuse GL_CONDITION_SATISFIED */
-/* reuse GL_WAIT_FAILED */
-/* reuse GL_TIMEOUT_IGNORED */
-/* reuse GL_SYNC_FLUSH_COMMANDS_BIT */
-/* reuse GL_TIMEOUT_IGNORED */
-/* Reuse tokens from ARB_texture_multisample */
-/* reuse GL_SAMPLE_POSITION */
-/* reuse GL_SAMPLE_MASK */
-/* reuse GL_SAMPLE_MASK_VALUE */
-/* reuse GL_MAX_SAMPLE_MASK_WORDS */
-/* reuse GL_TEXTURE_2D_MULTISAMPLE */
-/* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */
-/* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */
-/* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_TEXTURE_SAMPLES */
-/* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */
-/* reuse GL_SAMPLER_2D_MULTISAMPLE */
-/* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */
-/* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */
-/* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */
-/* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */
-/* reuse GL_MAX_INTEGER_SAMPLES */
-/* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */
-#endif
-
-#ifndef GL_VERSION_3_3
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR    0x88FE
-/* Reuse tokens from ARB_blend_func_extended */
-/* reuse GL_SRC1_COLOR */
-/* reuse GL_ONE_MINUS_SRC1_COLOR */
-/* reuse GL_ONE_MINUS_SRC1_ALPHA */
-/* reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS */
-/* Reuse tokens from ARB_explicit_attrib_location (none) */
-/* Reuse tokens from ARB_occlusion_query2 */
-/* reuse GL_ANY_SAMPLES_PASSED */
-/* Reuse tokens from ARB_sampler_objects */
-/* reuse GL_SAMPLER_BINDING */
-/* Reuse tokens from ARB_shader_bit_encoding (none) */
-/* Reuse tokens from ARB_texture_rgb10_a2ui */
-/* reuse GL_RGB10_A2UI */
-/* Reuse tokens from ARB_texture_swizzle */
-/* reuse GL_TEXTURE_SWIZZLE_R */
-/* reuse GL_TEXTURE_SWIZZLE_G */
-/* reuse GL_TEXTURE_SWIZZLE_B */
-/* reuse GL_TEXTURE_SWIZZLE_A */
-/* reuse GL_TEXTURE_SWIZZLE_RGBA */
-/* Reuse tokens from ARB_timer_query */
-/* reuse GL_TIME_ELAPSED */
-/* reuse GL_TIMESTAMP */
-/* Reuse tokens from ARB_vertex_type_2_10_10_10_rev */
-/* reuse GL_INT_2_10_10_10_REV */
-#endif
-
-#ifndef GL_VERSION_4_0
-#define GL_SAMPLE_SHADING                 0x8C36
-#define GL_MIN_SAMPLE_SHADING_VALUE       0x8C37
-#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
-#define GL_TEXTURE_CUBE_MAP_ARRAY         0x9009
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY   0x900B
-#define GL_SAMPLER_CUBE_MAP_ARRAY         0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW  0x900D
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY     0x900E
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
-/* Reuse tokens from ARB_texture_query_lod (none) */
-/* Reuse tokens from ARB_draw_buffers_blend (none) */
-/* Reuse tokens from ARB_draw_indirect */
-/* reuse GL_DRAW_INDIRECT_BUFFER */
-/* reuse GL_DRAW_INDIRECT_BUFFER_BINDING */
-/* Reuse tokens from ARB_gpu_shader5 */
-/* reuse GL_GEOMETRY_SHADER_INVOCATIONS */
-/* reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS */
-/* reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET */
-/* reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET */
-/* reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS */
-/* reuse GL_MAX_VERTEX_STREAMS */
-/* Reuse tokens from ARB_gpu_shader_fp64 */
-/* reuse GL_DOUBLE_VEC2 */
-/* reuse GL_DOUBLE_VEC3 */
-/* reuse GL_DOUBLE_VEC4 */
-/* reuse GL_DOUBLE_MAT2 */
-/* reuse GL_DOUBLE_MAT3 */
-/* reuse GL_DOUBLE_MAT4 */
-/* reuse GL_DOUBLE_MAT2x3 */
-/* reuse GL_DOUBLE_MAT2x4 */
-/* reuse GL_DOUBLE_MAT3x2 */
-/* reuse GL_DOUBLE_MAT3x4 */
-/* reuse GL_DOUBLE_MAT4x2 */
-/* reuse GL_DOUBLE_MAT4x3 */
-/* Reuse tokens from ARB_shader_subroutine */
-/* reuse GL_ACTIVE_SUBROUTINES */
-/* reuse GL_ACTIVE_SUBROUTINE_UNIFORMS */
-/* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS */
-/* reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH */
-/* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH */
-/* reuse GL_MAX_SUBROUTINES */
-/* reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS */
-/* reuse GL_NUM_COMPATIBLE_SUBROUTINES */
-/* reuse GL_COMPATIBLE_SUBROUTINES */
-/* Reuse tokens from ARB_tessellation_shader */
-/* reuse GL_PATCHES */
-/* reuse GL_PATCH_VERTICES */
-/* reuse GL_PATCH_DEFAULT_INNER_LEVEL */
-/* reuse GL_PATCH_DEFAULT_OUTER_LEVEL */
-/* reuse GL_TESS_CONTROL_OUTPUT_VERTICES */
-/* reuse GL_TESS_GEN_MODE */
-/* reuse GL_TESS_GEN_SPACING */
-/* reuse GL_TESS_GEN_VERTEX_ORDER */
-/* reuse GL_TESS_GEN_POINT_MODE */
-/* reuse GL_ISOLINES */
-/* reuse GL_FRACTIONAL_ODD */
-/* reuse GL_FRACTIONAL_EVEN */
-/* reuse GL_MAX_PATCH_VERTICES */
-/* reuse GL_MAX_TESS_GEN_LEVEL */
-/* reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS */
-/* reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS */
-/* reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS */
-/* reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS */
-/* reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS */
-/* reuse GL_MAX_TESS_PATCH_COMPONENTS */
-/* reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS */
-/* reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS */
-/* reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS */
-/* reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS */
-/* reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS */
-/* reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS */
-/* reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS */
-/* reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS */
-/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER */
-/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER */
-/* reuse GL_TESS_EVALUATION_SHADER */
-/* reuse GL_TESS_CONTROL_SHADER */
-/* Reuse tokens from ARB_texture_buffer_object_rgb32 (none) */
-/* Reuse tokens from ARB_transform_feedback2 */
-/* reuse GL_TRANSFORM_FEEDBACK */
-/* reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
-/* reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
-/* reuse GL_TRANSFORM_FEEDBACK_BINDING */
-/* Reuse tokens from ARB_transform_feedback3 */
-/* reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS */
-/* reuse GL_MAX_VERTEX_STREAMS */
-#endif
-
-#ifndef GL_VERSION_4_1
-/* Reuse tokens from ARB_ES2_compatibility */
-/* reuse GL_FIXED */
-/* reuse GL_IMPLEMENTATION_COLOR_READ_TYPE */
-/* reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT */
-/* reuse GL_LOW_FLOAT */
-/* reuse GL_MEDIUM_FLOAT */
-/* reuse GL_HIGH_FLOAT */
-/* reuse GL_LOW_INT */
-/* reuse GL_MEDIUM_INT */
-/* reuse GL_HIGH_INT */
-/* reuse GL_SHADER_COMPILER */
-/* reuse GL_SHADER_BINARY_FORMATS */
-/* reuse GL_NUM_SHADER_BINARY_FORMATS */
-/* reuse GL_MAX_VERTEX_UNIFORM_VECTORS */
-/* reuse GL_MAX_VARYING_VECTORS */
-/* reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS */
-/* reuse GL_RGB565 */
-/* Reuse tokens from ARB_get_program_binary */
-/* reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT */
-/* reuse GL_PROGRAM_BINARY_LENGTH */
-/* reuse GL_NUM_PROGRAM_BINARY_FORMATS */
-/* reuse GL_PROGRAM_BINARY_FORMATS */
-/* Reuse tokens from ARB_separate_shader_objects */
-/* reuse GL_VERTEX_SHADER_BIT */
-/* reuse GL_FRAGMENT_SHADER_BIT */
-/* reuse GL_GEOMETRY_SHADER_BIT */
-/* reuse GL_TESS_CONTROL_SHADER_BIT */
-/* reuse GL_TESS_EVALUATION_SHADER_BIT */
-/* reuse GL_ALL_SHADER_BITS */
-/* reuse GL_PROGRAM_SEPARABLE */
-/* reuse GL_ACTIVE_PROGRAM */
-/* reuse GL_PROGRAM_PIPELINE_BINDING */
-/* Reuse tokens from ARB_shader_precision (none) */
-/* Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already */
-/* Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already */
-/* reuse GL_MAX_VIEWPORTS */
-/* reuse GL_VIEWPORT_SUBPIXEL_BITS */
-/* reuse GL_VIEWPORT_BOUNDS_RANGE */
-/* reuse GL_LAYER_PROVOKING_VERTEX */
-/* reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX */
-/* reuse GL_UNDEFINED_VERTEX */
-#endif
-
-#ifndef GL_VERSION_4_2
-/* Reuse tokens from ARB_base_instance (none) */
-/* Reuse tokens from ARB_shading_language_420pack (none) */
-/* Reuse tokens from ARB_transform_feedback_instanced (none) */
-/* Reuse tokens from ARB_compressed_texture_pixel_storage */
-/* reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH */
-/* reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT */
-/* reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH */
-/* reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE */
-/* reuse GL_PACK_COMPRESSED_BLOCK_WIDTH */
-/* reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT */
-/* reuse GL_PACK_COMPRESSED_BLOCK_DEPTH */
-/* reuse GL_PACK_COMPRESSED_BLOCK_SIZE */
-/* Reuse tokens from ARB_conservative_depth (none) */
-/* Reuse tokens from ARB_internalformat_query */
-/* reuse GL_NUM_SAMPLE_COUNTS */
-/* Reuse tokens from ARB_map_buffer_alignment */
-/* reuse GL_MIN_MAP_BUFFER_ALIGNMENT */
-/* Reuse tokens from ARB_shader_atomic_counters */
-/* reuse GL_ATOMIC_COUNTER_BUFFER */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_BINDING */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_START */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_SIZE */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER */
-/* reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_VERTEX_ATOMIC_COUNTERS */
-/* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS */
-/* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS */
-/* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS */
-/* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS */
-/* reuse GL_MAX_COMBINED_ATOMIC_COUNTERS */
-/* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE */
-/* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS */
-/* reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX */
-/* reuse GL_UNSIGNED_INT_ATOMIC_COUNTER */
-/* Reuse tokens from ARB_shader_image_load_store */
-/* reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT */
-/* reuse GL_ELEMENT_ARRAY_BARRIER_BIT */
-/* reuse GL_UNIFORM_BARRIER_BIT */
-/* reuse GL_TEXTURE_FETCH_BARRIER_BIT */
-/* reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT */
-/* reuse GL_COMMAND_BARRIER_BIT */
-/* reuse GL_PIXEL_BUFFER_BARRIER_BIT */
-/* reuse GL_TEXTURE_UPDATE_BARRIER_BIT */
-/* reuse GL_BUFFER_UPDATE_BARRIER_BIT */
-/* reuse GL_FRAMEBUFFER_BARRIER_BIT */
-/* reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT */
-/* reuse GL_ATOMIC_COUNTER_BARRIER_BIT */
-/* reuse GL_ALL_BARRIER_BITS */
-/* reuse GL_MAX_IMAGE_UNITS */
-/* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
-/* reuse GL_IMAGE_BINDING_NAME */
-/* reuse GL_IMAGE_BINDING_LEVEL */
-/* reuse GL_IMAGE_BINDING_LAYERED */
-/* reuse GL_IMAGE_BINDING_LAYER */
-/* reuse GL_IMAGE_BINDING_ACCESS */
-/* reuse GL_IMAGE_1D */
-/* reuse GL_IMAGE_2D */
-/* reuse GL_IMAGE_3D */
-/* reuse GL_IMAGE_2D_RECT */
-/* reuse GL_IMAGE_CUBE */
-/* reuse GL_IMAGE_BUFFER */
-/* reuse GL_IMAGE_1D_ARRAY */
-/* reuse GL_IMAGE_2D_ARRAY */
-/* reuse GL_IMAGE_CUBE_MAP_ARRAY */
-/* reuse GL_IMAGE_2D_MULTISAMPLE */
-/* reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_INT_IMAGE_1D */
-/* reuse GL_INT_IMAGE_2D */
-/* reuse GL_INT_IMAGE_3D */
-/* reuse GL_INT_IMAGE_2D_RECT */
-/* reuse GL_INT_IMAGE_CUBE */
-/* reuse GL_INT_IMAGE_BUFFER */
-/* reuse GL_INT_IMAGE_1D_ARRAY */
-/* reuse GL_INT_IMAGE_2D_ARRAY */
-/* reuse GL_INT_IMAGE_CUBE_MAP_ARRAY */
-/* reuse GL_INT_IMAGE_2D_MULTISAMPLE */
-/* reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_UNSIGNED_INT_IMAGE_1D */
-/* reuse GL_UNSIGNED_INT_IMAGE_2D */
-/* reuse GL_UNSIGNED_INT_IMAGE_3D */
-/* reuse GL_UNSIGNED_INT_IMAGE_2D_RECT */
-/* reuse GL_UNSIGNED_INT_IMAGE_CUBE */
-/* reuse GL_UNSIGNED_INT_IMAGE_BUFFER */
-/* reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY */
-/* reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY */
-/* reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY */
-/* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE */
-/* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
-/* reuse GL_MAX_IMAGE_SAMPLES */
-/* reuse GL_IMAGE_BINDING_FORMAT */
-/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */
-/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE */
-/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS */
-/* reuse GL_MAX_VERTEX_IMAGE_UNIFORMS */
-/* reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS */
-/* reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS */
-/* reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS */
-/* reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS */
-/* reuse GL_MAX_COMBINED_IMAGE_UNIFORMS */
-/* Reuse tokens from ARB_shading_language_packing (none) */
-/* Reuse tokens from ARB_texture_storage */
-/* reuse GL_TEXTURE_IMMUTABLE_FORMAT */
-#endif
-
-#ifndef GL_VERSION_4_3
-#define GL_NUM_SHADING_LANGUAGE_VERSIONS  0x82E9
-#define GL_VERTEX_ATTRIB_ARRAY_LONG       0x874E
-/* Reuse tokens from ARB_arrays_of_arrays (none, GLSL only) */
-/* Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only) */
-/* Reuse tokens from ARB_shader_image_size (none, GLSL only) */
-/* Reuse tokens from ARB_ES3_compatibility */
-/* reuse GL_COMPRESSED_RGB8_ETC2 */
-/* reuse GL_COMPRESSED_SRGB8_ETC2 */
-/* reuse GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */
-/* reuse GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */
-/* reuse GL_COMPRESSED_RGBA8_ETC2_EAC */
-/* reuse GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */
-/* reuse GL_COMPRESSED_R11_EAC */
-/* reuse GL_COMPRESSED_SIGNED_R11_EAC */
-/* reuse GL_COMPRESSED_RG11_EAC */
-/* reuse GL_COMPRESSED_SIGNED_RG11_EAC */
-/* reuse GL_PRIMITIVE_RESTART_FIXED_INDEX */
-/* reuse GL_ANY_SAMPLES_PASSED_CONSERVATIVE */
-/* reuse GL_MAX_ELEMENT_INDEX */
-/* Reuse tokens from ARB_clear_buffer_object (none) */
-/* Reuse tokens from ARB_compute_shader */
-/* reuse GL_COMPUTE_SHADER */
-/* reuse GL_MAX_COMPUTE_UNIFORM_BLOCKS */
-/* reuse GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS */
-/* reuse GL_MAX_COMPUTE_IMAGE_UNIFORMS */
-/* reuse GL_MAX_COMPUTE_SHARED_MEMORY_SIZE */
-/* reuse GL_MAX_COMPUTE_UNIFORM_COMPONENTS */
-/* reuse GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS */
-/* reuse GL_MAX_COMPUTE_ATOMIC_COUNTERS */
-/* reuse GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS */
-/* reuse GL_MAX_COMPUTE_LOCAL_INVOCATIONS */
-/* reuse GL_MAX_COMPUTE_WORK_GROUP_COUNT */
-/* reuse GL_MAX_COMPUTE_WORK_GROUP_SIZE */
-/* reuse GL_COMPUTE_LOCAL_WORK_SIZE */
-/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER */
-/* reuse GL_DISPATCH_INDIRECT_BUFFER */
-/* reuse GL_DISPATCH_INDIRECT_BUFFER_BINDING */
-/* Reuse tokens from ARB_copy_image (none) */
-/* Reuse tokens from KHR_debug */
-/* reuse GL_DEBUG_OUTPUT_SYNCHRONOUS */
-/* reuse GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH */
-/* reuse GL_DEBUG_CALLBACK_FUNCTION */
-/* reuse GL_DEBUG_CALLBACK_USER_PARAM */
-/* reuse GL_DEBUG_SOURCE_API */
-/* reuse GL_DEBUG_SOURCE_WINDOW_SYSTEM */
-/* reuse GL_DEBUG_SOURCE_SHADER_COMPILER */
-/* reuse GL_DEBUG_SOURCE_THIRD_PARTY */
-/* reuse GL_DEBUG_SOURCE_APPLICATION */
-/* reuse GL_DEBUG_SOURCE_OTHER */
-/* reuse GL_DEBUG_TYPE_ERROR */
-/* reuse GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR */
-/* reuse GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR */
-/* reuse GL_DEBUG_TYPE_PORTABILITY */
-/* reuse GL_DEBUG_TYPE_PERFORMANCE */
-/* reuse GL_DEBUG_TYPE_OTHER */
-/* reuse GL_MAX_DEBUG_MESSAGE_LENGTH */
-/* reuse GL_MAX_DEBUG_LOGGED_MESSAGES */
-/* reuse GL_DEBUG_LOGGED_MESSAGES */
-/* reuse GL_DEBUG_SEVERITY_HIGH */
-/* reuse GL_DEBUG_SEVERITY_MEDIUM */
-/* reuse GL_DEBUG_SEVERITY_LOW */
-/* reuse GL_DEBUG_TYPE_MARKER */
-/* reuse GL_DEBUG_TYPE_PUSH_GROUP */
-/* reuse GL_DEBUG_TYPE_POP_GROUP */
-/* reuse GL_DEBUG_SEVERITY_NOTIFICATION */
-/* reuse GL_MAX_DEBUG_GROUP_STACK_DEPTH */
-/* reuse GL_DEBUG_GROUP_STACK_DEPTH */
-/* reuse GL_BUFFER */
-/* reuse GL_SHADER */
-/* reuse GL_PROGRAM */
-/* reuse GL_QUERY */
-/* reuse GL_PROGRAM_PIPELINE */
-/* reuse GL_SAMPLER */
-/* reuse GL_DISPLAY_LIST */
-/* reuse GL_MAX_LABEL_LENGTH */
-/* reuse GL_DEBUG_OUTPUT */
-/* reuse GL_CONTEXT_FLAG_DEBUG_BIT */
-/* reuse GL_STACK_UNDERFLOW */
-/* reuse GL_STACK_OVERFLOW */
-/* Reuse tokens from ARB_explicit_uniform_location */
-/* reuse GL_MAX_UNIFORM_LOCATIONS */
-/* Reuse tokens from ARB_framebuffer_no_attachments */
-/* reuse GL_FRAMEBUFFER_DEFAULT_WIDTH */
-/* reuse GL_FRAMEBUFFER_DEFAULT_HEIGHT */
-/* reuse GL_FRAMEBUFFER_DEFAULT_LAYERS */
-/* reuse GL_FRAMEBUFFER_DEFAULT_SAMPLES */
-/* reuse GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS */
-/* reuse GL_MAX_FRAMEBUFFER_WIDTH */
-/* reuse GL_MAX_FRAMEBUFFER_HEIGHT */
-/* reuse GL_MAX_FRAMEBUFFER_LAYERS */
-/* reuse GL_MAX_FRAMEBUFFER_SAMPLES */
-/* Reuse tokens from ARB_internalformat_query2 */
-/* reuse GL_INTERNALFORMAT_SUPPORTED */
-/* reuse GL_INTERNALFORMAT_PREFERRED */
-/* reuse GL_INTERNALFORMAT_RED_SIZE */
-/* reuse GL_INTERNALFORMAT_GREEN_SIZE */
-/* reuse GL_INTERNALFORMAT_BLUE_SIZE */
-/* reuse GL_INTERNALFORMAT_ALPHA_SIZE */
-/* reuse GL_INTERNALFORMAT_DEPTH_SIZE */
-/* reuse GL_INTERNALFORMAT_STENCIL_SIZE */
-/* reuse GL_INTERNALFORMAT_SHARED_SIZE */
-/* reuse GL_INTERNALFORMAT_RED_TYPE */
-/* reuse GL_INTERNALFORMAT_GREEN_TYPE */
-/* reuse GL_INTERNALFORMAT_BLUE_TYPE */
-/* reuse GL_INTERNALFORMAT_ALPHA_TYPE */
-/* reuse GL_INTERNALFORMAT_DEPTH_TYPE */
-/* reuse GL_INTERNALFORMAT_STENCIL_TYPE */
-/* reuse GL_MAX_WIDTH */
-/* reuse GL_MAX_HEIGHT */
-/* reuse GL_MAX_DEPTH */
-/* reuse GL_MAX_LAYERS */
-/* reuse GL_MAX_COMBINED_DIMENSIONS */
-/* reuse GL_COLOR_COMPONENTS */
-/* reuse GL_DEPTH_COMPONENTS */
-/* reuse GL_STENCIL_COMPONENTS */
-/* reuse GL_COLOR_RENDERABLE */
-/* reuse GL_DEPTH_RENDERABLE */
-/* reuse GL_STENCIL_RENDERABLE */
-/* reuse GL_FRAMEBUFFER_RENDERABLE */
-/* reuse GL_FRAMEBUFFER_RENDERABLE_LAYERED */
-/* reuse GL_FRAMEBUFFER_BLEND */
-/* reuse GL_READ_PIXELS */
-/* reuse GL_READ_PIXELS_FORMAT */
-/* reuse GL_READ_PIXELS_TYPE */
-/* reuse GL_TEXTURE_IMAGE_FORMAT */
-/* reuse GL_TEXTURE_IMAGE_TYPE */
-/* reuse GL_GET_TEXTURE_IMAGE_FORMAT */
-/* reuse GL_GET_TEXTURE_IMAGE_TYPE */
-/* reuse GL_MIPMAP */
-/* reuse GL_MANUAL_GENERATE_MIPMAP */
-/* reuse GL_AUTO_GENERATE_MIPMAP */
-/* reuse GL_COLOR_ENCODING */
-/* reuse GL_SRGB_READ */
-/* reuse GL_SRGB_WRITE */
-/* reuse GL_FILTER */
-/* reuse GL_VERTEX_TEXTURE */
-/* reuse GL_TESS_CONTROL_TEXTURE */
-/* reuse GL_TESS_EVALUATION_TEXTURE */
-/* reuse GL_GEOMETRY_TEXTURE */
-/* reuse GL_FRAGMENT_TEXTURE */
-/* reuse GL_COMPUTE_TEXTURE */
-/* reuse GL_TEXTURE_SHADOW */
-/* reuse GL_TEXTURE_GATHER */
-/* reuse GL_TEXTURE_GATHER_SHADOW */
-/* reuse GL_SHADER_IMAGE_LOAD */
-/* reuse GL_SHADER_IMAGE_STORE */
-/* reuse GL_SHADER_IMAGE_ATOMIC */
-/* reuse GL_IMAGE_TEXEL_SIZE */
-/* reuse GL_IMAGE_COMPATIBILITY_CLASS */
-/* reuse GL_IMAGE_PIXEL_FORMAT */
-/* reuse GL_IMAGE_PIXEL_TYPE */
-/* reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST */
-/* reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST */
-/* reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE */
-/* reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE */
-/* reuse GL_TEXTURE_COMPRESSED_BLOCK_WIDTH */
-/* reuse GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT */
-/* reuse GL_TEXTURE_COMPRESSED_BLOCK_SIZE */
-/* reuse GL_CLEAR_BUFFER */
-/* reuse GL_TEXTURE_VIEW */
-/* reuse GL_VIEW_COMPATIBILITY_CLASS */
-/* reuse GL_FULL_SUPPORT */
-/* reuse GL_CAVEAT_SUPPORT */
-/* reuse GL_IMAGE_CLASS_4_X_32 */
-/* reuse GL_IMAGE_CLASS_2_X_32 */
-/* reuse GL_IMAGE_CLASS_1_X_32 */
-/* reuse GL_IMAGE_CLASS_4_X_16 */
-/* reuse GL_IMAGE_CLASS_2_X_16 */
-/* reuse GL_IMAGE_CLASS_1_X_16 */
-/* reuse GL_IMAGE_CLASS_4_X_8 */
-/* reuse GL_IMAGE_CLASS_2_X_8 */
-/* reuse GL_IMAGE_CLASS_1_X_8 */
-/* reuse GL_IMAGE_CLASS_11_11_10 */
-/* reuse GL_IMAGE_CLASS_10_10_10_2 */
-/* reuse GL_VIEW_CLASS_128_BITS */
-/* reuse GL_VIEW_CLASS_96_BITS */
-/* reuse GL_VIEW_CLASS_64_BITS */
-/* reuse GL_VIEW_CLASS_48_BITS */
-/* reuse GL_VIEW_CLASS_32_BITS */
-/* reuse GL_VIEW_CLASS_24_BITS */
-/* reuse GL_VIEW_CLASS_16_BITS */
-/* reuse GL_VIEW_CLASS_8_BITS */
-/* reuse GL_VIEW_CLASS_S3TC_DXT1_RGB */
-/* reuse GL_VIEW_CLASS_S3TC_DXT1_RGBA */
-/* reuse GL_VIEW_CLASS_S3TC_DXT3_RGBA */
-/* reuse GL_VIEW_CLASS_S3TC_DXT5_RGBA */
-/* reuse GL_VIEW_CLASS_RGTC1_RED */
-/* reuse GL_VIEW_CLASS_RGTC2_RG */
-/* reuse GL_VIEW_CLASS_BPTC_UNORM */
-/* reuse GL_VIEW_CLASS_BPTC_FLOAT */
-/* Reuse tokens from ARB_invalidate_subdata (none) */
-/* Reuse tokens from ARB_multi_draw_indirect (none) */
-/* Reuse tokens from ARB_program_interface_query */
-/* reuse GL_UNIFORM */
-/* reuse GL_UNIFORM_BLOCK */
-/* reuse GL_PROGRAM_INPUT */
-/* reuse GL_PROGRAM_OUTPUT */
-/* reuse GL_BUFFER_VARIABLE */
-/* reuse GL_SHADER_STORAGE_BLOCK */
-/* reuse GL_VERTEX_SUBROUTINE */
-/* reuse GL_TESS_CONTROL_SUBROUTINE */
-/* reuse GL_TESS_EVALUATION_SUBROUTINE */
-/* reuse GL_GEOMETRY_SUBROUTINE */
-/* reuse GL_FRAGMENT_SUBROUTINE */
-/* reuse GL_COMPUTE_SUBROUTINE */
-/* reuse GL_VERTEX_SUBROUTINE_UNIFORM */
-/* reuse GL_TESS_CONTROL_SUBROUTINE_UNIFORM */
-/* reuse GL_TESS_EVALUATION_SUBROUTINE_UNIFORM */
-/* reuse GL_GEOMETRY_SUBROUTINE_UNIFORM */
-/* reuse GL_FRAGMENT_SUBROUTINE_UNIFORM */
-/* reuse GL_COMPUTE_SUBROUTINE_UNIFORM */
-/* reuse GL_TRANSFORM_FEEDBACK_VARYING */
-/* reuse GL_ACTIVE_RESOURCES */
-/* reuse GL_MAX_NAME_LENGTH */
-/* reuse GL_MAX_NUM_ACTIVE_VARIABLES */
-/* reuse GL_MAX_NUM_COMPATIBLE_SUBROUTINES */
-/* reuse GL_NAME_LENGTH */
-/* reuse GL_TYPE */
-/* reuse GL_ARRAY_SIZE */
-/* reuse GL_OFFSET */
-/* reuse GL_BLOCK_INDEX */
-/* reuse GL_ARRAY_STRIDE */
-/* reuse GL_MATRIX_STRIDE */
-/* reuse GL_IS_ROW_MAJOR */
-/* reuse GL_ATOMIC_COUNTER_BUFFER_INDEX */
-/* reuse GL_BUFFER_BINDING */
-/* reuse GL_BUFFER_DATA_SIZE */
-/* reuse GL_NUM_ACTIVE_VARIABLES */
-/* reuse GL_ACTIVE_VARIABLES */
-/* reuse GL_REFERENCED_BY_VERTEX_SHADER */
-/* reuse GL_REFERENCED_BY_TESS_CONTROL_SHADER */
-/* reuse GL_REFERENCED_BY_TESS_EVALUATION_SHADER */
-/* reuse GL_REFERENCED_BY_GEOMETRY_SHADER */
-/* reuse GL_REFERENCED_BY_FRAGMENT_SHADER */
-/* reuse GL_REFERENCED_BY_COMPUTE_SHADER */
-/* reuse GL_TOP_LEVEL_ARRAY_SIZE */
-/* reuse GL_TOP_LEVEL_ARRAY_STRIDE */
-/* reuse GL_LOCATION */
-/* reuse GL_LOCATION_INDEX */
-/* reuse GL_IS_PER_PATCH */
-/* Reuse tokens from ARB_robust_buffer_access_behavior (none) */
-/* Reuse tokens from ARB_shader_storage_buffer_object */
-/* reuse GL_SHADER_STORAGE_BUFFER */
-/* reuse GL_SHADER_STORAGE_BUFFER_BINDING */
-/* reuse GL_SHADER_STORAGE_BUFFER_START */
-/* reuse GL_SHADER_STORAGE_BUFFER_SIZE */
-/* reuse GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS */
-/* reuse GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS */
-/* reuse GL_MAX_SHADER_STORAGE_BLOCK_SIZE */
-/* reuse GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT */
-/* reuse GL_SHADER_STORAGE_BARRIER_BIT */
-/* reuse GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES */
-/* Reuse tokens from ARB_stencil_texturing */
-/* reuse GL_DEPTH_STENCIL_TEXTURE_MODE */
-/* Reuse tokens from ARB_texture_buffer_range */
-/* reuse GL_TEXTURE_BUFFER_OFFSET */
-/* reuse GL_TEXTURE_BUFFER_SIZE */
-/* reuse GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT */
-/* Reuse tokens from ARB_texture_query_levels (none) */
-/* Reuse tokens from ARB_texture_storage_multisample (none) */
-/* Reuse tokens from ARB_texture_view */
-/* reuse GL_TEXTURE_VIEW_MIN_LEVEL */
-/* reuse GL_TEXTURE_VIEW_NUM_LEVELS */
-/* reuse GL_TEXTURE_VIEW_MIN_LAYER */
-/* reuse GL_TEXTURE_VIEW_NUM_LAYERS */
-/* reuse GL_TEXTURE_IMMUTABLE_LEVELS */
-/* Reuse tokens from ARB_vertex_attrib_binding */
-/* reuse GL_VERTEX_ATTRIB_BINDING */
-/* reuse GL_VERTEX_ATTRIB_RELATIVE_OFFSET */
-/* reuse GL_VERTEX_BINDING_DIVISOR */
-/* reuse GL_VERTEX_BINDING_OFFSET */
-/* reuse GL_VERTEX_BINDING_STRIDE */
-/* reuse GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET */
-/* reuse GL_MAX_VERTEX_ATTRIB_BINDINGS */
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_TEXTURE0_ARB                   0x84C0
-#define GL_TEXTURE1_ARB                   0x84C1
-#define GL_TEXTURE2_ARB                   0x84C2
-#define GL_TEXTURE3_ARB                   0x84C3
-#define GL_TEXTURE4_ARB                   0x84C4
-#define GL_TEXTURE5_ARB                   0x84C5
-#define GL_TEXTURE6_ARB                   0x84C6
-#define GL_TEXTURE7_ARB                   0x84C7
-#define GL_TEXTURE8_ARB                   0x84C8
-#define GL_TEXTURE9_ARB                   0x84C9
-#define GL_TEXTURE10_ARB                  0x84CA
-#define GL_TEXTURE11_ARB                  0x84CB
-#define GL_TEXTURE12_ARB                  0x84CC
-#define GL_TEXTURE13_ARB                  0x84CD
-#define GL_TEXTURE14_ARB                  0x84CE
-#define GL_TEXTURE15_ARB                  0x84CF
-#define GL_TEXTURE16_ARB                  0x84D0
-#define GL_TEXTURE17_ARB                  0x84D1
-#define GL_TEXTURE18_ARB                  0x84D2
-#define GL_TEXTURE19_ARB                  0x84D3
-#define GL_TEXTURE20_ARB                  0x84D4
-#define GL_TEXTURE21_ARB                  0x84D5
-#define GL_TEXTURE22_ARB                  0x84D6
-#define GL_TEXTURE23_ARB                  0x84D7
-#define GL_TEXTURE24_ARB                  0x84D8
-#define GL_TEXTURE25_ARB                  0x84D9
-#define GL_TEXTURE26_ARB                  0x84DA
-#define GL_TEXTURE27_ARB                  0x84DB
-#define GL_TEXTURE28_ARB                  0x84DC
-#define GL_TEXTURE29_ARB                  0x84DD
-#define GL_TEXTURE30_ARB                  0x84DE
-#define GL_TEXTURE31_ARB                  0x84DF
-#define GL_ACTIVE_TEXTURE_ARB             0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
-#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB   0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB     0x84E6
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_MULTISAMPLE_ARB                0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB   0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB        0x809F
-#define GL_SAMPLE_COVERAGE_ARB            0x80A0
-#define GL_SAMPLE_BUFFERS_ARB             0x80A8
-#define GL_SAMPLES_ARB                    0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE_ARB      0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT_ARB     0x80AB
-#define GL_MULTISAMPLE_BIT_ARB            0x20000000
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_NORMAL_MAP_ARB                 0x8511
-#define GL_REFLECTION_MAP_ARB             0x8512
-#define GL_TEXTURE_CUBE_MAP_ARB           0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_COMPRESSED_ALPHA_ARB           0x84E9
-#define GL_COMPRESSED_LUMINANCE_ARB       0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
-#define GL_COMPRESSED_INTENSITY_ARB       0x84EC
-#define GL_COMPRESSED_RGB_ARB             0x84ED
-#define GL_COMPRESSED_RGBA_ARB            0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT_ARB   0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
-#define GL_TEXTURE_COMPRESSED_ARB         0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_CLAMP_TO_BORDER_ARB            0x812D
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_POINT_SIZE_MIN_ARB             0x8126
-#define GL_POINT_SIZE_MAX_ARB             0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128
-#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_MAX_VERTEX_UNITS_ARB           0x86A4
-#define GL_ACTIVE_VERTEX_UNITS_ARB        0x86A5
-#define GL_WEIGHT_SUM_UNITY_ARB           0x86A6
-#define GL_VERTEX_BLEND_ARB               0x86A7
-#define GL_CURRENT_WEIGHT_ARB             0x86A8
-#define GL_WEIGHT_ARRAY_TYPE_ARB          0x86A9
-#define GL_WEIGHT_ARRAY_STRIDE_ARB        0x86AA
-#define GL_WEIGHT_ARRAY_SIZE_ARB          0x86AB
-#define GL_WEIGHT_ARRAY_POINTER_ARB       0x86AC
-#define GL_WEIGHT_ARRAY_ARB               0x86AD
-#define GL_MODELVIEW0_ARB                 0x1700
-#define GL_MODELVIEW1_ARB                 0x850A
-#define GL_MODELVIEW2_ARB                 0x8722
-#define GL_MODELVIEW3_ARB                 0x8723
-#define GL_MODELVIEW4_ARB                 0x8724
-#define GL_MODELVIEW5_ARB                 0x8725
-#define GL_MODELVIEW6_ARB                 0x8726
-#define GL_MODELVIEW7_ARB                 0x8727
-#define GL_MODELVIEW8_ARB                 0x8728
-#define GL_MODELVIEW9_ARB                 0x8729
-#define GL_MODELVIEW10_ARB                0x872A
-#define GL_MODELVIEW11_ARB                0x872B
-#define GL_MODELVIEW12_ARB                0x872C
-#define GL_MODELVIEW13_ARB                0x872D
-#define GL_MODELVIEW14_ARB                0x872E
-#define GL_MODELVIEW15_ARB                0x872F
-#define GL_MODELVIEW16_ARB                0x8730
-#define GL_MODELVIEW17_ARB                0x8731
-#define GL_MODELVIEW18_ARB                0x8732
-#define GL_MODELVIEW19_ARB                0x8733
-#define GL_MODELVIEW20_ARB                0x8734
-#define GL_MODELVIEW21_ARB                0x8735
-#define GL_MODELVIEW22_ARB                0x8736
-#define GL_MODELVIEW23_ARB                0x8737
-#define GL_MODELVIEW24_ARB                0x8738
-#define GL_MODELVIEW25_ARB                0x8739
-#define GL_MODELVIEW26_ARB                0x873A
-#define GL_MODELVIEW27_ARB                0x873B
-#define GL_MODELVIEW28_ARB                0x873C
-#define GL_MODELVIEW29_ARB                0x873D
-#define GL_MODELVIEW30_ARB                0x873E
-#define GL_MODELVIEW31_ARB                0x873F
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_MATRIX_PALETTE_ARB             0x8840
-#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
-#define GL_MAX_PALETTE_MATRICES_ARB       0x8842
-#define GL_CURRENT_PALETTE_MATRIX_ARB     0x8843
-#define GL_MATRIX_INDEX_ARRAY_ARB         0x8844
-#define GL_CURRENT_MATRIX_INDEX_ARB       0x8845
-#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB    0x8846
-#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB    0x8847
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB  0x8848
-#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_COMBINE_ARB                    0x8570
-#define GL_COMBINE_RGB_ARB                0x8571
-#define GL_COMBINE_ALPHA_ARB              0x8572
-#define GL_SOURCE0_RGB_ARB                0x8580
-#define GL_SOURCE1_RGB_ARB                0x8581
-#define GL_SOURCE2_RGB_ARB                0x8582
-#define GL_SOURCE0_ALPHA_ARB              0x8588
-#define GL_SOURCE1_ALPHA_ARB              0x8589
-#define GL_SOURCE2_ALPHA_ARB              0x858A
-#define GL_OPERAND0_RGB_ARB               0x8590
-#define GL_OPERAND1_RGB_ARB               0x8591
-#define GL_OPERAND2_RGB_ARB               0x8592
-#define GL_OPERAND0_ALPHA_ARB             0x8598
-#define GL_OPERAND1_ALPHA_ARB             0x8599
-#define GL_OPERAND2_ALPHA_ARB             0x859A
-#define GL_RGB_SCALE_ARB                  0x8573
-#define GL_ADD_SIGNED_ARB                 0x8574
-#define GL_INTERPOLATE_ARB                0x8575
-#define GL_SUBTRACT_ARB                   0x84E7
-#define GL_CONSTANT_ARB                   0x8576
-#define GL_PRIMARY_COLOR_ARB              0x8577
-#define GL_PREVIOUS_ARB                   0x8578
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_DOT3_RGB_ARB                   0x86AE
-#define GL_DOT3_RGBA_ARB                  0x86AF
-#endif
-
-#ifndef GL_ARB_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_ARB            0x8370
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_DEPTH_COMPONENT16_ARB          0x81A5
-#define GL_DEPTH_COMPONENT24_ARB          0x81A6
-#define GL_DEPTH_COMPONENT32_ARB          0x81A7
-#define GL_TEXTURE_DEPTH_SIZE_ARB         0x884A
-#define GL_DEPTH_TEXTURE_MODE_ARB         0x884B
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_TEXTURE_COMPARE_MODE_ARB       0x884C
-#define GL_TEXTURE_COMPARE_FUNC_ARB       0x884D
-#define GL_COMPARE_R_TO_TEXTURE_ARB       0x884E
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
-#endif
-
-#ifndef GL_ARB_window_pos
-#endif
-
-#ifndef GL_ARB_vertex_program
-#define GL_COLOR_SUM_ARB                  0x8458
-#define GL_VERTEX_PROGRAM_ARB             0x8620
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB   0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB   0x8625
-#define GL_CURRENT_VERTEX_ATTRIB_ARB      0x8626
-#define GL_PROGRAM_LENGTH_ARB             0x8627
-#define GL_PROGRAM_STRING_ARB             0x8628
-#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
-#define GL_MAX_PROGRAM_MATRICES_ARB       0x862F
-#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
-#define GL_CURRENT_MATRIX_ARB             0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB  0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB    0x8643
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
-#define GL_PROGRAM_ERROR_POSITION_ARB     0x864B
-#define GL_PROGRAM_BINDING_ARB            0x8677
-#define GL_MAX_VERTEX_ATTRIBS_ARB         0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
-#define GL_PROGRAM_ERROR_STRING_ARB       0x8874
-#define GL_PROGRAM_FORMAT_ASCII_ARB       0x8875
-#define GL_PROGRAM_FORMAT_ARB             0x8876
-#define GL_PROGRAM_INSTRUCTIONS_ARB       0x88A0
-#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB   0x88A1
-#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
-#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
-#define GL_PROGRAM_TEMPORARIES_ARB        0x88A4
-#define GL_MAX_PROGRAM_TEMPORARIES_ARB    0x88A5
-#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
-#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
-#define GL_PROGRAM_PARAMETERS_ARB         0x88A8
-#define GL_MAX_PROGRAM_PARAMETERS_ARB     0x88A9
-#define GL_PROGRAM_NATIVE_PARAMETERS_ARB  0x88AA
-#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
-#define GL_PROGRAM_ATTRIBS_ARB            0x88AC
-#define GL_MAX_PROGRAM_ATTRIBS_ARB        0x88AD
-#define GL_PROGRAM_NATIVE_ATTRIBS_ARB     0x88AE
-#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
-#define GL_PROGRAM_ADDRESS_REGISTERS_ARB  0x88B0
-#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
-#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
-#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
-#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
-#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
-#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
-#define GL_TRANSPOSE_CURRENT_MATRIX_ARB   0x88B7
-#define GL_MATRIX0_ARB                    0x88C0
-#define GL_MATRIX1_ARB                    0x88C1
-#define GL_MATRIX2_ARB                    0x88C2
-#define GL_MATRIX3_ARB                    0x88C3
-#define GL_MATRIX4_ARB                    0x88C4
-#define GL_MATRIX5_ARB                    0x88C5
-#define GL_MATRIX6_ARB                    0x88C6
-#define GL_MATRIX7_ARB                    0x88C7
-#define GL_MATRIX8_ARB                    0x88C8
-#define GL_MATRIX9_ARB                    0x88C9
-#define GL_MATRIX10_ARB                   0x88CA
-#define GL_MATRIX11_ARB                   0x88CB
-#define GL_MATRIX12_ARB                   0x88CC
-#define GL_MATRIX13_ARB                   0x88CD
-#define GL_MATRIX14_ARB                   0x88CE
-#define GL_MATRIX15_ARB                   0x88CF
-#define GL_MATRIX16_ARB                   0x88D0
-#define GL_MATRIX17_ARB                   0x88D1
-#define GL_MATRIX18_ARB                   0x88D2
-#define GL_MATRIX19_ARB                   0x88D3
-#define GL_MATRIX20_ARB                   0x88D4
-#define GL_MATRIX21_ARB                   0x88D5
-#define GL_MATRIX22_ARB                   0x88D6
-#define GL_MATRIX23_ARB                   0x88D7
-#define GL_MATRIX24_ARB                   0x88D8
-#define GL_MATRIX25_ARB                   0x88D9
-#define GL_MATRIX26_ARB                   0x88DA
-#define GL_MATRIX27_ARB                   0x88DB
-#define GL_MATRIX28_ARB                   0x88DC
-#define GL_MATRIX29_ARB                   0x88DD
-#define GL_MATRIX30_ARB                   0x88DE
-#define GL_MATRIX31_ARB                   0x88DF
-#endif
-
-#ifndef GL_ARB_fragment_program
-#define GL_FRAGMENT_PROGRAM_ARB           0x8804
-#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB   0x8805
-#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB   0x8806
-#define GL_PROGRAM_TEX_INDIRECTIONS_ARB   0x8807
-#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
-#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
-#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
-#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
-#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
-#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
-#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
-#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
-#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
-#define GL_MAX_TEXTURE_COORDS_ARB         0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB    0x8872
-#endif
-
-#ifndef GL_ARB_vertex_buffer_object
-#define GL_BUFFER_SIZE_ARB                0x8764
-#define GL_BUFFER_USAGE_ARB               0x8765
-#define GL_ARRAY_BUFFER_ARB               0x8892
-#define GL_ELEMENT_ARRAY_BUFFER_ARB       0x8893
-#define GL_ARRAY_BUFFER_BINDING_ARB       0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
-#define GL_READ_ONLY_ARB                  0x88B8
-#define GL_WRITE_ONLY_ARB                 0x88B9
-#define GL_READ_WRITE_ARB                 0x88BA
-#define GL_BUFFER_ACCESS_ARB              0x88BB
-#define GL_BUFFER_MAPPED_ARB              0x88BC
-#define GL_BUFFER_MAP_POINTER_ARB         0x88BD
-#define GL_STREAM_DRAW_ARB                0x88E0
-#define GL_STREAM_READ_ARB                0x88E1
-#define GL_STREAM_COPY_ARB                0x88E2
-#define GL_STATIC_DRAW_ARB                0x88E4
-#define GL_STATIC_READ_ARB                0x88E5
-#define GL_STATIC_COPY_ARB                0x88E6
-#define GL_DYNAMIC_DRAW_ARB               0x88E8
-#define GL_DYNAMIC_READ_ARB               0x88E9
-#define GL_DYNAMIC_COPY_ARB               0x88EA
-#endif
-
-#ifndef GL_ARB_occlusion_query
-#define GL_QUERY_COUNTER_BITS_ARB         0x8864
-#define GL_CURRENT_QUERY_ARB              0x8865
-#define GL_QUERY_RESULT_ARB               0x8866
-#define GL_QUERY_RESULT_AVAILABLE_ARB     0x8867
-#define GL_SAMPLES_PASSED_ARB             0x8914
-#endif
-
-#ifndef GL_ARB_shader_objects
-#define GL_PROGRAM_OBJECT_ARB             0x8B40
-#define GL_SHADER_OBJECT_ARB              0x8B48
-#define GL_OBJECT_TYPE_ARB                0x8B4E
-#define GL_OBJECT_SUBTYPE_ARB             0x8B4F
-#define GL_FLOAT_VEC2_ARB                 0x8B50
-#define GL_FLOAT_VEC3_ARB                 0x8B51
-#define GL_FLOAT_VEC4_ARB                 0x8B52
-#define GL_INT_VEC2_ARB                   0x8B53
-#define GL_INT_VEC3_ARB                   0x8B54
-#define GL_INT_VEC4_ARB                   0x8B55
-#define GL_BOOL_ARB                       0x8B56
-#define GL_BOOL_VEC2_ARB                  0x8B57
-#define GL_BOOL_VEC3_ARB                  0x8B58
-#define GL_BOOL_VEC4_ARB                  0x8B59
-#define GL_FLOAT_MAT2_ARB                 0x8B5A
-#define GL_FLOAT_MAT3_ARB                 0x8B5B
-#define GL_FLOAT_MAT4_ARB                 0x8B5C
-#define GL_SAMPLER_1D_ARB                 0x8B5D
-#define GL_SAMPLER_2D_ARB                 0x8B5E
-#define GL_SAMPLER_3D_ARB                 0x8B5F
-#define GL_SAMPLER_CUBE_ARB               0x8B60
-#define GL_SAMPLER_1D_SHADOW_ARB          0x8B61
-#define GL_SAMPLER_2D_SHADOW_ARB          0x8B62
-#define GL_SAMPLER_2D_RECT_ARB            0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW_ARB     0x8B64
-#define GL_OBJECT_DELETE_STATUS_ARB       0x8B80
-#define GL_OBJECT_COMPILE_STATUS_ARB      0x8B81
-#define GL_OBJECT_LINK_STATUS_ARB         0x8B82
-#define GL_OBJECT_VALIDATE_STATUS_ARB     0x8B83
-#define GL_OBJECT_INFO_LOG_LENGTH_ARB     0x8B84
-#define GL_OBJECT_ATTACHED_OBJECTS_ARB    0x8B85
-#define GL_OBJECT_ACTIVE_UNIFORMS_ARB     0x8B86
-#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
-#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
-#endif
-
-#ifndef GL_ARB_vertex_shader
-#define GL_VERTEX_SHADER_ARB              0x8B31
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
-#define GL_MAX_VARYING_FLOATS_ARB         0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
-#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB   0x8B89
-#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
-#endif
-
-#ifndef GL_ARB_fragment_shader
-#define GL_FRAGMENT_SHADER_ARB            0x8B30
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
-#endif
-
-#ifndef GL_ARB_shading_language_100
-#define GL_SHADING_LANGUAGE_VERSION_ARB   0x8B8C
-#endif
-
-#ifndef GL_ARB_texture_non_power_of_two
-#endif
-
-#ifndef GL_ARB_point_sprite
-#define GL_POINT_SPRITE_ARB               0x8861
-#define GL_COORD_REPLACE_ARB              0x8862
-#endif
-
-#ifndef GL_ARB_fragment_program_shadow
-#endif
-
-#ifndef GL_ARB_draw_buffers
-#define GL_MAX_DRAW_BUFFERS_ARB           0x8824
-#define GL_DRAW_BUFFER0_ARB               0x8825
-#define GL_DRAW_BUFFER1_ARB               0x8826
-#define GL_DRAW_BUFFER2_ARB               0x8827
-#define GL_DRAW_BUFFER3_ARB               0x8828
-#define GL_DRAW_BUFFER4_ARB               0x8829
-#define GL_DRAW_BUFFER5_ARB               0x882A
-#define GL_DRAW_BUFFER6_ARB               0x882B
-#define GL_DRAW_BUFFER7_ARB               0x882C
-#define GL_DRAW_BUFFER8_ARB               0x882D
-#define GL_DRAW_BUFFER9_ARB               0x882E
-#define GL_DRAW_BUFFER10_ARB              0x882F
-#define GL_DRAW_BUFFER11_ARB              0x8830
-#define GL_DRAW_BUFFER12_ARB              0x8831
-#define GL_DRAW_BUFFER13_ARB              0x8832
-#define GL_DRAW_BUFFER14_ARB              0x8833
-#define GL_DRAW_BUFFER15_ARB              0x8834
-#endif
-
-#ifndef GL_ARB_texture_rectangle
-#define GL_TEXTURE_RECTANGLE_ARB          0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
-#endif
-
-#ifndef GL_ARB_color_buffer_float
-#define GL_RGBA_FLOAT_MODE_ARB            0x8820
-#define GL_CLAMP_VERTEX_COLOR_ARB         0x891A
-#define GL_CLAMP_FRAGMENT_COLOR_ARB       0x891B
-#define GL_CLAMP_READ_COLOR_ARB           0x891C
-#define GL_FIXED_ONLY_ARB                 0x891D
-#endif
-
-#ifndef GL_ARB_half_float_pixel
-#define GL_HALF_FLOAT_ARB                 0x140B
-#endif
-
-#ifndef GL_ARB_texture_float
-#define GL_TEXTURE_RED_TYPE_ARB           0x8C10
-#define GL_TEXTURE_GREEN_TYPE_ARB         0x8C11
-#define GL_TEXTURE_BLUE_TYPE_ARB          0x8C12
-#define GL_TEXTURE_ALPHA_TYPE_ARB         0x8C13
-#define GL_TEXTURE_LUMINANCE_TYPE_ARB     0x8C14
-#define GL_TEXTURE_INTENSITY_TYPE_ARB     0x8C15
-#define GL_TEXTURE_DEPTH_TYPE_ARB         0x8C16
-#define GL_UNSIGNED_NORMALIZED_ARB        0x8C17
-#define GL_RGBA32F_ARB                    0x8814
-#define GL_RGB32F_ARB                     0x8815
-#define GL_ALPHA32F_ARB                   0x8816
-#define GL_INTENSITY32F_ARB               0x8817
-#define GL_LUMINANCE32F_ARB               0x8818
-#define GL_LUMINANCE_ALPHA32F_ARB         0x8819
-#define GL_RGBA16F_ARB                    0x881A
-#define GL_RGB16F_ARB                     0x881B
-#define GL_ALPHA16F_ARB                   0x881C
-#define GL_INTENSITY16F_ARB               0x881D
-#define GL_LUMINANCE16F_ARB               0x881E
-#define GL_LUMINANCE_ALPHA16F_ARB         0x881F
-#endif
-
-#ifndef GL_ARB_pixel_buffer_object
-#define GL_PIXEL_PACK_BUFFER_ARB          0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_ARB        0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_ARB  0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
-#endif
-
-#ifndef GL_ARB_depth_buffer_float
 #define GL_DEPTH_COMPONENT32F             0x8CAC
 #define GL_DEPTH32F_STENCIL8              0x8CAD
 #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
-#endif
-
-#ifndef GL_ARB_draw_instanced
-#endif
-
-#ifndef GL_ARB_framebuffer_object
 #define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
@@ -1953,7 +1008,7 @@
 #define GL_TEXTURE_DEPTH_TYPE             0x8C16
 #define GL_UNSIGNED_NORMALIZED            0x8C17
 #define GL_FRAMEBUFFER_BINDING            0x8CA6
-#define GL_DRAW_FRAMEBUFFER_BINDING       GL_FRAMEBUFFER_BINDING
+#define GL_DRAW_FRAMEBUFFER_BINDING       0x8CA6
 #define GL_RENDERBUFFER_BINDING           0x8CA7
 #define GL_READ_FRAMEBUFFER               0x8CA8
 #define GL_DRAW_FRAMEBUFFER               0x8CA9
@@ -1987,6 +1042,22 @@
 #define GL_COLOR_ATTACHMENT13             0x8CED
 #define GL_COLOR_ATTACHMENT14             0x8CEE
 #define GL_COLOR_ATTACHMENT15             0x8CEF
+#define GL_COLOR_ATTACHMENT16             0x8CF0
+#define GL_COLOR_ATTACHMENT17             0x8CF1
+#define GL_COLOR_ATTACHMENT18             0x8CF2
+#define GL_COLOR_ATTACHMENT19             0x8CF3
+#define GL_COLOR_ATTACHMENT20             0x8CF4
+#define GL_COLOR_ATTACHMENT21             0x8CF5
+#define GL_COLOR_ATTACHMENT22             0x8CF6
+#define GL_COLOR_ATTACHMENT23             0x8CF7
+#define GL_COLOR_ATTACHMENT24             0x8CF8
+#define GL_COLOR_ATTACHMENT25             0x8CF9
+#define GL_COLOR_ATTACHMENT26             0x8CFA
+#define GL_COLOR_ATTACHMENT27             0x8CFB
+#define GL_COLOR_ATTACHMENT28             0x8CFC
+#define GL_COLOR_ATTACHMENT29             0x8CFD
+#define GL_COLOR_ATTACHMENT30             0x8CFE
+#define GL_COLOR_ATTACHMENT31             0x8CFF
 #define GL_DEPTH_ATTACHMENT               0x8D00
 #define GL_STENCIL_ATTACHMENT             0x8D20
 #define GL_FRAMEBUFFER                    0x8D40
@@ -2009,68 +1080,18 @@
 #define GL_INDEX                          0x8222
 #define GL_TEXTURE_LUMINANCE_TYPE         0x8C14
 #define GL_TEXTURE_INTENSITY_TYPE         0x8C15
-#endif
-
-#ifndef GL_ARB_framebuffer_sRGB
 #define GL_FRAMEBUFFER_SRGB               0x8DB9
-#endif
-
-#ifndef GL_ARB_geometry_shader4
-#define GL_LINES_ADJACENCY_ARB            0x000A
-#define GL_LINE_STRIP_ADJACENCY_ARB       0x000B
-#define GL_TRIANGLES_ADJACENCY_ARB        0x000C
-#define GL_TRIANGLE_STRIP_ADJACENCY_ARB   0x000D
-#define GL_PROGRAM_POINT_SIZE_ARB         0x8642
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
-#define GL_GEOMETRY_SHADER_ARB            0x8DD9
-#define GL_GEOMETRY_VERTICES_OUT_ARB      0x8DDA
-#define GL_GEOMETRY_INPUT_TYPE_ARB        0x8DDB
-#define GL_GEOMETRY_OUTPUT_TYPE_ARB       0x8DDC
-#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
-#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
-/* reuse GL_MAX_VARYING_COMPONENTS */
-/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
-#endif
-
-#ifndef GL_ARB_half_float_vertex
 #define GL_HALF_FLOAT                     0x140B
-#endif
-
-#ifndef GL_ARB_instanced_arrays
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
-#endif
-
-#ifndef GL_ARB_map_buffer_range
 #define GL_MAP_READ_BIT                   0x0001
 #define GL_MAP_WRITE_BIT                  0x0002
 #define GL_MAP_INVALIDATE_RANGE_BIT       0x0004
 #define GL_MAP_INVALIDATE_BUFFER_BIT      0x0008
 #define GL_MAP_FLUSH_EXPLICIT_BIT         0x0010
 #define GL_MAP_UNSYNCHRONIZED_BIT         0x0020
-#endif
-
-#ifndef GL_ARB_texture_buffer_object
-#define GL_TEXTURE_BUFFER_ARB             0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB    0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER_ARB     0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
-#define GL_TEXTURE_BUFFER_FORMAT_ARB      0x8C2E
-#endif
-
-#ifndef GL_ARB_texture_compression_rgtc
 #define GL_COMPRESSED_RED_RGTC1           0x8DBB
 #define GL_COMPRESSED_SIGNED_RED_RGTC1    0x8DBC
 #define GL_COMPRESSED_RG_RGTC2            0x8DBD
 #define GL_COMPRESSED_SIGNED_RG_RGTC2     0x8DBE
-#endif
-
-#ifndef GL_ARB_texture_rg
 #define GL_RG                             0x8227
 #define GL_RG_INTEGER                     0x8228
 #define GL_R8                             0x8229
@@ -2093,13 +1114,212 @@
 #define GL_RG16UI                         0x823A
 #define GL_RG32I                          0x823B
 #define GL_RG32UI                         0x823C
-#endif
-
-#ifndef GL_ARB_vertex_array_object
 #define GL_VERTEX_ARRAY_BINDING           0x85B5
-#endif
-
-#ifndef GL_ARB_uniform_buffer_object
+#define GL_CLAMP_VERTEX_COLOR             0x891A
+#define GL_CLAMP_FRAGMENT_COLOR           0x891B
+#define GL_ALPHA_INTEGER                  0x8D97
+typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
+typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
+typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void *(APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
+typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
+typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
+typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+GLAPI void APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
+GLAPI void APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
+GLAPI void APIENTRY glEnablei (GLenum target, GLuint index);
+GLAPI void APIENTRY glDisablei (GLenum target, GLuint index);
+GLAPI GLboolean APIENTRY glIsEnabledi (GLenum target, GLuint index);
+GLAPI void APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
+GLAPI void APIENTRY glEndTransformFeedback (void);
+GLAPI void APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
+GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
+GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glClampColor (GLenum target, GLenum clamp);
+GLAPI void APIENTRY glBeginConditionalRender (GLuint id, GLenum mode);
+GLAPI void APIENTRY glEndConditionalRender (void);
+GLAPI void APIENTRY glVertexAttribIPointer (GLuint in