GPU: support detection by EGLext

Support multi-gpus
This commit is contained in:
Carter Li
2024-12-28 15:25:22 +08:00
parent d6028370e7
commit 9342d74c93
8 changed files with 70 additions and 0 deletions
+5
View File
@@ -165,6 +165,7 @@ bool ffParseGPUCommandOptions(FFGPUOptions* options, const char* key, const char
{ "pci", FF_GPU_DETECTION_METHOD_PCI },
{ "vulkan", FF_GPU_DETECTION_METHOD_VULKAN },
{ "opencl", FF_GPU_DETECTION_METHOD_OPENCL },
{ "eglext", FF_GPU_DETECTION_METHOD_EGLEXT },
{ "opengl", FF_GPU_DETECTION_METHOD_OPENGL },
{},
});
@@ -221,6 +222,7 @@ void ffParseGPUJsonObject(FFGPUOptions* options, yyjson_val* module)
{ "pci", FF_GPU_DETECTION_METHOD_PCI },
{ "vulkan", FF_GPU_DETECTION_METHOD_VULKAN },
{ "opencl", FF_GPU_DETECTION_METHOD_OPENCL },
{ "eglext", FF_GPU_DETECTION_METHOD_EGLEXT },
{ "opengl", FF_GPU_DETECTION_METHOD_OPENGL },
{},
});
@@ -280,6 +282,9 @@ void ffGenerateGPUJsonConfig(FFGPUOptions* options, yyjson_mut_doc* doc, yyjson_
case FF_GPU_DETECTION_METHOD_OPENCL:
yyjson_mut_obj_add_str(doc, module, "detectionMethod", "opencl");
break;
case FF_GPU_DETECTION_METHOD_EGLEXT:
yyjson_mut_obj_add_str(doc, module, "detectionMethod", "eglext");
break;
case FF_GPU_DETECTION_METHOD_OPENGL:
yyjson_mut_obj_add_str(doc, module, "detectionMethod", "opengl");
break;
+1
View File
@@ -18,6 +18,7 @@ typedef enum __attribute__((__packed__)) FFGPUDetectionMethod
FF_GPU_DETECTION_METHOD_PCI,
FF_GPU_DETECTION_METHOD_VULKAN,
FF_GPU_DETECTION_METHOD_OPENCL,
FF_GPU_DETECTION_METHOD_EGLEXT,
FF_GPU_DETECTION_METHOD_OPENGL,
} FFGPUDetectionMethod;