Stefan Dösinger : wined3d: Move WINED3DRS_POINTSIZE_MAX to the state table.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 11 10:34:50 CST 2006


Module: wine
Branch: master
Commit: 9a0e4b545324605166df93d6f6e29cc8522927fa
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9a0e4b545324605166df93d6f6e29cc8522927fa

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Sun Dec 10 23:20:15 2006 +0100

wined3d: Move WINED3DRS_POINTSIZE_MAX to the state table.

---

 dlls/wined3d/device.c |   15 +++------------
 dlls/wined3d/state.c  |   17 ++++++++++++++++-
 2 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 1d084f3..4e0bfe0 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3394,23 +3394,14 @@ static HRESULT WINAPI IWineD3DDeviceImpl
     case WINED3DRS_NORMALIZENORMALS          :
     case WINED3DRS_POINTSIZE                 :
     case WINED3DRS_POINTSIZE_MIN             :
-        StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
-        break;
-
     case WINED3DRS_POINTSIZE_MAX             :
-        if (GL_SUPPORT(EXT_POINT_PARAMETERS)) {
-          tmpvalue.d = Value;
-          GL_EXTCALL(glPointParameterfEXT)(GL_POINT_SIZE_MAX_EXT, tmpvalue.f);
-          checkGLcall("glPointParameterfEXT(...);");
-        } else {
-          FIXME("WINED3DRS_POINTSIZE_MAX not supported on this opengl\n");
-        }
-        break;
-
     case WINED3DRS_POINTSCALE_A              :
     case WINED3DRS_POINTSCALE_B              :
     case WINED3DRS_POINTSCALE_C              :
     case WINED3DRS_POINTSCALEENABLE          :
+        StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
+        break;
+
     {
         /*
          * POINTSCALEENABLE controls how point size value is treated. If set to
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 94f781f..43889ee 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -935,6 +935,21 @@ static void state_psizemin(DWORD state,
     }
 }
 
+static void state_psizemax(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+    union {
+        DWORD d;
+        float f;
+    } tmpvalue;
+
+    if (GL_SUPPORT(EXT_POINT_PARAMETERS)) {
+        tmpvalue.d = stateblock->renderState[WINED3DRS_POINTSIZE_MAX];
+        GL_EXTCALL(glPointParameterfEXT)(GL_POINT_SIZE_MAX_EXT, tmpvalue.f);
+        checkGLcall("glPointParameterfEXT(...);");
+    } else {
+        FIXME("WINED3DRS_POINTSIZE_MAX not supported on this opengl\n");
+    }
+}
+
 const struct StateEntry StateTable[] =
 {
       /* State name                                         representative,                                     apply function */
@@ -1106,7 +1121,7 @@ const struct StateEntry StateTable[] =
     { /*163, WINED3DRS_PATCHEDGESTYLE               */      STATE_RENDER(WINED3DRS_PATCHEDGESTYLE),             state_unknown       },
     { /*164, WINED3DRS_PATCHSEGMENTS                */      STATE_RENDER(WINED3DRS_PATCHSEGMENTS),              state_unknown       },
     { /*165, WINED3DRS_DEBUGMONITORTOKEN            */      STATE_RENDER(WINED3DRS_DEBUGMONITORTOKEN),          state_unknown       },
-    { /*166, WINED3DRS_POINTSIZE_MAX                */      STATE_RENDER(WINED3DRS_POINTSIZE_MAX),              state_unknown       },
+    { /*166, WINED3DRS_POINTSIZE_MAX                */      STATE_RENDER(WINED3DRS_POINTSIZE_MAX),              state_psizemax      },
     { /*167, WINED3DRS_INDEXEDVERTEXBLENDENABLE     */      0,                                                  state_nogl          },
     { /*168, WINED3DRS_COLORWRITEENABLE             */      STATE_RENDER(WINED3DRS_COLORWRITEENABLE),           state_unknown       },
     { /*169, Undefined                              */      0,                                                  state_undefined     },




More information about the wine-cvs mailing list