Guido Günther
653bc282a7
Indent GLSL by two spaces
...
since this is the most established indentation
2018-03-15 12:40:18 +01:00
Guido Günther
14cdb6153f
Add initial linux_dmabuf protocol support
...
Tested with
./weston-simple-dmabuf-drm
./weston-simple-dmabuf-drm --import-immediate=1
./weston-simple-dmabuf-drm --y-inverted=1
(and combinations)
Supports only single plane XRGB dmabufs for now.
2018-03-15 12:40:18 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
Guido Günther
2d0db16942
render: Flip textures in case of inverted_y
2018-03-11 19:02:05 +01:00
emersion
d9571f27e6
Merge pull request #691 from agx/egl_ext_match
...
Avoid false positives on egl extension matching
2018-02-28 21:22:00 +01:00
Guido Günther
d9f2e90df6
Avoid false positives on egl extension matching
...
Due to the strstr prefix match EGL_EXT_foo would be incorrectly matched
if EGL_EXT_foobar would be available but not foo.
This doesn't matter for the currently checked extensions but will matter
for EGL_EXT_image_dma_buf_import_modifiers vs
EGL_EXT_image_dma_buf_import
Code borrowed from weston
2018-02-28 20:03:06 +01:00
Guido Günther
2dc8a35db2
textures: tell us which texture format is unsupported
2018-02-28 18:36:32 +01:00
Guido Günther
d928ddc36c
wlr_egl_create_image: return NULL when function is missing
...
This matches the return value of elgCreateImage in case of error.
2018-02-28 08:44:00 +01:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
2018-02-19 18:01:27 -05:00
Scott Anderson
86269052eb
Explicitly export EFL symbols
2018-02-19 14:26:40 +13:00
Guido Günther
4d496802dd
Log GL and EGL vendor
...
useful for debugging
2018-02-15 10:40:19 +01:00
Rodrigo Lourenço
168e26489a
Add missing dependencies
2018-02-14 18:42:39 +00:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
emersion
36ead80cd1
Make wlr_signal_emit_safe private
2018-02-12 19:52:47 +01:00
emersion
5e58d46cc1
Add wlr_signal_emit_safe
2018-02-12 09:12:31 +01:00
emersion
bf6d245400
Swap buffers with damage
2018-02-09 22:54:14 +01:00
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
2018-02-03 09:32:02 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-29 23:24:09 +01:00
Tony Crisci
ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
...
Backport screenshooter fixes from the renderer redesign v1
2018-01-29 17:13:23 -05:00
emersion
f34a1b75eb
render/gles2: use format bpp when reading pixels
2018-01-26 23:13:41 +01:00
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-24 14:48:01 +01:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
2018-01-22 16:42:22 +01:00
Tony Crisci
85a6939cf2
rename matrix model box to project box
2018-01-21 19:03:10 -05:00
Tony Crisci
d13114520a
move matrix model code to matrix.h
2018-01-21 15:53:42 -05:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
a0f24b809e
output: add damage event
2018-01-19 13:13:46 +01:00
emersion
bde255933e
output: add wlr_output::damage, fixes #572
2018-01-18 19:47:21 +01:00
emersion
5017d7f762
rootston: only draw damaged regions
2018-01-18 14:36:42 +01:00
Tony Crisci
3751a17321
decorate xwayland views
2018-01-16 07:51:10 -05:00
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