summaryrefslogtreecommitdiffstats
path: root/include/vulkan
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2015-07-09 13:54:08 -0700
committerJason Ekstrand <[email protected]>2015-07-09 16:14:37 -0700
commitf6d51f3fd3c2677418de677897c724f1bae12d3a (patch)
tree5312b3a008018bedd45817248390c4d42b22dd19 /include/vulkan
parent5b75dffd040210aa6968e4543b15162869d0127d (diff)
vk: Add GetPhysicalDeviceFeatures
Diffstat (limited to 'include/vulkan')
-rw-r--r--include/vulkan/vulkan.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index 5497e069c37..4f467bb99ac 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -1153,6 +1153,50 @@ typedef struct {
} VkInstanceCreateInfo;
typedef struct {
+ bool32_t robustBufferAccess;
+ bool32_t fullDrawIndexUint32;
+ bool32_t imageCubeArray;
+ bool32_t independentBlend;
+ bool32_t geometryShader;
+ bool32_t tessellationShader;
+ bool32_t sampleRateShading;
+ bool32_t dualSourceBlend;
+ bool32_t logicOp;
+ bool32_t instancedDrawIndirect;
+ bool32_t depthClip;
+ bool32_t depthBiasClamp;
+ bool32_t fillModeNonSolid;
+ bool32_t depthBounds;
+ bool32_t wideLines;
+ bool32_t largePoints;
+ bool32_t textureCompressionETC2;
+ bool32_t textureCompressionASTC_LDR;
+ bool32_t textureCompressionBC;
+ bool32_t pipelineStatisticsQuery;
+ bool32_t vertexSideEffects;
+ bool32_t tessellationSideEffects;
+ bool32_t geometrySideEffects;
+ bool32_t fragmentSideEffects;
+ bool32_t shaderTessellationPointSize;
+ bool32_t shaderGeometryPointSize;
+ bool32_t shaderTextureGatherExtended;
+ bool32_t shaderStorageImageExtendedFormats;
+ bool32_t shaderStorageImageMultisample;
+ bool32_t shaderStorageBufferArrayConstantIndexing;
+ bool32_t shaderStorageImageArrayConstantIndexing;
+ bool32_t shaderUniformBufferArrayDynamicIndexing;
+ bool32_t shaderSampledImageArrayDynamicIndexing;
+ bool32_t shaderStorageBufferArrayDynamicIndexing;
+ bool32_t shaderStorageImageArrayDynamicIndexing;
+ bool32_t shaderClipDistance;
+ bool32_t shaderCullDistance;
+ bool32_t shaderFloat64;
+ bool32_t shaderInt64;
+ bool32_t shaderFloat16;
+ bool32_t shaderInt16;
+} VkPhysicalDeviceFeatures;
+
+typedef struct {
VkFormatFeatureFlags linearTilingFeatures;
VkFormatFeatureFlags optimalTilingFeatures;
} VkFormatProperties;
@@ -1877,6 +1921,7 @@ typedef struct {
typedef VkResult (VKAPI *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, VkInstance* pInstance);
typedef VkResult (VKAPI *PFN_vkDestroyInstance)(VkInstance instance);
typedef VkResult (VKAPI *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
+typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceInfo)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceInfoType infoType, size_t* pDataSize, void* pData);
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceFormatInfo)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatInfo);
typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
@@ -1999,6 +2044,10 @@ VkResult VKAPI vkEnumeratePhysicalDevices(
uint32_t* pPhysicalDeviceCount,
VkPhysicalDevice* pPhysicalDevices);
+VkResult VKAPI vkGetPhysicalDeviceFeatures(
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceFeatures* pFeatures);
+
VkResult VKAPI vkGetPhysicalDeviceInfo(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceInfoType infoType,