diff --git a/webrtc/modules/desktop_capture/win/dxgi_texture_staging.cc b/webrtc/modules/desktop_capture/win/dxgi_texture_staging.cc index 48dc02748b..2dc3c59ea9 100644 --- a/webrtc/modules/desktop_capture/win/dxgi_texture_staging.cc +++ b/webrtc/modules/desktop_capture/win/dxgi_texture_staging.cc @@ -17,6 +17,7 @@ #include "webrtc/rtc_base/checks.h" #include "webrtc/rtc_base/logging.h" +#include "webrtc/system_wrappers/include/metrics.h" using Microsoft::WRL::ComPtr; @@ -44,7 +45,11 @@ bool DxgiTextureStaging::InitializeStage(ID3D11Texture2D* texture) { AssertStageAndSurfaceAreSameObject(); D3D11_TEXTURE2D_DESC current_desc; stage_->GetDesc(¤t_desc); - if (memcmp(&desc, ¤t_desc, sizeof(D3D11_TEXTURE2D_DESC)) == 0) { + const bool recreate_needed = ( + memcmp(&desc, ¤t_desc, sizeof(D3D11_TEXTURE2D_DESC)) != 0); + RTC_HISTOGRAM_BOOLEAN("WebRTC.DesktopCapture.StagingTextureRecreate", + recreate_needed); + if (!recreate_needed) { return true; }