From 2eab3d5c112597ac2b399c0234d4282987864294 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Sat, 15 Dec 2007 11:40:19 +0100
Subject: [PATCH] wined3d: Ignore tesselated and unused streams when comparing
 attribs.

---
 dlls/wined3d/vertexshader.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index 13349de3cf9..e50bf8f8e7f 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -691,6 +691,10 @@ static inline BOOL swizzled_attribs_differ(IWineD3DVertexShaderImpl *This, IWine
     DWORD usage_idx;
 
     for(i = 0; i < vdecl->declarationWNumElements; i++) {
+        /* Ignore tesselated streams and the termination entry(position0, stream 255, unused) */
+        if(vdecl->pDeclarationWine[i].Stream >= MAX_STREAMS ||
+           vdecl->pDeclarationWine[i].Type == WINED3DDECLTYPE_UNUSED) continue;
+
         for(j = 0; j < MAX_ATTRIBS; j++) {
             if(!This->baseShader.reg_maps.attributes[j]) continue;
 
-- 
GitLab