aboutsummaryrefslogtreecommitdiff
path: root/render
AgeCommit message (Collapse)Author
2018-05-30cleanup: Use void for zero-parameter functionsGenki Sky
Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30Only allow one modifier per DMA-BUF, split attributes struct in render/emersion
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
2018-05-18gles2: pre-multiply alpha and fix blending functionIlia Bozhinov
2018-05-15Fix alpha for src_rgba and src_rgbxBrian Ashworth
2018-05-13fix check of EGL_WL_bind_wayland_display presenceAlain Greppin
2018-04-26Log required extension name if unavailableemersion
2018-04-26Merge pull request #902 from emersion/various-memory-leaksDrew DeVault
Various memory leaks
2018-04-26Destroy wlr_surface with wlr_rendereremersion
2018-04-25Make sure we don't use others' prefixesemersion
2018-04-25render/egl: allow passing NULL to surface and image destructorsemersion
2018-04-24render/egl: add wlr_egl_destroy_surfaceemersion
2018-04-21Do not advertize *RGB8888 as supported shm formatsRostislav Pehlivanov
They're always available and supported, and are added automatically. Adding them again just duplicates them.
2018-04-21Merge pull request #880 from emersion/advertize-renderer-formatsDrew DeVault
Advertize supported renderer formats
2018-04-21Remove a few local prefixed symbolsemersion
2018-04-20Add wlr_renderer_init_wl_shm to advertize supported renderer formatsemersion
2018-04-12Make wlr_renderer_scissor take normal coords instead of upside-down onesemersion
2018-04-08backend: remove wlr_backend_get_eglemersion
2018-04-04egl: silence dmabuf error when extension is not presentGuido Günther
This makes it match 4bf936360d42fb5b96a44fd17028ae66fc462362.
2018-04-01Untie wlr_gles2_renderer and wlr_gles2_textureemersion
2018-03-31render/egl: add wlr_egl_create_image_from_wl_drmemersion
This allows external renderers and potential future GL-based renderers to re-use this function.
2018-03-31Untie wlr_backend from wlr_rendereremersion
2018-03-31Downgrade gles2 messages to L_DEBUGDrew DeVault
L_INFO is for stuff that's useful to the user
2018-03-31Fix build error with -O2Orestis Floros
../render/gles2/renderer.c: In function ‘gles2_render_texture_with_matrix’: ../render/gles2/renderer.c:140:2: error: ‘target’ may be used uninitialized in this function [-Werror=maybe-uninitialized] glBindTexture(target, tex_id); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../render/gles2/renderer.c:145:2: error: ‘prog’ may be used uninitialized in this function [-Werror=maybe-uninitialized] glUseProgram(prog);
2018-03-28Merge pull request #744 from emersion/texture-redesignTony Crisci
Redesign wlr_texture
2018-03-27Fix issue starting up client EGL on X11 backendDrew DeVault
2018-03-27Implement layer surface damageDrew DeVault
2018-03-27Arrange & render layer surfacesDrew DeVault
2018-03-27render: remove GL calls from wlr_eglemersion
2018-03-26Merge branch 'master' into texture-redesignemersion
2018-03-26render: add simple functions to render rectangles and ellipsesemersion
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-23linux-dmabuf: Support multi plane formats like NV12Guido Günther
2018-03-23Merge branch 'master' into gles2-renderer-redesignemersion
2018-03-21render/egl: use EGL_KHR_debugemersion
2018-03-21render/gles2: use gles2_pixel_format::has_alpha for shader selectionemersion
2018-03-21render/gles2: move list of supported WL formats to pixel_format.cemersion
2018-03-21render/gles2: make wlr_renderer_begin take viewport sizeemersion
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-20render/gles2: remove global state, use OpenGL debug extensionemersion
2018-03-20gles2: Honor alpha in fragment_src_externalGuido Günther
By using the same vertex shader and adding alpha to the fragment shader for external textures we can: - use alpha blending - have wlr_gles2_render_texture_with_matrix work with the GL_TEXTURE_EXTERNAL_OES. So far this failed since we passed in alpha which was unknown by fragment_src_external
2018-03-20gles2_texture_bind: use texture's target typeGuido Günther
Hardcoding GL_TEXTURE_2D leads to rendering errors when using GL_TEXTURE_EXTERNAL_OES textures.
2018-03-20gles2: allow to specify texture target typeGuido Günther
Allow to set the texture target type when generating/binding the texture. This allows us to attach the texture type to the texture so we don't have to keep the logic elsewhere.
2018-03-19render: split render.h into wlr_renderer.h and wlr_texture.hemersion
2018-03-19render/gles2: transpose matrices before binding thememersion
Setting glUniformMatrix3fv's transpose parameter to GL_TRUE is not allowed for OpenGL ES 2. This adds a wlr_matrix_transpose function.
2018-03-17Merge pull request #722 from emersion/matrix-redesignDrew DeVault
Matrix redesign
2018-03-16egl: print supported dmabuf formatsGuido Günther
Useful for debugging dmabuf related problems e.g. when a client requests a certain and we fail to support it.
2018-03-15render/gles2: remove matrix transposition in shadersemersion