#pragma once #include "common/option.h" #include "common/percent.h" typedef enum FF_A_PACKED FFGPUType { 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. FF_GPU_TYPE_INTEGRATED, FF_GPU_TYPE_DISCRETE, } FFGPUType; typedef enum FF_A_PACKED FFGPUDetectionMethod { FF_GPU_DETECTION_METHOD_AUTO, FF_GPU_DETECTION_METHOD_PCI, FF_GPU_DETECTION_METHOD_VULKAN, FF_GPU_DETECTION_METHOD_OPENCL, FF_GPU_DETECTION_METHOD_OPENGL, } FFGPUDetectionMethod; typedef struct FFGPUOptions { FFModuleArgs moduleArgs; FFGPUType hideType; FFGPUDetectionMethod detectionMethod; bool temp; bool driverSpecific; FFColorRangeConfig tempConfig; FFPercentageModuleConfig percent; } FFGPUOptions; static_assert(sizeof(FFGPUOptions) <= FF_OPTION_MAX_SIZE, "FFGPUOptions size exceeds maximum allowed size");