diff --git a/src/spirv/spirv_module.cpp b/src/spirv/spirv_module.cpp index 0c005d460..2e04f2e28 100644 --- a/src/spirv/spirv_module.cpp +++ b/src/spirv/spirv_module.cpp @@ -2969,6 +2969,19 @@ namespace dxvk { m_code.putWord(offset); return resultId; } + + + uint32_t SpirvModule::opImage( + uint32_t resultType, + uint32_t sampledImage) { + uint32_t resultId = this->allocateId(); + + m_code.putIns(spv::OpImage, 4); + m_code.putWord(resultType); + m_code.putWord(resultId); + m_code.putWord(sampledImage); + return resultId; + } uint32_t SpirvModule::opImageRead( diff --git a/src/spirv/spirv_module.h b/src/spirv/spirv_module.h index b17b848e0..4202c66f5 100644 --- a/src/spirv/spirv_module.h +++ b/src/spirv/spirv_module.h @@ -1020,6 +1020,10 @@ namespace dxvk { uint32_t resultType, uint32_t interpolant, uint32_t offset); + + uint32_t opImage( + uint32_t resultType, + uint32_t sampledImage); uint32_t opImageRead( uint32_t resultType,