summaryrefslogtreecommitdiff
path: root/source/bower_components/modernizr/feature-detects/webgl-extensions.js
diff options
context:
space:
mode:
Diffstat (limited to 'source/bower_components/modernizr/feature-detects/webgl-extensions.js')
-rw-r--r--source/bower_components/modernizr/feature-detects/webgl-extensions.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/source/bower_components/modernizr/feature-detects/webgl-extensions.js b/source/bower_components/modernizr/feature-detects/webgl-extensions.js
new file mode 100644
index 0000000..c005c00
--- /dev/null
+++ b/source/bower_components/modernizr/feature-detects/webgl-extensions.js
@@ -0,0 +1,42 @@
+
+// Grab the WebGL extensions currently supported and add to the Modernizr.webgl object
+// spec: www.khronos.org/registry/webgl/specs/latest/#5.13.14
+
+// based on code from ilmari heikkinen
+// code.google.com/p/graphics-detect/source/browse/js/detect.js
+
+
+(function(){
+
+ if (!Modernizr.webgl) return;
+
+ var canvas, ctx, exts;
+
+ try {
+ canvas = document.createElement('canvas');
+ ctx = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
+ exts = ctx.getSupportedExtensions();
+ }
+ catch (e) {
+ return;
+ }
+
+ if (ctx === undefined) {
+ Modernizr.webgl = new Boolean(false);
+ }
+ else {
+ Modernizr.webgl = new Boolean(true);
+ }
+
+
+ for (var i = -1, len = exts.length; ++i < len; ){
+ Modernizr.webgl[exts[i]] = true;
+ }
+
+ // hack for addressing modernizr testsuite failures. sorry.
+ if (window.TEST && TEST.audvid){
+ TEST.audvid.push('webgl');
+ }
+
+ canvas = undefined;
+})(); \ No newline at end of file