diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c index 12960aeb92..000a1aa911 100644 --- a/dlls/wined3d/vertexshader.c +++ b/dlls/wined3d/vertexshader.c @@ -969,6 +969,10 @@ inline static void vshader_program_add_param(IWineD3DVertexShaderImpl *This, con strcat(hwLine, tmpReg); break; case D3DSPR_INPUT: + if (reg == This->arrayUsageMap[WINED3DSHADERDECLUSAGE_DIFFUSE] + || reg == This->arrayUsageMap[WINED3DSHADERDECLUSAGE_SPECULAR]) { + is_color = TRUE; + } /* if the attributes come in as named dcl's then use a named vertex (called namedVertexN) */ if (This->namedArrays) { sprintf(tmpReg, "namedVertex%lu", reg);