Re: mswsock.dll, Soc & legal questions

2007-03-12 Thread Benoit Pradelle


be aware that the easy parts have been started in last year SoC, but 
weren't applied to the git tree yet, and the other parts are pretty 
much hard to implement (will require wine server requests changes, and 
those elements won't be done until some other changes on asynchronous 
requests are done)


Oh OK I didn't know this, I'll have a look on this.




mswsock.dll, Soc & legal questions

2007-03-11 Thread Benoit Pradelle

Hi,

I'm pretty interested in implementing mswsock.dll as a SoC this summer : 
this dll seems to be used by many apps and it's, I think, the sort of 
job I can do.


As I'm not a Wine dev, I was wondering about how should I work for 
implementing this lib : should I juste use the MSDN description of the 
functions and make some tests with some apps to validate the behavior ?
Or can I take the original dll, execute some apps with it and try to see 
how the dll is interacting with other libs, what sort of network traffic 
is generated, etc ? Is this solution possible with the microsoft license ?


Thanks,
Ben




Re: DIB Engine & GSoC

2007-03-02 Thread Benoit Pradelle




You seem to not realize that painting also happens outside of the 
WM_PAINT

handler, moreover some apps do not call EndPaint in WM_PAINT, or call it
before they paint anything.


Yep effectively I realized it after sending my mail.
Anyway, Alexandre think that this project is not a good choice for a 
GSoC project so I'll perhaps think about another project at least for 
the moment. However thanks to all for your help and your answers.


Ben.




Re: DIB Engine & GSoC

2007-03-02 Thread Benoit Pradelle



The other thing is that there are many aspects of GDI drawing, you
have to take into account region clipping, pens, brushes, line
thickness, line style, fill style, and other wonders, and make them
work in 1, 4, 8, 16, 24 and 32 bit colour depth pixel-for-pixel exact
with the way Windows does them.
I see. Effectively the number of parameters to take in account will be a 
difficulty and the GDI API is huge. Moreover implementing it in a fluent 
way won't be easy as said Stefan and Rolf.

But I asked Alexandre about this, and he said the whole point of the
DIB engine is that you shouldn't need the locking. How that would work
is beyond me, after all, if you only draw on the client-side, you
still have to upload the image to the X server when you want it to
become visible, but what about images that aren't double-buffered, and
what about mixed drawing with OpenGL?
Perhaps should we draw everything asked in memory and just send it to X 
when the application calls EndPaint, this way we limit the interaction 
with the X server (and locks).





Re: DIB Engine & GSoC

2007-03-01 Thread Benoit Pradelle

First thank you for your very complete answer,

I'm not really familiar with Wine (and the Windows API) and I don't 
understand why do you think that it will be such an hard work. For me, 
the work will consist in redirect the GDI calls from the X11 
pseudo-driver to some new functions which will draw circles, lines, 
etc.. over DIBs.

Do I misunderstand the work to do or under evaluate it ?

And I've understand by reading this mail-list how important are 
regression tests and fluent transitions in functionalities for Wine.



Stefan Dösinger a écrit :

Am Donnerstag 01 März 2007 14:03 schrieb Benoit Pradelle:
  

Hi,

I would like participate to the Google Summer Of Code with Wine by
implementing a DIB Engine. I've searched a lot of informations about the
DIB Engine but i still got one question :
for you, how important is a DIB Engine in Wine ?


Hard to say, it depends on what applications are needed.

If I said now "the most important thing" that would be obviously wrong, 
otherwise someone would have implemented it already. I'd say it is one of the 
top ranked items, but it requires a lot of work and a LOT of knowledge by the 
programmer. From the importance vs work required it is rather low.


The DIB engine would help applications which operate on DIB sections with both 
direct access and GDI commands. For example DirectX games which use 
IDirect*Surface?::GetDC regularly, or other applications(I think MS 
powerpoint is one of them). It will not help Direct3D applications which do 
not use GetDC.


It would also allow is a X-Server /  independent GDI 
implementation. Right now our GDI implementation can only do what the X 
server can do - not more.


Another question is if the existing implementation using the X server can't be 
optimized. One inefficient thing is that always the full DIB section is 
converted and copied over. That is technically not necessary when a small 
letter is drawn to the top left corner. Of course optimizations tend to be 
tricky, and maybe do not compare with the cost/usability of a real DIB 
engine. Maybe DirectDraw can be optimized too, by moving the depth conversion 
from GetDC calls to surface locking. This would only shift the problem, but 
if DDraw can read the state of the DIB section it could choose the most 
efficient solution depending on the behavior of the game.


Another thing that should be checked before starting is if a fluent transition 
is possible. For example, when a new dibsection DC is created, create a 
classic dib section and a DC using the server. If the app does something the 
new code can't do yet, load the data into the server and use the existing 
X-Server GDI code. This way a fluent transition is possible, with 
implementing the important calls first, then adding rare things while still 
keeping full functionality.


Just some thoughts from my side. If you want this as a SOC project you will 
need some menthor, and I think Alexandre is the only one who can do that for 
implementing a DIB engine :-)


  







___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.

http://fr.mail.yahoo.com





DIB Engine & GSoC

2007-03-01 Thread Benoit Pradelle

Hi,

I would like participate to the Google Summer Of Code with Wine by 
implementing a DIB Engine. I've searched a lot of informations about the 
DIB Engine but i still got one question :

for you, how important is a DIB Engine in Wine ?

Ben.




DIB Engine & GSoC

2007-03-01 Thread Benoit Pradelle

Hi,

I would like participate to the Google Summer Of Code with Wine by
implementing a DIB Engine. I've searched a lot of informations about the
DIB Engine but i still got one question :
for you, how important is a DIB Engine in Wine ?

Ben.






___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.

http://fr.mail.yahoo.com