Commit 8b2bb18f by Tim Van Patten Committed by Commit Bot

Vulkan: Update capabilities with the necessary limits

Some of the necessary limits were not being defined correctly in the native capabilities, causing some dEQP test failures. Bug: angleproject:3676 Test: Applicable dEQP-GLES3 limits testing Change-Id: If977da1edd7d55627c65cd81a6dcd42c63a3a6a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695934 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 663b0481
......@@ -154,8 +154,8 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxVertexAttribStride =
mPhysicalDeviceProperties.limits.maxVertexInputBindingStride;
mNativeCaps.maxElementsIndices = std::numeric_limits<GLuint>::max();
mNativeCaps.maxElementsVertices = std::numeric_limits<GLuint>::max();
mNativeCaps.maxElementsIndices = std::numeric_limits<GLint>::max();
mNativeCaps.maxElementsVertices = std::numeric_limits<GLint>::max();
// Looks like all floats are IEEE according to the docs here:
// https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/html/vkspec.html#spirvenv-precision-operation
......@@ -194,6 +194,7 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxVertexUniformVectors = maxUniformVectors;
mNativeCaps.maxShaderUniformComponents[gl::ShaderType::Vertex] = maxUniformComponents;
mNativeCaps.maxFragmentUniformVectors = maxUniformVectors;
mNativeCaps.maxFragmentInputComponents = maxUniformComponents;
mNativeCaps.maxShaderUniformComponents[gl::ShaderType::Fragment] = maxUniformComponents;
// Every stage has 1 reserved uniform buffer for the default uniforms, and 1 for the driver
......@@ -317,6 +318,9 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxTransformFeedbackSeparateComponents =
gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;
mNativeCaps.minProgramTexelOffset = mPhysicalDeviceProperties.limits.minTexelOffset;
mNativeCaps.maxProgramTexelOffset = mPhysicalDeviceProperties.limits.maxTexelOffset;
const VkPhysicalDeviceLimits &limits = mPhysicalDeviceProperties.limits;
const uint32_t sampleCounts = limits.framebufferColorSampleCounts &
limits.framebufferDepthSampleCounts &
......
......@@ -530,12 +530,8 @@
// General Vulkan failures
// Limits:
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.max_elements_indices = FAIL
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.max_elements_vertices = FAIL
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.compressed_texture_formats = FAIL
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.max_fragment_input_components = FAIL
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.max_program_texel_offset = FAIL
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.min_program_texel_offset = FAIL
// Nvidia doesn't support the necessary compressed formats
3676 NVIDIA VULKAN : dEQP-GLES3.functional.implementation_limits.compressed_texture_formats = FAIL
// MAX_FRAGMENT_INPUT_COMPONENTS is 0
3676 VULKAN : dEQP-GLES3.functional.state_query.integers.max_fragment_input_components_get* = FAIL
......
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