Stefan Dösinger : wined3d: Only scream about unsupported vertex blending when it is used.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Feb 19 07:02:21 CST 2007
Module: wine
Branch: master
Commit: 762e227994b4bcd71a9f230efcf89e92dea40b8f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=762e227994b4bcd71a9f230efcf89e92dea40b8f
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Fri Feb 16 19:15:15 2007 +0100
wined3d: Only scream about unsupported vertex blending when it is used.
---
dlls/wined3d/state.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 16fddf7..257757f 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -2396,8 +2396,10 @@ static void loadVertexData(IWineD3DStateBlockImpl *stateblock, WineDirect3DVerte
#endif
} else {
- /* TODO: support blends in fixupVertices */
- FIXME("unsupported blending in openGl\n");
+ /* TODO: support blends in drawStridedSlow
+ * No need to write a FIXME here, this is done after the general vertex decl decoding
+ */
+ WARN("unsupported blending in openGl\n");
}
} else {
if (GL_SUPPORT(ARB_VERTEX_BLEND)) {
@@ -2785,8 +2787,11 @@ static inline void handleStreams(IWineD3DStateBlockImpl *stateblock, BOOL useVer
/* Generate some fixme's if unsupported functionality is being used */
#define BUFFER_OR_DATA(_attribute) dataLocations->u.s._attribute.lpData
/* TODO: Either support missing functionality in fixupVertices or by creating a shader to replace the pipeline. */
- if (!useVertexShaderFunction && (BUFFER_OR_DATA(blendMatrixIndices) || BUFFER_OR_DATA(blendWeights))) {
- FIXME("Blending data is only valid with vertex shaders %p %p\n",dataLocations->u.s.blendWeights.lpData,dataLocations->u.s.blendWeights.lpData);
+ if (!useVertexShaderFunction &&
+ stateblock->renderState[WINED3DRS_VERTEXBLEND] &&
+ (BUFFER_OR_DATA(blendMatrixIndices) || BUFFER_OR_DATA(blendWeights))) {
+ FIXME("Vertex Blending is not implemented yet %p %p\n",dataLocations->u.s.blendWeights.lpData,dataLocations->u.s.blendWeights.lpData);
+ /* TODO: Implement it using GL_ARB_vertex_blend or software emulation in drawStridedSlow */
}
if (!useVertexShaderFunction && (BUFFER_OR_DATA(position2) || BUFFER_OR_DATA(normal2))) {
FIXME("Tweening is only valid with vertex shaders\n");
More information about the wine-cvs
mailing list