| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef GrVkExtensions_DEFINED | 8 #ifndef GrVkExtensions_DEFINED |
| 9 #define GrVkExtensions_DEFINED | 9 #define GrVkExtensions_DEFINED |
| 10 | 10 |
| 11 #include "../private/SkTArray.h" | 11 #include "../private/SkTArray.h" |
| 12 #include "SkString.h" | 12 #include "SkString.h" |
| 13 #include "vk/GrVkDefines.h" | 13 #include "vk/GrVkDefines.h" |
| 14 | 14 |
| 15 /** | 15 /** |
| 16 * This helper queries the Vulkan driver for available extensions and layers, re
members them, | 16 * This helper queries the Vulkan driver for available extensions and layers, re
members them, |
| 17 * and can be queried. It supports queries for both instance and device extensio
ns and layers. | 17 * and can be queried. It supports queries for both instance and device extensio
ns and layers. |
| 18 */ | 18 */ |
| 19 class SK_API GrVkExtensions { | 19 class SK_API GrVkExtensions { |
| 20 public: | 20 public: |
| 21 GrVkExtensions() : fInstanceExtensionStrings(new SkTArray<SkString>) | 21 GrVkExtensions() : fInstanceExtensionStrings(new SkTArray<SkString>) |
| 22 , fDeviceExtensionStrings(new SkTArray<SkString>) | 22 , fDeviceExtensionStrings(new SkTArray<SkString>) |
| 23 , fInstanceLayerStrings(new SkTArray<SkString>) | 23 , fInstanceLayerStrings(new SkTArray<SkString>) |
| 24 , fDeviceLayerStrings(new SkTArray<SkString>) {} | 24 , fDeviceLayerStrings(new SkTArray<SkString>) {} |
| 25 | 25 |
| 26 bool initInstance(uint32_t specVersion); | 26 bool initInstance(uint32_t specVersion); |
| 27 bool initDevice(uint32_t specVersion, VkInstance, VkPhysicalDevice); | 27 bool initDevice(uint32_t specVersion, VkInstance, VkPhysicalDevice); |
| 28 | 28 |
| 29 /** | 29 /** |
| 30 * Queries whether an extension or layer is present. Will fail if not initia
lized. | 30 * Queries whether an extension or layer is present. Will fail if not initia
lized. |
| 31 */ | 31 */ |
| 32 bool hasInstanceExtension(const char[]) const; | 32 bool hasInstanceExtension(const char[]) const; |
| 33 bool hasDeviceExtension(const char[]) const; | 33 bool hasDeviceExtension(const char[]) const; |
| 34 bool hasInstanceLayer(const char[]) const; | 34 bool hasInstanceLayer(const char[]) const; |
| 35 bool hasDeviceLayer(const char[]) const; | 35 bool hasDeviceLayer(const char[]) const; |
| 36 | 36 |
| 37 void print(const char* sep = "\n") const; | 37 void print(const char* sep = "\n") const; |
| 38 | 38 |
| 39 private: | 39 private: |
| 40 SkAutoTDelete<SkTArray<SkString> > fInstanceExtensionStrings; | 40 SkAutoTDelete<SkTArray<SkString> > fInstanceExtensionStrings; |
| 41 SkAutoTDelete<SkTArray<SkString> > fDeviceExtensionStrings; | 41 SkAutoTDelete<SkTArray<SkString> > fDeviceExtensionStrings; |
| 42 SkAutoTDelete<SkTArray<SkString> > fInstanceLayerStrings; | 42 SkAutoTDelete<SkTArray<SkString> > fInstanceLayerStrings; |
| 43 SkAutoTDelete<SkTArray<SkString> > fDeviceLayerStrings; | 43 SkAutoTDelete<SkTArray<SkString> > fDeviceLayerStrings; |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 #endif | 46 #endif |
| OLD | NEW |