From 61fed46dcee9c496a0beb403dd1d178ec0f5b87b Mon Sep 17 00:00:00 2001 From: Alexander Galazin Date: Thu, 14 Feb 2019 12:46:15 +0100 Subject: [PATCH] Further fixes for spirv validation issues in pointer_parameter Components: Vulkan VK-GL-CTS issue: 1590 Affects: dEQP-VK.spirv_assembly.instruction.*.pointer_parameter.* Change-Id: I59f2fc2e9d458fa1a122962487b30fec99b38401 --- .../vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.cpp index a349fa2..07b81cf 100644 --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.cpp +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.cpp @@ -262,6 +262,7 @@ void addComputePointerBufferMemoryTest (tcu::TestCaseGroup* group) const int numFloats = 128; ComputeShaderSpec spec; vector expectedOutput; + VulkanFeatures requiredFeatures; // Implements the following pseudo GLSL shader: // @@ -289,7 +290,9 @@ void addComputePointerBufferMemoryTest (tcu::TestCaseGroup* group) // } const string shaderSource = " OpCapability Shader\n" + " OpCapability VariablePointersStorageBuffer\n" " OpExtension \"SPV_KHR_storage_buffer_storage_class\"\n" + " OpExtension \"SPV_KHR_variable_pointers\"\n" " %1 = OpExtInstImport \"GLSL.std.450\"\n" " OpMemoryModel Logical GLSL450\n" " OpEntryPoint GLCompute %main \"main\" %gl_GlobalInvocationID\n" @@ -374,10 +377,14 @@ void addComputePointerBufferMemoryTest (tcu::TestCaseGroup* group) for (deUint32 numIdx = 0; numIdx < numFloats / 2; ++numIdx) expectedOutput.push_back(2.0f); + requiredFeatures.extVariablePointers = EXTVARIABLEPOINTERSFEATURES_VARIABLE_POINTERS_STORAGEBUFFER; + spec.outputs.push_back(BufferSp(new Float32Buffer(expectedOutput))); spec.assembly = shaderSource; spec.numWorkGroups = IVec3(16, 1, 1); + spec.requestedVulkanFeatures = requiredFeatures; + spec.extensions.push_back("VK_KHR_variable_pointers"); group->addChild(new SpvAsmComputeShaderCase(testCtx, "buffer_memory", "", spec)); } @@ -960,6 +967,7 @@ void addGraphicsPointerBufferMemoryTest (tcu::TestCaseGroup* group) expectedOutput.push_back(2.0f); extensions.push_back("VK_KHR_variable_pointers"); + requiredFeatures.extVariablePointers = EXTVARIABLEPOINTERSFEATURES_VARIABLE_POINTERS_STORAGEBUFFER; requiredFeatures.coreFeatures.vertexPipelineStoresAndAtomics = DE_TRUE; resources.outputs.push_back(Resource(BufferSp(new Float32Buffer(expectedOutput)), vk::VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)); -- 2.7.4