[WINED3D] Use the correct version mask for pixel and vertex shaders.

Ivan Gyurdiev ivg2 at cornell.edu
Sat Apr 29 16:13:29 CDT 2006


The current mask is wrong. This also brings up the question of whether 
we should be converting the hex version to decimal at all internally - 
the answer is likely no, but this patch doesn't try to correct this 
issue. [ consider that using a minor greater than 9 will exceed the next 
major ].

-------------- next part --------------
---

 dlls/wined3d/pixelshader.c  |    4 ++--
 dlls/wined3d/vertexshader.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

9d6ecde34e5f7cb4178c391d799de9b1c408742d
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 317868f..60069d5 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -903,8 +903,8 @@ void pshader_set_version(
       IWineD3DPixelShaderImpl *This, 
       DWORD version) {
 
-      DWORD major = (version >> 8) & 0x0F;
-      DWORD minor = version & 0x0F;
+      DWORD major = D3DSHADER_VERSION_MAJOR(version);
+      DWORD minor = D3DSHADER_VERSION_MINOR(version);
 
       This->baseShader.hex_version = version;
       This->baseShader.version = major * 10 + minor;
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index 17c098b..4ecc7c8 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -951,8 +951,8 @@ void vshader_set_version(
       IWineD3DVertexShaderImpl *This,
       DWORD version) {
 
-      DWORD major = (version >> 8) & 0x0F;
-      DWORD minor = version & 0x0F;
+      DWORD major = D3DSHADER_VERSION_MAJOR(version);
+      DWORD minor = D3DSHADER_VERSION_MINOR(version);
 
       This->baseShader.hex_version = version;
       This->baseShader.version = major * 10 + minor;
-- 
1.3.0



More information about the wine-patches mailing list