From 03f9d4063570897c3335dfd8463763edcae7bb0f Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Thu, 21 Feb 2019 23:04:59 +0530 Subject: [PATCH] Expand GpuInfo to include image decode acceleration support. https://chromium-review.googlesource.com/c/chromium/src/+/1471913 --- atom/browser/api/gpu_info_enumerator.cc | 13 +++++++++++++ atom/browser/api/gpu_info_enumerator.h | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/atom/browser/api/gpu_info_enumerator.cc b/atom/browser/api/gpu_info_enumerator.cc index c6d0288f0e..ab5ba41d25 100644 --- a/atom/browser/api/gpu_info_enumerator.cc +++ b/atom/browser/api/gpu_info_enumerator.cc @@ -83,6 +83,19 @@ void GPUInfoEnumerator::EndVideoEncodeAcceleratorSupportedProfile() { value_stack.pop(); } +void GPUInfoEnumerator::BeginImageDecodeAcceleratorSupportedProfile() { + value_stack.push(std::move(current)); + current = std::make_unique(); +} + +void GPUInfoEnumerator::EndImageDecodeAcceleratorSupportedProfile() { + auto& top_value = value_stack.top(); + top_value->SetDictionary(kImageDecodeAcceleratorSupportedProfileKey, + std::move(current)); + current = std::move(top_value); + value_stack.pop(); +} + void GPUInfoEnumerator::BeginAuxAttributes() { value_stack.push(std::move(current)); current = std::make_unique(); diff --git a/atom/browser/api/gpu_info_enumerator.h b/atom/browser/api/gpu_info_enumerator.h index 9d7655a302..645815a2d0 100644 --- a/atom/browser/api/gpu_info_enumerator.h +++ b/atom/browser/api/gpu_info_enumerator.h @@ -22,6 +22,8 @@ class GPUInfoEnumerator final : public gpu::GPUInfo::Enumerator { "videoDecodeAcceleratorSupportedProfile"; const char* kVideoEncodeAcceleratorSupportedProfileKey = "videoEncodeAcceleratorSupportedProfile"; + const char* kImageDecodeAcceleratorSupportedProfileKey = + "imageDecodeAcceleratorSupportedProfile"; const char* kAuxAttributesKey = "auxAttributes"; const char* kOverlayCapabilityKey = "overlayCapability"; const char* kDx12VulkanVersionInfoKey = "dx12VulkanVersionInfo"; @@ -41,6 +43,8 @@ class GPUInfoEnumerator final : public gpu::GPUInfo::Enumerator { void EndVideoDecodeAcceleratorSupportedProfile() override; void BeginVideoEncodeAcceleratorSupportedProfile() override; void EndVideoEncodeAcceleratorSupportedProfile() override; + void BeginImageDecodeAcceleratorSupportedProfile() override; + void EndImageDecodeAcceleratorSupportedProfile() override; void BeginAuxAttributes() override; void EndAuxAttributes() override; void BeginOverlayCapability() override;