Fixes OpSConvert and OpUConvert output buffer
authorLars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Thu, 16 Jun 2016 10:59:44 +0000 (12:59 +0200)
committerLars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Thu, 16 Jun 2016 11:01:04 +0000 (13:01 +0200)
The OpSConvert and OpUConvert incorrectly bound the same buffer as input
and output. This can lead to issues when they are of different size.

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

index d74a397..a11ca9e 100644 (file)
@@ -8132,7 +8132,7 @@ tcu::TestCaseGroup* createSConvertTests (tcu::TestContext& testCtx)
 
                spec.assembly = getConvertCaseShaderStr(instruction, test->m_asmTypes);
                spec.inputs.push_back(test->m_inputBuffer);
-               spec.outputs.push_back(test->m_inputBuffer);
+               spec.outputs.push_back(test->m_outputBuffer);
                spec.numWorkGroups = IVec3(1, 1, 1);
 
                group->addChild(new ConvertTestCase(testCtx, test->m_name.c_str(), "Convert integers with OpSConvert.", spec, test->m_features));
@@ -8170,7 +8170,7 @@ tcu::TestCaseGroup* createUConvertTests (tcu::TestContext& testCtx)
 
                spec.assembly = getConvertCaseShaderStr(instruction, test->m_asmTypes);
                spec.inputs.push_back(test->m_inputBuffer);
-               spec.outputs.push_back(test->m_inputBuffer);
+               spec.outputs.push_back(test->m_outputBuffer);
                spec.numWorkGroups = IVec3(1, 1, 1);
 
                group->addChild(new ConvertTestCase(testCtx, test->m_name.c_str(), "Convert integers with OpUConvert.", spec, test->m_features));