Fix dEQP-VK.spirv_assembly.instruction.graphics.opconstantcomposite.struct* - wrong...
authorscygan <slawomir.cygan@intel.com>
Thu, 14 Jan 2016 15:59:22 +0000 (16:59 +0100)
committerscygan <slawomir.cygan@intel.com>
Thu, 14 Jan 2016 16:04:09 +0000 (17:04 +0100)
The %fp_v4f32 structure has two members: [0]  of vec4 type, and [1] of float  type. However OpAccessChain for [1] member,
 which is a float, so as subsequent load use vec4 as type

external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp

index 9c9ca1a..3195056 100644 (file)
@@ -5656,9 +5656,9 @@ tcu::TestCaseGroup* createOpConstantCompositeTests(tcu::TestContext& testCtx)
 
                        "%v                 = OpVariable %fp_stype Function %cval\n"
                        "%vec_ptr           = OpAccessChain %fp_v4f32 %v %c_u32_0\n"
-                       "%f32_ptr           = OpAccessChain %fp_v4f32 %v %c_u32_1\n"
+                       "%f32_ptr           = OpAccessChain %fp_f32 %v %c_u32_1\n"
                        "%vec_val           = OpLoad %v4f32 %vec_ptr\n"
-                       "%f32_val           = OpLoad %v4f32 %f32_ptr\n"
+                       "%f32_val           = OpLoad %f32 %f32_ptr\n"
                        "%tmp1              = OpVectorTimesScalar %v4f32 %c_v4f32_1_1_1_1 %f32_val\n" // vec4(-1)
                        "%tmp2              = OpFAdd %v4f32 %tmp1 %param1\n" // param1 + vec4(-1)
                        "%transformed_param = OpFAdd %v4f32 %tmp2 %vec_val\n" // param1 + vec4(-1) + vec4(1.5, 1.5, 1.5, 1.0)