Alexander Orzechowski
5f6912595e
renderer/vulkan: Defer device lost signal until end of pass
...
If the compositor were to try to handle a GPU reset within the lost
signal (by recreating the renderer) we should avoid referencing renderer
resources after the lost signal. This prevents use after free for such
compositors.
1 year ago
Alexander Orzechowski
2044cc2311
render: Introduce wlr_render_texture_options.blend_mode
1 year ago
Alexander Orzechowski
6bd44c4fcd
renderer: Introduce wlr_scale_filter_mode
1 year ago
Alexander Orzechowski
3ee0f52e09
render/vulkan: Dynamically create texture views
...
Now that we are dynamically creating pipeline layouts, we need separate
texture views for each pipeline layout we choose to use with a texture.
1 year ago
Alexander Orzechowski
8a387b5558
render/vulkan: Dynamically create pipeline layouts
...
These will happen lazily when pipelines get created.
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
...
If we ever wanted to handle dynamic state that requires new pipelines
such as using different texture filters those can be added here with more
ease.
1 year ago
Simon Ser
30616bcf0c
render/vulkan: reset scissor before post-blend subpass
...
Otherwise only the last command's area will be copied over.
1 year ago
Simon Ser
150a88bd03
render/vulkan: fix blend subpass matrix
...
renderer->render_{width,height} are unused with the render pass
API.
1 year ago
Simon Ser
fd9e4b860f
render/vulkan: fix bound pipeline check for output_pipe
...
renderer->bound_pipe is legacy, pass->bound_pipeline is used for
the render pass API code-path.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3657
1 year ago
Simon Ser
beb820b573
render/vulkan: improve error handling in vulkan_begin_render_pass()
...
Release the command buffer if we end up not submitting it.
2 years ago
Simon Ser
0ba3ea3bcd
render/vulkan: improve error handling in render_pass_submit()
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3644
2 years ago
Simon Ser
e07c77f846
render/vulkan: implement render pass API
2 years ago