Commit Graph

44 Commits

Author SHA1 Message Date
Kristian Høgsberg
6c709a3e4f Fix warnings and symbol visibility from missing CFLAGS 2011-05-06 14:52:41 -04:00
Kristian Høgsberg
e4c40a4734 compositor: Disable hw cursor if we're texturing the cursor 2011-05-06 14:04:21 -04:00
Kristian Høgsberg
1c5621840b compositor: Split backends into modules 2011-05-02 22:09:20 -04:00
Kristian Høgsberg
b41d76c151 compositor: Use libpng directly instead of gdb-pixbuf 2011-05-02 12:13:14 -04:00
Kristian Høgsberg
82ed0423a1 compositor-x11: Only use xcb_poll_for_queued_event if we have it
Otherwise we can just fall back to xcb_poll_for_event, and just do a
harmless read on the socket.
2011-04-25 15:41:59 -04:00
Kristian Høgsberg
02ec0a5d3a compositor: Support loadable shells
The shell module is responsible for implementing the higher level
compositor behavior.  We default to the desktop-lite shell built in to
the compositor.
2011-04-23 13:04:11 -04:00
Kristian Høgsberg
127d0f0050 compositor-x11: Adjust to event loop changes
Instead of having a separate check function, we just mark our x11 event
source as needing a post-dispatch check.  The event loop will call our
dispatch function again after all dispatching is done, this time with
mask = 0.  If we don't process any events, return 0, so the event loop
doesn't keep calling us.
2011-04-22 12:18:16 -04:00
Benjamin Franzke
e997c5fb09 compositor-x11: Set xcb to be eventqueue owner
This'll fix egl_gallium (when bind_wayland_display is done).
2011-04-22 10:35:10 -04:00
Kristian Høgsberg
ee72482a00 compositor-x11: Use check function to make sure we handle all events
If somebody else did an X11 round trip, that could leave events in the
XCB buffer that we wouldn't see until the next X event came in.  The new
event source check function lets us check the XCB queue after dispatching
and this way we'll see events we need to deal with right away.
2011-04-21 14:54:33 -04:00
Kristian Høgsberg
025f7b8f8e compositor-x11: Use the keymap_notify immediately following the focus_in event
The event handling gets a little trickier this way but we need the
keymap sent immdiately after the focus_in event to determine which keys
are pressed as the compositor receives keyboard focus.
2011-04-20 14:20:02 -04:00
Kristian Høgsberg
94da7e1767 compositor-x11: Generalize handling of event pairs
We need to look at the focus_in and keymap notify pair to correctly determine
the set of held down keys at focus in time, so generalize the handling
of event pairs in preparation for that.
2011-04-20 14:20:02 -04:00
Benjamin Franzke
66aa235b4c Optimize fullscreen scanout abit
Use the drm fb_id used for the scanout-test
as well for the corresponding pageflip.

Move most of the scanout details into compositor-drm.
2011-04-20 17:30:12 +02:00
Kristian Høgsberg
218c0349ed Merge remote-tracking branch 'bnf/fullscreen-pageflip' 2011-04-20 09:35:15 -04:00
Benjamin Franzke
431da9a4cc Make use of a hardware cursor in compositor-drm 2011-04-20 15:29:35 +02:00
Benjamin Franzke
1178a3ce5c compositor(-drm): Pageflip to fullscreen surfaces 2011-04-19 09:05:08 +02:00
Kristian Høgsberg
3ddd148fba compositor-x11: Suppress keyboard repeat events 2011-04-15 15:48:07 -04:00
Kristian Høgsberg
11e2828bdc Merge remote-tracking branch 'bnf/surface-frame-event'
Conflicts:
	compositor/compositor.c
2011-04-11 16:47:50 -04:00
Cyril Brulebois
20798291ca Check return value of XOpenDisplay().
Instead of calling XGetXCBConnection() blindly, check XOpenDisplay()'s
return value to avoid a possible segfault in the former. That happens if
$DISPLAY is set, but if that display isn't available.

Signed-off-by: Cyril Brulebois <kibi@debian.org>
2011-04-07 09:07:33 -04:00
Benjamin Franzke
ec4d342aa9 Support per surface frame events
This fixes tearing with multi head.
2011-03-17 11:54:35 +01:00
Benjamin Franzke
eefc36c760 compositor-drm: Fix multi head rendering 2011-03-13 15:02:58 -04:00
Kristian Høgsberg
58dc6dd3c5 compositor-x11: Remove unused variables 2011-03-12 23:14:38 -05:00
Benjamin Franzke
c649a92549 compositor: Remove drm.c, use shm.c for pointer images 2011-03-02 11:31:46 -05:00
Benjamin Franzke
84290d02ae compositor-x11: Use an EGL Window Surface as output 2011-03-02 11:31:46 -05:00
Benjamin Franzke
5b2cb6f911 compositor: Generate Framebuffer in the backends 2011-03-01 16:21:01 +01:00
Benjamin Franzke
1b765ffb8c compositor: Add flags parameter to wlsc_output_init
Currently available flags:
 - WL_OUTPUT_FLIPPED
2011-03-01 16:21:01 +01:00
Benjamin Franzke
faa0a9dfa9 compositor: Use eglBindWaylandDisplayWL 2011-03-01 16:20:56 +01:00
Benjamin Franzke
3b288afd1a compositor-x11: Use x11 egl platform 2011-03-01 11:14:03 +01:00
Kristian Høgsberg
2dfe626f4e compositor-x11: Don't send enter/leave notify if we have an implicit grab 2011-02-08 12:00:55 -05:00
Kristian Høgsberg
3ba4858c4b compositor-x11: Handle keyboard focus correctly so we avoid stuck modifiers 2011-01-27 11:57:19 -05:00
Kristian Høgsberg
93331ff40a compositor: Forward pointer focus notification from compostor backend
This lets the compositor place the pointer sprite correctly when it receives
pointer focus and allows it to send pointer focus to any client that might
receive pointer focus as the compositor receives it.
2011-01-26 20:35:09 -05:00
Kristian Høgsberg
f58d8ca1bd compositor-x11: Set window icon 2011-01-26 14:37:07 -05:00
Kristian Høgsberg
24ed621388 Set WM_CLASS for X11 compositor window
Don't want to be 'Unknown' in GNOME Shell.
2011-01-26 14:02:31 -05:00
Kristian Høgsberg
8525a50362 Move buffer creation and buffer details into drm.c and shm.c 2011-01-14 16:20:21 -05:00
Kristian Høgsberg
8f66a57b4d Ignore surface.map_toplevel() if already mapped 2011-01-07 08:38:56 -05:00
Kristian Høgsberg
175e6cec39 Pass EGL_NO_CONTEXT to eglCreateImageKHR for EGL_DRM_BUFFER_MESA target 2011-01-06 15:45:19 -05:00
Kristian Høgsberg
9c3e8d734e Move grab state to struct wl_input_device 2010-12-08 09:48:52 -05:00
Kristian Høgsberg
caa6442556 compositor: Use a virtual destructor when shutting down
Backend can now rely on their destroy function getting called on shutdown,
so reset tty etc there instead of handling SIGTERM twice.
2010-12-01 16:53:15 -05:00
Kristian Høgsberg
50dc6989b8 compositor: Shut down properly so we remove the socket 2010-12-01 16:53:15 -05:00
Darxus
55973f2f5a Some additional return value checking 2010-11-22 21:54:15 -05:00
Yuval Fledel
91b5999ce4 add newlines for error printfs 2010-11-22 15:19:26 -05:00
Tiago Vignatti
997ce64302 compositor: add safety check when EGL fails to initialize
offending message:

    Program received signal SIGSEGV, Segmentation fault.
    create_pointer_images (ec=0x619f10) at compositor.c:240
    240         glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-11-09 20:47:04 -05:00
Chia-I Wu
1b6c0ed95a Workaround an xcb-dri2 bug.
xcb_dri2_connect_device_name generated by xcb-proto 1.6 is broken.  It
only works when the length of the driver name is a multiple of 4.
2010-10-29 12:52:28 -04:00
Kristian Høgsberg
61a8251360 Add a geometry option for x11 compositor 2010-10-27 11:21:29 -04:00
Kristian Høgsberg
76b43326a5 Move example compositor to subdirectory 2010-09-14 10:56:25 -04:00