Skip to content
  • Paul Berry's avatar
    Transform feedback: eliminate test dependency on tessellation order. · dc02bdd9
    Paul Berry authored
    
    
    The transform feedback tests interleaved.c and position.c were
    assuming that a GL_QUAD whose vertices are ABCD is tessellated into
    triangle ABD followed by triangle BCD.  This is not a reliable
    assumption--according to the EXT_transform_feedback spec, "the order
    of tessellation within a primitive is undefined".  This was causing
    these tests to fail on the nVidia proprietary Linux driver, which
    tessellates quad ABCD as ABC followed by ACD.
    
    This patch chnges interleaved.c and position.c so that they specify
    triangles explicitly using glDrawElements(GL_TRIANGLES).  The expected
    output is the same, but the test behavior no longer depends on how the
    driver tessellates quads.
    
    Fixes bogus failures on nVidia:
    - interleaved-attribs
    - position-readback-bufferbase
    - position-readback-bufferbase-discard
    - position-readback-bufferrange
    - position-readback-bufferrange-discard
    - position-render-bufferrange
    - position-render-bufferrange-discard
    
    Acked-by: default avatarMarek Olšák <maraeo@gmail.com>
    dc02bdd9