From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31274 invoked by alias); 30 Jan 2004 02:05:19 -0000 Mailing-List: contact cygwin-xfree-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-xfree-owner@cygwin.com Mail-Followup-To: cygwin-xfree@cygwin.com Reply-To: cygwin-xfree@cygwin.com Received: (qmail 31263 invoked from network); 30 Jan 2004 02:05:17 -0000 Received: from unknown (HELO central.ixn.com) (65.19.132.2) by sources.redhat.com with SMTP; 30 Jan 2004 02:05:17 -0000 Received: from msu.edu ([207.179.68.222]) (authenticated bits=0) by central.ixn.com (8.12.10/8.12.10) with ESMTP id i0U2599S094310 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 29 Jan 2004 21:05:12 -0500 (EST) Message-ID: <4019BBD5.9000903@msu.edu> Date: Fri, 30 Jan 2004 08:07:00 -0000 From: Harold L Hunt II User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 MIME-Version: 1.0 To: cygx Subject: Re: Notes on adding accelerated OpenGL support to Cygwin/X Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=0.0 required=5.5 tests=none autolearn=no version=2.60 X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) X-SW-Source: 2004-01/txt/msg00548.txt.bz2 List-Id: 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