[21/47] WineD3D: Move WINED3DRS_POINTSIZE to the state table
Stefan Dösinger
stefan at codeweavers.com
Sun Dec 10 16:20:09 CST 2006
-------------- next part --------------
From f1fba7f7e9382211ad4e93606d5961cf16cedef6 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Fri, 8 Dec 2006 20:20:19 +0100
Subject: [PATCH] WineD3D: Move WINED3DRS_POINTSIZE to the state table
---
dlls/wined3d/device.c | 9 +--------
dlls/wined3d/state.c | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 6cc79aa..97c12b6 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3392,15 +3392,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_LINEPATTERN :
case WINED3DRS_ZBIAS : /* D3D8 only */
case WINED3DRS_NORMALIZENORMALS :
- StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
- break;
-
case WINED3DRS_POINTSIZE :
- /* FIXME: check that pointSize isn't outside glGetFloatv( GL_POINT_SIZE_MAX_ARB, &maxSize ); or -ve */
- tmpvalue.d = Value;
- TRACE("Set point size to %f\n", tmpvalue.f);
- glPointSize(tmpvalue.f);
- checkGLcall("glPointSize(...);");
+ StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
break;
case WINED3DRS_POINTSIZE_MIN :
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index b635df0..ea03dfa 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -907,6 +907,19 @@ static void state_normalize(DWORD state,
}
}
+static void state_psize(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+ union {
+ DWORD d;
+ float f;
+ } tmpvalue;
+
+ /* FIXME: check that pointSize isn't outside glGetFloatv( GL_POINT_SIZE_MAX_ARB, &maxSize ); or -ve */
+ tmpvalue.d = stateblock->renderState[WINED3DRS_POINTSIZE];
+ TRACE("Set point size to %f\n", tmpvalue.f);
+ glPointSize(tmpvalue.f);
+ checkGLcall("glPointSize(...);");
+}
+
const struct StateEntry StateTable[] =
{
/* State name representative, apply function */
@@ -1066,7 +1079,7 @@ const struct StateEntry StateTable[] =
{ /*151, WINED3DRS_VERTEXBLEND */ 0, state_nogl },
{ /*152, WINED3DRS_CLIPPLANEENABLE */ STATE_RENDER(WINED3DRS_CLIPPING), state_clipping },
{ /*153, WINED3DRS_SOFTWAREVERTEXPROCESSING */ 0, state_nogl },
- { /*154, WINED3DRS_POINTSIZE */ STATE_RENDER(WINED3DRS_POINTSIZE), state_unknown },
+ { /*154, WINED3DRS_POINTSIZE */ STATE_RENDER(WINED3DRS_POINTSIZE), state_psize },
{ /*155, WINED3DRS_POINTSIZE_MIN */ STATE_RENDER(WINED3DRS_POINTSIZE_MIN), state_unknown },
{ /*156, WINED3DRS_POINTSPRITEENABLE */ STATE_RENDER(WINED3DRS_POINTSPRITEENABLE), state_unknown },
{ /*157, WINED3DRS_POINTSCALEENABLE */ STATE_RENDER(WINED3DRS_POINTSCALEENABLE), state_unknown },
--
1.4.2.4
More information about the wine-patches
mailing list