2023-03-26 20:42:18 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
2026-01-05 16:19:47 +08:00
|
|
|
#include "util/option.h"
|
|
|
|
|
#include "util/percent.h"
|
2023-03-26 20:42:18 +08:00
|
|
|
|
2024-11-14 10:04:57 +08:00
|
|
|
typedef enum __attribute__((__packed__)) FFGPUType
|
2023-03-26 20:42:18 +08:00
|
|
|
{
|
2025-05-07 16:06:47 +02:00
|
|
|
FF_GPU_TYPE_NONE, // Indicates no specific GPU type. Useful as a hide filter only.
|
|
|
|
|
FF_GPU_TYPE_UNKNOWN, // Indicates an unknown or unrecognized GPU type.
|
2023-03-26 20:42:18 +08:00
|
|
|
FF_GPU_TYPE_INTEGRATED,
|
|
|
|
|
FF_GPU_TYPE_DISCRETE,
|
|
|
|
|
} FFGPUType;
|
|
|
|
|
|
2024-11-14 10:04:57 +08:00
|
|
|
typedef enum __attribute__((__packed__)) FFGPUDetectionMethod
|
2024-05-20 16:45:23 +08:00
|
|
|
{
|
|
|
|
|
FF_GPU_DETECTION_METHOD_AUTO,
|
|
|
|
|
FF_GPU_DETECTION_METHOD_PCI,
|
|
|
|
|
FF_GPU_DETECTION_METHOD_VULKAN,
|
2024-06-20 14:05:38 +08:00
|
|
|
FF_GPU_DETECTION_METHOD_OPENCL,
|
2024-05-20 16:45:23 +08:00
|
|
|
FF_GPU_DETECTION_METHOD_OPENGL,
|
|
|
|
|
} FFGPUDetectionMethod;
|
|
|
|
|
|
2023-03-26 20:42:18 +08:00
|
|
|
typedef struct FFGPUOptions
|
|
|
|
|
{
|
|
|
|
|
FFModuleArgs moduleArgs;
|
|
|
|
|
|
|
|
|
|
FFGPUType hideType;
|
2024-05-20 16:45:23 +08:00
|
|
|
FFGPUDetectionMethod detectionMethod;
|
2023-03-26 20:42:18 +08:00
|
|
|
bool temp;
|
2023-12-20 14:59:27 +08:00
|
|
|
bool driverSpecific;
|
2024-02-26 16:39:41 +08:00
|
|
|
FFColorRangeConfig tempConfig;
|
2024-11-14 10:04:57 +08:00
|
|
|
FFPercentageModuleConfig percent;
|
2023-03-26 20:42:18 +08:00
|
|
|
} FFGPUOptions;
|
2025-08-04 14:25:14 +08:00
|
|
|
|
|
|
|
|
static_assert(sizeof(FFGPUOptions) <= FF_OPTION_MAX_SIZE, "FFGPUOptions size exceeds maximum allowed size");
|