PassRefPtr<WebGLArray> WebGLUnsignedShortArray::slice(int start, int end)
{
    unsigned offset, length;
    calculateOffsetAndLength(start, end, m_size, &offset, &length);
    clampOffsetAndNumElements<unsigned short>(buffer(), m_byteOffset, &offset, &length);
    return create(buffer(), offset, length);
}
PassRefPtr<WebGLArray> WebGLByteArray::slice(int start, int end)
{
    unsigned offset, length;
    calculateOffsetAndLength(start, end, m_size, &offset, &length);
    unsigned fullOffset = m_byteOffset + offset * sizeof(signed char);
    clampOffsetAndNumElements<signed char>(buffer().get(), &fullOffset, &length);
    return create(buffer(), fullOffset, length);
}