wined3d: Move tesselation to the state table.
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 3593036..baec6aa 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3430,6 +3430,13 @@
case WINED3DRS_DEBUGMONITORTOKEN :
case WINED3DRS_POSITIONDEGREE :
case WINED3DRS_NORMALDEGREE :
+ case WINED3DRS_MINTESSELLATIONLEVEL :
+ case WINED3DRS_MAXTESSELLATIONLEVEL :
+ case WINED3DRS_ADAPTIVETESS_X :
+ case WINED3DRS_ADAPTIVETESS_Y :
+ case WINED3DRS_ADAPTIVETESS_Z :
+ case WINED3DRS_ADAPTIVETESS_W :
+ case WINED3DRS_ENABLEADAPTIVETESSELLATION:
StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
break;
@@ -3440,27 +3447,6 @@
return WINED3DERR_INVALIDCALL;
}
- case WINED3DRS_MINTESSELLATIONLEVEL :
- case WINED3DRS_MAXTESSELLATIONLEVEL :
- case WINED3DRS_ADAPTIVETESS_X :
- case WINED3DRS_ADAPTIVETESS_Y :
- case WINED3DRS_ADAPTIVETESS_Z :
- case WINED3DRS_ADAPTIVETESS_W :
- {
- if(This->stateBlock->renderState[WINED3DRS_ENABLEADAPTIVETESSELLATION])
- FIXME("(%p)->(%s,%d) not yet implemented\n", This, debug_d3drenderstate(State), Value);
- else
- TRACE("(%p)->(%s,%d): recording state but WINED3DRS_ENABLEADAPTIVETESSELLATION is not enabled\n", This, debug_d3drenderstate(State), Value);
- break;
- }
-
- case WINED3DRS_ENABLEADAPTIVETESSELLATION:
- {
- if(Value)
- ERR("(%p)->(%s,%d) not yet implemented\n", This, debug_d3drenderstate(State), Value);
- break;
- }
-
case WINED3DRS_SRGBWRITEENABLE :
{
if(Value)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 08357d8..ff016ce 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -1202,6 +1202,12 @@
ERR("(WINED3DRS_NORMALDEGREE,%d) not yet implemented\n", stateblock->renderState[WINED3DRS_NORMALDEGREE]);
}
+static void state_tessellation(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+ TRACE("Stub\n");
+ if(stateblock->renderState[WINED3DRS_ENABLEADAPTIVETESSELLATION])
+ FIXME("(WINED3DRS_ENABLEADAPTIVETESSELLATION,%d) not yet implemented\n", stateblock->renderState[WINED3DRS_ENABLEADAPTIVETESSELLATION]);
+}
+
const struct StateEntry StateTable[] =
{
/* State name representative, apply function */
@@ -1387,13 +1393,13 @@
{ /*175, WINED3DRS_SLOPESCALEDEPTHBIAS */ STATE_RENDER(WINED3DRS_DEPTHBIAS), state_depthbias },
{ /*176, WINED3DRS_ANTIALIASEDLINEENABLE */ STATE_RENDER(WINED3DRS_ALPHABLENDENABLE), state_blend },
{ /*177, undefined */ 0, state_undefined },
- { /*178, WINED3DRS_MINTESSELLATIONLEVEL */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
- { /*179, WINED3DRS_MAXTESSELLATIONLEVEL */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
- { /*180, WINED3DRS_ADAPTIVETESS_X */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
- { /*181, WINED3DRS_ADAPTIVETESS_Y */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
- { /*182, WINED3DRS_ADAPTIVETESS_Z */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
- { /*183, WINED3DRS_ADAPTIVETESS_W */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
- { /*184, WINED3DRS_ENABLEADAPTIVETESSELLATION */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_unknown },
+ { /*178, WINED3DRS_MINTESSELLATIONLEVEL */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
+ { /*179, WINED3DRS_MAXTESSELLATIONLEVEL */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
+ { /*180, WINED3DRS_ADAPTIVETESS_X */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
+ { /*181, WINED3DRS_ADAPTIVETESS_Y */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
+ { /*182, WINED3DRS_ADAPTIVETESS_Z */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
+ { /*183, WINED3DRS_ADAPTIVETESS_W */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
+ { /*184, WINED3DRS_ENABLEADAPTIVETESSELLATION */ STATE_RENDER(WINED3DRS_ENABLEADAPTIVETESSELLATION), state_tessellation },
{ /*185, WINED3DRS_TWOSIDEDSTENCILMODE */ STATE_RENDER(WINED3DRS_STENCILENABLE), state_stencil },
{ /*186, WINED3DRS_CCW_STENCILFAIL */ STATE_RENDER(WINED3DRS_STENCILENABLE), state_stencil },
{ /*187, WINED3DRS_CCW_STENCILZFAIL */ STATE_RENDER(WINED3DRS_STENCILENABLE), state_stencil },