Add GLSL std450 extended instruction 72-80.

This commit is contained in:
Lei Zhang 2015-08-27 14:20:19 -04:00 committed by David Neto
parent afdbd2d303
commit 5b73214223
2 changed files with 26 additions and 1 deletions

View File

@ -93,7 +93,19 @@ static const spv_ext_inst_desc_t glslStd450Entries[] = {
// clang-format on
{GLSL450Inst2(Reflect)},
{GLSL450Inst3(Refract)},
// TODO: Add remaining GLSL.std.450 instructions
// clang-format off
{"FindILsb", GLSLstd450::GLSLstd450FindILSB, {SPV_OPERAND_TYPE_ID}},
{"FindSMsb", GLSLstd450::GLSLstd450FindSMSB, {SPV_OPERAND_TYPE_ID}},
{"FindUMsb", GLSLstd450::GLSLstd450FindUMSB, {SPV_OPERAND_TYPE_ID}},
// clang-format on
{GLSL450Inst1(InterpolateAtCentroid)},
{GLSL450Inst2(InterpolateAtSample)},
{GLSL450Inst2(InterpolateAtOffset)},
// clang-format off
{"UaddCarry", GLSLstd450::GLSLstd450AddCarry, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
{"UsubBorrow", GLSLstd450::GLSLstd450SubBorrow, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
{"UmulExtended", GLSLstd450::GLSLstd450MulExtended, { SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
// clang-format on
};
static const spv_ext_inst_desc_t openclStd12Entries[] = {

View File

@ -208,4 +208,17 @@ INSTANTIATE_TEST_CASE_P(
// clang-format on
{kF32Type, kF32Const, "%4", "Reflect", "%5 %5", 70, 7, {5, 5}},
{kF32Type, kF32Const, "%4", "Refract", "%5 %5 %5", 71, 8, {5, 5, 5}},
{kS32Type, kI32Const, "%4", "FindILsb", "%5", 72, 6, {5}},
{kS32Type, kI32Const, "%4", "FindSMsb", "%5", 73, 6, {5}},
{kU32Type, kI32Const, "%4", "FindUMsb", "%5", 74, 6, {5}},
{kF32Type, kF32Const, "%4", "InterpolateAtCentroid", "%5", 75, 6, {5}},
// clang-format off
{kF32Type, kF32Const, "%4", "InterpolateAtSample", "%5 %5", 76, 7, {5, 5}},
{kF32Type, kF32Const, "%4", "InterpolateAtOffset", "%5 %5", 77, 7, {5, 5}},
// clang-format on
{kU32Type, kI32Const, "%4", "UaddCarry", "%5 %5 %5", 78, 8, {5, 5, 5}},
{kU32Type, kI32Const, "%4", "UsubBorrow", "%5 %5 %5", 79, 8, {5, 5, 5}},
// clang-format off
{kU32Type, kI32Const, "%4", "UmulExtended", "%5 %5 %5 %5", 80, 9, {5, 5, 5, 5}},
// clang-format on
})));