GstVulkanFullScreenQuad

A GstVulkanFullScreenQuad is a helper object for rendering a single input image to an output GstBuffer

GstVulkanFullScreenQuad

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstVulkanFullScreenQuad

Members

parent (GstObject) –

the parent GstObject

out_info (GstVideoInfo) –

the configured output GstVideoInfo

in_info (GstVideoInfo) –

the configured input GstVideoInfo

queue (GstVulkanQueue *) –

the GstVulkanQueue to submit GstVulkanCommandBuffer's on

render_pass (GstVulkanHandle *) –

the configured VkRenderPass

pipeline_layout (GstVulkanHandle *) –

the configured VkPipelineLayout

graphics_pipeline (GstVulkanHandle *) –

the configured VkPipeline

descriptor_set_layout (GstVulkanHandle *) –

the configured VkDescriptorSetLayout

descriptor_cache (GstVulkanDescriptorCache *) –

the configured GstVulkanDescriptorCache

descriptor_set (GstVulkanDescriptorSet *) –

the configured GstVulkanDescriptorSet

framebuffer (GstVulkanHandle *) –

the configured VkFramebuffer

sampler (GstVulkanHandle *) –

the configured VkSampler

cmd_pool (GstVulkanCommandPool *) –

the GstVulkanCommandPool to allocate GstVulkanCommandBuffer's from

trash_list (GstVulkanTrashList *) –

the GstVulkanTrashList for freeing unused resources

last_fence (GstVulkanFence *) –

the last configured GstVulkanFence

Since : 1.18


Class structure

GstVulkanFullScreenQuadClass

Fields
parent_class (GstObjectClass) –

the parent GstObjectClass

Since : 1.18


Constructors

gst_vulkan_full_screen_quad_new

GstVulkanFullScreenQuad *
gst_vulkan_full_screen_quad_new (GstVulkanQueue * queue)

Parameters:

queue

a GstVulkanQueue

Returns ( [transfer: full])

a new GstVulkanFullScreenQuad

Since : 1.18


Methods

gst_vulkan_full_screen_quad_draw

gboolean
gst_vulkan_full_screen_quad_draw (GstVulkanFullScreenQuad * self,
                                  GError ** error)

Helper function for creation and submission of a command buffer that draws a full screen quad. If you need to add other things to the command buffer, create the command buffer manually and call gst_vulkan_full_screen_quad_prepare_draw, gst_vulkan_full_screen_quad_fill_command_buffer and gst_vulkan_full_screen_quad_submit instead.

Parameters:

error

a GError filled on error

Returns

whether the draw was successful

Since : 1.18


gst_vulkan_full_screen_quad_enable_blend

gst_vulkan_full_screen_quad_enable_blend (GstVulkanFullScreenQuad * self,
                                          gboolean enable_blend)

Enables blending of the input image to the output image.

See also: gst_vulkan_full_screen_quad_set_blend_operation and gst_vulkan_full_screen_quad_set_blend_factors.

Parameters:

enable_blend

whether to enable blending

Since : 1.22


gst_vulkan_full_screen_quad_enable_clear

gst_vulkan_full_screen_quad_enable_clear (GstVulkanFullScreenQuad * self,
                                          gboolean enable_clear)

Parameters:

enable_clear

whether to clear the framebuffer on load

Since : 1.22


gst_vulkan_full_screen_quad_fill_command_buffer

gboolean
gst_vulkan_full_screen_quad_fill_command_buffer (GstVulkanFullScreenQuad * self,
                                                 GstVulkanCommandBuffer * cmd,
                                                 GstVulkanFence * fence,
                                                 GError ** error)

Parameters:

cmd

the GstVulkanCommandBuffer to fill with commands

fence
No description available
error

a GError to fill on error

Returns

whether cmd could be filled with the necessary commands

Since : 1.18


gst_vulkan_full_screen_quad_get_last_fence

GstVulkanFence *
gst_vulkan_full_screen_quad_get_last_fence (GstVulkanFullScreenQuad * self)

Parameters:

self
No description available
Returns
No description available

gst_vulkan_full_screen_quad_get_queue

GstVulkanQueue *
gst_vulkan_full_screen_quad_get_queue (GstVulkanFullScreenQuad * self)

Parameters:

Returns ( [transfer: full][nullable])

The currently configured GstVulkanQueue

Since : 1.26


gst_vulkan_full_screen_quad_prepare_draw

gboolean
gst_vulkan_full_screen_quad_prepare_draw (GstVulkanFullScreenQuad * self,
                                          GstVulkanFence * fence,
                                          GError ** error)

Parameters:

fence

a GstVulkanFence that will be signalled after submission

error

a GError filled on error

Returns

whether the necessary information could be generated for drawing a frame.

Since : 1.18


gst_vulkan_full_screen_quad_set_blend_factors

gst_vulkan_full_screen_quad_set_blend_factors (GstVulkanFullScreenQuad * self,
                                               VkBlendFactor src_blend_factor,
                                               VkBlendFactor dst_blend_factor,
                                               VkBlendFactor src_alpha_blend_factor,
                                               VkBlendFactor dst_alpha_blend_factor)

You need to enable blend with gst_vulkan_full_screen_quad_enable_blend.

See also: gst_vulkan_full_screen_quad_set_blend_operation.

Parameters:

src_blend_factor

the VkBlendFactor for the source image for the colour components (RGB)

dst_blend_factor

the VkBlendFactor for the destination image for the colour components (RGB)

src_alpha_blend_factor

the VkBlendFactor for the source image for the alpha component.

dst_alpha_blend_factor

the VkBlendFactor for the destination image for the alpha component.

Since : 1.22


gst_vulkan_full_screen_quad_set_blend_operation

gst_vulkan_full_screen_quad_set_blend_operation (GstVulkanFullScreenQuad * self,
                                                 VkBlendOp colour_blend_op,
                                                 VkBlendOp alpha_blend_op)

You need to enable blend with gst_vulkan_full_screen_quad_enable_blend.

See also: gst_vulkan_full_screen_quad_set_blend_factors.

Parameters:

colour_blend_op

the VkBlendOp to use for blending colour (RGB) values

alpha_blend_op

the VkBlendOp to use for blending alpha values

Since : 1.22


gst_vulkan_full_screen_quad_set_index_buffer

gboolean
gst_vulkan_full_screen_quad_set_index_buffer (GstVulkanFullScreenQuad * self,
                                              GstMemory * indices,
                                              gsize n_indices,
                                              GError ** error)

See also gst_vulkan_full_screen_quad_set_vertex_buffer

Parameters:

indices

the index data. Must be a GstVulkanBufferMemory

n_indices

number of indices in indices

error

GError to fill on failure

Returns

whether the index data could be set

Since : 1.18


gst_vulkan_full_screen_quad_set_info

gboolean
gst_vulkan_full_screen_quad_set_info (GstVulkanFullScreenQuad * self,
                                      const GstVideoInfo * in_info,
                                      const GstVideoInfo * out_info)

Parameters:

in_info

the input GstVideoInfo to set

out_info

the output GstVideoInfo to set

Returns

whether the information could be successfully set

Since : 1.18


gst_vulkan_full_screen_quad_set_input_buffer

gboolean
gst_vulkan_full_screen_quad_set_input_buffer (GstVulkanFullScreenQuad * self,
                                              GstBuffer * buffer,
                                              GError ** error)

Parameters:

buffer ( [nullable])

the input GstBuffer to set

error

GError to fill on failure

Returns

whether the input buffer could be changed

Since : 1.18


gst_vulkan_full_screen_quad_set_output_buffer

gboolean
gst_vulkan_full_screen_quad_set_output_buffer (GstVulkanFullScreenQuad * self,
                                               GstBuffer * buffer,
                                               GError ** error)

Parameters:

buffer ( [nullable])

the output GstBuffer to set

error

GError to fill on failure

Returns

whether the input buffer could be changed

Since : 1.18


gst_vulkan_full_screen_quad_set_shaders

gboolean
gst_vulkan_full_screen_quad_set_shaders (GstVulkanFullScreenQuad * self,
                                         GstVulkanHandle * vert,
                                         GstVulkanHandle * frag)

Parameters:

vert

the vertex shader to set

frag

the fragment shader to set

Returns

whether the shaders could be set

Since : 1.18


gst_vulkan_full_screen_quad_set_uniform_buffer

gboolean
gst_vulkan_full_screen_quad_set_uniform_buffer (GstVulkanFullScreenQuad * self,
                                                GstMemory * uniforms,
                                                GError ** error)

Parameters:

uniforms

the uniform data to set. Must be a GstVulkanBufferMemory

error

a GError to fill on failure

Returns

whether the shaders could be set

Since : 1.18


gst_vulkan_full_screen_quad_set_vertex_buffer

gboolean
gst_vulkan_full_screen_quad_set_vertex_buffer (GstVulkanFullScreenQuad * self,
                                               GstMemory * vertices,
                                               GError ** error)

Parameters:

vertices

the vertex data. Must be a GstVulkanBufferMemory

error

GError to fill on failure

Returns

whether the index data could be set

Since : 1.18


gst_vulkan_full_screen_quad_submit

gboolean
gst_vulkan_full_screen_quad_submit (GstVulkanFullScreenQuad * self,
                                    GstVulkanCommandBuffer * cmd,
                                    GstVulkanFence * fence,
                                    GError ** error)

Parameters:

cmd ( [transfer: full])

a GstVulkanCommandBuffer to submit

fence

a GstVulkanFence to signal on completion

error

a GError to fill on error

Returns

whether cmd could be submitted to the queue

Since : 1.18


The results of the search are