spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "all", "OpNop appearing at different places", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "all", "OpLine appearing at different places", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "all", "OpNoLine appearing at different places", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats2)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec1.inputs.push_back(BufferSp(new Vec4Buffer(inputFloats1)));
spec1.outputs.push_back(BufferSp(new Vec4Buffer(outputFloats1)));
spec1.numWorkGroups = IVec3(numElements, 1, 1);
- spec1.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "vector", "OpCopyMemory elements of vector type", spec1));
spec2.inputs.push_back(BufferSp(new Float32Buffer(inputFloats2)));
spec2.outputs.push_back(BufferSp(new Float32Buffer(outputFloats2)));
spec2.numWorkGroups = IVec3(1, 1, 1);
- spec2.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "array", "OpCopyMemory elements of array type", spec2));
spec3.inputs.push_back(BufferSp(new Float32Buffer(inputFloats3)));
spec3.outputs.push_back(BufferSp(new Float32Buffer(outputFloats3)));
spec3.numWorkGroups = IVec3(1, 1, 1);
- spec3.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "struct", "OpCopyMemory elements of struct type", spec3));
spec4.inputs.push_back(BufferSp(new Float32Buffer(inputFloats4)));
spec4.outputs.push_back(BufferSp(new Float32Buffer(outputFloats4)));
spec4.numWorkGroups = IVec3(numElements, 1, 1);
- spec4.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "float", "OpCopyMemory elements of float type", spec4));
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "spotcheck", "OpCopyObject on different types", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "all", "OpUnreachable appearing at different places", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats4)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "all", "decoration group cases", spec));
spec.inputs.push_back(BufferSp(new Int32Buffer(inputInts)));
spec.outputs.push_back(BufferSp(new Int32Buffer(cases[caseNdx].expectedOutput)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
spec.specConstants.push_back(cases[caseNdx].scActualValue0);
spec.specConstants.push_back(cases[caseNdx].scActualValue1);
spec.inputs.push_back(BufferSp(new Int32Buffer(inputInts)));
spec.outputs.push_back(BufferSp(new Int32Buffer(outputInts3)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
spec.specConstants.push_back(123);
spec.specConstants.push_back(56);
spec.specConstants.push_back(-77);
spec1.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec1.outputs.push_back(BufferSp(new Float32Buffer(outputFloats1)));
spec1.numWorkGroups = IVec3(numElements, 1, 1);
- spec1.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "block", "out-of-order and unreachable blocks for OpPhi", spec1));
spec2.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec2.outputs.push_back(BufferSp(new Float32Buffer(outputFloats2)));
spec2.numWorkGroups = IVec3(numElements, 1, 1);
- spec2.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "induction", "The usual way induction variables are handled in LLVM IR", spec2));
spec3.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec3.outputs.push_back(BufferSp(new Float32Buffer(outputFloats3)));
spec3.numWorkGroups = IVec3(numElements, 1, 1);
- spec3.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "swap", "Swap the values of two variables using OpPhi", spec3));
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "all", "various out-of-order blocks", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(infinities)));
spec.outputs.push_back(BufferSp(new Float32Buffer(results)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(
testCtx, "infinities", "Check that infinities propagated and created", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(nans)));
spec.outputs.push_back(BufferSp(new Float32Buffer(nans)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
spec.verifyIO = &compareNan;
group->addChild(new SpvAsmComputeShaderCase(
spec.inputs.push_back(BufferSp(new Float32Buffer(small)));
spec.outputs.push_back(BufferSp(new Float32Buffer(zeros)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(
testCtx, "flush_to_zero", "Check that values are zeroed correctly", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(exact)));
spec.outputs.push_back(BufferSp(new Float32Buffer(exact)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(
testCtx, "exact", "Check that values exactly preserved where appropriate", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(inputs)));
spec.outputs.push_back(BufferSp(new Float32Buffer(inputs)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(
testCtx, "rounded", "Check that are rounded when needed", spec));
vector<float> outputs;
spec.numWorkGroups = IVec3(numCases, 1, 1);
- spec.entryPoint = "main";
spec.specConstants.push_back(bitwiseCast<deUint32>(std::numeric_limits<float>::infinity()));
spec.specConstants.push_back(bitwiseCast<deUint32>(-std::numeric_limits<float>::infinity()));
vector<float> outputs;
spec.numWorkGroups = IVec3(numCases, 1, 1);
- spec.entryPoint = "main";
spec.verifyIO = &compareNan;
outputs.push_back(std::numeric_limits<float>::quiet_NaN());
vector<float> outputs;
spec.numWorkGroups = IVec3(numCases, 1, 1);
- spec.entryPoint = "main";
spec.specConstants.push_back(bitwiseCast<deUint32>(0.f));
spec.specConstants.push_back(bitwiseCast<deUint32>(-0.f));
vector<float> outputs;
spec.numWorkGroups = IVec3(numCases, 1, 1);
- spec.entryPoint = "main";
for (deUint8 idx = 0; idx < 6; ++idx)
{
vector<float> outputs;
spec.numWorkGroups = IVec3(numCases, 1, 1);
- spec.entryPoint = "main";
spec.verifyIO = &compareOpQuantizeF16ComputeExactCase;
outputs.push_back(constructNormalizedFloat(8, 0x300300));
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, "spotcheck", "Check that values constructed via OpConstantNull & OpConstantComposite can be used", spec));
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(inputFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(outputFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}
spec.inputs.push_back(BufferSp(new Float32Buffer(positiveFloats)));
spec.outputs.push_back(BufferSp(new Float32Buffer(negativeFloats)));
spec.numWorkGroups = IVec3(numElements, 1, 1);
- spec.entryPoint = "main";
group->addChild(new SpvAsmComputeShaderCase(testCtx, cases[caseNdx].name, cases[caseNdx].name, spec));
}