Add supprot for the SPV_QCOM_image_processing extension
This commit is contained in:
parent
8028f75685
commit
1efe04cfce
@ -14159,20 +14159,20 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
|||||||
string expr;
|
string expr;
|
||||||
switch (opcode)
|
switch (opcode)
|
||||||
{
|
{
|
||||||
case OpImageSampleWeightedQCOM:
|
case OpImageSampleWeightedQCOM:
|
||||||
expr = std::move("textureWeightedQCOM");
|
expr = "textureWeightedQCOM";
|
||||||
break;
|
break;
|
||||||
case OpImageBoxFilterQCOM:
|
case OpImageBoxFilterQCOM:
|
||||||
expr = std::move("textureBoxFilterQCOM");
|
expr = "textureBoxFilterQCOM";
|
||||||
break;
|
break;
|
||||||
case OpImageBlockMatchSSDQCOM:
|
case OpImageBlockMatchSSDQCOM:
|
||||||
expr = std::move("textureBlockMatchSSDQCOM");
|
expr = "textureBlockMatchSSDQCOM";
|
||||||
break;
|
break;
|
||||||
case OpImageBlockMatchSADQCOM:
|
case OpImageBlockMatchSADQCOM:
|
||||||
expr = std::move("textureBlockMatchSADQCOM");
|
expr = "textureBlockMatchSADQCOM";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
SPIRV_CROSS_THROW("Invalid opcode for QCOM_image_processing.");
|
SPIRV_CROSS_THROW("Invalid opcode for QCOM_image_processing.");
|
||||||
}
|
}
|
||||||
expr += "(";
|
expr += "(";
|
||||||
|
|
||||||
@ -14182,27 +14182,27 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
|||||||
|
|
||||||
switch (opcode)
|
switch (opcode)
|
||||||
{
|
{
|
||||||
case OpImageSampleWeightedQCOM:
|
case OpImageSampleWeightedQCOM:
|
||||||
expr += ", " + to_non_uniform_aware_expression(ops[4]);
|
expr += ", " + to_non_uniform_aware_expression(ops[4]);
|
||||||
break;
|
break;
|
||||||
case OpImageBoxFilterQCOM:
|
case OpImageBoxFilterQCOM:
|
||||||
expr += ", " + to_expression(ops[4]);
|
expr += ", " + to_expression(ops[4]);
|
||||||
break;
|
break;
|
||||||
case OpImageBlockMatchSSDQCOM:
|
case OpImageBlockMatchSSDQCOM:
|
||||||
case OpImageBlockMatchSADQCOM:
|
case OpImageBlockMatchSADQCOM:
|
||||||
expr += ", " + to_non_uniform_aware_expression(ops[4]);
|
expr += ", " + to_non_uniform_aware_expression(ops[4]);
|
||||||
expr += ", " + to_expression(ops[5]);
|
expr += ", " + to_expression(ops[5]);
|
||||||
expr += ", " + to_expression(ops[6]);
|
expr += ", " + to_expression(ops[6]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
SPIRV_CROSS_THROW("Invalid opcode for QCOM_image_processing.");
|
SPIRV_CROSS_THROW("Invalid opcode for QCOM_image_processing.");
|
||||||
}
|
}
|
||||||
|
|
||||||
expr += ")";
|
expr += ")";
|
||||||
emit_op(result_type_id, id, expr, forward);
|
emit_op(result_type_id, id, expr, forward);
|
||||||
|
|
||||||
inherit_expression_dependencies(id, ops[3]);
|
inherit_expression_dependencies(id, ops[3]);
|
||||||
if (opcode == OpImageBlockMatchSSDQCOM || opcode == OpImageBlockMatchSADQCOM )
|
if (opcode == OpImageBlockMatchSSDQCOM || opcode == OpImageBlockMatchSADQCOM)
|
||||||
inherit_expression_dependencies(id, ops[5]);
|
inherit_expression_dependencies(id, ops[5]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user