def METHOD_NAME(ctx):
    """Create a vao with 16 bit index buffer"""
    program = ctx.program(
        vertex_shader="""
        #version 330
        in vec2 in_position;
        void main() {
            gl_Position = vec4(in_position, 0.0, 1.0);
        }
        """,
        fragment_shader="""
        #version 330
        out vec4 color;
        void main() {
            color = vec4(1.0);
        }
        """,
    )
    vertex_buffer = ctx.buffer(data=array.array('f', [0.0] * 2 * 4))
    ibo = ctx.buffer(data=array.array('H', [0, 1, 2, 0, 1, 3]))
    vao = ctx.geometry(
        [
            BufferDescription(vertex_buffer, "2f", ["in_position"]),
        ],
        index_buffer=ibo,
        index_element_size=2,
        mode=ctx.TRIANGLES,
    )
    assert vao.ctx == ctx
    assert vao.num_vertices == 6
    assert vao.index_buffer == ibo
    vao.render(program)