| OLD | NEW | 
|   1 // Copyright 2016 The Chromium Authors. All rights reserved. |   1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef CC_OUTPUT_VULKAN_IN_PROCESS_CONTEXT_PROVIDER_H_ |   5 #ifndef CC_OUTPUT_VULKAN_IN_PROCESS_CONTEXT_PROVIDER_H_ | 
|   6 #define CC_OUTPUT_VULKAN_IN_PROCESS_CONTEXT_PROVIDER_H_ |   6 #define CC_OUTPUT_VULKAN_IN_PROCESS_CONTEXT_PROVIDER_H_ | 
|   7  |   7  | 
|   8 #include <memory> |   8 #include <memory> | 
|   9  |   9  | 
|  10 #include "cc/base/cc_export.h" |  10 #include "cc/base/cc_export.h" | 
|  11 #include "cc/output/vulkan_context_provider.h" |  11 #include "cc/output/vulkan_context_provider.h" | 
 |  12 #include "gpu/vulkan/features.h" | 
|  12  |  13  | 
|  13 namespace gpu { |  14 namespace gpu { | 
|  14 class VulkanDeviceQueue; |  15 class VulkanDeviceQueue; | 
|  15 } |  16 } | 
|  16  |  17  | 
|  17 namespace cc { |  18 namespace cc { | 
|  18  |  19  | 
|  19 class CC_EXPORT VulkanInProcessContextProvider : public VulkanContextProvider { |  20 class CC_EXPORT VulkanInProcessContextProvider : public VulkanContextProvider { | 
|  20  public: |  21  public: | 
|  21   static scoped_refptr<VulkanInProcessContextProvider> Create(); |  22   static scoped_refptr<VulkanInProcessContextProvider> Create(); | 
|  22  |  23  | 
|  23   bool Initialize(); |  24   bool Initialize(); | 
|  24   void Destroy(); |  25   void Destroy(); | 
|  25  |  26  | 
|  26   // VulkanContextProvider implementation |  27   // VulkanContextProvider implementation | 
|  27   gpu::VulkanDeviceQueue* GetDeviceQueue() override; |  28   gpu::VulkanDeviceQueue* GetDeviceQueue() override; | 
|  28  |  29  | 
|  29  protected: |  30  protected: | 
|  30   VulkanInProcessContextProvider(); |  31   VulkanInProcessContextProvider(); | 
|  31   ~VulkanInProcessContextProvider() override; |  32   ~VulkanInProcessContextProvider() override; | 
|  32  |  33  | 
|  33  private: |  34  private: | 
|  34 #if defined(ENABLE_VULKAN) |  35 #if BUILDFLAG(ENABLE_VULKAN) | 
|  35   std::unique_ptr<gpu::VulkanDeviceQueue> device_queue_; |  36   std::unique_ptr<gpu::VulkanDeviceQueue> device_queue_; | 
|  36 #endif |  37 #endif | 
|  37  |  38  | 
|  38   DISALLOW_COPY_AND_ASSIGN(VulkanInProcessContextProvider); |  39   DISALLOW_COPY_AND_ASSIGN(VulkanInProcessContextProvider); | 
|  39 }; |  40 }; | 
|  40  |  41  | 
|  41 }  // namespace cc |  42 }  // namespace cc | 
|  42  |  43  | 
|  43 #endif  // CC_OUTPUT_VULKAN_IN_PROCESS_CONTEXT_PROVIDER_H_ |  44 #endif  // CC_OUTPUT_VULKAN_IN_PROCESS_CONTEXT_PROVIDER_H_ | 
| OLD | NEW |