Skip to content

Commit f262972

Browse files
committed
more pedantic fixes
1 parent 978df2d commit f262972

File tree

10 files changed

+283
-190
lines changed

10 files changed

+283
-190
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ add_library(
145145
src/dmabuf_surface.c
146146
src/frame_scheduler.c
147147
src/window.c
148+
src/vulkan.c
148149
src/dummy_render_surface.c
149150
src/plugins/services.c
150151
)

CMakePresets.json

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,58 @@
77
"description": "Sets Ninja generator, build and install directory",
88
"generator": "Ninja",
99
"binaryDir": "${sourceDir}/out/build/${presetName}",
10+
"hidden": true,
1011
"cacheVariables": {
1112
"CMAKE_BUILD_TYPE": "Debug",
1213
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
14+
"TRY_ENABLE_OPENGL": false,
1315
"ENABLE_OPENGL": true,
16+
"TRY_ENABLE_VULKAN": false,
17+
"ENABLE_VULKAN": true,
18+
"BUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN": true,
19+
"TRY_BUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN": false,
1420
"BUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN": true,
21+
"TRY_BUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN": false,
1522
"BUILD_SENTRY_PLUGIN": true,
16-
"ENABLE_TESTS": true,
23+
"ENABLE_TESTS": true
24+
}
25+
},
26+
{
27+
"name": "default-clang",
28+
"displayName": "Default OpenGL host build (clang)",
29+
"description": "Sets Ninja generator, build and install directory",
30+
"generator": "Ninja",
31+
"binaryDir": "${sourceDir}/out/build/${presetName}",
32+
"inherits": "default",
33+
"cacheVariables": {
34+
"CMAKE_C_COMPILER": "clang",
35+
"CMAKE_CXX_COMPILER": "clang++"
36+
}
37+
},
38+
{
39+
"name": "default-clang-20",
40+
"displayName": "Default OpenGL host build (clang-20)",
41+
"description": "Sets Ninja generator, build and install directory",
42+
"generator": "Ninja",
43+
"binaryDir": "${sourceDir}/out/build/${presetName}",
44+
"inherits": "default",
45+
"cacheVariables": {
1746
"CMAKE_C_COMPILER": "clang-20",
1847
"CMAKE_CXX_COMPILER": "clang++-20"
1948
}
2049
},
50+
{
51+
"name": "default-gcc",
52+
"displayName": "Default OpenGL host build (gcc)",
53+
"description": "Sets Ninja generator, build and install directory",
54+
"generator": "Ninja",
55+
"binaryDir": "${sourceDir}/out/build/${presetName}",
56+
"inherits": "default",
57+
"cacheVariables": {
58+
"CMAKE_C_COMPILER": "gcc",
59+
"CMAKE_CXX_COMPILER": "g++"
60+
}
61+
},
2162
{
2263
"name": "cross-aarch64-default",
2364
"displayName": "OpenGL AArch64 cross-build",

src/flutter-pi.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,8 @@ static void *proc_resolver(void *userdata, const char *name) {
394394
flutterpi = userdata;
395395
ASSERT_NOT_NULL(flutterpi->gl_renderer);
396396

397-
return (void *) gl_renderer_get_proc_address(flutterpi->gl_renderer, name);
397+
fn_ptr_t fn = gl_renderer_get_proc_address(flutterpi->gl_renderer, name);
398+
return *((void **) &fn);
398399
}
399400
#endif
400401

@@ -408,7 +409,8 @@ UNUSED static void *on_get_vulkan_proc_address(void *userdata, FlutterVulkanInst
408409
name = "vkGetInstanceProcAddr";
409410
}
410411

411-
return (void *) vkGetInstanceProcAddr((VkInstance) instance, name);
412+
PFN_vkVoidFunction fn = vkGetInstanceProcAddr((VkInstance) instance, name);
413+
return *(void **) (&fn);
412414
#else
413415
(void) userdata;
414416
(void) instance;
@@ -1170,13 +1172,15 @@ typedef FlutterEngineResult (*flutter_engine_get_proc_addresses_t)(FlutterEngine
11701172
static int get_flutter_engine_procs(void *engine_handle, FlutterEngineProcTable *procs_out) {
11711173
FlutterEngineResult engine_result;
11721174

1173-
flutter_engine_get_proc_addresses_t get_proc_addresses = (flutter_engine_get_proc_addresses_t
1174-
) dlsym(engine_handle, "FlutterEngineGetProcAddresses");
1175-
if (get_proc_addresses == NULL) {
1175+
void *fn = dlsym(engine_handle, "FlutterEngineGetProcAddresses");
1176+
if (fn == NULL) {
11761177
LOG_ERROR("Could not resolve flutter engine function FlutterEngineGetProcAddresses.\n");
11771178
return EINVAL;
11781179
}
11791180

1181+
flutter_engine_get_proc_addresses_t get_proc_addresses;
1182+
*((void **) &get_proc_addresses) = fn;
1183+
11801184
procs_out->struct_size = sizeof(FlutterEngineProcTable);
11811185
engine_result = get_proc_addresses(procs_out);
11821186
if (engine_result != kSuccess) {

src/gl_renderer.c

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,15 @@ struct gl_renderer {
6363
};
6464

6565
static fn_ptr_t try_get_proc_address(const char *name) {
66-
fn_ptr_t address;
67-
68-
address = eglGetProcAddress(name);
69-
if (address) {
70-
return address;
66+
fn_ptr_t fn = eglGetProcAddress(name);
67+
if (fn) {
68+
return fn;
7169
}
7270

73-
address = (fn_ptr_t) dlsym(RTLD_DEFAULT, name);
74-
if (address) {
75-
return address;
71+
void *void_fn = dlsym(RTLD_DEFAULT, name);
72+
if (void_fn) {
73+
*((void **) &fn) = void_fn;
74+
return fn;
7675
}
7776

7877
return (fn_ptr_t) NULL;

0 commit comments

Comments
 (0)