[PATCH] WineD3D: Move shader constants to the misc states=0A=

Stefan Doesinger stefan at codeweavers.com
Wed Jul 2 13:07:41 CDT 2008


=0A=
Later on we might want to move them to the vertex and fragment pipelines,=0A=
but that needs some changes in the shader code. For now they're well kept=0A=
in misc=0A=
---=0A=
 dlls/wined3d/state.c |    9 +++++++--=0A=
 1 files changed, 7 insertions(+), 2 deletions(-)=0A=
=0A=
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c=0A=
index 94798a4..e830268 100644=0A=
--- a/dlls/wined3d/state.c=0A=
+++ b/dlls/wined3d/state.c=0A=
@@ -4840,8 +4840,8 @@ const struct StateEntry FFPStateTable[] =3D=0A=
     { /*   , STATE_VDECL                            */      =
STATE_VDECL,                                        NULL                =
},=0A=
     { /*   , STATE_VSHADER                          */      =
STATE_VDECL,                                        NULL                =
},=0A=
     { /*   , STATE_VIEWPORT                         */      =
STATE_VIEWPORT,                                     viewport            =
},=0A=
-    { /*   , STATE_VERTEXSHADERCONSTANT             */      =
STATE_VERTEXSHADERCONSTANT,                         shaderconstant      =
},=0A=
-    { /*   , STATE_PIXELSHADERCONSTANT              */      =
STATE_VERTEXSHADERCONSTANT,                         shaderconstant      =
},=0A=
+    { /*   , STATE_VERTEXSHADERCONSTANT             */      =
STATE_VERTEXSHADERCONSTANT,                         NULL                =
},=0A=
+    { /*   , STATE_PIXELSHADERCONSTANT              */      =
STATE_VERTEXSHADERCONSTANT,                         NULL                =
},=0A=
       /* Lights */=0A=
     { /*   , STATE_ACTIVELIGHT(0)                   */      =
STATE_ACTIVELIGHT(0),                               NULL                =
},=0A=
     { /*   , STATE_ACTIVELIGHT(1)                   */      =
STATE_ACTIVELIGHT(1),                               NULL                =
},=0A=
@@ -4906,6 +4906,11 @@ const struct StateEntryTemplate =
misc_state_template[] =3D {=0A=
     { STATE_VDECL,                                        { =
STATE_VDECL,                                        streamsrc           =
}},=0A=
     { STATE_FRONTFACE,                                    { =
STATE_FRONTFACE,                                    frontface           =
}},=0A=
     { STATE_SCISSORRECT,                                  { =
STATE_SCISSORRECT,                                  scissorrect         =
}},=0A=
+    /* TODO: Move shader constant loading to vertex and fragment =
pipeline repectively, as soon as the pshader and=0A=
+     * vshader loadings are untied from each other=0A=
+     */=0A=
+    { STATE_VERTEXSHADERCONSTANT,                         { =
STATE_VERTEXSHADERCONSTANT,                         shaderconstant      =
}},=0A=
+    { STATE_PIXELSHADERCONSTANT,                          { =
STATE_VERTEXSHADERCONSTANT,                         shaderconstant      =
}},=0A=
     {0 /* Terminate */,                                   { 0,          =
                                        0                   }},=0A=
 };=0A=
 =0A=
-- =0A=
1.5.4.5=0A=
=0A=

------=_NextPart_000_0025_01C8E0ED.0C6FE5B0--




More information about the wine-patches mailing list