blob: 921c7acb074fd12195c6362ac2655db1c20736a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#pragma once
#include "renderer.h"
#include <libplacebo/renderer.h>
#if defined STELA_API_VULKAN
#include <libplacebo/vulkan.h>
#elif defined STELA_API_DX11
#include <nnwt/windows.h>
#define COBJMACROS
#include <libplacebo/d3d11.h>
#elif defined STELA_API_OPENGL
#include <libplacebo/opengl.h>
#endif
#ifdef CAMU_HAVE_SUBTITLES
#include <ass/ass.h>
#endif
struct camu_renderer_lp {
struct camu_renderer r;
#if defined STELA_API_VULKAN
VkSurfaceKHR surface;
pl_vulkan vk;
pl_vk_inst vk_inst;
VkResult (*vk_destroy_surface)(VkInstance, VkSurfaceKHR);
#elif defined STELA_API_DX11
pl_d3d11 d3d11;
#elif defined STELA_API_OPENGL
pl_opengl gl;
#endif
pl_gpu gpu;
pl_log logger;
pl_swapchain swapchain;
struct pl_frame target;
bool have_frame;
pl_renderer renderer;
f64 last_swap_tick;
struct pl_render_params params;
const struct pl_hook *vr_emulation_hook[1];
#ifdef CAMU_HAVE_SUBTITLES
ASS_Library *ass;
#endif
};
struct camu_renderer *camu_renderer_libplacebo_create(void);
|