*/
  public void tex_subimage_2d (int target, int level, 
    int xoffset, int yoffset, int width, int height,
    int format, int type, byte[] pixels) {

    RequestOutputStream o = display.out;
    synchronized (o) {
      large_render_request.begin(o, 4100, 60, pixels.length);
      large_render_request.write_int8 ((byte) 0);  // swap bytes
      large_render_request.write_bool (false); // java = msb = !lsb_first
      large_render_request.write_pad (2);

    // FIXME work with other cases??
      large_render_request.write_int32 (0);  // row len
      large_render_request.write_int32 (0);  // skip rows
      large_render_request.write_int32 (0);  // skip pixels
      large_render_request.write_int32 (1);  // alignment

      large_render_request.write_int32 (target);
      large_render_request.write_int32 (level);
      large_render_request.write_int32 (xoffset);
      large_render_request.write_int32 (yoffset);
      large_render_request.write_int32 (width);
      large_render_request.write_int32 (height);
      large_render_request.write_int32 (format);
      large_render_request.write_int32 (type);
      large_render_request.write_pad(4);

      large_render_request.begin_large_parameter ();
      for (int i = 0; i < pixels.length; i++)
        large_render_request.write_int8 (pixels [i]);
      large_render_request.write_pad (RequestOutputStream.pad(pixels.length));
    }
  }