From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13122 invoked by alias); 27 Jun 2002 05:07:04 -0000 Mailing-List: contact cygwin-xfree-announce-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: cygwin-xfree-announce-owner@sources.redhat.com Received: (qmail 12802 invoked from network); 27 Jun 2002 05:06:45 -0000 Reply-To: From: "Harold Hunt" To: "cygx" , "cygxannounce" Subject: [ANNOUNCEMENT] Server Test 61 Date: Wed, 26 Jun 2002 22:07:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Importance: Normal X-SW-Source: 2002-06/txt/msg00013.txt.bz2 List-Id: Links: I just posted Test 61 to the server development page: http://xfree86.cygwin.com/devel/shadow/ You can install the Test 61 package via setup.exe by selecting the 'test' package: XFree86-xserv-4.2.0-8 Server Test Series binary and source code releases are now available via the sources.redhat.com ftp mirror network (http://cygwin.com/mirrors.html) in the pub/cygwin/xfree/devel/shadow/ directory. You may wish to note the desired filename in the links below, then download from your closest mirror (http://cygwin.com/mirrors.html). Server binary, direct link: http://www.msu.edu/~huntharo/xwin/shadow/XWin-Test61.exe.bz2 (1070 KiB) Server source, direct link: http://www.msu.edu/~huntharo/xwin/shadow/xwin-20020627-0020.tar.bz2 (72 KiB) Changes: 1) General - Fix the KDE 3.0 alpha-channel icon bug that appeared only when running Windows at 32 bits per pixel. Many more details below. (Alan Hourihane) 2) General - pScreenInfo->dwDepth used to refer to the depth that the user specified with the -depth parameter or the depth returned by GetDeviceCaps (BITSPIXEL) and pScreenInfo->dwBPP used to refer to the bits of color per pixel. For example, running Windows at 32 bit color would mean dwDepth == 32 and dwBPP == 24. It turns out that this was exactly backwards from what it should be. The dwDepth variable new refers to the color ``depth'' of a pixel, that is, the number of bits that make up the color specification for a pixel. For example, a 32 bit pixel uses 24 bits to represent color plus an 8 bit pad for alignment purposes and a 16 bit pixel can use 15 or 16 bits to represent color. The dwBPP variable now refers to the bits used to store each pixel, that is, the number of bits that each pixel occupies in the framebuffer memory. For example, a 32 bit pixel occupies 32 bits in the framebuffer memory while a 24 bit pixel occupies 24 bits in the framebuffer memory (the former pixels are 32 bit aligned, while the latter pixels are called ``packed'' because the pixels are not aligned and any given pixel may actually be stored in two separate 32 bit units). The meaning of dwDepth and dwBPP was corrected throughout the source code, touching files such as wincmap.c, winscrinit.c, InitOutput.c, winshadddnl.c, winshaddd.c, winshadgdi.c, winnativegdi.c, winpfbdd.c, and win.h. Also, we modify the depth 24 pixmap format at runtime to use 24 bits per pixel, instead of 32, when Windows is running in 24 bit color; this matches the Windows pixel format when running in 24 bit color. The end result of all of this is that we now no longer report that we have a depth 32 visual, as depth 32 visuals do not exist. What we were previously calling a depth 32 visual is actually a depth 24 visual with a different bits per pixel. Advertising a proper visual when running Windows at 32 bit color corrects the problem of KDE 3.0 not displaying icons or text with alpha channels. Alan did the magical part of discovering the underlying problem, I did the grunt work of cleaning the code and making sure that all of the corner cases were still handled. (Alan Hourihane, Harold Hunt) 3) winshaddd.c, winshadddnl.c, winshadgdi.c, win.h, winscrinit.c - Remove the essentially unused dwStride and dwStrideBytes variables from the ScreenInfoRec. (Harold Hunt) 4) winshaddd.c, winshadddnl.c - In winBltExposedRegionsShadowDD* () we try to restore the primary DirectDraw surface up to WIN_REGAIN_SURFACE_RETRIES (currently 1) times when a bit block transfer of the exposed regions fails. This corrects the case where switching a notebook from its internal display to an external display (or vice versa) would cause the Cygwin/XFree86 window to blank and fail to redraw itself until the Cygwin/XFree86 window was minimized and then restored. (Harold Hunt) Enjoy, Harold