Commit faa2a365 by Alexis Hetu Committed by Alexis Hétu

Increase limits for uniforms and vertex outputs

ANGLE reserves 2 uniforms and 2 varyings for GLES. Increasing maxPerStageDescriptorUniformBuffers by 2 and maxVertexOutputComponents by 8 (2 * 4 components) allows the following tests to pass (17 failures fixed in total): dEQP-GLES3.functional.implementation_limits.* dEQP-GLES3.functional.state_query.* Bug b/141632907 Change-Id: Ie39b735286d6682f5782fca30e0f7a079f4142ec Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36668 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 6b4b8141
...@@ -57,7 +57,7 @@ namespace sw ...@@ -57,7 +57,7 @@ namespace sw
MAX_TEXEL_OFFSET = 7, MAX_TEXEL_OFFSET = 7,
MAX_TEXTURE_LOD = MIPMAP_LEVELS - 2, // Trilinear accesses lod+1 MAX_TEXTURE_LOD = MIPMAP_LEVELS - 2, // Trilinear accesses lod+1
RENDERTARGETS = 8, RENDERTARGETS = 8,
MAX_INTERFACE_COMPONENTS = 16 * 4, // Must be multiple of 4 for 16-byte alignment. MAX_INTERFACE_COMPONENTS = 32 * 4, // Must be multiple of 4 for 16-byte alignment.
}; };
} }
......
...@@ -160,7 +160,7 @@ const VkPhysicalDeviceLimits& PhysicalDevice::getLimits() const ...@@ -160,7 +160,7 @@ const VkPhysicalDeviceLimits& PhysicalDevice::getLimits() const
0, // sparseAddressSpaceSize (unsupported) 0, // sparseAddressSpaceSize (unsupported)
MAX_BOUND_DESCRIPTOR_SETS, // maxBoundDescriptorSets MAX_BOUND_DESCRIPTOR_SETS, // maxBoundDescriptorSets
16, // maxPerStageDescriptorSamplers 16, // maxPerStageDescriptorSamplers
12, // maxPerStageDescriptorUniformBuffers 14, // maxPerStageDescriptorUniformBuffers
4, // maxPerStageDescriptorStorageBuffers 4, // maxPerStageDescriptorStorageBuffers
16, // maxPerStageDescriptorSampledImages 16, // maxPerStageDescriptorSampledImages
4, // maxPerStageDescriptorStorageImages 4, // maxPerStageDescriptorStorageImages
...@@ -178,7 +178,7 @@ const VkPhysicalDeviceLimits& PhysicalDevice::getLimits() const ...@@ -178,7 +178,7 @@ const VkPhysicalDeviceLimits& PhysicalDevice::getLimits() const
vk::MAX_VERTEX_INPUT_BINDINGS, // maxVertexInputBindings vk::MAX_VERTEX_INPUT_BINDINGS, // maxVertexInputBindings
2047, // maxVertexInputAttributeOffset 2047, // maxVertexInputAttributeOffset
2048, // maxVertexInputBindingStride 2048, // maxVertexInputBindingStride
64, // maxVertexOutputComponents sw::MAX_INTERFACE_COMPONENTS, // maxVertexOutputComponents
0, // maxTessellationGenerationLevel (unsupported) 0, // maxTessellationGenerationLevel (unsupported)
0, // maxTessellationPatchSize (unsupported) 0, // maxTessellationPatchSize (unsupported)
0, // maxTessellationControlPerVertexInputComponents (unsupported) 0, // maxTessellationControlPerVertexInputComponents (unsupported)
...@@ -192,7 +192,7 @@ const VkPhysicalDeviceLimits& PhysicalDevice::getLimits() const ...@@ -192,7 +192,7 @@ const VkPhysicalDeviceLimits& PhysicalDevice::getLimits() const
0, // maxGeometryOutputComponents (unsupported) 0, // maxGeometryOutputComponents (unsupported)
0, // maxGeometryOutputVertices (unsupported) 0, // maxGeometryOutputVertices (unsupported)
0, // maxGeometryTotalOutputComponents (unsupported) 0, // maxGeometryTotalOutputComponents (unsupported)
64, // maxFragmentInputComponents sw::MAX_INTERFACE_COMPONENTS, // maxFragmentInputComponents
4, // maxFragmentOutputAttachments 4, // maxFragmentOutputAttachments
1, // maxFragmentDualSrcAttachments 1, // maxFragmentDualSrcAttachments
4, // maxFragmentCombinedOutputResources 4, // maxFragmentCombinedOutputResources
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment