From fe87038683c655b9b474686ec7cb4f0f32f00479 Mon Sep 17 00:00:00 2001 From: Ari Suonpaa Date: Mon, 19 Nov 2018 14:39:41 +0200 Subject: [PATCH] Extend OpCompositeInsert test Extended OpCompositeInsert test with vector and nested struct cases. Affects: dEQP-VK.spirv_assembly.instruction.*.composite_insert.* Components: Vulkan VK-GL-CTS issue: 1458 Change-Id: Icef6dd3161581ddb8b7413190b77833aa02461f1 --- android/cts/master/vk-master.txt | 24 ++ .../vktSpvAsmCompositeInsertTests.cpp | 309 +++++++++++++++++- .../mustpass/1.1.3/vk-default-no-waivers.txt | 24 ++ .../vulkancts/mustpass/1.1.3/vk-default.txt | 24 ++ 4 files changed, 378 insertions(+), 3 deletions(-) diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index db0d289bb..cab9f4d27 100755 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -224519,6 +224519,9 @@ dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.co dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.conv_from_fp32_inf_preserve dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.conv_from_fp32_nan_preserve dEQP-VK.spirv_assembly.instruction.compute.ubo_padding.mat2x2 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec2 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec3 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat2x2 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat3x2 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x2 @@ -224528,6 +224531,7 @@ dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x3 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat2x4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat3x4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x4 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.nested_struct dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.float dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.vec4 dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.matrix @@ -232877,6 +232881,21 @@ dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_tessc dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_tesse dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_geom dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_frag dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_vert dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_tessc dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_tesse @@ -232922,6 +232941,11 @@ dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_tessc dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_tesse dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_geom dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_frag dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_vert dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_tessc dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_tesse diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCompositeInsertTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCompositeInsertTests.cpp index 738938b6d..6b5370029 100644 --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCompositeInsertTests.cpp +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCompositeInsertTests.cpp @@ -82,7 +82,17 @@ string getIdentityVectors (deUint32 cols, deUint32 rows) return ret; } -string getCompositeInserts (deUint32 cols, deUint32 rows) +string getVectorCompositeInserts (deUint32 elements) +{ + string ret = " %tmp0 = OpLoad %v" + de::toString(elements) + "f32 %vec\n"; + + for (deUint32 e = 0; e < elements; e++) + ret += " %tmp" + de::toString(e + 1) + " = OpCompositeInsert %v" + de::toString(elements) + "f32 %c_f32_" + de::toString(e) + " %tmp" + de::toString(e) + " " + de::toString(e) + "\n"; + + return ret; +} + +string getMatrixCompositeInserts (deUint32 cols, deUint32 rows) { string matType = getMatrixType(cols, rows); string ret = " %tmp0 = OpLoad " + matType + " %mat\n"; @@ -118,6 +128,154 @@ bool verifyMatrixOutput (const std::vector& inputs, const vectorgetTestContext(); + + for (deUint32 elements = 2; elements <= 4; elements++) + { + ComputeShaderSpec spec; + vector refData; + const string vecType = string("%v") + de::toString(elements) + "f32"; + + // Generate a vector using OpCompositeInsert + const string shaderSource = + " OpCapability Shader\n" + " %1 = OpExtInstImport \"GLSL.std.450\"\n" + " OpMemoryModel Logical GLSL450\n" + " OpEntryPoint GLCompute %main \"main\"\n" + " OpExecutionMode %main LocalSize 1 1 1\n" + " OpSource GLSL 430\n" + " OpMemberDecorate %Output 0 Offset 0\n" + " OpDecorate %Output BufferBlock\n" + " OpDecorate %dataOutput DescriptorSet 0\n" + " OpDecorate %dataOutput Binding 0\n" + " %f32 = OpTypeFloat 32\n" + " %v2f32 = OpTypeVector %f32 2\n" + " %v3f32 = OpTypeVector %f32 3\n" + " %v4f32 = OpTypeVector %f32 4\n" + " %Output = OpTypeStruct " + vecType + "\n" + " %_ptr_Uniform_Output = OpTypePointer Uniform %Output\n" + " %dataOutput = OpVariable %_ptr_Uniform_Output Uniform\n" + " %_ptr_Function_vec = OpTypePointer Function " + vecType + "\n" + " %_ptr_Uniform_vec = OpTypePointer Uniform " + vecType + "\n" + " %c_f32_0 = OpConstant %f32 0\n" + " %c_f32_1 = OpConstant %f32 1\n" + " %c_f32_2 = OpConstant %f32 2\n" + " %c_f32_3 = OpConstant %f32 3\n" + " %i32 = OpTypeInt 32 1\n" + " %c_i32_0 = OpConstant %i32 0\n" + " %void = OpTypeVoid\n" + " %3 = OpTypeFunction %void\n" + " %main = OpFunction %void None %3\n" + " %entry = OpLabel\n" + " %vec = OpVariable %_ptr_Function_vec Function\n" + + getVectorCompositeInserts(elements) + + " %vecOutPtr = OpAccessChain %_ptr_Uniform_vec %dataOutput %c_i32_0\n" + " OpStore %vecOutPtr %tmp" + de::toString(elements) + "\n" + " OpReturn\n" + " OpFunctionEnd\n"; + + spec.assembly = shaderSource; + spec.numWorkGroups = IVec3(1, 1, 1); + + // Expect running counter + for (deUint32 e = 0; e < elements; e++) + refData.push_back((float)e); + + spec.outputs.push_back(Resource(BufferSp(new Float32Buffer(refData)))); + + string testName = string("vec") + de::toString(elements); + + group->addChild(new SpvAsmComputeShaderCase(testCtx, testName.c_str(), "Tests vector composite insert.", spec)); + } +} + +void addGraphicsVectorCompositeInsertTests (tcu::TestCaseGroup* group) +{ + for (deUint32 elements = 2; elements <= 4; elements++) + { + map fragments; + RGBA defaultColors[4]; + GraphicsResources resources; + + SpecConstants noSpecConstants; + PushConstants noPushConstants; + GraphicsInterfaces noInterfaces; + vector noFeatures; + vector noExtensions; + VulkanFeatures vulkanFeatures = VulkanFeatures(); + vector refData; + const string testName = string("vec") + de::toString(elements); + const string vecType = string("%v") + de::toString(elements) + "f32"; + + // Expect running counter + for (deUint32 e = 0; e < elements; e++) + refData.push_back((float)e); + resources.outputs.push_back(Resource(BufferSp(new Float32Buffer(refData)), VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)); + + getDefaultColors(defaultColors); + + // Generate a vector using OpCompositeInsert + fragments["pre_main"] = + " %Output = OpTypeStruct " + vecType + "\n" + " %_ptr_Uniform_Output = OpTypePointer Uniform %Output\n" + " %dataOutput = OpVariable %_ptr_Uniform_Output Uniform\n" + " %fp_v2f32 = OpTypePointer Function %v2f32\n" + " %fp_v3f32 = OpTypePointer Function %v3f32\n" + " %_ptr_Uniform_vec = OpTypePointer Uniform " + vecType + "\n" + " %c_f32_2 = OpConstant %f32 2\n" + " %c_f32_3 = OpConstant %f32 3\n"; + + fragments["decoration"] = + " OpMemberDecorate %Output 0 Offset 0\n" + " OpDecorate %Output BufferBlock\n" + " OpDecorate %dataOutput DescriptorSet 0\n" + " OpDecorate %dataOutput Binding 0\n"; + + fragments["testfun"] = + " %test_code = OpFunction %v4f32 None %v4f32_v4f32_function\n" + " %param = OpFunctionParameter %v4f32\n" + " %entry = OpLabel\n" + " %vec = OpVariable %fp_v" + de::toString(elements) + "f32 Function\n" + + getVectorCompositeInserts(elements) + + " %vecOutPtr = OpAccessChain %_ptr_Uniform_vec %dataOutput %c_i32_0\n" + " OpStore %vecOutPtr %tmp" + de::toString(elements) + "\n" + " OpReturnValue %param\n" + " OpFunctionEnd\n"; + + vulkanFeatures.coreFeatures.vertexPipelineStoresAndAtomics = DE_TRUE; + vulkanFeatures.coreFeatures.fragmentStoresAndAtomics = DE_FALSE; + createTestForStage(VK_SHADER_STAGE_VERTEX_BIT, (testName + "_vert").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + createTestForStage(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, (testName + "_tessc").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + createTestForStage(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, (testName + "_tesse").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + createTestForStage(VK_SHADER_STAGE_GEOMETRY_BIT, (testName + "_geom").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + vulkanFeatures.coreFeatures.vertexPipelineStoresAndAtomics = DE_FALSE; + vulkanFeatures.coreFeatures.fragmentStoresAndAtomics = DE_TRUE; + createTestForStage(VK_SHADER_STAGE_FRAGMENT_BIT, (testName + "_frag").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + } +} + void addComputeMatrixCompositeInsertTests (tcu::TestCaseGroup* group) { tcu::TestContext& testCtx = group->getTestContext(); @@ -163,7 +321,7 @@ void addComputeMatrixCompositeInsertTests (tcu::TestCaseGroup* group) " %main = OpFunction %void None %3\n" " %entry = OpLabel\n" " %mat = OpVariable %_ptr_Function_mat Function\n" - + getCompositeInserts(cols, rows) + + + getMatrixCompositeInserts(cols, rows) + " %matOutPtr = OpAccessChain %_ptr_Uniform_mat %dataOutput %c_i32_0\n" " OpStore %matOutPtr %tmp" + de::toString(cols) + "\n" " OpReturn\n" @@ -249,7 +407,7 @@ void addGraphicsMatrixCompositeInsertTests (tcu::TestCaseGroup* group) " %param = OpFunctionParameter %v4f32\n" " %entry = OpLabel\n" " %mat = OpVariable %_ptr_Function_mat Function\n" - + getCompositeInserts(cols, rows) + + + getMatrixCompositeInserts(cols, rows) + " %matOutPtr = OpAccessChain %_ptr_Uniform_mat %dataOutput %c_i32_0\n" " OpStore %matOutPtr %tmp" + de::toString(cols) + "\n" " OpReturnValue %param\n" @@ -277,12 +435,155 @@ void addGraphicsMatrixCompositeInsertTests (tcu::TestCaseGroup* group) } } +void addComputeNestedStructCompositeInsertTests (tcu::TestCaseGroup* group) +{ + tcu::TestContext& testCtx = group->getTestContext(); + + ComputeShaderSpec spec; + vector identityData; + const deUint32 arraySize = 8u; + + const string shaderSource = + " OpCapability Shader\n" + " %1 = OpExtInstImport \"GLSL.std.450\"\n" + " OpMemoryModel Logical GLSL450\n" + " OpEntryPoint GLCompute %main \"main\"\n" + " OpExecutionMode %main LocalSize 1 1 1\n" + " OpSource GLSL 430\n" + " OpDecorate %_arr_mat4v4f32_uint_8 ArrayStride 64\n" + " OpMemberDecorate %S 0 ColMajor\n" + " OpMemberDecorate %S 0 Offset 0\n" + " OpMemberDecorate %S 0 MatrixStride 16\n" + " OpMemberDecorate %Output 0 Offset 0\n" + " OpDecorate %Output BufferBlock\n" + " OpDecorate %dataOutput DescriptorSet 0\n" + " OpDecorate %dataOutput Binding 0\n" + " %f32 = OpTypeFloat 32\n" + " %v4f32 = OpTypeVector %f32 4\n" + " %mat4v4f32 = OpTypeMatrix %v4f32 4\n" + " %uint = OpTypeInt 32 0\n" + " %uint_8 = OpConstant %uint 8\n" + "%_arr_mat4v4f32_uint_8 = OpTypeArray %mat4v4f32 %uint_8\n" + " %S = OpTypeStruct %_arr_mat4v4f32_uint_8\n" + " %Output = OpTypeStruct %S\n" + " %_ptr_Uniform_Output = OpTypePointer Uniform %Output\n" + " %_ptr_Function_Output = OpTypePointer Function %Output\n" + " %dataOutput = OpVariable %_ptr_Uniform_Output Uniform\n" + " %c_f32_0 = OpConstant %f32 0\n" + " %c_f32_1 = OpConstant %f32 1\n" + " %i32 = OpTypeInt 32 1\n" + " %c_i32_0 = OpConstant %i32 0\n" + + getIdentityVectors(4, 4) + + " %void = OpTypeVoid\n" + " %3 = OpTypeFunction %void\n" + " %main = OpFunction %void None %3\n" + " %entry = OpLabel\n" + " %nestedstruct = OpVariable %_ptr_Function_Output Function\n" + " %tmp0 = OpLoad %Output %nestedstruct\n" + + getNestedStructCompositeInserts(arraySize) + + " OpStore %dataOutput %tmp" + de::toString(arraySize * 4) + "\n" + " OpReturn\n" + " OpFunctionEnd\n"; + + spec.assembly = shaderSource; + spec.numWorkGroups = IVec3(1, 1, 1); + + // Expect an array of identity matrix as output + for (deUint32 a = 0; a < arraySize; a++) + for (deUint32 c = 0; c < 4; c++) + for (deUint32 r = 0; r < 4; r++) + identityData.push_back(c == r ? 1.0f : 0.0f); + + spec.outputs.push_back(Resource(BufferSp(new Float32Buffer(identityData)))); + + group->addChild(new SpvAsmComputeShaderCase(testCtx, "nested_struct", "Tests nested struct composite insert.", spec)); +} + +void addGraphicsNestedStructCompositeInsertTests (tcu::TestCaseGroup* group) +{ + map fragments; + RGBA defaultColors[4]; + GraphicsResources resources; + + SpecConstants noSpecConstants; + PushConstants noPushConstants; + GraphicsInterfaces noInterfaces; + vector noFeatures; + vector noExtensions; + VulkanFeatures vulkanFeatures = VulkanFeatures(); + vector identityData; + const deUint32 arraySize = 8u; + const string testName = "nested_struct"; + + // Expect an array of identity matrix as output + for (deUint32 a = 0; a < arraySize; a++) + for (deUint32 c = 0; c < 4; c++) + for (deUint32 r = 0; r < 4; r++) + identityData.push_back(c == r ? 1.0f : 0.0f); + resources.outputs.push_back(Resource(BufferSp(new Float32Buffer(identityData)), VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)); + + getDefaultColors(defaultColors); + + fragments["pre_main"] = + " %uint_8 = OpConstant %u32 8\n" + " %mat4v4f32 = OpTypeMatrix %v4f32 4\n" + "%_arr_mat4v4f32_uint_8 = OpTypeArray %mat4v4f32 %uint_8\n" + " %S = OpTypeStruct %_arr_mat4v4f32_uint_8\n" + " %Output = OpTypeStruct %S\n" + " %_ptr_Uniform_Output = OpTypePointer Uniform %Output\n" + " %_ptr_Function_Output = OpTypePointer Function %Output\n" + " %dataOutput = OpVariable %_ptr_Uniform_Output Uniform\n" + + getIdentityVectors(4, 4); + + fragments["decoration"] = + " OpDecorate %_arr_mat4v4f32_uint_8 ArrayStride 64\n" + " OpMemberDecorate %S 0 ColMajor\n" + " OpMemberDecorate %S 0 Offset 0\n" + " OpMemberDecorate %S 0 MatrixStride 16\n" + " OpMemberDecorate %Output 0 Offset 0\n" + " OpDecorate %Output BufferBlock\n" + " OpDecorate %dataOutput DescriptorSet 0\n" + " OpDecorate %dataOutput Binding 0\n"; + + fragments["testfun"] = + " %test_code = OpFunction %v4f32 None %v4f32_v4f32_function\n" + " %param = OpFunctionParameter %v4f32\n" + " %entry = OpLabel\n" + " %nestedstruct = OpVariable %_ptr_Function_Output Function\n" + " %tmp0 = OpLoad %Output %nestedstruct\n" + + getNestedStructCompositeInserts(arraySize) + + " OpStore %dataOutput %tmp" + de::toString(arraySize * 4) + "\n" + " OpReturnValue %param\n" + " OpFunctionEnd\n"; + + vulkanFeatures.coreFeatures.vertexPipelineStoresAndAtomics = DE_TRUE; + vulkanFeatures.coreFeatures.fragmentStoresAndAtomics = DE_FALSE; + createTestForStage(VK_SHADER_STAGE_VERTEX_BIT, (testName + "_vert").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + createTestForStage(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, (testName + "_tessc").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + createTestForStage(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, (testName + "_tesse").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + createTestForStage(VK_SHADER_STAGE_GEOMETRY_BIT, (testName + "_geom").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); + + vulkanFeatures.coreFeatures.vertexPipelineStoresAndAtomics = DE_FALSE; + vulkanFeatures.coreFeatures.fragmentStoresAndAtomics = DE_TRUE; + createTestForStage(VK_SHADER_STAGE_FRAGMENT_BIT, (testName + "_frag").c_str(), defaultColors, defaultColors, fragments, noSpecConstants, + noPushConstants, resources, noInterfaces, noExtensions, noFeatures, vulkanFeatures, group); +} + } // anonymous tcu::TestCaseGroup* createCompositeInsertComputeGroup (tcu::TestContext& testCtx) { de::MovePtr group (new tcu::TestCaseGroup(testCtx, "composite_insert", "Compute tests for composite insert.")); + addComputeVectorCompositeInsertTests(group.get()); addComputeMatrixCompositeInsertTests(group.get()); + addComputeNestedStructCompositeInsertTests(group.get()); return group.release(); } @@ -290,7 +591,9 @@ tcu::TestCaseGroup* createCompositeInsertComputeGroup (tcu::TestContext& testCtx tcu::TestCaseGroup* createCompositeInsertGraphicsGroup (tcu::TestContext& testCtx) { de::MovePtr group (new tcu::TestCaseGroup(testCtx, "composite_insert", "Graphics tests for composite insert.")); + addGraphicsVectorCompositeInsertTests(group.get()); addGraphicsMatrixCompositeInsertTests(group.get()); + addGraphicsNestedStructCompositeInsertTests(group.get()); return group.release(); } diff --git a/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt b/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt index 00aea620a..9fe290afb 100644 --- a/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt @@ -224521,6 +224521,9 @@ dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.co dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.conv_from_fp32_inf_preserve dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.conv_from_fp32_nan_preserve dEQP-VK.spirv_assembly.instruction.compute.ubo_padding.mat2x2 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec2 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec3 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat2x2 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat3x2 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x2 @@ -224530,6 +224533,7 @@ dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x3 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat2x4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat3x4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x4 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.nested_struct dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.float dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.vec4 dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.matrix @@ -232865,6 +232869,21 @@ dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_tessc dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_tesse dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_geom dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_frag dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_vert dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_tessc dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_tesse @@ -232910,6 +232929,11 @@ dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_tessc dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_tesse dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_geom dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_frag dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_vert dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_tessc dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_tesse diff --git a/external/vulkancts/mustpass/1.1.3/vk-default.txt b/external/vulkancts/mustpass/1.1.3/vk-default.txt index 78304c5de..f63affaa3 100644 --- a/external/vulkancts/mustpass/1.1.3/vk-default.txt +++ b/external/vulkancts/mustpass/1.1.3/vk-default.txt @@ -224521,6 +224521,9 @@ dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.co dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.conv_from_fp32_inf_preserve dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp64.generated_args.conv_from_fp32_nan_preserve dEQP-VK.spirv_assembly.instruction.compute.ubo_padding.mat2x2 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec2 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec3 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.vec4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat2x2 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat3x2 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x2 @@ -224530,6 +224533,7 @@ dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x3 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat2x4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat3x4 dEQP-VK.spirv_assembly.instruction.compute.composite_insert.mat4x4 +dEQP-VK.spirv_assembly.instruction.compute.composite_insert.nested_struct dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.float dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.vec4 dEQP-VK.spirv_assembly.instruction.compute.variable_init.private.matrix @@ -232865,6 +232869,21 @@ dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_tessc dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_tesse dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_geom dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.mat2x2_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec2_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec3_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.vec4_frag dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_vert dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_tessc dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat2x2_tesse @@ -232910,6 +232929,11 @@ dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_tessc dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_tesse dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_geom dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.mat4x4_frag +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_vert +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_tessc +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_tesse +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_geom +dEQP-VK.spirv_assembly.instruction.graphics.composite_insert.nested_struct_frag dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_vert dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_tessc dEQP-VK.spirv_assembly.instruction.graphics.variable_init.private.float_tesse -- 2.34.1