Matt Roper
361d2ade02
Update compositor shutdown code
...
Adds a general wlsc_compositor_shutdown() function that all output
backends call when shutting down. wlsc_compositor_shutdown() will call
a new 'destroy' method of each output to perform backend-specific
cleanup (e.g., turning off the hardware cursor in the DRM compositor).
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
13 years ago
Matt Roper
045037e005
Turn off hardware cursors on VT switch before dropping DRM master.
...
The DRM cursor ioctl requires DRM master. We shouldn't drop
master until after we're done turning off the hardware cursors
for a VT switch.
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
13 years ago
Ander Conselvan de Oliveira
90bc9e6532
compositor-drm: Fix compilation error caused by typo.
13 years ago
Ander Conselvan de Oliveira
c483917512
compositor-drm: Make unused parts of the cursor image transparent
...
The bo for the cursor image is always created with size 64x64 even if
the actual cursor image is smaller than that. If this memory is not
initialized, random data can create artifacts near the cursor.
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
13 years ago
Benjamin Franzke
9eaee35613
compositor-drm: Ignore disconnected connectors width
...
- Fixes segfault, if first enumerated connector is not connected.
- Corrects x-offset where e.g. the 2. of 3 connectors is not connected.
(where width of 1. output would have taken twice as
offset for output at 3. connector)
13 years ago
Kristian Høgsberg
86ec8e80d8
compositor: Use systemd seats for input devices as well
14 years ago
Kristian Høgsberg
8d51f141ca
compositor: Use systemd seat configuration conventions
...
http://www.freedesktop.org/wiki/Software/systemd/multiseat
14 years ago
Kristian Høgsberg
6244668cc5
compositor-drm: Drop cursor debug message
14 years ago
Benjamin Franzke
a8bdeae1b6
compositor: Fix cursor damaging on multi head
...
Removing cursors from the surface list,
for usage as hardware cursor needs lower damaging.
Also damge when re-adding to the surface list.
14 years ago
Benjamin Franzke
a16e002bd8
compositor-drm: Pass physical size to output_init
14 years ago
Benjamin Franzke
060cf805bb
Use gbm for compositor-{drm,openwfd}
14 years ago
Kristian Høgsberg
8f0ce05f52
compositor: Send out more detailed output events
14 years ago
Egbert Eich
e7b8d9055e
compositor: Set EGL_PLATFORM env variable for each backend.
...
I may have missed something, but - since the Wayland compositor
already picks a platform backend, opens a connection and initializes the
backend specific display data structure it doesn't make sense
to let egl pick a platform. If it picks a different one the
display specific data structure will most likely not match.
Thus determine the platform in the Wayland rendering backend by setting
the EGL_PLATFORM env variable.
For the client any other platform than 'wayland' doesn't seem to make
sense.
I'm not sure if I've got the the platform ofr openfwd right.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
14 years ago
Kristian Høgsberg
d8e181bd3f
compositor-drm: Hide hw cursors on vt switch
14 years ago
Kristian Høgsberg
9396fc515b
compositor-drm: Fix vt switching
...
Don't take input or render while switched away, drop and set master correctly.
14 years ago
Kristian Høgsberg
6c709a3e4f
Fix warnings and symbol visibility from missing CFLAGS
14 years ago
Kristian Høgsberg
e4c40a4734
compositor: Disable hw cursor if we're texturing the cursor
14 years ago
Kristian Høgsberg
4d07a1c213
compositor: Scanout client buffers even if they're not map_fullscreen
14 years ago
Kristian Høgsberg
7981d00a59
compositor-drm: Use EGL_DRM_BUFFER_USE_CURSOR_MESA
14 years ago
Kristian Høgsberg
8050bd217f
compositor-drm: Fix modularization breakage
14 years ago
Kristian Høgsberg
1c5621840b
compositor: Split backends into modules
14 years ago
Benjamin Franzke
d59eb1c3aa
compositor-drm: Retrieve extension functions before wlsc_compositor_init
...
wlsc_compositor_init calls pointer_create, which calls
create_cursor which needs EGL_MESA_drm_image functions.
14 years ago
Benjamin Franzke
e5b3b2601c
Cast fd's to intptr_t before casting to EGLNativeDisplay
...
Fixes warnings on 64bit.
Also use wlsc_compositor::destroy_image in compositor-openwfd.
14 years ago
Kristian Høgsberg
b5819dc61d
compositor: Stop using EGL_EGLEXT_PROTOTYPES and look up extension functions
14 years ago
Kristian Høgsberg
b1868479ad
Update return types of event handler functions
...
Missed this in previous commit.
14 years ago
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.
14 years ago
Benjamin Franzke
431da9a4cc
Make use of a hardware cursor in compositor-drm
14 years ago
Benjamin Franzke
1178a3ce5c
compositor(-drm): Pageflip to fullscreen surfaces
14 years ago
Kristian Høgsberg
0b9334a51a
Define _GNU_SOURCE for O_CLOEXEC flag
14 years ago
Kristian Høgsberg
9cd7aca0e0
compositor-drm: Close drm fd on exec
14 years ago
Benjamin Franzke
ec4d342aa9
Support per surface frame events
...
This fixes tearing with multi head.
14 years ago
Benjamin Franzke
9c26ff3507
compositor-drm: Support output hotplugging
14 years ago
Benjamin Franzke
eefc36c760
compositor-drm: Fix multi head rendering
14 years ago
Marty Jack
13d9db2095
Beginnings of multiple monitor
...
Allocate the CRTCs from a bit mask to avoid the multiple monitor black
screen problem.
14 years ago
Benjamin Franzke
c649a92549
compositor: Remove drm.c, use shm.c for pointer images
14 years ago
Benjamin Franzke
2af7f10674
compositor: Remove wlsc_drm
14 years ago
Benjamin Franzke
5b2cb6f911
compositor: Generate Framebuffer in the backends
14 years ago
Benjamin Franzke
1b765ffb8c
compositor: Add flags parameter to wlsc_output_init
...
Currently available flags:
- WL_OUTPUT_FLIPPED
14 years ago
Benjamin Franzke
faa0a9dfa9
compositor: Use eglBindWaylandDisplayWL
14 years ago
Benjamin Franzke
feb370e4ea
compositor-drm: Flush before pageflipping
...
This fixes compositor-drm flickering on r600.
14 years ago
Kristian Høgsberg
8525a50362
Move buffer creation and buffer details into drm.c and shm.c
14 years ago
Kristian Høgsberg
e4762a6ac1
Move tty and vt handling out in its own file
14 years ago
Kristian Høgsberg
43db4015f9
Split out evdev handling to its own file
14 years ago
Kristian Høgsberg
9c3e8d734e
Move grab state to struct wl_input_device
14 years ago
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.
14 years ago
Darxus
55973f2f5a
Some additional return value checking
14 years ago
Jesse Barnes
f2912fa85f
compositor: put console into KD_GRAPHICS mode at vt enter time
...
This will keep the kernel from changing graphics state out from under us
(e.g. blanking).
14 years ago
Kristian Høgsberg
61a8251360
Add a geometry option for x11 compositor
14 years ago
Kristian Høgsberg
76b43326a5
Move example compositor to subdirectory
14 years ago
Kristian Høgsberg
b12fcceeb7
Update to EGL_MESA_drm_image from mesa master
...
Woo, running on stock mesa now.
14 years ago