vk/0.210.0: Rework device features and limits
This commit is contained in:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user