WINED3D: Set the pixel shader version correctly in IWineD3DPixelShaderImpl_SetFunction.

H. Verbeet hverbeet at gmail.com
Sat Dec 3 05:31:21 CST 2005


Sets the pixels shader version correctly, which is needed to interpret
pixel shader programs correctly. Keeps the Battlefield 2 Demo alive a
little bit longer.

Changelog:
  - Set the pixel shader version correctly in
IWineD3DPixelShaderImpl_SetFunction.
-------------- next part --------------
617ef591652c1eb009b6e5116cefb90930a83218
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 123b3a5..4f868ee 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -1664,7 +1664,7 @@ HRESULT WINAPI IWineD3DPixelShaderImpl_S
     if (NULL != pToken) {
         while (D3DPS_END() != *pToken) {
             if (pshader_is_version_token(*pToken)) { /** version */
-                version = *pToken & 0xFF;
+                version = (((*pToken >> 8) & 0x0F) * 10) + (*pToken & 0x0F);
                 TRACE("ps_%lu_%lu\n", (*pToken >> 8) & 0x0F, (*pToken & 0x0F));
                 ++pToken;
                 ++len;




More information about the wine-patches mailing list