835 Commits (f16a3c11806d0a52c99b7c843334b89330b84c73)

Author SHA1 Message Date
Simon Ser bb2946f737 build: make GBM optional
3 years ago
Simon Ser 452a8ec940 render/egl: add wlr_egl_get_{context,display}
3 years ago
Manuel Stoeckl 7ad67e0f1d render/gles: add support for some 16-bpc unsigned shm formats
3 years ago
zccrs 48c811ffb6 render/vulkan: fix undefined reference to wlr_texture_is_vk
3 years ago
Simon Ser 6c350799b2 Zero-initialize structs in init functions
3 years ago
Dean 104060fec5 Free drmDevice in get_egl_device_from_drm_fd()
3 years ago
Samuel Čavoj 5c17452ae0
Pass O_CLOEXEC to drmModeCreateLease calls
3 years ago
Simon Ser 39b68ea47a buffer: extract interface to separate header
3 years ago
Roman Gilg 17a289e36e render: allow texture creation while rendering
3 years ago
Simon Ser d8d30463ac render/vulkan: log physical device driver name
3 years ago
Thomas Hebb 59b9518f07 render/gles2: don't constrain shm formats to ones that support reading
3 years ago
nyorain 9988eb3378 vulkan: Fix imported image layout
3 years ago
Simon Ser 77d811a21b render: add wlr_renderer_init_wl_shm
3 years ago
Simon Ser 7201aae3d6 render/drm-format-set: add wlr_drm_format_set_intersect
3 years ago
Simon Ser 1bf9676e87 render/egl: improve modifier support detection
3 years ago
Simon Ser de0bc78319 render/pixman: advertise MOD_INVALID instead of MOD_LINEAR
3 years ago
Simon Ser 051d1ce90e render/egl: add wlr_egl_create_with_context
3 years ago
Simon Ser ffd4a27714 render/egl: store IMG_context_priority in wlr_egl
3 years ago
Simon Ser 98f2efde98 render/drm_format_set: remove special LINEAR case
3 years ago
Simon Ser d5df8d5cbf render/egl: always add LINEAR to supported modifiers
3 years ago
Simon Ser affe9eda57 Require INVALID for implicit format modifiers
3 years ago
Simon Ser d78cb808b1 render/drm_format_set: add wlr_drm_format_has
3 years ago
Simon Ser 2e33139ef7 render: introduce WLR_RENDER_DRM_DEVICE
3 years ago
Simon Ser e4f748c6e9 render/allocator: fallback to renderer DRM FD in autocreate
3 years ago
Simon Ser bf57825560 render: pick DRM FD in autocreate
3 years ago
Joshua Ashton f132d66816 render/vulkan: Optimize vertex shader
3 years ago
Simon Ser 5332935afc render/vulkan: quiet glslangValidator
3 years ago
Demi Marie Obenour b5d4bc3c62 Improve wlr_drm_format documentation
3 years ago
Simon Ser a04cfca4da Remove support for DMA-BUF flags
3 years ago
Cole Mickens 3a685b10b6
egl: use alts for EGL_EXT_device_enum, if missing
3 years ago
Simon Zeni 02a1ae169e render/allocator: make wlr_allocator part of the public API
3 years ago
Jan Beich 760e166578 render: completely disable gles2 if requested but libEGL is found
3 years ago
Haelwenn (lanodan) Monnier 6666604f17 render/egl.c: Fix memory leaks in egl_create
3 years ago
Haelwenn (lanodan) Monnier 4fb652c27f render/pixman/renderer.c: Fix memory-leak in create_buffer
3 years ago
Simon Ser 36cf387427 render/vulkan: check vulkan-headers dependency
3 years ago
Joshua Ashton b62ce3c3c8 render/vulkan: Use image view swizzles instead of shader hack
3 years ago
nyorain 8e34692250 render/vulkan: add Vulkan renderer
3 years ago
Simon Ser 1b65a80e9d render/allocator: use empty DRM lease to re-open node
3 years ago
Simon Ser 13cdb84ee8 render/allocator: use render node if available in reopen_drm_node
3 years ago
Simon Ser 323b8498ad Revert "render/drm_format_set: add wlr_drm_format_has"
3 years ago
Simon Ser 1d7e438d8a Revert "Require INVALID for implicit format modifiers"
3 years ago
Simon Ser 62be833aef Revert "render/egl: always add LINEAR to supported modifiers"
3 years ago
Simon Ser 42138a073b Revert "render/drm_format_set: remove special LINEAR case"
3 years ago
Simon Ser 6d281d96cb render/drm_format_set: remove special LINEAR case
3 years ago
Simon Ser 780052d4da render/egl: always add LINEAR to supported modifiers
3 years ago
Simon Ser ea7357b703 Require INVALID for implicit format modifiers
3 years ago
Simon Ser 833437d592 render/drm_format_set: add wlr_drm_format_has
3 years ago
Simon Zeni 9579d62a16 types/buffer: make {begin,end}_data_ptr_access part of the public API
3 years ago
Simon Ser 4e7a8707cc buffer: add data_ptr access flags
3 years ago
Simon Ser 38cd1b4f4f render/allocator/gbm: add log message for gbm_bo_get_fd_for_plane
3 years ago
Simon Ser 7df2ae88fa render/allocator: use legacy authentication for primary nodes
3 years ago
Simon Ser d9d8fc1ab9 render/allocator: re-open GBM FD
3 years ago
Simon Ser 749b3c00f0 render/egl: reopen DRM node for GBM
3 years ago
Simon Ser 3ce2ea9e16 Move allocator stuff into new directory
3 years ago
Simon Ser ad7651a370 render/gles2: make wlr_gles2_texture a wlr_buffer addon
3 years ago
Simon Ser ee1156b62b render/gles2: make wlr_gles2_buffer an addon
3 years ago
Simon Ser 8a3cd28973 render/pixman/pixel_format: add more formats
3 years ago
Simon Ser b913e64f95 render/pixel_format: add more formats for Pixman
3 years ago
Manuel Stoeckl f5df956c18 render/gles2: add a few 10-bit and FP16 formats
3 years ago
Manuel Stoeckl 44e8451cd9 render/gles2: hide shm formats without GL support
3 years ago
Manuel Stoeckl 4dc52bcb6c render/pixel-format: add a few 10-bit and FP16 formats
3 years ago
Simon Ser f76960388f render/gles2: add support for some 24 and 16-bit formats
3 years ago
Simon Ser 6973361d60 render/pixel-format: add some 24 and 16-bit formats
3 years ago
Simon Zeni 6f19295647 render/egl: initialize wlr_egl with EGL_PLATFORM_DEVICE_EXT
3 years ago
yuiiio 7667ab73bd
render/egl: fix typo
3 years ago
Simon Ser 3cf2535c23 render/egl: add support for EGL_EXT_device_drm_render_node
3 years ago
Simon Ser ace2eda073 render/egl: set EGL_IMAGE_PRESERVED_KHR
3 years ago
Simon Zeni 04d4fb536d render/wlr_texture: put wlr_texture_from_buffer into the public API
3 years ago
Simon Ser 2fa47c1837 render: drop wlr_renderer_impl.init_wl_display
3 years ago
Simon Ser 5544973814 render/gles2: disable blending opportunistically
4 years ago
Simon Ser 9dba176e8d render/gles2: set has_alpha for DMA-BUFs
4 years ago
Simon Ser 9b70eab194 render/gles2: rename wlr_egl.exts to better match Khronos
4 years ago
Simon Ser 4c51a0f6eb render/egl: rename wlr_egl.exts to better match Khronos
4 years ago
Vyivel a362d21d6b render/pixman: fix texture_is_opaque()
4 years ago
Simon Zeni e192d87731 move wlr_box from /types to /util
4 years ago
Simon Ser 8a4957570f render/egl: remove EGL_WL_bind_wayland_display support
4 years ago
Simon Ser e5b5592a95 render: remove wl_drm support from wlr_renderer
4 years ago
Simon Ser 4e07d4cbf9 render/gles2: use wlr_drm for wl_drm implementation
4 years ago
Simon Ser a38baec1f8 buffer: make enum wlr_buffer_cap public
4 years ago
Simon Ser 29be2d47e4 render: drop wlr_renderer_impl.texture_from_dmabuf
4 years ago
Simon Ser 7ad44051a2 render: use wlr_dmabuf_buffer in wlr_texture_from_dmabuf
4 years ago
Simon Ser 18adb43a44 render: drop wlr_renderer_impl.texture_from_pixels
4 years ago
Simon Ser 29c8df7e0a render: use wlr_readonly_data_buffer in wlr_texture_from_pixels
4 years ago
Simon Ser 1db976cecb render/egl: replace wlr_egl_create with wlr_egl_create_with_drm_fd
4 years ago
Simon Ser a2419eb4ea render/egl: make most functions private
4 years ago
zccrs 3c03639cd5 render: add get native paint target of renderer
4 years ago
zccrs dc17ecd236 render/pixman: add wlr_*_is_pixman and wlr_pixman_texture_get_image
4 years ago
zccrs fdc40e071e render/gles2: add wlr_renderer_is_gles2
4 years ago
Simon Ser 2806154900 render: add missing arg to wlr_renderer_impl.get_buffer_caps
4 years ago
Simon Ser b2f6db3533 render: drop wlr_ prefix from wlr_renderer_bind_buffer
4 years ago
Simon Ser 625c66ef75 render/pixman: implement texture_from_buffer
4 years ago
Simon Ser 6e43d642b2 render/gles2: add support for DATA_PTR buffers in texture_from_buffer
4 years ago
Simon Ser 38ba5881a0 buffer: replace get_data_ptr with {begin,end}_data_ptr_access
4 years ago
Simon Ser 6430230d1f render: add wlr_renderer_begin_with_buffer
4 years ago
Simon Ser b732f094c6 render: disallow wlr_renderer_destroy while rendering
4 years ago
Simon Ser 766a24fa77 render/allocator: add wlr_allocator.buffer_caps
4 years ago
Simon Ser 5c30cf3d94 render/drm_dumb_allocator: check for DRM master
4 years ago
Simon Ser abf527b075 render/gles2: fix texture cleanup on destroy
4 years ago
Simon Ser beae3018cb render: relax stride check in wlr_texture_from_pixels
4 years ago
Simon Ser f73c04b801 render/pixman: avoid sqrt() in render_quad without rotation
4 years ago
Simon Ser 66e100ffbf render/gbm_allocator: add support for gbm_bo_get_fd_for_plane
4 years ago
Simon Ser f6ba26ff58 render/gles2: implement texture_from_buffer
4 years ago
Simon Ser 9d55f712e3 render: introduce wlr_texture_from_buffer
4 years ago
Simon Ser 9221ed7b4c render/gles2: add gles2_texture_create
4 years ago
Simon Ser 6f69e2f12e render/gles2: remove unnecessary EGL import ext checks
4 years ago
Simon Ser 6369f70931 render: remove wlr_texture_get_size
4 years ago
Simon Ser 101b9a193d render/egl: query and display EGL driver name
4 years ago
Simon Zeni ed7f2651b6 render: add DRM dumb buffer allocator
4 years ago
Simon Zeni 2c90e0f521 render/gbm_allocator: duplicate drm fd during creation process
4 years ago
Simon Ser 69d4cf19b5 render/gles2: assert texture comes from the same renderer
4 years ago
Simon Ser 5be76bb047 render/allocator: add allocator_autocreate_with_drm_fd
4 years ago
Simon Ser 619a975025 render: remove wlr_ prefix from wlr_renderer_autocreate_with_drm_fd
4 years ago
Simon Ser 1c1ef69326 Log when WLR_BACKENDS/WLR_RENDERER is set
4 years ago
Simon Zeni 318e3ac92c render/allocator: introduce wlr_allocator_autocreate
4 years ago
Simon Zeni 982498fab3 render: introduce renderer_get_render_buffer_caps
4 years ago
Simon Zeni a8c91fbac9 render/shm_allocator: make wlr_shm_allocator_create return a wlr_allocator
4 years ago
Simon Zeni c75aa71816 render/gbm_allocator: make wlr_gbm_allocator_create return a wlr_allocator
4 years ago
Simon Ser 3a04fb4560 render/pixman: check format is supported in create_buffer
4 years ago
Simon Ser 24fde77c62 buffer: add format param to get_data_ptr
4 years ago
Simon Zeni 144b41a45c pixman: implement read pixels
4 years ago
Simon Zeni 30706b71fb render/pixman: implement preferred_read_format
4 years ago
Simon Ser 5c699f09cb Log drmGetDevices2 error code
4 years ago
Simon Ser af78ecb86b render: unconditionally read WLR_RENDERER
4 years ago
Simon Zeni 8a27050b4e render/egl: fail on EGL_MESA_device_software
4 years ago
Simon Ser c314920a3d render: remove NULL checks in wlr_texture_impl.destroy
4 years ago
Simon Ser 8ca2b4cf49 render/pixman: destroy textures on renderer teardown
4 years ago
Simon Ser 661ba49564 render/gles2: destroy textures on renderer teardown
4 years ago
Simon Ser 9901d49fa5 render/pixman: cleanup when renderer is destroyed
4 years ago
Simon Ser 8e375ae340 render/gles2: log when creating renderer
4 years ago
Simon Zeni cdacf4f632 render: introduce WLR_RENDERER in wlr_renderer_autocreate_with_drm_fd
4 years ago
Simon Zeni 10c5199d85 render/gles2: introduce wlr_gles2_renderer_create_with_drm_fd
4 years ago
nyorain 572b5910bb render: Assert that texture dimensions are > 0
4 years ago
ayaka ed1924800d render: make GLES2 renderer optional
4 years ago
Simon Zeni 122d6c6988 renderer: create pixman renderer if getting drm fd failed
4 years ago
Simon Zeni 0d90dddfab render: introduce pixman renderer
4 years ago
Simon Ser c6b009ef85 render: introduce shared memory allocator
4 years ago
Simon Zeni 84dea55b20 render: rename get_dmabuf_render_formats into get_render_formats
4 years ago
Simon Ser 004cf887b7 render/gles2: prevent imported DMA-BUF textures from being mutated
4 years ago
Roman Gilg b36af22c94 backend: move get_drm_fd to public interface
4 years ago
Stephan Hilb 9f012cac2f drm: check for PRIME support
4 years ago
Simon Ser a109a80dca render: drop support for ellipses
4 years ago
Simon Ser 9ecfa4343a render: remove wlr_texture_to_dmabuf
4 years ago
Simon Ser 1cdef8da57 render: drop wlr_renderer_blit_dmabuf
4 years ago
zccrs 69e1997ebe render/egl: check "EGL_KHR_platform_gbm" for EGL gbm platform
4 years ago
Simon Ser b514d4afe2 render/egl: stop relying on platform for high priority
4 years ago
Simon Ser b89bcffea4 render/egl, backend/wayland: add workaround for split render/display setups
4 years ago
Simon Zeni 78d21fa131 render/gles2: remove depth and bpp gles2_pixel_format, use drm pixel format
4 years ago
Simon Zeni 9b3f2e327f render/pixel_format: add XBGR8888 and ABGR8888 format
4 years ago
Simon Zeni 50d2985607 Move render/shm_format functions to render/pixel_format
4 years ago
Simon Zeni 5fd82c6f54 render/pixel_format: introduce pixel format info table
4 years ago
Simon Ser 2382684e94 render/egl: don't fail on EGL_MESA_device_software
4 years ago
Simon Zeni 9601a2abf0 output: improve transform matrix calculation
4 years ago
Simon Ser 27fba3df43 render: use DRM formats in wlr_texture_from_pixels
4 years ago
Simon Ser b54ef3372d render: use DRM formats in wlr_renderer_read_pixels
4 years ago
Simon Ser 00bf6674b3 output: use DRM format in wlr_output_preferred_read_format
4 years ago
Simon Ser ddfee63055 render: use DRM formats in wlr_renderer_get_shm_texture_formats
4 years ago
Simon Ser 549435aee5 render/gles2: replace wlr_gles2_texture.wl_format with drm_format
4 years ago
Simon Ser fab396f149 render/gles2: convert format table to DRM formats
4 years ago
Simon Ser 5d6d76c61f render/shm_format: add wl_shm_format conversion helpers
4 years ago
Simon Ser bfd020047d render/gles2: remove current_buffer checks
4 years ago
Simon Ser 6ca59519c9 render/gles2: check buffer stride when uploading texture
4 years ago
Simon Ser 9396d8433a
render/gles2: remove YUV blocklist
4 years ago
Simon Ser 3d7aa73867 render/dmabuf: make src arg const in wlr_dmabuf_attributes_copy
4 years ago
Simon Ser 7ac2ce25e3 render/dmabuf: cleanup on wlr_dmabuf_attributes_copy error
4 years ago
Quantum 975d14b799 render/wlr_texture: clamp texture coordinates to edge by default
4 years ago
Simon Ser 01d21cdd9f render/egl: log whether DMA-BUF modifiers are supported
4 years ago
Brandon Dowdy f1d37c54c8 render/egl: add check for EGL_KHR_surfaceless_context
4 years ago
Brandon Dowdy 8aa38fe73e render/egl: remove *config_attribs and wlr_egl->config
4 years ago
Brandon Dowdy 705b3da7cb render/egl: remove wlr_egl_{create,destroy}_surface
4 years ago
Simon Ser a406f19479 render/egl: fix NULL dereference when using llvmpipe
4 years ago
Simon Zeni 6becc69ec9 render/egl: fail to create wlr_egl on software renderer
4 years ago
Simon Ser 4f06ce2550 render/gbm_allocator: avoid drmPrimeHandleToFD
4 years ago
Simon Ser 7c995b78b2 Revert "render: add wlr_egl_create_from_drm_fd function"
4 years ago
Simon Ser 54e5ef39c0 Revert "render/egl: remove unused gbm_device member"
4 years ago
Simon Zeni 306cf11d87 render/egl: remove unused gbm_device member
4 years ago
Simon Zeni ee31be167b render: add wlr_egl_create_from_drm_fd function
4 years ago
Simon Ser bf86110fc5 render/gbm_allocator: set modifier to INVALID if implicit
4 years ago
Simon Ser b5cefada92 render/gbm_allocator: export to DMA-BUF on init
4 years ago
Simon Ser 2f11914613 render: introduce private wlr_renderer_autocreate_with_drm_fd
4 years ago
Simon Ser 32c30481d3
render/egl: fix gbm_device use-after-free
4 years ago
Simon Ser afdf4dc890 render/gles2: make EGL context current in bind_buffer
4 years ago
Simon Zeni e128e6c08d render: drop egl parameters from wlr_renderer_autocreate
4 years ago
Simon Ser 87293d1b15
render: extract gles2 build files to subdir
4 years ago
Simon Ser c73a8cde83 render/gbm_allocator: fix gbm_device use-after-free
4 years ago
Simon Ser f0303978e3
render/gbm_allocator: log GBM backend name
4 years ago
Simon Ser 642b349e94 render/gles2: restore EGL context after texture operations
4 years ago
Simon Ser 02a086599c
render/gles2: save/restore EGL context in destroy_buffer
4 years ago
Simon Ser 3f7e0cf5f0 render/egl: remove surface and buffer age args from make_current
4 years ago
Simon Ser 1d461687d2 render/egl: replace init/finish with create/destroy
4 years ago
Simon Ser 50b120927d render/egl: remove wlr_egl_swap_buffers
4 years ago
Simon Ser 76ed2255ef render/egl: remove support for EGL_NATIVE_VISUAL_ID
4 years ago
Simon Ser 2585f322cb
render/gles2: fix EGL use-after-free
4 years ago
Simon Zeni b899a412e3 backend: remove wlr_egl from all backends
4 years ago
Simon Ser 07d75c99db render: remove EGL config and visual from wlr_renderer_autocreate
4 years ago
Simon Ser c4635c68d2 render/drm_format_set: add special case for LINEAR-only formats
4 years ago
Simon Ser b9460ab724
Stop using wlr_texture_get_size
4 years ago
Simon Ser d37214cb16 render/drm_format_set: add wlr_drm_format_{create,add}
4 years ago
Simon Ser bdf26f87d5
render/allocator: ignore NULL in wlr_allocator_destroy
4 years ago
Simon Ser 3fd8098881
render/gles2: require GL_EXT_unpack_subimage
4 years ago
Ilia Bozhinov 12ede67c62 egl: fix memory leak
4 years ago
Simon Ser f91e89fd9f render/gles2: query alpha size from render buffer
4 years ago
Simon Ser be8403e73d render/gles2: don't eglGetConfigAttrib on EGL_NO_CONFIG_KHR
4 years ago
Simon Ser 8a6930c138
render/drm_format_set: assert len <= cap when duplicating
4 years ago
Simon Ser 29da97c185
render/drm_format_set: allocate using cap when duplicating
4 years ago
Simon Ser 037710b1d4 render/egl: support config-less wlr_egl
4 years ago
Simon Ser 82443ea46b render/drm_format_set: introduce wlr_drm_format_intersect
4 years ago
Simon Ser 83a5d03bf3 render/egl: remove wlr_egl.external_only_dmabuf_formats
4 years ago
Simon Ser 1f15dd093d render: assert {X,A}RGB8888 are supported
4 years ago
Simon Ser c94ab99ae2 render: rename wlr_renderer_get_formats
4 years ago
Simon Ser 49115e9d5d render: rename wlr_renderer_get_dmabuf_formats
4 years ago
Simon Ser 5d008d9030 render: introduce wlr_renderer_get_dmabuf_render_formats
4 years ago
Simon Ser 61612ecb36 render: remove wlr_renderer_format_supported
4 years ago
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
5 years ago
Andri Yngvason e05a85327f render: gles2: Fix y-inversion in gles2_blit_dmabuf()
5 years ago
Simon Zeni 4a4da256dd render/gles2: use glGetAttribLocation instead of hardcoded indices
5 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"
7 years ago
Drew DeVault a0afedcd8f Move side-effect out of assert statement
7 years ago
emersion c4915d1492 render: add wlr_texture_is_opaque
7 years ago
emersion 7cbef15206
util: add wlr_ prefix to log symbols
7 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