diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-12-02 16:58:54 -0800 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-12-03 13:43:54 -0800 |
commit | d6897453037111d654b1e58dd6e74aac6aa21134 (patch) | |
tree | b2ae6f75b4ed7a9a65ff60edfd136c11dd8d1acd /include | |
parent | 74c4c4acb60c9a9dc50bd573fbe3f5a3f7b10719 (diff) |
vk/0.210.0: Rework device features and limits
Diffstat (limited to 'include')
-rw-r--r-- | include/vulkan/vulkan.h | 95 |
1 files changed, 53 insertions, 42 deletions
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index 0a9499eadf..8036b6126a 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -1123,29 +1123,31 @@ typedef struct VkPhysicalDeviceFeatures { VkBool32 geometryShader; VkBool32 tessellationShader; VkBool32 sampleRateShading; - VkBool32 dualSourceBlend; + VkBool32 dualSrcBlend; VkBool32 logicOp; VkBool32 multiDrawIndirect; - VkBool32 depthClip; + VkBool32 depthClamp; VkBool32 depthBiasClamp; VkBool32 fillModeNonSolid; VkBool32 depthBounds; VkBool32 wideLines; VkBool32 largePoints; + VkBool32 alphaToOne; + VkBool32 multiViewport; + VkBool32 samplerAnisotropy; VkBool32 textureCompressionETC2; VkBool32 textureCompressionASTC_LDR; VkBool32 textureCompressionBC; - VkBool32 occlusionQueryNonConservative; + VkBool32 occlusionQueryPrecise; VkBool32 pipelineStatisticsQuery; - VkBool32 vertexSideEffects; - VkBool32 tessellationSideEffects; - VkBool32 geometrySideEffects; - VkBool32 fragmentSideEffects; - VkBool32 shaderTessellationPointSize; - VkBool32 shaderGeometryPointSize; + VkBool32 vertexPipelineStoresAndAtomics; + VkBool32 fragmentStoresAndAtomics; + VkBool32 shaderTessellationAndGeometryPointSize; VkBool32 shaderImageGatherExtended; VkBool32 shaderStorageImageExtendedFormats; VkBool32 shaderStorageImageMultisample; + VkBool32 shaderStorageImageReadWithoutFormat; + VkBool32 shaderStorageImageWriteWithoutFormat; VkBool32 shaderUniformBufferArrayDynamicIndexing; VkBool32 shaderSampledImageArrayDynamicIndexing; VkBool32 shaderStorageBufferArrayDynamicIndexing; @@ -1156,8 +1158,7 @@ typedef struct VkPhysicalDeviceFeatures { VkBool32 shaderInt64; VkBool32 shaderInt16; VkBool32 shaderResourceResidency; - VkBool32 shaderResourceMinLOD; - VkBool32 alphaToOne; + VkBool32 shaderResourceMinLod; VkBool32 sparseBinding; VkBool32 sparseResidencyBuffer; VkBool32 sparseResidencyImage2D; @@ -1167,6 +1168,7 @@ typedef struct VkPhysicalDeviceFeatures { VkBool32 sparseResidency8Samples; VkBool32 sparseResidency16Samples; VkBool32 sparseResidencyAliased; + VkBool32 variableMultisampleRate; } VkPhysicalDeviceFeatures; typedef struct VkFormatProperties { @@ -1195,21 +1197,22 @@ typedef struct VkPhysicalDeviceLimits { uint32_t maxImageDimension3D; uint32_t maxImageDimensionCube; uint32_t maxImageArrayLayers; - VkSampleCountFlags sampleCounts; - uint32_t maxTexelBufferSize; - uint32_t maxUniformBufferSize; - uint32_t maxStorageBufferSize; + uint32_t maxTexelBufferElements; + uint32_t maxUniformBufferRange; + uint32_t maxStorageBufferRange; uint32_t maxPushConstantsSize; uint32_t maxMemoryAllocationCount; + uint32_t maxSamplerAllocationCount; VkDeviceSize bufferImageGranularity; VkDeviceSize sparseAddressSpaceSize; uint32_t maxBoundDescriptorSets; - uint32_t maxDescriptorSets; uint32_t maxPerStageDescriptorSamplers; uint32_t maxPerStageDescriptorUniformBuffers; uint32_t maxPerStageDescriptorStorageBuffers; uint32_t maxPerStageDescriptorSampledImages; uint32_t maxPerStageDescriptorStorageImages; + uint32_t maxPerStageDescriptorInputAttachments; + uint32_t maxPerStageResources; uint32_t maxDescriptorSetSamplers; uint32_t maxDescriptorSetUniformBuffers; uint32_t maxDescriptorSetUniformBuffersDynamic; @@ -1217,27 +1220,28 @@ typedef struct VkPhysicalDeviceLimits { uint32_t maxDescriptorSetStorageBuffersDynamic; uint32_t maxDescriptorSetSampledImages; uint32_t maxDescriptorSetStorageImages; + uint32_t maxDescriptorSetInputAttachments; uint32_t maxVertexInputAttributes; uint32_t maxVertexInputBindings; uint32_t maxVertexInputAttributeOffset; uint32_t maxVertexInputBindingStride; uint32_t maxVertexOutputComponents; - uint32_t maxTessGenLevel; - uint32_t maxTessPatchSize; - uint32_t maxTessControlPerVertexInputComponents; - uint32_t maxTessControlPerVertexOutputComponents; - uint32_t maxTessControlPerPatchOutputComponents; - uint32_t maxTessControlTotalOutputComponents; - uint32_t maxTessEvaluationInputComponents; - uint32_t maxTessEvaluationOutputComponents; + uint32_t maxTessellationGenerationLevel; + uint32_t maxTessellationPatchSize; + uint32_t maxTessellationControlPerVertexInputComponents; + uint32_t maxTessellationControlPerVertexOutputComponents; + uint32_t maxTessellationControlPerPatchOutputComponents; + uint32_t maxTessellationControlTotalOutputComponents; + uint32_t maxTessellationEvaluationInputComponents; + uint32_t maxTessellationEvaluationOutputComponents; uint32_t maxGeometryShaderInvocations; uint32_t maxGeometryInputComponents; uint32_t maxGeometryOutputComponents; uint32_t maxGeometryOutputVertices; uint32_t maxGeometryTotalOutputComponents; uint32_t maxFragmentInputComponents; - uint32_t maxFragmentOutputBuffers; - uint32_t maxFragmentDualSourceBuffers; + uint32_t maxFragmentOutputAttachments; + uint32_t maxFragmentDualSrcAttachments; uint32_t maxFragmentCombinedOutputResources; uint32_t maxComputeSharedMemorySize; uint32_t maxComputeWorkGroupCount[3]; @@ -1247,21 +1251,20 @@ typedef struct VkPhysicalDeviceLimits { uint32_t subTexelPrecisionBits; uint32_t mipmapPrecisionBits; uint32_t maxDrawIndexedIndexValue; - uint32_t maxDrawIndirectInstanceCount; - VkBool32 primitiveRestartForPatches; + uint32_t maxDrawIndirectCount; float maxSamplerLodBias; float maxSamplerAnisotropy; uint32_t maxViewports; uint32_t maxViewportDimensions[2]; float viewportBoundsRange[2]; uint32_t viewportSubPixelBits; - uint32_t minMemoryMapAlignment; - uint32_t minTexelBufferOffsetAlignment; - uint32_t minUniformBufferOffsetAlignment; - uint32_t minStorageBufferOffsetAlignment; - uint32_t minTexelOffset; + size_t minMemoryMapAlignment; + VkDeviceSize minTexelBufferOffsetAlignment; + VkDeviceSize minUniformBufferOffsetAlignment; + VkDeviceSize minStorageBufferOffsetAlignment; + int32_t minTexelOffset; uint32_t maxTexelOffset; - uint32_t minTexelGatherOffset; + int32_t minTexelGatherOffset; uint32_t maxTexelGatherOffset; float minInterpolationOffset; float maxInterpolationOffset; @@ -1269,23 +1272,31 @@ typedef struct VkPhysicalDeviceLimits { uint32_t maxFramebufferWidth; uint32_t maxFramebufferHeight; uint32_t maxFramebufferLayers; - uint32_t maxFramebufferColorSamples; - uint32_t maxFramebufferDepthSamples; - uint32_t maxFramebufferStencilSamples; + VkSampleCountFlags framebufferColorSampleCounts; + VkSampleCountFlags framebufferDepthSampleCounts; + VkSampleCountFlags framebufferStencilSampleCounts; + VkSampleCountFlags framebufferNoAttachmentsSampleCounts; uint32_t maxColorAttachments; - uint32_t maxSampledImageColorSamples; - uint32_t maxSampledImageDepthSamples; - uint32_t maxSampledImageIntegerSamples; - uint32_t maxStorageImageSamples; + VkSampleCountFlags sampledImageColorSampleCounts; + VkSampleCountFlags sampledImageIntegerSampleCounts; + VkSampleCountFlags sampledImageDepthSampleCounts; + VkSampleCountFlags sampledImageStencilSampleCounts; + VkSampleCountFlags storageImageSampleCounts; uint32_t maxSampleMaskWords; - uint64_t timestampFrequency; + float timestampPeriod; uint32_t maxClipDistances; uint32_t maxCullDistances; uint32_t maxCombinedClipAndCullDistances; + uint32_t discreteQueuePriorities; float pointSizeRange[2]; float lineWidthRange[2]; float pointSizeGranularity; float lineWidthGranularity; + VkBool32 strictLines; + VkBool32 standardSampleLocations; + VkDeviceSize optimalBufferCopyOffsetAlignment; + VkDeviceSize optimalBufferCopyRowPitchAlignment; + VkDeviceSize nonCoherentAtomSize; } VkPhysicalDeviceLimits; typedef struct VkPhysicalDeviceSparseProperties { |