title: Support for short 3D texture in WebGL 2.0
body: <p>I am attempting to load a short 3D texture in WebGL 2.0 in Firefox.</p>
  
  <p>While unsigned 1 byte 3D textures load without any problem, I am struggling to do the same for any other pixel type.
  My js code:</p>
  
  <pre><code>var SIZE = 512;
  var data = new Int16Array(SIZE * SIZE * SIZE);
  data.fill(400);
  
  var texture = gl.createTexture();
  gl.activeTexture(gl.TEXTURE0);
  gl.bindTexture(gl.TEXTURE_3D, texture);
  gl.texParameteri(gl.TEXTURE_3D, gl.TEXTURE_BASE_LEVEL, 0);
  gl.texParameteri(gl.TEXTURE_3D, gl.TEXTURE_MAX_LEVEL, 0);
  gl.texParameteri(gl.TEXTURE_3D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
  gl.texParameteri(gl.TEXTURE_3D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
  
  gl.texImage3D(
      gl.TEXTURE_3D,  // target
      0,              // level
      gl.R16I,        // internalformat
      SIZE,           // width
      SIZE,           // height
      SIZE,              // depth
      0,              // border
      gl.RED_INTEGER,         // format
      gl.SHORT,       // type
      data            // pixel
     );
  </code></pre>
  
  <p>I am not generating mip maps on this texture.</p>
  
  <p>When trying to sample texture in the fragment shader I get 0 for each pixel.</p>
  
  <p>FS code:</p>
  
  <pre><code>#version 300 es
  
  precision highp float;
  precision highp int;
  precision highp sampler3D;
  
  uniform sampler3D textureData;
  
  in vec3 v_texcoord;
  
  out vec4 color;
  
  void main()
  {
     vec4 value = texture(textureData, v_texcoord);
     if( value.x == 0.0 )
        color = vec4(1.0, 0.0, 0.0, 1.0);
     else if( value.x == 1.0)
        color = vec4(1.0, 1.0, 0.0, 1.0);
     else if( value.x &lt; 0.0 )
        color = vec4(0.0, 0.0, 1.0, 1.0);
     else
        color = vec4(1.0,1.0,1.0,1.0);
  }
  </code></pre>
  
  <p>Any help would be appreciated.</p>