d3d10
Dear all, Since d3d10effect has advanced a lot during the latest weeks I was wondering what are the next steps that you are planning to develop. In particutar, I wonder about: 1. Do DepthStencil and RasterizerState present major differences in terms of capabilities compared to D3D9? I mean that coding ID3D10EffectDepthStencilVariable http://msdn.microsoft.com/en-us/library/ee418970%28VS.85%29.aspx is very easy once you have ID3D10DepthStencilState (just call ID3D10Device_CreateDepthStencilState for http://msdn.microsoft.com/en-us/library/bb173546%28VS.85%29.aspxID3D10EffectDepthStencilVariable::GetDepthStencilState and http://msdn.microsoft.com/en-us/library/bb173641%28VS.85%29.aspxID3D10EffectDepthStencilVariable::GetBackingStore http://msdn.microsoft.com/en-us/library/bb173640%28VS.85%29.aspx should only be recovering the data from a private variable). Furthermore, ID3D10Device::OMSetDepthStencilState is just a bunch of IWineD3DDevice_SetRenderState calls because I think that wined3d already implements all the required functionality, doesn't it?. ID3D10Device::OMGetDepthStencilState http://msdn.microsoft.com/en-us/library/bb173593%28VS.85%29.aspx would be a bunch of IWineD3DDevice_GetRenderState. ID3D10EffectRasterizerVariable. http://msdn.microsoft.com/en-us/library/bb173640%28VS.85%29.aspx presents the analogous thing (together with ID3D10Device::RSSetState), doesn't it? 2. For ID3D10EffectBlendVariable http://msdn.microsoft.com/en-us/library/ee418962%28VS.85%29.aspx I think that that is different. what are the major difficulties concerning the capabilities that D3D10 offers compared to D3D9 conerning blending and do you see them achievable beofre this year ends? 3. Last, for ID3D10Device::RSGetViewports/ID3D10Device::RSSetViewports and ID3D10Device::RSGetScissorRects/ID3D10Device::RSSetScissorRects, the difficulty may lay in accepting in the wine driver more thatn one rect/viewport. Do you agree? Are you planning an upgrade in wined3d to refer to *rect rather than rect in the stateblock definition? The analogous question applies to viewports. I was wondering all that because I am considering asking Santa for D3D10 games for next Christmas and would like to know the roadmap of wine D3D10 development.
RE: D3D shader assembler (Matteo Bruni)
I read several months ago that the itnetion was to create the assembler inside the wined3d and then use its functionality inside the diverse d3dx9 implementations. Has this changed? I think it was Stefan Dösinger sho proposed it: d3dx - wined3d assembler the wined3d will be re-usable and the d3dx functions will be extremely easy.
Effects in D3D10 and D3DX
I have seen that Henri Verbeet has begun the implementation of ID3D10Effect. Since there is a ID3DX9Effect interface I wonder of the possibility of creating something like wined3deffect and refer ID3DXEffect and ID3D10Effect to that wined3deffect implementation.
Re: Google Summer of code
Following your comment I understand that you will be implementing the hard core of D3DXCompileShaderxx. Nevertheless, I have already a simplification of the D3DXCompileShaderFromFilexx functionsStefan Dösinger escribió. This are being work referring to D3DXCompileShaderFromFileExW on the basement, i.e: D3DXCompileShaderFromFileA -- D3DXCompileShaderFromFileW D3DXCompileShaderFromFileExA -- D3DXCompileShaderFromFileExW D3DXCompileShaderFromFileW -- D3DXCompileShaderFromFileExW Please find the patch attached. I have tested it with Civilizqation4, which as explained calls D3DXCompileShaderFromFileA. To test 3DXCompileShaderFromFileExA I tried a temporary path of D3DXCompileShaderFromFileA -- D3DXCompileShaderFromFileExA All this using the work around of implementing the three calling functions (D3DXCompileShaderFromFileA, D3DXCompileShaderFromFileW, D3DXCompileShaderFromFileExA) in d3dx9_32 for testing and now setting the code on d3dx9_36 obviously. The tests have been ok. Please let me know your comments and if you think that it can be submitted to wine-patches. Am Donnerstag, 13. März 2008 18:26:17 schrieb Luis C. Busquets Pérez: Proposing another thing if implementing d3dx9_36.dll is too much I propose to implement: 1 D3DXAssembleShader 2 D3DXAssembleShaderFromFileA 3 D3DXCompileShader 4 D3DXCompileShaderFromFileA I plan to implement those as a university project now(I already got the general approval for it, just need to sort out the details) 5 D3DXCreateCubeTextureFromFileExA 6 D3DXCreateCubeTextureFromFileInMemory 7 D3DXCreateEffectCompilerFromFileA 8 D3DXCreateEffectFromFileA 9 D3DXCreateTextureFromFileExA 10 D3DXCreateTextureFromFileInMemory 11 D3DXCreateVolumeTextureFromFileExA 12 D3DXCreateVolumeTextureFromFileInMemory 13 D3DXGetImageInfoFromFileInMemory 14 D3DXGetPixelShaderProfile 15 D3DXGetShaderConstantTable 16 D3DXGetShaderInputSemantics 17 D3DXGetShaderVersion 18 D3DXGetVertexShaderProfile 19 D3DXLoadSurfaceFromSurface 20 D3DXSaveSurfaceToFileA 21 D3DXSaveTextureToFileA That's a long enough list in itself I think. You shouldn't cap it off at specifically the functions CIV4 calls, but rather look for blocks of functionality. diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in index 3b0f062..d10561c 100644 --- a/dlls/d3dx9_36/Makefile.in +++ b/dlls/d3dx9_36/Makefile.in @@ -7,7 +7,8 @@ IMPORTLIB = d3dx9 IMPORTS = d3d9 d3dx8 kernel32 C_SRCS = \ - d3dx9_36_main.c + d3dx9_36_main.c \ + effect.c @MAKE_DLL_RULES@ diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec index c859e94..d4e9d76 100644 --- a/dlls/d3dx9_36/d3dx9_36.spec +++ b/dlls/d3dx9_36/d3dx9_36.spec @@ -53,10 +53,10 @@ @ stub D3DXCreateEffectCompilerFromResourceA @ stub D3DXCreateEffectCompilerFromResourceW @ stub D3DXCreateEffectEx -@ stub D3DXCreateEffectFromFileA -@ stub D3DXCreateEffectFromFileExA -@ stub D3DXCreateEffectFromFileExW -@ stub D3DXCreateEffectFromFileW +@ stdcall D3DXCreateEffectFromFileA(ptr ptr ptr ptr long ptr ptr ptr) +@ stdcall D3DXCreateEffectFromFileExA(ptr ptr ptr ptr ptr long ptr ptr ptr) +@ stdcall D3DXCreateEffectFromFileExW(ptr ptr ptr ptr ptr long ptr ptr ptr) +@ stdcall D3DXCreateEffectFromFileW(ptr ptr ptr ptr long ptr ptr ptr) @ stub D3DXCreateEffectFromResourceA @ stub D3DXCreateEffectFromResourceExA @ stub D3DXCreateEffectFromResourceExW diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c new file mode 100644 index 000..2ee7769 --- /dev/null +++ b/dlls/d3dx9_36/effect.c @@ -0,0 +1,128 @@ +/* + * Direct3D X 9 effect file + * + * Copyright (C) 2008 Luis Busquets + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include config.h +#include wine/port.h +#include stdarg.h +#include windef.h +#include winbase.h +#include wingdi.h +#include winuser.h +#include wine/debug.h +#include wine/unicode.h +#include d3dx9.h + +typedef struct D3DXMACRO { +LPCSTR Name; +LPCSTR Definition; +} D3DXMACRO, *LPD3DXMACRO; + +typedef interface ID3DXInclude *LPD3DXINCLUDE; +typedef interface ID3DXEffectPool *LPD3DXEFFECTPOOL; +typedef interface ID3DXEffect *LPD3DXEFFECT
d3dx8: Implementation of D3DXGetFVFVertexSize
Is ther eany problem with this patch? --- dlls/d3dx8/d3dx8_main.c | 59 +- 1 files changed, 57 insertions(+), 2 deletions(-) diff --git a/dlls/d3dx8/d3dx8_main.c b/dlls/d3dx8/d3dx8_main.c index ee897a8..a1d37b8 100644 --- a/dlls/d3dx8/d3dx8_main.c +++ b/dlls/d3dx8/d3dx8_main.c @@ -61,8 +61,63 @@ HRESULT WINAPI D3DXCreateFont(LPDIRECT3DDEVICE8 pDevice, HFONT hFont, LPD3DXFONT } UINT WINAPI D3DXGetFVFVertexSize(DWORD FVF) { - FIXME((void): stub\n); - return 0; + UINT size=0; + UINT i; + UINT texture; + switch (FVF D3DFVF_XYZB5) { + case D3DFVF_XYZ: +size=12; +break; + case D3DFVF_XYZRHW: +size=16; +break; + case D3DFVF_XYZB1: +size=16; +break; + case D3DFVF_XYZB2: +size=20; +break; + case D3DFVF_XYZB3: +size=24; +break; + case D3DFVF_XYZB4: +size=28; +break; + case D3DFVF_XYZB5: +size=32; +break; + default: +FIXME(Not Implemented.); +break; +} + if (FVF D3DFVF_NORMAL) + size=size + 12; + if (FVF D3DFVF_PSIZE) + size=size + 4; + if (FVF D3DFVF_DIFFUSE) + size=size + 4; + if (FVF D3DFVF_SPECULAR) + size=size + 4; + texture = FVF 16; + for (i=0;i((FVF0x0f00) 16);i++) { + switch (texture 3) { + case D3DFVF_TEXTUREFORMAT1: +size=size + 4; +break; + case D3DFVF_TEXTUREFORMAT2: +size=size + 8; +break; + case D3DFVF_TEXTUREFORMAT3: +size=size + 12; +break; + case D3DFVF_TEXTUREFORMAT4: +size=size + 16; +break; + } + texture = FVF 2; + } + + return size; } HRESULT WINAPI D3DXAssembleShader(LPCVOID pSrcData, UINT SrcDataLen, DWORD Flags,
Google Summer of code
Proposing another thing if implementing d3dx9_36.dll is too much I propose to implement: 1 D3DXAssembleShader 2 D3DXAssembleShaderFromFileA 3 D3DXCompileShader 4 D3DXCompileShaderFromFileA 5 D3DXCreateCubeTextureFromFileExA 6 D3DXCreateCubeTextureFromFileInMemory 7 D3DXCreateEffectCompilerFromFileA 8 D3DXCreateEffectFromFileA 9 D3DXCreateTextureFromFileExA 10 D3DXCreateTextureFromFileInMemory 11 D3DXCreateVolumeTextureFromFileExA 12 D3DXCreateVolumeTextureFromFileInMemory 13 D3DXGetImageInfoFromFileInMemory 14 D3DXGetPixelShaderProfile 15 D3DXGetShaderConstantTable 16 D3DXGetShaderInputSemantics 17 D3DXGetShaderVersion 18 D3DXGetVertexShaderProfile 19 D3DXLoadSurfaceFromSurface 20 D3DXSaveSurfaceToFileA 21 D3DXSaveTextureToFileA Which are the functions that Sid Meier's Civilization 4 calls and are not yet implemented from d3dx9_32 (36)
Google Summer of Code
Please find attached some projects that could be in this Summer of Code: 1. Finishing the implementation of d3dx9_36. Since we have already the forwarding d3dx9_xx there is just need for the this dll to be in our system. With this fully dll implemented tehre would be no need. 2. msxml.dll, msxml2.dll, msxml2a.dll, msxml2r.dll, msxml3.dll, msxml3r.dll, msxml4.dll, msxml4a.dll, msxml4r.dll, msxml5.dll, msxml5r.dll, msxml6.dll msxml6r.dll and WinHTTP5.dll are all versions referring to the same API together with resoruces. Since wine is already implementing msxml3.dll I see that a good thing would be to link the rest of the files and implement them allñ together. I assume that the biggest part of the work will be repeated. 3. The same that applies to point 2 applise to all files msvcrxx.dll (msvcr80.dll, msvcr70.dll, 4, As in point 3, implementing msvcpxx.dll could also be a job
d3dx9_xx
The number of functions reported in http://www.winehq.org/site/winapi_stats for the following dlls is d3dx9_24308 d3dx9_25311 d3dx9_26315 d3dx9_27315 d3dx9_28320 d3dx9_29320 d3dx9_30320 d3dx9_31317 d3dx9_32322 d3dx9_33322 d3dx9_34322 d3dx9_35322 d3dx9_36325 Nevertheless, the correct number is d3dx9_24320 d3dx9_25323 d3dx9_26327 d3dx9_27327 d3dx9_28332 d3dx9_29332 d3dx9_30332 d3dx9_31329 d3dx9_32334 d3dx9_33334 d3dx9_34334 d3dx9_35334 d3dx9_36336
Bug in patch winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it.
There is a bug in the patch: c19af910ebafa9b1928b0f67bee68f6b0b237e8e is first bad commit commit c19af910ebafa9b1928b0f67bee68f6b0b237e8e Author: Alexandre Julliard [EMAIL PROTECTED] Date: Thu Jan 17 19:53:59 2008 +0100 winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it. Handle desktop size changes by sending a message to the desktop owner. :04 04 b7c030353fe92121bb999481724a3689429b2e8a 80fd2c5f4ace2707abb01648bd61663a6c9d7626 M dlls It affects to Patrician3.exe. When initiating, it hangs and does not allow to play the movie. Actually, the programm changes the screen resolution and hangs. I understand that the problem is that it does not send the appropiate message for binkplayer.exe to play the movie.
Re: [Fwd: d3dx8: Implement D3DXCreateTextureFromFile]
Why has this patch not been accepted? Luis C. Busquets Pérez escribió: I have created a /dlls/d3dx8/texture.c file where to put all functions related to textures and d3dx8. I have included D3DXIMAGE_FILEFORMAT in the patch because it is referred by D3DXIMAGE_FILEFORMAT which is referred in the function. If not included, it would not compile. They both are now in /include/d3dx8.h whci I think is the appropiate file. Do you propose to put them elsewhere? Do you think I am missing anything or is it ok?
[Fwd: d3dx8: Implement D3DXCreateTextureFromFile]
I have created a /dlls/d3dx8/texture.c file where to put all functions related to textures and d3dx8. I have included D3DXIMAGE_FILEFORMAT in the patch because it is referred by D3DXIMAGE_FILEFORMAT which is referred in the function. If not included, it would not compile. They both are now in /include/d3dx8.h whci I think is the appropiate file. Do you propose to put them elsewhere? Do you think I am missing anything or is it ok? ---BeginMessage--- Implementation of the simple D3DXCreateTextureFromFile functions in relation to the Extended functions --- dlls/d3dx8/Makefile.in |1 + dlls/d3dx8/d3dx8.spec |8 ++-- dlls/d3dx8/texture.c | 86 include/d3dx8.h|1 + include/d3dx8texture.h | 43 5 files changed, 135 insertions(+), 4 deletions(-) create mode 100644 dlls/d3dx8/texture.c create mode 100644 include/d3dx8texture.h diff --git a/dlls/d3dx8/Makefile.in b/dlls/d3dx8/Makefile.in index cbee6e5..d56807e 100644 --- a/dlls/d3dx8/Makefile.in +++ b/dlls/d3dx8/Makefile.in @@ -10,6 +10,7 @@ EXTRALIBS = -ldxguid -luuid C_SRCS = \ d3dx8_main.c \ d3dxbuffer.c \ + texture.c \ math.c @MAKE_DLL_RULES@ diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec index 0ccfdf2..929fe0a 100644 --- a/dlls/d3dx8/d3dx8.spec +++ b/dlls/d3dx8/d3dx8.spec @@ -129,12 +129,12 @@ @ stub D3DXLoadVolumeFromMemory @ stub D3DXCheckTextureRequirements @ stub D3DXCreateTexture -@ stub D3DXCreateTextureFromFileA -@ stub D3DXCreateTextureFromFileW +@ stdcall D3DXCreateTextureFromFileA(ptr ptr ptr) +@ stdcall D3DXCreateTextureFromFileW(ptr ptr ptr) @ stub D3DXCreateTextureFromResourceA @ stub D3DXCreateTextureFromResourceW -@ stub D3DXCreateTextureFromFileExA -@ stub D3DXCreateTextureFromFileExW +@ stdcall D3DXCreateTextureFromFileExA(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr) +@ stdcall D3DXCreateTextureFromFileExW(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr) @ stub D3DXCreateTextureFromResourceExA @ stub D3DXCreateTextureFromResourceExW @ stub D3DXCreateTextureFromFileInMemory diff --git a/dlls/d3dx8/texture.c b/dlls/d3dx8/texture.c new file mode 100644 index 000..fd98f76 --- /dev/null +++ b/dlls/d3dx8/texture.c @@ -0,0 +1,86 @@ +/* + * Direct3D X 8 texture file + * + * Copyright (C) 2008 Luis C. Busquets Pérez + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include config.h +#include wine/port.h +#include stdarg.h +#include windef.h +#include winbase.h +#include wingdi.h +#include winuser.h +#include wine/debug.h +#include d3dx8_private.h + +WINE_DEFAULT_DEBUG_CHANNEL(d3d); + +HRESULT WINAPI D3DXCreateTextureFromFileExW(LPDIRECT3DDEVICE8 pDevice, +LPWSTR pSrcFile, +UINT Width, +UINT Height, +UINT MipLevels, +DWORD Usage, +D3DFORMAT Format, +D3DPOOL Pool, +DWORD Filter, +DWORD MipFilter, +D3DCOLOR ColorKey, +D3DXIMAGE_INFO *pSrcInfo, +PALETTEENTRY *pPalette, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + FIXME((void): stub\n); + return D3D_OK; +} + +HRESULT WINAPI D3DXCreateTextureFromFileW(LPDIRECT3DDEVICE8 pDevice, +LPWSTR pSrcFile, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + return D3DXCreateTextureFromFileExW(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture); +} + +HRESULT WINAPI D3DXCreateTextureFromFileExA(LPDIRECT3DDEVICE8 pDevice, +LPSTR pSrcFile, +UINT Width, +UINT Height, +UINT MipLevels, +DWORD Usage, +D3DFORMAT Format, +D3DPOOL Pool, +DWORD Filter, +DWORD MipFilter, +D3DCOLOR ColorKey, +D3DXIMAGE_INFO *pSrcInfo, +PALETTEENTRY *pPalette, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + FIXME((void): stub\n); + return D3D_OK; +} + +HRESULT WINAPI D3DXCreateTextureFromFileA(LPDIRECT3DDEVICE8 pDevice, +LPSTR pSrcFile, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + return D3DXCreateTextureFromFileExA(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture); +} + + diff --git a/include/d3dx8.h b/include/d3dx8.h index 52ddaf3..e446a56 100644 --- a/include/d3dx8.h +++ b/include/d3dx8.h @@ -24,5 +24,6 @@ #include d3dx8math.h
d3dx8: Implement D3DXCreateTextureFromFile functions in relation to the extended version - 3rd try
d3dx8tex.h with the mentioned name. I should be done now. Please send comments if not. --- dlls/d3dx8/Makefile.in |1 + dlls/d3dx8/d3dx8.spec |8 ++-- dlls/d3dx8/texture.c | 86 include/d3dx8.h|1 + include/d3dx8tex.h | 43 5 files changed, 135 insertions(+), 4 deletions(-) create mode 100644 dlls/d3dx8/texture.c create mode 100644 include/d3dx8tex.h diff --git a/dlls/d3dx8/Makefile.in b/dlls/d3dx8/Makefile.in index cbee6e5..d56807e 100644 --- a/dlls/d3dx8/Makefile.in +++ b/dlls/d3dx8/Makefile.in @@ -10,6 +10,7 @@ EXTRALIBS = -ldxguid -luuid C_SRCS = \ d3dx8_main.c \ d3dxbuffer.c \ + texture.c \ math.c @MAKE_DLL_RULES@ diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec index 0ccfdf2..929fe0a 100644 --- a/dlls/d3dx8/d3dx8.spec +++ b/dlls/d3dx8/d3dx8.spec @@ -129,12 +129,12 @@ @ stub D3DXLoadVolumeFromMemory @ stub D3DXCheckTextureRequirements @ stub D3DXCreateTexture -@ stub D3DXCreateTextureFromFileA -@ stub D3DXCreateTextureFromFileW +@ stdcall D3DXCreateTextureFromFileA(ptr ptr ptr) +@ stdcall D3DXCreateTextureFromFileW(ptr ptr ptr) @ stub D3DXCreateTextureFromResourceA @ stub D3DXCreateTextureFromResourceW -@ stub D3DXCreateTextureFromFileExA -@ stub D3DXCreateTextureFromFileExW +@ stdcall D3DXCreateTextureFromFileExA(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr) +@ stdcall D3DXCreateTextureFromFileExW(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr) @ stub D3DXCreateTextureFromResourceExA @ stub D3DXCreateTextureFromResourceExW @ stub D3DXCreateTextureFromFileInMemory diff --git a/dlls/d3dx8/texture.c b/dlls/d3dx8/texture.c new file mode 100644 index 000..fd98f76 --- /dev/null +++ b/dlls/d3dx8/texture.c @@ -0,0 +1,86 @@ +/* + * Direct3D X 8 texture file + * + * Copyright (C) 2008 Luis C. Busquets Pérez + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include config.h +#include wine/port.h +#include stdarg.h +#include windef.h +#include winbase.h +#include wingdi.h +#include winuser.h +#include wine/debug.h +#include d3dx8_private.h + +WINE_DEFAULT_DEBUG_CHANNEL(d3d); + +HRESULT WINAPI D3DXCreateTextureFromFileExW(LPDIRECT3DDEVICE8 pDevice, +LPWSTR pSrcFile, +UINT Width, +UINT Height, +UINT MipLevels, +DWORD Usage, +D3DFORMAT Format, +D3DPOOL Pool, +DWORD Filter, +DWORD MipFilter, +D3DCOLOR ColorKey, +D3DXIMAGE_INFO *pSrcInfo, +PALETTEENTRY *pPalette, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + FIXME((void): stub\n); + return D3D_OK; +} + +HRESULT WINAPI D3DXCreateTextureFromFileW(LPDIRECT3DDEVICE8 pDevice, +LPWSTR pSrcFile, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + return D3DXCreateTextureFromFileExW(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture); +} + +HRESULT WINAPI D3DXCreateTextureFromFileExA(LPDIRECT3DDEVICE8 pDevice, +LPSTR pSrcFile, +UINT Width, +UINT Height, +UINT MipLevels, +DWORD Usage, +D3DFORMAT Format, +D3DPOOL Pool, +DWORD Filter, +DWORD MipFilter, +D3DCOLOR ColorKey, +D3DXIMAGE_INFO *pSrcInfo, +PALETTEENTRY *pPalette, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + FIXME((void): stub\n); + return D3D_OK; +} + +HRESULT WINAPI D3DXCreateTextureFromFileA(LPDIRECT3DDEVICE8 pDevice, +LPSTR pSrcFile, +LPDIRECT3DTEXTURE8 *ppTexture) +{ + return D3DXCreateTextureFromFileExA(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture); +} + + diff --git a/include/d3dx8.h b/include/d3dx8.h index 52ddaf3..fefba46 100644 --- a/include/d3dx8.h +++ b/include/d3dx8.h @@ -24,5 +24,6 @@ #include d3dx8math.h #include d3dx8core.h +#include d3dx8tex.h #endif diff --git a/include/d3dx8tex.h b/include/d3dx8tex.h new file mode 100644 index 000..3167edf --- /dev/null +++ b/include/d3dx8tex.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2008 Luis C. Busquets Pérez + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the
d3dx8, d3dx9_xx and d3dx10_xx
Find attached some data on d3dx8, d3dx9_xx and d3dx10_xx implementations: dll files by d3dx extension: d3dx8 1 dll files d3dx9_xx 13 dll files d3dx10_xx 4 dll files Functions included in each d3dx: DLL Number of functions d3dx8 153 d3dx9_24 320 d3dx9_25 323 d3dx9_26 327 d3dx9_27 327 d3dx9_28 332 d3dx9_29 332 d3dx9_30 332 d3dx9_31 329 d3dx9_32 334 d3dx9_33 334 d3dx9_34 334 d3dx9_35 334 d3dx9_36 336 d3dx10_33 177 d3dx10_34 177 d3dx10_35 180 d3dx10_36 180 Total functions for all d3dx implementations: 5162 functions. Total functions for all d3dx implementations taking into account repetitions: 425 functions From these 425 functions: Functions specific to d3dx8: 15 Functions specific to d3dx9: 165 Functions specific to d3dx10: 71 Functions shared between d3dx8 and d3dx9: 65 Functions shared between d3dx9 and d3dx10: 35 Functions shared between the three implementations: 74 On the other hand, considering individual dlls, 17 functions are only mentioned in one dll 3 functions are mentioned in 2 dlls 68 functions are mentioned in 4 dlls 2 functions are mentioned in 7 dlls 10 functions are mentioned in 9 dlls 5 functions are mentioned in 11 dlls 3 functions are mentioned in 12 dlls 149 functions are mentioned in 13 dlls 65 functions are mentioned in 14 dlls 29 functions are mentioned in 17 dlls 74 functions are mentioned in 18 dlls
GDI32.dll.NamedEscape
I am having problems with a bunch of three games that came together in the same pack. They all abort qhen asking for installation with the following line wine: Call from 0x73ba1895 to unimplemented function GDI32.dll.NamedEscape, aborting Does anybody know what GDI32.dll.NamedEscape does? Does anybody intend to implement it in the near future?
d3ds9_xx
I have not seen any patch committed beginning the implementation of these libraries. Therefore, I was wondering which is the tree structure for these dlls that all of you propose and Alexander is willing to commit.
d3dx8 [patch 1/10] Implement D3DXPlaneFromPointNormal
I still do not see why it is not possible to have only one folder dlls/d3dx9/ with the thirteen spec files inside. After all, the vast majority of its code is repeated and it is the same system ctl3d, ctl3d32 and ctl3dv2 use as the three specs are in dlls/ctl3d32 This is not creating subfolders in dlls/d3dx9 but just putting all spec files in it.
D3DX
Dear all and in particular Alexander and Louis, I have seen that the work d3dx8 has began and that a number of functions have been added to the spec. I know this is a recurring subject but I think something should be done now. As you know, the fowllowing files d3dx8.dll d3dx9_24.dll d3dx9_24.dll d3dx9_24.dll d3dx9_24.dll d3dx9_24.dll
D3DX
Dear all and in particular Alexander and Louis, I have seen that the work d3dx8 has began and that a number of functions have been added to the spec. I know this is a recurring subject but I think something should be done now. As you know, the fowllowing files d3dx8.dll d3dx9_24.dll d3dx9_25.dll d3dx9_26.dll d3dx9_27.dll d3dx9_28.dll d3dx9_29.dll d3dx9_30.dll d3dx9_31.dll d3dx9_32.dll d3dx9_33.dll d3dx9_34.dll d3dx9_35.dll Share a large number of functions. Actually, 142 of the 153 the functions you have added to d3dx8.spec are repeated in all those dlls. I think that a merge development should be done. That is to develop just one dlls/d3dx/d3dx.spec together with the different dlls/d3dx/xx.c files implementing those functions with the 349 functions that are used in all those d3d extensions. Then, the spec files of each specific file referring to d3dx. Are you opposed to such alternative? Luis
Win API Stats page broken
The web page indicating the status of the wine API: http://www.winehq.org/site/winapi_stats is corrupted and indicates an SQL error. I assume that there is some information in the database corrupted: Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in /home/winehq/opt/tools/winapi_stats.php on line 118 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/winehq/opt/tools/winapi_stats.php on line 129 last modified: Fri Aug 24 9:53:14 CDT 2007 Who deals with it?
Re: Re: Re: Forum proposal
I understand that for some people the mailing list is a far better thing. May be for some other, a forum is better. Why not having both? Running a forum does not exclude continuing with the mailing lists and could add users and developpers who find more easy coordinate through a forum. Configuring phpBB (www.phpbb.com) does not take more than 1 hour . I have made a try in 30 minutes starting from not knowing anything about this package: http://ns2.ilidium.com:8011/ Why not trying both systems? I fully agree with Jonathan - the mail lists that have gone to forums I've dropped off. I can check the mail lists quickly, easily, filter as necessary and get what I need without having to sign on and wade through a bunch of posts. If people really want forums setup a forum and let those who want it use it. From: Jonathan Allen [EMAIL PROTECTED] Date: 2007/03/01 Thu AM 11:20:18 EST To: wine-devel@winehq.org Subject: Re: Forum proposal On Thu, Mar 01, 2007 at 05:15:03PM +0100, Luis Carlos Busquets Pérez wrote: Instead of having the mailing lists, I think that a forum would increase and facilitate the group working. I could agree less. IMHO a mailing list works well by making sure that everyone gets everything, without them needing to go anywhere to get it. A forum wil immediately disenfranchise all thsoe who have no immediate need to go and visit the forum site every day and so will miss important annoucements and so on. Bad idea. Jonathan