835 Commits (f16a3c11806d0a52c99b7c843334b89330b84c73)

Author SHA1 Message Date
Simon Ser beb820b573 render/vulkan: improve error handling in vulkan_begin_render_pass()
2 years ago
Simon Ser 0ba3ea3bcd render/vulkan: improve error handling in render_pass_submit()
2 years ago
Simon Ser ba276e5ac2 render/vulkan: handle vulkan_record_stage_cb() failures
2 years ago
Simon Ser e07c77f846 render/vulkan: implement render pass API
2 years ago
Alexander Orzechowski 8af00d5534 renderer/gles2: Implement render pass interface
2 years ago
Alexander Orzechowski b1d26ed47b renderer/gles2: Compute texture coordinates based off of vertex positions
2 years ago
Alexander Orzechowski 45b2a8eee2 renderer/gles2: Merge get_buffer and create_buffer
2 years ago
Alexander Orzechowski 6f67bfe5ab renderer/gles2: Interpret matrix as column major in shader
2 years ago
Simon Ser 3de330ec85 render/vulkan: add 10, 12, and 16-bit YCbCr formats
2 years ago
Simon Ser 28e8d92263 render/vulkan: document TEXTURE_TRANSFORM_* in shader
2 years ago
Simon Ser f60b367db7 render/vulkan: drop unused vulkan_has_extension()
2 years ago
Simon Ser 42eec38ab6 render/vulkan: drop unused vulkan_change_layout_queue()
2 years ago
Simon Ser 4d634276a4 render/egl: check for EGL_EXT_device_query in get_egl_device_from_drm_fd()
2 years ago
Simon Ser 7099fa2ea4 render/vulkan: de-dup pipeline layout initialization
2 years ago
Simon Ser 16dea12dae render/vulkan: add more YCbCr formats
2 years ago
Simon Ser a682fa6c21 render/vulkan: require support for linear filter for YCbCr
2 years ago
Simon Ser 91d469d8c0 render/vulkan: check format support before creating YCbCr sampler
2 years ago
Simon Ser c7ae9dfaf8 render/vulkan: generalize YCbCr format support
2 years ago
Simon Ser 50b494d0f9 render/vulkan: add init_{default,ycbcr}_pipeline_layout()
2 years ago
Simon Ser 5ea0eb3468 render/vulkan: add vulkan_get_pipeline_layout()
2 years ago
Simon Ser fd38761676 render/vulkan: introduce struct wlr_vk_pipeline_layout
2 years ago
Simon Ser db619009dc render/vulkan: use same sampler params for RGBA and NV12
2 years ago
Simon Ser 9755016422 render/vulkan: use VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE for default sampler
2 years ago
Simon Ser fe7c998666 render/vulkan: use identity swizzle for YCbCr formats
2 years ago
Simon Ser 091aa5582a render/vulkan: fix VkPipelineLayout when texturing NV12
2 years ago
Simon Ser fc3ad784e0 render/vulkan: extract quad pipeline init to separate function
2 years ago
Simon Ser 09f5a00585 render/vulkan: fix YCbCr format check in vulkan_texture_from_pixels()
2 years ago
Simon Ser d7bebb0a4c render/vulkan: drop unnecessary comments
2 years ago
Simon Ser 17b10746b4 render/pixel-format: add YVYU and VYUY
2 years ago
Simon Ser 96f3f3c92e render/pixel-format: add support for block-based formats
2 years ago
Tobias Predel e449c1dec8 wlr_drm_format_set_copy: Do not allocate heap
2 years ago
Manuel Stoeckl 10dd416694 render/vulkan: allow rendering to non-8-bit buffers
2 years ago
Simon Ser 8cdc4b7a31 render/vulkan: wait for idle queue before destroying render buffer
2 years ago
Alexander Orzechowski 47e175ae7f wlr_drm_format_set_intersect: Clear destination before trying to write to it
2 years ago
Alexander Orzechowski 300bd80772 wlr_drm_format_set: Store formats on array
2 years ago
Alexander Orzechowski 90d08f8f1c wlr_drm_format: Rework wlr_drm_format_intersect
2 years ago
Alexander Orzechowski 340700cb70 wlr_drm_format: Change wlr_drm_format_dup to copy
2 years ago
Alexander Orzechowski 099a147439 wlr_drm_format: Change wlr_drm_format_create to init
2 years ago
Alexander Orzechowski e427e019c4 wlr_drm_format: Don't take double pointer in wlr_drm_format_add
2 years ago
Alexander Orzechowski e6879616e7 wlr_drm_format: Make structure constant length
2 years ago
Alexander Orzechowski b45396c790 wlr_drm_format: Introduce drm_format_finish
2 years ago
Simon Ser e353c5c631 render/vulkan: enable NV12 on big-endian
2 years ago
Simon Ser 095a63a11c render/vulkan: improve logging when creating texture
2 years ago
Manuel Stoeckl e6fc5d1e49 render/vulkan: increase next descriptor pool size
2 years ago
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
3 years ago
Simon Ser c20468cfa2 render: use internal_features to indicate EGL support
3 years ago
Simon Ser b9d55b8769 render/gles2: check GBM is found
3 years ago
Simon Ser 29291cb47c render/texture: drop wlr_texture_is_opaque
3 years ago
bi4k8 369c6525d7 render/egl: don't leak memory on error return
3 years ago
bi4k8 f295aff762 Add missing &
3 years ago
bi4k8 35d1bcff6f render/vulkan/pixel_format: do not leak props->...
3 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