Module: wine
Branch: master
Commit: c93727826222bd5ea99226e6cd8d36ac5ef71a01
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c93727826222bd5ea99226e6c…
Author: Stefan Dösinger <stefan(a)codeweavers.com>
Date: Sat Dec 13 20:07:16 2008 +0100
wined3d: Give ATIFS a pixel shader handler.
---
dlls/wined3d/ati_fragment_shader.c | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/ati_fragment_shader.c b/dlls/wined3d/ati_fragment_shader.c
index 1933476..b4c5334 100644
--- a/dlls/wined3d/ati_fragment_shader.c
+++ b/dlls/wined3d/ati_fragment_shader.c
@@ -881,6 +881,30 @@ static void textransform(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3
}
}
+static void atifs_apply_pixelshader(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *context) {
+ IWineD3DDeviceImpl *device = stateblock->wineD3DDevice;
+ BOOL use_vshader = use_vs(device);
+
+ /* The ATIFS code does not support pixel shaders currently, but we have to provide a state handler
+ * to call shader_select to select a vertex shader if one is applied because the vertex shader state
+ * may defer calling the shader backend if the pshader state is dirty.
+ *
+ * In theory the application should not be able to mark the pixel shader dirty because it cannot
+ * create a shader, and thus has no way to set the state to something != NULL. However, a different
+ * pipeline part may link a different state to its pixelshader handler, thus a pshader state exists
+ * and can be dirtified. Also the pshader is always dirtified at startup, and blitting disables all
+ * shaders and dirtifies all shader states. If atifs can deal with this it keeps the rest of the code
+ * simpler.
+ */
+ if(!isStateDirty(context, device->StateTable[STATE_VSHADER].representative)) {
+ device->shader_backend->shader_select((IWineD3DDevice *)stateblock->wineD3DDevice, FALSE, use_vshader);
+
+ if (!isStateDirty(context, STATE_VERTEXSHADERCONSTANT) && use_vshader) {
+ device->StateTable[STATE_VERTEXSHADERCONSTANT].apply(STATE_VERTEXSHADERCONSTANT, stateblock, context);
+ }
+ }
+}
+
#undef GLINFO_LOCATION
static const struct StateEntryTemplate atifs_fragmentstate_template[] = {
@@ -1005,6 +1029,7 @@ static const struct StateEntryTemplate atifs_fragmentstate_template[] = {
{STATE_TEXTURESTAGE(5,WINED3DTSS_TEXTURETRANSFORMFLAGS),{STATE_TEXTURESTAGE(5, WINED3DTSS_TEXTURETRANSFORMFLAGS), textransform }, 0 },
{STATE_TEXTURESTAGE(6,WINED3DTSS_TEXTURETRANSFORMFLAGS),{STATE_TEXTURESTAGE(6, WINED3DTSS_TEXTURETRANSFORMFLAGS), textransform }, 0 },
{STATE_TEXTURESTAGE(7,WINED3DTSS_TEXTURETRANSFORMFLAGS),{STATE_TEXTURESTAGE(7, WINED3DTSS_TEXTURETRANSFORMFLAGS), textransform }, 0 },
+ {STATE_PIXELSHADER, { STATE_PIXELSHADER, atifs_apply_pixelshader }, 0 },
{0 /* Terminate */, { 0, 0 }, 0 },
};
Module: website
Branch: master
Commit: accb7bd980773821334b4679b72be80d05493cf8
URL: http://source.winehq.org/git/website.git/?a=commit;h=accb7bd980773821334b46…
Author: Jeremy Newman <jnewman(a)codeweavers.com>
Date: Fri Dec 12 14:19:38 2008 -0600
fix broken xml
---
wwn/en/interviews/interview_13.xml | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/wwn/en/interviews/interview_13.xml b/wwn/en/interviews/interview_13.xml
index 6a7680c..1d4bce8 100644
--- a/wwn/en/interviews/interview_13.xml
+++ b/wwn/en/interviews/interview_13.xml
@@ -7,8 +7,7 @@
for 2004. Check out the
<a href="http://www.winehq.org/interview">Interviews</a>
page for previous ones.</p>
- </p><p>
- Pop quiz: which Wine developer lives in
+ <p>Pop quiz: which Wine developer lives in
<a href="http://www.dur.ac.uk/Law/c_tour/castle.html">a castle</a>?
If you guessed Mike Hearn you'd be correct. Mike is studying at
the University of Durham and claims to be <i>"a pretty average