29 virtual void bind_pipeline(VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline) = 0;
31 VkPipelineLayout layout,
33 uint32_t descriptor_set_count,
34 const VkDescriptorSet *p_descriptor_sets,
35 uint32_t dynamic_offset_count,
36 const uint32_t *p_dynamic_offsets) = 0;
37 virtual void bind_index_buffer(VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type) = 0;
39 uint32_t binding_count,
40 const VkBuffer *p_buffers,
41 const VkDeviceSize *p_offsets) = 0;
42 virtual void draw(uint32_t vertex_count,
43 uint32_t instance_count,
44 uint32_t first_vertex,
45 uint32_t first_instance) = 0;
47 uint32_t instance_count,
50 uint32_t first_instance) = 0;
60 uint32_t group_count_y,
61 uint32_t group_count_z) = 0;
64 VkDeviceSize dst_offset,
65 VkDeviceSize data_size,
66 const void *p_data) = 0;
69 uint32_t region_count,
70 const VkBufferCopy *p_regions) = 0;
72 VkImageLayout src_image_layout,
74 VkImageLayout dst_image_layout,
75 uint32_t region_count,
76 const VkImageCopy *p_regions) = 0;
78 VkImageLayout src_image_layout,
80 VkImageLayout dst_image_layout,
81 uint32_t region_count,
82 const VkImageBlit *p_regions,
86 VkImageLayout dst_image_layout,
87 uint32_t region_count,
88 const VkBufferImageCopy *p_regions) = 0;
90 VkImageLayout src_image_layout,
92 uint32_t region_count,
93 const VkBufferImageCopy *p_regions) = 0;
95 VkDeviceSize dst_offset,
99 VkImageLayout image_layout,
100 const VkClearColorValue *p_color,
101 uint32_t range_count,
102 const VkImageSubresourceRange *p_ranges) = 0;
104 VkImageLayout image_layout,
105 const VkClearDepthStencilValue *p_depth_stencil,
106 uint32_t range_count,
107 const VkImageSubresourceRange *p_ranges) = 0;
109 const VkClearAttachment *p_attachments,
111 const VkClearRect *p_rects) = 0;
113 VkPipelineStageFlags dst_stage_mask,
114 VkDependencyFlags dependency_flags,
115 uint32_t memory_barrier_count,
116 const VkMemoryBarrier *p_memory_barriers,
117 uint32_t buffer_memory_barrier_count,
118 const VkBufferMemoryBarrier *p_buffer_memory_barriers,
119 uint32_t image_memory_barrier_count,
120 const VkImageMemoryBarrier *p_image_memory_barriers) = 0;
122 VkShaderStageFlags stage_flags,
125 const void *p_values) = 0;
127 uint32_t query_index,
128 VkQueryControlFlags vk_query_control_flags) = 0;
129 virtual void end_query(VkQueryPool vk_query_pool, uint32_t query_index) = 0;
131 uint32_t first_query,
132 uint32_t query_count) = 0;
147 uint32_t buffer_count,
const VkDescriptorBufferBindingInfoEXT *p_binding_infos) = 0;
149 VkPipelineLayout layout,
152 const uint32_t *p_buffer_indices,
153 const VkDeviceSize *p_offsets) = 0;
158 VkCommandBuffer vk_command_buffer_ = VK_NULL_HANDLE;
166 void bind_pipeline(VkPipelineBindPoint pipeline_bind_point, VkPipeline pipeline)
override;
168 VkPipelineLayout layout,
170 uint32_t descriptor_set_count,
171 const VkDescriptorSet *p_descriptor_sets,
172 uint32_t dynamic_offset_count,
173 const uint32_t *p_dynamic_offsets)
override;
174 void bind_index_buffer(VkBuffer buffer, VkDeviceSize offset, VkIndexType index_type)
override;
176 uint32_t binding_count,
177 const VkBuffer *p_buffers,
178 const VkDeviceSize *p_offsets)
override;
179 void draw(uint32_t vertex_count,
180 uint32_t instance_count,
181 uint32_t first_vertex,
182 uint32_t first_instance)
override;
184 uint32_t instance_count,
185 uint32_t first_index,
187 uint32_t first_instance)
override;
191 uint32_t stride)
override;
195 uint32_t stride)
override;
196 void dispatch(uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z)
override;
199 VkDeviceSize dst_offset,
200 VkDeviceSize data_size,
201 const void *p_data)
override;
204 uint32_t region_count,
205 const VkBufferCopy *p_regions)
override;
207 VkImageLayout src_image_layout,
209 VkImageLayout dst_image_layout,
210 uint32_t region_count,
211 const VkImageCopy *p_regions)
override;
213 VkImageLayout src_image_layout,
215 VkImageLayout dst_image_layout,
216 uint32_t region_count,
217 const VkImageBlit *p_regions,
218 VkFilter
filter)
override;
221 VkImageLayout dst_image_layout,
222 uint32_t region_count,
223 const VkBufferImageCopy *p_regions)
override;
225 VkImageLayout src_image_layout,
227 uint32_t region_count,
228 const VkBufferImageCopy *p_regions)
override;
230 VkDeviceSize dst_offset,
232 uint32_t
data)
override;
234 VkImageLayout image_layout,
235 const VkClearColorValue *p_color,
236 uint32_t range_count,
237 const VkImageSubresourceRange *p_ranges)
override;
239 VkImageLayout image_layout,
240 const VkClearDepthStencilValue *p_depth_stencil,
241 uint32_t range_count,
242 const VkImageSubresourceRange *p_ranges)
override;
244 const VkClearAttachment *p_attachments,
246 const VkClearRect *p_rects)
override;
248 VkPipelineStageFlags dst_stage_mask,
249 VkDependencyFlags dependency_flags,
250 uint32_t memory_barrier_count,
251 const VkMemoryBarrier *p_memory_barriers,
252 uint32_t buffer_memory_barrier_count,
253 const VkBufferMemoryBarrier *p_buffer_memory_barriers,
254 uint32_t image_memory_barrier_count,
255 const VkImageMemoryBarrier *p_image_memory_barriers)
override;
257 VkShaderStageFlags stage_flags,
260 const void *p_values)
override;
264 uint32_t query_index,
265 VkQueryControlFlags vk_query_control_flags)
override;
266 void end_query(VkQueryPool vk_query_pool, uint32_t query_index)
override;
267 void reset_query_pool(VkQueryPool, uint32_t first_query, uint32_t query_count)
override;
270 void begin_rendering(
const VkRenderingInfo *p_rendering_info)
override;
277 const VkDescriptorBufferBindingInfoEXT *p_binding_infos)
override;
279 VkPipelineLayout layout,
282 const uint32_t *p_buffer_indices,
283 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 end_render_pass()=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 begin_render_pass(const VkRenderPassBeginInfo *render_pass_begin_info)=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
bool use_dynamic_rendering
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 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 begin_render_pass(const VkRenderPassBeginInfo *vk_render_pass) 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 end_render_pass() 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 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