Move the softwareVertexProcessing flag from the stateblock to the
device because its state shouldn't be recorded in a stateblock.
This commit is contained in:
parent
e31f610bdb
commit
1f2a9e2c31
|
@ -5008,7 +5008,7 @@ HRESULT WINAPI IWineD3DDeviceImpl_SetSoftwareVertexProcessing(IWineD3DDevice *
|
||||||
showFixmes = FALSE;
|
showFixmes = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
This->updateStateBlock->softwareVertexProcessing = bSoftware;
|
This->softwareVertexProcessing = bSoftware;
|
||||||
return D3D_OK;
|
return D3D_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5020,7 +5020,7 @@ BOOL WINAPI IWineD3DDeviceImpl_GetSoftwareVertexProcessing(IWineD3DDevice *
|
||||||
FIXME("(%p) : stub\n", This);
|
FIXME("(%p) : stub\n", This);
|
||||||
showFixmes = FALSE;
|
showFixmes = FALSE;
|
||||||
}
|
}
|
||||||
return This->updateStateBlock->softwareVertexProcessing;
|
return This->softwareVertexProcessing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -432,8 +432,6 @@ should really perform a delta so that only the changes get updated*/
|
||||||
IWineD3DDevice_SetVertexDeclaration(pDevice, This->vertexDecl);
|
IWineD3DDevice_SetVertexDeclaration(pDevice, This->vertexDecl);
|
||||||
}
|
}
|
||||||
|
|
||||||
IWineD3DDevice_SetSoftwareVertexProcessing(pDevice, This->softwareVertexProcessing);
|
|
||||||
|
|
||||||
/* Others + Render & Texture */
|
/* Others + Render & Texture */
|
||||||
if (/*TODO: 'magic' statetype, replace with BOOL This->blockType == D3DSBT_RECORDED || */ This->blockType == WINED3DSBT_ALL || This->blockType == WINED3DSBT_INIT) {
|
if (/*TODO: 'magic' statetype, replace with BOOL This->blockType == D3DSBT_RECORDED || */ This->blockType == WINED3DSBT_ALL || This->blockType == WINED3DSBT_INIT) {
|
||||||
for (i = 1; i <= HIGHEST_TRANSFORMSTATE; i++) {
|
for (i = 1; i <= HIGHEST_TRANSFORMSTATE; i++) {
|
||||||
|
|
|
@ -549,6 +549,10 @@ typedef struct IWineD3DDeviceImpl
|
||||||
|
|
||||||
/* A flag to check if endscene has been called before changing the render tartet */
|
/* A flag to check if endscene has been called before changing the render tartet */
|
||||||
BOOL sceneEnded;
|
BOOL sceneEnded;
|
||||||
|
|
||||||
|
/* process vertex shaders using software or hardware */
|
||||||
|
BOOL softwareVertexProcessing;
|
||||||
|
|
||||||
} IWineD3DDeviceImpl;
|
} IWineD3DDeviceImpl;
|
||||||
|
|
||||||
extern const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl;
|
extern const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl;
|
||||||
|
@ -912,8 +916,6 @@ struct IWineD3DStateBlockImpl
|
||||||
float vertexShaderConstantF[MAX_VSHADER_CONSTANTS * 4];
|
float vertexShaderConstantF[MAX_VSHADER_CONSTANTS * 4];
|
||||||
WINESHADERCNST vertexShaderConstantT[MAX_VSHADER_CONSTANTS]; /* TODO: Think about changing this to a char to possibly save a little memory */
|
WINESHADERCNST vertexShaderConstantT[MAX_VSHADER_CONSTANTS]; /* TODO: Think about changing this to a char to possibly save a little memory */
|
||||||
|
|
||||||
BOOL softwareVertexProcessing;
|
|
||||||
|
|
||||||
/* Stream Source */
|
/* Stream Source */
|
||||||
BOOL streamIsUP;
|
BOOL streamIsUP;
|
||||||
UINT streamStride[MAX_STREAMS];
|
UINT streamStride[MAX_STREAMS];
|
||||||
|
|
Loading…
Reference in New Issue