841 Commits (a0450d219fbc8a453876e70f29b9b5c2f76b0c64)

Author SHA1 Message Date
Simon Ser b03f71fe5f render/vulkan: add support for NV12
2 years ago
Alexander Orzechowski 5adb1be3a7 drm_format_set_intersect: Require initialized dst and remove assert
2 years ago
Alexander Orzechowski 1ee75786b4 drm_format_set_union: Require initialized dst and remove assert
2 years ago
Simon Ser 403eac51c4 render/vulkan: fix code style for function brackets
2 years ago
Austin Shafer ec37d55a5e Add union function for format sets
2 years ago
Simon Ser a93fc8afd6 render: introduce blend mode
2 years ago
Simon Ser 6b7d1d732a render/pixman: fix scaling in render_pass_add_texture()
2 years ago
Simon Ser f5a5712a02 render/vulkan: use VK_KHR_synchronization2
2 years ago
Simon Ser 6830bfc17f render/pixman: implement render pass API
2 years ago
Simon Ser 6ce371a317 render/pixman: add begin_pixman_data_ptr_access()
2 years ago
Simon Ser 471249ae4f render/pass: add legacy render pass implementation
2 years ago
Simon Ser 4a1ad32534 render: add render pass helpers
2 years ago
Simon Ser 756dedae20 Add a new renderer API
2 years ago
Simon Ser d795824346 render/vulkan: fix signedness of strcmp() return value
2 years ago
Simon Ser 62e60ba889 render/vulkan: use initializer in vulkan_change_layout_queue()
2 years ago
Simon Ser 74e8fd8a9a render/vulkan: remove extra newline
2 years ago
Simon Ser 92b726ef67 render/vulkan: use full names for extension command fields
2 years ago
Manuel Stoeckl 40dde59475 render/gles2: use byte-aligned rows for glReadPixels
2 years ago
Simon Ser 59d2743c0c render/vulkan: avoid double-close on sync_file FD after semaphore import
2 years ago
Brett Ernst 7d9938c957 drm_format_set: fix realloc size
2 years ago
Simon Ser 40117e1e0d render/vulkan: prefer render node for wlr_renderer_get_drm_fd()
2 years ago
Jan Beich 59acc69737 vulkan: silence -Wint-conversion on 32-bit architectures
2 years ago
Simon Ser 8619ffab21 swapchain: remove allocator listener on destroy
2 years ago
Simon Ser b33ab26fe7 render/swapchain: make public
2 years ago
Simon Zeni 782b5e6565 Revert "render/egl: skip incompatible EGL devices"
2 years ago
Eric Engestrom c73e20628a render/egl: skip incompatible EGL devices
2 years ago
Simon Ser 677a3f2f88 render/gles2: default to highp if available
2 years ago
Simon Ser 0534d12b28 render/gles2: use correct type for shader type
2 years ago
Simon Ser 377668aaf6 render/vulkan: check that requested size is smaller than max
2 years ago
Brett Ernst 1ba322e9ff vulkan: increase max stage size to support large buffers
2 years ago
llyyr 10e16db738 render/vulkan: use correct source offset in read_pixels
2 years ago
Kirill Primak faa31d123f render/vulkan: always finish buffer addon on texture destroy
2 years ago
Kirill Primak 0702eb9219 render/vulkan: remove NULL renderer check on texture destroy
2 years ago
Simon Ser f12cdc53f3 render/egl: stop advertising render support for external-only formats
2 years ago
Simon Ser 80074d95fb egl: consistently use EGLint for DMA-BUF format
2 years ago
Simon Ser 32fc23a383 render/pixman: skip mask for opaque texture rendering
2 years ago
Simon Ser 86fc2199f8 build: unify naming for HAVE_* defines
2 years ago
Simon Ser cb6b1193c8 render/allocator/gbm: use internal_config
2 years ago
Simon Ser 1bd0ba3949 render: simplify renderer_autocreate_with_drm_fd()
2 years ago
Simon Ser 8456ac6fa9 render/vulkan: wait for DMA-BUF fences
2 years ago
Simon Ser 30219cf76b render/dmabuf: add dmabuf_export_sync_file()
2 years ago
Simon Ser a37a22e344 render/vulkan: use initializers for VkSubmitInfo
2 years ago
Simon Ser 666c45bb29 render/vulkan: remove stage_cb conditional
2 years ago
Simon Ser dd5be430b4 render/vulkan: remove pre_cb in vulkan_end()
2 years ago
Simon Ser 27e057319a render/vulkan: fix vkCmdClearAttachments validation error
2 years ago
Simon Ser d6ff20268b render/vulkan: fix comma
2 years ago
Simon Ser 56326c7998 render/vulkan: use initializers for VkImageMemoryBarrier
2 years ago
Simon Ser 79aea58834 render/vulkan: fix missing pSignalSemaphores for stage CB
2 years ago
Simon Ser 47a038c90e render/vulkan: move VkDescriptorSetAllocateInfo down
2 years ago
Simon Zeni 4b3bbb0c4f render/drm_format_set: fill dst in wlr_drm_format_set_copy
2 years ago
Simon Ser 337ef33edc render/vulkan: make shm/dmabuf split clearer in wlr_vk_format_props
2 years ago
Simon Ser db9d277614 render/vulkan: make vulkan_format_props_find_modifier() return value const
2 years ago
Simon Ser b4ad4671dc render/vulkan: check for barrier array alloc failure
2 years ago
Simon Ser bc7f8de842 render/vulkan: improve message on format prop error
2 years ago
Simon Ser 338a9616bd render/vulkan: simplify vulkan_format_props_query()
2 years ago
Simon Ser a3874cac6c render/vulkan: extract DMA-BUF format query to separate function
2 years ago
Simon Ser c9b378d21a render/drm-format-set: add wlr_drm_format_set_copy()
2 years ago
Simon Ser 21c4516838 render/vulkan: add 64-bit UNORM and SFLOAT formats
2 years ago
Simon Ser 9f938f7f2a render/vulkan: add more packed formats
2 years ago
Simon Ser 171c9081d1 render/vulkan: add more 8 bits per channel formats
2 years ago
Simon Ser e31c741d2a render/pixel-format: drop unnecessary fields in the table
2 years ago
Simon Ser e97ce5f459 render/pixel-format: add various new formats
2 years ago
Simon Ser ad165f7daf render/vulkan: explain format mapping with DRM
2 years ago
Simon Ser 8b9a48c984 render/vulkan: drop "_format" in wlr_vk_format fields
2 years ago
Alexander Orzechowski db0e962368 wlr_texture: Expose owning renderer
2 years ago
Simon Ser c99c60090c linux-dmabuf-v1: add version arg to create()
2 years ago
Simon Ser 444d94ef89 linux-dmabuf-v1: add "_with_renderer" suffix to create() function
2 years ago
Simon Ser d2238bf722 render/vulkan: import semaphore to DMA-BUF instead of blocking
2 years ago
Simon Ser aaf828d3d2 render/dmabuf: add dmabuf_import_sync_file
2 years ago
Simon Ser 10f543d579 render/vulkan: release stage buffers after command buffer completes
2 years ago
Simon Ser 2a414c896e render/vulkan: destroy textures after command buffer completes
2 years ago
Simon Ser 0730552e85 render/vulkan: drop unused fields from wlr_vk_format_modifier_props
2 years ago
Manuel Stoeckl c02872e033 render/vulkan: align staging buffers for texture upload
2 years ago
Manuel Stoeckl 3ed69b4946 render/vulkan: add support for RGB565 texture format
2 years ago
Simon Ser 99134c26b8 render: stop pulling <wlr/backend.h>
2 years ago
Manuel Stoeckl b97ef59393 render/vulkan: update shm texture data in one batch
2 years ago
Simon Ser fdb24d19ca allocator/drm_dumb: use libdrm dumb buffer helpers
2 years ago
Simon Ser da3616d183 render: use wlr_shm in wlr_renderer_init_wl_shm()
2 years ago
Simon Ser 6e88eeadeb render/pixel_format: import pixel_format_info_check_stride()
2 years ago
Simon Ser d6e2ab5145 render/vulkan: detect device loss
2 years ago
Simon Ser 165352e32f render/egl: enable EGL_LOSE_CONTEXT_ON_RESET
2 years ago
Simon Ser 261d6998fb render/gles2: query glGetGraphicsResetStatusKHR
2 years ago
Simon Ser 31ea61b390 render: add wlr_renderer.events.lost
2 years ago
Simon Ser a541c9510a render: make wlr_renderer_begin return a bool
2 years ago
Simon Ser 23540b5579 render: allow wlr_renderer_impl.begin to fail
2 years ago
zccrs 5b34fe5513 render/vulkan: add wlr_vk_texture_has_alpha
2 years ago
Simon Ser 6baf045590 render/texture: constify wlr_texture_update_from_buffer()
2 years ago
Simon Zeni f3ba14e491 render/vulkan: remove hardcoded validation layers
2 years ago
Simon Zeni ed71915742 render/egl: fix uninitialized pointers in init_dmabuf_formats
2 years ago
Simon Ser e1ba64c4b7 render/vulkan: use initializer for VkBufferImageCopy
2 years ago
Simon Ser d112c2d922 render/vulkan: wait for device to become idle in vulkan_destroy()
2 years ago
Simon Ser f4f3c15c1e render/vulkan: always wait for last stage to complete before rendering
2 years ago
Simon Ser 7fdcb45e66 render/vulkan: use command buffer pool for stage
2 years ago
Simon Ser f1eae0eeeb render/vulkan: add a command buffer pool
2 years ago
Simon Ser a8a194d695 render/vulkan: switch to timeline semaphores
2 years ago
Simon Ser f92d1499cd render/vulkan: add helper to load command function pointer
2 years ago
Kirill Primak c284700deb Revert "render/pixman: apply source image cropping"
2 years ago
zccrs 270914d379 render/vulkan: add some interfaces to allow compositors to integrate
2 years ago
Kirill Primak 9fefeb69d6 render/pixman: apply source image cropping
2 years ago
Simon Ser 6c31f3b078 render/vulkan: use wl_array for wlr_vk_shared_buffer.allocs
2 years ago
Simon Ser 9a5cc36818 render/vulkan: simplify texture VkPipelineShaderStageCreateInfo
2 years ago
Simon Ser cfb768aab9 render/vulkan: use struct initializers
2 years ago
Simon Ser 7f5180af77 render/vulkan: simplify extension checks
2 years ago
Simon Ser 2ac2835a1f render/vulkan: remove exts arg from vulkan_instance_create()
2 years ago
David96 7a42392da2 render/vulkan: add caching to vulkan_read_pixels
2 years ago
Simon Ser 4d04144b92 render/gles2: de-duplicate vertex shaders
2 years ago
Simon Ser d69018c195 render/gles2: move color uniform from quad.vert to quad.frag
2 years ago
Simon Ser a75f9be2e8 render/gles2: move shaders to individual files
2 years ago
Simon Ser bc416ed752 render/gles2: log error on shader compilation failure
2 years ago
Simon Ser 6d90518c97 egl: add WLR_EGL_NO_MODIFIERS
2 years ago
Simon Ser 9e5ad7a845 render/vulkan: add missing entries in vulkan_strerror()
2 years ago
Gentaiii 11192e6930 Fixed false allocation failed
2 years ago
Simon Ser 221ee83d44 render/vulkan: drop wlr_vk_instance.extensions
2 years ago
Simon Ser 9549749507 render/gles2: assert that GL_OES_EGL_image_external is supported
2 years ago
John Lindgren ab8341975e render/vulkan: Fix type-punned pointer warning/error
2 years ago
David96 f885aa0fbe render/vulkan: implement vulkan_preferred_read_format
2 years ago
David96 dce1372e35 render/vulkan: Implement vulkan_read_pixels
2 years ago
Simon Ser 6832ae14aa render: drop wlr_renderer_read_pixels() flags
2 years ago
Simon Ser 58d4cfaca3 render/allocator/drm_dumb: drop finish_buffer()
2 years ago
Simon Ser c659792d7b render/allocator/drm_dumb: fix error handling
2 years ago
Simon Ser 3e7ea8715b render/allocator/drm_dumb: get format info before allocating
2 years ago
Simon Ser d81f68d2b4 render/allocator/drm_dumb: check modifier list
2 years ago
Simon Ser 5ef8a18a29 render/allocator/drm_dumb: advertise LINEAR instead of INVALID modifier
2 years ago
Simon Ser 3799649333 render/pixman: advertise support for linear format modifier
2 years ago
Simon Ser 49738406a3 render: don't fall back to Pixman if we have a render node
2 years ago
Simon Ser db08004c23 render: don't automatically fall back to Vulkan
2 years ago
Simon Ser e4efb6b601 render/vulkan: use addon for wlr_vk_texture
2 years ago
Simon Ser 7899b97d20 render/vulkan: use addon for wlr_vk_render_buffer
2 years ago
Simon Ser bcc6a5832f render: drop trailing whitespace
2 years ago
Simon Ser 8d6d2101bc render/vulkan: add error handling for vulkan_find_mem_type()
2 years ago
Simon Ser 5206cea566 render/egl: add support for EGL_KHR_display_reference
2 years ago
Simon Ser bca60c4eec render/vulkan: improve format logging
2 years ago
Simon Ser 80cb89acee render/allocator/gbm: log human-readable format and modifier
2 years ago
Simon Ser 4ad79d05ca render/egl: improve DMA-BUF format/modifier logging
2 years ago
Simon Ser 8026953df7 render/vulkan: remove unnecessary casts
2 years ago
Simon Ser 30769723c1 render/vulkan: fix format features check for shm textures
2 years ago
Simon Ser ed018a3ee2 render/vulkan: drop wlr_vk_device.extensions
2 years ago
Simon Ser e19007dede render/vulkan: drop ext params from vulkan_device_create()
2 years ago
fakechen 30fafe4f4a egl: modify egl_init_display function definition
2 years ago
Alexander Orzechowski 9b091f528e pixel_format: RGBA4444 and RGBA5551 have alpha components
2 years ago
Bernardo Meurer eee0f5e71f
render/vulkan: fix memory type detection
2 years ago
Alexander Orzechowski 8bd7170fd9 Use env helpers
2 years ago
Alexander Orzechowski ef4baea0e2 Use wl_signal_emit_mutable
2 years ago
Simon Ser 98cf38601f render: replace wlr_texture_write_pixels with update_from_buffer
2 years ago
Manuel Stoeckl 972a5cdf7a render/gles2: simplify alpha depth check
2 years ago
Simon Ser e26c3a02df build: fix enabled GBM when allocators=auto and auto_features=disabled
2 years ago
Simon Ser c20468cfa2 render: use internal_features to indicate EGL support
2 years ago
Simon Ser b9d55b8769 render/gles2: check GBM is found
2 years ago
Simon Ser 29291cb47c render/texture: drop wlr_texture_is_opaque
2 years ago
bi4k8 369c6525d7 render/egl: don't leak memory on error return
2 years ago
bi4k8 f295aff762 Add missing &
2 years ago
bi4k8 35d1bcff6f render/vulkan/pixel_format: do not leak props->...
2 years ago
Simon Ser 96b594110d matrix: remove wlr_matrix_projection()
3 years ago
Simon Ser c2e046022f render/gles2: simplify flipped projection
3 years ago
Alexander Orzechowski bd7b42eb9f dmabuf: Don't leak file descriptors on error path
3 years ago
Simon Ser 99f63b03e7 Remove remaining wl_signal_emit calls
3 years ago
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
3 years ago
Simon Ser 9dba176e8d render/gles2: set has_alpha for DMA-BUFs
3 years ago
Simon Ser 9b70eab194 render/gles2: rename wlr_egl.exts to better match Khronos
3 years ago
Simon Ser 4c51a0f6eb render/egl: rename wlr_egl.exts to better match Khronos
3 years ago
Vyivel a362d21d6b render/pixman: fix texture_is_opaque()
3 years ago
Simon Zeni e192d87731 move wlr_box from /types to /util
3 years ago
Simon Ser 8a4957570f render/egl: remove EGL_WL_bind_wayland_display support
3 years ago
Simon Ser e5b5592a95 render: remove wl_drm support from wlr_renderer
3 years ago
Simon Ser 4e07d4cbf9 render/gles2: use wlr_drm for wl_drm implementation
3 years ago
Simon Ser a38baec1f8 buffer: make enum wlr_buffer_cap public
3 years ago
Simon Ser 29be2d47e4 render: drop wlr_renderer_impl.texture_from_dmabuf
3 years ago
Simon Ser 7ad44051a2 render: use wlr_dmabuf_buffer in wlr_texture_from_dmabuf
3 years ago
Simon Ser 18adb43a44 render: drop wlr_renderer_impl.texture_from_pixels
3 years ago
Simon Ser 29c8df7e0a render: use wlr_readonly_data_buffer in wlr_texture_from_pixels
3 years ago
Simon Ser 1db976cecb render/egl: replace wlr_egl_create with wlr_egl_create_with_drm_fd
3 years ago
Simon Ser a2419eb4ea render/egl: make most functions private
3 years ago
zccrs 3c03639cd5 render: add get native paint target of renderer
3 years ago
zccrs dc17ecd236 render/pixman: add wlr_*_is_pixman and wlr_pixman_texture_get_image
3 years ago
zccrs fdc40e071e render/gles2: add wlr_renderer_is_gles2
3 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