GstVulkanFullScreenQuad
A GstVulkanFullScreenQuad is a helper object for rendering a single input image to an output GstBuffer
GstVulkanFullScreenQuad
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstVulkanFullScreenQuad
Members
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 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.
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.
Since : 1.22
gst_vulkan_full_screen_quad_enable_clear
gst_vulkan_full_screen_quad_enable_clear (GstVulkanFullScreenQuad * self, gboolean enable_clear)
Parameters:
self
–
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:
self
–
cmd
–
the GstVulkanCommandBuffer to fill with commands
fence
–
error
–
a GError to fill on error
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
–
gst_vulkan_full_screen_quad_get_queue
GstVulkanQueue * gst_vulkan_full_screen_quad_get_queue (GstVulkanFullScreenQuad * self)
Parameters:
self
–
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:
self
–
fence
–
a GstVulkanFence that will be signalled after submission
error
–
a GError filled on error
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:
self
–
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:
self
–
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:
self
–
indices
–
the index data. Must be a GstVulkanBufferMemory
n_indices
–
number of indices in indices
error
–
GError to fill on failure
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:
self
–
in_info
–
the input GstVideoInfo to set
out_info
–
the output GstVideoInfo to set
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:
self
–
buffer
(
[nullable])
–
the input GstBuffer to set
error
–
GError to fill on failure
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:
self
–
buffer
(
[nullable])
–
the output GstBuffer to set
error
–
GError to fill on failure
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:
self
–
vert
–
the vertex shader to set
frag
–
the fragment shader to set
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:
self
–
uniforms
–
the uniform data to set. Must be a GstVulkanBufferMemory
error
–
a GError to fill on failure
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:
self
–
vertices
–
the vertex data. Must be a GstVulkanBufferMemory
error
–
GError to fill on failure
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:
self
–
cmd
(
[transfer: full])
–
a GstVulkanCommandBuffer to submit
fence
–
a GstVulkanFence to signal on completion
error
–
a GError to fill on error
whether cmd could be submitted to the queue
Since : 1.18
The results of the search are