Module: wine Branch: master Commit: 0ec7c8b55a9fef2a9e4089b6c4efa2b2078f1f03 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0ec7c8b55a9fef2a9e4089b6c4...
Author: Stefan Dösinger stefan@codeweavers.com Date: Sun Dec 10 23:20:09 2006 +0100
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 d28ce6e..6dc22cc 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 },