aboutsummaryrefslogtreecommitdiff
path: root/backend/drm
AgeCommit message (Collapse)Author
2018-09-02backend/drm: fix invalid VLA size in scan_drm_connectorsemersion
I failed to see this issue with Valgrind because of the +1.
2018-09-02backend/drm: emit new_output after scanning connectorsemersion
This prevents receiving modesetting requests from the compositor while we don't have the whole picture (ie. while we haven't yet scanned all connectors). This also makes connectors without CRTCs disabled (they can't be enabled yet even if some CRTCs are free'd -- this is future work).
2018-09-01backend/drm: allow disabling outputs in NEEDS_MODESET stateemersion
This correctly frees CRTCs when disabling outputs without setting a mode.
2018-08-29Use legacy modesetting for gamma controlDrew DeVault
It doesn't look like there's any motion on a fix from the AMDGPU side, and using the legacy interface for this isn't so bad.
2018-08-21backend/drm: add support for DRM_MODE_CONNECTOR_DPIemersion
2018-08-05Check for DRM primeScott Anderson
This will indicate the user properly when multi-GPU is not supported by their GPU driver.
2018-08-04Remove unused data from gbm_bo userdataScott Anderson
These aren't used anymore and crashes when the gbm_bo tries to get destroyed (e.g. on hotplug).
2018-08-04Fix hardware cursor on secondary GPUScott Anderson
Create rendering resources on parent GPU, so that we can sample the passed in texture properly. The cursor buffer needs to remain on the same GPU.
2018-08-03multi-gpu: do not flip screens on secondary GPUMariusz Bialonczyk
All screens on secondary GPU in multiple GPU configurations was flipped 180. The flipped screens was always on secondary card (the primary card was always correct). Tested on nouveau with: WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card2 WLR_DRM_DEVICES=/dev/dri/card2:/dev/dri/card1 The commit is fixing this problem. Now all screens are "normal".
2018-08-03multi-backend: do not expose internal renderersMariusz Bialonczyk
backend_get_renderer() is now returning the renderer of the primary GPU, instead of its own renderer, since that's the thing which actually does all of the "real" rendering wlr_multi_backend_add() is now adding all subbackends (otherwise only one GPU is handled). credits: @ascent12
2018-08-02backend/drm: remove unnecessary castsemersion
2018-08-02backend/drm: allow to pass empty gamma ramp to reset itemersion
2018-08-02Implement wlr-gamma-control-unstable-v1emersion
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-07-07Merge pull request #1095 from agx/output-add-modeDrew DeVault
Allow to add additional modes to outputs
2018-07-07drm: Allow to add additional modesGuido Günther
This allows to add additional modes to the list of available video modes using VESA Coordinated Video Timing information. Closes #1080
2018-06-30screencopy: add support for frame flagsemersion
2018-06-30drm backend: overflow fixesDominique Martinet
These operations are done in 32-bit arithmetics before being casted to 64-bit, thus can overflow before the cast. Casting early fixes the issue. Found through static analysis
2018-05-31Merge branch 'master' into screencontentemersion
2018-05-30Only allow one modifier per DMA-BUF, split attributes struct in render/emersion
2018-05-29backend/drm: support multi-planar DMA-BUFs when exportingemersion
2018-05-29output, backend/drm: add wlr_output_export_dmabufemersion
2018-05-27backend/drm: better connector cleanup, add more logsemersion
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-21render: bind wl_drm in rendereremersion
2018-05-16recalculate cursor projection matrix on set_cursorMarkus Ongyerth
Updates the projection matrix for the cursor plane in the DRM backend, when the cursor is set, so new cursor are uploaded with the correct transformation.
2018-05-09Fix hardware cursors scale & transformemersion
2018-05-04Merge pull request #936 from emersion/full-hardware-cursorsemersion
output: always use hardware cursors if available
2018-05-03Fix typos in comments and stringsmorganamilo
2018-05-03drm: only disable atomic modesetting when WLR_DRM_NO_ATOMIC == 1Guido Günther
Don't allow any value of the env var to disable atomic mode setting.
2018-05-01output: always use hardware cursors if availableemersion
This changes the `wlr_output_impl.set_cursor` function to take a `wlr_texture` instead of a byte buffer. This simplifies the DRM and Wayland backends since they were creating textures from the byte buffer anyway. With this commit, performance should be improved when moving the cursor since outputs don't need to be re-rendered anymore.
2018-04-25Don't use the wlr_ prefix for static functionsemersion
2018-04-25Make sure we don't use others' prefixesemersion
2018-04-25Remove wlr_ prefix from local symbolsemersion
2018-04-25render/egl: allow passing NULL to surface and image destructorsemersion
2018-04-24render/egl: add wlr_egl_destroy_surfaceemersion
2018-04-18output: don't emit the mode event if it hasn't changedemersion
This also fixes #535.
2018-04-08backend: remove wlr_backend_get_eglemersion
2018-03-31Merge pull request #794 from emersion/renderer-untie-backendDrew DeVault
Untie wlr_backend from wlr_renderer
2018-03-31Fix cursor transform on DRM backendemersion
2018-03-31Untie wlr_backend from wlr_rendereremersion
2018-03-28Remove width_mm from wlr_touch eventsDrew DeVault
2018-03-26Use DRM_FORMAT_MOD_LINEAR instead of a hardcoded constantemersion
2018-03-24Redesign wlr_textureemersion
- Textures are now immutable (apart from those created from raw pixels), no more invalid textures - Move all wl_drm stuff in wlr_renderer - Most of wlr_texture fields are now private - Remove some duplicated DMA-BUF code in the DRM backend - Add more assertions - Stride is now always given as bytes rather than pixels - Drop wl_shm functions Fun fact: this patch has been written 10,000 meters up in the air.
2018-03-23Merge branch 'master' into gles2-renderer-redesignemersion
2018-03-21backend/drm: remove remaining raw GL callemersion
This makes the hardware cursor code a less efficient. Can be fixed with a GLES3 renderer.
2018-03-21render/egl: use EGL_KHR_debugemersion
2018-03-21render/gles2: make wlr_renderer_begin take viewport sizeemersion
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-19render: split render.h into wlr_renderer.h and wlr_texture.hemersion