From: Patrick Rudolph Date: Fri, 16 Jan 2015 07:17:07 +0000 (+0100) Subject: st/nine: Check for aligned offset in each vertex element X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=792af626d4e82dae728801ee6ca8c4c0f3d37f68;p=mesa.git st/nine: Check for aligned offset in each vertex element Fixes wine test test_vertex_declaration_alignment() Reviewed-by: Axel Davy Signed-off-by: Patrick Rudolph --- diff --git a/src/gallium/state_trackers/nine/vertexdeclaration9.c b/src/gallium/state_trackers/nine/vertexdeclaration9.c index 49e5937a52e..9e4cb55bc67 100644 --- a/src/gallium/state_trackers/nine/vertexdeclaration9.c +++ b/src/gallium/state_trackers/nine/vertexdeclaration9.c @@ -184,8 +184,10 @@ NineVertexDeclaration9_ctor( struct NineVertexDeclaration9 *This, /* wine */ for (This->nelems = 0; pElements[This->nelems].Stream != 0xFF; - ++This->nelems) + ++This->nelems) { user_assert(pElements[This->nelems].Type != D3DDECLTYPE_UNUSED, E_FAIL); + user_assert(!(pElements[This->nelems].Offset & 3), E_FAIL); + } caps = NineDevice9_GetCaps(This->base.device); user_assert(This->nelems <= caps->MaxStreams, D3DERR_INVALIDCALL);