28 virtual void bind_pipeline(VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline) = 0;
30 VkPipelineLayout layout,
32 uint32_t descriptor_set_count,
33 const VkDescriptorSet *p_descriptor_sets,
34 uint32_t dynamic_offset_count,
35 const uint32_t *p_dynamic_offsets) = 0;
36 virtual void bind_index_buffer(VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type) = 0;
38 uint32_t binding_count,
39 const VkBuffer *p_buffers,
40 const VkDeviceSize *p_offsets) = 0;
41 virtual void draw(uint32_t vertex_count,
42 uint32_t instance_count,
43 uint32_t first_vertex,
44 uint32_t first_instance) = 0;
46 uint32_t instance_count,
49 uint32_t first_instance) = 0;
59 uint32_t group_count_y,
60 uint32_t group_count_z) = 0;
63 VkDeviceSize dst_offset,
64 VkDeviceSize data_size,
65 const void *p_data) = 0;
68 uint32_t region_count,
69 const VkBufferCopy *p_regions) = 0;
71 VkImageLayout src_image_layout,
73 VkImageLayout dst_image_layout,
74 uint32_t region_count,
75 const VkImageCopy *p_regions) = 0;
77 VkImageLayout src_image_layout,
79 VkImageLayout dst_image_layout,
80 uint32_t region_count,
81 const VkImageBlit *p_regions,
85 VkImageLayout dst_image_layout,
86 uint32_t region_count,
87 const VkBufferImageCopy *p_regions) = 0;
89 VkImageLayout src_image_layout,
91 uint32_t region_count,
92 const VkBufferImageCopy *p_regions) = 0;
94 VkDeviceSize dst_offset,
98 VkImageLayout image_layout,
99 const VkClearColorValue *p_color,
100 uint32_t range_count,
101 const VkImageSubresourceRange *p_ranges) = 0;
103 VkImageLayout image_layout,
104 const VkClearDepthStencilValue *p_depth_stencil,
105 uint32_t range_count,
106 const VkImageSubresourceRange *p_ranges) = 0;
108 const VkClearAttachment *p_attachments,
110 const VkClearRect *p_rects) = 0;
112 VkPipelineStageFlags dst_stage_mask,
113 VkDependencyFlags dependency_flags,
114 uint32_t memory_barrier_count,
115 const VkMemoryBarrier *p_memory_barriers,
116 uint32_t buffer_memory_barrier_count,
117 const VkBufferMemoryBarrier *p_buffer_memory_barriers,
118 uint32_t image_memory_barrier_count,
119 const VkImageMemoryBarrier *p_image_memory_barriers) = 0;
121 VkShaderStageFlags stage_flags,
124 const void *p_values) = 0;
126 uint32_t query_index,
127 VkQueryControlFlags vk_query_control_flags) = 0;
128 virtual void end_query(VkQueryPool vk_query_pool, uint32_t query_index) = 0;
130 uint32_t first_query,
131 uint32_t query_count) = 0;
145 uint32_t buffer_count,
const VkDescriptorBufferBindingInfoEXT *p_binding_infos) = 0;
147 VkPipelineLayout layout,
150 const uint32_t *p_buffer_indices,
151 const VkDeviceSize *p_offsets) = 0;
156 VkCommandBuffer vk_command_buffer_ = VK_NULL_HANDLE;
164 void bind_pipeline(VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline)
override;
166 VkPipelineLayout layout,
168 uint32_t descriptor_set_count,
169 const VkDescriptorSet *p_descriptor_sets,
170 uint32_t dynamic_offset_count,
171 const uint32_t *p_dynamic_offsets)
override;
172 void bind_index_buffer(VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type)
override;
174 uint32_t binding_count,
175 const VkBuffer *p_buffers,
176 const VkDeviceSize *p_offsets)
override;
177 void draw(uint32_t vertex_count,
178 uint32_t instance_count,
179 uint32_t first_vertex,
180 uint32_t first_instance)
override;
182 uint32_t instance_count,
183 uint32_t first_index,
185 uint32_t first_instance)
override;
189 uint32_t stride)
override;
193 uint32_t stride)
override;
194 void dispatch(uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z)
override;
197 VkDeviceSize dst_offset,
198 VkDeviceSize data_size,
199 const void *p_data)
override;
202 uint32_t region_count,
203 const VkBufferCopy *p_regions)
override;
205 VkImageLayout src_image_layout,
207 VkImageLayout dst_image_layout,
208 uint32_t region_count,
209 const VkImageCopy *p_regions)
override;
211 VkImageLayout src_image_layout,
213 VkImageLayout dst_image_layout,
214 uint32_t region_count,
215 const VkImageBlit *p_regions,
216 VkFilter
filter)
override;
219 VkImageLayout dst_image_layout,
220 uint32_t region_count,
221 const VkBufferImageCopy *p_regions)
override;
223 VkImageLayout src_image_layout,
225 uint32_t region_count,
226 const VkBufferImageCopy *p_regions)
override;
228 VkDeviceSize dst_offset,
230 uint32_t
data)
override;
232 VkImageLayout image_layout,
233 const VkClearColorValue *p_color,
234 uint32_t range_count,
235 const VkImageSubresourceRange *p_ranges)
override;
237 VkImageLayout image_layout,
238 const VkClearDepthStencilValue *p_depth_stencil,
239 uint32_t range_count,
240 const VkImageSubresourceRange *p_ranges)
override;
242 const VkClearAttachment *p_attachments,
244 const VkClearRect *p_rects)
override;
246 VkPipelineStageFlags dst_stage_mask,
247 VkDependencyFlags dependency_flags,
248 uint32_t memory_barrier_count,
249 const VkMemoryBarrier *p_memory_barriers,
250 uint32_t buffer_memory_barrier_count,
251 const VkBufferMemoryBarrier *p_buffer_memory_barriers,
252 uint32_t image_memory_barrier_count,
253 const VkImageMemoryBarrier *p_image_memory_barriers)
override;
255 VkShaderStageFlags stage_flags,
258 const void *p_values)
override;
263 uint32_t query_index,
264 VkQueryControlFlags vk_query_control_flags)
override;
265 void end_query(VkQueryPool vk_query_pool, uint32_t query_index)
override;
266 void reset_query_pool(VkQueryPool, uint32_t first_query, uint32_t query_count)
override;
267 void begin_rendering(
const VkRenderingInfo *p_rendering_info)
override;
274 const VkDescriptorBufferBindingInfoEXT *p_binding_infos)
override;
276 VkPipelineLayout layout,
279 const uint32_t *p_buffer_indices,
280 const VkDeviceSize *p_offsets)
override;
BMesh const char void * data
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
virtual ~VKCommandBufferInterface()=default
virtual void set_scissor(const Vector< VkRect2D > scissors)=0
virtual void fill_buffer(VkBuffer dst_buffer, VkDeviceSize dst_offset, VkDeviceSize size, uint32_t data)=0
virtual void end_recording()=0
virtual void bind_pipeline(VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline)=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 bind_vertex_buffers(uint32_t first_binding, uint32_t binding_count, const VkBuffer *p_buffers, const VkDeviceSize *p_offsets)=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 copy_buffer(VkBuffer src_buffer, VkBuffer dst_buffer, uint32_t region_count, const VkBufferCopy *p_regions)=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 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
bool use_dynamic_rendering_local_read
virtual void clear_attachments(uint32_t attachment_count, const VkClearAttachment *p_attachments, uint32_t rect_count, const VkClearRect *p_rects)=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
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 end_rendering()=0
virtual void bind_descriptor_buffers(uint32_t buffer_count, const VkDescriptorBufferBindingInfoEXT *p_binding_infos)=0
virtual void draw(uint32_t vertex_count, uint32_t instance_count, uint32_t first_vertex, uint32_t first_instance)=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 begin_debug_utils_label(const VkDebugUtilsLabelEXT *vk_debug_utils_label)=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 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
VKCommandBufferInterface()
virtual void set_line_width(const float line_width)=0
virtual void bind_index_buffer(VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type)=0
virtual void push_constants(VkPipelineLayout layout, VkShaderStageFlags stage_flags, uint32_t offset, uint32_t size, const void *p_values)=0
virtual void begin_recording()=0
virtual void begin_rendering(const VkRenderingInfo *p_rendering_info)=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 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 draw_indexed_indirect(VkBuffer buffer, VkDeviceSize offset, uint32_t draw_count, uint32_t stride)=0
virtual void draw_indirect(VkBuffer buffer, VkDeviceSize offset, uint32_t draw_count, uint32_t stride)=0
virtual void end_debug_utils_label()=0
virtual void dispatch(uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z)=0
void begin_debug_utils_label(const VkDebugUtilsLabelEXT *vk_debug_utils_label) override
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) override
void clear_attachments(uint32_t attachment_count, const VkClearAttachment *p_attachments, uint32_t rect_count, const VkClearRect *p_rects) override
void begin_recording() override
void clear_depth_stencil_image(VkImage image, VkImageLayout image_layout, const VkClearDepthStencilValue *p_depth_stencil, uint32_t range_count, const VkImageSubresourceRange *p_ranges) override
void draw_indexed(uint32_t index_count, uint32_t instance_count, uint32_t first_index, int32_t vertex_offset, uint32_t first_instance) override
void fill_buffer(VkBuffer dst_buffer, VkDeviceSize dst_offset, VkDeviceSize size, uint32_t data) override
void copy_image_to_buffer(VkImage src_image, VkImageLayout src_image_layout, VkBuffer dst_buffer, uint32_t region_count, const VkBufferImageCopy *p_regions) override
void bind_pipeline(VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline) override
void bind_descriptor_buffers(uint32_t buffer_count, const VkDescriptorBufferBindingInfoEXT *p_binding_infos) override
void end_recording() override
void begin_query(VkQueryPool vk_query_pool, uint32_t query_index, VkQueryControlFlags vk_query_control_flags) override
void draw_indirect(VkBuffer buffer, VkDeviceSize offset, uint32_t draw_count, uint32_t stride) override
void dispatch_indirect(VkBuffer buffer, VkDeviceSize offset) override
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) override
void clear_color_image(VkImage image, VkImageLayout image_layout, const VkClearColorValue *p_color, uint32_t range_count, const VkImageSubresourceRange *p_ranges) override
void copy_buffer_to_image(VkBuffer src_buffer, VkImage dst_image, VkImageLayout dst_image_layout, uint32_t region_count, const VkBufferImageCopy *p_regions) override
void draw_indexed_indirect(VkBuffer buffer, VkDeviceSize offset, uint32_t draw_count, uint32_t stride) override
void begin_rendering(const VkRenderingInfo *p_rendering_info) override
void draw(uint32_t vertex_count, uint32_t instance_count, uint32_t first_vertex, uint32_t first_instance) override
VKCommandBufferWrapper(VkCommandBuffer vk_command_buffer, const VKExtensions &extensions)
void end_rendering() override
void end_debug_utils_label() override
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) override
void update_buffer(VkBuffer dst_buffer, VkDeviceSize dst_offset, VkDeviceSize data_size, const void *p_data) override
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) override
void set_line_width(const float line_width) override
void push_constants(VkPipelineLayout layout, VkShaderStageFlags stage_flags, uint32_t offset, uint32_t size, const void *p_values) override
void end_query(VkQueryPool vk_query_pool, uint32_t query_index) override
void copy_buffer(VkBuffer src_buffer, VkBuffer dst_buffer, uint32_t region_count, const VkBufferCopy *p_regions) override
void reset_query_pool(VkQueryPool, uint32_t first_query, uint32_t query_count) override
void set_scissor(const Vector< VkRect2D > scissors) override
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) override
void dispatch(uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z) override
void set_viewport(const Vector< VkViewport > viewports) override
void bind_index_buffer(VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type) override
void bind_vertex_buffers(uint32_t first_binding, uint32_t binding_count, const VkBuffer *p_buffers, const VkDeviceSize *p_offsets) override