Remove unconditional depth_clamping for 1.1.1
authorSimen Kaspersen <Simen.Kaspersen@arm.com>
Wed, 1 Aug 2018 11:12:14 +0000 (13:12 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Tue, 7 Aug 2018 08:52:30 +0000 (04:52 -0400)
Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.

NB: Carries the same changes as 1.1.0 patch for depth_clamping, along with changes that are specific for 1.1.1.

Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 1286

Change-Id: I0e322c65561c25339fe56e3122401d92df7623a6

14 files changed:
external/vulkancts/modules/vulkan/api/vktApiObjectManagementTests.cpp
external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp
external/vulkancts/modules/vulkan/binding_model/vktBindingShaderAccessTests.cpp
external/vulkancts/modules/vulkan/device_group/vktDeviceGroupRendering.cpp
external/vulkancts/modules/vulkan/memory/vktMemoryPipelineBarrierTests.cpp
external/vulkancts/modules/vulkan/renderpass/vktRenderPassMultisampleResolveTests.cpp
external/vulkancts/modules/vulkan/renderpass/vktRenderPassMultisampleTests.cpp
external/vulkancts/modules/vulkan/renderpass/vktRenderPassSampleReadTests.cpp
external/vulkancts/modules/vulkan/renderpass/vktRenderPassSparseRenderTargetTests.cpp
external/vulkancts/modules/vulkan/renderpass/vktRenderPassTests.cpp
external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp
external/vulkancts/modules/vulkan/vktShaderLibrary.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp

index 2049ed3..8c34a17 100644 (file)
@@ -1758,7 +1758,7 @@ struct GraphicsPipeline
                        VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                        DE_NULL,
                        (VkPipelineRasterizationStateCreateFlags)0,
-                       VK_TRUE,                                                                // depthClampEnable
+                       VK_FALSE,                                                               // depthClampEnable
                        VK_FALSE,                                                               // rasterizerDiscardEnable
                        VK_POLYGON_MODE_FILL,
                        VK_CULL_MODE_BACK_BIT,
index a6d9f5f..dfafdc9 100644 (file)
@@ -1212,7 +1212,7 @@ tcu::TestStatus renderTriangleUnusedResolveAttachmentTest (Context& context)
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,     // sType
                DE_NULL,                                                                                                        // pNext
                0u,                                                                                                                     // flags
-               VK_TRUE,                                                                                                        // depthClampEnable
+               VK_FALSE,                                                                                                       // depthClampEnable
                VK_FALSE,                                                                                                       // rasterizerDiscardEnable
                VK_POLYGON_MODE_FILL,                                                                           // polygonMode
                VK_CULL_MODE_NONE,                                                                                      // cullMode
index 73c5947..edf3445 100644 (file)
@@ -1045,7 +1045,7 @@ vk::Move<vk::VkPipeline> SingleCmdRenderInstance::createPipeline (vk::VkPipeline
                vk::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (vk::VkPipelineRasterizationStateCreateFlags)0,
-               VK_TRUE,                                                                        // depthClipEnable
+               VK_FALSE,                                                                       // depthClipEnable
                VK_FALSE,                                                                       // rasterizerDiscardEnable
                vk::VK_POLYGON_MODE_FILL,                                       // fillMode
                vk::VK_CULL_MODE_NONE,                                          // cullMode
index 026340f..7b54a9a 100755 (executable)
@@ -1276,7 +1276,7 @@ tcu::TestStatus DeviceGroupTestInstance::iterate (void)
                                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,                     // sType
                                DE_NULL,                                                                                                                        // pNext
                                0u,                                                                                                                                     // flags
-                               VK_TRUE,                                                                                                                        // depthClampEnable
+                               VK_FALSE,                                                                                                                       // depthClampEnable
                                VK_FALSE,                                                                                                                       // rasterizerDiscardEnable
                                m_fillModeNonSolid ? VK_POLYGON_MODE_LINE : VK_POLYGON_MODE_FILL,       // polygonMode
                                VK_CULL_MODE_NONE,                                                                                                      // cullMode
index 4df2bba..053d59a 100644 (file)
@@ -4764,7 +4764,7 @@ void createPipelineWithResources (const vk::DeviceInterface&                                                      vkd,
                        DE_NULL,
                        0,
 
-                       VK_TRUE,
+                       VK_FALSE,
                        VK_FALSE,
                        vk::VK_POLYGON_MODE_FILL,
                        vk::VK_CULL_MODE_NONE,
index 35491b8..be57812 100644 (file)
@@ -699,7 +699,7 @@ Move<VkPipeline> createRenderPipeline (const DeviceInterface&               vkd,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                VK_POLYGON_MODE_FILL,
                VK_CULL_MODE_NONE,
index e2cb8f8..325bf4a 100644 (file)
@@ -850,7 +850,7 @@ Move<VkPipeline> createRenderPipeline (const DeviceInterface&               vkd,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                VK_POLYGON_MODE_FILL,
                VK_CULL_MODE_NONE,
@@ -1115,7 +1115,7 @@ Move<VkPipeline> createSplitPipeline (const DeviceInterface&              vkd,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                VK_POLYGON_MODE_FILL,
                VK_CULL_MODE_NONE,
index 95e3bfe..72070f4 100644 (file)
@@ -582,7 +582,7 @@ Move<VkPipeline> createRenderPipeline (const DeviceInterface&               vkd,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                VK_POLYGON_MODE_FILL,
                VK_CULL_MODE_NONE,
@@ -802,7 +802,7 @@ Move<VkPipeline> createSubpassPipeline (const DeviceInterface&              vkd,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                VK_POLYGON_MODE_FILL,
                VK_CULL_MODE_NONE,
index 61f89d6..ad21578 100644 (file)
@@ -462,7 +462,7 @@ Move<VkPipeline> createRenderPipeline (const DeviceInterface&                                                       vkd,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                DE_NULL,
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                VK_POLYGON_MODE_FILL,
                VK_CULL_MODE_NONE,
index 013913a..4b482c8 100644 (file)
@@ -1848,7 +1848,7 @@ Move<VkPipeline> createSubpassPipeline (const DeviceInterface&            vk,
                VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,             // sType
                DE_NULL,                                                                                                                // pNext
                (VkPipelineRasterizationStateCreateFlags)0u,
-               VK_TRUE,                                                                                                                // depthClipEnable
+               VK_FALSE,                                                                                                               // depthClipEnable
                VK_FALSE,                                                                                                               // rasterizerDiscardEnable
                VK_POLYGON_MODE_FILL,                                                                                   // fillMode
                VK_CULL_MODE_NONE,                                                                                              // cullMode
index a42e0ee..46a61c8 100644 (file)
@@ -317,6 +317,9 @@ BuiltinFragDepthCaseInstance::BuiltinFragDepthCaseInstance (Context& context, Vk
 
                if (m_largeDepthEnable && !de::contains(context.getDeviceExtensions().begin(), context.getDeviceExtensions().end(), "VK_EXT_depth_range_unrestricted"))
                        throw tcu::NotSupportedError("large_depth test variants require the VK_EXT_depth_range_unrestricted extension");
+
+               if (m_context.getDeviceFeatures().depthClamp == VK_FALSE && m_depthClampEnable)
+                       throw tcu::NotSupportedError("Depthclamp is not supported.");
        }
        catch (const vk::Error& e)
        {
index 5bd4d74..6f2d51a 100644 (file)
@@ -779,7 +779,7 @@ void generateWork (TestContext& testContext)
        rasterState.sType                                                       = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
        rasterState.pNext                                                       = DE_NULL;
        rasterState.flags                                                       = 0;
-       rasterState.depthClampEnable                            = VK_TRUE;
+       rasterState.depthClampEnable                            = VK_FALSE;
        rasterState.rasterizerDiscardEnable                     = VK_FALSE;
        rasterState.polygonMode                                         = VK_POLYGON_MODE_FILL;
        rasterState.cullMode                                            = VK_CULL_MODE_NONE;
index c506ff7..e65cb3b 100644 (file)
@@ -1126,7 +1126,7 @@ Move<vk::VkPipeline> createPipeline (Context&                                     context,
                vk::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,         // sType
                DE_NULL,                                                                                                                        // pNext
                (vk::VkPipelineRasterizationStateCreateFlags)0,
-               DE_TRUE,                                                                                                                        // depthClipEnable
+               DE_FALSE,                                                                                                                       // depthClipEnable
                DE_FALSE,                                                                                                                       // rasterizerDiscardEnable
                vk::VK_POLYGON_MODE_FILL,                                                                                       // fillMode
                vk::VK_CULL_MODE_NONE,                                                                                          // cullMode;
index 0edd866..e8a00cb 100644 (file)
@@ -734,7 +734,7 @@ vk::Move<vk::VkPipeline> createPipeline (const vk::DeviceInterface& vkd,
                vk::VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
                DE_NULL,
                0u,
-               VK_TRUE,
+               VK_FALSE,
                VK_FALSE,
                vk::VK_POLYGON_MODE_FILL,
                vk::VK_CULL_MODE_NONE,