473 Commits (0215dffba51b63dc394ee028039ac811e1330c60)

Author SHA1 Message Date
Simon Ser 44cea53e72 render/egl: don't rely on being able to open primary node
4 years ago
Ronan Pigott dc7c6c4860 render/egl: recognize EGL_BAD_DEVICE_EXT error
4 years ago
Simon Ser eb8360bda3 render: introduce wlr_renderer_get_drm_fd
4 years ago
Simon Ser c8d95acc37 render/egl: introduce wlr_egl_dup_drm_fd
4 years ago
Simon Ser c11c6c4568 render/swapchain: add support for buffer age
4 years ago
Simon Ser 1245730ea2 render/gles2: fix y-inverted output when rendering to buffer
4 years ago
Simon Ser 6136fe87d1 render/gles2: implement wlr_renderer_bind_buffer
4 years ago
Simon Ser c88c54fb38 render: introduce wlr_renderer_bind_buffer
4 years ago
Simon Ser b0a663d39d render: introduce wlr_swapchain
4 years ago
Simon Ser 7c6212a0f7 render/drm_format_set: introduce wlr_drm_format_dup
4 years ago
Simon Ser 5913040110 render: introduce wlr_gbm_allocator
4 years ago
Simon Ser f47445f142 render: introduce wlr_allocator
4 years ago
Isaac Freund 0724b3c453 Use uint32_t in wlr_renderer_begin signature
4 years ago
Guido Cella 6949d0fd38 render: Don't crash on 0 dimensions
4 years ago
Simon Ser 1dbcfdaf81 render/gles2: remove gles2_procs
4 years ago
Simon Ser 62da61716f render/gles2: make push/pop debug functions take a wlr_renderer
4 years ago
Simon Ser e8872d9ed7 render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture
4 years ago
Simon Ser 26af316b3b render/gles2: make wlr_gles2_texture_from_* private
4 years ago
Andri Yngvason 6ef5d18757 render: egl: Use current display to restore NULL context
4 years ago
Andri Yngvason e05a85327f render: gles2: Fix y-inversion in gles2_blit_dmabuf()
4 years ago
Simon Zeni 4a4da256dd render/gles2: use glGetAttribLocation instead of hardcoded indices
4 years ago
Simon Ser 58df3eda9f render/egl: print error name
5 years ago
Simon Ser 315bf08733 render: add wlr_render_subtexture_with_matrix
5 years ago
Simon Ser 5118189a2b render/gles2: use .x/.y instead of .s/.t
5 years ago
Rouven Czerwinski d3d1bac1c2 render: assert sane values for box functions
5 years ago
Simon Ser 7f9bbaaa17 render/egl: explicit client extension handling
5 years ago
Andri Yngvason 78d6eed6b3 render: Fix blit_dmabuf() breakage due to API change
5 years ago
Andri Yngvason b64a8a7f98 render: Add wlr_renderer_blit_dmabuf()
5 years ago
Andri Yngvason 11b598fe33 render: egl: Add utility functions for saving/restoring context
5 years ago
Simon Ser a3ba82885c render: choose DMA-BUF texture target via eglQueryDmaBufModifiersEXT
5 years ago
Simon Ser e91417ea8d render: stop making EGL context current in wlr_egl_init
5 years ago
Simon Ser af2f69e6c1 render/egl: unset current context after swapping buffers
5 years ago
Simon Ser 1edc42157b render/egl: introduce wlr_egl_unset_current
5 years ago
Simon Ser 05803511db render/texture: make write_pixels optional
5 years ago
Simon Ser 06f4c3945d render/texture: add width and height fields
5 years ago
Simon Ser 5dc3a9c754 render/gles2: add wlr_gles2_renderer_check_ext
5 years ago
Simon Ser 01d4506253 render/drm_format_set: disallow DRM_FORMAT_INVALID
5 years ago
Simon Ser d10f8a98ec render: only expose linux-dmabuf if EGL extension is supported
5 years ago
Simon Ser 4a1015faff render/gles2: only call wlr_egl_bind_display if supported
5 years ago
Simon Ser 6787ff521b render/egl: make config attribs const
5 years ago
Isaac Freund c682d97841 Return failure of wlr_renderer_init_wl_display()
5 years ago
Simon Ser a71649dde9 render/gles2: remove duplicated format list
5 years ago
Simon Ser 6d3f3b9300 render/gles2: unbind textures after use
5 years ago
Simon Ser 2b04857343 render/egl: remove SURFACELESS_MESA special case
5 years ago
Simon Ser 346b43e937 render: guard rendering operations between begin() and end()
5 years ago
Scott Anderson cff1c2f740 meson: Various improvements
5 years ago
Simon Ser 01818ad2c8 render: fix EGL extensions not loaded
5 years ago
Simon Ser 515679e4fe Refactor EGL/GL API loading
5 years ago
Ronan Pigott 5df606d8ab render/gles2: do not set GL_TEXTURE_MAG_FILTER
5 years ago
Simon Ser bcd5f7d259 render: remove return in wlr_texture_get_size
5 years ago
Simon Ser 16e5e9541b Add -Wmissing-prototypes
5 years ago
Drew DeVault 4c9423278a Introduce wlr_renderer_get_egl
5 years ago
Simon Ser 447835afc1 render/gles2: provide public API to access GL texture
5 years ago
Scott Anderson 85a2ee6d30 render/gles: Simplify textures a bit
5 years ago
Simon Ser 51416738ea render/egl: prevent use-after-free when destroying current surface
5 years ago
Simon Ser 6bb7639a0f render/gles2: don't unset the current EGL surface when destroying texture
5 years ago
Simon Ser 11bf87d678 render/egl: support formats with zero modifiers
5 years ago
Scott Anderson 06644575da render/egl: Change KHR_debug log to include error code
5 years ago
Filip Sandborg 734c64a6cc render/gles2: fix calculation for partial gles2 pixel read (#1809)
5 years ago
Drew DeVault 540e23d102 Revert "render/drm: keep old drm_format if realloc fails"
5 years ago
Antonin Décimo c1be9b6945 render/drm: keep old drm_format if realloc fails
5 years ago
Simon Ser 6dbdf5db34 render/dmabuf: add wlr_dmabuf_attributes_copy
6 years ago
Simon Ser e516ea4c79 backend/drm: check format when scanning out DMA-BUF
6 years ago
Simon Ser 107a1789ea render/gles2: print GL_RENDERER
6 years ago
Simon Ser d6e250b389 render/egl: fix swapping with no damage
6 years ago
Simon Ser f42816ce3f render/egl: fix zero-length VLA
6 years ago
Alyssa Ross 95b22619e0 Fix missing headers when building without X11
6 years ago
emersion e42178d03f
render: switch wlr_renderer to wlr_drm_format_set
6 years ago
Scott Anderson c01b81c99c
render: introduce wlr_drm_format_set
6 years ago
emersion 5445d8aad0 meson: enable more compiler warnings
6 years ago
emersion 75371d2c88
Require libdrm >= 2.4.95
6 years ago
Timidger 9af0c5338f
Standardize the wlr_box input paramaters
6 years ago
Ilia Bozhinov fb5691b6cc output: add wlr_output_preferred_read_format()
6 years ago
emersion 1b9ebcf645
output: make wlr_egl flip the damage
6 years ago
emersion 09550032b7
render: correctly set EGL_RENDERABLE_TYPE
6 years ago
emersion d592dcdedd
render/gles2: check for GL_OES_EGL_image_external
6 years ago
emersion 62d646f2b8
render/gles2: remove assumptions about supported formats
6 years ago
emersion b42fc4f2b1
render: on Wayland, make eglSwapBuffers non-blocking
6 years ago
nyorain cb03a41a3b Use enum wl_shm_format for gles2 texture formats
6 years ago
nyorain cd28637187 Remove fmt parameter from wlr_texture_write_pixels
6 years ago
Cole Mickens 7297348736 render: fix meson including libdrm
6 years ago
Scott Anderson 7ca3bc1d6f Fix libdrm includes
6 years ago
emersion 7daca85bcf
Merge pull request #1309 from swaywm/fix-headless-libinput
6 years ago
Cole Mickens 43d0ebfdac
Fix include path for (libdrm/)drm_fourcc.h
6 years ago
Drew DeVault 63c69cee6e Fix headless backend
6 years ago
nyorain affbfb6a28 Support older wlr_linux_dmabuf_v1 clients
6 years ago
emersion 2f0815838d Init dmabuf global in renderer
6 years ago
Scott Anderson dc37194291 Change how glgen.sh outputs files
6 years ago
Scott Anderson fd3fa760d3 Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""
6 years ago
Drew DeVault 9c886f20b9 Revert "Merge pull request #1194 from ascent12/meson_feature"
6 years ago
Scott Anderson a2bbf2c1f7 Make style more consistent
6 years ago
Mariusz Bialonczyk ad406db21c gles2: change context when it is not current
6 years ago
Drew DeVault b902c2bd7c Revert "Move side-effect out of assert statement"
6 years ago
Drew DeVault a0afedcd8f Move side-effect out of assert statement
6 years ago
emersion c4915d1492 render: add wlr_texture_is_opaque
6 years ago
emersion 7cbef15206
util: add wlr_ prefix to log symbols
6 years ago
emersion cc9b198f9e
render/gles2: ditch extra parens
7 years ago
emersion bf7560b7cd
screencopy: add capture_output_region support
7 years ago
emersion 2b9cbaddf3
screencopy: add support for frame flags
7 years ago
Dominique Martinet 4cc4412481 wlr_renderer_destroy: fix renderer NULL check
7 years ago
emersion 57548b557a
Merge branch 'master' into screencontent
7 years ago
emersion d643361c48
Merge pull request #1047 from NotKit/gles2fix
7 years ago
NeKit 6f29db1044 gles2 renderer: introduce struct wlr_gles2_tex_shader
7 years ago
Vincent Vanlaer f1a62a3200 Rename egl.exts to match the extension names
7 years ago
Vincent Vanlaer 5ec6d8230d Split eglSwapBuffersWithDamage feature detection
7 years ago
Brian Ashworth 18bbe2d897 Fix atti assert in wlr_egl_init
7 years ago
emersion 457bfcab19
render/egl: only request high priority context on DRM
7 years ago
emersion d425edc96c
render/egl: consistent extension checking
7 years ago
emersion cbfe0e834a
Request a high priority EGL context
7 years ago
NeKit de91c55ea9 Fix GLES2 renderer to use glGetUniformLocations locations
7 years ago
emersion 6b7a55aa3d
Merge pull request #1020 from emersion/remove-check-dmabuf
7 years ago
emersion 21928cbe61
Merge branch 'master' into screencontent
7 years ago
Genki Sky d1cf9acbd5 cleanup: Use void for zero-parameter functions
7 years ago
emersion 135721118a
render: remove wlr_renderer_check_import_dmabuf
7 years ago
emersion 28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion 5ba1a9af56
render: add wlr_texture_to_dmabuf
7 years ago
emersion 6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
7 years ago
Ilia Bozhinov 24cf70ae96 backends: implement custom EGL and renderer initialization
7 years ago
agr 4e89e0fc6c fix server exit: eglMakeCurrent Invalid display
7 years ago
emersion 41130fe54b
render: bind wl_drm in renderer
7 years ago
Ilia Bozhinov 47ffd0e184 gles2: pre-multiply alpha and fix blending function
7 years ago
Brian Ashworth 35e83800d4 Fix alpha for src_rgba and src_rgbx
7 years ago
Alain Greppin b2f8f00ae3 fix check of EGL_WL_bind_wayland_display presence
7 years ago
emersion 5a87712ca8
Log required extension name if unavailable
7 years ago
Drew DeVault fecb971518
Merge pull request #902 from emersion/various-memory-leaks
7 years ago
emersion 449f06556a
Destroy wlr_surface with wlr_renderer
7 years ago
emersion 71ca45e2c0
Make sure we don't use others' prefixes
7 years ago
emersion 018b82c01e
render/egl: allow passing NULL to surface and image destructors
7 years ago
emersion eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
Rostislav Pehlivanov 12298ce88c Do not advertize *RGB8888 as supported shm formats
7 years ago
Drew DeVault b116414bd5
Merge pull request #880 from emersion/advertize-renderer-formats
7 years ago
emersion 1588094b99
Remove a few local prefixed symbols
7 years ago
emersion 70d820be25
Add wlr_renderer_init_wl_shm to advertize supported renderer formats
7 years ago
emersion 1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
emersion d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Guido Günther 6a05bd3886 egl: silence dmabuf error when extension is not present
7 years ago
emersion f3f61bed3e
Untie wlr_gles2_renderer and wlr_gles2_texture
7 years ago
emersion a7bb48b404
render/egl: add wlr_egl_create_image_from_wl_drm
7 years ago
emersion 33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
Drew DeVault 23d357e371 Downgrade gles2 messages to L_DEBUG
7 years ago
Orestis Floros c9ed6fed59
Fix build error with -O2
7 years ago
Tony Crisci 330ee08126
Merge pull request #744 from emersion/texture-redesign
7 years ago
Drew DeVault 13edb19a6c Fix issue starting up client EGL on X11 backend
7 years ago
Drew DeVault f444a0d14c Implement layer surface damage
7 years ago
Drew DeVault 4bf936360d Arrange & render layer surfaces
7 years ago
emersion c42fd1018b
render: remove GL calls from wlr_egl
7 years ago
emersion adf4fb08dd
Merge branch 'master' into texture-redesign
7 years ago
emersion 793c3b3047
render: add simple functions to render rectangles and ellipses
7 years ago
emersion c63d94483b
Redesign wlr_texture
7 years ago
Guido Günther b1852096c5 linux-dmabuf: Support multi plane formats like NV12
7 years ago
emersion a854c2f246
Merge branch 'master' into gles2-renderer-redesign
7 years ago
emersion b1f93bc5cc
render/egl: use EGL_KHR_debug
7 years ago
emersion 8207f0f081
render/gles2: use gles2_pixel_format::has_alpha for shader selection
7 years ago
emersion cc5ef1d2ff
render/gles2: move list of supported WL formats to pixel_format.c
7 years ago
emersion 3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
7 years ago
emersion 95e86e675a
render/gles2: remove global state, use OpenGL debug extension
7 years ago
Guido Günther 2d01663b25 gles2: Honor alpha in fragment_src_external
7 years ago
Guido Günther 13e4ba4867 gles2_texture_bind: use texture's target type
7 years ago
Guido Günther b3cb5a36c7 gles2: allow to specify texture target type
7 years ago
emersion c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
emersion 6ecb0eefcb
render/gles2: transpose matrices before binding them
7 years ago
Drew DeVault 1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
7 years ago
Guido Günther 7fd7dff26f egl: print supported dmabuf formats
7 years ago
emersion f1cbbac636
render/gles2: remove matrix transposition in shaders
7 years ago
emersion 876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
7 years ago
emersion 0e253e0615
render/gles2: don't set inverted_y when EGL_WAYLAND_Y_INVERTED_WL is unsupported
7 years ago
emersion 8b58e1a3ad
Merge branch 'master' into matrix-redesign
7 years ago
emersion 824a95ad19
matrix: use 2D matrices
7 years ago
Guido Günther 653bc282a7 Indent GLSL by two spaces
7 years ago
Guido Günther 14cdb6153f Add initial linux_dmabuf protocol support
7 years ago
emersion d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion b6a3f240c7
matrix: move to types/
7 years ago
Guido Günther 2d0db16942 render: Flip textures in case of inverted_y
7 years ago
emersion d9571f27e6
Merge pull request #691 from agx/egl_ext_match
7 years ago
Guido Günther d9f2e90df6 Avoid false positives on egl extension matching
7 years ago
Guido Günther 2dc8a35db2 textures: tell us which texture format is unsupported
7 years ago
Guido Günther d928ddc36c wlr_egl_create_image: return NULL when function is missing
7 years ago
Guido Günther d08792bfff Add alpha to wlr_render_with_matrix
7 years ago
Drew DeVault 1d9be89e2d
Revert "ELF Visibility"
7 years ago
Scott Anderson 86269052eb Explicitly export EFL symbols
7 years ago
Guido Günther 4d496802dd Log GL and EGL vendor
7 years ago
Rodrigo Lourenço 168e26489a Add missing dependencies
7 years ago
emersion c2e1474010
Reformat all #include directives
7 years ago
emersion 36ead80cd1
Make wlr_signal_emit_safe private
7 years ago
emersion 5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion bf6d245400
Swap buffers with damage
7 years ago
emersion ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
7 years ago
emersion 51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Tony Crisci ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
7 years ago
emersion f34a1b75eb
render/gles2: use format bpp when reading pixels
7 years ago
emersion 6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion 4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
7 years ago
emersion 415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
7 years ago
Tony Crisci 85a6939cf2 rename matrix model box to project box
7 years ago
Tony Crisci d13114520a move matrix model code to matrix.h
7 years ago
emersion 0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion a0f24b809e
output: add damage event
7 years ago
emersion bde255933e
output: add wlr_output::damage, fixes #572
7 years ago
emersion 5017d7f762
rootston: only draw damaged regions
7 years ago
Tony Crisci 3751a17321 decorate xwayland views
7 years ago
emersion b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs
7 years ago
Drew DeVault 23fb663ea4
Merge pull request #453 from emersion/surface-transform
7 years ago
emersion 18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free
7 years ago
emersion 4a56957a37
Fix inverted flipped-90 and flipped-270
7 years ago
emersion 6a69b4419f
Make wlr_output_transform_* functions public, refactoring
7 years ago
emersion f4754ad1a2
Fix surface transforms
7 years ago
Scott Anderson bc113c16aa Use correct include path for glapi.h
7 years ago
Scott Anderson 02374b945d Change glapi.sh to generate both files
7 years ago
Scott Anderson 37b8a096a9 Pass backend to render
7 years ago
Scott Anderson 9b984253e2 Move egl.h to render/egl.h
7 years ago
Drew DeVault 9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
7 years ago
Scott Anderson c0e5feea37 Add GL/EGL extension loader generator
7 years ago
emersion 0ce3135304
Move read_pixels from output to renderer
7 years ago
Versus Void c5df6ca900 Fix memory leaks
7 years ago
Scott Anderson 009c3747a8 Multi-GPU DRM
7 years ago
Scott Anderson 517ba0bc16 Change egl_get_config to always use visual id
7 years ago
Drew DeVault 220a6e9bf6 Add xwayland activate and fix EGL bug
7 years ago
Tony Crisci 00f1686ce5 unset egl current before terminating display
7 years ago
Drew DeVault 9fa822c666 Fix minor typos
7 years ago
Tony Crisci 368f74e4df Refactor meson build files
7 years ago
Dominique Martinet f24b3df980 wlr renderer/texture: rename init to create when it does alloc
7 years ago
Drew DeVault 27c13d621d Merge pull request #88 from 4e554c4c/alloc_crashing
7 years ago
Tony Crisci 4f2b1cc930 implement get_buffer_size for egl buffers
7 years ago
Tony Crisci 72a33b736f implement texture get buffer size
7 years ago
Calvin Lee 5cc7342606 Prevent alloc errors from crashing
7 years ago
nyorain f998bb8299 Fix style issues
7 years ago
Dominique Martinet 4bbf718e7d impl->destroy cleanup:
7 years ago
Drew DeVault 2facf1df65 Fix software cursors
7 years ago
Drew DeVault de6f32c84e Refactor away wlr_renderer_state
7 years ago
Drew DeVault 94e6e6334b Refactor out wlr_texture_state
7 years ago
Drew DeVault d4b4bfb8bc Fix #64
7 years ago
nyorain f066ff6d02 Fix external shader
7 years ago
Drew DeVault 2d6d2bcef9 Merge pull request #75 from nyorain/egl_image_leak
7 years ago
nyorain 862bc9783f Fix egl image leak in gles renderer
7 years ago
Dominique Martinet c323bfc6a0 GLES2: detach and delete shaders after LinkProgram
7 years ago
Drew DeVault 62d8b252c0 Refactor meson and move xdg-shell into wlroots
7 years ago
Drew DeVault a6efb90382 s/gen/ensure/ fixes #47
7 years ago
Drew DeVault c24351681f Refactor EGL handling
7 years ago
Drew DeVault 7095274a9e Merge branch 'master' into drm_buffer
7 years ago
Drew DeVault 3c12a32d1f Merge pull request #58 from acrisci/feature/enable-gl-blending
7 years ago
Tony Crisci 49e97857c7 enable gl blending
7 years ago
Drew DeVault 888986b038 Remove excess logging
7 years ago
Drew DeVault 7da43ff8b0 Implement wlr_surface_flush_damage
7 years ago
nyorain 073dff63da Fix style issues
7 years ago
nyorain 67369173aa Implement drm (egl) buffer attaching
7 years ago
Drew DeVault e2b7712302 Use texture->pixel_format instead of re-scanning
7 years ago
Drew DeVault 4de930542f Implement partial texture uploads
7 years ago
Drew DeVault bd2e9a7168 Style cleanup
7 years ago
nyorain e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Scott Anderson 1db97a9af9 Updated DRM cursor rendering
7 years ago