Track the state of softwareVertexProcessing.

This commit is contained in:
Oliver Stieber 2005-08-11 10:31:40 +00:00 committed by Alexandre Julliard
parent 12a4bda618
commit 313b01073c
3 changed files with 17 additions and 3 deletions

View File

@ -4487,15 +4487,25 @@ HRESULT WINAPI IWineD3DDeviceImpl_GetCurrentTexturePalette(IWineD3DDevice *ifa
HRESULT WINAPI IWineD3DDeviceImpl_SetSoftwareVertexProcessing(IWineD3DDevice *iface, BOOL bSoftware) {
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
static BOOL showFixmes = TRUE;
if (showFixmes) {
FIXME("(%p) : stub\n", This);
showFixmes = FALSE;
}
This->updateStateBlock->softwareVertexProcessing = bSoftware;
return D3D_OK;
}
BOOL WINAPI IWineD3DDeviceImpl_GetSoftwareVertexProcessing(IWineD3DDevice *iface) {
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
static BOOL showFixmes = TRUE;
if (showFixmes) {
FIXME("(%p) : stub\n", This);
return FALSE;
showFixmes = FALSE;
}
return This->updateStateBlock->softwareVertexProcessing;
}

View File

@ -367,6 +367,8 @@ should really perform a delta so that only the changes get updated*/
IWineD3DDevice_SetVertexDeclaration(pDevice, This->vertexDecl);
}
IWineD3DDevice_SetSoftwareVertexProcessing(pDevice, This->softwareVertexProcessing);
/* Others + Render & Texture */
if (/*TODO: 'magic' statetype, replace with BOOL This->blockType == D3DSBT_RECORDED || */ This->blockType == D3DSBT_ALL) {
for (i = 1; i <= HIGHEST_TRANSFORMSTATE; i++) {

View File

@ -890,6 +890,8 @@ struct IWineD3DStateBlockImpl
void *vertexShader; /* @TODO: Replace void * with IWineD3DVertexShader * */
BOOL softwareVertexProcessing;
/* Stream Source */
BOOL streamIsUP;
UINT streamStride[MAX_STREAMS];