aboutsummaryrefslogtreecommitdiff
path: root/render
AgeCommit message (Collapse)Author
2019-01-29Require libdrm >= 2.4.95emersion
2018-12-21Standardize the wlr_box input paramatersTimidger
Fixes #1094
2018-11-24output: add wlr_output_preferred_read_format()Ilia Bozhinov
The read format is dependent on the output, so we first need to make it current. This fixes a race condition in wlr-screencopy-v1 where a dmabuf client would cause EGL_NO_SURFACE to be bound at the time when screencopy needs to query for the preferred format, causing GL errors.
2018-11-13output: make wlr_egl flip the damageemersion
2018-11-10render: correctly set EGL_RENDERABLE_TYPEemersion
This should be set to EGL_OPENGL_ES2_BIT. Also fixes EGL config attributes in the headless and X11 backends.
2018-11-04render/gles2: check for GL_OES_EGL_image_externalemersion
2018-11-04render/gles2: remove assumptions about supported formatsemersion
We were assuming GL_BGRA_EXT was always supported. We now check that it's supported for rendering. We fail if it isn't because this format is specified as "always supported" by the Wayland protocol. We also check if it's supported for reading pixels. A new preferred_read_format function returns the preferred format that can be used to read pixels. This is used by the screencopy protocol.
2018-10-28render: on Wayland, make eglSwapBuffers non-blockingemersion
2018-10-16Use enum wl_shm_format for gles2 texture formatsnyorain
Also rephrase the write_pixels comment.
2018-10-15Remove fmt parameter from wlr_texture_write_pixelsnyorain
It's not allowed to change the format of a texture so remove the confusing parameter.
2018-10-15render: fix meson including libdrmCole Mickens
2018-10-15Fix libdrm includesScott Anderson
This removes any assumptions about how the libdrm headers are installed, and uses the pkg-config include directories as we're "supposed to". This only adds a partial dependency, since we don't actually need to link against libdrm.
2018-10-14Merge pull request #1309 from swaywm/fix-headless-libinputemersion
Fix headless backend
2018-10-13Fix include path for (libdrm/)drm_fourcc.hCole Mickens
This PR broke a private nixpkgs definition I have for wlroots: https://github.com/swaywm/wlroots/pull/1304 It is fixed by changing `#include <drm_fourcc.h>` to `#include <libdrm/drm_fourcc.h>`, which follows what is already done in the dmabuf example.
2018-10-13Fix headless backendDrew DeVault
It was only working if you ran it underneath an already-working Wayland compositor. Running with the headless backend on the API would break.
2018-10-12Support older wlr_linux_dmabuf_v1 clientsnyorain
If a client uses an older version of the dmabuf protocol, use the `formats` event instead of `modifiers` (since that didn't exist in older versions). With a bit of necessary guessing, support dmabuf importing even when EGL_EXT_image_dma_buf_import_modifiers isn't present instead of failing up front.
2018-09-02Init dmabuf global in rendereremersion
2018-08-24Change how glgen.sh outputs filesScott Anderson
This fixes building wlroots as a subproject.
2018-08-24Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""Scott Anderson
This reverts commit 9c886f20b97b6ab1ac85b849f1fe7f16eb199ff0.
2018-08-23Revert "Merge pull request #1194 from ascent12/meson_feature"Drew DeVault
This breaks wlroots when used as a meson subproject. This reverts commit dea311992eb4ff3e343c3cf5b0603034223d2a42, reversing changes made to 6db9c4b74667c1d917d720f5e96985a2461569fb.
2018-08-22Make style more consistentScott Anderson
2018-08-03gles2: change context when it is not currentMariusz Bialonczyk
Texture functions, that create and manipulate textures should switch the current context if necessary. thanks to: @emersion Fixes #934
2018-07-13Revert "Move side-effect out of assert statement"Drew DeVault
This reverts commit a0afedcd8fbeb2013252e629d524aa83cdd9326e.
2018-07-13Move side-effect out of assert statementDrew DeVault
2018-07-12render: add wlr_texture_is_opaqueemersion
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-06-30render/gles2: ditch extra parensemersion
2018-06-30screencopy: add capture_output_region supportemersion
2018-06-30screencopy: add support for frame flagsemersion
2018-06-30wlr_renderer_destroy: fix renderer NULL checkDominique Martinet
renderer is checked for NULL, but was dereferenced before that. Found through static analysis
2018-06-17Merge branch 'master' into screencontentemersion
2018-06-13Merge pull request #1047 from NotKit/gles2fixemersion
Fix GLES2 renderer to use glGetUniformLocations locations
2018-06-13gles2 renderer: introduce struct wlr_gles2_tex_shaderNeKit
2018-06-09Rename egl.exts to match the extension namesVincent Vanlaer
2018-06-09Split eglSwapBuffersWithDamage feature detectionVincent Vanlaer
Detecting whether eglSwapBuffersWithDamageEXT or eglSwapBuffersWithDamageKHR is used should be based on the extension string, not only on the availability of the function.
2018-06-08Fix atti assert in wlr_egl_initBrian Ashworth
2018-06-08render/egl: only request high priority context on DRMemersion
2018-06-08render/egl: consistent extension checkingemersion
2018-06-08Request a high priority EGL contextemersion
2018-06-07Fix GLES2 renderer to use glGetUniformLocations locationsNeKit
This is needed as uniform locations are driver implementation-specific.
2018-05-31Merge pull request #1020 from emersion/remove-check-dmabufemersion
render: remove wlr_renderer_check_import_dmabuf
2018-05-31Merge branch 'master' into screencontentemersion
2018-05-30cleanup: Use void for zero-parameter functionsGenki Sky
Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30render: remove wlr_renderer_check_import_dmabufemersion
It's possible to implement it outside the renderer, by creating a texture and destroying it right away. This reduces the API surface of the renderer.
2018-05-30Only allow one modifier per DMA-BUF, split attributes struct in render/emersion
2018-05-29render: add wlr_texture_to_dmabufemersion
2018-05-25Merge pull request #993 from emersion/bind-wl-drm-in-rendereremersion
render: bind wl_drm in renderer
2018-05-25backends: implement custom EGL and renderer initializationIlia Bozhinov
Compositors now have more control over how the backend creates its renderer. Currently all backends create an EGL/GLES2 renderer, so the necessary attributes for creating the context are passed to a user-provided callback function. It is responsible for initializing provided wlr_egl and to return a renderer. On fail, return 0. Fixes #987
2018-05-23fix server exit: eglMakeCurrent Invalid displayagr
2018-05-21render: bind wl_drm in rendereremersion