MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_descriptor_buffer()

std::shared_ptr< VKBuffer > MayaFlux::Buffers::DescriptorBindingsProcessor::create_descriptor_buffer ( size_t  size,
Portal::Graphics::DescriptorRole  role 
)
private

Create GPU buffer for a descriptor binding.

Definition at line 654 of file DescriptorBindingsProcessor.cpp.

657{
658 VKBuffer::Usage usage {};
659
662 } else { // SSBO
664 }
665
666 auto buffer = std::make_shared<VKBuffer>(
667 size,
668 usage,
670
671 auto buffer_service = Registry::BackendRegistry::instance()
672 .get_service<Registry::Service::BufferService>();
673
674 if (!buffer_service) {
675 error<std::runtime_error>(
678 std::source_location::current(),
679 "create_descriptor_buffer requires a valid BufferService");
680 }
681
682 buffer_service->initialize_buffer(buffer);
683
684 return buffer;
685}
@ UNIFORM
Uniform buffer (host-visible when requested)
@ COMPUTE
Storage buffer for compute shaders.
Interface * get_service()
Query for a backend service.
static BackendRegistry & instance()
Get the global registry instance.
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.
@ UNKNOWN
Unknown or undefined modality.
@ UNIFORM
Small, read-only, frequently updated (scalars, param structs)

References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, MayaFlux::Buffers::VKBuffer::COMPUTE, MayaFlux::Registry::BackendRegistry::get_service(), MayaFlux::Registry::BackendRegistry::instance(), MayaFlux::Buffers::VKBuffer::UNIFORM, MayaFlux::Portal::Graphics::UNIFORM, and MayaFlux::Kakshya::UNKNOWN.

Referenced by bind_audio_buffer(), bind_host_vk_buffer(), bind_matrix_node(), bind_network(), bind_scalar_node(), bind_structured_node(), and bind_vector_node().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: