Skip to content

svga: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY for VGPU10 device

Instead of forcing vertex buffer stride to be 4 byte aligned only, DX10 actually allows the stride to be non 4-byte aligned but the alignment of an element must be the nearest power of 2 greater or equal to the width of the element's format, or 4, whichever is less. So the requirement is better met with PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY which if set to TRUE, the sum of vertex element offset + vertex buffer offset + vertex buffer stride must be aligned to the vertex attributes component size. Note: PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY cannot be set with other alignment-requiring CAPs, so we have to return 0 for all the other alignement CAPs.

This avoids some unnecessary software vertex translate fallback.

Reviewed-by: Jose Fonseca jfonseca@vmware.com

Merge request reports