RetroArch
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vulkan_filter_chain Struct Reference
Collaboration diagram for vulkan_filter_chain:
[legend]

Public Member Functions

 vulkan_filter_chain (const vulkan_filter_chain_create_info &info)
 
 ~vulkan_filter_chain ()
 
void set_shader_preset (unique_ptr< video_shader > shader)
 
video_shaderget_shader_preset ()
 
void set_pass_info (unsigned pass, const vulkan_filter_chain_pass_info &info)
 
void set_shader (unsigned pass, VkShaderStageFlags stage, const uint32_t *spirv, size_t spirv_words)
 
bool init ()
 
bool update_swapchain_info (const vulkan_filter_chain_swapchain_info &info)
 
void notify_sync_index (unsigned index)
 
void set_input_texture (const vulkan_filter_chain_texture &texture)
 
void build_offscreen_passes (VkCommandBuffer cmd, const VkViewport &vp)
 
void build_viewport_pass (VkCommandBuffer cmd, const VkViewport &vp, const float *mvp)
 
void end_frame (VkCommandBuffer cmd)
 
void set_frame_count (uint64_t count)
 
void set_frame_count_period (unsigned pass, unsigned period)
 
void set_pass_name (unsigned pass, const char *name)
 
void add_static_texture (unique_ptr< StaticTexture > texture)
 
void add_parameter (unsigned pass, unsigned parameter_index, const std::string &id)
 
void release_staging_buffers ()
 

Private Member Functions

void flush ()
 
void set_num_passes (unsigned passes)
 
void execute_deferred ()
 
void set_num_sync_indices (unsigned num_indices)
 
void set_swapchain_info (const vulkan_filter_chain_swapchain_info &info)
 
bool init_ubo ()
 
bool init_history ()
 
bool init_feedback ()
 
bool init_alias ()
 
void update_history (DeferredDisposer &disposer, VkCommandBuffer cmd)
 
void clear_history_and_feedback (VkCommandBuffer cmd)
 
void update_feedback_info ()
 
void update_history_info ()
 

Private Attributes

VkDevice device
 
VkPhysicalDevice gpu
 
const VkPhysicalDeviceMemoryPropertiesmemory_properties
 
VkPipelineCache cache
 
vector< unique_ptr< Pass > > passes
 
vector< vulkan_filter_chain_pass_infopass_info
 
vector< vector< function< void()> > > deferred_calls
 
CommonResources common
 
VkFormat original_format
 
vulkan_filter_chain_texture input_texture
 
Size2D max_input_size
 
vulkan_filter_chain_swapchain_info swapchain_info
 
unsigned current_sync_index
 
vector< unique_ptr< Framebuffer > > original_history
 
bool require_clear = false
 

Constructor & Destructor Documentation

◆ vulkan_filter_chain()

vulkan_filter_chain::vulkan_filter_chain ( const vulkan_filter_chain_create_info info)
Here is the call graph for this function:

◆ ~vulkan_filter_chain()

vulkan_filter_chain::~vulkan_filter_chain ( )
Here is the call graph for this function:

Member Function Documentation

◆ add_parameter()

void vulkan_filter_chain::add_parameter ( unsigned  pass,
unsigned  parameter_index,
const std::string id 
)

◆ add_static_texture()

void vulkan_filter_chain::add_static_texture ( unique_ptr< StaticTexture texture)
Here is the caller graph for this function:

◆ build_offscreen_passes()

void vulkan_filter_chain::build_offscreen_passes ( VkCommandBuffer  cmd,
const VkViewport vp 
)
Here is the call graph for this function:

◆ build_viewport_pass()

void vulkan_filter_chain::build_viewport_pass ( VkCommandBuffer  cmd,
const VkViewport vp,
const float *  mvp 
)
Here is the call graph for this function:

◆ clear_history_and_feedback()

void vulkan_filter_chain::clear_history_and_feedback ( VkCommandBuffer  cmd)
private
Here is the caller graph for this function:

◆ end_frame()

void vulkan_filter_chain::end_frame ( VkCommandBuffer  cmd)
Here is the call graph for this function:

◆ execute_deferred()

void vulkan_filter_chain::execute_deferred ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush()

void vulkan_filter_chain::flush ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_shader_preset()

video_shader* vulkan_filter_chain::get_shader_preset ( )
inline

◆ init()

bool vulkan_filter_chain::init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_alias()

bool vulkan_filter_chain::init_alias ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_feedback()

bool vulkan_filter_chain::init_feedback ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_history()

bool vulkan_filter_chain::init_history ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_ubo()

bool vulkan_filter_chain::init_ubo ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ notify_sync_index()

void vulkan_filter_chain::notify_sync_index ( unsigned  index)
Here is the call graph for this function:

◆ release_staging_buffers()

void vulkan_filter_chain::release_staging_buffers ( )
Here is the caller graph for this function:

◆ set_frame_count()

void vulkan_filter_chain::set_frame_count ( uint64_t  count)

◆ set_frame_count_period()

void vulkan_filter_chain::set_frame_count_period ( unsigned  pass,
unsigned  period 
)

◆ set_input_texture()

void vulkan_filter_chain::set_input_texture ( const vulkan_filter_chain_texture texture)

◆ set_num_passes()

void vulkan_filter_chain::set_num_passes ( unsigned  passes)
private
Here is the caller graph for this function:

◆ set_num_sync_indices()

void vulkan_filter_chain::set_num_sync_indices ( unsigned  num_indices)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_pass_info()

void vulkan_filter_chain::set_pass_info ( unsigned  pass,
const vulkan_filter_chain_pass_info info 
)

◆ set_pass_name()

void vulkan_filter_chain::set_pass_name ( unsigned  pass,
const char *  name 
)

◆ set_shader()

void vulkan_filter_chain::set_shader ( unsigned  pass,
VkShaderStageFlags  stage,
const uint32_t spirv,
size_t  spirv_words 
)

◆ set_shader_preset()

void vulkan_filter_chain::set_shader_preset ( unique_ptr< video_shader shader)
inline

◆ set_swapchain_info()

void vulkan_filter_chain::set_swapchain_info ( const vulkan_filter_chain_swapchain_info info)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_feedback_info()

void vulkan_filter_chain::update_feedback_info ( )
private
Here is the caller graph for this function:

◆ update_history()

void vulkan_filter_chain::update_history ( DeferredDisposer disposer,
VkCommandBuffer  cmd 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_history_info()

void vulkan_filter_chain::update_history_info ( )
private
Here is the caller graph for this function:

◆ update_swapchain_info()

bool vulkan_filter_chain::update_swapchain_info ( const vulkan_filter_chain_swapchain_info info)
Here is the call graph for this function:

Member Data Documentation

◆ cache

VkPipelineCache vulkan_filter_chain::cache
private

◆ common

CommonResources vulkan_filter_chain::common
private

◆ current_sync_index

unsigned vulkan_filter_chain::current_sync_index
private

◆ deferred_calls

vector<vector<function<void ()> > > vulkan_filter_chain::deferred_calls
private

◆ device

VkDevice vulkan_filter_chain::device
private

◆ gpu

VkPhysicalDevice vulkan_filter_chain::gpu
private

◆ input_texture

vulkan_filter_chain_texture vulkan_filter_chain::input_texture
private

◆ max_input_size

Size2D vulkan_filter_chain::max_input_size
private

◆ memory_properties

const VkPhysicalDeviceMemoryProperties& vulkan_filter_chain::memory_properties
private

◆ original_format

VkFormat vulkan_filter_chain::original_format
private

◆ original_history

vector<unique_ptr<Framebuffer> > vulkan_filter_chain::original_history
private

◆ pass_info

vector<vulkan_filter_chain_pass_info> vulkan_filter_chain::pass_info
private

◆ passes

vector<unique_ptr<Pass> > vulkan_filter_chain::passes
private

◆ require_clear

bool vulkan_filter_chain::require_clear = false
private

◆ swapchain_info

vulkan_filter_chain_swapchain_info vulkan_filter_chain::swapchain_info
private

The documentation for this struct was generated from the following file: