FFmpeg
Functions | Variables
vulkan_glslang.c File Reference
#include <pthread.h>
#include <glslang/build_info.h>
#include <glslang/Include/glslang_c_interface.h>
#include "vulkan_spirv.h"
#include "libavutil/mem.h"
#include "libavutil/avassert.h"

Go to the source code of this file.

Functions

static int glslc_shader_compile (FFVulkanContext *s, FFVkSPIRVCompiler *ctx, FFVulkanShader *shd, uint8_t **data, size_t *size, const char *entrypoint, void **opaque)
 
static void glslc_shader_free (FFVkSPIRVCompiler *ctx, void **opaque)
 
static void glslc_uninit (FFVkSPIRVCompiler **ctx)
 
FFVkSPIRVCompilerff_vk_glslang_init (void)
 

Variables

static pthread_mutex_t glslc_mutex = PTHREAD_MUTEX_INITIALIZER
 
static int glslc_refcount = 0
 
static const glslang_resource_t glslc_resource_limits
 

Function Documentation

◆ glslc_shader_compile()

static int glslc_shader_compile ( FFVulkanContext s,
FFVkSPIRVCompiler ctx,
FFVulkanShader shd,
uint8_t **  data,
size_t *  size,
const char *  entrypoint,
void **  opaque 
)
static

Definition at line 139 of file vulkan_glslang.c.

Referenced by ff_vk_glslang_init().

◆ glslc_shader_free()

static void glslc_shader_free ( FFVkSPIRVCompiler ctx,
void **  opaque 
)
static

Definition at line 265 of file vulkan_glslang.c.

Referenced by ff_vk_glslang_init().

◆ glslc_uninit()

static void glslc_uninit ( FFVkSPIRVCompiler **  ctx)
static

Definition at line 275 of file vulkan_glslang.c.

Referenced by ff_vk_glslang_init().

◆ ff_vk_glslang_init()

FFVkSPIRVCompiler* ff_vk_glslang_init ( void  )

Definition at line 288 of file vulkan_glslang.c.

Variable Documentation

◆ glslc_mutex

Definition at line 28 of file vulkan_glslang.c.

Referenced by ff_vk_glslang_init(), and glslc_uninit().

◆ glslc_refcount

int glslc_refcount = 0
static

◆ glslc_resource_limits

const glslang_resource_t glslc_resource_limits
static

Definition at line 31 of file vulkan_glslang.c.

Referenced by glslc_shader_compile().