Blender V5.0
blender::gpu::render_graph::VKCommandBufferInterface Class Referenceabstract

#include <vk_command_buffer_wrapper.hh>

Inherited by blender::gpu::render_graph::CommandBufferLog, and blender::gpu::render_graph::VKCommandBufferWrapper.

Public Member Functions

 VKCommandBufferInterface ()
virtual ~VKCommandBufferInterface ()=default
virtual void begin_recording ()=0
virtual void end_recording ()=0
virtual void bind_pipeline (VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline)=0
virtual void bind_descriptor_sets (VkPipelineBindPoint pipeline_bind_point, VkPipelineLayout layout, uint32_t first_set, uint32_t descriptor_set_count, const VkDescriptorSet *p_descriptor_sets, uint32_t dynamic_offset_count, const uint32_t *p_dynamic_offsets)=0
virtual void bind_index_buffer (VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type)=0
virtual void bind_vertex_buffers (uint32_t first_binding, uint32_t binding_count, const VkBuffer *p_buffers, const VkDeviceSize *p_offsets)=0
virtual void draw (uint32_t vertex_count, uint32_t instance_count, uint32_t first_vertex, uint32_t first_instance)=0
virtual void draw_indexed (uint32_t index_count, uint32_t instance_count, uint32_t first_index, int32_t vertex_offset, uint32_t first_instance)=0
virtual void draw_indirect (VkBuffer buffer, VkDeviceSize offset, uint32_t draw_count, uint32_t stride)=0
virtual void draw_indexed_indirect (VkBuffer buffer, VkDeviceSize offset, uint32_t draw_count, uint32_t stride)=0
virtual void dispatch (uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z)=0
virtual void dispatch_indirect (VkBuffer buffer, VkDeviceSize offset)=0
virtual void update_buffer (VkBuffer dst_buffer, VkDeviceSize dst_offset, VkDeviceSize data_size, const void *p_data)=0
virtual void copy_buffer (VkBuffer src_buffer, VkBuffer dst_buffer, uint32_t region_count, const VkBufferCopy *p_regions)=0
virtual void copy_image (VkImage src_image, VkImageLayout src_image_layout, VkImage dst_image, VkImageLayout dst_image_layout, uint32_t region_count, const VkImageCopy *p_regions)=0
virtual void blit_image (VkImage src_image, VkImageLayout src_image_layout, VkImage dst_image, VkImageLayout dst_image_layout, uint32_t region_count, const VkImageBlit *p_regions, VkFilter filter)=0
virtual void copy_buffer_to_image (VkBuffer src_buffer, VkImage dst_image, VkImageLayout dst_image_layout, uint32_t region_count, const VkBufferImageCopy *p_regions)=0
virtual void copy_image_to_buffer (VkImage src_image, VkImageLayout src_image_layout, VkBuffer dst_buffer, uint32_t region_count, const VkBufferImageCopy *p_regions)=0
virtual void fill_buffer (VkBuffer dst_buffer, VkDeviceSize dst_offset, VkDeviceSize size, uint32_t data)=0
virtual void clear_color_image (VkImage image, VkImageLayout image_layout, const VkClearColorValue *p_color, uint32_t range_count, const VkImageSubresourceRange *p_ranges)=0
virtual void clear_depth_stencil_image (VkImage image, VkImageLayout image_layout, const VkClearDepthStencilValue *p_depth_stencil, uint32_t range_count, const VkImageSubresourceRange *p_ranges)=0
virtual void clear_attachments (uint32_t attachment_count, const VkClearAttachment *p_attachments, uint32_t rect_count, const VkClearRect *p_rects)=0
virtual void pipeline_barrier (VkPipelineStageFlags src_stage_mask, VkPipelineStageFlags dst_stage_mask, VkDependencyFlags dependency_flags, uint32_t memory_barrier_count, const VkMemoryBarrier *p_memory_barriers, uint32_t buffer_memory_barrier_count, const VkBufferMemoryBarrier *p_buffer_memory_barriers, uint32_t image_memory_barrier_count, const VkImageMemoryBarrier *p_image_memory_barriers)=0
virtual void push_constants (VkPipelineLayout layout, VkShaderStageFlags stage_flags, uint32_t offset, uint32_t size, const void *p_values)=0
virtual void begin_query (VkQueryPool vk_query_pool, uint32_t query_index, VkQueryControlFlags vk_query_control_flags)=0
virtual void end_query (VkQueryPool vk_query_pool, uint32_t query_index)=0
virtual void reset_query_pool (VkQueryPool vk_query_pool, uint32_t first_query, uint32_t query_count)=0
virtual void set_viewport (const Vector< VkViewport > viewports)=0
virtual void set_scissor (const Vector< VkRect2D > scissors)=0
virtual void set_line_width (const float line_width)=0
virtual void begin_rendering (const VkRenderingInfo *p_rendering_info)=0
virtual void end_rendering ()=0
virtual void begin_debug_utils_label (const VkDebugUtilsLabelEXT *vk_debug_utils_label)=0
virtual void end_debug_utils_label ()=0
virtual void bind_descriptor_buffers (uint32_t buffer_count, const VkDescriptorBufferBindingInfoEXT *p_binding_infos)=0
virtual void set_descriptor_buffer_offsets (VkPipelineBindPoint pipeline_bind_point, VkPipelineLayout layout, uint32_t first_set, uint32_t set_count, const uint32_t *p_buffer_indices, const VkDeviceSize *p_offsets)=0

Public Attributes

bool use_dynamic_rendering_local_read = true

Detailed Description

Definition at line 18 of file vk_command_buffer_wrapper.hh.

Constructor & Destructor Documentation

◆ VKCommandBufferInterface()

blender::gpu::render_graph::VKCommandBufferInterface::VKCommandBufferInterface ( )
inline

Definition at line 22 of file vk_command_buffer_wrapper.hh.

◆ ~VKCommandBufferInterface()

virtual blender::gpu::render_graph::VKCommandBufferInterface::~VKCommandBufferInterface ( )
virtualdefault

Member Function Documentation

◆ begin_debug_utils_label()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::begin_debug_utils_label ( const VkDebugUtilsLabelEXT * vk_debug_utils_label)
pure virtual

◆ begin_query()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::begin_query ( VkQueryPool vk_query_pool,
uint32_t query_index,
VkQueryControlFlags vk_query_control_flags )
pure virtual

◆ begin_recording()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::begin_recording ( )
pure virtual

◆ begin_rendering()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::begin_rendering ( const VkRenderingInfo * p_rendering_info)
pure virtual

◆ bind_descriptor_buffers()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::bind_descriptor_buffers ( uint32_t buffer_count,
const VkDescriptorBufferBindingInfoEXT * p_binding_infos )
pure virtual

◆ bind_descriptor_sets()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::bind_descriptor_sets ( VkPipelineBindPoint pipeline_bind_point,
VkPipelineLayout layout,
uint32_t first_set,
uint32_t descriptor_set_count,
const VkDescriptorSet * p_descriptor_sets,
uint32_t dynamic_offset_count,
const uint32_t * p_dynamic_offsets )
pure virtual

◆ bind_index_buffer()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::bind_index_buffer ( VkBuffer buffer,
VkDeviceSize offset,
VkIndexType index_type )
pure virtual

◆ bind_pipeline()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::bind_pipeline ( VkPipelineBindPoint pipeline_bind_point,
VkPipeline pipeline )
pure virtual

◆ bind_vertex_buffers()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::bind_vertex_buffers ( uint32_t first_binding,
uint32_t binding_count,
const VkBuffer * p_buffers,
const VkDeviceSize * p_offsets )
pure virtual

◆ blit_image()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::blit_image ( VkImage src_image,
VkImageLayout src_image_layout,
VkImage dst_image,
VkImageLayout dst_image_layout,
uint32_t region_count,
const VkImageBlit * p_regions,
VkFilter filter )
pure virtual

◆ clear_attachments()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::clear_attachments ( uint32_t attachment_count,
const VkClearAttachment * p_attachments,
uint32_t rect_count,
const VkClearRect * p_rects )
pure virtual

◆ clear_color_image()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::clear_color_image ( VkImage image,
VkImageLayout image_layout,
const VkClearColorValue * p_color,
uint32_t range_count,
const VkImageSubresourceRange * p_ranges )
pure virtual

◆ clear_depth_stencil_image()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::clear_depth_stencil_image ( VkImage image,
VkImageLayout image_layout,
const VkClearDepthStencilValue * p_depth_stencil,
uint32_t range_count,
const VkImageSubresourceRange * p_ranges )
pure virtual

◆ copy_buffer()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::copy_buffer ( VkBuffer src_buffer,
VkBuffer dst_buffer,
uint32_t region_count,
const VkBufferCopy * p_regions )
pure virtual

◆ copy_buffer_to_image()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::copy_buffer_to_image ( VkBuffer src_buffer,
VkImage dst_image,
VkImageLayout dst_image_layout,
uint32_t region_count,
const VkBufferImageCopy * p_regions )
pure virtual

◆ copy_image()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::copy_image ( VkImage src_image,
VkImageLayout src_image_layout,
VkImage dst_image,
VkImageLayout dst_image_layout,
uint32_t region_count,
const VkImageCopy * p_regions )
pure virtual

◆ copy_image_to_buffer()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::copy_image_to_buffer ( VkImage src_image,
VkImageLayout src_image_layout,
VkBuffer dst_buffer,
uint32_t region_count,
const VkBufferImageCopy * p_regions )
pure virtual

◆ dispatch()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::dispatch ( uint32_t group_count_x,
uint32_t group_count_y,
uint32_t group_count_z )
pure virtual

◆ dispatch_indirect()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::dispatch_indirect ( VkBuffer buffer,
VkDeviceSize offset )
pure virtual

◆ draw()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::draw ( uint32_t vertex_count,
uint32_t instance_count,
uint32_t first_vertex,
uint32_t first_instance )
pure virtual

◆ draw_indexed()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::draw_indexed ( uint32_t index_count,
uint32_t instance_count,
uint32_t first_index,
int32_t vertex_offset,
uint32_t first_instance )
pure virtual

◆ draw_indexed_indirect()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::draw_indexed_indirect ( VkBuffer buffer,
VkDeviceSize offset,
uint32_t draw_count,
uint32_t stride )
pure virtual

◆ draw_indirect()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::draw_indirect ( VkBuffer buffer,
VkDeviceSize offset,
uint32_t draw_count,
uint32_t stride )
pure virtual

◆ end_debug_utils_label()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::end_debug_utils_label ( )
pure virtual

◆ end_query()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::end_query ( VkQueryPool vk_query_pool,
uint32_t query_index )
pure virtual

◆ end_recording()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::end_recording ( )
pure virtual

◆ end_rendering()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::end_rendering ( )
pure virtual

◆ fill_buffer()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::fill_buffer ( VkBuffer dst_buffer,
VkDeviceSize dst_offset,
VkDeviceSize size,
uint32_t data )
pure virtual

◆ pipeline_barrier()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::pipeline_barrier ( VkPipelineStageFlags src_stage_mask,
VkPipelineStageFlags dst_stage_mask,
VkDependencyFlags dependency_flags,
uint32_t memory_barrier_count,
const VkMemoryBarrier * p_memory_barriers,
uint32_t buffer_memory_barrier_count,
const VkBufferMemoryBarrier * p_buffer_memory_barriers,
uint32_t image_memory_barrier_count,
const VkImageMemoryBarrier * p_image_memory_barriers )
pure virtual

◆ push_constants()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::push_constants ( VkPipelineLayout layout,
VkShaderStageFlags stage_flags,
uint32_t offset,
uint32_t size,
const void * p_values )
pure virtual

◆ reset_query_pool()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::reset_query_pool ( VkQueryPool vk_query_pool,
uint32_t first_query,
uint32_t query_count )
pure virtual

◆ set_descriptor_buffer_offsets()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::set_descriptor_buffer_offsets ( VkPipelineBindPoint pipeline_bind_point,
VkPipelineLayout layout,
uint32_t first_set,
uint32_t set_count,
const uint32_t * p_buffer_indices,
const VkDeviceSize * p_offsets )
pure virtual

◆ set_line_width()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::set_line_width ( const float line_width)
pure virtual

◆ set_scissor()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::set_scissor ( const Vector< VkRect2D > scissors)
pure virtual

◆ set_viewport()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::set_viewport ( const Vector< VkViewport > viewports)
pure virtual

◆ update_buffer()

virtual void blender::gpu::render_graph::VKCommandBufferInterface::update_buffer ( VkBuffer dst_buffer,
VkDeviceSize dst_offset,
VkDeviceSize data_size,
const void * p_data )
pure virtual

Member Data Documentation

◆ use_dynamic_rendering_local_read


The documentation for this class was generated from the following file: