Cocoa Port: Fix the Screenshot Capture Tool with running Metal. (Regression from commit f5ead86.)

This commit is contained in:
rogerman 2017-11-27 21:15:26 -08:00
parent 7213c6373b
commit e18dd27d30
1 changed files with 4 additions and 1 deletions

View File

@ -307,6 +307,7 @@ static void* RunFileWriteThread(void *arg)
ClientDisplay3DPresenter *cdp = NULL; ClientDisplay3DPresenter *cdp = NULL;
bool filtersPreferGPU = true; bool filtersPreferGPU = true;
bool isUsingMetal = false;
#ifdef ENABLE_APPLE_METAL #ifdef ENABLE_APPLE_METAL
if ([param.sharedData isKindOfClass:[MetalDisplayViewSharedData class]]) if ([param.sharedData isKindOfClass:[MetalDisplayViewSharedData class]])
@ -319,6 +320,7 @@ static void* RunFileWriteThread(void *arg)
} }
cdp = new MacMetalDisplayPresenter(param.sharedData); cdp = new MacMetalDisplayPresenter(param.sharedData);
isUsingMetal = true;
} }
else else
#endif #endif
@ -352,7 +354,8 @@ static void* RunFileWriteThread(void *arg)
cdp->SetOutputFilter(param.outputFilterID); cdp->SetOutputFilter(param.outputFilterID);
cdp->SetPixelScaler(param.pixelScalerID); cdp->SetPixelScaler(param.pixelScalerID);
if (!cdp->WillFilterOnGPU()) // Metal presenters are always assumed to filter on the GPU, so only do this for OpenGL.
if (!isUsingMetal && !cdp->WillFilterOnGPU() && (param.pixelScalerID != VideoFilterTypeID_None))
{ {
if ( (param.cdpProperty.mode == ClientDisplayMode_Main) || (param.cdpProperty.mode == ClientDisplayMode_Dual) ) if ( (param.cdpProperty.mode == ClientDisplayMode_Main) || (param.cdpProperty.mode == ClientDisplayMode_Dual) )
{ {