835 Commits (5083efe18bb0c1e420b40da85b20c8979c49cd89)

Author SHA1 Message Date
Simon Ser 5adf325333 render/vulkan: undo alpha premult before sRGB encoding/decoding
1 year ago
Simon Ser 0b15b4a6ae render/allocator: log message when GBM is disabled
1 year ago
Simon Ser db7751f39e render: log error when requested renderer is compile-time disabled
1 year ago
Manuel Stoeckl e0adaaffb6 render/vulkan: constrain blend to output subpass to redrawn region
1 year ago
Alexander Orzechowski d817ebb80f renderer: Don't crash when trying to fallback to pixman
1 year ago
Alexander Orzechowski 4f92ecde82 renderer_autocreate_with_drm_fd: Ensure fd isn't bogus
1 year ago
Alexander Orzechowski 1b0694b794 treewide: Migrate from sizeof(struct) to sizeof(*pointer) where practical
1 year ago
Alexander Orzechowski 98a745d926 render/pass: Remove empty box early return
1 year ago
Alexander Orzechowski e9706e62f5 renderer: Use wlr_render_rect_options_get_box
1 year ago
Alexander Orzechowski 5299d973d5 render/pass: Introduce wlr_render_rect_options_get_box
1 year ago
Manuel Stoeckl 5aea90264f render/vulkan: fix validation error with vkCmdBlitImage
1 year ago
Simon Ser 65bbbbbf0c render/vulkan: de-duplicate VkImageUsageFlags
1 year ago
Simon Ser 7bf6c1fc6c render/pass: ensure rect has positive size
1 year ago
Manuel Stoeckl a94168b5fe render: ensure wlr_render_rect_options->box is nonempty
1 year ago
Simon Ser 11aba53ead render: only open DRM render node if necessary
1 year ago
Alexander Orzechowski ce615a44c0 egl: Don't assume display is owned when KHR_display_reference is unsupported
1 year ago
Alexander Orzechowski 91a1797a96 egl: Remove dead code
1 year ago
Alexander Orzechowski 5f6912595e renderer/vulkan: Defer device lost signal until end of pass
1 year ago
Alexander Orzechowski 664ec59095 renderer: Sanity check texture source bounds
1 year ago
Simon Ser c74f89d4f8 Avoid using memcpy() to copy structs
1 year ago
q234rty 061f5fafbd render/vulkan: use renamed glslang binary by default
1 year ago
Simon Ser 1205f03ec9 render/gles2: wrap timer setup in push_gles2_debug()
1 year ago
Simon Ser b7dca21c2b render: constify struct wlr_buffer_pass_options
1 year ago
Simon Ser fe06e5f49a Use wl_container_of() instead of casts
1 year ago
Simon Ser c2c536de03 render/gles2: drop unnecessary cast
1 year ago
Simon Ser 7a9f8d8d6b Use struct initializers instead of memset()
1 year ago
Alexander Orzechowski 38d451bcb5 render/vulkan: Don't compute texture.has_alpha until first...
1 year ago
Alexander Orzechowski 06c0b0a204 render/vulkan: Initialize to fix compilation error
1 year ago
Simon Ser be73da28b2 allocator: only use DRM auth if we are master
1 year ago
Alexander Orzechowski 2044cc2311 render: Introduce wlr_render_texture_options.blend_mode
1 year ago
Alexander Orzechowski 693005ac99 pixman: Remove dead code
1 year ago
Alexander Orzechowski 6bd44c4fcd renderer: Introduce wlr_scale_filter_mode
1 year ago
Alexander Orzechowski 3ee0f52e09 render/vulkan: Dynamically create texture views
1 year ago
Alexander Orzechowski 7c5a3afd60 render/vulkan: Inline init_sampler
1 year ago
Alexander Orzechowski 8a387b5558 render/vulkan: Dynamically create pipeline layouts
1 year ago
Alexander Orzechowski 3623005858 render/vulkan/pipeline_key: Add blending
1 year ago
Alexander Orzechowski 9d31372930 render/vulkan: Handle quad pipeline through generic pipeline path
1 year ago
Alexander Orzechowski 97fdd57eb2 render/vulkan: Dynamically handle pipeline creation for textures
1 year ago
Simon Ser 709c9dd287 render/vulkan: rename tex_usage to shm_tex_usage
1 year ago
Simon Ser 30616bcf0c render/vulkan: reset scissor before post-blend subpass
1 year ago
Simon Ser 150a88bd03 render/vulkan: fix blend subpass matrix
1 year ago
Simon Ser fd9e4b860f render/vulkan: fix bound pipeline check for output_pipe
1 year ago
Simon Ser 1b947c08c6 render/vulkan: require format info for shm
1 year ago
Simon Ser 2a2f0772a9 render/vulkan: de-duplicate texture VkImageView init
1 year ago
Simon Ser cebe991e95 render/vulkan: split off YCbCr texture features
1 year ago
Simon Ser fdb199a43c render/vulkan: rename tex_features to shm_tex_features
1 year ago
Alexander Orzechowski 398c6b66c6 render/gles2: Handle NULL timer
1 year ago
Alexander Orzechowski e0424b24f6 renderer: Don't pass NULL options
1 year ago
Rose Hudson 45ca284eee render/gles2: implement timer API
1 year ago
Rose Hudson 9e8947e4d5 add render timer API
1 year ago
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