<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Checking unprefixed EXT_texture_filter_anisotropic extension</title>
<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
<script src="../../../resources/js-test-pre.js"></script>
<script src="resources/webgl-test.js"></script>
<script src="resources/webgl-test-utils.js"></script>
</head>
<body>
<div id="description"></div>
<canvas id="canvas" style="width: 1px; height: 1px;"> </canvas>
<div id="console"></div>

<script>
"use strict";
description("This test verifies that EXT_texture_filter_anisotropic is available.");

debug("");

var wtu = WebGLTestUtils;
var gl = wtu.create3DContext("canvas");

if (!gl)
    testFailed("WebGL context does not exist");
else {
    testPassed("WebGL context exists");

    var ext = gl.getExtension("EXT_texture_filter_anisotropic");
    if (!ext)
        testFailed("No EXT_texture_filter_anisotropic support");
    else
        testPassed("Successfully enabled EXT_texture_filter_anisotropic extension");
}

debug("");
var successfullyParsed = true;
</script>
<script src="../../../resources/js-test-post.js"></script>

</body>
</html>
