This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[ANNOUNCEMENT] Shadow Framebuffer Test 7


Shadow Framebuffer Test 7 has now been released, and it includes a bevy of
new features:
1) The server is comprised of four "engines" specifiable on the command line
	A) A GDI based shadow framebuffer server "-engine 1"
	B) A DirectDraw3 based shadow framebuffer server "-engine 2"
	C) A DirectDraw4 based shadow framebuffer server "-engine 3"
		This server is special becuase it doesn't have to lock
		and unlock the shadow framebuffer for blitting.  This
		server seems to have the highest performance.
	D) A DirectDraw3 based primary framebuffer server "-engine 4"
		Engine 4 has the worst performance and is not
		as complete as the other servers, and it probably
		never will be complete, as the performance
		doesn't warrant the effort.
2) Each server can be run in two modes
	A) Standard windowed mode, this is the default
	B) Full screen mode, accessible via the "-fullscreen" parameter
3) All engines, except engine 4, clip their output to their display window.
4) All engines, except engine 4, redraw areas of their display window
	that has been covered and reexposed by another application's
	window.
5) All engines should automatically detect the color masks
6) Engines 2, 3, and 4 change the video mode to the mode
	specified on the command line.  However, these
	engines do not currently verify that the mode is valid,
	nor do they fallback on another mode, they simple
	exit if the mode cannot be set.
7) Engines 1, 2, and 3 can be minimized and moved all over the screen
	without crashing.
8) A bug was fixed in the window repainting code that caused an
	infinite loop.  I lost track of whether I ever released
	a version that contained that bug; but it is fixed now,
	so who cares? :)
9) All engines allow you to specify modes that will hang your computer.
	I'm not kidding... be careful what engine and mode you specify.
10) Engine 4 will freeze Window 95/98/Me in its tracks, don't try to run it
	on those versions of Windows.  Besides, engines 1, 2, and 3
	are much faster than engine 4, so you have no reason to try
	running engine 4.
11) Engine 3 only works when you have DirectX 6+ installed.
12) Mouse wheel support, just in case you missed the last couple
	of announcements :)

This release has some rough edges in the video mode department; I
	recommend that you pass your current video mode, including
	your current color depth, as your '-screen' parameter.

Thanks to John Fortin for pointing me in the direction of a client memory
DirectDraw shadow surface, which allowed the non locking server to be
created; also thanks for the example code.

As a side note, the Shadow Framebuffer Test name is now a misnomer, as the
server includes an engine that writes directly to the primary framebuffer,
without the need for the shadow fb code.

Also note that I have removed the old Overlay and No DirectInput Test 7 page
from my home pages to avoid confusion with Shadow Framebuffer Test 7.

Here is my short term agenda for the Shadow Framebuffer Test series:
1) Autodetect which engines are supported by a particular computer.
2) Ignore command line engine parameters that specify an
	engine that is not supported by a particular computer.
3) Verify and/or adjust video modes passed in on the command line.
4) Choose the most desirable engine supported by a platform
	when the used does not specify an engine on the
	command line.
5) When running in fullscreen, fall back on a video mode close
	to the suggested mode if the suggested mode
	is not supported.
6) Reorganize the internal branching on the current engine type
	to keep the code manageable and to allow easy
	insertion of the 5th engine: a native GDI engine.
7) Build the modified sources on a brand new Cygwin installation
	so I can find all modifications that I have made along
	the way.
8) Submit patches to Cygwin and XFree86 with fixes that I
	have implemented along the way.
9) Work on the native GDI engine.

At some point the code for the Shadow Framebuffer Test series will probably
be checked into the XFree86 CVS tree overtop of the current hw/xwin code, as
it provides the functionality of the current hw/xwin code, in addition to
new functionality.

Enjoy, and thanks for testing,

Harold L Hunt II


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]