aboutsummaryrefslogtreecommitdiff
path: root/render
AgeCommit message (Collapse)Author
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
2018-03-15renderer: replace wlr_texture_get_matrix by wlr_render_textureemersion
2018-03-15render/gles2: don't set inverted_y when EGL_WAYLAND_Y_INVERTED_WL is unsupportedemersion
2018-03-15Merge branch 'master' into matrix-redesignemersion
2018-03-15matrix: use 2D matricesemersion
2018-03-15Indent GLSL by two spacesGuido Günther
since this is the most established indentation
2018-03-15Add initial linux_dmabuf protocol supportGuido Günther
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-15matrix: unify API, don't use array pointersemersion
2018-03-15matrix: move to types/emersion
2018-03-11render: Flip textures in case of inverted_yGuido Günther
2018-02-28Merge pull request #691 from agx/egl_ext_matchemersion
Avoid false positives on egl extension matching
2018-02-28Avoid false positives on egl extension matchingGuido Günther
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-28textures: tell us which texture format is unsupportedGuido Günther
2018-02-28wlr_egl_create_image: return NULL when function is missingGuido Günther
This matches the return value of elgCreateImage in case of error.
2018-02-25Add alpha to wlr_render_with_matrixGuido Günther
so we can use the alpha channel to e.g. blend in textures
2018-02-19Revert "ELF Visibility"Drew DeVault
2018-02-19Explicitly export EFL symbolsScott Anderson
2018-02-15Log GL and EGL vendorGuido Günther
useful for debugging
2018-02-14Add missing dependenciesRodrigo Lourenço
2018-02-12Reformat all #include directivesemersion
2018-02-12Make wlr_signal_emit_safe privateemersion
2018-02-12Add wlr_signal_emit_safeemersion
2018-02-09Swap buffers with damageemersion
2018-02-03render: make wlr_renderer_clear take a float[4] for the coloremersion
2018-01-29Merge remote-tracking branch 'upstream/master' into output-damageemersion
2018-01-29Merge pull request #580 from emersion/screenshooter-renderer-backportTony Crisci
Backport screenshooter fixes from the renderer redesign v1
2018-01-26render/gles2: use format bpp when reading pixelsemersion
2018-01-24Merge remote-tracking branch 'upstream/master' into output-damageemersion
2018-01-23Backport screenshooter fixes from the renderer redesign v1emersion
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-22render: add wlr_renderer_clear and wlr_renderer_scissoremersion
2018-01-21rename matrix model box to project boxTony Crisci
2018-01-21move matrix model code to matrix.hTony Crisci
2018-01-21output: add damage tracking via buffer ageemersion
2018-01-19output: add damage eventemersion
2018-01-18output: add wlr_output::damage, fixes #572emersion