Commit 1f2a9e2c authored by Oliver Stieber's avatar Oliver Stieber Committed by Alexandre Julliard

Move the softwareVertexProcessing flag from the stateblock to the

device because its state shouldn't be recorded in a stateblock.
parent e31f610b
...@@ -5008,7 +5008,7 @@ HRESULT WINAPI IWineD3DDeviceImpl_SetSoftwareVertexProcessing(IWineD3DDevice * ...@@ -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 * ...@@ -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*/ ...@@ -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 ...@@ -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 ...@@ -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];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment