public inbox for cygwin-xfree@sourceware.org
help / color / mirror / Atom feed
* Notes on adding accelerated OpenGL support to Cygwin/X
@ 2004-01-29 11:45 Harold L Hunt II
  2004-01-30  1:52 ` Brian Ford
  2004-01-30 17:11 ` Alan Hourihane
  0 siblings, 2 replies; 10+ messages in thread
From: Harold L Hunt II @ 2004-01-29 11:45 UTC (permalink / raw)
  To: cygx

I assume that a lot of users and potential users are interested in 
accelerated OpenGL support.  Adding this isn't particularly hard, since 
we simply pass off OpenGL calls to the Win32 OpenGL system and because 
the Xdarwin (a.k.a. X on X, a.k.a. Apple) have already done a very 
similar system for their platform.

I am interested in adding this support as well, but I think it would be 
nice if some users and/or developers out there would help get this 
started by creating some of the boilerplate files for me and ensuring 
that these initial files compile correctly (although they will not do 
anything and might not link correctly).

I have put together a one page set of notes on the files that we need to 
adapt to our platform and the minor changes to the build system that we 
need to make to get those files to build:

http://msu.edu/~huntharo/xwin/devel/server/CygwinX-Accelerated-OpenGL-Support-20040128.pdf 
  (44 KiB)


These notes apply to the CYGWIN tag on the xorg repository that lives at 
freedesktop.org.  See the XWin Server development page for information 
on how to check out a tree:

http://x.cygwin.com/devel/server/


I encourage everyone to take a shot at this.  Most of the tasks marked 
as "Boilerplate", "Trivial", and "Easy" could be done by someone with no 
real knowledge of programming at all.  Now is your chance to jump in and 
start building your knowledge of programming.

Harold


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: Notes on adding accelerated OpenGL support to Cygwin/X
@ 2004-01-30  8:07 Harold L Hunt II
  2004-01-30 16:54 ` Brian Ford
  0 siblings, 1 reply; 10+ messages in thread
From: Harold L Hunt II @ 2004-01-30  8:07 UTC (permalink / raw)
  To: cygx

I just spoke with Torrey Lyons regarding OpenGL acceleration in Xdarwin. 
  He enlightened me on several points:

1) Most of the code that I described in my first email is for the 
"direct" rendering path.  That path allows X Clients on the same machine 
as the X Server to avoid calling through the X Server and instead of the 
GLX lib draw directly to OpenGL.

2) There is another path called the "indirect" rendering path.  This 
path is used by all remote clients that use OpenGL as well as by local 
clients if the "direct" rendering path is not provided.  Thus, the 
"indirect" path must always be provided.

3) The "direct" path is not needed until later and the "indirect" path 
is much, much simpler.


Implementing the "indirect" path:

1) See xc/programs/Xserver/GL/apple/indirect.c

2) indirect.c should be simple to duplicate and will give all of the 
functionality needed for indirect acceleration.  This will still provide 
a tremendous boost in performance for OpenGL apps, as well as a decrease 
in CPU usage.

3) The only tricky bit is that we need to take a WindowPtr in indirect.c 
and translate it into either the HWND for the corresponding Win32 
window, or we need to translate it directly into a handle/pointer to the 
OpenGL surface associated with that window.


I actually already have most of the "direct" path code compiling, but I 
will be shelving that for the moment until we implement the "indirect" 
path.  Please, work on the "indirect" path first if you are interested 
in this.

Thanks for contributing,

Harold


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2004-01-30 18:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-29 11:45 Notes on adding accelerated OpenGL support to Cygwin/X Harold L Hunt II
2004-01-30  1:52 ` Brian Ford
2004-01-30 17:11 ` Alan Hourihane
2004-01-30 17:32   ` Brian Ford
2004-01-30 17:54     ` Alan Hourihane
2004-01-30 18:03   ` Alexander Gottwald
2004-01-30 18:08     ` Alan Hourihane
2004-01-31  2:11       ` Alexander Gottwald
2004-01-30  8:07 Harold L Hunt II
2004-01-30 16:54 ` Brian Ford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).