diff --git a/src/spirv/spirv_module.cpp b/src/spirv/spirv_module.cpp index efd520adc..7811bae9a 100644 --- a/src/spirv/spirv_module.cpp +++ b/src/spirv/spirv_module.cpp @@ -1793,6 +1793,21 @@ namespace dxvk { } + uint32_t SpirvModule::opFSign( + uint32_t resultType, + uint32_t operand) { + uint32_t resultId = this->allocateId(); + + m_code.putIns (spv::OpExtInst, 6); + m_code.putWord(resultType); + m_code.putWord(resultId); + m_code.putWord(m_instExtGlsl450); + m_code.putWord(spv::GLSLstd450FSign); + m_code.putWord(operand); + return resultId; + } + + uint32_t SpirvModule::opFMix( uint32_t resultType, uint32_t x, diff --git a/src/spirv/spirv_module.h b/src/spirv/spirv_module.h index 007da72a8..7ce5b8f15 100644 --- a/src/spirv/spirv_module.h +++ b/src/spirv/spirv_module.h @@ -654,6 +654,10 @@ namespace dxvk { uint32_t resultType, uint32_t operand); + uint32_t opFSign( + uint32_t resultType, + uint32_t operand); + uint32_t opFMix( uint32_t resultType, uint32_t x,