From ff11fc24459af3431290cd8419453593cad6e3d6 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 7 Jun 2018 14:32:34 +0200 Subject: [PATCH] [spirv] Added OpFConvert instruction --- src/spirv/spirv_module.cpp | 13 +++++++++++++ src/spirv/spirv_module.h | 4 ++++ 2 files changed, 17 insertions(+) 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);