| Index: gpu/vulkan/vulkan_device_queue.h | 
| diff --git a/gpu/vulkan/vulkan_device_queue.h b/gpu/vulkan/vulkan_device_queue.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..59d3e96039fe78f7f164f3abf2ab87d5a282c325 | 
| --- /dev/null | 
| +++ b/gpu/vulkan/vulkan_device_queue.h | 
| @@ -0,0 +1,63 @@ | 
| +// Copyright (c) 2016 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef GPU_VULKAN_VULKAN_DEVICE_QUEUE_H_ | 
| +#define GPU_VULKAN_VULKAN_DEVICE_QUEUE_H_ | 
| + | 
| +#include <vulkan/vulkan.h> | 
| + | 
| +#include "base/logging.h" | 
| +#include "base/macros.h" | 
| +#include "base/memory/scoped_ptr.h" | 
| +#include "gpu/vulkan/vulkan_export.h" | 
| + | 
| +namespace gpu { | 
| + | 
| +class VulkanCommandPool; | 
| + | 
| +class VULKAN_EXPORT VulkanDeviceQueue { | 
| + public: | 
| +  enum DeviceQueueOption { | 
| +    GRAPHICS_QUEUE_FLAG = 0x01, | 
| +    PRESENTATION_SUPPORT_QUEUE_FLAG = 0x02, | 
| +  }; | 
| + | 
| +  VulkanDeviceQueue(); | 
| +  ~VulkanDeviceQueue(); | 
| + | 
| +  bool Initialize(uint32_t option); | 
| +  void Destroy(); | 
| + | 
| +  VkPhysicalDevice GetVulkanPhysicalDevice() const { | 
| +    DCHECK_NE(static_cast<VkPhysicalDevice>(VK_NULL_HANDLE), | 
| +              vk_physical_device_); | 
| +    return vk_physical_device_; | 
| +  } | 
| + | 
| +  VkDevice GetVulkanDevice() const { | 
| +    DCHECK_NE(static_cast<VkDevice>(VK_NULL_HANDLE), vk_device_); | 
| +    return vk_device_; | 
| +  } | 
| + | 
| +  VkQueue GetVulkanQueue() const { | 
| +    DCHECK_NE(static_cast<VkQueue>(VK_NULL_HANDLE), vk_queue_); | 
| +    return vk_queue_; | 
| +  } | 
| + | 
| +  uint32_t GetVulkanQueueIndex() const { return vk_queue_index_; } | 
| + | 
| +  scoped_ptr<gpu::VulkanCommandPool> CreateCommandPool(); | 
| + | 
| + private: | 
| +  VkPhysicalDevice vk_physical_device_ = VK_NULL_HANDLE; | 
| +  VkDevice vk_device_ = VK_NULL_HANDLE; | 
| +  VkQueue vk_queue_ = VK_NULL_HANDLE; | 
| +  uint32_t vk_queue_index_ = 0; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(VulkanDeviceQueue); | 
| +}; | 
| + | 
| +}  // namespace gpu | 
| + | 
| +#endif  // GPU_VULKAN_VULKAN_DEVICE_QUEUE_H_ | 
|  |