613 Commits (fbf5982e3838ee28b5345e98832f6956c402b225)

Author SHA1 Message Date
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