Class ILLIXR::offload_rendering_client
ClassList > ILLIXR > offload_rendering_client
#include <offload_rendering_client.hpp>
Inherits the following classes: ILLIXR::threadloop, ILLIXR::vulkan::app
Public Attributes inherited from ILLIXR::vulkan::render_pass
See ILLIXR::vulkan::render_pass
| Type | Name |
|---|---|
| VkPipeline | pipeline_ = [**VK\_NULL\_HANDLE**](namespaceILLIXR.md#function-normalize) |
Public Functions
| Type | Name |
|---|---|
| virtual void | destroy () override Clean up resources on destruction. |
| virtual bool | is_external () override Indicates this is an external renderer. |
| offload_rendering_client (const std::string & name, phonebook * pb) Constructor initializes the client with configuration from environment variables. |
|
| virtual void | record_command_buffer (VkCommandBuffer commandBuffer, VkFramebuffer framebuffer, int buffer_ind, bool left) override Record command buffer (no-op in this implementation) |
| void | setup (VkRenderPass render_pass, uint32_t subpass, std::shared_ptr< vulkan::buffer_pool< data_format::pose::fast_head_pose_type > > buffer_pool) override Set up Vulkan resources and initialize frame buffers. |
| virtual void | start () override Start the client thread and initialize FFmpeg/CUDA resources. |
| virtual void | update_uniforms (const BUFFER_TYPE & render_pose) override Update uniforms (no-op in this implementation) |
Public Functions inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| virtual void | internal_stop () Stops the thread. |
| virtual void | start () override Starts the thread. |
| virtual void | stop () override Joins the thread. |
| threadloop (const std::string & name, phonebook * pb) |
|
| ~threadloop () override |
Public Functions inherited from ILLIXR::plugin
See ILLIXR::plugin
| Type | Name |
|---|---|
| std::string | get_name () noexcept const |
| plugin (std::string name, phonebook * pb) |
|
| void | spd_add_file_sink (const std::string & file_name, const std::string & extension, const std::string & log_level) |
| auto | spdlogger (const char * log_level) |
| virtual void | start () A method which Spindle calls when it starts the component. |
| virtual void | stop () A method which Spindle calls when it stops the component. |
| virtual | ~plugin () = default |
Public Functions inherited from ILLIXR::vulkan::app
| Type | Name |
|---|---|
| virtual void | setup (VkRenderPass render_pass, uint32_t subpass, std::shared_ptr< buffer_pool< data_format::pose::fast_head_pose_type > > buffer_pool) = 0 Setup the app render pass and initailize required Vulkan resources. |
Public Functions inherited from ILLIXR::vulkan::render_pass
See ILLIXR::vulkan::render_pass
| Type | Name |
|---|---|
| virtual void | destroy () Destroy the render pass and free all Vulkan resources. |
| virtual bool | is_external () = 0 |
| virtual void | record_command_buffer (VkCommandBuffer commandBuffer, VkFramebuffer framebuffer, int buffer_ind, bool left) = 0 Record a command buffer for a given eye. |
| virtual void | update_uniforms (const BUFFER_TYPE & render_pose) Update the uniforms for the render pass. |
| ~render_pass () override |
Public Functions inherited from ILLIXR::phonebook::service
See ILLIXR::phonebook::service
| Type | Name |
|---|---|
| virtual | ~service () = default |
Protected Types inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| enum | skip_option |
Protected Attributes inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| std::size_t | iteration_no = 0 |
| std::size_t | skip_no = 0 |
Protected Attributes inherited from ILLIXR::plugin
See ILLIXR::plugin
| Type | Name |
|---|---|
| const std::size_t | id_ |
| std::string | name_ |
| const phonebook * | phonebook_ |
| std::shared_ptr< spdlog::logger > | plugin_logger_ |
| const std::shared_ptr< record_logger > | record_logger_ |
Protected Functions
| Type | Name |
|---|---|
| virtual void | _p_one_iteration () override Main processing loop for frame decoding and display. |
| virtual skip_option | _p_should_skip () override Determines if the current iteration should be skipped. |
| virtual void | _p_thread_setup () override Thread setup (no-op in this implementation) |
| void | copy_image_to_cpu_and_save_file (AVFrame * frame) |
| void | save_nv12_img_to_png (AVFrame * cuda_frame) const |
| void | transition_layout (VkCommandBuffer cmd_buf, AVFrame * frame, VkImageLayout old_layout, VkImageLayout new_layout) |
Protected Functions inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| virtual void | _p_one_iteration () = 0 Override with the computation the thread does every loop. |
| virtual skip_option | _p_should_skip () Gets called in a tight loop, to gate the invocation of _p_one_iteration() __ |
| virtual void | _p_thread_setup () Gets called at setup time, from the new thread. |
| bool | should_terminate () Whether the thread has been asked to terminate. |
Public Functions Documentation
function destroy
Clean up resources on destruction.
virtual void ILLIXR::offload_rendering_client::destroy () override
Implements ILLIXR::vulkan::render_pass::destroy
function is_external
Indicates this is an external renderer.
inline virtual bool ILLIXR::offload_rendering_client::is_external () override
Returns:
true since this is an external renderer
Implements ILLIXR::vulkan::render_pass::is_external
function offload_rendering_client
Constructor initializes the client with configuration from environment variables.
ILLIXR::offload_rendering_client::offload_rendering_client (
const std::string & name,
phonebook * pb
)
Parameters:
namePlugin namepbPhonebook for component lookup
function record_command_buffer
Record command buffer (no-op in this implementation)
inline virtual void ILLIXR::offload_rendering_client::record_command_buffer (
VkCommandBuffer commandBuffer,
VkFramebuffer framebuffer,
int buffer_ind,
bool left
) override
Implements ILLIXR::vulkan::render_pass::record_command_buffer
function setup
Set up Vulkan resources and initialize frame buffers.
void ILLIXR::offload_rendering_client::setup (
VkRenderPass render_pass,
uint32_t subpass,
std::shared_ptr< vulkan::buffer_pool < data_format::pose::fast_head_pose_type > > buffer_pool
) override
Parameters:
render_passThe Vulkan render pass to usesubpassThe subpass indexbuffer_poolThe buffer pool for frame data
function start
Start the client thread and initialize FFmpeg/CUDA resources.
virtual void ILLIXR::offload_rendering_client::start () override
Implements ILLIXR::plugin::start
function update_uniforms
Update uniforms (no-op in this implementation)
inline virtual void ILLIXR::offload_rendering_client::update_uniforms (
const BUFFER_TYPE & render_pose
) override
Implements ILLIXR::vulkan::render_pass::update_uniforms
Protected Functions Documentation
function _p_one_iteration
Main processing loop for frame decoding and display.
virtual void ILLIXR::offload_rendering_client::_p_one_iteration () override
This method: * Sends the latest pose and hand tracking data to the server * Receives and decodes encoded frames * Performs color space conversion * Updates display buffers * Tracks performance metrics
Implements ILLIXR::threadloop::_p_one_iteration
function _p_should_skip
Determines if the current iteration should be skipped.
inline virtual skip_option ILLIXR::offload_rendering_client::_p_should_skip () override
Implements ILLIXR::threadloop::_p_should_skip
function _p_thread_setup
Thread setup (no-op in this implementation)
virtual void ILLIXR::offload_rendering_client::_p_thread_setup () override
Implements ILLIXR::threadloop::_p_thread_setup
function copy_image_to_cpu_and_save_file
void ILLIXR::offload_rendering_client::copy_image_to_cpu_and_save_file (
AVFrame * frame
)
function save_nv12_img_to_png
void ILLIXR::offload_rendering_client::save_nv12_img_to_png (
AVFrame * cuda_frame
) const
function transition_layout
void ILLIXR::offload_rendering_client::transition_layout (
VkCommandBuffer cmd_buf,
AVFrame * frame,
VkImageLayout old_layout,
VkImageLayout new_layout
)
The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/plugins/offload_rendering_client/offload_rendering_client.hpp