Skip to content

Commit 0a8baef

Browse files
committed
refactor(pojav): 调整vulkan驱动加载逻辑,根据渲染器主动加载vulkan
- 移除初始化函数开头的提前 Vulkan 加载调用 - 统一所有条件分支的大括号风格,保持代码格式一致性 - 将 Vulkan 加载调用移动到具体的渲染器配置分支中 - 为 vulkan_zink、gallium_freedreno 和 custom_gallium 渲染器添加 Vulkan 加载支持 - 修正 br_init() 函数调用的括号间距格式
1 parent 47fcfb6 commit 0a8baef

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

FCLauncher/src/main/jni/pojav/egl_bridge.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -97,51 +97,48 @@ EXTERNAL_API void* pojavGetCurrentContext() {
9797
}
9898

9999
int pojavInitOpenGL() {
100-
load_vulkan();
101100
// Only affects GL4ES as of now
102101
const char *forceVsync = getenv("FORCE_VSYNC");
103102
if (!strcmp(forceVsync, "true"))
104103
pojav_environ->force_vsync = true;
105104

106105
// NOTE: Override for now.
107106
const char *renderer = getenv("POJAV_RENDERER");
108-
if (!strncmp("opengles", renderer, 8))
109-
{
107+
if (!strncmp("opengles", renderer, 8)) {
110108
pojav_environ->config_renderer = RENDERER_GL4ES;
111109
set_gl_bridge_tbl();
112110
}
113111

114-
if (!strcmp(renderer, "gallium_virgl"))
115-
{
112+
if (!strcmp(renderer, "gallium_virgl")) {
116113
pojav_environ->config_renderer = RENDERER_VIRGL;
117114
setenv("GALLIUM_DRIVER", "virpipe", 1);
118115
loadSymbolsVirGL();
119116
virglInit();
120117
return 0;
121118
}
122119

123-
if (!strcmp(renderer, "vulkan_zink"))
124-
{
120+
if (!strcmp(renderer, "vulkan_zink")) {
125121
pojav_environ->config_renderer = RENDERER_VK_ZINK;
122+
load_vulkan();
126123
setenv("GALLIUM_DRIVER", "zink", 1);
127124
set_osm_bridge_tbl();
128125
}
129126

130-
if (!strcmp(renderer, "gallium_freedreno"))
131-
{
127+
if (!strcmp(renderer, "gallium_freedreno")) {
132128
pojav_environ->config_renderer = RENDERER_VK_ZINK;
129+
load_vulkan();
133130
setenv("GALLIUM_DRIVER", "freedreno", 1);
134131
setenv("MESA_LOADER_DRIVER_OVERRIDE", "kgsl", 1);
135132
set_osm_bridge_tbl();
136133
}
137134

138-
if (!strcmp(renderer, "custom_gallium"))
139-
{
135+
if (!strcmp(renderer, "custom_gallium")) {
140136
pojav_environ->config_renderer = RENDERER_VK_ZINK;
137+
load_vulkan();
141138
set_osm_bridge_tbl();
142139
}
143140

144-
if(br_init()) br_setup_window();
141+
if (br_init()) br_setup_window();
145142

146143
return 0;
147144
}

0 commit comments

Comments
 (0)