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