diff options
author | Jason Ekstrand <[email protected]> | 2015-12-02 16:58:54 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-12-03 13:43:54 -0800 |
commit | d6897453037111d654b1e58dd6e74aac6aa21134 (patch) | |
tree | b2ae6f75b4ed7a9a65ff60edfd136c11dd8d1acd /src/vulkan/anv_device.c | |
parent | 74c4c4acb60c9a9dc50bd573fbe3f5a3f7b10719 (diff) |
vk/0.210.0: Rework device features and limits
Diffstat (limited to 'src/vulkan/anv_device.c')
-rw-r--r-- | src/vulkan/anv_device.c | 89 |
1 files changed, 52 insertions, 37 deletions
diff --git a/src/vulkan/anv_device.c b/src/vulkan/anv_device.c index 11d97838c96..5b300afc0a8 100644 --- a/src/vulkan/anv_device.c +++ b/src/vulkan/anv_device.c @@ -324,26 +324,26 @@ void anv_GetPhysicalDeviceFeatures( .geometryShader = true, .tessellationShader = false, .sampleRateShading = false, - .dualSourceBlend = true, + .dualSrcBlend = true, .logicOp = true, .multiDrawIndirect = true, - .depthClip = false, + .depthClamp = false, .depthBiasClamp = false, .fillModeNonSolid = true, .depthBounds = false, .wideLines = true, .largePoints = true, + .alphaToOne = true, + .multiViewport = true, + .samplerAnisotropy = false, /* FINISHME */ .textureCompressionETC2 = true, .textureCompressionASTC_LDR = true, .textureCompressionBC = true, - .occlusionQueryNonConservative = false, /* FINISHME */ + .occlusionQueryPrecise = false, /* FINISHME */ .pipelineStatisticsQuery = true, - .vertexSideEffects = false, - .tessellationSideEffects = false, - .geometrySideEffects = false, - .fragmentSideEffects = false, - .shaderTessellationPointSize = false, - .shaderGeometryPointSize = true, + .vertexPipelineStoresAndAtomics = false, + .fragmentStoresAndAtomics = true, + .shaderTessellationAndGeometryPointSize = true, .shaderImageGatherExtended = true, .shaderStorageImageExtendedFormats = false, .shaderStorageImageMultisample = false, @@ -351,12 +351,15 @@ void anv_GetPhysicalDeviceFeatures( .shaderSampledImageArrayDynamicIndexing = false, .shaderStorageBufferArrayDynamicIndexing = false, .shaderStorageImageArrayDynamicIndexing = false, + .shaderStorageImageReadWithoutFormat = false, + .shaderStorageImageWriteWithoutFormat = true, .shaderClipDistance = false, .shaderCullDistance = false, .shaderFloat64 = false, .shaderInt64 = false, .shaderInt16 = false, .alphaToOne = true, + .variableMultisampleRate = false, }; } @@ -369,30 +372,34 @@ void anv_GetPhysicalDeviceProperties( anv_finishme("Get correct values for VkPhysicalDeviceLimits"); + VkSampleCountFlags sample_counts = + VK_SAMPLE_COUNT_1_BIT | + VK_SAMPLE_COUNT_2_BIT | + VK_SAMPLE_COUNT_4_BIT | + VK_SAMPLE_COUNT_8_BIT; + VkPhysicalDeviceLimits limits = { .maxImageDimension1D = (1 << 14), .maxImageDimension2D = (1 << 14), .maxImageDimension3D = (1 << 10), .maxImageDimensionCube = (1 << 14), .maxImageArrayLayers = (1 << 10), - - /* Broadwell supports 1, 2, 4, and 8 samples. */ - .sampleCounts = 4, - - .maxTexelBufferSize = (1 << 14), - .maxUniformBufferSize = UINT32_MAX, - .maxStorageBufferSize = UINT32_MAX, + .maxTexelBufferElements = (1 << 14), + .maxUniformBufferRange = UINT32_MAX, + .maxStorageBufferRange = UINT32_MAX, .maxPushConstantsSize = MAX_PUSH_CONSTANTS_SIZE, .maxMemoryAllocationCount = UINT32_MAX, + .maxSamplerAllocationCount = UINT32_MAX, .bufferImageGranularity = 64, /* A cache line */ .sparseAddressSpaceSize = 0, .maxBoundDescriptorSets = MAX_SETS, - .maxDescriptorSets = UINT32_MAX, .maxPerStageDescriptorSamplers = 64, .maxPerStageDescriptorUniformBuffers = 64, .maxPerStageDescriptorStorageBuffers = 64, .maxPerStageDescriptorSampledImages = 64, .maxPerStageDescriptorStorageImages = 64, + .maxPerStageDescriptorInputAttachments = 64, + .maxPerStageResources = 128, .maxDescriptorSetSamplers = 256, .maxDescriptorSetUniformBuffers = 256, .maxDescriptorSetUniformBuffersDynamic = 256, @@ -400,27 +407,28 @@ void anv_GetPhysicalDeviceProperties( .maxDescriptorSetStorageBuffersDynamic = 256, .maxDescriptorSetSampledImages = 256, .maxDescriptorSetStorageImages = 256, + .maxDescriptorSetInputAttachments = 256, .maxVertexInputAttributes = 32, .maxVertexInputBindings = 32, .maxVertexInputAttributeOffset = 256, .maxVertexInputBindingStride = 256, .maxVertexOutputComponents = 32, - .maxTessGenLevel = 0, - .maxTessPatchSize = 0, - .maxTessControlPerVertexInputComponents = 0, - .maxTessControlPerVertexOutputComponents = 0, - .maxTessControlPerPatchOutputComponents = 0, - .maxTessControlTotalOutputComponents = 0, - .maxTessEvaluationInputComponents = 0, - .maxTessEvaluationOutputComponents = 0, + .maxTessellationGenerationLevel = 0, + .maxTessellationPatchSize = 0, + .maxTessellationControlPerVertexInputComponents = 0, + .maxTessellationControlPerVertexOutputComponents = 0, + .maxTessellationControlPerPatchOutputComponents = 0, + .maxTessellationControlTotalOutputComponents = 0, + .maxTessellationEvaluationInputComponents = 0, + .maxTessellationEvaluationOutputComponents = 0, .maxGeometryShaderInvocations = 6, .maxGeometryInputComponents = 16, .maxGeometryOutputComponents = 16, .maxGeometryOutputVertices = 16, .maxGeometryTotalOutputComponents = 16, .maxFragmentInputComponents = 16, - .maxFragmentOutputBuffers = 8, - .maxFragmentDualSourceBuffers = 2, + .maxFragmentOutputAttachments = 8, + .maxFragmentDualSrcAttachments = 2, .maxFragmentCombinedOutputResources = 8, .maxComputeSharedMemorySize = 1024, .maxComputeWorkGroupCount = { @@ -438,8 +446,7 @@ void anv_GetPhysicalDeviceProperties( .subTexelPrecisionBits = 4 /* FIXME */, .mipmapPrecisionBits = 4 /* FIXME */, .maxDrawIndexedIndexValue = UINT32_MAX, - .maxDrawIndirectInstanceCount = UINT32_MAX, - .primitiveRestartForPatches = UINT32_MAX, + .maxDrawIndirectCount = UINT32_MAX, .maxSamplerLodBias = 16, .maxSamplerAnisotropy = 16, .maxViewports = MAX_VIEWPORTS, @@ -460,23 +467,31 @@ void anv_GetPhysicalDeviceProperties( .maxFramebufferWidth = (1 << 14), .maxFramebufferHeight = (1 << 14), .maxFramebufferLayers = (1 << 10), - .maxFramebufferColorSamples = 8, - .maxFramebufferDepthSamples = 8, - .maxFramebufferStencilSamples = 8, + .framebufferColorSampleCounts = sample_counts, + .framebufferDepthSampleCounts = sample_counts, + .framebufferStencilSampleCounts = sample_counts, + .framebufferNoAttachmentsSampleCounts = sample_counts, .maxColorAttachments = MAX_RTS, - .maxSampledImageColorSamples = 8, - .maxSampledImageDepthSamples = 8, - .maxSampledImageIntegerSamples = 1, - .maxStorageImageSamples = 1, + .sampledImageColorSampleCounts = sample_counts, + .sampledImageIntegerSampleCounts = VK_SAMPLE_COUNT_1_BIT, + .sampledImageDepthSampleCounts = sample_counts, + .sampledImageStencilSampleCounts = sample_counts, + .storageImageSampleCounts = VK_SAMPLE_COUNT_1_BIT, .maxSampleMaskWords = 1, - .timestampFrequency = 1000 * 1000 * 1000 / 80, + .timestampPeriod = 80.0 / (1000 * 1000 * 1000), .maxClipDistances = 0 /* FIXME */, .maxCullDistances = 0 /* FIXME */, .maxCombinedClipAndCullDistances = 0 /* FIXME */, + .discreteQueuePriorities = 1, .pointSizeRange = { 0.125, 255.875 }, .lineWidthRange = { 0.0, 7.9921875 }, .pointSizeGranularity = (1.0 / 8.0), .lineWidthGranularity = (1.0 / 128.0), + .strictLines = false, /* FINISHME */ + .standardSampleLocations = true, /* FINISHME */ + .optimalBufferCopyOffsetAlignment = 128, + .optimalBufferCopyRowPitchAlignment = 128, + .nonCoherentAtomSize = 64, }; *pProperties = (VkPhysicalDeviceProperties) { |