HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VE_PhysicalDeviceFeatures.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: VE_PhysicalDeviceFeatures.h ( VE Library, C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __VE_PHYSICAL_DEVICE_FEATURES_H__
13 #define __VE_PHYSICAL_DEVICE_FEATURES_H__
14 
15 #include "VE_API.h"
16 
17 /// Each member of this struct corresponds to an optional device feature.
18 /// Because enabling a device feature might incur some overhead, features
19 /// must be explicitly enabled. Some features have an associated extension that
20 /// must also be enabled for that feature to be.
21 /// In the future, we would like to have it so that enabling a feature
22 /// automatically will enable its associated extension.
24 {
25  // Begin Vulkan 1.0 features
26  bool robustBufferAccess = false;
27  bool fullDrawIndexUint32 = false;
28  bool imageCubeArray = false;
29  bool independentBlend = false;
30  bool geometryShader = false;
31  bool tessellationShader = false;
32  bool sampleRateShading = false;
33  bool dualSrcBlend = false;
34  bool logicOp = false;
35  bool multiDrawIndirect = false;
36  bool drawIndirectFirstInstance = false;
37  bool depthClamp = false;
38  bool depthBiasClamp = false;
39  bool fillModeNonSolid = false;
40  bool depthBounds = false;
41  bool wideLines = false;
42  bool largePoints = false;
43  bool alphaToOne = false;
44  bool multiViewport = false;
45  bool samplerAnisotropy = false;
46  bool textureCompressionETC2 = false;
47  bool textureCompressionASTC_LDR = false;
48  bool textureCompressionBC = false;
49  bool occlusionQueryPrecise = false;
50  bool pipelineStatisticsQuery = false;
51  bool vertexPipelineStoresAndAtomics = false;
52  bool fragmentStoresAndAtomics = false;
53  bool shaderTessellationAndGeometryPointSize = false;
54  bool shaderImageGatherExtended = false;
55  bool shaderStorageImageExtendedFormats = false;
56  bool shaderStorageImageMultisample = false;
57  bool shaderStorageImageReadWithoutFormat = false;
58  bool shaderStorageImageWriteWithoutFormat = false;
59  bool shaderUniformBufferArrayDynamicIndexing = false;
60  bool shaderSampledImageArrayDynamicIndexing = false;
61  bool shaderStorageBufferArrayDynamicIndexing = false;
62  bool shaderStorageImageArrayDynamicIndexing = false;
63  bool shaderClipDistance = false;
64  bool shaderCullDistance = false;
65  bool shaderFloat64 = false;
66  bool shaderInt64 = false;
67  bool shaderInt16 = false;
68  bool shaderResourceResidency = false;
69  bool shaderResourceMinLod = false;
70  bool sparseBinding = false;
71  bool sparseResidencyBuffer = false;
72  bool sparseResidencyImage2D = false;
73  bool sparseResidencyImage3D = false;
74  bool sparseResidency2Samples = false;
75  bool sparseResidency4Samples = false;
76  bool sparseResidency8Samples = false;
77  bool sparseResidency16Samples = false;
78  bool sparseResidencyAliased = false;
79  bool variableMultisampleRate = false;
80  bool inheritedQueries = false;
81  // End Vulkan 1.0 features
82  bool timelineSemaphore = false;
83  bool bufferDeviceAddress = false;
84  bool synchronization2 = false;
85  bool dynamicRendering = false;
86  bool maintenance4 = false;
87  bool rayQuery = false;
88  bool rayTracingPipeline = false;
89  bool accelerationStructure = false;
90  bool multiview = false;
91  bool multiviewGeometryShader = false;
92  bool multiviewTessellationShader = false;
93 
94  void enableAllVulkan_1_0_Features();
95  void setAllVulkan_1_0_Features(bool val);
96 };
97 
98 #endif
#define VE_API
Definition: VE_API.h:20
GLuint GLfloat * val
Definition: glcorearb.h:1608