FFmpeg
libavutil
vulkan_spirv.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVUTIL_VULKAN_SPIRV_H
20
#define AVUTIL_VULKAN_SPIRV_H
21
22
#include "
vulkan.h
"
23
24
#include "config.h"
25
26
typedef
struct
FFVkSPIRVCompiler
{
27
void
*
priv
;
28
int (*
compile_shader
)(
FFVulkanContext
*
s
,
struct
FFVkSPIRVCompiler
*
ctx
,
29
FFVulkanShader
*shd, uint8_t **
data
,
30
size_t
*
size
,
const
char
*entrypoint,
void
**opaque);
31
void (*
free_shader
)(
struct
FFVkSPIRVCompiler
*
ctx
,
void
**opaque);
32
void (*
uninit
)(
struct
FFVkSPIRVCompiler
**
ctx
);
33
}
FFVkSPIRVCompiler
;
34
35
#if CONFIG_LIBGLSLANG
36
FFVkSPIRVCompiler
*
ff_vk_glslang_init
(
void
);
37
#define ff_vk_spirv_init ff_vk_glslang_init
38
#endif
39
#if CONFIG_LIBSHADERC
40
FFVkSPIRVCompiler
*
ff_vk_shaderc_init
(
void
);
41
#define ff_vk_spirv_init ff_vk_shaderc_init
42
#endif
43
44
#endif
/* AVUTIL_VULKAN_H */
data
const char data[16]
Definition:
mxf.c:149
FFVkSPIRVCompiler::uninit
void(* uninit)(struct FFVkSPIRVCompiler **ctx)
Definition:
vulkan_spirv.h:32
s
#define s(width, name)
Definition:
cbs_vp9.c:198
ctx
AVFormatContext * ctx
Definition:
movenc.c:49
FFVkSPIRVCompiler::priv
void * priv
Definition:
vulkan_spirv.h:27
ff_vk_shaderc_init
FFVkSPIRVCompiler * ff_vk_shaderc_init(void)
Definition:
vulkan_shaderc.c:129
ff_vk_glslang_init
FFVkSPIRVCompiler * ff_vk_glslang_init(void)
Definition:
vulkan_glslang.c:288
FFVulkanContext
Definition:
vulkan.h:268
vulkan.h
size
int size
Definition:
twinvq_data.h:10344
FFVulkanShader
Definition:
vulkan.h:184
FFVkSPIRVCompiler::compile_shader
int(* compile_shader)(FFVulkanContext *s, struct FFVkSPIRVCompiler *ctx, FFVulkanShader *shd, uint8_t **data, size_t *size, const char *entrypoint, void **opaque)
Definition:
vulkan_spirv.h:28
FFVkSPIRVCompiler
Definition:
vulkan_spirv.h:26
FFVkSPIRVCompiler::free_shader
void(* free_shader)(struct FFVkSPIRVCompiler *ctx, void **opaque)
Definition:
vulkan_spirv.h:31
Generated on Sun Nov 24 2024 19:22:43 for FFmpeg by
1.8.17