Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-21 Thread Józef Kucia
On Wed, Mar 21, 2012 at 1:04 AM, Matteo Bruni matteo.myst...@gmail.com wrote:
 Il 20 marzo 2012 19:12, Christian Costa titan.co...@gmail.com ha scritto:
 * Implement D3DXCreateCubeTextureFrom* and
 D3DXCreateVolumeTextureFrom* functions.

 That depends on the DDS file format support, I guess.


Yes, it could be a part of my GSoC project to add missing support for
DDS file format in D3DX9. Anyway, I will know what's missing after
seeing Christian's patches.

 * Add support for DDS file format in D3DXGetImageInfoFrom* functions.
 DDS support has been added in this patch:
 http://repo.or.cz/w/wine/d3dx9TW.git/commitdiff/f7fd4619de1cd0ea3bdf9b2fd0195c098d3b9bd0.
 I have an updated version and planned to submit it later. FOURCC support is
 also missing.


 That's interesting. Are you (Christian) still implementing it as a WIC
 decoder? I was under the impression that some DDS features
 (cube/volume textures I guess) aren't really supportable that way.


That's right. WIC decoder for DDS is not the best idea. In case of,
D3DXGetImageInfoFromFile you need potentially to get the following
info from a file:
* type of texture: plain texture, cube texture or volume texture
* number of mipmaps
* depth of volume texture
* texture compression format.
You're unable to get this information through a WIC decoder interface.




Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-21 Thread Christian Costa

Le 21/03/2012 20:17, Józef Kucia a écrit :

On Wed, Mar 21, 2012 at 1:04 AM, Matteo Brunimatteo.myst...@gmail.com  wrote:

Il 20 marzo 2012 19:12, Christian Costatitan.co...@gmail.com  ha scritto:

* Implement D3DXCreateCubeTextureFrom* and
D3DXCreateVolumeTextureFrom* functions.

That depends on the DDS file format support, I guess.


Yes, it could be a part of my GSoC project to add missing support for
DDS file format in D3DX9. Anyway, I will know what's missing after
seeing Christian's patches.
Ok. Fine. That would be good if you work on this. There is at least 
FOURCC support missing which is annoying.
My patch is basically the same as Tony's one with few fixes to make it 
work. I will send it to you.





* Add support for DDS file format in D3DXGetImageInfoFrom* functions.

DDS support has been added in this patch:
http://repo.or.cz/w/wine/d3dx9TW.git/commitdiff/f7fd4619de1cd0ea3bdf9b2fd0195c098d3b9bd0.
I have an updated version and planned to submit it later. FOURCC support is
also missing.


That's interesting. Are you (Christian) still implementing it as a WIC
decoder? I was under the impression that some DDS features
(cube/volume textures I guess) aren't really supportable that way.


That's right. WIC decoder for DDS is not the best idea. In case of,
D3DXGetImageInfoFromFile you need potentially to get the following
info from a file:
* type of texture: plain texture, cube texture or volume texture
* number of mipmaps
* depth of volume texture
* texture compression format.
You're unable to get this information through a WIC decoder interface.



Number of mipmaps seems supported it tony's patch throuh the number of 
frames.





GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Józef Kucia
Hi there,

I'm writing to discuss my project proposal for upcoming Google Summer
of Code. I was recently playing with Wine, looking around in the code
and searching through Wine bugzilla. As a result I found out that
there is still a quite number of functions missing in Wine's D3DX
implementation. However, some of them are probably not used much in a
real software. For example, the mostly unimplemented ID3DXSkinInfo
interface seems to be not used frequently. In this email I would like
to present things which I would like to implement. I hope that
implementation of this functions, or at least some of them, could
improve Wine compatibility with a few real applications.

I would like to implement the following things:
* Implement D3DXCreateRenderToSurface function and
ID3DXRenderToSurface interface.
* Finish the implementation of ID3DXFont, particularly
ID3DXFont::DrawTextA and ID3DXFont::DrawTextW functions.
* Implement D3DXCreateCubeTextureFrom* and
D3DXCreateVolumeTextureFrom* functions.
* Add support for DDS file format in D3DXGetImageInfoFrom* functions.
I think I could also implement a few missing functions in
ID3DXConstantTable interface, as a bonus task.

I'm looking forward for a feedback. If you find any D3DX's function
more important than functions enumerated by me, please let me know.
I'm also looking for applications with heavy usage of D3DX dlls,
especially applications which are using unimplemented or partially
implemented functions (yes, I'm aware about
http://wiki.winehq.org/DirectX-D3DX9).

Cheers,
Józef Kucia




Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Christian Costa

Hi Józef,

There are some work already done by Tony Wasserka which didn't get in git:
http://repo.or.cz/w/wine/d3dx9TW.git

DDS support has been added in this patch:
http://repo.or.cz/w/wine/d3dx9TW.git/commitdiff/f7fd4619de1cd0ea3bdf9b2fd0195c098d3b9bd0.
I have an updated version and planned to submit it later. FOURCC support 
is also missing.


There is also some other D3DX9 patches lying around that didn't get in.

You may take a look if you want to be sure not to make something more or 
less already done.


Bye,
Christian

Le 20/03/2012 18:43, Józef Kucia a écrit :

Hi there,

I'm writing to discuss my project proposal for upcoming Google Summer
of Code. I was recently playing with Wine, looking around in the code
and searching through Wine bugzilla. As a result I found out that
there is still a quite number of functions missing in Wine's D3DX
implementation. However, some of them are probably not used much in a
real software. For example, the mostly unimplemented ID3DXSkinInfo
interface seems to be not used frequently. In this email I would like
to present things which I would like to implement. I hope that
implementation of this functions, or at least some of them, could
improve Wine compatibility with a few real applications.

I would like to implement the following things:
* Implement D3DXCreateRenderToSurface function and
ID3DXRenderToSurface interface.
* Finish the implementation of ID3DXFont, particularly
ID3DXFont::DrawTextA and ID3DXFont::DrawTextW functions.
* Implement D3DXCreateCubeTextureFrom* and
D3DXCreateVolumeTextureFrom* functions.
* Add support for DDS file format in D3DXGetImageInfoFrom* functions.
I think I could also implement a few missing functions in
ID3DXConstantTable interface, as a bonus task.

I'm looking forward for a feedback. If you find any D3DX's function
more important than functions enumerated by me, please let me know.
I'm also looking for applications with heavy usage of D3DX dlls,
especially applications which are using unimplemented or partially
implemented functions (yes, I'm aware about
http://wiki.winehq.org/DirectX-D3DX9).

Cheers,
Józef Kucia








Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Józef Kucia
On Tue, Mar 20, 2012 at 7:12 PM, Christian Costa titan.co...@gmail.com wrote:
 Hi Józef,

 There are some work already done by Tony Wasserka which didn't get in git:
 http://repo.or.cz/w/wine/d3dx9TW.git

 DDS support has been added in this patch:
 http://repo.or.cz/w/wine/d3dx9TW.git/commitdiff/f7fd4619de1cd0ea3bdf9b2fd0195c098d3b9bd0.
 I have an updated version and planned to submit it later. FOURCC support is
 also missing.

 There is also some other D3DX9 patches lying around that didn't get in.

 You may take a look if you want to be sure not to make something more or
 less already done.

 Bye,
 Christian


Good to know. I have to delete DDS support from my list. Are there any
other repositories with patches waiting for merging?




Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Henri Verbeet
On 21 March 2012 00:14, Józef Kucia joseph.ku...@gmail.com wrote:
 Good to know. I have to delete DDS support from my list. Are there any
 other repositories with patches waiting for merging?

I don't think that code is really waiting to be merged, or even going
anywhere at all.




Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Christian Costa

Le 21/03/2012 00:14, Józef Kucia a écrit :

On Tue, Mar 20, 2012 at 7:12 PM, Christian Costatitan.co...@gmail.com  wrote:

Hi Józef,

There are some work already done by Tony Wasserka which didn't get in git:
http://repo.or.cz/w/wine/d3dx9TW.git

DDS support has been added in this patch:
http://repo.or.cz/w/wine/d3dx9TW.git/commitdiff/f7fd4619de1cd0ea3bdf9b2fd0195c098d3b9bd0.
I have an updated version and planned to submit it later. FOURCC support is
also missing.

There is also some other D3DX9 patches lying around that didn't get in.

You may take a look if you want to be sure not to make something more or
less already done.

Bye,
Christian


Good to know. I have to delete DDS support from my list. Are there any
other repositories with patches waiting for merging?



No other repositories AFAIK but some patches were sent to wine-patches.
That may worth checking before implementing from scratch.




Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Christian Costa

Le 21/03/2012 00:22, Henri Verbeet a écrit :

On 21 March 2012 00:14, Józef Kuciajoseph.ku...@gmail.com  wrote:

Good to know. I have to delete DDS support from my list. Are there any
other repositories with patches waiting for merging?


I don't think that code is really waiting to be merged, or even going
anywhere at all.


That's true but maybe some parts may be reused instead of writing 
something from scratch.





Re: GSoC 2012 - Implement a few missing functions in D3DX9

2012-03-20 Thread Matteo Bruni
Il 20 marzo 2012 19:12, Christian Costa titan.co...@gmail.com ha scritto:
 Le 20/03/2012 18:43, Józef Kucia a écrit :

 Hi there,

 I'm writing to discuss my project proposal for upcoming Google Summer
 of Code. I was recently playing with Wine, looking around in the code
 and searching through Wine bugzilla. As a result I found out that
 there is still a quite number of functions missing in Wine's D3DX
 implementation. However, some of them are probably not used much in a
 real software. For example, the mostly unimplemented ID3DXSkinInfo
 interface seems to be not used frequently. In this email I would like
 to present things which I would like to implement. I hope that
 implementation of this functions, or at least some of them, could
 improve Wine compatibility with a few real applications.

 Hi Józef,

 There are some work already done by Tony Wasserka which didn't get in git:
 http://repo.or.cz/w/wine/d3dx9TW.git


Notice, though, that most of that code is not really suitable for
inclusion in Wine, needing cleanup or more.

 I would like to implement the following things:
 * Implement D3DXCreateRenderToSurface function and
 ID3DXRenderToSurface interface.

I think that's used quite often by applications and a good idea for GSoC.

 * Finish the implementation of ID3DXFont, particularly
 ID3DXFont::DrawTextA and ID3DXFont::DrawTextW functions.

There is an implementation of it in the Tony Wasserka's repository
Christian mentioned. Anyway, I don't know about the quality or the
test coverage of that code, so I guess (re)implementing it may still
be okay for GSoC. Having a different implementation to look at may
even be a good thing, because otherwise implementing font drawing from
scratch is not trivial.

 * Implement D3DXCreateCubeTextureFrom* and
 D3DXCreateVolumeTextureFrom* functions.

That depends on the DDS file format support, I guess.

 * Add support for DDS file format in D3DXGetImageInfoFrom* functions.

 DDS support has been added in this patch:
 http://repo.or.cz/w/wine/d3dx9TW.git/commitdiff/f7fd4619de1cd0ea3bdf9b2fd0195c098d3b9bd0.
 I have an updated version and planned to submit it later. FOURCC support is
 also missing.


That's interesting. Are you (Christian) still implementing it as a WIC
decoder? I was under the impression that some DDS features
(cube/volume textures I guess) aren't really supportable that way.

 I think I could also implement a few missing functions in
 ID3DXConstantTable interface, as a bonus task.


That's fine too. This would probably require more effort about writing
good tests and figuring out what the implementation needs to do than
actually implementing the functions.

 I'm looking forward for a feedback. If you find any D3DX's function
 more important than functions enumerated by me, please let me know.
 I'm also looking for applications with heavy usage of D3DX dlls,
 especially applications which are using unimplemented or partially
 implemented functions (yes, I'm aware about
 http://wiki.winehq.org/DirectX-D3DX9).


Hmm, that wiki page doesn't look too up to date. I'd look into
bugzilla instead (
http://bugs.winehq.org/buglist.cgi?product=Winecomponent=directx-d3dx9resolution=---
for example).

 There is also some other D3DX9 patches lying around that didn't get in.

 You may take a look if you want to be sure not to make something more or
 less already done.


Some duplication of effort is allowed under GSoC, so this is not a
strict requirement. Also, if a patch was submitted but it is not in
git, probably that means it wasn't good enough.
That said, yeah, having two people independently implement the same
thing at the same time is not the best.


Cheers,
Matteo.