diff --git a/src/spirv/spirv_module.cpp b/src/spirv/spirv_module.cpp index c6262f5c..8f2951f8 100644 --- a/src/spirv/spirv_module.cpp +++ b/src/spirv/spirv_module.cpp @@ -2388,6 +2388,19 @@ namespace dxvk { } + uint32_t SpirvModule::opFConvert( + uint32_t resultType, + uint32_t operand) { + uint32_t resultId = this->allocateId(); + + m_code.putIns (spv::OpFConvert, 4); + m_code.putWord(resultType); + m_code.putWord(resultId); + m_code.putWord(operand); + return resultId; + } + + uint32_t SpirvModule::opPackHalf2x16( uint32_t resultType, uint32_t operand) { diff --git a/src/spirv/spirv_module.h b/src/spirv/spirv_module.h index 47f12f8e..62c2ab1a 100644 --- a/src/spirv/spirv_module.h +++ b/src/spirv/spirv_module.h @@ -836,6 +836,10 @@ namespace dxvk { uint32_t resultType, uint32_t operand); + uint32_t opFConvert( + uint32_t resultType, + uint32_t operand); + uint32_t opPackHalf2x16( uint32_t resultType, uint32_t operand);