diff --git a/Core/CmdLine.cpp b/Core/CmdLine.cpp index ca29199c87..936d27327b 100644 --- a/Core/CmdLine.cpp +++ b/Core/CmdLine.cpp @@ -207,7 +207,7 @@ static const CommandLineParam g_autoParams[] = { {POFF(replayEnd), CmdParamType::Int, "replay-end", '\0', "When replaying a GE frame dump, only draw primitives up to this one (1-based)", CmdLineMode::Headless}, {POFF(dumpCompat), CmdParamType::Bool, "dump-compat", '\0', "Apply the game's compat.ini settings when replaying a GE frame dump (off by default)", CmdLineMode::Headless}, {POFF(hardwareTransform), CmdParamType::Bool, "hardware-transform", '\0', "Transform vertices on the GPU (default true); false transforms them on the CPU", CmdLineMode::Headless}, - {POFF(disableGPUFeatures), CmdParamType::String, "disable-gpu-features", '\0', "Act as if the GPU lacked these, to test the fallbacks: comma-separated clip-distance, cull-distance, depth-clamp", CmdLineMode::Headless}, + {POFF(disableGPUFeatures), CmdParamType::String, "disable-gpu-features", '\0', "Act as if the GPU lacked these, to test the fallbacks: comma-separated clip-distance, cull-distance, depth-clamp, framebuffer-fetch", CmdLineMode::Headless}, {POFF(depthFilenameSave), CmdParamType::String, "depth-save", '\0', "Save the depth buffer to FILE along with the screenshot (u32 width, u32 height, u16 depths; float depths if FILE ends in .f32)", CmdLineMode::Headless}, {POFF(screenshotRenderTarget), CmdParamType::Bool, "screenshot-render-target", '\0', "Take screenshots of the current render target instead of the displayed framebuffer", CmdLineMode::Headless}, {POFF(screenshotFilenameDiff), CmdParamType::String, "screenshot-diff", '\0', "Save a visual comparison image to FILE when comparing screenshots", CmdLineMode::Headless}, diff --git a/Core/CmdLine.h b/Core/CmdLine.h index 3bc1dea616..88d4483e69 100644 --- a/Core/CmdLine.h +++ b/Core/CmdLine.h @@ -189,7 +189,7 @@ struct CommandLineOptions { // Headless: apply the game's compatibility settings when replaying a GE frame dump. std::optional dumpCompat; std::optional hardwareTransform; - // Headless: comma-separated clip-distance, cull-distance, depth-clamp. + // Headless: comma-separated clip-distance, cull-distance, depth-clamp, framebuffer-fetch. std::optional disableGPUFeatures; std::optional screenshotRenderTarget; std::optional screenshotFilenameDiff; diff --git a/headless/Headless.cpp b/headless/Headless.cpp index 7e563cbfc4..7fde71bb8a 100644 --- a/headless/Headless.cpp +++ b/headless/Headless.cpp @@ -1128,8 +1128,10 @@ int main(int argc, const char* argv[]) { coreParameter.disabledGPUFeatures |= GPU_USE_CULL_DISTANCE; } else if (name == "depth-clamp") { coreParameter.disabledGPUFeatures |= GPU_USE_DEPTH_CLAMP; + } else if (name == "framebuffer-fetch") { + coreParameter.disabledGPUFeatures |= GPU_USE_FRAMEBUFFER_FETCH; } else { - fprintf(stderr, "Unknown feature for --disable-gpu-features: %s (expected clip-distance, cull-distance or depth-clamp)\n", name.c_str()); + fprintf(stderr, "Unknown feature for --disable-gpu-features: %s (expected clip-distance, cull-distance, depth-clamp or framebuffer-fetch)\n", name.c_str()); return 1; } }