Class ILLIXR::offload_rendering_client
ClassList > ILLIXR > offload_rendering_client
Inherits the following classes: ILLIXR::threadloop, ILLIXR::vulkan::app
Public Functions
Type | Name |
---|---|
void | destroy () override Clean up resources on destruction. |
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. |
|
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::fast_pose_type > > buffer_pool) override Set up Vulkan resources and initialize frame buffers. |
void | start () override Start the client thread and initialize FFmpeg/CUDA resources. |
void | update_uniforms (const data_format::pose_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 |
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::shared_ptr< gen_guid > | gen_guid_ |
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 |
---|---|
void | _p_one_iteration () override Main processing loop for frame decoding and display. |
skip_option | _p_should_skip () override Determines if the current iteration should be skipped. |
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.
void ILLIXR::offload_rendering_client::destroy () override
function is_external
Indicates this is an external renderer.
inline bool ILLIXR::offload_rendering_client::is_external () override
Returns:
true since this is an external renderer
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:
name
Plugin namepb
Phonebook for component lookup
function record_command_buffer
Record command buffer (no-op in this implementation)
inline void ILLIXR::offload_rendering_client::record_command_buffer (
VkCommandBuffer commandBuffer,
VkFramebuffer framebuffer,
int buffer_ind,
bool left
) override
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::fast_pose_type > > buffer_pool
) override
Parameters:
render_pass
The Vulkan render pass to usesubpass
The subpass indexbuffer_pool
The buffer pool for frame data
function start
Start the client thread and initialize FFmpeg/CUDA resources.
void ILLIXR::offload_rendering_client::start () override
function update_uniforms
Update uniforms (no-op in this implementation)
inline void ILLIXR::offload_rendering_client::update_uniforms (
const data_format::pose_type & render_pose
) override
Protected Functions Documentation
function _p_one_iteration
Main processing loop for frame decoding and display.
void ILLIXR::offload_rendering_client::_p_one_iteration () override
This method: * Sends the latest pose to the server * Receives and decodes encoded frames * Performs color space conversion * Updates display buffers * Tracks performance metrics
function _p_should_skip
Determines if the current iteration should be skipped.
inline skip_option ILLIXR::offload_rendering_client::_p_should_skip () override
function _p_thread_setup
Thread setup (no-op in this implementation)
inline void ILLIXR::offload_rendering_client::_p_thread_setup () override
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/plugins/offload_rendering_client/offload_rendering_client.hpp