Stefan Dösinger : wined3d: Move WINED3DRS_WRAPx to the state table.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Dec 11 10:34:53 CST 2006
Module: wine
Branch: master
Commit: 81dce7189d911bd2124e0cd0d349b316fc40b01d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=81dce7189d911bd2124e0cd0d349b316fc40b01d
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Sun Dec 10 23:20:45 2006 +0100
wined3d: Move WINED3DRS_WRAPx to the state table.
---
dlls/wined3d/device.c | 32 ++++++------------------
dlls/wined3d/state.c | 63 ++++++++++++++++++++++++++++++++++++------------
2 files changed, 55 insertions(+), 40 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 57527ad..5505cd7 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3407,16 +3407,6 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_LASTPIXEL :
case WINED3DRS_SOFTWAREVERTEXPROCESSING :
case WINED3DRS_POINTSPRITEENABLE :
- StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
- break;
-
- /** not supported */
- case WINED3DRS_ZVISIBLE :
- {
- LEAVE_GL();
- return WINED3DERR_INVALIDCALL;
- }
-
case WINED3DRS_WRAP0 :
case WINED3DRS_WRAP1 :
case WINED3DRS_WRAP2 :
@@ -3433,21 +3423,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_WRAP13 :
case WINED3DRS_WRAP14 :
case WINED3DRS_WRAP15 :
- /**
- http://www.cosc.brocku.ca/Offerings/3P98/course/lectures/texture/
- http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/programmingguide/FixedFunction/Textures/texturewrapping.asp
- http://www.gamedev.net/reference/programming/features/rendererdll3/page2.asp
- Descussion that ways to turn on WRAPing to solve an opengl conversion problem.
- http://www.flipcode.org/cgi-bin/fcmsg.cgi?thread_show=10248
-
- so far as I can tell, wrapping and texture-coordinate generate go hand in hand,
- */
- {
- if(Value) {
- ERR("(%p)->(%s,%d) Texture wraping not yet supported\n",This, debug_d3drenderstate(State), Value);
- }
+ StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
break;
- }
+
+ /** not supported */
+ case WINED3DRS_ZVISIBLE :
+ {
+ LEAVE_GL();
+ return WINED3DERR_INVALIDCALL;
+ }
case WINED3DRS_MULTISAMPLEANTIALIAS :
{
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index bf1897e..0635371 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -1068,6 +1068,37 @@ static void state_pointsprite(DWORD stat
}
}
+static void state_wrap(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+ /**
+ http://www.cosc.brocku.ca/Offerings/3P98/course/lectures/texture/
+ http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/programmingguide/FixedFunction/Textures/texturewrapping.asp
+ http://www.gamedev.net/reference/programming/features/rendererdll3/page2.asp
+ Descussion that ways to turn on WRAPing to solve an opengl conversion problem.
+ http://www.flipcode.org/cgi-bin/fcmsg.cgi?thread_show=10248
+
+ so far as I can tell, wrapping and texture-coordinate generate go hand in hand,
+ */
+ TRACE("Stub\n");
+ if(stateblock->renderState[WINED3DRS_WRAP0] ||
+ stateblock->renderState[WINED3DRS_WRAP1] ||
+ stateblock->renderState[WINED3DRS_WRAP2] ||
+ stateblock->renderState[WINED3DRS_WRAP3] ||
+ stateblock->renderState[WINED3DRS_WRAP4] ||
+ stateblock->renderState[WINED3DRS_WRAP5] ||
+ stateblock->renderState[WINED3DRS_WRAP6] ||
+ stateblock->renderState[WINED3DRS_WRAP7] ||
+ stateblock->renderState[WINED3DRS_WRAP8] ||
+ stateblock->renderState[WINED3DRS_WRAP9] ||
+ stateblock->renderState[WINED3DRS_WRAP10] ||
+ stateblock->renderState[WINED3DRS_WRAP11] ||
+ stateblock->renderState[WINED3DRS_WRAP12] ||
+ stateblock->renderState[WINED3DRS_WRAP13] ||
+ stateblock->renderState[WINED3DRS_WRAP14] ||
+ stateblock->renderState[WINED3DRS_WRAP15] ) {
+ ERR("(WINED3DRS_WRAP0) Texture wraping not yet supported\n");
+ }
+}
+
const struct StateEntry StateTable[] =
{
/* State name representative, apply function */
@@ -1201,14 +1232,14 @@ const struct StateEntry StateTable[] =
{ /*126, Undefined */ 0, state_undefined },
{ /*127, Undefined */ 0, state_undefined },
/* Big hole ends */
- { /*128, WINED3DRS_WRAP0 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*129, WINED3DRS_WRAP1 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*130, WINED3DRS_WRAP2 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*131, WINED3DRS_WRAP3 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*132, WINED3DRS_WRAP4 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*133, WINED3DRS_WRAP5 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*134, WINED3DRS_WRAP6 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*135, WINED3DRS_WRAP7 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
+ { /*128, WINED3DRS_WRAP0 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*129, WINED3DRS_WRAP1 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*130, WINED3DRS_WRAP2 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*131, WINED3DRS_WRAP3 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*132, WINED3DRS_WRAP4 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*133, WINED3DRS_WRAP5 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*134, WINED3DRS_WRAP6 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*135, WINED3DRS_WRAP7 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
{ /*136, WINED3DRS_CLIPPING */ STATE_RENDER(WINED3DRS_CLIPPING), state_clipping },
{ /*137, WINED3DRS_LIGHTING */ STATE_RENDER(WINED3DRS_LIGHTING) /* Vertex decl! */,state_lighting },
{ /*138, WINED3DRS_EXTENTS */ STATE_RENDER(WINED3DRS_EXTENTS), state_unknown },
@@ -1273,14 +1304,14 @@ const struct StateEntry StateTable[] =
{ /*195, WINED3DRS_DEPTHBIAS */ STATE_RENDER(WINED3DRS_DEPTHBIAS), state_unknown },
{ /*196, undefined */ 0, state_undefined },
{ /*197, undefined */ 0, state_undefined },
- { /*198, WINED3DRS_WRAP8 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*199, WINED3DRS_WRAP9 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*200, WINED3DRS_WRAP10 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*201, WINED3DRS_WRAP11 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*202, WINED3DRS_WRAP12 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*203, WINED3DRS_WRAP13 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*204, WINED3DRS_WRAP14 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
- { /*205, WINED3DRS_WRAP15 */ STATE_RENDER(WINED3DRS_WRAP0), state_unknown },
+ { /*198, WINED3DRS_WRAP8 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*199, WINED3DRS_WRAP9 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*200, WINED3DRS_WRAP10 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*201, WINED3DRS_WRAP11 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*202, WINED3DRS_WRAP12 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*203, WINED3DRS_WRAP13 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*204, WINED3DRS_WRAP14 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
+ { /*205, WINED3DRS_WRAP15 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap },
{ /*206, WINED3DRS_SEPARATEALPHABLENDENABLE */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown },
{ /*207, WINED3DRS_SRCBLENDALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown },
{ /*208, WINED3DRS_DESTBLENDALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown },
More information about the wine-cvs
mailing list