[spirv] Implement opPow

This commit is contained in:
Joshua Ashton 2019-03-26 23:13:36 +00:00 committed by Philip Rebohle
parent 94beec0c13
commit f1a8e02e0f
2 changed files with 21 additions and 1 deletions

View File

@ -2364,7 +2364,22 @@ namespace dxvk {
m_code.putWord(operand);
return resultId;
}
uint32_t SpirvModule::opPow(
uint32_t resultType,
uint32_t base,
uint32_t exponent) {
uint32_t resultId = this->allocateId();
m_code.putIns(spv::OpExtInst, 7);
m_code.putWord(resultType);
m_code.putWord(resultId);
m_code.putWord(m_instExtGlsl450);
m_code.putWord(spv::GLSLstd450Pow);
m_code.putWord(base);
m_code.putWord(exponent);
return resultId;
}
uint32_t SpirvModule::opFract(
uint32_t resultType,

View File

@ -832,6 +832,11 @@ namespace dxvk {
uint32_t opLog2(
uint32_t resultType,
uint32_t operand);
uint32_t opPow(
uint32_t resultType,
uint32_t base,
uint32_t exponent);
uint32_t opFract(
uint32_t resultType,