platform/upstream/weston.git
13 years agocompositor: Fix drm compositor cflags typo
Benjamin Franzke [Thu, 28 Apr 2011 05:21:19 +0000 (07:21 +0200)]
compositor: Fix drm compositor cflags typo

13 years agoAdd --disable-clients configure option
Kristian Høgsberg [Tue, 26 Apr 2011 15:47:00 +0000 (11:47 -0400)]
Add --disable-clients configure option

13 years agocompositor: Recalculate fullscreen surface x,y in surface_attach
Benjamin Franzke [Tue, 26 Apr 2011 13:36:26 +0000 (15:36 +0200)]
compositor: Recalculate fullscreen surface x,y in surface_attach

13 years agoCast fd's to intptr_t before casting to EGLNativeDisplay
Benjamin Franzke [Tue, 26 Apr 2011 07:21:13 +0000 (09:21 +0200)]
Cast fd's to intptr_t before casting to EGLNativeDisplay

Fixes warnings on 64bit.

Also use wlsc_compositor::destroy_image in compositor-openwfd.

13 years agoconfigure: Only check dependencies for the enabled compositor backends
Kristian Høgsberg [Tue, 26 Apr 2011 15:10:32 +0000 (11:10 -0400)]
configure: Only check dependencies for the enabled compositor backends

13 years agocompositor: Fix overlapping options
Kristian Høgsberg [Mon, 25 Apr 2011 19:59:15 +0000 (15:59 -0400)]
compositor: Fix overlapping options

13 years agocompositor-x11: Only use xcb_poll_for_queued_event if we have it
Kristian Høgsberg [Mon, 25 Apr 2011 19:41:59 +0000 (15:41 -0400)]
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.

13 years agocompositor: Stop using EGL_EGLEXT_PROTOTYPES and look up extension functions
Kristian Høgsberg [Mon, 25 Apr 2011 19:08:20 +0000 (15:08 -0400)]
compositor: Stop using EGL_EGLEXT_PROTOTYPES and look up extension functions

13 years agocompositor: Don't use glClear for clearing
Kristian Høgsberg [Sat, 23 Apr 2011 19:34:50 +0000 (15:34 -0400)]
compositor: Don't use glClear for clearing

Draw solid color rectangles clipped to the repaint area instead.

13 years agocompositor: Use stride/4 as width for shm textures
Benjamin Franzke [Mon, 25 Apr 2011 17:44:47 +0000 (19:44 +0200)]
compositor: Use stride/4 as width for shm textures

13 years agocompositor: Use EGL_WL_bind_wayland_display only if available
Benjamin Franzke [Mon, 25 Apr 2011 15:47:44 +0000 (17:47 +0200)]
compositor: Use EGL_WL_bind_wayland_display only if available

13 years agoAdd meego-tablet-shell
Kristian Høgsberg [Sat, 23 Apr 2011 17:17:43 +0000 (13:17 -0400)]
Add meego-tablet-shell

We'll probably break it out into its own repo down the road, but for
now keeping it here is convenient.

13 years agocompositor: Support loadable shells
Kristian Høgsberg [Sat, 23 Apr 2011 17:04:11 +0000 (13:04 -0400)]
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.

13 years agocompositor: Fade to black on idle timeout
Kristian Høgsberg [Fri, 22 Apr 2011 19:38:14 +0000 (15:38 -0400)]
compositor: Fade to black on idle timeout

13 years agocompositor: Refactor shader setup a bit
Kristian Høgsberg [Fri, 22 Apr 2011 18:23:51 +0000 (14:23 -0400)]
compositor: Refactor shader setup a bit

13 years agocompositor-openwfd: Fix event handler return type
Kristian Høgsberg [Fri, 22 Apr 2011 18:05:32 +0000 (14:05 -0400)]
compositor-openwfd: Fix event handler return type

13 years agocompositor: Implement a simple screensaver feature
Kristian Høgsberg [Fri, 22 Apr 2011 18:01:18 +0000 (14:01 -0400)]
compositor: Implement a simple screensaver feature

We'll need protocol for screensaver inhibit requests.

13 years agoAlso fix compositor-wayland event handler
Kristian Høgsberg [Fri, 22 Apr 2011 17:01:26 +0000 (13:01 -0400)]
Also fix compositor-wayland event handler

13 years agoUpdate return types of event handler functions
Kristian Høgsberg [Fri, 22 Apr 2011 16:27:57 +0000 (12:27 -0400)]
Update return types of event handler functions

Missed this in previous commit.

13 years agocompositor-x11: Adjust to event loop changes
Kristian Høgsberg [Fri, 22 Apr 2011 16:18:13 +0000 (12:18 -0400)]
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.

13 years agoMake use of wayland-server shm common code
Benjamin Franzke [Tue, 8 Mar 2011 10:32:57 +0000 (11:32 +0100)]
Make use of wayland-server shm common code

13 years agocompositor: Use surface_attached_to list for shm-buffers
Benjamin Franzke [Mon, 7 Mar 2011 17:04:59 +0000 (18:04 +0100)]
compositor: Use surface_attached_to list for shm-buffers

13 years agocompositor: Add wlsc_shm_buffer_attach
Benjamin Franzke [Mon, 7 Mar 2011 14:17:56 +0000 (15:17 +0100)]
compositor: Add wlsc_shm_buffer_attach

13 years agoImplement buffer.damage in shm, use it in window.c
Benjamin Franzke [Mon, 7 Mar 2011 14:08:09 +0000 (15:08 +0100)]
Implement buffer.damage in shm, use it in window.c

13 years agocompositor-x11: Set xcb to be eventqueue owner
Benjamin Franzke [Fri, 25 Mar 2011 13:06:37 +0000 (14:06 +0100)]
compositor-x11: Set xcb to be eventqueue owner

This'll fix egl_gallium (when bind_wayland_display is done).

13 years agocompositor: Pass NULL for context to wayland buffer eglCreateImageKHR()
Kristian Høgsberg [Fri, 22 Apr 2011 03:48:13 +0000 (23:48 -0400)]
compositor: Pass NULL for context to wayland buffer eglCreateImageKHR()

13 years agocompositor-x11: Use check function to make sure we handle all events
Kristian Høgsberg [Thu, 21 Apr 2011 18:51:44 +0000 (14:51 -0400)]
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.

13 years agoFix clients to work with wl_ prefixed interface names
Kristian Høgsberg [Wed, 20 Apr 2011 22:53:07 +0000 (18:53 -0400)]
Fix clients to work with wl_ prefixed interface names

13 years agocompositor-x11: Use the keymap_notify immediately following the focus_in event
Kristian Høgsberg [Tue, 19 Apr 2011 16:38:22 +0000 (12:38 -0400)]
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.

13 years agocompositor-x11: Generalize handling of event pairs
Kristian Høgsberg [Tue, 19 Apr 2011 13:23:29 +0000 (09:23 -0400)]
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.

13 years agoUpdate to work with scanner that doesn't hardcode wl_*
Kristian Høgsberg [Mon, 18 Apr 2011 14:33:25 +0000 (10:33 -0400)]
Update to work with scanner that doesn't hardcode wl_*

This lets us drop the wl_ prefix for the un-officual screenshooter protocol.

13 years agoSwitch to new subscribe protocol and wayland-egl
Kristian Høgsberg [Thu, 14 Apr 2011 18:44:58 +0000 (14:44 -0400)]
Switch to new subscribe protocol and wayland-egl

13 years agocompositor-openwfd: Fixup rebase
Benjamin Franzke [Wed, 20 Apr 2011 18:16:25 +0000 (20:16 +0200)]
compositor-openwfd: Fixup rebase

13 years agocompositor: Add OpenWF Display backend
Benjamin Franzke [Sun, 3 Apr 2011 22:30:25 +0000 (00:30 +0200)]
compositor: Add OpenWF Display backend

13 years agoOptimize fullscreen scanout abit
Benjamin Franzke [Wed, 20 Apr 2011 15:06:13 +0000 (17:06 +0200)]
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.

13 years agoMerge remote-tracking branch 'bnf/fullscreen-pageflip'
Kristian Høgsberg [Wed, 20 Apr 2011 13:35:15 +0000 (09:35 -0400)]
Merge remote-tracking branch 'bnf/fullscreen-pageflip'

13 years agoMake use of a hardware cursor in compositor-drm
Benjamin Franzke [Wed, 20 Apr 2011 09:02:58 +0000 (11:02 +0200)]
Make use of a hardware cursor in compositor-drm

13 years agocompositor(-drm): Pageflip to fullscreen surfaces
Benjamin Franzke [Sun, 10 Apr 2011 14:49:52 +0000 (16:49 +0200)]
compositor(-drm): Pageflip to fullscreen surfaces

13 years agocompositor-x11: Suppress keyboard repeat events
Kristian Høgsberg [Fri, 15 Apr 2011 19:48:07 +0000 (15:48 -0400)]
compositor-x11: Suppress keyboard repeat events

13 years agowindow.c: Check for cairo device failure the right way
Kristian Høgsberg [Thu, 14 Apr 2011 15:54:59 +0000 (11:54 -0400)]
window.c: Check for cairo device failure the right way

13 years agoOnly invoke shell button bindings if there's a pointer focus surface
Kristian Høgsberg [Wed, 13 Apr 2011 15:52:54 +0000 (11:52 -0400)]
Only invoke shell button bindings if there's a pointer focus surface

13 years agoMove more switcher details to switcher.c
Kristian Høgsberg [Wed, 13 Apr 2011 02:23:30 +0000 (22:23 -0400)]
Move more switcher details to switcher.c

13 years agoMove switcher behaviour into switcher.c
Kristian Høgsberg [Tue, 12 Apr 2011 21:42:30 +0000 (17:42 -0400)]
Move switcher behaviour into switcher.c

13 years agoMove shell bindings to shell.c
Kristian Høgsberg [Tue, 12 Apr 2011 21:25:42 +0000 (17:25 -0400)]
Move shell bindings to shell.c

13 years agoExtend wlsc_binding to cover buttons too
Kristian Høgsberg [Tue, 12 Apr 2011 21:22:49 +0000 (17:22 -0400)]
Extend wlsc_binding to cover buttons too

13 years agoUpdate modifier state as input devices enter and leave
Kristian Høgsberg [Tue, 12 Apr 2011 21:16:00 +0000 (17:16 -0400)]
Update modifier state as input devices enter and leave

13 years agoDefine _GNU_SOURCE for O_CLOEXEC flag
Kristian Høgsberg [Tue, 12 Apr 2011 15:34:32 +0000 (11:34 -0400)]
Define _GNU_SOURCE for O_CLOEXEC flag

13 years agoRemove double definition of window_get_wl_surface()
Kristian Høgsberg [Mon, 11 Apr 2011 20:59:05 +0000 (16:59 -0400)]
Remove double definition of window_get_wl_surface()

13 years agoRemove typo
Kristian Høgsberg [Mon, 11 Apr 2011 20:49:17 +0000 (16:49 -0400)]
Remove typo

Failed to break up the patch into commits.

13 years agoMerge remote-tracking branch 'bnf/surface-frame-event'
Kristian Høgsberg [Mon, 11 Apr 2011 20:47:50 +0000 (16:47 -0400)]
Merge remote-tracking branch 'bnf/surface-frame-event'

Conflicts:
compositor/compositor.c

13 years agoAdd a simple key binding mechanism
Kristian Høgsberg [Mon, 11 Apr 2011 17:58:13 +0000 (13:58 -0400)]
Add a simple key binding mechanism

13 years agoCall present after clearing repaint_needed
Kristian Høgsberg [Mon, 11 Apr 2011 17:39:43 +0000 (13:39 -0400)]
Call present after clearing repaint_needed

In case we end up scheduling a repaint in the finish_frame callback.

13 years agoClip out pixels covered by opaque surfaces during repaint
Kristian Høgsberg [Mon, 11 Apr 2011 17:34:24 +0000 (13:34 -0400)]
Clip out pixels covered by opaque surfaces during repaint

13 years agocompositor-drm: Close drm fd on exec
Kristian Høgsberg [Mon, 11 Apr 2011 17:19:16 +0000 (13:19 -0400)]
compositor-drm: Close drm fd on exec

13 years agoFix window_set_child_size() for windows without decoration
Kristian Høgsberg [Mon, 11 Apr 2011 17:18:31 +0000 (13:18 -0400)]
Fix window_set_child_size() for windows without decoration

13 years agoAdd struct window accessor for the wl_surface
Kristian Høgsberg [Mon, 11 Apr 2011 17:17:44 +0000 (13:17 -0400)]
Add struct window accessor for the wl_surface

13 years agoDefine global handler on display creation
Tim Wiederhake [Mon, 11 Apr 2011 17:16:33 +0000 (13:16 -0400)]
Define global handler on display creation

Otherwise the initial announcement of interfaces gets lost.

13 years agoCheck return value of XOpenDisplay().
Cyril Brulebois [Wed, 6 Apr 2011 16:05:40 +0000 (18:05 +0200)]
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>
13 years agoMerge remote-tracking branch 'bnf/fixes'
Kristian Høgsberg [Fri, 18 Mar 2011 04:15:25 +0000 (00:15 -0400)]
Merge remote-tracking branch 'bnf/fixes'

13 years agogears: Use wayland egl surface instead of images
Benjamin Franzke [Fri, 18 Feb 2011 22:00:55 +0000 (23:00 +0100)]
gears: Use wayland egl surface instead of images

13 years agowindow: Use window surfaces for windows
Benjamin Franzke [Thu, 10 Feb 2011 11:04:30 +0000 (12:04 +0100)]
window: Use window surfaces for windows

13 years agosimple-client: Request a alpha channel in choose config
Benjamin Franzke [Thu, 17 Mar 2011 14:43:21 +0000 (15:43 +0100)]
simple-client: Request a alpha channel in choose config

13 years agoSupport per surface frame events
Benjamin Franzke [Mon, 14 Mar 2011 11:07:26 +0000 (12:07 +0100)]
Support per surface frame events

This fixes tearing with multi head.

13 years agocompositor: Update only existing backgrounds in output_move
Benjamin Franzke [Wed, 16 Mar 2011 12:48:42 +0000 (13:48 +0100)]
compositor: Update only existing backgrounds in output_move

13 years agocompositor-drm: Support output hotplugging
Benjamin Franzke [Tue, 15 Mar 2011 14:08:41 +0000 (15:08 +0100)]
compositor-drm: Support output hotplugging

13 years agocompositor-drm: Fix multi head rendering
Benjamin Franzke [Fri, 11 Mar 2011 15:39:20 +0000 (16:39 +0100)]
compositor-drm: Fix multi head rendering

13 years agoBeginnings of multiple monitor
Marty Jack [Thu, 10 Feb 2011 00:01:42 +0000 (19:01 -0500)]
Beginnings of multiple monitor

Allocate the CRTCs from a bit mask to avoid the multiple monitor black
screen problem.

13 years agocompositor-x11: Remove unused variables
Kristian Høgsberg [Sun, 13 Mar 2011 04:14:38 +0000 (23:14 -0500)]
compositor-x11: Remove unused variables

13 years agocompositor-wayland: Ask for ES2 in the config
Kristian Høgsberg [Wed, 2 Mar 2011 16:36:30 +0000 (11:36 -0500)]
compositor-wayland: Ask for ES2 in the config

13 years agocompositor: Remove drm.c, use shm.c for pointer images
Benjamin Franzke [Wed, 2 Mar 2011 10:56:04 +0000 (11:56 +0100)]
compositor: Remove drm.c, use shm.c for pointer images

13 years agocompositor: Remove wlsc_drm
Benjamin Franzke [Wed, 2 Mar 2011 10:14:59 +0000 (11:14 +0100)]
compositor: Remove wlsc_drm

13 years agocompositor-x11: Use an EGL Window Surface as output
Benjamin Franzke [Wed, 2 Mar 2011 09:07:59 +0000 (10:07 +0100)]
compositor-x11: Use an EGL Window Surface as output

13 years agocompositor-wayland: Use wayland-egl window surfaces
Benjamin Franzke [Fri, 18 Feb 2011 16:04:24 +0000 (17:04 +0100)]
compositor-wayland: Use wayland-egl window surfaces

13 years agocompositor: Generate Framebuffer in the backends
Benjamin Franzke [Fri, 18 Feb 2011 15:54:55 +0000 (16:54 +0100)]
compositor: Generate Framebuffer in the backends

13 years agocompositor: Add flags parameter to wlsc_output_init
Benjamin Franzke [Fri, 18 Feb 2011 15:51:37 +0000 (16:51 +0100)]
compositor: Add flags parameter to wlsc_output_init

Currently available flags:
 - WL_OUTPUT_FLIPPED

13 years agocompositor: Use eglBindWaylandDisplayWL
Benjamin Franzke [Mon, 21 Feb 2011 15:24:53 +0000 (16:24 +0100)]
compositor: Use eglBindWaylandDisplayWL

13 years agocompositor-x11: Use x11 egl platform
Benjamin Franzke [Sun, 20 Feb 2011 18:58:42 +0000 (19:58 +0100)]
compositor-x11: Use x11 egl platform

13 years agoSplit into a demo repository that holds the demo compositor and clients
Kristian Høgsberg [Tue, 15 Feb 2011 03:13:33 +0000 (22:13 -0500)]
Split into a demo repository that holds the demo compositor and clients

13 years agocompositor: Clip repaint to the damage region
Kristian Høgsberg [Mon, 14 Feb 2011 15:39:54 +0000 (10:39 -0500)]
compositor: Clip repaint to the damage region

Drop glScissor, and just clip the surface against the repaint region and
render each rectangle in the resulting region.

13 years agocompositor-drm: Flush before pageflipping
Benjamin Franzke [Mon, 14 Feb 2011 12:20:09 +0000 (13:20 +0100)]
compositor-drm: Flush before pageflipping

This fixes compositor-drm flickering on r600.

13 years agocompositor: Switch away from using VBOs and just stream the vertex data
Kristian Høgsberg [Sun, 13 Feb 2011 18:44:55 +0000 (13:44 -0500)]
compositor: Switch away from using VBOs and just stream the vertex data

We avoid changing uniforms for each window and it will be easier to break up
a surface into a series of rectangles.

13 years agoUse pixman regions to reduce repainting
Kristian Høgsberg [Sun, 13 Feb 2011 18:00:51 +0000 (13:00 -0500)]
Use pixman regions to reduce repainting

For now, we just use glScissor and clip to the extent of the damage region,
but we can do even better by clipping the repaint to the region rectangles.

13 years agofix typo in window.c
Tim Wiederhake [Fri, 11 Feb 2011 18:37:40 +0000 (19:37 +0100)]
fix typo in window.c

13 years agowayland-client: Support WAYLAND_DEBUG client side as well
Kristian Høgsberg [Thu, 10 Feb 2011 17:27:35 +0000 (12:27 -0500)]
wayland-client: Support WAYLAND_DEBUG client side as well

13 years agoconfigure: remove libdrm dependency for clients
Tiago Vignatti [Thu, 10 Feb 2011 13:21:49 +0000 (15:21 +0200)]
configure: remove libdrm dependency for clients

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
13 years agowindow.c: Use eglGetProcAddress to look up extension functions
Kristian Høgsberg [Wed, 9 Feb 2011 15:57:44 +0000 (10:57 -0500)]
window.c: Use eglGetProcAddress to look up extension functions

13 years agowindow.c: Include wayland-egl.h before EGL headers so we get the right platform
Kristian Høgsberg [Wed, 9 Feb 2011 15:51:15 +0000 (10:51 -0500)]
window.c: Include wayland-egl.h before EGL headers so we get the right platform

13 years agowayland-egl: Define WL_EGL_PLATFORM in wayland-egl.h
Kristian Høgsberg [Wed, 9 Feb 2011 15:50:06 +0000 (10:50 -0500)]
wayland-egl: Define WL_EGL_PLATFORM in wayland-egl.h

This indicates that we're using the wayland egl platform and will make
eglplatform.h typedef the native types correctly.

13 years agocompositor-x11: Don't send enter/leave notify if we have an implicit grab
Kristian Høgsberg [Tue, 8 Feb 2011 16:59:53 +0000 (11:59 -0500)]
compositor-x11: Don't send enter/leave notify if we have an implicit grab

13 years agoAdd struct wl_egl_display argument to wl_egl_window_create
Kristian Høgsberg [Tue, 8 Feb 2011 01:48:01 +0000 (20:48 -0500)]
Add struct wl_egl_display argument to wl_egl_window_create

We don't need it in the mesa implementation, but other implementations
might and it's symmetric with wl_egl_pixmap_create().

13 years agoPrint object interface name when printing message arguments in debug mode
Kristian Høgsberg [Mon, 7 Feb 2011 21:05:36 +0000 (16:05 -0500)]
Print object interface name when printing message arguments in debug mode

13 years agoFollow wayland-egl renames
Kristian Høgsberg [Mon, 7 Feb 2011 15:30:38 +0000 (10:30 -0500)]
Follow wayland-egl renames

13 years agocompositor: Implement super-tab window switching
Kristian Høgsberg [Sun, 6 Feb 2011 21:54:59 +0000 (16:54 -0500)]
compositor: Implement super-tab window switching

13 years agocompositor: Set repaint_on_timeout when we schedule a timeout repaint
Kristian Høgsberg [Sun, 6 Feb 2011 17:58:44 +0000 (12:58 -0500)]
compositor: Set repaint_on_timeout when we schedule a timeout repaint

13 years agosimple-client: Port to wayland-egl and use eglSwapBuffers()
Kristian Høgsberg [Fri, 4 Feb 2011 20:31:33 +0000 (15:31 -0500)]
simple-client: Port to wayland-egl and use eglSwapBuffers()

simple-client is simpler.

13 years agogears: Remove unused drm_fd field
Kristian Høgsberg [Fri, 4 Feb 2011 19:14:23 +0000 (14:14 -0500)]
gears: Remove unused drm_fd field

13 years agoPort window.c to use wayland-egl
Kristian Høgsberg [Fri, 4 Feb 2011 19:11:33 +0000 (14:11 -0500)]
Port window.c to use wayland-egl

13 years agoAdd wayland-egl.h
Benjamin Franzke [Fri, 4 Feb 2011 10:22:35 +0000 (11:22 +0100)]
Add wayland-egl.h

This header defines native EGL wayland types and affiliated
initialization, processing and destruction routines.
EGL implementations must implement this API in order to allow
applications using this native types for the EGL implementation.

13 years agoUpdate compositor initiated resize to use a 3x3 grid
Kristian Høgsberg [Wed, 2 Feb 2011 01:28:32 +0000 (20:28 -0500)]
Update compositor initiated resize to use a 3x3 grid

This lets us do all combinations of resize edges.

13 years agocompositor: Calculate resizing direction
Benjamin Franzke [Tue, 1 Feb 2011 15:30:31 +0000 (16:30 +0100)]
compositor: Calculate resizing direction

This applies to resizes initiated by the compositor.