platform/upstream/weston.git
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.

13 years agowindow: add null checks
nobled [Tue, 1 Feb 2011 18:51:47 +0000 (18:51 +0000)]
window: add null checks

Also check for invalid parameters early on, so if we crash,
we know *why* we crashed.

13 years agoadd newlines in error messages
nobled [Tue, 1 Feb 2011 18:48:46 +0000 (18:48 +0000)]
add newlines in error messages

13 years agoconnection: Handle broken pipes in sendmsg
Benjamin Franzke [Sat, 29 Jan 2011 12:12:39 +0000 (13:12 +0100)]
connection: Handle broken pipes in sendmsg

13 years agoFix out of source build [wayland.png]
Benjamin Franzke [Sat, 29 Jan 2011 08:51:57 +0000 (09:51 +0100)]
Fix out of source build [wayland.png]

13 years agoAdd wayland.png to .gitignore
Tim Wiederhake [Sat, 29 Jan 2011 00:30:25 +0000 (01:30 +0100)]
Add wayland.png to .gitignore

13 years agoDon't crash when the previous keyboard surface goes away
Kristian Høgsberg [Fri, 28 Jan 2011 20:53:07 +0000 (15:53 -0500)]
Don't crash when the previous keyboard surface goes away

Just always set keyboard focus to the top surface.

13 years agoAdd initial basic support for fullscreen surfaces
Kristian Høgsberg [Fri, 28 Jan 2011 20:18:33 +0000 (15:18 -0500)]
Add initial basic support for fullscreen surfaces

13 years agoMerge remote branch 'nobled/for-krh'
Kristian Høgsberg [Fri, 28 Jan 2011 16:21:42 +0000 (11:21 -0500)]
Merge remote branch 'nobled/for-krh'

13 years agoconfigure: Drop gdk-pixbuf version dependency
Benjamin Franzke [Fri, 28 Jan 2011 15:05:46 +0000 (16:05 +0100)]
configure: Drop gdk-pixbuf version dependency

The major version 2.0 is sufficient

13 years agofix configure check for gcc
nobled [Fri, 28 Jan 2011 13:47:21 +0000 (13:47 +0000)]
fix configure check for gcc

This shouldn't fail just because someone sets CC=gcc-4.5
explicitly. Besides, this way it also works with compilers
that advertise GCC-compatibility like clang and ICC.

13 years agocompositor-wayland: Handle keyboard focus too
Kristian Høgsberg [Fri, 28 Jan 2011 01:18:17 +0000 (20:18 -0500)]
compositor-wayland: Handle keyboard focus too

13 years agocompositor-x11: Handle keyboard focus correctly so we avoid stuck modifiers
Kristian Høgsberg [Thu, 27 Jan 2011 16:57:19 +0000 (11:57 -0500)]
compositor-x11: Handle keyboard focus correctly so we avoid stuck modifiers

13 years agoDon't create buffer from NULL pointer
Tim Wiederhake [Thu, 27 Jan 2011 00:32:36 +0000 (01:32 +0100)]
Don't create buffer from NULL pointer

Fixes regression introduced in f58d8ca1bd20180bfae3a3a047e8098e0b22b5aa.

13 years agocompositor: Forward pointer focus notification from compostor backend
Kristian Høgsberg [Thu, 27 Jan 2011 01:35:07 +0000 (20:35 -0500)]
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.