Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								f52e03ff47 
								
							 
						 
						
							
							
								
								Import Eric Anholts hash table implementation  
							
							 
							
							... 
							
							
							
							Adapted from git://people.freedesktop.org/~anholt/hash_table. 
							
						 
						
							2010-02-26 11:42:59 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								a5db589efa 
								
							 
						 
						
							
							
								
								Add wl_list_for_each() and simplify some loops  
							
							 
							
							
							
						 
						
							2010-02-26 10:28:44 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								b559fcbf72 
								
							 
						 
						
							
							
								
								Add function to remove surfaces from client  
							
							 
							
							
							
						 
						
							2009-09-18 17:05:50 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								b3131d9268 
								
							 
						 
						
							
							
								
								Add client side demarshalling for events.  
							
							 
							
							... 
							
							
							
							This also consolidates the marshalling code in connection.c and
uses the same functions in the server and client for marshalling. 
							
						 
						
							2008-12-24 19:31:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								ee02ca6fa4 
								
							 
						 
						
							
							
								
								Add hook to allow globals to send cold-plug events to new clients.  
							
							 
							
							... 
							
							
							
							This lets us boot strap the client side state cache.  This commit also adds the first user
of this feature, an output object that represents the current output.  Very simple
at this point, but will grow to something more like RandR 1.2. 
							
						 
						
							2008-12-21 23:37:12 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								97079ad52c 
								
							 
						 
						
							
							
								
								Send client id range as an event.  
							
							 
							
							... 
							
							
							
							This also makes the server send the event again when the client is
about to exhaust its current client range. 
							
						 
						
							2008-12-21 22:45:33 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								fb6d68ddbe 
								
							 
						 
						
							
							
								
								Represent event and method metadata with struct wl_message.  
							
							 
							
							
							
						 
						
							2008-12-21 21:57:45 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								fe831a7494 
								
							 
						 
						
							
							
								
								Move protocol metadata to wayland-protocol.[ch].  
							
							 
							
							... 
							
							
							
							This lets us share the metadata between server and client and we
can now use a va_arg marshalling function for sending client
requets. 
							
						 
						
							2008-12-21 21:50:36 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								bf967b469f 
								
							 
						 
						
							
							
								
								Advertise globals using a new display event.  
							
							 
							
							
							
						 
						
							2008-12-21 20:25:16 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								de31d5ca6f 
								
							 
						 
						
							
							
								
								Add preliminary visual support.  
							
							 
							
							
							
						 
						
							2008-12-18 17:55:33 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								d2412e2c2e 
								
							 
						 
						
							
							
								
								Redesign the compositor / server interface.  
							
							 
							
							... 
							
							
							
							This lets the compositor directly provide the implementation of the RMI
objects for the surface object and a new compositor object.  We avoid the
manual forwarding of requests into the compositor and the clumsy compositor
interface struct. 
							
						 
						
							2008-12-15 20:35:24 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								c492b482d0 
								
							 
						 
						
							
							
								
								Make multi-pointer work.  
							
							 
							
							... 
							
							
							
							This also add command line parsing as a way to specify the input
device files to use. 
							
						 
						
							2008-12-12 12:17:51 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								864c468b42 
								
							 
						 
						
							
							
								
								Make sure we initialize object hash.  
							
							 
							
							... 
							
							
							
							This patch also move the hash implementation details to wayland-util.c. 
							
						 
						
							2008-12-12 12:17:47 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								5ee1a60f1a 
								
							 
						 
						
							
							
								
								Rewrite input event delivery path.  
							
							 
							
							... 
							
							
							
							Instead of having the input driver push the events into the core server,
only to have the server call back out to the compositor hooks, the driver now
just calls the compositor directly.  The input drivers are always dependent on
the type of compositor anyway so there was no point in passing the events
through the server.  Now the server is only involved when it's time to actually
send the events to the clients. 
							
						 
						
							2008-12-11 23:18:45 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								7fdff04cdc 
								
							 
						 
						
							
							
								
								Only send key events to toplevel surface.  
							
							 
							
							
							
						 
						
							2008-12-10 13:25:00 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								5a75c90d01 
								
							 
						 
						
							
							
								
								Feed button events through compositor.  
							
							 
							
							... 
							
							
							
							This also generalizes the code to send events to a surface a bit. 
							
						 
						
							2008-12-10 13:16:50 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								715a081cf4 
								
							 
						 
						
							
							
								
								Feed motion events through compositor.  
							
							 
							
							... 
							
							
							
							This lets us pass events only to the window that we're mousing over
and we can now transform input events back to the window coordinate space. 
							
						 
						
							2008-12-10 10:42:04 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								201a904889 
								
							 
						 
						
							
							
								
								Drop surface iterator API, just track surfaces in the compositor.  
							
							 
							
							
							
						 
						
							2008-12-10 00:40:50 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								eac149ad06 
								
							 
						 
						
							
							
								
								Pass button clicks through to compositor.  
							
							 
							
							... 
							
							
							
							This lets us handle raising windows, which is useful. 
							
						 
						
							2008-12-10 00:24:18 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								dc0f355f0a 
								
							 
						 
						
							
							
								
								Fix API to always include socket name length.  
							
							 
							
							
							
						 
						
							2008-12-07 15:22:22 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								122912c69b 
								
							 
						 
						
							
							
								
								Make the wayland server a library used by the compositors.  
							
							 
							
							
							
						 
						
							2008-12-05 11:13:50 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								87e0a384da 
								
							 
						 
						
							
							
								
								Use type strings for method and event signatures.  
							
							 
							
							
							
						 
						
							2008-12-05 10:38:42 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								35052568d0 
								
							 
						 
						
							
							
								
								Exit if load_compositor() fails.  
							
							 
							
							
							
						 
						
							2008-12-02 15:38:53 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								ffd710e653 
								
							 
						 
						
							
							
								
								Put Wayland under the MIT license.  
							
							 
							
							
							
						 
						
							2008-12-02 15:15:01 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								c2b633e6c2 
								
							 
						 
						
							
							
								
								Add wl_client_marshal() for sending events.  
							
							 
							
							
							
						 
						
							2008-11-28 19:12:45 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								4a29890da7 
								
							 
						 
						
							
							
								
								Generalize event loop a bit and pull in the timerfd stuff.  
							
							 
							
							
							
						 
						
							2008-11-28 18:35:25 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								fbdbbdc153 
								
							 
						 
						
							
							
								
								Finally implement the commit/ack/frame protocol and improve repaint loop.  
							
							 
							
							... 
							
							
							
							This implements the commit/ack/frame protocol that let clients batch up
a series of requests and then commit them atomically using the commit request.
The commit requests generats two following events: the acknowledge event,
which lets the client know that the server has received the request and
which frame the rendering has been scheduled for.  At this point the client
can start rendering the next frame or free up temporary buffers.  Then when
the compositor finally makes the newly composited frame visible on screen
the server sends a frame event, which contains the number of the frame that
was presented and the time when it happened.
The window and flower clients have been updated to use these two events in
their main loops and everything now updates per frame.  The EGL compositor
repaint loop has been tweaked to delay the compositing of the screen to
10ms after last swapbuffer completed so as to allow processing as many
requests as possible before blocking on the next vertical retrace. 
							
						 
						
							2008-11-28 17:06:10 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								44f36e3585 
								
							 
						 
						
							
							
								
								Make ack event signal that the requests have been composited.  
							
							 
							
							
							
						 
						
							2008-11-26 12:57:31 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								4097923a64 
								
							 
						 
						
							
							
								
								Add commit request + ack event to wayland core.  
							
							 
							
							... 
							
							
							
							Use in window.c to manage life cycle of buffer correctly. 
							
						 
						
							2008-11-25 22:40:39 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								cddc0ad502 
								
							 
						 
						
							
							
								
								Add keyboard input, move input device creation to compositor.  
							
							 
							
							
							
						 
						
							2008-11-24 00:31:49 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								1e4b86af1a 
								
							 
						 
						
							
							
								
								Expose screenshooting as an interface, drop SIGUSR hack.  
							
							 
							
							... 
							
							
							
							This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side. 
							
						 
						
							2008-11-24 00:06:16 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								14fcff7726 
								
							 
						 
						
							
							
								
								Generalize the object advertising mechanism.  
							
							 
							
							
							
						 
						
							2008-11-23 19:10:23 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								4c9f2c9b1a 
								
							 
						 
						
							
							
								
								Move pointer drawing into compositor.  
							
							 
							
							
							
						 
						
							2008-11-21 19:25:44 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								b7a01928be 
								
							 
						 
						
							
							
								
								Add prototypes warnings, use -fvisibility.  
							
							 
							
							
							
						 
						
							2008-11-08 15:49:49 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								7f77bd8fbe 
								
							 
						 
						
							
							
								
								Add copy and damage surface requests.  
							
							 
							
							
							
						 
						
							2008-11-07 08:39:37 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								5503bf82c4 
								
							 
						 
						
							
							
								
								dlopen the compositor, add a glx compositor.  
							
							 
							
							
							
						 
						
							2008-11-06 10:53:03 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								33a52bd07d 
								
							 
						 
						
							
							
								
								Add README for the adventurous, allow evdev override from getenv().  
							
							 
							
							
							
						 
						
							2008-11-06 10:53:02 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								f9bc795a7d 
								
							 
						 
						
							
							
								
								Add crude input device support.  
							
							 
							
							... 
							
							
							
							Just pointer motion and button clicks for now, broadcast to all clients. 
							
						 
						
							2008-11-06 10:51:59 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								94a2e86dcb 
								
							 
						 
						
							
							
								
								Track client objects and destroy them on disconnect.  
							
							 
							
							... 
							
							
							
							We're going to need a virtual destructor eventually... 
							
						 
						
							2008-11-06 10:51:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								5ebb317383 
								
							 
						 
						
							
							
								
								Recomposite screen in idle handler.  
							
							 
							
							
							
						 
						
							2008-11-06 10:51:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								f921289954 
								
							 
						 
						
							
							
								
								Handle multiple clients better.  
							
							 
							
							
							
						 
						
							2008-11-06 10:51:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								680f1c7025 
								
							 
						 
						
							
							
								
								Split out connection io buffer logic.  
							
							 
							
							
							
						 
						
							2008-11-06 10:51:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								c5089878cb 
								
							 
						 
						
							
							
								
								Make in and out circular buffers actually work.  
							
							 
							
							
							
						 
						
							2008-11-06 10:51:57 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								05eff51e41 
								
							 
						 
						
							
							
								
								Add surface.map request.  
							
							 
							
							
							
						 
						
							2008-11-06 10:51:43 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								a67a71a7cf 
								
							 
						 
						
							
							
								
								Bunch of new stuff: simple compositor, cairo+gem use in client, events.  
							
							 
							
							
							
						 
						
							2008-10-07 10:10:36 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Kristian Høgsberg 
								
							 
						 
						
							
							
							
							
								
							
							
								97f1ebe8d5 
								
							 
						 
						
							
							
								
								Initial commit.  
							
							 
							
							... 
							
							
							
							This has the basic event loop, and a first cut of the libffi dispatcher. 
							
						 
						
							2008-09-30 09:56:42 -04:00