50 size_t push_constant_size = 0);
57 size_t push_constant_size = 0);
73 void bind_descriptor_sets(
76 const std::vector<DescriptorSetID>& descriptor_set_ids);
94 void dispatch(
CommandBufferID cmd_id, uint32_t x, uint32_t y, uint32_t z);
99 void dispatch_indirect(
101 vk::Buffer indirect_buffer,
102 vk::DeviceSize offset = 0);
111 std::vector<DescriptorSetID> allocate_pipeline_descriptors(
ComputePipelineID pipeline_id);
119 const std::vector<DescriptorSetID>& descriptor_set_ids,
120 const void* push_constants_data =
nullptr,
121 size_t push_constant_size = 0);
136 std::atomic<uint64_t> m_next_pipeline_id { 1 };