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 ...@@ -154,8 +154,8 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxVertexAttribStride = mNativeCaps.maxVertexAttribStride =
mPhysicalDeviceProperties.limits.maxVertexInputBindingStride; mPhysicalDeviceProperties.limits.maxVertexInputBindingStride;
mNativeCaps.maxElementsIndices = std::numeric_limits<GLuint>::max(); mNativeCaps.maxElementsIndices = std::numeric_limits<GLint>::max();
mNativeCaps.maxElementsVertices = std::numeric_limits<GLuint>::max(); mNativeCaps.maxElementsVertices = std::numeric_limits<GLint>::max();
// Looks like all floats are IEEE according to the docs here: // 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 // 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 ...@@ -194,6 +194,7 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxVertexUniformVectors = maxUniformVectors; mNativeCaps.maxVertexUniformVectors = maxUniformVectors;
mNativeCaps.maxShaderUniformComponents[gl::ShaderType::Vertex] = maxUniformComponents; mNativeCaps.maxShaderUniformComponents[gl::ShaderType::Vertex] = maxUniformComponents;
mNativeCaps.maxFragmentUniformVectors = maxUniformVectors; mNativeCaps.maxFragmentUniformVectors = maxUniformVectors;
mNativeCaps.maxFragmentInputComponents = maxUniformComponents;
mNativeCaps.maxShaderUniformComponents[gl::ShaderType::Fragment] = maxUniformComponents; mNativeCaps.maxShaderUniformComponents[gl::ShaderType::Fragment] = maxUniformComponents;
// Every stage has 1 reserved uniform buffer for the default uniforms, and 1 for the driver // Every stage has 1 reserved uniform buffer for the default uniforms, and 1 for the driver
...@@ -317,6 +318,9 @@ void RendererVk::ensureCapsInitialized() const ...@@ -317,6 +318,9 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxTransformFeedbackSeparateComponents = mNativeCaps.maxTransformFeedbackSeparateComponents =
gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS; gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;
mNativeCaps.minProgramTexelOffset = mPhysicalDeviceProperties.limits.minTexelOffset;
mNativeCaps.maxProgramTexelOffset = mPhysicalDeviceProperties.limits.maxTexelOffset;
const VkPhysicalDeviceLimits &limits = mPhysicalDeviceProperties.limits; const VkPhysicalDeviceLimits &limits = mPhysicalDeviceProperties.limits;
const uint32_t sampleCounts = limits.framebufferColorSampleCounts & const uint32_t sampleCounts = limits.framebufferColorSampleCounts &
limits.framebufferDepthSampleCounts & limits.framebufferDepthSampleCounts &
......
...@@ -530,12 +530,8 @@ ...@@ -530,12 +530,8 @@
// General Vulkan failures // General Vulkan failures
// Limits: // Limits:
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.max_elements_indices = FAIL // Nvidia doesn't support the necessary compressed formats
3676 VULKAN : dEQP-GLES3.functional.implementation_limits.max_elements_vertices = FAIL 3676 NVIDIA VULKAN : dEQP-GLES3.functional.implementation_limits.compressed_texture_formats = 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
// MAX_FRAGMENT_INPUT_COMPONENTS is 0 // MAX_FRAGMENT_INPUT_COMPONENTS is 0
3676 VULKAN : dEQP-GLES3.functional.state_query.integers.max_fragment_input_components_get* = FAIL 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