Added 'emulated' VertexBuffer support.
This commit is contained in:
parent
c3d89f5566
commit
ce3d96889f
|
@ -427,7 +427,7 @@ Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE7 ifac
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
Main_IDirect3DDeviceImpl_7_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
||||||
DWORD dwStartVertex,
|
DWORD dwStartVertex,
|
||||||
|
@ -440,7 +440,7 @@ Main_IDirect3DDeviceImpl_7_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
Main_IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
||||||
DWORD dwStartVertex,
|
DWORD dwStartVertex,
|
||||||
|
@ -832,32 +832,6 @@ Main_IDirect3DDeviceImpl_3_2T_SetLightState(LPDIRECT3DDEVICE3 iface,
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI
|
|
||||||
Main_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
|
||||||
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
|
||||||
DWORD dwStartVertex,
|
|
||||||
DWORD dwNumVertices,
|
|
||||||
DWORD dwFlags)
|
|
||||||
{
|
|
||||||
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);
|
|
||||||
FIXME("(%p/%p)->(%08x,%p,%08lx,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, lpD3DVertexBuf, dwStartVertex, dwNumVertices, dwFlags);
|
|
||||||
return DD_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HRESULT WINAPI
|
|
||||||
Main_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
|
||||||
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
|
||||||
LPWORD lpwIndices,
|
|
||||||
DWORD dwIndexCount,
|
|
||||||
DWORD dwFlags)
|
|
||||||
{
|
|
||||||
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);
|
|
||||||
FIXME("(%p/%p)->(%08x,%p,%p,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, lpD3DVertexBuf, lpwIndices, dwIndexCount, dwFlags);
|
|
||||||
return DD_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
Main_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface,
|
Main_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface,
|
||||||
DWORD dwStage,
|
DWORD dwStage,
|
||||||
|
@ -1771,3 +1745,41 @@ Thunk_IDirect3DDeviceImpl_3_SetTexture(LPDIRECT3DDEVICE3 iface,
|
||||||
dwStage,
|
dwStage,
|
||||||
COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture2, IDirectDrawSurface7, lpTexture2));
|
COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture2, IDirectDrawSurface7, lpTexture2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
||||||
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
|
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
||||||
|
DWORD dwStartVertex,
|
||||||
|
DWORD dwNumVertices,
|
||||||
|
DWORD dwFlags)
|
||||||
|
{
|
||||||
|
TRACE("(%p)->(%08x,%p,%08lx,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface,
|
||||||
|
d3dptPrimitiveType, lpD3DVertexBuf, dwStartVertex, dwNumVertices, dwFlags);
|
||||||
|
return IDirect3DDevice7_DrawPrimitiveVB(COM_INTERFACE_CAST(IDirect3DDeviceImpl, IDirect3DDevice3, IDirect3DDevice7, iface),
|
||||||
|
d3dptPrimitiveType,
|
||||||
|
COM_INTERFACE_CAST(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, IDirect3DVertexBuffer7, lpD3DVertexBuf),
|
||||||
|
dwStartVertex,
|
||||||
|
dwNumVertices,
|
||||||
|
dwFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
||||||
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
|
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
||||||
|
LPWORD lpwIndices,
|
||||||
|
DWORD dwIndexCount,
|
||||||
|
DWORD dwFlags)
|
||||||
|
{
|
||||||
|
TRACE("(%p)->(%08x,%p,%p,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface,
|
||||||
|
d3dptPrimitiveType, lpD3DVertexBuf, lpwIndices, dwIndexCount, dwFlags);
|
||||||
|
return IDirect3DDevice7_DrawIndexedPrimitiveVB(COM_INTERFACE_CAST(IDirect3DDeviceImpl, IDirect3DDevice3, IDirect3DDevice7, iface),
|
||||||
|
d3dptPrimitiveType,
|
||||||
|
COM_INTERFACE_CAST(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, IDirect3DVertexBuffer7, lpD3DVertexBuf),
|
||||||
|
0,
|
||||||
|
dwIndexCount,
|
||||||
|
lpwIndices,
|
||||||
|
dwIndexCount,
|
||||||
|
dwFlags);
|
||||||
|
}
|
||||||
|
|
|
@ -175,7 +175,7 @@ Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE7 ifac
|
||||||
DWORD dwFlags);
|
DWORD dwFlags);
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
Main_IDirect3DDeviceImpl_7_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
||||||
DWORD dwStartVertex,
|
DWORD dwStartVertex,
|
||||||
|
@ -183,7 +183,7 @@ Main_IDirect3DDeviceImpl_7_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
DWORD dwFlags);
|
DWORD dwFlags);
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
Main_IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
||||||
DWORD dwStartVertex,
|
DWORD dwStartVertex,
|
||||||
|
@ -344,22 +344,6 @@ Main_IDirect3DDeviceImpl_3_2T_SetLightState(LPDIRECT3DDEVICE3 iface,
|
||||||
D3DLIGHTSTATETYPE dwLightStateType,
|
D3DLIGHTSTATETYPE dwLightStateType,
|
||||||
DWORD dwLightState);
|
DWORD dwLightState);
|
||||||
|
|
||||||
HRESULT WINAPI
|
|
||||||
Main_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
|
||||||
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
|
||||||
DWORD dwStartVertex,
|
|
||||||
DWORD dwNumVertices,
|
|
||||||
DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT WINAPI
|
|
||||||
Main_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
|
||||||
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
|
||||||
LPWORD lpwIndices,
|
|
||||||
DWORD dwIndexCount,
|
|
||||||
DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
Main_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface,
|
Main_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface,
|
||||||
DWORD dwStage,
|
DWORD dwStage,
|
||||||
|
@ -757,3 +741,19 @@ HRESULT WINAPI
|
||||||
Thunk_IDirect3DDeviceImpl_3_SetTexture(LPDIRECT3DDEVICE3 iface,
|
Thunk_IDirect3DDeviceImpl_3_SetTexture(LPDIRECT3DDEVICE3 iface,
|
||||||
DWORD dwStage,
|
DWORD dwStage,
|
||||||
LPDIRECT3DTEXTURE2 lpTexture2);
|
LPDIRECT3DTEXTURE2 lpTexture2);
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
||||||
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
|
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
||||||
|
DWORD dwStartVertex,
|
||||||
|
DWORD dwNumVertices,
|
||||||
|
DWORD dwFlags);
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface,
|
||||||
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
|
LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
|
||||||
|
LPWORD lpwIndices,
|
||||||
|
DWORD dwIndexCount,
|
||||||
|
DWORD dwFlags);
|
||||||
|
|
|
@ -63,6 +63,7 @@ static void draw_primitive_strided_7(IDirect3DDeviceImpl *This,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
DWORD d3dvtVertexType,
|
DWORD d3dvtVertexType,
|
||||||
LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
|
LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
|
||||||
|
DWORD dwStartVertex,
|
||||||
DWORD dwVertexCount,
|
DWORD dwVertexCount,
|
||||||
LPWORD dwIndices,
|
LPWORD dwIndices,
|
||||||
DWORD dwIndexCount,
|
DWORD dwIndexCount,
|
||||||
|
@ -765,7 +766,7 @@ inline static void draw_primitive(IDirect3DDeviceImpl *This, DWORD maxvert, WORD
|
||||||
strided.normal.dwStride = sizeof(D3DVERTEX);
|
strided.normal.dwStride = sizeof(D3DVERTEX);
|
||||||
strided.textureCoords[0].lpvData = &((D3DVERTEX *) lpvertex)->u7.tu;
|
strided.textureCoords[0].lpvData = &((D3DVERTEX *) lpvertex)->u7.tu;
|
||||||
strided.textureCoords[0].dwStride = sizeof(D3DVERTEX);
|
strided.textureCoords[0].dwStride = sizeof(D3DVERTEX);
|
||||||
draw_primitive_strided_7(This, d3dpt, D3DFVF_VERTEX, &strided, 0 /* Unused */, index, maxvert, 0 /* Unused */);
|
draw_primitive_strided_7(This, d3dpt, D3DFVF_VERTEX, &strided, 0, 0 /* Unused */, index, maxvert, 0 /* Unused */);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case D3DVT_LVERTEX: {
|
case D3DVT_LVERTEX: {
|
||||||
|
@ -777,7 +778,7 @@ inline static void draw_primitive(IDirect3DDeviceImpl *This, DWORD maxvert, WORD
|
||||||
strided.specular.dwStride = sizeof(D3DLVERTEX);
|
strided.specular.dwStride = sizeof(D3DLVERTEX);
|
||||||
strided.textureCoords[0].lpvData = &((D3DLVERTEX *) lpvertex)->u6.tu;
|
strided.textureCoords[0].lpvData = &((D3DLVERTEX *) lpvertex)->u6.tu;
|
||||||
strided.textureCoords[0].dwStride = sizeof(D3DLVERTEX);
|
strided.textureCoords[0].dwStride = sizeof(D3DLVERTEX);
|
||||||
draw_primitive_strided_7(This, d3dpt, D3DFVF_LVERTEX, &strided, 0 /* Unused */, index, maxvert, 0 /* Unused */);
|
draw_primitive_strided_7(This, d3dpt, D3DFVF_LVERTEX, &strided, 0, 0 /* Unused */, index, maxvert, 0 /* Unused */);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case D3DVT_TLVERTEX: {
|
case D3DVT_TLVERTEX: {
|
||||||
|
@ -789,7 +790,7 @@ inline static void draw_primitive(IDirect3DDeviceImpl *This, DWORD maxvert, WORD
|
||||||
strided.specular.dwStride = sizeof(D3DTLVERTEX);
|
strided.specular.dwStride = sizeof(D3DTLVERTEX);
|
||||||
strided.textureCoords[0].lpvData = &((D3DTLVERTEX *) lpvertex)->u7.tu;
|
strided.textureCoords[0].lpvData = &((D3DTLVERTEX *) lpvertex)->u7.tu;
|
||||||
strided.textureCoords[0].dwStride = sizeof(D3DTLVERTEX);
|
strided.textureCoords[0].dwStride = sizeof(D3DTLVERTEX);
|
||||||
draw_primitive_strided_7(This, d3dpt, D3DFVF_TLVERTEX, &strided, 0 /* Unused */, index, maxvert, 0 /* Unused */);
|
draw_primitive_strided_7(This, d3dpt, D3DFVF_TLVERTEX, &strided, 0, 0 /* Unused */, index, maxvert, 0 /* Unused */);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -963,6 +964,7 @@ static void draw_primitive_strided_7(IDirect3DDeviceImpl *This,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
DWORD d3dvtVertexType,
|
DWORD d3dvtVertexType,
|
||||||
LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
|
LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
|
||||||
|
DWORD dwStartVertex,
|
||||||
DWORD dwVertexCount,
|
DWORD dwVertexCount,
|
||||||
LPWORD dwIndices,
|
LPWORD dwIndices,
|
||||||
DWORD dwIndexCount,
|
DWORD dwIndexCount,
|
||||||
|
@ -1153,6 +1155,7 @@ static void draw_primitive_7(IDirect3DDeviceImpl *This,
|
||||||
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
DWORD d3dvtVertexType,
|
DWORD d3dvtVertexType,
|
||||||
LPVOID lpvVertices,
|
LPVOID lpvVertices,
|
||||||
|
DWORD dwStartVertex,
|
||||||
DWORD dwVertexCount,
|
DWORD dwVertexCount,
|
||||||
LPWORD dwIndices,
|
LPWORD dwIndices,
|
||||||
DWORD dwIndexCount,
|
DWORD dwIndexCount,
|
||||||
|
@ -1192,7 +1195,7 @@ static void draw_primitive_7(IDirect3DDeviceImpl *This,
|
||||||
for (tex_index = 0; tex_index < ((d3dvtVertexType & D3DFVF_TEXCOUNT_MASK) >> D3DFVF_TEXCOUNT_SHIFT); tex_index++)
|
for (tex_index = 0; tex_index < ((d3dvtVertexType & D3DFVF_TEXCOUNT_MASK) >> D3DFVF_TEXCOUNT_SHIFT); tex_index++)
|
||||||
strided.textureCoords[tex_index].dwStride = current_offset;
|
strided.textureCoords[tex_index].dwStride = current_offset;
|
||||||
|
|
||||||
draw_primitive_strided_7(This, d3dptPrimitiveType, d3dvtVertexType, &strided, dwVertexCount, dwIndices, dwIndexCount, dwFlags);
|
draw_primitive_strided_7(This, d3dptPrimitiveType, d3dvtVertexType, &strided, dwStartVertex, dwVertexCount, dwIndices, dwIndexCount, dwFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI
|
HRESULT WINAPI
|
||||||
|
@ -1206,7 +1209,7 @@ GL_IDirect3DDeviceImpl_7_3T_DrawPrimitive(LPDIRECT3DDEVICE7 iface,
|
||||||
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
||||||
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwFlags);
|
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwFlags);
|
||||||
|
|
||||||
draw_primitive_7(This, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, NULL, dwVertexCount, dwFlags);
|
draw_primitive_7(This, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, 0, dwVertexCount, NULL, dwVertexCount, dwFlags);
|
||||||
|
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
|
@ -1224,7 +1227,7 @@ GL_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitive(LPDIRECT3DDEVICE7 iface,
|
||||||
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
||||||
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwIndices, dwIndexCount, dwFlags);
|
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwIndices, dwIndexCount, dwFlags);
|
||||||
|
|
||||||
draw_primitive_7(This, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwIndices, dwIndexCount, dwFlags);
|
draw_primitive_7(This, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, 0, dwVertexCount, dwIndices, dwIndexCount, dwFlags);
|
||||||
|
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
|
@ -1239,7 +1242,7 @@ GL_IDirect3DDeviceImpl_7_3T_DrawPrimitiveStrided(LPDIRECT3DDEVICE7 iface,
|
||||||
{
|
{
|
||||||
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
||||||
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, dwVertexCount, dwFlags);
|
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, dwVertexCount, dwFlags);
|
||||||
draw_primitive_strided_7(This, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, dwVertexCount, NULL, dwVertexCount, dwFlags);
|
draw_primitive_strided_7(This, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, 0, dwVertexCount, NULL, dwVertexCount, dwFlags);
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1255,7 +1258,45 @@ GL_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE7 iface,
|
||||||
{
|
{
|
||||||
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
||||||
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, dwVertexCount, lpIndex, dwIndexCount, dwFlags);
|
TRACE("(%p/%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, dwVertexCount, lpIndex, dwIndexCount, dwFlags);
|
||||||
draw_primitive_strided_7(This, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, dwVertexCount, lpIndex, dwIndexCount, dwFlags);
|
draw_primitive_strided_7(This, d3dptPrimitiveType, dwVertexType, lpD3DDrawPrimStrideData, 0, dwVertexCount, lpIndex, dwIndexCount, dwFlags);
|
||||||
|
return DD_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
GL_IDirect3DDeviceImpl_7_3T_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
|
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
||||||
|
DWORD dwStartVertex,
|
||||||
|
DWORD dwNumVertices,
|
||||||
|
DWORD dwFlags)
|
||||||
|
{
|
||||||
|
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
||||||
|
IDirect3DVertexBufferImpl *vb_impl = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, lpD3DVertexBuf);
|
||||||
|
|
||||||
|
TRACE("(%p/%p)->(%08x,%p,%08lx,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, lpD3DVertexBuf, dwStartVertex, dwNumVertices, dwFlags);
|
||||||
|
|
||||||
|
draw_primitive_7(This, d3dptPrimitiveType, vb_impl->desc.dwFVF, vb_impl->vertices, dwStartVertex, dwNumVertices, NULL, dwNumVertices, dwFlags);
|
||||||
|
|
||||||
|
return DD_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
GL_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
|
||||||
|
D3DPRIMITIVETYPE d3dptPrimitiveType,
|
||||||
|
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
|
||||||
|
DWORD dwStartVertex,
|
||||||
|
DWORD dwNumVertices,
|
||||||
|
LPWORD lpwIndices,
|
||||||
|
DWORD dwIndexCount,
|
||||||
|
DWORD dwFlags)
|
||||||
|
{
|
||||||
|
ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface);
|
||||||
|
IDirect3DVertexBufferImpl *vb_impl = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, lpD3DVertexBuf);
|
||||||
|
|
||||||
|
TRACE("(%p/%p)->(%08x,%p,%08lx,%08lx,%p,%08lx,%08lx)\n", This, iface, d3dptPrimitiveType, lpD3DVertexBuf, dwStartVertex, dwNumVertices, lpwIndices, dwIndexCount, dwFlags);
|
||||||
|
|
||||||
|
draw_primitive_7(This, d3dptPrimitiveType, vb_impl->desc.dwFVF, vb_impl->vertices, dwStartVertex, dwNumVertices, lpwIndices, dwIndexCount, dwFlags);
|
||||||
|
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1459,8 +1500,8 @@ ICOM_VTABLE(IDirect3DDevice7) VTABLE_IDirect3DDevice7 =
|
||||||
XCAST(GetClipStatus) Main_IDirect3DDeviceImpl_7_3T_2T_GetClipStatus,
|
XCAST(GetClipStatus) Main_IDirect3DDeviceImpl_7_3T_2T_GetClipStatus,
|
||||||
XCAST(DrawPrimitiveStrided) GL_IDirect3DDeviceImpl_7_3T_DrawPrimitiveStrided,
|
XCAST(DrawPrimitiveStrided) GL_IDirect3DDeviceImpl_7_3T_DrawPrimitiveStrided,
|
||||||
XCAST(DrawIndexedPrimitiveStrided) GL_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided,
|
XCAST(DrawIndexedPrimitiveStrided) GL_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided,
|
||||||
XCAST(DrawPrimitiveVB) Main_IDirect3DDeviceImpl_7_DrawPrimitiveVB,
|
XCAST(DrawPrimitiveVB) GL_IDirect3DDeviceImpl_7_3T_DrawPrimitiveVB,
|
||||||
XCAST(DrawIndexedPrimitiveVB) Main_IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB,
|
XCAST(DrawIndexedPrimitiveVB) GL_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveVB,
|
||||||
XCAST(ComputeSphereVisibility) Main_IDirect3DDeviceImpl_7_3T_ComputeSphereVisibility,
|
XCAST(ComputeSphereVisibility) Main_IDirect3DDeviceImpl_7_3T_ComputeSphereVisibility,
|
||||||
XCAST(GetTexture) Main_IDirect3DDeviceImpl_7_GetTexture,
|
XCAST(GetTexture) Main_IDirect3DDeviceImpl_7_GetTexture,
|
||||||
XCAST(SetTexture) GL_IDirect3DDeviceImpl_7_3T_SetTexture,
|
XCAST(SetTexture) GL_IDirect3DDeviceImpl_7_3T_SetTexture,
|
||||||
|
@ -1527,8 +1568,8 @@ ICOM_VTABLE(IDirect3DDevice3) VTABLE_IDirect3DDevice3 =
|
||||||
XCAST(GetClipStatus) Thunk_IDirect3DDeviceImpl_3_GetClipStatus,
|
XCAST(GetClipStatus) Thunk_IDirect3DDeviceImpl_3_GetClipStatus,
|
||||||
XCAST(DrawPrimitiveStrided) Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveStrided,
|
XCAST(DrawPrimitiveStrided) Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveStrided,
|
||||||
XCAST(DrawIndexedPrimitiveStrided) Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveStrided,
|
XCAST(DrawIndexedPrimitiveStrided) Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveStrided,
|
||||||
XCAST(DrawPrimitiveVB) Main_IDirect3DDeviceImpl_3_DrawPrimitiveVB,
|
XCAST(DrawPrimitiveVB) Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveVB,
|
||||||
XCAST(DrawIndexedPrimitiveVB) Main_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB,
|
XCAST(DrawIndexedPrimitiveVB) Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB,
|
||||||
XCAST(ComputeSphereVisibility) Thunk_IDirect3DDeviceImpl_3_ComputeSphereVisibility,
|
XCAST(ComputeSphereVisibility) Thunk_IDirect3DDeviceImpl_3_ComputeSphereVisibility,
|
||||||
XCAST(GetTexture) Main_IDirect3DDeviceImpl_3_GetTexture,
|
XCAST(GetTexture) Main_IDirect3DDeviceImpl_3_GetTexture,
|
||||||
XCAST(SetTexture) Thunk_IDirect3DDeviceImpl_3_SetTexture,
|
XCAST(SetTexture) Thunk_IDirect3DDeviceImpl_3_SetTexture,
|
||||||
|
|
|
@ -313,9 +313,9 @@ HRESULT d3dvertexbuffer_create(IDirect3DVertexBufferImpl **obj, IDirect3DImpl *d
|
||||||
|
|
||||||
if (TRACE_ON(ddraw)) {
|
if (TRACE_ON(ddraw)) {
|
||||||
TRACE(" creating implementation at %p with description : \n", *obj);
|
TRACE(" creating implementation at %p with description : \n", *obj);
|
||||||
TRACE(" - "); DDRAW_dump_flags_(lpD3DVertBufDesc->dwCaps, flags, sizeof(flags)/sizeof(flags[0]), TRUE);
|
TRACE(" flags : - "); DDRAW_dump_flags_(lpD3DVertBufDesc->dwCaps, flags, sizeof(flags)/sizeof(flags[0]), TRUE);
|
||||||
TRACE(" - "); dump_flexible_vertex(lpD3DVertBufDesc->dwFVF);
|
TRACE(" vertex type : - "); dump_flexible_vertex(lpD3DVertBufDesc->dwFVF);
|
||||||
TRACE(" - %ld\n", lpD3DVertBufDesc->dwNumVertices);
|
TRACE(" num vertices : - %ld\n", lpD3DVertBufDesc->dwNumVertices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue