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 |