Commit graph

623 commits

Author SHA1 Message Date
emersion
b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs 2017-12-17 23:51:04 +01:00
Drew DeVault
23fb663ea4
Merge pull request #453 from emersion/surface-transform
Add surface transforms support
2017-12-14 14:43:04 -05:00
emersion
18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free 2017-12-08 00:59:37 +01:00
emersion
4a56957a37
Fix inverted flipped-90 and flipped-270 2017-12-01 09:49:32 +01:00
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring 2017-12-01 09:15:33 +01:00
emersion
f4754ad1a2
Fix surface transforms 2017-11-30 23:58:12 +01:00
Scott Anderson
bc113c16aa Use correct include path for glapi.h 2017-11-30 10:32:55 +13:00
Scott Anderson
02374b945d Change glapi.sh to generate both files 2017-11-22 14:04:29 +13:00
Scott Anderson
37b8a096a9 Pass backend to render 2017-10-22 10:39:23 +13:00
Scott Anderson
9b984253e2 Move egl.h to render/egl.h 2017-10-22 10:36:07 +13:00
Drew DeVault
9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
Add screenshooter
2017-10-08 10:06:41 -04:00
Scott Anderson
c0e5feea37 Add GL/EGL extension loader generator 2017-10-08 13:23:41 +13:00
emersion
0ce3135304
Move read_pixels from output to renderer 2017-10-08 02:11:56 +02:00
Versus Void
c5df6ca900 Fix memory leaks 2017-10-05 20:01:56 +00:00
Scott Anderson
009c3747a8 Multi-GPU DRM 2017-10-01 22:29:25 +13:00
Scott Anderson
517ba0bc16 Change egl_get_config to always use visual id 2017-09-29 16:15:09 +13:00
Drew DeVault
220a6e9bf6 Add xwayland activate and fix EGL bug 2017-09-28 09:11:16 -04:00
Tony Crisci
00f1686ce5 unset egl current before terminating display
fixes segfault when closing the compositor with an egl window.
2017-09-25 19:25:59 -04:00
Drew DeVault
9fa822c666 Fix minor typos 2017-09-17 18:29:52 -04:00
Tony Crisci
368f74e4df Refactor meson build files
Use tabs for indentation and break up function calls over 80 col.
2017-08-30 14:30:47 -04:00
Dominique Martinet
f24b3df980 wlr renderer/texture: rename init to create when it does alloc 2017-08-19 08:33:31 +02:00
Drew DeVault
27c13d621d Merge pull request #88 from 4e554c4c/alloc_crashing
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
Tony Crisci
4f2b1cc930 implement get_buffer_size for egl buffers 2017-08-15 07:58:07 -04:00
Tony Crisci
72a33b736f implement texture get buffer size 2017-08-15 07:36:50 -04:00
Calvin Lee
5cc7342606 Prevent alloc errors from crashing
Resolves #76
2017-08-15 08:04:57 +02:00
nyorain
f998bb8299 Fix style issues 2017-08-14 17:09:56 +02:00
Dominique Martinet
4bbf718e7d impl->destroy cleanup:
- remove trivial destroy() function
 - make sure we check impl and impl->destroy before calling
 - always call free if not implemented
2017-08-14 16:22:31 +02:00
Drew DeVault
2facf1df65 Fix software cursors 2017-08-14 08:43:17 -04:00
Drew DeVault
de6f32c84e Refactor away wlr_renderer_state 2017-08-14 08:37:50 -04:00
Drew DeVault
94e6e6334b Refactor out wlr_texture_state 2017-08-14 08:25:26 -04:00
Drew DeVault
d4b4bfb8bc Fix #64 2017-08-13 08:26:32 -04:00
nyorain
f066ff6d02 Fix external shader 2017-08-12 14:48:24 +02:00
Drew DeVault
2d6d2bcef9 Merge pull request #75 from nyorain/egl_image_leak
Fix egl image leak in gles renderer
2017-08-12 08:22:04 -04:00
nyorain
862bc9783f Fix egl image leak in gles renderer 2017-08-12 11:41:40 +02:00
Dominique Martinet
c323bfc6a0 GLES2: detach and delete shaders after LinkProgram
Also make sure program linked correctly!
2017-08-12 00:24:30 +02:00
Drew DeVault
62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -04:00
Drew DeVault
a6efb90382 s/gen/ensure/ fixes #47 2017-08-11 09:00:26 -04:00
Drew DeVault
c24351681f Refactor EGL handling 2017-08-10 22:15:37 -04:00
Drew DeVault
7095274a9e Merge branch 'master' into drm_buffer 2017-08-10 13:19:39 -04:00
Drew DeVault
3c12a32d1f Merge pull request #58 from acrisci/feature/enable-gl-blending
enable gl blending
2017-08-10 08:41:11 -04:00
Tony Crisci
49e97857c7 enable gl blending
This makes transparency work correctly.

fixes #56
2017-08-10 08:38:55 -04:00
Drew DeVault
888986b038 Remove excess logging 2017-08-10 08:36:45 -04:00
Drew DeVault
7da43ff8b0 Implement wlr_surface_flush_damage 2017-08-10 08:26:16 -04:00
nyorain
073dff63da Fix style issues 2017-08-10 11:05:18 +02:00
nyorain
67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Drew DeVault
e2b7712302 Use texture->pixel_format instead of re-scanning 2017-08-09 22:56:57 -04:00
Drew DeVault
4de930542f Implement partial texture uploads 2017-08-09 22:17:40 -04:00
Drew DeVault
bd2e9a7168 Style cleanup 2017-08-09 17:30:22 -04:00
nyorain
e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00
Scott Anderson
1db97a9af9 Updated DRM cursor rendering 2017-08-06 21:38:40 +12:00
Drew DeVault
41b98f21e5 Merge pull request #42 from acrisci/bug/no-switch-active-textures
Remove unnecessary calls to glActiveTexture
2017-08-05 18:26:43 -04:00
nyorain
fdab81e1c9 Use meson build system 2017-08-05 22:34:24 +02:00
Tony Crisci
9119be1dd1 Remove unnecessary calls to glActiveTexture
Since wlroots shaders only use one texture at a time (ie there is only one
sampler2D variable in any shader), it is unnecessary to switch between active
texture units at this time.
2017-08-05 10:41:05 -04:00
Tony Crisci
effea557bb Implement destroying surfaces
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.

Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.

Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.

Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
2017-08-04 11:53:55 -04:00
Tony Crisci
6610aa7ca7 Implement shm buffer surface attach interface
Implement surface_attach method. This is called when a client attaches an shm
buffer with wl_surface_attach().

Implement the GLES2 interface for attaching shm buffers. This creates an opengl
texture with the shm buffer contents for the surface.

This commit also includes some working code to render the surfaces onto the
screen for demonstration purposes.
2017-08-04 11:41:13 -04:00
Drew DeVault
b08aa9fd35 Revert "Merge pull request #27 from ascent12/meson"
This reverts commit 85805da021, reversing
changes made to 8189c64d7f.
2017-07-11 22:16:56 -04:00
Scott Anderson
a2ba226ba3 Use subdir 2017-07-11 09:56:54 +12:00
Scott Anderson
924bf0f669 Changed build system to meson 2017-07-11 00:28:56 +12:00
Drew DeVault
8920b5d607 Merge branch 'wlcore' 2017-06-29 16:00:24 -04:00
Scott Anderson
0cd94f0cf0 Added software cursor fallback 2017-06-26 17:34:15 +12:00
Drew DeVault
5a2796266f Support wl_shm pixel formats in gles2 renderer 2017-06-23 14:25:55 -04:00
Drew DeVault
2aafb5dd19 Add wlcore/wl_shm (WIP) 2017-06-23 13:41:07 -04:00
Drew DeVault
f252c5a792 Manually transpose matricies in shader
Since GLES2 doesn't do this for us, it seems, on all platforms.
2017-06-23 11:46:09 -04:00
Drew DeVault
b18209c904 Switch to GLES2
Closes #13
2017-06-23 11:38:45 -04:00
Drew DeVault
f4453d104d Reorganize wlr-common 2017-06-21 12:10:07 -04:00
Drew DeVault
c9d5a0b2fb Clean up Wayland backend GL context and such 2017-06-20 15:29:27 -04:00
Drew DeVault
2443a070e7 Add colored quad and ellipse rendering primitives 2017-06-15 15:31:13 -04:00
Drew DeVault
7a25d6c50b Destroy gles3 wlr_surfaces 2017-06-09 10:33:02 -04:00
Drew DeVault
2b909e1729 Add error "handling" to gles3 backend 2017-06-09 10:28:50 -04:00
Drew DeVault
cd6a40d816 Further improvements to rendering subsystem 2017-06-08 15:52:42 -04:00
Drew DeVault
83f8864f0a Add wlr_renderer and move quad rendering there 2017-06-08 12:02:51 -04:00
Drew DeVault
211488131f Add wlr_shader to wlr-render 2017-06-08 11:30:38 -04:00
Drew DeVault
fc1dc1b5b0 Use constant VBO for quad, add matrix stuff 2017-06-07 21:35:07 -04:00