Module: wine Branch: refs/heads/master Commit: 2d6e661fbe1aec26fab03564edc82ee9fb8acea1 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=2d6e661fbe1aec26fab03564... Author: H. Verbeet <hverbeet(a)gmail.com> Date: Tue Jul 25 00:50:43 2006 +0200 wined3d: D3d8 shaders can have a NULL pFunction, but a valid vertex declaration. --- dlls/wined3d/drawprim.c | 4 ++-- dlls/wined3d/vertexbuffer.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index b9dd6f8..bb48982 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -423,7 +423,7 @@ void primitiveDeclarationConvertToStride int reg; /* Locate the vertex declaration */ - if (useVertexShaderFunction && ((IWineD3DVertexShaderImpl *)This->stateBlock->vertexShader)->vertexDeclaration) { + if (This->stateBlock->vertexShader && ((IWineD3DVertexShaderImpl *)This->stateBlock->vertexShader)->vertexDeclaration) { TRACE("Using vertex declaration from shader\n"); vertexDeclaration = (IWineD3DVertexDeclarationImpl *)((IWineD3DVertexShaderImpl *)This->stateBlock->vertexShader)->vertexDeclaration; } else { @@ -2091,7 +2091,7 @@ void drawPrimitive(IWineD3DDevice *iface fixup = FALSE; } - else if (This->stateBlock->vertexDecl != NULL || useVertexShaderFunction) { + else if (This->stateBlock->vertexDecl || This->stateBlock->vertexShader) { /* Note: This is a fixed function or shader codepath. * This means it must handle both types of strided data. diff --git a/dlls/wined3d/vertexbuffer.c b/dlls/wined3d/vertexbuffer.c index b67a1ca..cea45fd 100644 --- a/dlls/wined3d/vertexbuffer.c +++ b/dlls/wined3d/vertexbuffer.c @@ -222,7 +222,7 @@ static void WINAPI IWineD3DVertexBuf /* Check against updated declarations */ memset(&strided, 0, sizeof(strided)); - if(device->stateBlock->vertexDecl != NULL) { + if(device->stateBlock->vertexDecl || device->stateBlock->vertexShader) { /* Check against the stream offset and make sure it is 0 */ This->Flags |= VBFLAG_LOAD;