Stefan Dösinger : wined3d: Move the viewport to the vertex and misc pipeline states.
Alexandre Julliard
julliard at winehq.org
Tue Jul 8 14:35:32 CDT 2008
Module: wine
Branch: master
Commit: b4bee02556a9be770e5874309a9ba01550630ea1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b4bee02556a9be770e5874309a9ba01550630ea1
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Wed Jul 2 13:16:23 2008 -0500
wined3d: Move the viewport to the vertex and misc pipeline states.
---
dlls/wined3d/state.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index e830268..bf942d4 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -3627,7 +3627,7 @@ static void vertexdeclaration(DWORD state, IWineD3DStateBlockImpl *stateblock, W
}
}
-static void viewport(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *context) {
+static void viewport_miscpart(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *context) {
UINT width, height;
IWineD3DSurfaceImpl *target;
@@ -3649,7 +3649,9 @@ static void viewport(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DCon
}
checkGLcall("glViewport");
+}
+static void viewport_vertexpart(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *context) {
stateblock->wineD3DDevice->posFixup[2] = 1.0 / stateblock->viewport.Width;
stateblock->wineD3DDevice->posFixup[3] = -stateblock->wineD3DDevice->posFixup[1] / stateblock->viewport.Height;
if(!isStateDirty(context, STATE_TRANSFORM(WINED3DTS_PROJECTION))) {
@@ -4839,7 +4841,7 @@ const struct StateEntry FFPStateTable[] =
{ /* , STATE_INDEXBUFFER */ STATE_INDEXBUFFER, indexbuffer },
{ /* , STATE_VDECL */ STATE_VDECL, NULL },
{ /* , STATE_VSHADER */ STATE_VDECL, NULL },
- { /* , STATE_VIEWPORT */ STATE_VIEWPORT, viewport },
+ { /* , STATE_VIEWPORT */ STATE_VIEWPORT, NULL },
{ /* , STATE_VERTEXSHADERCONSTANT */ STATE_VERTEXSHADERCONSTANT, NULL },
{ /* , STATE_PIXELSHADERCONSTANT */ STATE_VERTEXSHADERCONSTANT, NULL },
/* Lights */
@@ -4911,6 +4913,8 @@ const struct StateEntryTemplate misc_state_template[] = {
*/
{ STATE_VERTEXSHADERCONSTANT, { STATE_VERTEXSHADERCONSTANT, shaderconstant }},
{ STATE_PIXELSHADERCONSTANT, { STATE_VERTEXSHADERCONSTANT, shaderconstant }},
+ /* Viewport */
+ { STATE_VIEWPORT, { STATE_VIEWPORT, viewport_miscpart }},
{0 /* Terminate */, { 0, 0 }},
};
@@ -4961,6 +4965,8 @@ const struct StateEntryTemplate ffp_vertexstate_template[] = {
{ STATE_ACTIVELIGHT(5), { STATE_ACTIVELIGHT(5), light }},
{ STATE_ACTIVELIGHT(6), { STATE_ACTIVELIGHT(6), light }},
{ STATE_ACTIVELIGHT(7), { STATE_ACTIVELIGHT(7), light }},
+ /* Viewport */
+ { STATE_VIEWPORT, { STATE_VIEWPORT, viewport_vertexpart }},
{0 /* Terminate */, { 0, 0 }},
};
More information about the wine-cvs
mailing list