FFmpeg
|
Go to the source code of this file.
Data Structures | |
struct | ImageViewCtx |
struct | descriptor_props |
Macros | |
#define | CASE(VAL) case VAL: return #VAL |
#define | ARR_REALLOC(str, arr, alloc_s, cnt) |
Functions | |
const char * | ff_vk_ret2str (VkResult res) |
Converts Vulkan return values to strings. More... | |
int | ff_vk_load_props (FFVulkanContext *s) |
Loads props/mprops/driver_props. More... | |
static int | vk_qf_get_index (FFVulkanContext *s, VkQueueFlagBits dev_family, int *nb) |
int | ff_vk_qf_init (FFVulkanContext *s, FFVkQueueFamilyCtx *qf, VkQueueFlagBits dev_family) |
Chooses a QF and loads it into a context. More... | |
void | ff_vk_exec_pool_free (FFVulkanContext *s, FFVkExecPool *pool) |
int | ff_vk_exec_pool_init (FFVulkanContext *s, FFVkQueueFamilyCtx *qf, FFVkExecPool *pool, int nb_contexts, int nb_queries, VkQueryType query_type, int query_64bit, const void *query_create_pnext) |
Allocates/frees an execution pool. More... | |
VkResult | ff_vk_exec_get_query (FFVulkanContext *s, FFVkExecContext *e, void **data, int64_t *status) |
Performs nb_queries queries and returns their results and statuses. More... | |
FFVkExecContext * | ff_vk_exec_get (FFVkExecPool *pool) |
Retrieve an execution pool. More... | |
void | ff_vk_exec_wait (FFVulkanContext *s, FFVkExecContext *e) |
int | ff_vk_exec_start (FFVulkanContext *s, FFVkExecContext *e) |
Start/submit/wait an execution. More... | |
void | ff_vk_exec_discard_deps (FFVulkanContext *s, FFVkExecContext *e) |
int | ff_vk_exec_add_dep_buf (FFVulkanContext *s, FFVkExecContext *e, AVBufferRef **deps, int nb_deps, int ref) |
Execution dependency management. More... | |
int | ff_vk_exec_add_dep_frame (FFVulkanContext *s, FFVkExecContext *e, AVFrame *f, VkPipelineStageFlagBits2 wait_stage, VkPipelineStageFlagBits2 signal_stage) |
void | ff_vk_exec_update_frame (FFVulkanContext *s, FFVkExecContext *e, AVFrame *f, VkImageMemoryBarrier2 *bar, uint32_t *nb_img_bar) |
int | ff_vk_exec_mirror_sem_value (FFVulkanContext *s, FFVkExecContext *e, VkSemaphore *dst, uint64_t *dst_val, AVFrame *f) |
int | ff_vk_exec_submit (FFVulkanContext *s, FFVkExecContext *e) |
int | ff_vk_alloc_mem (FFVulkanContext *s, VkMemoryRequirements *req, VkMemoryPropertyFlagBits req_flags, void *alloc_extension, VkMemoryPropertyFlagBits *mem_flags, VkDeviceMemory *mem) |
Memory/buffer/image allocation helpers. More... | |
int | ff_vk_create_buf (FFVulkanContext *s, FFVkBuffer *buf, size_t size, void *pNext, void *alloc_pNext, VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags) |
static void | destroy_avvkbuf (void *opaque, uint8_t *data) |
int | ff_vk_create_avbuf (FFVulkanContext *s, AVBufferRef **ref, size_t size, void *pNext, void *alloc_pNext, VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags) |
int | ff_vk_map_buffers (FFVulkanContext *s, FFVkBuffer **buf, uint8_t *mem[], int nb_buffers, int invalidate) |
Buffer management code. More... | |
int | ff_vk_unmap_buffers (FFVulkanContext *s, FFVkBuffer **buf, int nb_buffers, int flush) |
void | ff_vk_free_buf (FFVulkanContext *s, FFVkBuffer *buf) |
static void | free_data_buf (void *opaque, uint8_t *data) |
static AVBufferRef * | alloc_data_buf (void *opaque, size_t size) |
int | ff_vk_get_pooled_buffer (FFVulkanContext *ctx, AVBufferPool **buf_pool, AVBufferRef **buf, VkBufferUsageFlags usage, void *create_pNext, size_t size, VkMemoryPropertyFlagBits mem_props) |
Initialize a pool and create AVBufferRefs containing FFVkBuffer. More... | |
int | ff_vk_add_push_constant (FFVulkanPipeline *pl, int offset, int size, VkShaderStageFlagBits stage) |
Add/update push constants for execution. More... | |
int | ff_vk_init_sampler (FFVulkanContext *s, VkSampler *sampler, int unnorm_coords, VkFilter filt) |
Create a sampler. More... | |
int | ff_vk_mt_is_np_rgb (enum AVPixelFormat pix_fmt) |
Returns 1 if pixfmt is a usable RGB format. More... | |
const char * | ff_vk_shader_rep_fmt (enum AVPixelFormat pixfmt) |
Returns the format to use for images in shaders. More... | |
static void | destroy_imageviews (void *opaque, uint8_t *data) |
int | ff_vk_create_imageviews (FFVulkanContext *s, FFVkExecContext *e, VkImageView views[AV_NUM_DATA_POINTERS], AVFrame *f) |
Create an imageview and add it as a dependency to an execution. More... | |
void | ff_vk_frame_barrier (FFVulkanContext *s, FFVkExecContext *e, AVFrame *pic, VkImageMemoryBarrier2 *bar, int *nb_bar, VkPipelineStageFlags src_stage, VkPipelineStageFlags dst_stage, VkAccessFlagBits new_access, VkImageLayout new_layout, uint32_t new_qf) |
int | ff_vk_shader_init (FFVulkanPipeline *pl, FFVkSPIRVShader *shd, const char *name, VkShaderStageFlags stage, uint32_t required_subgroup_size) |
Shader management. More... | |
void | ff_vk_shader_set_compute_sizes (FFVkSPIRVShader *shd, int x, int y, int z) |
void | ff_vk_shader_print (void *ctx, FFVkSPIRVShader *shd, int prio) |
void | ff_vk_shader_free (FFVulkanContext *s, FFVkSPIRVShader *shd) |
int | ff_vk_shader_create (FFVulkanContext *s, FFVkSPIRVShader *shd, uint8_t *spirv, size_t spirv_size, const char *entrypoint) |
int | ff_vk_pipeline_descriptor_set_add (FFVulkanContext *s, FFVulkanPipeline *pl, FFVkSPIRVShader *shd, FFVulkanDescriptorSetBinding *desc, int nb, int read_only, int print_to_shader_only) |
Add descriptor to a pipeline. More... | |
int | ff_vk_exec_pipeline_register (FFVulkanContext *s, FFVkExecPool *pool, FFVulkanPipeline *pl) |
Register a pipeline with an exec pool. More... | |
static void | update_set_descriptor (FFVulkanContext *s, FFVkExecContext *e, FFVulkanDescriptorSet *set, int bind_idx, int array_idx, VkDescriptorGetInfoEXT *desc_get_info, size_t desc_size) |
static int | vk_set_descriptor_image (FFVulkanContext *s, FFVulkanPipeline *pl, FFVkExecContext *e, int set, int bind, int offs, VkImageView view, VkImageLayout layout, VkSampler sampler) |
int | ff_vk_set_descriptor_buffer (FFVulkanContext *s, FFVulkanPipeline *pl, FFVkExecContext *e, int set, int bind, int offs, VkDeviceAddress addr, VkDeviceSize len, VkFormat fmt) |
void | ff_vk_update_descriptor_img_array (FFVulkanContext *s, FFVulkanPipeline *pl, FFVkExecContext *e, AVFrame *f, VkImageView *views, int set, int binding, VkImageLayout layout, VkSampler sampler) |
void | ff_vk_update_push_exec (FFVulkanContext *s, FFVkExecContext *e, FFVulkanPipeline *pl, VkShaderStageFlagBits stage, int offset, size_t size, void *src) |
static int | init_pipeline_layout (FFVulkanContext *s, FFVulkanPipeline *pl) |
int | ff_vk_init_compute_pipeline (FFVulkanContext *s, FFVulkanPipeline *pl, FFVkSPIRVShader *shd) |
void | ff_vk_exec_bind_pipeline (FFVulkanContext *s, FFVkExecContext *e, FFVulkanPipeline *pl) |
void | ff_vk_pipeline_free (FFVulkanContext *s, FFVulkanPipeline *pl) |
void | ff_vk_uninit (FFVulkanContext *s) |
Frees main context. More... | |
Variables | |
const VkComponentMapping | ff_comp_identity_map |
static const struct descriptor_props | descriptor_props [] |
#define CASE | ( | VAL | ) | case VAL: return #VAL |
#define ARR_REALLOC | ( | str, | |
arr, | |||
alloc_s, | |||
cnt | |||
) |
const char* ff_vk_ret2str | ( | VkResult | res | ) |
Converts Vulkan return values to strings.
Definition at line 33 of file vulkan.c.
Referenced by alloc_bind_mem(), alloc_mem(), create_frame(), create_instance(), ff_vk_alloc_mem(), ff_vk_create_buf(), ff_vk_create_imageviews(), ff_vk_decode_create_params(), ff_vk_decode_frame(), ff_vk_decode_init(), ff_vk_exec_pool_init(), ff_vk_exec_start(), ff_vk_exec_submit(), ff_vk_init_compute_pipeline(), ff_vk_init_sampler(), ff_vk_map_buffers(), ff_vk_pipeline_descriptor_set_add(), ff_vk_shader_create(), ff_vk_unmap_buffers(), find_device(), init_pipeline_layout(), vulkan_decode_get_profile(), and vulkan_device_create_internal().
int ff_vk_load_props | ( | FFVulkanContext * | s | ) |
Loads props/mprops/driver_props.
Definition at line 85 of file vulkan.c.
Referenced by ff_vk_decode_init(), ff_vk_filter_init_context(), and vulkan_device_init().
|
static |
Definition at line 189 of file vulkan.c.
Referenced by ff_vk_qf_init().
int ff_vk_qf_init | ( | FFVulkanContext * | s, |
FFVkQueueFamilyCtx * | qf, | ||
VkQueueFlagBits | dev_family | ||
) |
Chooses a QF and loads it into a context.
Definition at line 224 of file vulkan.c.
Referenced by ff_vk_decode_init(), init_filter(), init_vulkan(), and vulkan_device_init().
void ff_vk_exec_pool_free | ( | FFVulkanContext * | s, |
FFVkExecPool * | pool | ||
) |
Definition at line 255 of file vulkan.c.
Referenced by avgblur_vulkan_uninit(), bwdif_vulkan_uninit(), chromaber_vulkan_uninit(), ff_vk_decode_uninit(), ff_vk_exec_pool_init(), flip_vulkan_uninit(), gblur_vulkan_uninit(), overlay_vulkan_uninit(), scale_vulkan_uninit(), testsrc_vulkan_uninit(), transpose_vulkan_uninit(), uninit(), and vulkan_frames_uninit().
int ff_vk_exec_pool_init | ( | FFVulkanContext * | s, |
FFVkQueueFamilyCtx * | qf, | ||
FFVkExecPool * | pool, | ||
int | nb_contexts, | ||
int | nb_queries, | ||
VkQueryType | query_type, | ||
int | query_64bit, | ||
const void * | query_create_pnext | ||
) |
Allocates/frees an execution pool.
ff_vk_exec_pool_init_desc() MUST be called if ff_vk_exec_descriptor_set_add() has been called.
Definition at line 295 of file vulkan.c.
Referenced by ff_vk_decode_init(), ff_vk_update_thread_context(), init_filter(), init_vulkan(), and vulkan_frames_init().
VkResult ff_vk_exec_get_query | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
void ** | data, | ||
int64_t * | status | ||
) |
Performs nb_queries queries and returns their results and statuses.
Execution must have been waited on to produce valid results.
Definition at line 446 of file vulkan.c.
Referenced by ff_vk_decode_frame().
FFVkExecContext* ff_vk_exec_get | ( | FFVkExecPool * | pool | ) |
Retrieve an execution pool.
Threadsafe.
Definition at line 496 of file vulkan.c.
Referenced by ff_vk_decode_flush(), ff_vk_decode_frame(), ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), ff_vk_filter_process_simple(), prepare_frame(), and transfer_image_buf().
void ff_vk_exec_wait | ( | FFVulkanContext * | s, |
FFVkExecContext * | e | ||
) |
Definition at line 503 of file vulkan.c.
Referenced by ff_vk_decode_frame(), and transfer_image_buf().
int ff_vk_exec_start | ( | FFVulkanContext * | s, |
FFVkExecContext * | e | ||
) |
Start/submit/wait an execution.
ff_vk_exec_start() always waits on a submission, so using ff_vk_exec_wait() is not necessary (unless using it is just better).
Definition at line 512 of file vulkan.c.
Referenced by ff_vk_decode_flush(), ff_vk_decode_frame(), ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), ff_vk_filter_process_simple(), prepare_frame(), and transfer_image_buf().
void ff_vk_exec_discard_deps | ( | FFVulkanContext * | s, |
FFVkExecContext * | e | ||
) |
Definition at line 548 of file vulkan.c.
Referenced by ff_vk_exec_add_dep_buf(), ff_vk_exec_add_dep_frame(), ff_vk_exec_pool_free(), ff_vk_exec_start(), ff_vk_exec_submit(), ff_vk_exec_wait(), ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), ff_vk_filter_process_simple(), and prepare_frame().
int ff_vk_exec_add_dep_buf | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
AVBufferRef ** | deps, | ||
int | nb_deps, | ||
int | ref | ||
) |
Execution dependency management.
Can attach buffers to executions that will only be unref'd once the buffer has finished executing. Adding a frame dep will lock the frame, until either the dependencies are discarded, the execution is submitted, or a failure happens. update_frame will update the frame's properties before it is unlocked, only if submission was successful.
Definition at line 574 of file vulkan.c.
Referenced by ff_vk_create_imageviews(), ff_vk_decode_frame(), and transfer_image_buf().
int ff_vk_exec_add_dep_frame | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
AVFrame * | f, | ||
VkPipelineStageFlagBits2 | wait_stage, | ||
VkPipelineStageFlagBits2 | signal_stage | ||
) |
Definition at line 598 of file vulkan.c.
Referenced by ff_vk_decode_frame(), ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), ff_vk_filter_process_simple(), prepare_frame(), and transfer_image_buf().
void ff_vk_exec_update_frame | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
AVFrame * | f, | ||
VkImageMemoryBarrier2 * | bar, | ||
uint32_t * | nb_img_bar | ||
) |
Definition at line 678 of file vulkan.c.
Referenced by ff_vk_decode_frame(), and ff_vk_frame_barrier().
int ff_vk_exec_mirror_sem_value | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
VkSemaphore * | dst, | ||
uint64_t * | dst_val, | ||
AVFrame * | f | ||
) |
Definition at line 697 of file vulkan.c.
Referenced by ff_vk_decode_frame().
int ff_vk_exec_submit | ( | FFVulkanContext * | s, |
FFVkExecContext * | e | ||
) |
Definition at line 723 of file vulkan.c.
Referenced by ff_vk_decode_flush(), ff_vk_decode_frame(), ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), ff_vk_filter_process_simple(), prepare_frame(), and transfer_image_buf().
int ff_vk_alloc_mem | ( | FFVulkanContext * | s, |
VkMemoryRequirements * | req, | ||
VkMemoryPropertyFlagBits | req_flags, | ||
void * | alloc_extension, | ||
VkMemoryPropertyFlagBits * | mem_flags, | ||
VkDeviceMemory * | mem | ||
) |
Memory/buffer/image allocation helpers.
Definition at line 789 of file vulkan.c.
Referenced by ff_vk_create_buf(), and ff_vk_video_common_init().
int ff_vk_create_buf | ( | FFVulkanContext * | s, |
FFVkBuffer * | buf, | ||
size_t | size, | ||
void * | pNext, | ||
void * | alloc_pNext, | ||
VkBufferUsageFlags | usage, | ||
VkMemoryPropertyFlagBits | flags | ||
) |
Definition at line 847 of file vulkan.c.
Referenced by ff_vk_create_avbuf(), ff_vk_exec_pipeline_register(), ff_vk_get_pooled_buffer(), ff_vk_video_get_buffer(), and init_gblur_pipeline().
|
static |
Definition at line 934 of file vulkan.c.
Referenced by ff_vk_create_avbuf().
int ff_vk_create_avbuf | ( | FFVulkanContext * | s, |
AVBufferRef ** | ref, | ||
size_t | size, | ||
void * | pNext, | ||
void * | alloc_pNext, | ||
VkBufferUsageFlags | usage, | ||
VkMemoryPropertyFlagBits | flags | ||
) |
Definition at line 942 of file vulkan.c.
Referenced by vulkan_transfer_data().
int ff_vk_map_buffers | ( | FFVulkanContext * | s, |
FFVkBuffer ** | buf, | ||
uint8_t * | mem[], | ||
int | nb_buffers, | ||
int | invalidate | ||
) |
Buffer management code.
Definition at line 969 of file vulkan.c.
Referenced by ff_vk_map_buffer(), and vulkan_transfer_data().
int ff_vk_unmap_buffers | ( | FFVulkanContext * | s, |
FFVkBuffer ** | buf, | ||
int | nb_buffers, | ||
int | flush | ||
) |
Definition at line 1016 of file vulkan.c.
Referenced by ff_vk_unmap_buffer(), and vulkan_transfer_data().
void ff_vk_free_buf | ( | FFVulkanContext * | s, |
FFVkBuffer * | buf | ||
) |
Definition at line 1054 of file vulkan.c.
Referenced by destroy_avvkbuf(), ff_vk_get_pooled_buffer(), ff_vk_pipeline_free(), ff_vk_video_get_buffer(), free_data_buf(), and gblur_vulkan_uninit().
|
static |
Definition at line 1069 of file vulkan.c.
Referenced by alloc_data_buf().
|
static |
Definition at line 1077 of file vulkan.c.
Referenced by ff_vk_get_pooled_buffer().
int ff_vk_get_pooled_buffer | ( | FFVulkanContext * | ctx, |
AVBufferPool ** | buf_pool, | ||
AVBufferRef ** | buf, | ||
VkBufferUsageFlags | usage, | ||
void * | create_pNext, | ||
size_t | size, | ||
VkMemoryPropertyFlagBits | mem_props | ||
) |
Initialize a pool and create AVBufferRefs containing FFVkBuffer.
Threadsafe to use. Buffers are automatically mapped on creation if VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT is set in mem_props. Users should synchronize access themselvesd. Mainly meant for device-local buffers.
int ff_vk_add_push_constant | ( | FFVulkanPipeline * | pl, |
int | offset, | ||
int | size, | ||
VkShaderStageFlagBits | stage | ||
) |
Add/update push constants for execution.
Definition at line 1142 of file vulkan.c.
Referenced by init_filter(), and init_vulkan().
int ff_vk_init_sampler | ( | FFVulkanContext * | s, |
VkSampler * | sampler, | ||
int | unnorm_coords, | ||
VkFilter | filt | ||
) |
Create a sampler.
Definition at line 1162 of file vulkan.c.
Referenced by init_filter(), and init_vulkan().
int ff_vk_mt_is_np_rgb | ( | enum AVPixelFormat | pix_fmt | ) |
Returns 1 if pixfmt is a usable RGB format.
Definition at line 1194 of file vulkan.c.
Referenced by scale_vulkan_config_output().
const char* ff_vk_shader_rep_fmt | ( | enum AVPixelFormat | pixfmt | ) |
Returns the format to use for images in shaders.
Definition at line 1206 of file vulkan.c.
Referenced by init_filter(), and init_vulkan().
|
static |
Definition at line 1218 of file vulkan.c.
Referenced by ff_vk_create_imageviews().
int ff_vk_create_imageviews | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
VkImageView | views[AV_NUM_DATA_POINTERS], | ||
AVFrame * | f | ||
) |
Create an imageview and add it as a dependency to an execution.
Definition at line 1230 of file vulkan.c.
Referenced by ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), and ff_vk_filter_process_simple().
void ff_vk_frame_barrier | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
AVFrame * | pic, | ||
VkImageMemoryBarrier2 * | bar, | ||
int * | nb_bar, | ||
VkPipelineStageFlags | src_stage, | ||
VkPipelineStageFlags | dst_stage, | ||
VkAccessFlagBits | new_access, | ||
VkImageLayout | new_layout, | ||
uint32_t | new_qf | ||
) |
Definition at line 1303 of file vulkan.c.
Referenced by ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), ff_vk_filter_process_simple(), prepare_frame(), and transfer_image_buf().
int ff_vk_shader_init | ( | FFVulkanPipeline * | pl, |
FFVkSPIRVShader * | shd, | ||
const char * | name, | ||
VkShaderStageFlags | stage, | ||
uint32_t | required_subgroup_size | ||
) |
Shader management.
Definition at line 1346 of file vulkan.c.
Referenced by init_filter(), and init_vulkan().
void ff_vk_shader_set_compute_sizes | ( | FFVkSPIRVShader * | shd, |
int | x, | ||
int | y, | ||
int | z | ||
) |
Definition at line 1372 of file vulkan.c.
Referenced by init_filter(), and init_vulkan().
void ff_vk_shader_print | ( | void * | ctx, |
FFVkSPIRVShader * | shd, | ||
int | prio | ||
) |
Definition at line 1383 of file vulkan.c.
Referenced by glslc_shader_compile(), and shdc_shader_compile().
void ff_vk_shader_free | ( | FFVulkanContext * | s, |
FFVkSPIRVShader * | shd | ||
) |
Definition at line 1405 of file vulkan.c.
Referenced by avgblur_vulkan_uninit(), bwdif_vulkan_uninit(), chromaber_vulkan_uninit(), flip_vulkan_uninit(), gblur_vulkan_uninit(), overlay_vulkan_uninit(), scale_vulkan_uninit(), testsrc_vulkan_uninit(), transpose_vulkan_uninit(), and uninit().
int ff_vk_shader_create | ( | FFVulkanContext * | s, |
FFVkSPIRVShader * | shd, | ||
uint8_t * | spirv, | ||
size_t | spirv_size, | ||
const char * | entrypoint | ||
) |
Definition at line 1414 of file vulkan.c.
Referenced by init_filter(), init_gblur_pipeline(), and init_vulkan().
int ff_vk_pipeline_descriptor_set_add | ( | FFVulkanContext * | s, |
FFVulkanPipeline * | pl, | ||
FFVkSPIRVShader * | shd, | ||
FFVulkanDescriptorSetBinding * | desc, | ||
int | nb, | ||
int | read_only, | ||
int | print_to_shader_only | ||
) |
Add descriptor to a pipeline.
Must be called before pipeline init.
Definition at line 1464 of file vulkan.c.
Referenced by init_filter(), init_gblur_pipeline(), and init_vulkan().
int ff_vk_exec_pipeline_register | ( | FFVulkanContext * | s, |
FFVkExecPool * | pool, | ||
FFVulkanPipeline * | pl | ||
) |
Register a pipeline with an exec pool.
Pool may be NULL if all descriptor sets are read-only.
Definition at line 1578 of file vulkan.c.
Referenced by init_filter(), init_gblur_pipeline(), and init_vulkan().
|
inlinestatic |
Definition at line 1619 of file vulkan.c.
Referenced by ff_vk_set_descriptor_buffer(), and vk_set_descriptor_image().
|
static |
Definition at line 1635 of file vulkan.c.
Referenced by ff_vk_update_descriptor_img_array().
int ff_vk_set_descriptor_buffer | ( | FFVulkanContext * | s, |
FFVulkanPipeline * | pl, | ||
FFVkExecContext * | e, | ||
int | set, | ||
int | bind, | ||
int | offs, | ||
VkDeviceAddress | addr, | ||
VkDeviceSize | len, | ||
VkFormat | fmt | ||
) |
Definition at line 1681 of file vulkan.c.
Referenced by init_gblur_pipeline().
void ff_vk_update_descriptor_img_array | ( | FFVulkanContext * | s, |
FFVulkanPipeline * | pl, | ||
FFVkExecContext * | e, | ||
AVFrame * | f, | ||
VkImageView * | views, | ||
int | set, | ||
int | binding, | ||
VkImageLayout | layout, | ||
VkSampler | sampler | ||
) |
Definition at line 1726 of file vulkan.c.
Referenced by ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), and ff_vk_filter_process_simple().
void ff_vk_update_push_exec | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
FFVulkanPipeline * | pl, | ||
VkShaderStageFlagBits | stage, | ||
int | offset, | ||
size_t | size, | ||
void * | src | ||
) |
Definition at line 1739 of file vulkan.c.
Referenced by ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), and ff_vk_filter_process_simple().
|
static |
Definition at line 1749 of file vulkan.c.
Referenced by ff_vk_init_compute_pipeline().
int ff_vk_init_compute_pipeline | ( | FFVulkanContext * | s, |
FFVulkanPipeline * | pl, | ||
FFVkSPIRVShader * | shd | ||
) |
Definition at line 1784 of file vulkan.c.
Referenced by init_filter(), init_gblur_pipeline(), and init_vulkan().
void ff_vk_exec_bind_pipeline | ( | FFVulkanContext * | s, |
FFVkExecContext * | e, | ||
FFVulkanPipeline * | pl | ||
) |
Definition at line 1821 of file vulkan.c.
Referenced by ff_vk_filter_process_2pass(), ff_vk_filter_process_Nin(), and ff_vk_filter_process_simple().
void ff_vk_pipeline_free | ( | FFVulkanContext * | s, |
FFVulkanPipeline * | pl | ||
) |
Definition at line 1843 of file vulkan.c.
Referenced by avgblur_vulkan_uninit(), bwdif_vulkan_uninit(), chromaber_vulkan_uninit(), flip_vulkan_uninit(), gblur_vulkan_uninit(), overlay_vulkan_uninit(), scale_vulkan_uninit(), testsrc_vulkan_uninit(), transpose_vulkan_uninit(), and uninit().
void ff_vk_uninit | ( | FFVulkanContext * | s | ) |
Frees main context.
Definition at line 1872 of file vulkan.c.
Referenced by avgblur_vulkan_uninit(), bwdif_vulkan_uninit(), chromaber_vulkan_uninit(), flip_vulkan_uninit(), free_common(), gblur_vulkan_uninit(), libplacebo_uninit(), overlay_vulkan_uninit(), scale_vulkan_uninit(), testsrc_vulkan_uninit(), transpose_vulkan_uninit(), uninit(), and vulkan_device_uninit().
const VkComponentMapping ff_comp_identity_map |
Definition at line 25 of file vulkan.c.
Referenced by ff_vk_create_imageviews(), and ff_vk_decode_init().
|
static |