tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_texsubimage_float.html (1918B)


      1 <!DOCTYPE HTML>
      2 <title>WebGL test: bug 1003607</title>
      3 <script src="/tests/SimpleTest/SimpleTest.js"></script>
      4 <link rel="stylesheet" href="/tests/SimpleTest/test.css">
      5 <script src="driver-info.js"></script>
      6 <script src="webgl-util.js"></script>
      7 <body>
      8 <canvas id="c"></canvas>
      9 <script>
     10 
     11 // Give ourselves a scope to return early from:
     12 (function() {
     13  var gl = c.getContext('webgl');
     14  if (!gl) {
     15    todo(false, 'WebGL is unavailable.');
     16    return;
     17  }
     18 
     19  function checkGLError(func, info, reference) {
     20    var error = gl.getError();
     21    var prefix = info ? ('[' + info + '] ') : '';
     22    var text = 'gl.getError should be 0x' + reference.toString(16) +
     23               ', was 0x' + error.toString(16) + '.';
     24    func(error == reference, prefix + text);
     25  }
     26 
     27  // Begin test:
     28  if (!gl.getExtension('OES_texture_float')) {
     29    todo(false, 'Not having this extension is fine.');
     30    return;
     31  }
     32  var tex = gl.createTexture();
     33  gl.bindTexture(gl.TEXTURE_2D, tex);
     34  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
     35  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
     36  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
     37  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
     38  checkGLError(ok, 'texture parameter setup should succeed', gl.NO_ERROR);
     39 
     40  // Generate data
     41  var width = 2;
     42  var height = 2;
     43  var numChannels = 4;
     44  var data = new Float32Array(width * height * numChannels);
     45  for (var ii = 0; ii < data.length; ++ii) {
     46    data[ii] = 10000;
     47  }
     48  gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.FLOAT, data);
     49  checkGLError(ok, 'floating-point texture allocation should succeed', gl.NO_ERROR);
     50 
     51  // Try respecifying data
     52  gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, width, height, gl.RGBA, gl.FLOAT, data);
     53  checkGLError(ok, 'floating-point texture sub image should succeed', gl.NO_ERROR);
     54 })();
     55 
     56 </script>