tor-browser

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

tex-image-and-sub-image-3d-with-image-bitmap-from-image-data.js (1608B)


      1 /*
      2 Copyright (c) 2019 The Khronos Group Inc.
      3 Use of this source code is governed by an MIT-style license that can be
      4 found in the LICENSE.txt file.
      5 */
      6 
      7 function generateTest(internalFormat, pixelFormat, pixelType, prologue, resourcePath, defaultContextVersion) {
      8    var wtu = WebGLTestUtils;
      9    var tiu = TexImageUtils;
     10    var gl = null;
     11    var successfullyParsed = false;
     12 
     13    function init()
     14    {
     15        description('Verify texImage3D and texSubImage3D code paths taking ImageBitmap created from ImageData (' + internalFormat + '/' + pixelFormat + '/' + pixelType + ')');
     16 
     17        if(!window.createImageBitmap || !window.ImageBitmap) {
     18            finishTest();
     19            return;
     20        }
     21 
     22        // Set the default context version while still allowing the webglVersion URL query string to override it.
     23        wtu.setDefault3DContextVersion(defaultContextVersion);
     24        gl = wtu.create3DContext("example");
     25 
     26        if (!prologue(gl)) {
     27            finishTest();
     28            return;
     29        }
     30 
     31        gl.clearColor(0,0,0,1);
     32        gl.clearDepth(1);
     33        gl.disable(gl.BLEND);
     34 
     35        var imageData = new ImageData(new Uint8ClampedArray(
     36                                      [255, 0, 0, 255,
     37                                      255, 0, 0, 0,
     38                                      0, 255, 0, 255,
     39                                      0, 255, 0, 0]),
     40                                      2, 2);
     41 
     42        runImageBitmapTest(imageData, 0, internalFormat, pixelFormat, pixelType, gl, tiu, wtu, true)
     43        .then(() => {
     44            finishTest();
     45        });
     46    }
     47 
     48    return init;
     49 }