RetroArch
Classes | Typedefs | Enumerations | Functions
shader_vulkan.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <boolean.h>
#include <retro_common_api.h>
#include "../common/vulkan_common.h"
Include dependency graph for shader_vulkan.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vulkan_filter_chain_texture
 
struct  vulkan_filter_chain_pass_info
 
struct  vulkan_filter_chain_swapchain_info
 
struct  vulkan_filter_chain_create_info
 

Typedefs

typedef typedefRETRO_BEGIN_DECLS struct vulkan_filter_chain vulkan_filter_chain_t
 

Enumerations

enum  vulkan_filter_chain_filter { VULKAN_FILTER_CHAIN_LINEAR = 0, VULKAN_FILTER_CHAIN_NEAREST = 1, VULKAN_FILTER_CHAIN_COUNT }
 
enum  vulkan_filter_chain_address {
  VULKAN_FILTER_CHAIN_ADDRESS_REPEAT = 0, VULKAN_FILTER_CHAIN_ADDRESS_MIRRORED_REPEAT = 1, VULKAN_FILTER_CHAIN_ADDRESS_CLAMP_TO_EDGE = 2, VULKAN_FILTER_CHAIN_ADDRESS_CLAMP_TO_BORDER = 3,
  VULKAN_FILTER_CHAIN_ADDRESS_MIRROR_CLAMP_TO_EDGE = 4, VULKAN_FILTER_CHAIN_ADDRESS_COUNT
}
 
enum  vulkan_filter_chain_scale { VULKAN_FILTER_CHAIN_SCALE_ORIGINAL, VULKAN_FILTER_CHAIN_SCALE_SOURCE, VULKAN_FILTER_CHAIN_SCALE_VIEWPORT, VULKAN_FILTER_CHAIN_SCALE_ABSOLUTE }
 

Functions

vulkan_filter_chain_tvulkan_filter_chain_new (const struct vulkan_filter_chain_create_info *info)
 
void vulkan_filter_chain_free (vulkan_filter_chain_t *chain)
 
void vulkan_filter_chain_set_shader (vulkan_filter_chain_t *chain, unsigned pass, VkShaderStageFlags stage, const uint32_t *spirv, size_t spirv_words)
 
void vulkan_filter_chain_set_pass_info (vulkan_filter_chain_t *chain, unsigned pass, const struct vulkan_filter_chain_pass_info *info)
 
bool vulkan_filter_chain_update_swapchain_info (vulkan_filter_chain_t *chain, const struct vulkan_filter_chain_swapchain_info *info)
 
void vulkan_filter_chain_notify_sync_index (vulkan_filter_chain_t *chain, unsigned index)
 
bool vulkan_filter_chain_init (vulkan_filter_chain_t *chain)
 
void vulkan_filter_chain_set_input_texture (vulkan_filter_chain_t *chain, const struct vulkan_filter_chain_texture *texture)
 
void vulkan_filter_chain_set_frame_count (vulkan_filter_chain_t *chain, uint64_t count)
 
void vulkan_filter_chain_set_frame_count_period (vulkan_filter_chain_t *chain, unsigned pass, unsigned period)
 
void vulkan_filter_chain_set_pass_name (vulkan_filter_chain_t *chain, unsigned pass, const char *name)
 
void vulkan_filter_chain_build_offscreen_passes (vulkan_filter_chain_t *chain, VkCommandBuffer cmd, const VkViewport *vp)
 
void vulkan_filter_chain_build_viewport_pass (vulkan_filter_chain_t *chain, VkCommandBuffer cmd, const VkViewport *vp, const float *mvp)
 
void vulkan_filter_chain_end_frame (vulkan_filter_chain_t *chain, VkCommandBuffer cmd)
 
vulkan_filter_chain_tvulkan_filter_chain_create_default (const struct vulkan_filter_chain_create_info *info, enum vulkan_filter_chain_filter filter)
 
vulkan_filter_chain_tvulkan_filter_chain_create_from_preset (const struct vulkan_filter_chain_create_info *info, const char *path, enum vulkan_filter_chain_filter filter)
 
struct video_shadervulkan_filter_chain_get_preset (vulkan_filter_chain_t *chain)
 

Typedef Documentation

◆ vulkan_filter_chain_t

typedef typedefRETRO_BEGIN_DECLS struct vulkan_filter_chain vulkan_filter_chain_t

Enumeration Type Documentation

◆ vulkan_filter_chain_address

Enumerator
VULKAN_FILTER_CHAIN_ADDRESS_REPEAT 
VULKAN_FILTER_CHAIN_ADDRESS_MIRRORED_REPEAT 
VULKAN_FILTER_CHAIN_ADDRESS_CLAMP_TO_EDGE 
VULKAN_FILTER_CHAIN_ADDRESS_CLAMP_TO_BORDER 
VULKAN_FILTER_CHAIN_ADDRESS_MIRROR_CLAMP_TO_EDGE 
VULKAN_FILTER_CHAIN_ADDRESS_COUNT 

◆ vulkan_filter_chain_filter

Enumerator
VULKAN_FILTER_CHAIN_LINEAR 
VULKAN_FILTER_CHAIN_NEAREST 
VULKAN_FILTER_CHAIN_COUNT 

◆ vulkan_filter_chain_scale

Enumerator
VULKAN_FILTER_CHAIN_SCALE_ORIGINAL 
VULKAN_FILTER_CHAIN_SCALE_SOURCE 
VULKAN_FILTER_CHAIN_SCALE_VIEWPORT 
VULKAN_FILTER_CHAIN_SCALE_ABSOLUTE 

Function Documentation

◆ vulkan_filter_chain_build_offscreen_passes()

void vulkan_filter_chain_build_offscreen_passes ( vulkan_filter_chain_t chain,
VkCommandBuffer  cmd,
const VkViewport vp 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_build_viewport_pass()

void vulkan_filter_chain_build_viewport_pass ( vulkan_filter_chain_t chain,
VkCommandBuffer  cmd,
const VkViewport vp,
const float *  mvp 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_create_default()

vulkan_filter_chain_t* vulkan_filter_chain_create_default ( const struct vulkan_filter_chain_create_info info,
enum vulkan_filter_chain_filter  filter 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_create_from_preset()

vulkan_filter_chain_t* vulkan_filter_chain_create_from_preset ( const struct vulkan_filter_chain_create_info info,
const char *  path,
enum vulkan_filter_chain_filter  filter 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vulkan_filter_chain_end_frame()

void vulkan_filter_chain_end_frame ( vulkan_filter_chain_t chain,
VkCommandBuffer  cmd 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_free()

void vulkan_filter_chain_free ( vulkan_filter_chain_t chain)
Here is the caller graph for this function:

◆ vulkan_filter_chain_get_preset()

struct video_shader* vulkan_filter_chain_get_preset ( vulkan_filter_chain_t chain)
Here is the caller graph for this function:

◆ vulkan_filter_chain_init()

bool vulkan_filter_chain_init ( vulkan_filter_chain_t chain)

◆ vulkan_filter_chain_new()

vulkan_filter_chain_t* vulkan_filter_chain_new ( const struct vulkan_filter_chain_create_info info)

◆ vulkan_filter_chain_notify_sync_index()

void vulkan_filter_chain_notify_sync_index ( vulkan_filter_chain_t chain,
unsigned  index 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_set_frame_count()

void vulkan_filter_chain_set_frame_count ( vulkan_filter_chain_t chain,
uint64_t  count 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_set_frame_count_period()

void vulkan_filter_chain_set_frame_count_period ( vulkan_filter_chain_t chain,
unsigned  pass,
unsigned  period 
)

◆ vulkan_filter_chain_set_input_texture()

void vulkan_filter_chain_set_input_texture ( vulkan_filter_chain_t chain,
const struct vulkan_filter_chain_texture texture 
)
Here is the caller graph for this function:

◆ vulkan_filter_chain_set_pass_info()

void vulkan_filter_chain_set_pass_info ( vulkan_filter_chain_t chain,
unsigned  pass,
const struct vulkan_filter_chain_pass_info info 
)

◆ vulkan_filter_chain_set_pass_name()

void vulkan_filter_chain_set_pass_name ( vulkan_filter_chain_t chain,
unsigned  pass,
const char *  name 
)

◆ vulkan_filter_chain_set_shader()

void vulkan_filter_chain_set_shader ( vulkan_filter_chain_t chain,
unsigned  pass,
VkShaderStageFlags  stage,
const uint32_t spirv,
size_t  spirv_words 
)

◆ vulkan_filter_chain_update_swapchain_info()

bool vulkan_filter_chain_update_swapchain_info ( vulkan_filter_chain_t chain,
const struct vulkan_filter_chain_swapchain_info info 
)