wined3d: D3d8 shaders can have a NULL pFunction, but a valid vertex declaration.
This commit is contained in:
parent
12a9dfd62f
commit
2d6e661fbe
|
@ -423,7 +423,7 @@ void primitiveDeclarationConvertToStridedData(
|
|||
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.
|
||||
|
|
|
@ -222,7 +222,7 @@ static void WINAPI IWineD3DVertexBufferImpl_PreLoad(IWineD3DVertexBuffer *if
|
|||
/* 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;
|
||||
|
|
Loading…
Reference in New Issue