DDraw: Implement GetRenderState for D3DRENDERSTATE_TEXTUREADDRESS[U/V]

Stefan Dösinger stefandoesinger at gmx.at
Mon Oct 16 05:40:51 CDT 2006


Same as with D3DRENDERSTATE_TEXTUREHANDLE - we wrap them to texture stage 
states in SetTextureStage, so we have to do the same in GetRenderState
-------------- next part --------------
From f0f4e09d3980b16b1ece31b94b12e02dc36f424f Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Sun, 15 Oct 2006 18:45:36 +0200
Subject: [PATCH] DDraw: Implement GetRenderState for D3DRENDERSTATE_TEXTUREADDRESS_
---
 dlls/ddraw/device.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 09d2ca9..8b519a6 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -2135,6 +2135,29 @@ IDirect3DDeviceImpl_7_GetRenderState(IDi
             return hr;
         }
 
+        case D3DRENDERSTATE_TEXTUREADDRESSU:
+        case D3DRENDERSTATE_TEXTUREADDRESSV:
+        case D3DRENDERSTATE_TEXTUREADDRESS:
+        {
+            WINED3DTEXTURESTAGESTATETYPE TexStageStateType;
+
+            if (RenderStateType == D3DRENDERSTATE_TEXTUREADDRESS)
+            {
+                TexStageStateType = WINED3DTSS_ADDRESS;
+            }
+            else if (RenderStateType == D3DRENDERSTATE_TEXTUREADDRESSU)
+            {
+                TexStageStateType = WINED3DTSS_ADDRESSU;
+            }
+            else
+            {
+                TexStageStateType = WINED3DTSS_ADDRESSV;
+            }
+            return IWineD3DDevice_GetTextureStageState(This->wineD3DDevice,
+                                                       0, TexStageStateType,
+                                                       Value);
+        }
+
         default:
             /* FIXME: Unhandled: D3DRENDERSTATE_STIPPLEPATTERN00 - 31 */
             return IWineD3DDevice_GetRenderState(This->wineD3DDevice,
-- 
1.4.1.1



More information about the wine-patches mailing list